Carlos Denis

Carlos Denis

Software Developer
Related topics: Web Development

Dialogflow: la herramienta de Google para la creación de Chatbots

13 mayo 2019
2 minutos
Dialogflow: la herramienta de Google para la creación de Chatbots

¿Qué es Dialogflow?

Se trata de una herramienta de creación de chatbots capaz de entender el lenguaje natural y que provee infraestructura para recrear conversaciones y construir diálogos con el fin de interactuar con el usuario de manera fluida. Pertenece a Google desde su compra en septiembre del 2016. Dialogflow destaca entre sus competidores debido al amplio abanico de interfaces de conversación que llega a abarcar: Google Home, wearables, coches, teléfonos, etc. Actualmente soporta más de 14 idiomas y cada vez es más capaz de hacer frente al uso de abreviaturas y fallos ortográficos.  

¿Cómo funciona Dialogflow?

Un flujo básico de conversación entre el usuario y nuestro chatbot consiste en los siguientes pasos:

  1. El usuario da un input, dicho input puede ser un comando de voz, una petición o simplemente una pregunta.
  2. El agente (o módulo de compresión de lenguaje natural) de Dialogflow extrae cada uno de los parámetros de dicho input.
  3. El agente devuelve la respuesta (previamente programada) que se corresponde con el input.

Para tener una idea más concreta de cómo realmente funciona un agente debemos hacer explicar más en detalle el segundo paso. Primero es importante saber que un agente está compuesto de varios intents. Un intent categoriza, define y mapea la intención del usuario con el fin de reaccionar con una acción o respuesta. Cuando un dispositivo con nuestro chatbot integrado recibe un comando de voz primero se lleva a cabo la conversión a texto, luego ese texto se procesa mediante un procedimiento llamado NLP (Natural Language Processing) para extraer cada uno de los parámetros y por último se lleva a cabo un procedimiento llamado ML Ranking (Machine Learning Ranking) para saber con que intent se corresponde el comando.  

Desarrollo

Uno de los puntos positivos a favor de Dialogflow es la capacidad de ofrecer la posibilidad de crear Chatbots sencillos de manera sencilla, así como ofrecer múltiples interfaces para la creación de Chatbots más complejos y que se puedan ajustar a nuestras necesidades y exigencias. Dialogflow brinda la posibilidad de elaborar nuestros chatbots desde una interfaz gráfica como muestra la imagen.En pocos clicks podemos tener nuestro primer chatbot. Tenemos a nuestra disposición un menú desde el cual podemos programar nuestro intents, definir sinónimos, establecer palabras claves, contextos etc, incluso podemos seleccionar la interfaz en la cual queremos integrar nuestro chatbot. Desde luego al tratarse de una implementación tan sencilla estamos limitados en cuanto a la funcionalidad de nuestro bot. Aquí un tutorial para poder desarrollar nuestro primer agente. Por otra parte, tenemos la posibilidad de desarrollar nuestro chatbot con código en lenguaje Node.js. Con esta variante tenemos la posibilidad de explotar al máximo las capacidades que nos ofrece la herramienta. En concreto, además de ser capaces de incorporar todas las funcionalidades explicadas anteriormente, tenemos a nuestro alcance lograr que nuestro agente lleve a cabo acciones, ya sea con otras herramientas de Google, como Google Calendar, Gmail, BigQuery como con aplicaciones de terceros.  

¿Por qué Dialogflow?

No cabe duda que los chatbots suponen el presente en cuanto a herramientas, son una oportunidad para acercar el cliente al negocio y viceversa. Un estudio llevado a cabo en conjunto por MyClever, Drift, Salesforce y SurveyMonkey Audience certifica que aproximadamente el 69% de los usuarios prefiere Chatbots para interacciones rápidas con marcas. Dialogflow además de darnos la posibilidad de acercarnos a los clientes intercambiando información con los mismos, permite que estos realicen acciones. Un caso concreto puede ser una cita para probar un vehículo: el usuario puede interactuar con el agente para consultar el horario de pruebas y establecer una cita con el concesionario para probar una unidad, todo esto sin necesidad de interactuar con una persona física. No solo aporta ventajas de cara al cliente. En el amplio abanico de servicios que tenemos a nuestra disposición gracias a Dialogflow, los negocios también se ven favorecidos al ser capaces de integrar herramientas como BigQuery, Firebase Database, Mongodb entre otras para almacenar información relevante de los inputs de los usuarios con fines estadísticos, para realizar estudios y mejorar el servicio. Un ejemplo de ellos es el que se muestra a continuación. En la muestra se hace una búsqueda de las interacciones que nuestro agente no ha comprendido, bien o porque no están programadas o porque no ha logrado descifrar el input del usuario y a partir de esa búsqueda podemos preparar nuestro chatbot para futuras interacciones que nos puedan resultar interesantes.