Un poco de historia de los ChatBots
Recuerdo mucho hace algunos años cuando quería realizar la siguiente pregunta en un sistema web: “Cuales son las notas del alumno Yosip Urquizo“. Por supuesto escrito en mi propio lenguaje(lenguaje natural) y que el sistema pueda interpretar esa pregunta(como lo hacen los chatbots ahora) y mostrarme los resultados.
La respuesta: ¡Era recontra difícil!
Pues necesitábamos conocimientos avanzados de Procesamiento de Lenguaje Natural(PLN) y por supuesto, grafos, redes neuronales, inteligencia artificial y demás.
Grata fue mi sorpresa al saber que ahora existen varias aplicaciones que no necesitan todo ese conocimiento, ni siquiera programar en algún lenguaje de programación. Tan solo aplicando un poco de logica, mucho entusiasmo y ganas podemos crear programas que interactuen con un humano. Eso lo conseguimos a través de los chatbots.
¿Entonces que son los ChatBots?
Es un programa(software) de inteligencia artificial creado para realizar tareas especificas(en un tema concreto) por si mismo sin contar con la ayuda del ser humano.
Por ejemplo: Listar las notas de un alumno, realizar una reserva en un restaurante, mostrar información a los usuarios en base de alguna petición en nuestro lenguaje, etc.
Una de las funcionalidades mas importantes es que se pretende reducir el tiempo invertido de las personas al usar un canal tradicional por ejemplo ir a una ventanilla de algun banco a realizar un trámite o realizar una consulta en las ventanillas de la sunat.
De esta manera la SUNAT(en Perú) por ejemplo a implementado una nueva asistente digital llamada Sofía, funciona como un chatbot durante las 24 horas del día, pero presenta funciones limitadas. Su principal tarea es proveer de ayuda a las personas naturales en temas relacionados con la quinta y cuarta categoría.
El costo del desarrollo de Sofía realizado con Watson de IBM, alcanzó los S/1,5 millones de soles. Con este “chatbot” se pretende reducir el tiempo de espera de 15 minutos, el cual se empleaba para el uso de ventanilla, a solo segundos, haciendo uso de la vía web o Facebook.
¿Porque utilizar estos chatbots en nuestras empresas?
Principalmente por la reducción de tiempo al dar respuestas a preguntas frecuentes que normalmente tendria que realizar una persona y por ende estar ocupado en tareas repetitivas que podria ser realizado por estos sistemas.
La Inteligencia Artificial en la actualidad permite a las computadoras procesar el lenguaje natular(PLN), y en el fondo conversar con las personas, de una forma que nunca antes se había visto.
¿Que herramienta usar para desarrollar un ChatBot?
En este y demás artículos me basaré específicamente en DialogFlow que es una herramienta de Google que desarrollo bots basado en web. DialogFlow parece haber descubierto la falla de dejar que los usuarios definan entidades e interacciones al ingresar múltiples expresiones y, por lo tanto, proporciona un gran conjunto de dominios. Algunos de los SDK y bibliotecas que DialogFlow proporciona para el desarrollo de bots son Android, iOS, Webkit HTML5, JavaScript, Node.js, Python, etc.
DialogFlow basa el desarrollo de los bots en los siguientes conceptos:
Agentes: los agentes corresponden a las aplicaciones. Una vez que entrenemos y probamos a un agente, podemos integrarlo con nuestra aplicación o dispositivo.
Entidades: las entidades representan conceptos que a menudo son específicos de un dominio como una forma de mapear frases PLN a frases aprobadas que capten su significado.
Intentos: los Intentos representan lo que un usuario dice(usando PLN) y qué acción debe tomar el chatbot.
Acciones: las acciones corresponden a los pasos que dará su aplicación cuando las entradas del usuario desencadenan intentos específicos.
Contextos: los contextos son cadenas que representan el contexto actual de la expresión del usuario. Esto es útil para diferenciar frases que pueden ser ambiguas y tienen un significado diferente. Claro dependiendo de lo que se habló anteriormente.
DialogFlow se puede integrar con muchas plataformas populares de mensajería y asistente virtual. Algunos de ellos son Acciones en Google, Slack, Facebook Messenger, Skype, Kik, Line, Telegram, Amazon Alexa, Twilio SMS, Twitter, etc.
En los siguientes artículos profundizaremos un poco mas sobre esta herramienta web. Te enseñaré como crear tu propio ChatBot sin necesidad de programar.
Recuerda siempre hay algo nuevo que aprender, hasta el siguiente artículo.