arrow_back

Cómo diseñar flujos de conversación para tu agente

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cómo diseñar flujos de conversación para tu agente

Lab 1 hora 30 minutos universal_currency_alt 1 crédito show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP791

Labs de autoaprendizaje de Google Cloud

Descripción general

Contact Center AI puede aumentar la satisfacción de los clientes y la eficiencia operativa, ya que mejora los índices de desviación de llamadas y acorta los tiempos de contacto, mientras las operaciones generales se realizan con mayor rapidez y eficacia.

En este lab, aprenderás a utilizar Dialogflow para crear una interfaz de conversación y realizar las siguientes tareas:

  • Diseñar intenciones del usuario final
  • Compilar un agente de conversación para una agencia de viajes en línea
  • Definir intents para nuestro caso de uso de la agencia de viajes en línea a fin de que coincidan con las consultas frecuentes de los usuarios

Situación del lab

Se te solicitó que desarrolles un plan para aumentar la Net Promoter Score y la satisfacción de los clientes. Con Contact Center AI, puedes aumentar la disponibilidad de las llamadas, quitar sistemas de menús complejos y acortar los tiempos de contacto. La esencia de Contact Center AI radica en su núcleo de conversación, cuyas interacciones similares a las humanas redefinen las posibilidades de las conversaciones con tecnología de IA.

Dialogflow es uno de los componentes centrales de Contact Center AI. Dialogflow identificará la intención del cliente y determinará qué decir y qué hacer a continuación. Con esta información, puedes aumentar la disponibilidad de las llamadas y acortar los tiempos de preparación, y así incrementar tu Net Promoter Score y la satisfacción de los clientes.

Componentes de Dialogflow

Agentes

Un agente de Dialogflow es un agente virtual que maneja conversaciones con los usuarios finales. Es un módulo de comprensión del lenguaje natural capaz de entender los matices del lenguaje humano. Dialogflow traduce el texto o audio del usuario final durante una conversación a datos estructurados que tus aplicaciones y servicios pueden comprender. Cada agente de Dialogflow debe diseñarse y crearse para manejar los tipos de conversaciones que requiera el sistema en el que se va a utilizar.

Un agente de Dialogflow es similar a un agente humano de un centro de llamadas. Al igual que este, necesita que se lo entrene para manejar las situaciones de conversación previstas, pero no hace falta que el entrenamiento sea demasiado explícito.

Intents

Un intent categoriza la intención del usuario final para un turno de conversación. Se definen varios intents para cada agente, de manera que, en conjunto, estos permitan manejar una conversación completa. Cuando un usuario final escribe o dice algo, lo que se denomina expresión de usuario final, Dialogflow detecta el intent más adecuado de tu agente para esa expresión del usuario final. La búsqueda de intents coincidentes también se conoce como clasificación de intent.

Por ejemplo, podrías crear un agente meteorológico que reconozca preguntas de los usuarios finales sobre el clima y las responda. Podrías definir un intent para las preguntas sobre el pronóstico del tiempo. Si un usuario final dice "¿Cuál es el pronóstico?", Dialogflow determinaría que esa expresión del usuario final corresponde al intent del pronóstico. También puedes definir el intent con el fin de extraer información útil de la expresión del usuario final, como una hora o ubicación para el pronóstico del tiempo deseado. Estos datos extraídos son importantes para que tu sistema realice una consulta sobre el clima destinada al usuario final.

Diagrama de ejemplo de intents

Un intent básico contiene los siguientes elementos:

  • Frases de entrenamiento: Estas son frases de ejemplo de algo que podrían decir los usuarios finales. Cuando una expresión de usuario final se parece a una de estas frases, Dialogflow hace la coincidencia con el intent. No es necesario que definas todos los ejemplos posibles, ya que el aprendizaje automático integrado de Dialogflow expande la lista con otras frases similares.
  • Acción: Puedes definir una acción para cada intent. Cuando se detecta una coincidencia con un intent, Dialogflow proporciona la acción al sistema, que puedes utilizar para activar determinadas acciones definidas en tu sistema.
  • Parámetros: Cuando se detecta una coincidencia con un intent en el tiempo de ejecución, Dialogflow proporciona los valores extraídos de la expresión del usuario final en forma de parámetros. Cada parámetro tiene un tipo que se denomina tipo de entidad, el cual determina cómo se extraen los datos. A diferencia de la entrada sin procesar del usuario final, los parámetros son datos estructurados que se pueden utilizar con facilidad para realizar alguna lógica o generar respuestas.
  • Respuestas: Debes definir las respuestas de texto, de voz o visuales que se le mostrarán al usuario final. Estas pueden proporcionar respuestas al usuario final, solicitarle más información o finalizar la conversación.

En el siguiente diagrama, se muestra el flujo básico para detectar coincidencias de intents y responder al usuario final:

Flujo para detectar coincidencias de intents y responder al usuario final

Entidades

Cada parámetro de intent tiene un tipo, denominado tipo de entidad, que determina de forma exacta cómo se extraen los datos de una expresión de usuario final.

Dialogflow proporciona entidades del sistema predefinidas que pueden detectar coincidencias con muchos tipos de datos comunes. Por ejemplo, hay entidades del sistema que detectan coincidencias con fechas, horas, colores, direcciones de correo electrónico, etcétera. También puedes crear tus propias entidades personalizadas para detectar coincidencias en datos personalizados.

Contextos

Los contextos de Dialogflow son similares al contexto del lenguaje natural. Si una persona te dice "es de color naranja", necesitas contexto para saber qué es de ese color. De manera similar, para que Dialogflow maneje una expresión de usuario final como esa, se le debe proporcionar un contexto que le permita detectar 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 cadenas. 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 de intents configurados con contextos de entrada que correspondan a los contextos activos en ese momento.

Intents de seguimiento

Puedes utilizar los intents de seguimiento a fin de establecer contextos para pares de intents de forma automática. Un intent de seguimiento es un elemento secundario del intent superior asociado. Cuando creas un intent de seguimiento, se agrega de forma automática un contexto de salida al intent superior y se agrega un contexto de entrada con el mismo nombre al intent de seguimiento. Se detecta una coincidencia con un intent de seguimiento solo si hay coincidencia con su intent superior en el turno anterior de la conversación. También puedes crear varios niveles de intents de seguimiento anidados.

Dialogflow proporciona muchos intents de seguimiento predefinidos para respuestas comunes de los usuarios finales, como "sí", "no" o "cancelar". También puedes crear tus propios intents de seguimiento para manejar respuestas personalizadas.

Entregas para integraciones

De forma predeterminada, el agente responde a un intent coincidente con una respuesta estática. Si utilizas una de las opciones de integración, puedes proporcionar una respuesta más dinámica mediante la entrega. Cuando habilitas la entrega para un intent, Dialogflow responde a ese intent con una llamada a un servicio que hayas definido. Por ejemplo, si un usuario final desea programar una cita para cortarse el cabello el viernes, el servicio puede revisar en la base de datos y responder al usuario con información sobre los horarios disponibles el viernes.

Cada intent tiene una configuración que habilita la entrega, necesaria para cada intent que requiera alguna acción por parte del sistema o una respuesta dinámica. Cuando se detecta una coincidencia con un intent que no tiene habilitadas las entregas, Dialogflow utiliza la respuesta estática que definiste para ese intent.

Cuando se detecta una coincidencia con un intent que tiene habilitadas las entregas, Dialogflow envía una solicitud al servicio de webhook con información sobre el intent coincidente. El sistema puede realizar las acciones necesarias y responder a Dialogflow con información sobre cómo proceder. En el siguiente diagrama, se muestra el flujo de procesamiento de las entregas.

Diseña tus intents

Tómate cinco minutos y escribe los intents para el caso de uso del lab. La clave son las frases de entrenamiento asociadas a los intents: estas son frases de ejemplo de algo que podrían decir los usuarios finales. En este caso de uso, pueden ser las siguientes:

Intent: Cambiar un nombre en una reserva

Frases de entrenamiento:

  1. Quiero cambiar el nombre en mi itinerario
  2. Cambiar el nombre en mi reserva
  3. Cambiar nombre
  4. Quiero cambiar mi nombre en mi reserva del hotel

Piensa en otras posibilidades y escríbelas. La clave es aumentar la disponibilidad de las llamadas, quitar sistemas de menús complejos y acortar los tiempos de manejo. Podemos lograr estos objetivos gracias al manejo de estos intents que hace Contact Center AI.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Tarea 1: Habilita la API

  1. En la consola, ve a Menú de navegación > APIs y servicios.

  2. Haz clic en Habilitar APIs y servicios.

  3. Busca Dialogflow.

  4. Haz clic en la API de Dialogflow y, si no está habilitada, haz clic en Habilitar.

Tarea 2: Crea tu primer agente de Dialogflow

Le asignarás el nombre "pigeon-travel".

  1. Abre la Consola de Dialogflow.

  2. Si es necesario, primero accede con el botón de Google y asegúrate de seleccionar las credenciales del lab con las que accediste en este lab. Luego, haz clic en Permitir.

  3. Acepta las Condiciones del Servicio.

  4. Haz clic en Create Agent.

  5. Agrega la información del agente:

  • Agent Name: pigeon-travel
  • Default Time Zone: America/Denver
  • Google Project: utiliza el ID del proyecto de su lab
  1. Haz clic en Create.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un agente

El menú de la consola de Dialogflow

Ahora, deberías ver la consola de Dialogflow. El panel de menú se encuentra a la izquierda. Si trabajas en una pantalla más pequeña y el menú está oculto, haz clic en el ícono del menú de navegación (Ícono del menú de navegación), ubicado en la esquina superior izquierda. El botón de configuración te lleva a la configuración del agente actual.

En el centro de la página, se mostrará la lista de intents del agente. De forma predeterminada, los agentes de Dialogflow cuentan con dos intents. Cuando el agente no comprende lo que dicen los usuarios, establece una coincidencia con el Default Fallback Intent. El Default Welcome Intent saluda a los usuarios. Estos intents pueden modificarse para personalizar la experiencia.

A la derecha, se encuentra el simulador de Dialogflow. Allí puedes probar tu agente por medio de mensajes escritos o de voz.

Página del simulador de Dialogflow

Realiza consultas a tu agente

Los agentes se pueden describir como módulos de CLN (comprensión del lenguaje natural). Estos pueden incluirse en tu aplicación, producto o servicio, y transforman las solicitudes naturales del usuario en datos prácticos.

Prueba tu agente

  1. En el simulador de la derecha, haz clic en el campo de texto que dice Try it now, ingresa Hi y presiona Intro.

Acabas de hablar con tu agente de Dialogflow. El Default Welcome Intent está preconfigurado para comprender saludos básicos y brindar una respuesta genérica.

Nota: Si no ves la respuesta de bienvenida predeterminada, haz clic en Save para activar el entrenamiento del agente y vuelve a ingresar "Hi".

Ahora, reemplaza el saludo genérico por otro que te identifique.

  1. En la sección Responses, en Default Welcome Intent, quita todas las respuestas predefinidas, como Good Day! y Greetings! y agrega las siguientes:
  • Welcome to Pigeon Travel. I can assist you with making a reservation or modifying a reservation. Which would you like ?
  • Hello there. I can assist you with making a reservation or modifying a reservation. How may I help you today?
  1. Haz clic en Save.

  2. Ingresa Hi o Hello en el simulador del agente para realizar una prueba y observa cómo responde.

De la misma manera, puedes personalizar las respuestas de tu Default Fallback Intent.

Para el caso de uso, además de las opciones predeterminadas, necesitarás intents personalizados que respondan consultas específicas. Por lo tanto, crea tu propio intent.

Tarea 3: Crea tu primer intent

Dialogflow utiliza intents para categorizar las intenciones del usuario. Los intents incluyen frases de entrenamiento, que son ejemplos de lo que podría decir un usuario al agente. Por ejemplo, alguien que desea cambiar su nombre en una reserva podría decir lo siguiente: "Quiero cambiar el nombre en mi itinerario", "Necesito cambiar mi nombre en la reserva" o "¿Puedo cambiar mi nombre en mi reserva?". Todas estas consultas son únicas, pero tienen la misma intención: cambiar el nombre en una reserva.

Para que se responda esta consulta, crea el intent name.reservation:

  1. En el menú de la izquierda, haz clic en el ícono junto a Intents.

  2. Agrega el nombre "name.reservation" en el campo de texto Intent name.

  3. En la sección Training Phrases, haz clic en Add Training Phrases, ingresa las siguientes frases y presiona Intro después de cada entrada:

  • I want to change my name on my itinerary.
  • Can I change my name on my reservation?
  • I need to change my name on the booking.
  • I want to change my name on my hotel reservation.
  1. En la sección Responses, debajo de Text Responses, ingresa la siguiente respuesta en el campo de texto: Sure I can help you to change your name on the reservation.

  2. Haz clic en el botón Save. Es posible que también veas los mensajes Agent Training started y Agent Training completed en la esquina inferior derecha de la pantalla. Esto te indica que Dialogflow está entrenando nuevamente el modelo de tu agente en función de las frases agregadas.

  3. Una vez finalizado el entrenamiento, pruébalo por medio del simulador de la derecha con la siguiente pregunta: change name on booking?

Página del simulador

Ahora, tu agente responde correctamente a la consulta. Observa que, aunque tu consulta no era igual a las frases de entrenamiento, Dialogflow aun así detectó la coincidencia entre la consulta y el intent correcto, que en este caso es el intent name.reservation como se muestra en el resultado del simulador.

Dialogflow utiliza frases de entrenamiento como ejemplos para un modelo de aprendizaje automático a fin de detectar coincidencias entre las consultas de los usuarios y el intent correcto. El modelo de aprendizaje automático compara la consulta con cada intent incluido en el agente, le asigna una puntuación a cada intent y establece la coincidencia con el intent que reciba la puntuación más alta. Si la puntuación más alta es demasiado baja, el modelo establece la coincidencia con el intent de resguardo.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear tu primer intent

Tarea 4: Extrae datos con entidades

En esta sección, aprenderás a extraer datos de una consulta de un usuario para que pueda cambiar su nombre en la reserva. En este ejemplo, el agente deberá saber no solo que el usuario desea cambiar su nombre, sino el número de la reserva y el nombre nuevo.

Agrega parámetros a tus intents

Los parámetros son palabras o frases importantes y relevantes en una consulta de un usuario que se extraen para que el agente pueda proporcionar una respuesta adecuada.

  1. Haz clic en Intents, en el menú de la izquierda.

  2. Haz clic en name.reservation.

  3. En Responses, cambia el texto de Text Response a: Sure I can help you to change your name on the reservation. Can I have your first name?

  4. Haz clic en SAVE.

  5. Haz clic en Intents, en el menú de la izquierda.

  6. Coloca el cursor sobre el intent name.reservation, haz clic en Add follow-up intent y, luego, selecciona custom.

  7. Haz clic en el intent de seguimiento recién creado, name.reservation - personalizado.

  8. Asigna un nombre al intent name.reservation-getname en la parte superior de la página de intents.

  9. Se verá de la siguiente manera:

Sección del intent name.reservation-getname

  1. Agrega las siguientes expresiones como frases de entrenamiento:
  • sam
  • josé
  • maría
  1. En Action and parameters, cambia la Entity a @sys.given-name.

  2. Haz clic en Save.

  3. Puedes utilizar el valor de un parámetro en tus respuestas. En este caso, puedes utilizar given-name en tus respuestas y se reemplazará por el nombre especificado en la consulta a tu agente.

  4. En la sección Responses, agrega la siguiente respuesta y, luego, haz clic en el botón Save: Thank you $given-name.

  5. Una vez que el agente haya finalizado el entrenamiento, haz clic en Intents, en el menú de la izquierda.

  6. Haz clic en el menú desplegable debajo del intent name.reservation.

  7. Se verá de la siguiente manera:

Lista de intents

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un intent personalizado

Utiliza datos de parámetros

Realiza una prueba

  1. Ahora realiza la consulta change name on booking a tu agente en el simulador, ubicado en el panel de la derecha.

Página del simulador

El simulador te debería pedir tu nombre.

  1. En la consulta, ingresa tu nombre y así tendrás un mensaje personalizado para el usuario.

Página del simulador

Bien hecho, pero no te olvides de que todavía debes extraer otros valores de parámetros, como el apellido y el número de reserva.

Tarea 5: Utiliza relleno de ranuras

Aunque actualizaste la respuesta para que incluya el parámetro del nombre, ¿cómo puedes asegurarte de obtener toda la información del usuario? La respuesta está en el relleno de ranuras. El agente debe asegurarse de que el usuario le proporcione esta información; de lo contrario, se la deberá solicitar.

  1. Haz clic en Intents, en el menú de la izquierda.

  2. Expande el menú desplegable del intent name.reservation.

  3. Haz clic en el intent name.reservation-getname.

  4. En Actions and parameters, ingresa los siguientes parámetros:

    • Required: true
    • Parameter name: reservationnumber
    • Entity: @sys.number
    • Value: $reservationnumber
    • no definidos como listas
    • prompts: What is your reservation number?

    Y, luego, agrega lo siguiente:

    • Required: true
    • Parameter name: newname
    • Entity: @sys.person
    • Value: $newname
    • No definidos como listas
    • Prompts: What is the new name for the reservation?
  5. Tras completarse, se verá de la siguiente manera:

Sección Action and parameters

  1. En la sección Responses, cambia la respuesta de texto y, luego, haz clic en el botón Save: Thank you $given-name. I have changed the name on reservation number $reservationnumber to be $newname.

  2. Realiza una prueba en el simulador. Para ello, ingresa la consulta change name on booking y sigue el proceso.

Página del simulador

Haz clic en Revisar mi progreso para verificar el objetivo. Utilizar relleno de ranuras

Tarea 6: Exporta tu agente

En esta sección, exportarás tu agente como un archivo ZIP para que puedas importarlo más tarde cuando comiences el próximo lab. Esto te permitirá reutilizar los intents y las entidades que hayas configurado hasta el momento.

  1. Haz clic en el ícono de ajustes ⚙ junto al nombre de tu agente, en el menú de la izquierda.

  2. En la página de configuración que se abre, dirígete a la pestaña Export and Import.

  3. Haz clic en EXPORT AS ZIP. Esta acción descargará tu agente de forma local en un archivo ZIP.

¡Felicitaciones!

Aprendiste a usar Dialogflow para crear una interfaz de conversación y diseñar las intenciones del usuario final.

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 27 de octubre de 2023

Prueba más reciente del lab: 30 de octubre de 2023

Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.