Contextos

El concepto de contexto en Dialogflow es similar al que se usa en el lenguaje natural. Si una persona te dice “son naranjas”, necesitas contexto para entender a qué se refiere. Del mismo modo, para que Dialogflow maneje una expresión de usuario final como esa, se debe proporcionar un contexto que le permita identificar el intent correspondiente.

Con los contextos, puedes controlar el flujo de una conversación. Si quieres configurar contextos para un intent, debes establecer contextos de entrada y salida, los cuales se identifican mediante nombres de strings. Cuando se detecta una coincidencia con un intent, se activan los contextos de salida configurados para ese intent. Mientras existan contextos activos, Dialogflow será más propenso a detectar coincidencias con intents configurados con contextos de entrada que correspondan a los contextos activos en ese momento.

En el siguiente diagrama, se muestra un ejemplo del uso del contexto para un agente bancario.

Diagrama de la interacción de un usuario con intents y contexto.
  1. El usuario final solicita información sobre su cuenta corriente.
  2. Dialogflow identifica una coincidencia entre esta expresión del usuario final y el intent CheckingInfo (información de cuenta corriente). Este intent tiene como salida el contexto checking (cuenta corriente), por lo que se activa ese contexto.
  3. El agente le pregunta al usuario final qué tipo de información desea obtener sobre la cuenta corriente.
  4. El usuario final responde “el saldo”.
  5. Dialogflow identifica una coincidencia entre esta expresión del usuario final y el intent CheckingBalance (saldo de cuenta corriente). Este intent tiene como entrada el contexto checking (cuenta corriente), el cual debe estar activo para que se detecte la coincidencia. Puede que también exista un intent similar SavingsBalance (saldo de cuenta de ahorro) que corresponde a la misma expresión del usuario final cuando está activo un contexto savings (cuenta de ahorro).
  6. Una vez que el sistema realiza las consultas necesarias en la base de datos, el agente responde con el saldo de la cuenta corriente.