¿Cómo nos entienden los chatbots?

como-entienden-chatbots

Actualmente estamos viviendo una auténtica revolución en el mundo de los bots. Y es que, desde que se empezó a hablar más de ellos, su número ha ido creciendo vertiginosamente. Son, cada vez más, los que se ven como una apuesta de futuro. Son algo que ha venido a definir un nuevo modelo de interacción entre las personas y las máquinas.

En este artículo se van explicar las bases de las técnicas que están haciendo. También, por qué los chatbots se están convirtiendo en una plataforma conversacional tan innovadora y con tantas perspectivas de futuro.

Los chatbots y sus formas de entender

Lo primero es entender cómo los chatbots capturan, procesan e interpretan lo que le dice una persona. Usarán esta información para generar una respuesta.

Para que un chatbot entienda lo que se le dice, existen dos técnicas:

  • Coincidencia de patrones
  • Clasificación de intenciones

Así, ante la siguiente frase “Me gustaría volar de Madrid a Dublín, el 14 de agosto”, y teniendo en cuenta que es un chatbot de viajes:

Coincidencia de patrones:

Con la técnica de coincidencia de patrones, sería necesaria una lista de los posibles patrones de entrada, por ejemplo:

Me gustaría volar de <CIUDAD> a <CIUDAD> el <FECHA>

Este tipo de técnica, más inteligible para los humanos, tiene el problema de que tiene que construirse manualmente y de forma estática. Es decir, se tienen que ir definiendo cada una de las posibilidades que se puedan dar.

Clasificación de intenciones

En la clasificación de intenciones se utilizan técnicas como el NLP (Natural Language Processing o Procesado de Lenguaje Natural) para interpretar los mensajes del usuario y detectar su intención.

A la hora de trabajar con este tipo de técnica es importante tener claro que:

  • Los intents o “intenciones”:
    Son las piedras angulares de cualquier sistema de NLP, y sirven captar la intención implícita que hay en las frases del usuario. De esta forma, se puede relacionar lo que va diciendo con lo que el chatbot tiene que hacer. Y se corresponderían con los verbos de la frase.
  • Las entities o “entidades:
    Son los conceptos específicos de un dominio (nombre, lugar, fecha, profesión, etc.) y sirven obtener una información adicional que complementa al intent. Se corresponderían con los sustantivos de la frase.
    Normalmente pueden definirse intents y entities propias o usar las que ya vienen definidas en el sistema. La cantidad y variedad de las predefinidas dependerá de lo que haya establecido y de quién construya el sistema de NLP
  • Las actions o” acciones”:
    Serían los pasos que seguirá el chatbot, una vez se ha identificado la intención de la frase entrante. Cada intent tiene definidas sus propias acciones.
  • El “contexto de la conversación” o context:
    Se genera siempre que se inicia una conversación y sirve para ir estableciendo las circunstancias y valores que se dan en torno a la misma. De modo que una misma frase podrá gestionarse diferentes formas. Es decir, que su significado e intención podrá variar en función de las preferencias del usuario, su ubicación geográfica, el tema de la conversación o lo que se haya hablado con anterioridad en la misma.
    El subcontexto, o contexto que se generan a partir del contexto principal sirve para gestionar, de forma más concreta, la información que se crea o elimina durante la conversación. Por ejemplo, se puede usar la existencia de un subcontexto como requisito para poder usar un intent determinado.

Teniendo en cuenta este esquema, cuando un chatbot recibe una frase del usuario, buscará el intent que mejor se ajusta a la misma y teniendo en cuenta la información contenida en la misma, las entities identificadas y si hay definido un subcontexto (depende de la plataforma que se use). Tras determinar el intent se ejecutarán una serie de acciones (“actions”) para dar una respuesta al usuario.

como-entienden-chatbots

Entonces, en base a la frase anterior: “Me gustaría volar de Madrid a Dublín, el 14 de agosto”.

Un chatbot con NLP vería que habría un intent (Buscar Vuelo) y tres entities, dos de localización (Madrid y Dublín) y una de fecha (14 de agosto).  Una vez identificado el intent, se ejecutaría un proceso de búsqueda de vuelos, teniendo en cuenta la información proporcionada por las entidades.

Los chatbots y sus diferentes formas de responder

Una vez que el chatbot ha entendido lo que le dice el usuario, generará una respuesta en base al contexto de la conversación y la información que haya identificado en la misma.

Los sistemas de generación respuestas pueden ser:

  • Estáticos:
    Los más sencillos. Las respuestas construyen en base a una serie de respuestas predefinidas que son elegidas y completadas según la información proporcionada por el usuario, por ejemplo:
    Hay un vuelo a las <HORA> que sale desde <AEROPUERTO>
    Donde las variables <HORA> y <AEROPUERTO> son generadas por el chatbot, teniendo en cuenta la información proporcionada.
    La elección de la respuesta correcta se hace en base a sistemas de expresiones regulares.
  • Dinámicos:
    Similares a los anteriores pero la elección de la respuesta se hace teniendo en cuenta técnicas basadas en algoritmos de Machine Learning. Estos construyen una respuesta en base al intent detectado.
    Estos dos sistemas son los más sencillos de implementar y los menos propensos a cometer errores gramaticales. No obstante, son incapaces de manejar casuísticas para los que no han sido pensados o entrenados previamente.
  • Generativos:
    Son aquellos que generan sus propias respuestas, sin necesidad de contar con un conjunto de respuestas predefinidas. Así, permiten establecer conversaciones más parecidas a las humanas, pero con una mayor propensión a los errores gramaticales.
    Se construyen usando técnicas de Deep Learning y son más difíciles de entrenar. A veces son necesarios millones de ejemplos para obtener unos buenos resultados. Aunque aún están en fase de investigación, tienen un futuro prometedor.


    Javier Moralo, Data & AI Creative de datahack

Un comentario de “¿Cómo nos entienden los chatbots?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *