Introducción a los chatbots

Los chatbots son tendencia desde hace ya mucho tiempo y cuentan con una legión de gente a los que les encantan. Muchos de ellos creen que los bots son lo más de lo más, y que pronto reemplazarán a las aplicaciones, mientras que los más escépticos piensan que son solo una moda pasajera...

En este artículo no hablaremos del futuro de los chatbots. De lo que sí hablaremos es de cómo funcionan, para qué se utilizan y cómo ejecutar uno.

¿Qué es un chatbot?

Un chatbot es un servicio o herramienta con el que puedes comunicarte mediante mensajes de texto. El chatbot entiende lo que estás intentando decir y responde con un mensaje coherente, relevante y directo relacionado con la tarea o petición que le estás solicitando.

Si recuerdas Cleverbot, verás que esto de los chatbots no es nada nuevo. Lo que los hace tan relevantes ahora es:

  • La enorme cantidad de tiempo que pasamos enviando mensajes de texto debido al boom de la aplicaciones de mensajería instantánea como Facebook Messenger, WhatsApp... Que convierten a los usuarios adictos a estas apps en un mercado donde las empresas pueden involucrar a clientes potenciales.
  • Los avances en la inteligencia artificial, el aprendizaje automático y el procesamiento del lenguaje natural, lo que permite a los bots conversar más y hacerlo como si fueran personas de verdad.
  • Los chatbots modernos no dependen únicamente de los mensajes de texto. También pueden enviar imágenes, enlaces... proporcionando una experiencia similar a una aplicación.

Esto les permite ser utilizados para diversos propósitos, tales como compras, servicio al cliente, noticias, juegos y cualquier cosa que te puedas imaginar. Un buen chatbot no tiene porqué realizar una gran variedad de tareas. Por ejemplo un bot que te muestra las últimas noticias de un blog, no tiene porqué ser capaz de pedir comida china. Es decir, las tareas que realice, las debe llevar a cabo a la perfección.

¿Cómo funcionan los Chatbots?

La mayoría de la gente no desarrolla sus chatbots desde cero, debido a que existen muchos frameworks y servicios que son una gran ayuda. Sin embargo, a fin de entender cómo funcionan los bots, tenemos que repasar a grandes rasgos su estructura interna.

Backend: Los chatbots pueden estar desarrollados en cualquier lenguaje de programación que te permita hacer una API web, básicamente. Para la mayoría de la gente esto se traduce en Node.js o PHP, pero existen muchas librerías para bots desarrolladas en Java y en Python que son muy interesantes también. El backend recibe mensajes, piensa en una respuesta y la devuelve al usuario.

Frontend: Esto puede ser una aplicación de mensajería instantánea famosa (Facebook Messenger, Slack, Telegram), o una interfaz de chat simple como Realtime Chat With Node.js. No tiene porqué estar limitado a una sola plataforma. El mismo bot se puede implementar en más de un sitio.

Conectando los dos: Tu servidor web tendrá que configurar los webhooks (conexiones basadas en URLs entre tu bot y la plataforma de chat). Los webhooks te permitirán enviar y recibir mensajes de forma segura a través de simples peticiones HTTP. Todas las principales aplicaciones de mensajería instantánea cuentan con un documentación detallada sobre cómo conectar con bots.

Bots tontos y bots inteligentes

Dependiendo de la forma en que se programan los bots, podemos separarlos en dos grandes categorías: basados en comandos (bots tontos) y en el aprendizaje (robots inteligentes).

Los bots basados en comandos se estructuran alrededor de palabras clave específicas que el bot reconoce. Cada comando tiene que ser programado manualmente por el desarrollador utilizando expresiones regulares u otras formas de analizar cadenas. Si el usuario dice algo más allá de los escenarios programados, el bot no responderá de manera útil.

Aunque las capacidades de estos bots "tontos" son limitadas, son más que suficientes para la mayoría de diseños de bots, especialmente cuando se combinan con otros tipos de UI como preguntas con múltiples opciones.

Los bots que aprenden, confían en algún tipo de inteligencia artificial para conversar con los usuarios. En lugar de buscar una respuesta predefinida, los bots inteligentes cuentan con respuestas adecuadas para cada caso. También realizan un seguimiento del contexto de la conversación y recuerdan lo que se le ha dicho en anteriores conversaciones, ¡al igual que un ser humano!

Trabajar con procesamientos del lenguaje natural y aprendizaje automático no es una tarea sencilla, y menos para los desarrolladores novatos. Afortunadamente, no tienes porqué realizar todo ese trabajo. Existen una serie de librerías excelentes (ConvNetJS, nlp_compromise, TextBlob) y servicios (wit.ai, api.ai) que pueden ayudarte a enseñar a tu bot ciertas habilidades conversacionales.

Empezando con chatbots

Si he conseguido que te sientas atraído a estos seres de ciencia ficción y quieres empezar a desarrollar tu primer chatbot, he aquí algunos consejos que te ayudarán a comenzar. Dependiendo de la cantidad de trabajo que desees llevar a cabo por tu cuenta, puedes desarrollar tu bot desde cero, o simplemente puedes utilizar un framework para ahorrarte muchísimo tiempo. Tu decides...

  • BotKit - El toolkit más famoso para desarrollar bots. Es open-source y está muy bien documentado.
  • Claudia - Creador de chatbot diseñado para AWS Lambda.
  • Bottr – Framework super simple de Node.js.

Una vez que hayas finalizado tu bot, verás que la mayoría de estos frameworks te permiten conectarte fácilmente a las principales plataformas de mensajería, lo que se traduce en un enorme ahorro de tiempo, ya que cada una de esas plataformas cuentan con diferentes procesos de configuración.

Si descartas el proceso de hacerlo desde cero, puedes confiar en uno de los muchos servicios de construcción de bot disponibles:

  • wit.ai - Servicio que recibe texto sin formato o datos de voz y utiliza la PNL para ayudarte a administrar las respuestas.
  • Chatfuel - Una herramienta para Facebook Messenger o Telegram.
  • motion.ai - Servicio completo de desarrollo de bots con soporte para muchas plataformas de mensajería.
  • api.ai - Procesamiento de lenguaje natural que te permite crear bots y definir escenarios de conversación.

Espero que este artículo te haya sido útil y te hayamos introducido adecuadamente al mundo de los chatbots. Si tienes alguna pregunta u opinión, no dudes en dejar un comentario a continuación.

Fuente: tutorialzine.com

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP