Definir el concepto de Inteligencia Artificial es algo bastante complejo y en muchos aspectos todas las máquinas que realizan labores anteriormente desarrolladas por humanos guardan una obvia similitud a nuestros procesos cognitivos. Para comenzar a entender todo el proceso previo a la respuesta de un Chatbot, podemos resumir que la I.A se trata de un agente que reacciona de manera lógica y racional de acuerdo al ambiente en el que se encuentra.

Intención en la comunicación

En una conversación real e informal, toda la información que entregamos tiene el objetivo de obtener una respuesta por parte del receptor: existe una intención comunicativa.

Si contextualizamos el análisis de un mensaje entregado a una máquina (Morfo Sintáctico, Lexo-Semántico, Pragmático-Contextual y Fonoaudiológico como sería Siri o Google Assistant) toda la intención comunicativa tendría el objetivo de procesar la información entregada por un usuario (humano) en función de facilitar una respuesta satisfactoria en códigos que el usuario pueda entender, sea texto, audio, etc.

Volvamos al pasado y recordemos un poco los «Factores de la Comunicación» donde teníamos un emisor, receptor, canal, código, mensaje y un contexto ¿Se cumplen estos conceptos en las máquinas con las que interactuamos a diario? Para entenderlo mejor, llevemos todos estos conceptos a la vida real:

organismos vivos vs bots

Un automóvil posee sensores que le permiten identificar objetos próximos antes de una colisión ¿Los seres humanos poseen algo similar? ¡Yup! los llamamos «sentidos» los cuales serían nuestros sensores biológicos, mediante los cuales percibimos información (ruido, colores, aromas, etc) para luego ser procesados de manera cognitiva y posteriormente identificados como lo que son.

Asimismo, las máquinas al igual que los humanos son capaces de aprender, proceso conocido como «Machine Learning» el cual puede dividirse en 3 tipos:

  • Aprendizaje Supervisado (Entrenar a la máquina mediante información)
  • Aprendizaje no Supervisado (Comprenden y abstraen patrones de información de manera autónoma)
  • Aprendizaje por Refuerzo (La máquina aprende y mejora mediante ensayos de prueba y error)

Con todo esto no queremos decir que una máquina sea igual a un humano, en lo absoluto, sin embargo está más que clara la inspiración en el proceso de reconocimiento de datos.

¿Cómo se aplica todo esto en mi Chatbot?

Con las definiciones anteriores, podemos entender a un Chatbot como un «Agente Conversacional» el cual tiene procesos similares a los de una persona en cuanto a la percepción de datos en un ambiente determinado y podemos desglosarlos en 3 grandes partes: Proveedor, Integrador y Facilitador.
esquema proceso chatbot

Proveedor (P): En definitiva, como hablamos de un Chatbot, correspondería a la interface gráfica en la que vamos a hablar, desde Facebook Messenger hasta Whatsapp, Twitter, etc.

Integrador ( I ): Existen integradores que pueden facilitarte la vida como Watson (de IBM), DialogFlow (Google), Wit.Ai (Facebook). Luis.Ai (Microsoft), Charfuel, Amazon lex, entre tantos otros. En definitiva, éste es el lugar donde ocurre todo el proceso de NLP, NLG y NLU + ML (Machine Learning) como se ve en el esquema. Podemos definir estos últimos de la siguiente manera.

 

  • NLP (Natural Language Processing): El procesamiento del lenguaje natural es el proceso en el cual el Bot es capaz de recibir la información y descomponer los códigos de lenguaje proporcionados por el usuario.

 

  • NLU (Natural Language Understanding): Es aquí donde se logra entender el mensaje y por consiguiente identificar la intención del usuario.

 

  • NLG (Natural Language Generation): Tenemos la información entregada por el usuario en un lenguaje natural y ya identificamos su intención ¿Qué sigue? Generar una respuesta convirtiendo una serie de datos estructurados en texto, audio, etc.

 

Facilitador (F): Se puede definir como un servidor, donde es el Integrador en este caso quien decide si necesita de su ayuda o no dependiendo de los requerimientos y funciones para las que lo entrenamos.

Cabe recalcar que hay 3 modelos a seguir para crear un Chatbot:

Proveedor-Integrador

Proveedor-Integrador-Facilitador

Proveedor-Facilitador-Integrador

 

Ej: Si tu Chatbot tiene la misión de dar soporte a clientes o responder preguntas frecuentes, puedes seguir el modelo Proveedor-Integrador, pero si tu empresa vende zapatillas y los usuarios preguntan por cierto modelo y talla específica de calzado, probablemente debas seguir el modelo Proveedor-Integrador-Facilitador puesto que luego de entender la intención del usuario, el agente debe decidir si utilizar el facilitador para dar una respuesta (conectarse a una API/ base de datos para ver stock de zapatillas, sus tallas, etc.)

Por cierto, no es necesario que utilices uno de los Integradores mencionados. Si eres el afortunado dueño de un Banco, probablemente no quieres que nadie más tenga los datos de tus clientes y sus transacciones por razones de seguridad, siendo así, debes crear tu propio integrador desde cero utilizando un lenguaje de programación como Python con su Kit NLP o incluso Nodejs y alguno de sus módulos NLP.

Como ves, integrar un Chatbot puede llegar a ser muy complejo o muy simple dependiendo de los requerimientos que tú mismo le impongas ¿Quieres incorporar un Agente Conversacional en tus proyectos y no sabes cómo empezar? Te invitamos al taller de Chatbots que impartimos en nuestra Academia, revisamos todos los conceptos básicos de manera práctica en 1 día.