¿Qué es un chatbot ó bot conversacional?

 
317021-P93XZ3-982.jpg
 
 

Un chatbot o bot conversacional es un programa que busca simular la conversación entre un agente computacional y un humano a través de mensajes sitios web, aplicaciones de celular o incluso por medio de llamadas telefónicas.

Hoy en día seguramente te has topado con este tipo de aplicaciones en diversos sitios y seguramente te has preguntado como funcionan. Un chatbot tienen varios componentes, pero los principales son los siguientes:

1.       Interfaz: Es la capa que ve el usuario y a través de la cuál se realiza la comunicación, puede ser una aplicación de celular, algún servicio de chat en una página web, un servicio de mensajes SMS o un servicio de llamadas telefónicas.

2.       Reconocimiento de intención: El objetivo de esta capa es tomar en mensaje mandado por la interfaz para entender cual es la idea o intención del mensaje mandado por el usuario. Un ejemplo es identificar con base a las palabras del mensaje: “Quiero dos boletos para la película X a las nueve.” Que la intención del usuario es adquirir boletos.

3.       Extraer entidades: La segunda fase es identificar entidades útiles para poder generar una respuesta o realizar una acción. Ejemplos de entidades son números, sustantivos, nombres de personas, fechas, horas entre otros. Por ejemplo, del mensaje “Quiero dos boletos para la película X a las nueve.” Algunas entidades útiles son “dos”, “película A” y “a las nueve” porque son las partes que nos permitirán dar una respuesta al usuario.

4.       Consultar a base de datos: Con la intención y entidades identificadas, podemos consultar alguna base de datos o base de conocimiento para decidir que respuesta dar. En el ejemplo de este artículo, al usuario le interesa comprar boleto, entonces con la información recabada podemos consultar la base de datos del negocio para verificar que haya disponibilidad y cuál sería el costo.

5.       Generar respuesta: Con la información recuperada de la base de datos, podemos llenar un conjunto de respuestas predefinidas de acuerdo con la intención, entidades e información de la base de datos, por ejemplo, nuestro chatbot podría contestar: “Muy bien, tengo boletos disponibles para la película X a las 9pm. Son $200. ¿Quieres comprar algo más?”.  Después de esta respuesta esperamos a la respuesta del usuario para repetir el ciclo.

chatbots.png

Estos son los componentes principales que suelen funcionar dentro de un chatbot. Es importante recalcar que dos de las fases más importantes son el reconocimiento de la intención y extracción de entidades. Internamente tienen modelos de procesamiento natural del lenguaje para realizar su tarea.

La calidad de respuesta de un chatbot depende mucho de los modelos de NLP que contenga para identificar intenciones y extraer entidades. Para esto se requiere entrenar con cientos o incluso hasta miles de ejemplos de conversación. Hoy en día, los frameworks actuales permiten realizar esta tarea de forma sencilla para poder entrenar los chatbots de mejor manera.

Otro factor importante para desarrollar un buen chatbot es el diseño de la lógica que éste deberá de seguir en función de las intenciones y entidades identificadas, de lo contrario el chatbot parecerá desconectado del usuario causando que este se frustre, ocasionando que pierda el interés en utilizarlo.

Este proceso puede hacer más robusto y complejo al agregar más ejemplos y mejorando la lógica de la conversación para poder cubrir más casos posibles de conversación con un humano.

 PhD. Alejandro Maldonado

Imagen diseñada por Freepik

Guest User