En esta página se describen los aspectos básicos del uso de Dialogflow ES. Debe leer esta página antes de consultar cualquier otro documento o guía de inicio rápido.
Ayudar a los usuarios a interactuar con la tecnología
Las interfaces informáticas tradicionales requieren entradas estructuradas y predecibles para funcionar correctamente, lo que hace que el uso de estas interfaces sea poco natural y, a veces, difícil. Si los usuarios finales no entienden fácilmente esta entrada estructurada, les resultará difícil saber qué hacer. Lo ideal es que tus interfaces puedan deducir lo que quieren los usuarios finales en función del lenguaje natural que utilicen.
Por ejemplo, consideremos una petición sencilla de un usuario, como "¿Qué tiempo va a hacer hoy?". Otros usuarios finales también pueden preguntar lo siguiente:
- "¿Qué tiempo hace ahora mismo?"
- "¿Qué temperatura va a hacer mañana en San Francisco?"
- "¿Qué tiempo hará el día 21?"
Incluso con estas sencillas preguntas, puedes ver que las experiencias conversacionales son difíciles de implementar. Para interpretar y procesar el lenguaje natural, se necesita un analizador de lenguaje muy sólido. Dialogflow se encarga de esto para que puedas ofrecer una experiencia de conversación de alta calidad a los usuarios finales.
Agentes
Un agente de Dialogflow es un agente virtual que gestiona conversaciones simultáneas con tus usuarios finales. Es un módulo de comprensión del lenguaje natural que entiende los matices del lenguaje humano. Dialogflow traduce el texto o el audio de los usuarios finales durante una conversación en datos estructurados que tus aplicaciones y servicios pueden entender. Diseña y crea un agente de Dialogflow para gestionar los tipos de conversaciones que requiere tu sistema.
Un agente de Dialogflow es similar a un agente humano de un centro de llamadas. Entrénalos a ambos para que gestionen las situaciones de conversación previstas. No es necesario que el entrenamiento sea demasiado explícito.
Intents
Un intent categoriza la intención de un usuario final en un turno de conversación. En cada agente, defines muchas intenciones, y la combinación de todas ellas puede gestionar una conversación completa. Cuando un usuario final escribe o dice algo, lo que se denomina expresión del usuario final, Dialogflow la asocia con la mejor intención de tu agente. La acción de asociar una intención también se conoce como clasificación de intenciones.
Por ejemplo, puedes crear un agente meteorológico que reconozca y responda a las preguntas de los usuarios finales sobre el tiempo. Lo más probable es que definas una intención para las preguntas sobre la previsión meteorológica. Si un usuario final dice "¿Qué tiempo va a hacer?", Dialogflow asociaría esa expresión del usuario final con la intención de previsión. También puedes definir tu intención de extraer información útil de la expresión del usuario final, como la hora o la ubicación de la previsión meteorológica deseada. Estos datos extraídos son importantes para que tu sistema pueda realizar una consulta meteorológica para el usuario final.
Una intención básica contiene lo siguiente:
- Frases de entrenamiento: son frases de ejemplo de lo que podrían decir los usuarios finales. Cuando la expresión de un usuario final se parece a una de estas frases, Dialogflow la asocia con la intención. No tienes que definir todos los ejemplos posibles, ya que el aprendizaje automático integrado de Dialogflow amplía tu lista con otras frases similares.
- Acción: Puedes definir una acción para cada intención. Cuando se encuentra una coincidencia con una intención, Dialogflow proporciona la acción a tu sistema y puedes usarla para activar determinadas acciones definidas en tu sistema.
- Parámetros: Cuando se encuentra una coincidencia con una intención en el tiempo de ejecución, Dialogflow proporciona los valores extraídos de la expresión del usuario final como parámetros. Cada parámetro tiene un tipo, denominado tipo de entidad, que determina exactamente cómo se extraen los datos. A diferencia de las entradas sin procesar de los usuarios finales, los parámetros son datos estructurados que se pueden usar fácilmente para realizar alguna lógica o generar respuestas.
- Respuestas: Define respuestas de texto, voz o visuales para devolver al usuario final. Pueden proporcionar respuestas al usuario final, pedirle más información o terminar la conversación.
En el siguiente diagrama se muestra el flujo básico para la coincidencia de intenciones y la respuesta al usuario final:
Entidades
Cada parámetro de una intención tiene un tipo, llamado tipo de entidad, que determina exactamente cómo se extraen los datos de una expresión del usuario final.
Dialogflow proporciona entidades de sistema predefinidas que pueden coincidir con muchos tipos de datos habituales. Por ejemplo, hay entidades de sistema para buscar coincidencias de fechas, horas, colores, direcciones de correo electrónico, etc. También puedes crear tus propias entidades personalizadas para que coincidan con datos personalizados. Por ejemplo, puedes definir una entidad verdura que pueda coincidir con los tipos de verduras disponibles para comprar con un agente de una tienda de comestibles.
Contextos
Los contextos de Dialogflow son similares al contexto del lenguaje natural. Si alguien te dice "son naranjas", necesitas contexto para saber a qué se refiere con "son". Del mismo modo, para que Dialogflow gestione una expresión de usuario final como esa, debe proporcionársele contexto para que pueda asociarla correctamente con una intención.
Con los contextos, puedes controlar el flujo de una conversación. Puedes configurar contextos para una intención definiendo contextos de entrada y de salida, que se identifican por nombres de cadena. Cuando se encuentra una coincidencia con una intención, se activan los contextos de salida configurados para esa intención. Mientras haya contextos activos, es más probable que Dialogflow coincida con las intenciones que estén configuradas con contextos de entrada que correspondan a los contextos activos en ese momento.
En el siguiente diagrama se muestra un ejemplo que usa el contexto de un agente bancario.
- El usuario final pide información sobre su cuenta corriente.
-
Dialogflow asocia esta expresión del usuario final con la intención
CheckingInfo
. Este intent tiene un contexto de salidachecking
, por lo que ese contexto se activa. - El agente pregunta al usuario final qué tipo de información quiere sobre su cuenta corriente.
- El usuario final responde con "mi saldo".
-
Dialogflow asocia esta expresión del usuario final con la intención
CheckingBalance
. Este intent tiene un contexto de entradachecking
, que debe estar activo para que coincida con este intent. También puede haber una intenciónSavingsBalance
similar para que coincida con la misma expresión del usuario final cuando esté activo un contextosavings
. - Una vez que tu sistema haya realizado las consultas de base de datos necesarias, el agente responderá con el saldo de la cuenta corriente.
Intents de seguimiento
Puedes usar intenciones de seguimiento para definir automáticamente contextos para pares de intenciones. Un intent de seguimiento es un elemento secundario de su intent principal asociado. Cuando creas un intent de seguimiento, se añade automáticamente un contexto de salida al intent principal y se añade un contexto de entrada con el mismo nombre al intent de seguimiento. Un intent de seguimiento solo se corresponde cuando el intent principal se corresponde en el turno de conversación anterior. También puedes crear varios niveles de intents de seguimiento anidados.
Dialogflow ofrece muchos intentos de seguimiento predefinidos para respuestas habituales de los usuarios finales, como "sí", "no" o "cancelar". También puedes crear tus propios intents de seguimiento para gestionar respuestas personalizadas.
Consola de Dialogflow
Dialogflow ofrece una interfaz de usuario web llamada consola de Dialogflow (visitar la documentación, abrir la consola). Esta consola te permite crear, compilar y probar agentes.
La consola de Dialogflow es diferente de la consola de Google Cloud Platform (GCP) (consulta la documentación o abre la consola). La consola de Dialogflow se usa para gestionar agentes de Dialogflow, mientras que la consola de GCP se usa para gestionar ajustes de Dialogflow específicos de GCP (por ejemplo, la facturación) y otros recursos de GCP.
En la mayoría de los casos, debes usar la consola de Dialogflow para crear agentes, pero también puedes usar la API de Dialogflow para crear agentes en situaciones avanzadas.
Interacciones de los usuarios con las integraciones
Dialogflow se integra con muchas plataformas de conversación populares, como el Asistente de Google, Slack y Facebook Messenger. Si quieres crear un agente para una de estas plataformas, debes usar una de las muchas opciones de integración disponibles. Las interacciones directas con los usuarios finales se gestionan automáticamente, por lo que puedes centrarte en crear tu agente. Cada integración gestiona las interacciones de los usuarios finales de una forma específica para cada plataforma, por lo que debes consultar la documentación de tu plataforma de integración para obtener más información.
Cumplimiento de las integraciones
De forma predeterminada, tu agente responde a una intención coincidente con una respuesta estática. Si usas una de las opciones de integración, puedes proporcionar una respuesta más dinámica usando cumplimiento. Cuando habilitas el cumplimiento de un intent, Dialogflow responde a ese intent llamando a un servicio que definas. Por ejemplo, si un usuario final quiere concertar una cita para cortarse el pelo el viernes, tu servicio puede consultar tu base de datos y responderle con información sobre la disponibilidad para ese día.
Cada intención tiene un ajuste para habilitar la respuesta. Si una intención requiere que tu sistema realice alguna acción o que se proporcione una respuesta dinámica, debes habilitar el cumplimiento de la intención. Si se detecta una intención sin la función de respuesta habilitada, Dialogflow usa la respuesta estática que hayas definido para la intención.
Cuando se detecta una intención con la función de respuesta habilitada, Dialogflow envía una solicitud a tu servicio de webhook con información sobre la intención detectada. Tu sistema puede realizar las acciones necesarias y responder a Dialogflow con información sobre cómo proceder. Cuando la función de respuesta se habilita, la respuesta estática que has definido para la intención solo se usa si se produce un error en tu servicio de webhook. En el siguiente diagrama se muestra el flujo de procesamiento de la gestión.
- El usuario final escribe o dice una expresión.
- Dialogflow asocia la expresión del usuario final con una intención y extrae los parámetros.
- Dialogflow envía un mensaje de solicitud de webhook a tu servicio de webhook. Este mensaje contiene información sobre la intención coincidente, la acción, los parámetros y la respuesta definida para la intención.
- Tu servicio realiza las acciones necesarias, como consultas de bases de datos o llamadas a APIs externas.
- Tu servicio envía un mensaje de respuesta de webhook a Dialogflow. Este mensaje contiene la respuesta que se debe enviar al usuario final.
- Dialogflow envía la respuesta al usuario final.
- El usuario final ve o escucha la respuesta.
Interacciones de los usuarios con la API
Si no utiliza una de las opciones de integración, debe escribir código que interactúe directamente con el usuario final. También debes interactuar directamente con la API de Dialogflow en cada turno de conversación para enviar expresiones de usuarios finales y recibir coincidencias de intenciones. En el siguiente diagrama se muestra el flujo de procesamiento al interactuar con la API.
- El usuario final escribe o dice una expresión.
- Tu servicio envía esta expresión del usuario final a Dialogflow en un mensaje de solicitud de detección de intención.
- Dialogflow envía un mensaje de respuesta de detección de intent a tu servicio. Este mensaje contiene información sobre la intención coincidente, la acción, los parámetros y la respuesta definida para la intención.
- Tu servicio realiza las acciones necesarias, como consultas de bases de datos o llamadas a APIs externas.
- Tu servicio envía una respuesta al usuario final.
- El usuario final ve o escucha la respuesta.