De acuerdo con Chatbot.org, actualmente hay 1,331 chatbots activos en el mundo. Eso es mucho para una tecnología que no existía hace dos o tres años.
- 20% están en los EE. UU., 45% están en Europa Occidental y el Reino Unido, y aproximadamente 1% están en China.
- Admiten la entrada en 31 idiomas. (Tenga en cuenta que algunas plataformas de desarrollo de chatbot admiten hasta 50 idiomas).
- Los temas de consumo más populares son: finanzas y legales, 10%, y educación, aprendizaje y búsqueda, 6%, entre 27 categorías distintas, incluido el erótico 1%.
- 96% de reconocimiento de texto de apoyo, 3% de reconocimiento de voz, 1% de reconocimiento de gestos.
No sabemos cuánto tiempo Chatbot.org podrá seguir indexando todos los chatbots, pero probablemente no por mucho tiempo dado su crecimiento explosivo. Los chatbots se están convirtiendo rápidamente en la interfaz de usuario de elección, y serán la forma dominante de comunicar nuestra necesidad de información y servicios con todo tipo de aplicaciones.
¿Qué es exactamente un Chatbot?
Para ser claros al nivel más simple, un chatbot es un servicio de software que permite a los usuarios tener una conversación en lenguaje natural en texto o voz, para devolver información o una acción.
Incluso los chatbots más simples son capaces de múltiples pasos de conversación, aunque algunas consultas pueden responderse con una sola respuesta (¿lloverá en Boston mañana?). Muchos están diseñados para tener una "conversación" estructurada o incluso no estructurada con el usuario, que busca aclaraciones adicionales y profundización para proporcionar más información o acción, sobre la información o el servicio solicitado (¿Se ha enviado mi paquete? ¿Cuándo llegará? Por favor envíeme un mensaje cuando ha sido entregado?).
En resumen, el chatbot debe proporcionar información es solo parte de su capacidad. Acciones como programar una cita o reservar un vuelo también son comunes para la categoría generalmente llamada asistentes personales.
Viendo hacia adelante
En diseño, la gran mayoría de los chatbots de hoy están impulsados por reglas y estructuras integradas por el programador. Sin embargo, la dirección del desarrollo es tener respuestas creadas a través de Inteligencia Artificial. Esto hace que los chatbots avanzados sean semi-autónomos y capaces de conversaciones largas, incluidas algunas áreas muy subjetivas como el asesoramiento psicológico (Andrew Ng anunció recientemente el lanzamiento de Woebot de Facebook, un chatbot que brinda asesoramiento psicológico individual para la depresión) o recomienda cómo para administrar mejor tu dinero.
Un poco de historia de una breve historia
Mientras que algunas personas señalarán desde chatbot Eliza a mediados de los años 60 o Clippy de MS Office97 de Microsoft, el hecho es que nuestra capacidad de procesar lenguaje natural con precisión comercialmente aceptable languideció por debajo del rango del 90% hasta 2015.
Fue en ese año que nuestro hardware y nuestro desarrollo de redes neuronales recurrentes con Grandes Memorias a Corto Plazo (Long Short Term Memory o LSTM) finalmente se rompió con una precisión del 95% al 99%. No es coincidencia que esto marque el lanzamiento de Alexa, Cortana, Siri y el Asistente de Google para nombrar solo a los más conocidos.
De acuerdo con una encuesta de más de 300 compañías que abarca desde pequeñas hasta grandes, realizadas a principios de 2017 por Mindbowser y Chatbots Journal:
- El 25% de las empresas se enteró por primera vez de los chatbots en 2015.
- El 60% de las empresas se enteró por primera vez de los chatbots en 2016.
- El 54% de los desarrolladores trabajó por primera vez en chatbots en 2016.
- 75% destinado a construir un chatbot en 2017.
Gartner cree que todavía estamos en una curva ascendente para los chatbots. Sin embargo, todos los principales proveedores de redes o redes sociales, incluidos Amazon, Google, IBM, Facebook, Microsoft, Slack, Twitter, Whatsapp, WeChat y una gran cantidad de independientes, ofrecen Kits de Desarrollo de Software (SDKs por sus siglas en inglés) fáciles de usar para desarrollar chatbots. El campo está evolucionando rápidamente tanto en términos de tecnología como de adopción. El servicio al cliente, las ventas, la mercadotecnia, el procesamiento de pedidos, las redes sociales, los pagos y la contratación son los principales objetivos con muchos más por venir.
Dos arquitecturas distintas para Chatbots
Hay dos arquitecturas distintas de chatbots que existen en la actualidad.
Chatbots de reglas: más del 90% de los chatbots existentes y la mayoría de los que se crearán en los próximos años, pertenecen a esta categoría de chatbots según las reglas programadas. Son relativamente simples y rápidos de construir, con estructuras lógicas de árbol de decisión o cascada de consultas y respuestas predefinidas. Si están bien diseñados, pueden manejar más del 95% de las consultas y deben tener un escape a un representante humano cuando fallen. La mayoría son mensajes de texto entrantes y salientes.
Chatbots de Inteligencia Artificial: estos chatbots usan motores de Aprendizaje Profundo para formular respuestas. No tienen estructuras rígidamente definidas y pueden aprender de su experiencia después de un entrenamiento inicial. Solo los chatbots en esta categoría son capaces de manejar entradas de conversación complejas y proporcionar salidas conversacionales de larga duración.
Es un poco engañoso decir que solo el segundo tipo depende de la Inteligencia Artificial (IA), ya que todos los chatbots confían en los motores de Comprensión del Lenguaje Natural (NLU) en su parte frontal, que se han desarrollado utilizando modelos de aprendizaje profundo Redes Neuronales Recurrentes (RNN)/Grandes Memorias a Corto Plazo (LSTM).
Para completar, si desea que su chatbot reciba o entregue respuestas habladas, necesitamos agregar algunos componentes. También mostraremos de dónde provienen los datos.
Si desea que su chatbot responda a la voz, deberá darle un comando de "despertar". Si solo es texto, entonces enviar el texto que se requiera para "despertar".
En los sistemas de voz, hay un componente adicional para el motor para Reconocimiento del Lenguaje Natural (Natural Language Understanding o NLU) que convierte la voz en texto y viceversa.
En los sistemas basados en reglas o basados en Inteligencia Artificial, deberá proporcionar los datos de respuesta de los sistemas internos o fuentes de datos externos, como estaciones meteorológicas.
También puede usar análisis predictivos precompilados, de la misma manera que en los sistemas de transmisión para hacer predicciones. Por ejemplo: '¿Cuántos días hay disponible el suministro de la parte X?', o por ejemplo '¿Cuándo llegará mi paquete?', o también 'No es probable que los envíos de pedidos lleguen a la fecha límite'. Por supuesto, si las respuestas son demasiado largas o detalladas como en la tercera pregunta de muestra, es mejor que construyas una página web o un tablero. Los chatbots están destinados a crear comodidad y acelerar las cosas, no a tomar el lugar de las páginas web.
Al decidir qué diseño usar, pruebe esta simple matriz de 2 X 2:
Conversaciones largas o cortas: si quiere que su chatbot pueda manejar una conversación extendida con muchas variables, entonces se debe usar el modelo generativo con Inteligencia Artificial. Un ejemplo podría ser: "¿Cuáles son todas mis opciones de vuelo (dentro de los siguientes dos o tres días) entre (Ciudad A y Ciudad B) en donde pueda obtener una clase ejecutiva? ¿Y cuál ofrece la tarifa de clase de negocios menos costosa?"
Las conversaciones cortas pueden ser comandos como "programar una reunión para xx ", o" quiero devolver esta compra", lo que puede requerir varios pasos, pero cada uno requiere probablemente solo una breve búsqueda y referencia a reglas preestablecidas.
Dominio abierto o cerrado: cuanto más estrictamente pueda restringir la base de conocimiento que debe tener el robot de chat, es más probable que pueda utilizar la arquitectura basada en reglas simples. Si el dominio es extremadamente amplio, probablemente necesitará el modelo generativo de Inteligencia Artificial.
En el siguiente artículo de esta serie, analizaremos con más detalle el papel de Natural Language Understanding (NLU) y los componentes básicos programáticos utilizados tanto en chatbots basados en reglas como en basados en Inteligencia Artificial.