Crear un diálogo en Dialogflow CX se consigue a través del desarrollo de diferentes pages. En este segundo tutorial de la consola de Customer Experience te contamos cómo avanzar en el proyecto.
Para crear un diálogo en Dialogflow CX no solo basta con la configuración de la Start Page, como ya hicimos en este tutorial, sino que se necesitan ir agregando más páginas a la conversación. Al igual que en Dialogflow Essential, la base de los diálogos son los intents. En la versión de Customer Experience para ir de un intent a otro lo hacemos mediante las llamadas pages.
En esta consola de Dialogflow CX, las frases de entrenamiento y las respuestas se representan gráficamente. Es decir, se muestra un diagrama con el supuesto diálogo que se generará entre el usuario y el agente conversacional.
Para ello vamos a seguir el ejemplo de agente virtual para el sector seguros que iniciamos en el primer tutorial. Recuerda que, por tanto, la dirección de flujo y pages determinadas puede variar en función de las estrategias de cada empresa.
Pedir datos a los usuarios usando los Parameters
Una vez que se ha configurado la Start Page, el segundo paso consiste en crear una nueva página. Para ello, hacemos clic en “Add page” y posteriormente añadimos el título de: “Datos personales”. El siguiente paso sería vincular esta nueva página a la Start Page para que nos aparezca en el cuadro de diálogo.
A continuación, rellenamos la casilla de “Entry dialogue” pinchando en “Edit Fulfillment”. Aquí añadiremos el mensaje que queremos que envíe el asistente una vez se haya terminado el saludo. Un ejemplo de respuesta podría ser: “Para calcular el mejor precio para el seguro de tu coche necesitaré algunos datos”.
Ahora nos centramos en los parameters, que es donde configuramos la información personal que pediremos al usuario. Entre los datos necesarios podríamos solicitar su fecha de nacimiento. Para ello tendríamos que realizar los siguientes pasos:
- Parameter name: elegimos un nombre de parámetro que indique la información que queremos recabar: FechaNacimiento
- Entity type: utilizamos la siguiente entidad creada: @sys.date
- Agent Says: añadimos dentro de fulfillment la frase que va a decir el agente: ¿Podría facilitarme su fecha de nacimiento?
En el caso de necesitar más información para calcular el precio más competitivo, añadiremos otro parámetro. Como por ejemplo el código postal:
- Parameter name: CodigoPostal
- Entity type: aquí también elegimos otra entidad predeterminada: @sys.number
- Agent Says: ¿Podría indicarme su código postal?
- Parameter presets: si el código postal es el último dato que vamos a pedirle al usuario, creamos en este apartado de “Parámetros preestablecidos” un parámetro a nivel de sesión. Siguiendo nuestro ejemplo pondríamos:
– Parameter: datosPersonales
– Value: “completado”
Para terminar de completar esta page, nos dirigimos a las Transition Routes. En esta sección añadiremos la ruta que va a tomar la conversación después de haber contestado a los datos personales.
Dentro de esta sección indicaremos en el apartado Conditions que cuando el parámetro de sesión sea igual a “completado” se finalice esta página. Esto en la consola quedaría reflejado de la siguiente manera:
- Parameter: $session.params.datosPersonales
- Operand: =
- Value: “completado”
- Agent Says: aquí añadiremos el mensaje que conducirá a la siguiente página que creamos. En nuestro ejemplo escribimos: Muchas gracias. ¡Ya queda poco! Vamos a por la última pregunta:
Para poder enlazar esta page con la siguiente, nos dirigimos al apartado Transition. Aquí dejamos marcada la casilla page e introducimos la siguiente página que queremos que enlace a esta. Para ello, vamos a crearla en el siguiente punto a la vez que contamos más funcionalidades sobre Dialogflow CX.
Configurar dos escenarios a través de las Transition Routes
Con el fin de continuar creando un diálogo en Dialogflow CX, la siguiente page va a ir enfocada a saber más sobre los servicios que el usuario estaría interesado en contratar. Para ello, tendremos que volver a crear otra página haciendo clic en “Add page” y añadiendo un título.
Los nombres de página deben componerse de un título que nos permita captar con rapidez el tema que se está tratando en esta parte de la conversación. Siguiendo nuestro ejemplo, vamos a nombrarla: “Conductor habitual”.
Tras este paso, nos dirigimos hacia el apartado “Entry Dialogue” y pinchamos en “Enter agent dialogue”. Con el propósito de seguir el último mensaje del agente: “Muchas gracias. ¡Ya queda poco! Vamos a por la última pregunta:”. Ahora le indicaremos que siga el diálogo añadiendo este texto: ¿Querría añadir un conductor habitual en el seguro?
En esta nueva página nos vamos a centrar en el apartado de Transitions Routes que viene a continuación. Esta sección va a ir enfocada a explicar cómo configurar respuestas de (Sí/No) por parte del usuario. Los pasos son los siguientes:
- Hacer clic en “Add transition route”
- Al abrirse una nueva ventana a la derecha, nos ubicamos en la sección “Intent” y pinchamos en la casilla “Intent” y, seguidamente, seleccionamos “+ new intent”.
- A continuación, hacemos clic en la división donde pone “Name*” y agregamos la palabra “Sí” como título del intent.
- En esta misma pestaña, nos dirigimos a las Training phrases y escribimos de nuevo la palabra “Sí” como respuesta esperada por parte del usuario.
- Por último, le damos a “Save” para que se guarden todos los cambios realizados.
Los mismos pasos se realizan para añadir el intent “No” y así crear una bifurcación entre dos escenarios distintos (Sí/No).
Una vez creados los intents, éstos se almacenan en la memoria para poder ser reutilizados en otra ocasión. Por lo que si en otra page queremos volver a usar los intents de (Sí/No) o cualquier otro elaborado con anterioridad podremos hacerlo sin necesidad de producirlos de nuevo. Esta característica solo está disponible en la consola de Dialogflow CX, ya que en Dialogflow Essentials no está habilitada.
Siguientes pasos para terminar de crear un diálogo en Dialogflow CX
Ya hemos comentado cómo configurar página tras página hasta crear un diálogo en Dialogflow CX, pero ¿cómo determinar la finalización de un flujo de conversación o establecer la conclusión del diálogo?
Aquí entran en juego las pages predeterminadas que nos ofrece la consola de Customer Experience: End Flow y End Session. El procedimiento sería simplemente el de indicar, en la página de diálogo que queramos concluir, una de estas dos páginas.
La forma de hacerlo es dirigiéndonos a la sección Transitions Routes de la página en cuestión. Posteriormente, nos dirigimos al apartado Transitions y, en la casilla añadimos la página End flow (si queremos terminar el flujo de la conversación) o End Session (si queremos finalizar la conversación entre el asistente virtual y el usuario).
Siguiendo todos estos pasos conseguimos crear un diálogo en Dialogflow CX en el que el asistente es capaz de recabar información de los clientes a la vez que les da respuestas inteligentes. Sin embargo, la conversación entre el usuario y el agente puede continuar, y para ello solo tendríamos que seguir creando pages hasta finalizar la interacción entre ambas partes.