Saltar al contenido
Home » Blog » Procesamiento de lenguaje natural en los chatbots

Procesamiento de lenguaje natural en los chatbots

Chatbots Nlp
Chatbots NLP

Cuando pensamos en chatbots es muy probable que nos venga a la mente la idea de inteligencia artificial y aunque estos no son los únicos chatbots que existen, sí son los más famosos. Estos agentes virtuales que nos hacen más sencilla la vida pueden clasificarse en dos: los que utilizan Natural Language Processing (NLP) y los que no la utilizan. Ambas clases  tienen su razón de ser  y muchas veces aunque pueda seducirnos la idea de emplear uno de estos bots con IA es muy probable nos venga mejor uno sin ella.

Un chatbot sin NLP o basado en flujos guiados a través de sus botones, preguntas cerradas y búsquedas de palabras clave puede realizar transacciones dependiendo del caso de uso de manera más rápida y efectiva. Uno con NLP al permitir interacciones sin límite de entrada, al carecer de sistema de diálogo guiado y sin un cierre de conversación claramente definido, puede caer en un atolladero, algo que sería fácilmente solucionable con un simple botón de un chatbot sin NLP.

¿Qué es NLP?

Es el procesamiento natural del lenguaje a través del cual se busca que las máquinas entiendan lo que un ser humano quiere decir o Natural Language Understanding  y también incluye la generación de una respuesta acorde, es decir se busca que un ser humano entienda lo que la máquina comunica o Natural Language Generation. Los trabajos en esta área de la informática y la lingüística buscan romper la barrera que existe entre el lenguaje de máquina y el lenguaje natural.

chatbots NLP
Procesamiento del lenguaje natural e inteligencia artificial

¿Cómo ha evolucionado nuestra forma de comunicarnos con las máquinas?

Los lenguajes de programación han evolucionado, ya no tenemos que perforar tarjetas como en la máquina del telar de Jacquard de principios del siglo XIX. Llegamos en 1950 a los primeros lenguajes de programación modernos, entre ellos FORTRAN desarrollado por John Backus en IBM y así hasta llegar hasta lenguajes como Python que son legibles por cualquier persona con conocimientos básicos de programación.

Cada vez es más sencillo comunicarse con el ordenador, el salto en el campo de la informática ha llegado a influir nuestro día a día, ahora incluso podemos hablar con Alexa, Siri, Google Assistant, Bixby y Cortana.  Estos asistentes nos permiten realizar tareas a través de comandos de voz, podemos hacer preguntas como: ¿Qué tiempo hará mañana? 

A través de altavoces inteligentes en nuestro hogar podemos interactuar con algunos de estos asistentes para que enciendan la luz, pongan nuestra canción favorita o enciendan el aire acondicionado.

Chatbot NLP Inteligencia Artifical
Natural Language Processing

¿Puede pensar una máquina?

En 1950 Turing plantea está pregunta y propone el de test de Turing, un examen en dónde se evalúa la capacidad de la máquina  de exhibir un comportamiento similar e indistinguible de un humano. La conversación sería a través de un teclado y un monitor. Un humano evaluaría la conversación en lenguaje natural entre la máquina y otro humano. La máquina debía estar diseñada para generar respuestas parecidas al humano, solo el evaluador sabría que hay una máquina participando. Sí el evaluador no era capaz de distinguir cuál de los participantes es una máquina, esta habría pasado la prueba.

Esta prueba fue vencida por primera vez el 7 de junio de 2014 por Eugene Goostman, una IA creada por un equipo ruso. Eugene logró convencer al 33% de los jueces de que era un joven de 13 años nacido en Ucrania.

¿Existe un IA que pueda escribir por ti?

Pues sí, uno de los artículos publicados por The Guardian fue escrito por una IA.  La misión que se le asignó a la máquina era convencer a los lectores que ella y sus iguales no planeaban destruir a la raza humana. La IA utilizada para la misión era un modelo predictivo GPT-3, su algoritmo podía escribir textos imitando la forma de escribir del autor, el modelo se baso en buscar la probabilidades de que unas palabras determinadas pueden aparecer en ciertas posiciones. Este modelo predictivo emplea deep learning.

¿Qué es Deep Learning?

Podríamos pensar en este aprendizaje profundo como una vertiente de machine learning que es entrenada con Big Data, término que describe el gran volumen de datos que se manejan en los negocios hoy en día, se configuran unos parámetros básicos relativos a los datos y se entrena a la máquina para que consiga patrones a través de procesos que simulan una red neuronal biológica o procesamiento por capas.

¿Cuáles son mejores los chatbots sin NLP o los NLP?

Ninguno es mejor que el otro, todo depende del objetivo que queramos conseguir. Por ejemplo: si lo que queremos es facilitar al usuario pagar un servicio o cambiar el número de cuenta asociada de manera rápida, nos vendría mejor utilizar un chatbot de flujos guiados, este nos ofrecería a través de menús con botones las distintas opciones para pagar y hacer modificaciones sobre su información.

Si lo que queremos es analizar y estructurar datos, nos referimos a la información que se suele encontrar en la mayoría de las grandes bases de datos, es allí dónde podemos pensar en chatbots con NLP.

Chatbots NLP

Respuestas mediante keywords en el chatbot gracias al NLP

Los chatbots con IA más famosos son: Watson de IBM, DialogFlow de Google y Luis de Microsoft.

Todos ellos son plataformas en la nube que entienden el lenguaje natural, pueden analizar distintos tipos de entrada, ya sean audios o textos y responder a los usuarios usando una voz sintética o con textos.

En estas aplicaciones se utiliza un sistema de diálogo para comunicarse con el usuario, ya sea escrito o hablado. 

Se interpreta lo que quiere el usuario a través del NLU o Natural Language Understanding que utiliza la jerarquización del modelo de clasificación:

  1. Esta jerarquización se realiza a través del análisis del dominio o temas incluidos en la interacción. Por ejemplo: en nuestro caso de uso de seguros si el usuario introduce la palabra horario, watson sabe que se refiere al horario de atención al cliente de la aseguradora.
  2. Luego se determina la intención del usuario comparándola con los casos introducidos a través de los algoritmos de machine learning. Por ejemplo: podemos introducir en Watson cinco formas en que un usuario puede realizar la consulta:
    • ¿A qué hora abren?
    • ¿Cuál es su horario?
    • ¿Cuándo puedo acercarme a sus oficinas?
    • ¿Cuál es su horario de atención al cliente?
    • ¿En qué horario trabajan?
  3. Se extraen las palabras claves que son necesarias para realizar la consulta o acción. En nuestro ejemplo: horario, hora, cuándo.
  4. Se verifica que no haya ambigüedad en el contexto de las entidades.

Por último se genera la respuesta al usuario a través de un diseño narrativo creado por NLG o Natural Language Generation.

¿Cómo podemos integrar una NLP?

Integrar estas IA a nuestro Botmaker es muy sencillo, en el caso de DialogFlow basta con agregarla como un agente del que puede ser nuestro servicio de atención al cliente.

Así como se entrena a un agente humano, también se entrena a un chatbot, machine learning,  por lo que debemos definir cuáles son las interacciones esperadas y las mejores respuestas a cada caso. El algoritmo utiliza estas interacciones para entender la intención del usuario real, comparando cada turno de la conversación con el caso que mejor se ajuste a lo que ha aprendido.

Incluyendo a Watson

En nuestro chatbot para una aseguradora queremos que si el usuario escribe la palabra clave “horario” en una de las interacciones, el chatbot sea capaz de responder enviando el horario de atención al cliente. 

Chatbot NLP
Botmaker integrando a Watson

En el sitio web de IBM para Watson basta con definir la palabra clave y al menos cinco formas distintas en que el usuario pueda solicitarlo en su interacción con la IA.

Luego incluimos la palabra clave en nuestro Botmaker, haciendo una caja con la acción Carrousel y colocamos la palabra como un botón. Así de simple es incluir un IA a nuestro Botmaker.

Botmaker integrando Watson

Consideraciones para elegir tus chatbots NLP

A continuación presentaremos una tabla comparativa entre DialogFlow, Watson y Luis. Dependiendo del peso que tenga para una organización cada una de estas características les beneficiará más utilizar un chatbot NLP específico.

NLUMachine learningCanalesEscalabilidadPrecio
Watson de IBMMuy bueno reconociendo entidades e intencionesMuy buenoFacebook Messenger
Slack, SMS con Twilio, WhatsApp, Alexa, Intercom y en chats de sitios web personalizados
ExcepcionalPromedio
Dialogflow-es de GoogleMuy bueno
reconociendo entidades e intenciones
Muy buenoFacebook Messenger, Workplace de Facebook, al Asistente de Google, LINE, Slack, Telegram, Kik, Skype, Spark (Cisco Webex), Mensajes de IP de Twilio, Mensajería de texto de Twilio, Twitter, Viber y adaptar a chats de sitios web personalizadosMuy buenaMuy bueno
Luis de Microsoft AzureExcepcional reconociendo entidades e intencionesMuy buenoFacebook Messenger, Workplace de Facebook, LINE, Slack, Telegram, Kik, Skype, Twilio, WeChat, Alexa, Microsoft Teams, Outlook, Search
correo electrónico, telefonía y adaptar a chats de sitios web personalizados
ExcepcionalMuy bueno
Tabla comparativa entre los distintos chatbots NLP

Sectores en que los chatbots NLP ha causado mayor impacto

  • Bancario: Los algoritmos de predicción de riesgos integrados a los chatbots están haciendo la vida más fácil a los bancos a la hora de otorgar créditos.
  • Seguros: En la gestión de siniestros para analizar las reclamaciones de seguros. Para detectar fraudes, a través de técnicas de aprendizaje de machine learning y análisis predictivos.
  • Sanitario: Para el desarrollo de medicamentos, la toma de decisiones sobre tratamientos, mejorar la atención al paciente, decisiones operativas y financieras.  Watson Health se especializa en este sector.
  • Informático: En los algoritmos que nos ayudan a traducir como el de Google Translator y los que utilizan los motores de búsqueda. Google está usando hoy en día Smith un algoritmo de NLP más potente para reemplazar a Bert.

¿Necesitamos chatbots NLP?

  • ¿Manejamos mucha información?
  • ¿Necesitamos estructurar y analizar información?
  • ¿Queremos convertir la información de formatos legibles por máquinas a lenguaje natural para hacer reportes o por algún propósito formativo?
  • ¿Tenemos que responder a consultas de texto libre que requieren el análisis de múltiples fuentes?
  • ¿Queremos reconocer caracteres en imágenes, como por ejemplo pdf o imágenes escaneadas de reportes, para convertirlas a texto?
  • ¿Necesitamos poder convertir notas de voz a textos?
  • ¿Vamos a traducir un texto o nota de voz?
  • ¿Nos hace falta identificar el tono en el que está escrito un texto?

¿Contestamos afirmativamente a algunas de estas preguntas?

Si es así nos beneficiaríamos de un IA chatbot como Watson de IBM o DialogFlow de Google.

Para saber cómo te puede beneficiar aplicar chatbots a tu estrategia contáctanos a través de nuestra página, nuestros especialistas te asesorarán.

Si quieres aprender más sobre chatbots  y machine learning sigue el enlace.

Quieres ver un chatbot en acción te invitamos a interactuar con Imbot ¿Lo llamamos?

Descubre nuestro último post en el blog 👉 Tendencias tecnológicas en 2024 🎉