Manual Para Dialog Flow
User Manual:
Open the PDF directly: View PDF
.
Page Count: 23
| Download | |
| Open PDF In Browser | View PDF |
INSTITUTO TECNOLÓGICO DE MÉRIDA DEPARTAMENTO DE SISTEMAS COMPUTACIONALES Proyecto: “Manual para aprender Dialogflow” Presentan: Alonzo Mex Fátima Guadalupe. Belmonte May Christopher Alexander. Castro Ynurreta Iván Antonio. Gómez Alcocer Isaías Armando. Tuyub Huchin Misael Eduardo. Mérida, Yucatán a 26 de Mayo de 2018. En esta guía se mostrarán los pasos a seguir para entender de una manera efectiva los términos que corresponder al dialogflow. Primero que nada, en la interfaz se tendrá que hacer un agente(es la entidad capaz de poder percibir su entorno, procesar las percepciones y responder o actuar en su entorno de una manera racional.), donde en dicho agente se le configurara el idioma que tendrá por defecto el cual en esta ocasión será español, pero con la posibilidad de ampliar el lenguaje que se desee utilizar, continuando con la configuración del agente se seleccionara la zona horaria y el proyecto de Google con el cual está relacionado. Una vez creado se va a la pantalla del agente donde muestra lo siguiente: Como se muestra en la pantalla lo primero que se puede observar son los intents o intenciones que mas adelante se hablara a fondo del tema, lo relevante es que contiene dos intenciones por defecto las cuales son: Fallback Intent: Son las respuestas que tendrá el bot, cuando no entienda que se le está diciendo, puedes configurar varias respuestas. Welcome Intent: Es la respuesta que obtiene el usuario cuando desea comunicarse con el bot, es un saludo de bienvenida y entraremos en esta intención para entender un poco más su estructura. En el caso de dialogflow es importante recalcar que es necesario tener casos de uso específicos para evitar inconvenientes a largo plazo. Una vez seleccionado la opción de default welcome se mostrará algo como lo siguiente: Como se puede observar estas frases de saludo, son frases que viene por defecto, y lo que se hará es agregar todas las frases con la cual suponemos el usuario utilizara para saludarnos. Una vez configurado los posibles saludos, toca ir a la parte de las respuestas. De igual manera que en los posibles saludos, se agregara todas las posibles respuestas que se ocurran, y una vez hecho esto se probara en la consola. A continuación, se muestra el uso y el comportamiento de las entidades, para esto se necesitará el ejemplo de la creación de un bot para una clínica con la configuración de cita con un paciente. Como primer paso se crea el bot en este caso con el nombre de Intent_Cita En la parte inferior le saldra botones para agregar las frases, parametros, etc. Solo ponemos “Add…” y listo. El caso es el siguiente: Un paciente se conectará con nuestro agente Nicolas y le dirá que desea una cita para el día 10 de noviembre, el agente le preguntará la hora de la cita y luego para culminar le preguntará si desea pagar en efectivo o con tarjeta de crédito, luego se registrará la cita y agradecerá al paciente por la llamada. Para empezar, se colocan las frases con las cuales el usuario indique una cita. Al momento de colocar la frase y presionar Enter, se da con la sorpresa que Dialogflow entendió lo que deseabas poner, y eso es lo impresionante de esta tecnología. Se puede observar que agregó dos entidades de manera automática como una ayuda para nosotros, estas entidades son del mismo sistema, el cual asume que una parte de la frase hace referencia a una fecha y la otra parte hace referencia a una hora especifica. En este caso una servirá y la otra no, así que eliminamos la que está sombreando la palabra “una” por qué dentro de nuestro contexto la palabra “una” la hacemos referencia a cantidad, mas no a la hora. Para eliminar basta con seleccionar en la palabra “una” y darle en el boton de “x”. Para que pueda quedar de la siguiente manera: A todo esto se le pueden seguir agregando mas frases como se ha mostrado previamente. Ahora bien el sistema le tiene que preguntar al paciente la hora que quiere dicha cita, para esto vamos a colocar nuevamente frases en la herramienta, simulando una respuesta a la pregunta del agente, por ejemplo: Ahora, lo que se tiene que hacer es poder insertar las preguntas que el robot dará a cada tipo de entidad que se ingresa. En este caso sabemos que el paciente indicará que desea una cita en cierta fecha, luego el bot le preguntará la hora de la cita, para hacer esto lo insertamos en la sección de parámetros. En estos momentos deberían de tener algo así: Entonces nos vamos a la entidad donde debemos de colocar la pregunta. Si seguimos los colores de la frase con la del parámetro veremos que es el segundo parámetro llamado “Time”. Luego, en este parámetro le vamos a decir que es requerido, y presionamos en el botón “Define prompts” y colocamos las preguntas que deseamos, algo así: Ahora se realiza la prueba la cual termina con éxito, pero la duda es saber donde se almacenan los datos de la cita, hasta este momento lo unico que va a hacer el sistema es guardar esos datos en el tiempo que dura la intención. Podemos ver estos valores en la consola de la derecha. Mas adelante se tocará el tema del como guardar mis datos en una base de datos o conectarse a un api del propio sistema de citas. Para poder terminar el caso de uso, faltaría agregar como desea pagar el paciente la cita. Como dialogflow no tiene este tipo de entidad, se tiene que crear una entidad personalizada, para esto vamos al panel izquierdo y vamos a la opción de entidades (Entities). Se presionará el botón de Crear Entidad. Se creará una entidad que se llama TipoPago y se colocará dos entradas que son las que posiblemente el paciente mencione. Efectivo y Tarjeta de Crédito y al costado, las posibles frases que una persona puede decir para dar entender el tipo de pago que va a realizar. Presionamos grabar y con esto regresamos a nuestra Intención cita para terminar de configurar. Ya en nuestra intención, se colocará una frase de como el cliente podria responder a la pregunta de cómo pagará la cita. colocando “Pagaré con efectivo.” Dialogflow ya entendio que existe una nueva entidad y ya la encontró. Entonces de aca ya es facil por que ya sabemos que debemos colocar que el parametro de la entidad es obligatorio y colocar una pregunta. Por último, solo queda hacer las pruebas para ver cómo funciona. Eso sería todo se tienen todos los datos de la cita para poder registrarla en la base de datos. Cabe mencionar que en la documentación de Dialogflow, se recomienda usar las frases que contengan el “”, ya que de esta manera se puede ayudar a que robot pueda entender mucho más las intenciones del usuario y pueda aprender. Ahora bien, se pasará a la parte de lo que son los contextos de conversación. En una comunicación entre dos personas, el Contexto es el conjunto de circunstancias en las cuales se produce la Comunicación (lugar y tiempo, cultura del Emisor y el Receptor, etc.), para no perder el contexto en una conversación siempre es importante tener información de la frase anterior para seguir teniendo una comprensión en el mensaje. Para poder dejar en claro el tema es necesario poner el siguiente ejemplo: Persona: Hola Nicolás, ¿sabes cuál es el clima en Lima, Perú? Nicolás: Claro que sí, el clima es de 25 grados centígrados. Persona: ¿Y en New York? Nicolás: Es de 12 grados centígrados. Como se puede observar en esta conversación existe un contexto que Nicolás tuvo que tener para poder contestar la segunda pregunta sobre el clima en New York. Si esta primera pregunta no hubiese existido, no se sabría que deseaba saber la persona. Por ejemplo, si se hace la pregunta a Nicolás sin un contexto antes no se sabría que responder. Persona: ¿Ah y en New York?. Nicolás: ¿Disculpa? No existe contexto es por eso que no se puede saber la intención de la persona. Ya con este preámbulo, se ira a configurar esto en Dialogflow, iniciemos creando una intención que se llame: Intent_contexto_1 Ahora, en la parte de contexto se puede observar dos campos, que dicen “Add input Context” y “Add output Context”. Add input context: En este campo se va a colocar el contexto de donde se está recibiendo la primera parte de la conversación o los contextos anteriores. Add output context: En este campo se va a colocar el contexto a donde se enviará las respuestas siguientes. De esta forma es como se enlaza la conversación y no se pierda el contexto. En dialogflow existen dos maneras de hacerlo, una que te ayuda la misma herramienta y la otra que sería de forma manual. Ahora se centrará en la primera. Crear contexto con Follow intent Dialogflow te ayuda a crear los contextos en las conversaciones mediante los “Follow Intent”. En este caso ya se tiene creado una intención, ahora coloquemos el cursor del mouse encima de la intención, y saldrá la opción para poder crear una intención de seguimiento: Ahora se creará un caso de uso que tenga un mejor entendimiento. El caso de uso dice: Una persona ingresará al bot y le consultará a Nicolás si puede hacer una reserva en el hotel, Nicolás le preguntará si es socio del hotel y si ya se había hospedado antes. En la primera intención se colocará las frases del cliente y en la respuesta se colocará las preguntas que el bot le hará. Perfecto, lo que se está haciendo es colocar ciertas preguntas donde lo más probable es que el cliente responda SI o nos responda NO. Entonces se ccomenzará a crear el hilo de la conversación, para esto vamos a la ayuda ya mencionada antes de dialogflow. Y seleccionará en primera instancia el que dice “YES”. Y automáticamente se genera una intención debajo de la intención principal. Como se puede notar en la intención principal, se generó un alias en el contexto de salida, esto indica que está enviando esta información al siguiente contexto. Y si se dirige a la intención que se creó, se puede ver que está recibiendo este mismo alias, pero en el campo de entrada. De esta manera es como se va armando el contexto de la conversación, si se observa el nuevo contexto que creó el dialogflow para respuestas “YES”, se observará que la herramienta te ayuda a armar las frases. Siguiendo con el caso de uso, al responder SI el usuario, entonces se le enviará a la siguiente pregunta, para esto se genera una nueva intención debajo de la última que se creó y quedaría más o menos así: Al hacer esto, se nota que las tres intenciones ya se encuentran enlazadas por los alias que genera la misma aplicación. Intención de segundo nivel Intención de tercer nivel. Continuando solo se hará las pruebas de como funciona estas intenciones y con ello ver que de esta manera se pueden ir creando un modelo conversacional de manera fácil y sencilla con la ayuda de dialogflow. En el ejemplo anterior si no existe un contexto creado y nosotros le ponemos al bot solamente la palabra SÍ, el bot no entenderá. Ahora se creará el contexto de la otra forma mencionada, de la forma manual. Así como Dialogflow ayuda creando los contextos de manera automática, hay veces que esta situación no podrá ayudar y se tiene que crear de manera manual, para este caso se usará el ejemplo del clima. Primero se crea una intención y se configura de la siguiente manera. En este caso, usando una entidad de sys.any. Por el momento no hay ningún inconveniente a la hora de hacer la prueba. Para que al seguir con las pruebas el bot pueda seguir entendiendo el contexto, es necesario colocar un alias dentro del campo de “Add output context” y llamándolo como contexto_clima en este caso por cuestiones del ejemplo. Y se creara otra intención llamada Intent_seguimiento_clima, para que al llegar a la parte de contexto se reciba la entrada de contexto_clima. Dentro del mundo de contextos, también existe un concepto más que se llama Lifespan. El cual es un número que se encuentra al costado de los alias del contexto, donde nos va a indicar la cantidad de veces que nosotros podemos configurar el contexto para que no se pierda. En la documentación de dialogflow la cantidad de veces que se puede esperar para no perder un contexto es de 5 o en el intervalo de 20 minutos. Si pasa esto, entonces el contexto desaparecerá y el bot ya no entenderá si deseas seguir una conversación. Ahora para terminar de entender el funcionamiento del chatbot es necesario hablar de los eventos los cuales son los indicadores que podemos darle a nuestro asistente para que pueda responder un llamado desde fuera de dialogflow. Esta parte que voy a comentar es un poco más técnica pero importante cuando deseas trabajar con tu bot desde otras herramientas y dialogflow te contestará sin problemas. Para empezar, se crea una intención y se le pone de nombre al evento: EventAlerta. Es importante mencionar que por defecto dialogflow crea un evento de “Welcome” en la intención Default Welcome Intent. Este evento se crea para todas las aplicaciones que tiene Dialogflow integrada y que ayuda cuando una persona saluda al bot desde otra herramienta y este le responde con el saludo correspondiente. Y esto lo puedes agregar solo colocando un alias en eventos.
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 23 Language : es-MX Author : Isaias Armando gomez alcocer Creator : Microsoft® Word 2013 Create Date : 2019:05:26 23:33:27-05:00 Modify Date : 2019:05:26 23:33:27-05:00 Producer : Microsoft® Word 2013EXIF Metadata provided by EXIF.tools