Elabora Chatbots con Dialogflow con NLP para Whatsapp Business.

Alejandro Marcano
5 min readMar 18, 2020

--

Expertos de Business Insider predicen que para 2020, el 80% de las empresas utilizarán los chatbots. Otra encuesta realizada por Spiceworks mostró que el 40% de las grandes empresas que emplean a más de 500 personas planean implementar uno o más asistentes inteligentes o un chatbot basado en Inteligencia Artificial en dispositivos móviles corporativos en 2019.

Si a esto le sumamos el uso que tienen los sistemas de mensajería instantánea como Whatsapp, que según el estudio de 2020 de We Are Social posee un total de 1.600 millones de usuarios. Además WhatsApp, lidera entre las redes sociales de mensajería número 1 en 138 países. Ver Figura 1 y 2. Si quieres saber sobre este estudio visita la siguiente presentación https://wearesocial.com/digital-2020

Figura 1. Las plataformas sociales más usadas para Enero de 2020 según We Are Social
Figura 2. Aplicaciones de mensajería más usada en cada país para Enero de 2020 según We Are Social

Según esta breve introducción, se puede ver una gran oportunidad de negocios en usar la tecnologías de los chatbots en servicios de mensajería que las personas usan a diario, ya que es más rápido que el usuario acceda a la aplicación de Whatsapp que al sitio web donde tiene que llenar un formulario para pedir ayuda.

Dialogflow

Existen muchísimas herramientas para realizar chatbots. Se puede entrenar un modelo de IA con tensorflow y python desde 0, pero eso lo haría si quiero hacer algo muy a nivel de investigación ya que lleva mucho tiempo. Para soluciones de negocio rápidas, es mejor no reinventar la rueda y usar servicios que te ofrecen elaborar un buen producto con resultados al instante (Entre estos están Dialogflow, IBM Assistant, RASA, Chatfuel, entre otros). Dialogflow en una herramienta online de Google para la elaboración de chatbots.

Quiero hacer la aclaratoria que un bot que tu le tengas que poner presiona 1, para hacer tal cosa, presiona 2 para hacer la otra. NO ES UN CHATBOT CON NLP (Natural Language Processing) o no estás aprovechando la función de NLP. La idea es que el pueda reconocer lo que le estás pregunta y no sea como una llamada que estás haciendo al servicio telefónico de Movistar, ya que eliminas por completo la experiencia de usuario.

Te recomiendo para iniciar en el mundo de Dialogflow ver tutoriales de Youtube, documentación, foros,otros mediums para saber que es una intención, una entidad, un contexto. No te voy a explicar a usar Dialogflow, pero si te voy a dar unos tips que me costaron descubrir desde el principio:

  1. Escribe todo el texto en DEFAULT en la sesión RESPONSES. Dialogflow no tiene una sesión especial de texto como si lo tiene para telegram, Google Assitant, etc.
  2. Para poner palabras en negrillas coloca * *. Aunque cuando lo corras en Dialogflow no te va reconocer las negrillas, te va a salir los asteriscos en el textos. Va a salir como la siguiente imagen, pero cuando ya este productivo en whatsapp. Ver Figura 3.
  3. Para dar saltos de línea o espacios usa ENTER + Shift. En el editor de pruebas de dialogflow TAMPOCO va a reconocer los espacios. Solo los veras cuando tengas la app en whatsapp. Ver Figura 3.
Figura 3. Probando el chatbot en la dialogflow a la izquierda y a la derecha en la app de whasapp

Unas de las desventajas actuales de hacer chatbots para whatsapp es que no te permite colocar botones de respuesta como si permiten plataformas como Telegram y Facebook Messager. Además no se pueden mandar imágenes, documentos, vídeos con estos servicios de chatbot, sino usando otros como la API de Whatsapp la cuál es muy costosa por uso y de difícil acceso.

EXPORTA TU CHATBOT DE MANERA GRATUITA A WHATSAPP

La manera correcta de integrar tu chatbot de Dialogflow con Whatsapp es realizando una integración con Twilio. El problema es que twilio no deja usar tu número de teléfono, sino uno de prueba. Para usar tú número tienes que enviar una solicitud, la cual a mi me negaron dos veces y nunca me aprobaron usar mi número de teléfono. Además que se tardan en responder.

Así que la alternativa que conseguí es usar una aplicación en el teléfono que se llama AutoResponder WA, la cual se encuentra en la Play Store. El problema que es paga para usar Dialogflow. Yo conseguí el APK gratis, lo dejo por aquí el link para descargar: https://drive.google.com/file/d/1iej4wmh8NXgbCcFM1C67qegh0mHSmTWe/view?usp=sharing

Los pasos son los siguientes:

1. Ingresar al módulo de configuraciones del BOT en Dialogflow (dándole clic a la tuerca del Menú lateral) y presionar el link. Ver Figura 4

Figura 4. Link a seleccionar

2. Se abrirá la página de Google Cloud. Presiona el proyecto de tu chatbot en la parte derecha con los 3 puntos y selecciona Crear clave. Ver Figura 5

Figura 5. Plataforma Google Cloud

3. Se abrirá una pantalla modal sobre el tipo de llave que quieran crear. Le dan a crear llave de tipo JSON y se descargará el archivo en formato de JSON con la información del chatbot. Ver Figura 6

Figura 6. Modal para descargar el JSON

4. Una vez instalado la aplicación AutoResponder WA y Whatsapp Business en el teléfono, pasamos el archivo .json al teléfono. En esta parte de la aplicación (Ver Figura 7) importamos el archivo .json de nuestros directorios a la app. Luego en la parte de abajo donde dice idioma, coloca ES

Figura 7. Importar JSON en AutoResponder WA

Ya está casi listo, solo falta presionar en el home de la aplicación Autorespoder WA el switch y ponerlo en verde para cuando queramos tener el chatbot activo. Ahora cuando cualquier persona escriba al número de teléfono asociado al Whatsapp Business responderá el chatbot de dialogflow. Ver Figura 8

Figura 8. Hablando con el bot a través de Whatsapp Web.

Recomendación: Te van a llegar notificaciones al teléfono cada vez que alguna persona converse con el bot, eso es bueno porque quedan registro de las conversaciones y malo por que . Recomiendo tener en productivo el bot en un teléfono de poco uso y no personal.

PLUS: Hay otra app llamada AutoResponder para Instagram, que hace lo mismo de desplegar el chatbot de Dialogflow a una cuenta de Instgram. Es cuestión de ponerse a jugar con esto

--

--

Alejandro Marcano

I’m Systems Engineering. I work as data geneticist. My favorite language is Python. I like make IA solutions, Computer Vision, chatbots and Instagram filters!