Primeros pasos para crear un chatbot con dialogflow v2

AUTOR: Hugo Miguez CREADO: 2018-05-03 15:53:45

Dialogflow te permite crear conversaciones naturales utilizando su sistema de inteligencia artificial basado en redes neuronales. Este sistema es conocido como chatbots en donde la conversación la llevan a cabo una persona y una máquina. 

El ejemplo más básico es un sistema de ayuda que hasta la fecha utilizan muchas empresas en sus sitios webs para dar una solución a un usuario. Nosotros comenzaremos con un ejemplo muy básico y poder aprender a utilizar dialogflow, dado que al principio puede parecer bastante engorroso.

Para comenzar a utilizar Dialogflow necesitamos tener una cuenta de google y conectarnos en la página principal de Dialogflow https://console.dialogflow.com/



El paso siguiente será crear un nuevo agente como puedes ver en la imagen siguiente. Un agente es un proyecto o un chatboot, contendrá todo el proceso del chat. No le des demasiada importancia a estos conceptos.



A continuación aparecerá nuestro nuevo agente como puedes ver en la siguiente imagen.



Debes completar los campos que aparecen en el formulario. Éstos campos son:
  • Agent name: nombre que le darás al agente. Por ejemplo primer_agente (recuerda que no emplear signos extraños o espacios en blanco para el nombre)
  • Default language: selecciona el idioma en el que crearás el chatboot (en nuestro caso será Spanish - es).
  • Default time zone: debes indicar en que zona horaria se encontrará tu agente. Yo escogeré mi zona horaria que es en (GMT+1:00) Europe/Madrid
  • Google project: puede seleccionar un proyecto del lisatado o dejarlo tal cual para crear un nuevo proyecto.
Finalmente presionamos el boton CREATE y dialogflow comenzará la creación de nuestro agente. Puede tardar unos segundos el proceso de creación. Como muestra la siguiente imagen:



Como puedes ver en la imagen anterior justo debajo del emblema de Dialogflow (izquierda arriba) puedes ver el agente seleccionado. En nuestro caso primer_agente y más abajo nos indica el idioma (es). Y más abajo veremos un listado de elementos. Éstos elementos permitirán crear nuestro chat. Comenzaremos con el primero de ellos y es el que se encuentra seleccionado por defecto.

Intents 

Un intent (intento) representa un mapeo entre lo que dice un usuario y qué acción debe tomar su software.

Las interfaces de intención tienen las siguientes secciones:

  • Training Phrases (palabras de entranamiento)
  • Action
  • Response
  • Context

Training Phrases

Las palabras o frases de entrenamiento son las distintas formas que tendrá un usuario a la hora de realizar una pregunta o consulta. Ésto permitirá a dialogflow aprender en base de esas frases y cuando el usuario introduzca una pregunta pueda saber comprender y responder acertadamente.

Por ejemplo: Imaginemos que queremos crear un chat donde el usuario pueda preguntarnos el clima actual. Algunas frases podrían ser las siguientes:

  • Qué temperatura hace en madrid
  • Cómo está el clima en madrid
  • La temperatura en madrid
  • Clima de madrid
Con éstas frases de aprendizaje dialogflow podrá comprender y saber responder de forma certera.

Action

Esta sección consiste en el campo de nombre de acción y la tabla de parámetros. En este primer ejemplo no lo usaremos, con lo cual no entraremos en detalles.

Response

En esta sección se pueden definir las posibles respuestas que el dialogflow enviará al usuario dependiendo de la pregunta que realice.

Los siguientes conceptos como: Entities, , Fulfillment, etc. lo explicaremos más adelante.

Volvemos a nuestro agente que hemos creado. En la imagen podrás observar que hay dos intents (se crean de forma automática al crear el agente). Ignoraremos ambos intents y vamos a crear uno desde cero. Para ello Presionamos el botón CREATE INTENT.



Deberás ver algo como la siguiente imagen. Donde tendrás que indicar un nombre para el intent.



En nuestro primer intent será algo muy sencillo. Basicamente hará que nuestro chatbot pueda saludar al usuario. Para ello lo primero será poner un nombre al intent. Nosotros le pondremos el nombre de intent_saludo y presionamos le botón SAVE para guardar los cambios.

En el apartado Training phrases presionamos el botón ADD TRAINING PHRASES para crear las frases de entrenamiento como puedes ver en la siguiente imagen. Hemos introducido varias frases como un usuario puede realizar el saludo.



Debes introducir una a una en el campo Add user expression.

Ahora solo nos falta introducir las posibles respuestas que realizará el chatboot. Para ello vamos hacia abajo al apartado Responses y presionamos el botón ADD RESPONSE. Y escribimos las escribimos las posibles respuestas en el campo Text Response.



Ahora solo tienes que guardar los cambios realizados presionando el boton SAVE. y probar el funcionamiento de nuestro primer intent. Para ellos es muy sencillo. Si observas a la derecha encontrarás un panel como muestra la siguiente imagen.



Para realizar las pruebas solo debes introducir en el campo de arriba una expresión. En nuestro caso espera un saludo. Puedes probar con la palabra "buenas". Podrás observar que dialogflow comprende en base de las frases de aprendizaje que le estamos saludando y en consecuencia nos responderá con alguna de las frases que hemos indicado en response. 

Si escribieramos algo que no tuviera lógica y no comprendiera, dialogflow nos contestaria con alguna frase como: ¿decías? o no he entendído a que te refieres. Éstas frases están creadas de forma automática en el primer intento  llamado Default Fallback Intent. El cual puedes modificar a tu antojo. Con lo cual cuando ante una frase indicada por el usuario y que nuestro intent no comprenda lanzará de forma automática el itent Default Fallback Intent y éste responderá.

Demo del ejemplo anterior


Comentar

Para poder realizar comentarios. Primero debes inicar sesión o crear una cuenta.