Introducción a DialogFlow [Bots]

Vicente Gerardo Guzman Lucio
My Bots Latam
Published in
4 min readNov 28, 2018

Mucho se ha hablado de las diversas plataformas que existen en el mercado para desarrollar bots y todas cuentan con puntos fuertes y débiles, ventajas e inconvenientes. Una buena opción es Dialogflow de Google, la cual conoceremos el día de hoy, desde como funciona hasta donde se puede integrar.

Comencemos por saber: ¿qué es Dialogflow?

Es una plataforma de comprensión del lenguaje natural que permite a cualquier persona (desarrolladores y no desarrolladores) diseñar fácilmente interfaces de usuario conversacionales de voz y texto basadas en Inteligencia Artificial. Lo interesante es que una vez implementado, el bot continúa aprendiendo de las conversaciones que tiene con los usuarios gracias a Machine Learning.

Principal ventaja de Dialogflow frente a otras plataformas:

Dialogflow nos permite establecer normas de reconocimiento natural del lenguaje así como diversas respuestas naturales, mientras que otras solo nos deja crear flujos de conversaciones basados en palabras clave.

Ejemplo:

Chatfuel> Cuando le preguntamos — ¿Como te llamas? la respuesta que nos daría seria: “Me llamo Vicente”

Dialogflow> Si le hacemos la misma interrogante su respuesta puede ser: “Mi nombre es Vicente pero tu me puedes decir Chente”.

Funcionalidades principales:

- Cuenta con mecanismos de Speech-to-Text y Text-to-Speech, lo que nos permite utilizar el bot tanto por voz como por texto.

- Al utilizar algoritmos de procesamiento de lenguaje natural, no tenemos que programar todas las interacciones, puesto que se encontrara aprendiendo en base al entrenamiento, lo que enriquece la comunicación. Entonces se le conoce como una tecnología cognitiva.

- Nos da la posibilidad de utilizar contextos. Con esta característica es posible recabar información a lo largo de una conversación, es decir, no es necesario que toda la información nos la comunique el usuario en una sola interacción.

- Se adapta a la diversidad de canales para que pueda haber una integración sencilla denominada: “out-of-the-box”.

- Facilidad para extender la funcionalidad básica. Simplemente añadiendo un endpoint que soporte la estructura que marca la API podemos conectarlo con cualquier otro sistema para procesar las respuestas.

Arquitectura:

En palabras…

Cuando un usuario se conecta a nuestro chatbot por la plataforma que sea y ya sea que escriba o diga algo, esto se envía a Dialogflow quien será el encargado de identificar qué es lo que quiere el usuario, extraer y reconocer los parámetros y determinar qué hacer en ese momento.

Llegado a ese punto, pueden ocurrir 2 casos:

  1. Que hayamos definido la respuesta como parte del Intent. Lo cual significa que Dialogflow tiene toda la información necesaria para responder al usuario, así que enviará dicha respuesta a la plataforma por la que le ha llegado la petición.
  2. Que necesitemos datos externos. En tal caso, Dialogflow conectará con el servicio externo que hayamos definido, enviando la acción y parámetros reconocidos. Nuestro servicio externo tendrá que devolver a Dialogflow la respuesta que será la que se enviará al usuario.

Con lo cual, Dialogflow es básicamente un intermediario que proporciona la tecnología de Machine Learning y reconocimiento del lenguaje natural para que podamos proveer a los usuarios de conversaciones fluidas y naturales con nuestros bots.

Conceptos básicos

Antes de comenzar a meterse de lleno, les comparto la siguiente información que hay que tomar en cuenta y así tener las bases de lo que conlleva el hacer un bot.

  • Agentes: son como proyectos o como módulos de reconocimiento natural del lenguaje. En bots sencillos, un agente bastará para agruparlo todo.
  • Entities: corresponden a las entidades de primer nivel que queremos manejar en nuestro agente.
  • Intents: acciones que corresponden a la lógica de negocio y que va a realizar nuestro agente, visto de otra forma es lo que quiere el usuario.
  • Integrations: son los sistemas con los que podremos integrarnos de forma muy sencilla. Estas integraciones corresponden al canal.
  • Contexts: permiten definir intenciones en función del contexto de la conversación.

¿Donde se puede integrar?

Dialogflow se puede integrar con los siguientes canales:

Conclusiones finales

Dialogflow me ha parecido muy interesante, por su sistema de interpretación y la elección de los parámetros que queremos que tenga en cuenta dentro de la pregunta para que el programa responda. De esta forma creo que ahorramos tiempo a la hora de pensar en todas las posibles preguntas e interacciones que pueda tener el usuario.

Y bueno, sinceramente apenas estoy comenzando a adentrarme en el desarrollo de los bots pero creo que estos sólo tendrán éxito si evolucionamos su interacción a conversaciones más naturales, ¿no creen?.

Con esto hemos terminado, espero esto les ayude a la hora de comenzar a planificar sus proyectos de bots.

¡Hasta la próxima!

Mas información>

Intro to Dialogflow

Webinar> LUIS vs Dialogflow

--

--