chatbot IA

El otro día escuchaba una conversación en la cafetería del AVE donde un hombre trajeado le preguntaba a otro: “Pero, ¿qué tiene que ver la Inteligencia Artificial con mi negocio?”. Su interlocutor, también trajeado, pero con menos canas, le respondía: “Porque la Inteligencia Artificial es como el kétchup, ¡se lo echas a todo!”.

El comentario es una latinificación de la expresión americana “AI is the new building block”. Y es que es cierto, las tecnologías de Inteligencia Artificial lo están cambiando todo de manera disruptiva. Las noticias asaltan los medios: curas para enfermedades, prevención de crímenes, lucha anti-terrorista… y robots, muchos robots que nos quitarán la faena (que no el trabajo se insiste) del día a día.

Uno de esos máximos exponentes en boca de todos son los chatbots. El concepto es una evolución del Asistente Virtual (ese mayordomo fallido de la década pasada) que resurge con la Inteligencia Artificial para darnos un servicio más eficiente ala Siri.

La etimología de la palabra ya nos descubre el secreto: un “chat” “bot” es un robot con el cual podemos conversar. Al contrario de los Asistentes Virtuales, donde el objetivo era claramente ayudarnos en tareas cotidianas, los chatbots pretenden sustituir la interacción con las personas de una manera más amplia. Las nuevas tecnologías permiten un diálogo más fluido y natural, pero la diferencia principal (la IA) está en la cocina. Veamos con detalle los ingredientes.

El precursor: los Asistentes Virtuales

En el origen había los llamados Asistentes Virtuales (aún hoy en día puedes mantener una conversación con Irene en la web de Renfe). El Asistente Virtual era una imagen más amable del buscador. Con el auge de Google y otras plataformas similares en Internet el usuario quería una cajita simple donde escribir taquigráficamente sus deseos para que el buscador los adivinara al instante entregando el resultado esperado.

Los Asistentes nacen así, como una manera inteligente de engañar al usuario para que dejase de utilizar el lenguaje “indio” y construyese frases más ricas que facilitasen el trabajo de la tecnología y asegurasen una mejor calidad de los resultados.

Los asistentes aunaban una nueva interfaz para el usuario que invitaba a detallar las necesidades y las funciones más avanzadas de los modernos buscadores tales como la lematización (la capacidad para analizar la raíz de la palabra y no la palabra en sí), stopwords (palabras que deben ser ignoradas por no aportar información relevante), colocaciones (palabras que aparecen naturalmente juntas y deben considerarse casi como una expresión hecha) y otros trucos lingüísticos inteligentes.


LEMATIZACIÓN: El sistema lee el texto y guarda referencia al lema canónico. De esa manera se pueden mejorar los resultados al aproximarlos independientemente de la forma flexionada que se utilice. Ejemplo: Formas flexionada: alegre, alegrado, alegrases… Lema canónico: alegrar.

COLOCACIONES: El sistema trata de manera agregada las palabras que estadísticamente aparecen juntas en un texto de manera superior a la habitual, confiriendo un peso específico al conjunto de resultados y aumentando la precisión al buscar la expresión completa. Ejemplos: incumplimiento de contrato, alcanzar un acuerdo, tomar decisiones, cometer errores, ….

LISTADOS: bien sean listas negras (palabras que deben excluirse del análisis por no aportar valor (“de”, “que”, “la”, “y”, etc.) O bien sean diccionarios de sinónimos que enriquecen los posibles resultados, los listados son de uso común en los buscadores para asegurar la exclusión o inclusión de resultados en el análisis de las fuentes de información.


Los motores tradicionales de búsqueda han seguido evolucionando hasta hoy en día con resultados espectaculares. Existen excelentes productos open-source basados en un núcleo común (Lucene). Es el caso de Elasticsearch o Apache Solr.

La gran calidad y versatilidad de estas tecnologías ha acabado “matando” el sector privado y muchos consideran el declive definitivo cuando Google anunció en 2017 que dejaría de distribuir su Google Search Appliance, uno de los principales motores de búsqueda de pago con más de un centenar de instalaciones solo en España en su momento de más auge.

La era moderna: el procesamiento del lenguaje natural

Los asistentes virtuales fracasan porque fracasa el enfoque. El Asistente Virtual no aporta nada realmente sobre los buscadores tradicionales y las mejoras introducidos en estos motores hacen que los AV rápidamente vayan desapareciendo y siendo sustituidos por soluciones más potentes.

Sin embargo, no todo ha sido en balde. La experiencia con los Asistentes potencia el desarrollo de interfaces más dirigidas con mejores resultados. Es el caso de los sistemas de pregunta-respuesta (las FAQ por sus siglas en inglés) donde se espera que el usuario encuentre soporte de manera autónoma a preguntas relacionadas con sus necesidades utilizando el lenguaje natural. La semántica necesaria para el procesamiento de estas preguntas es más eficiente al focalizarse en un dominio más restringido (solo preguntas acerca de nuestros productos y/o servicios) y una tecnología claramente superior (los sistemas de procesamiento del lenguaje natural o NLP en inglés). Hoy en día no es extraño encontrarlos en la mayoría de las webs de servicio al cliente.

¿Cómo funcional la NLP detrás de un sistema de FAQ? Los sistemas de FAQ más simples se basan en el concepto de reformulación: ¿de cuantas formas posibles podemos preguntar lo mismo? La estadística nos dice que en castellano nos “basta” con un número entre 7 y 17 formas.

Vamos a entenderlo con un ejemplo concreto. Imaginemos que tenemos 5 productos de seguro de hogar y queremos desplegar un sistema de preguntas frecuentes (¿Cuánto cuesta?, ¿requisitos de contratación?, ¿coberturas básicas?, etc.). Una visión conservadora establecería unas 200 preguntas posibles por parte de nuestros clientes. Nuestro trabajo será establecer al menos unas 2.000 variantes para que nuestro sistema de FAQ produzca unos resultados aceptables de cara al usuario.

¿Y cómo podemos conocer esas variantes? Algunas resultarán obvias, pero aquí no hay más secreto que escuchar a nuestros usuarios cuando preguntan para establecer las reformulaciones.

Los sistemas de FAQ trabajan a hombros de las experiencias anteriores y arrastran muchos de sus trucos (lematización, sinonimia, colocaciones, etc.) y de sus inconvenientes (listados de palabras, aproximaciones porcentuales, etc.). Han desarrollado grandes capacidades analíticas (para incorporar rápidamente nuevas variantes) y son bastante robustas en entornos multi-idiomáticos (la traducción automática no da malos resultados).

Entendiendo que las dificultades de mantenimiento y las carencias de precisión son un mal con el que convivir, la mayoría de los propietarios de estos sistemas estaba satisfecho con sus soluciones de FAQ. Hasta que llegó el kétchup.

El presente: ¡larga vida al chatbot!

¿Dónde estamos ahora? El gran cambio real ha sido el acceso que han tenido las GAFAM (Google, Apple, Facebook, Amazon, Microsoft) a los datos de millones de usuarios. Estas compañías, a cambio de servicios semi gratuitos han conseguido disponer de un laboratorio de pruebas en los cuales obtener grandes volúmenes de información de conversaciones reales y aplicarla a la mejora de las tecnologías del procesamiento del lenguaje. Hemos conseguido un modelo básico de interpretación del lenguaje conocido Intención-Entidad.

El modelo Intención-Entidad hace precisamente eso, identifica en las frases habladas o escritas las acciones (intenciones) y sobre que objetos (entidades) se aplican. Yo quiero:

  • Llamar a un número de teléfono
  • Escuchar una música
  • Comprar un producto
  • Contratar un servicio

Con una precisión abrumadoramente alta, los sistemas diseñados por estos fabricantes son capaces de identificar estas tuplas en expresiones de lenguaje natural. ¡Y en múltiples idiomas!

Parece algo sencillo y conceptualmente lo es. Eso es parte de su encanto. Es muy sencillo diseñar los patrones de respuesta para ejemplos como los anteriores puesto que apenas hay diálogo. Los chatbots en general son robots que acatan órdenes simples de los humanos de manera tremendamente eficientes. Pero, ¿dónde está la Inteligencia (Artificial)? Los sistemas más básicos del NLP (si, ¡esa tecnología de la década pasada!) son capaces de obrar tal maravilla, entonces, ¿por qué hay tanta diferencia de calidad con los chatbots? La respuesta está en la riqueza del lenguaje.

Si yo quiero “cursar una baja” seguramente no sabremos qué hacer si carecemos de contexto. Hay que resolver la ambigüedad y en eso los humanos somos increíbles. Sabré fácilmente si quiero cursar una baja laboral o una baja de mi contrato simplemente observando el entorno y contextualizando. Para un ordenador no es tan simple. No tiene cámaras, ni GPS, ni memoria a corto, medio y largo plazo. Todo ese “hardware” de los humanos nos ayuda a contextualizar y desambiguar el día a día. El algoritmo del chatbot se apoya en el aprendizaje y la experiencia para predecir (o más bien adivinar) el contexto de nuestras cuestiones. Ya sea porque se lo he enseñado o porque lo aprende a través de nuestra conversación o en general por modelos de comportamiento.

Arquitectura del Chatbot

El futuro: la nouvelle cousine

Los chatbots se están demostrando tremendamente útiles en tareas de poco valor añadido como la domótica o la interacción en general con nuestros dispositivos inteligentes (teléfonos, televisores, altavoces, coches, etc). A medida que la tecnología se extiende, llega al gran consumo y vemos ya como los operadores de telecomunicaciones o la banca los incorporan rápidamente en sus servicios de atención al cliente. Sin embargo, estamos muy lejos de ver el potencial real de la aplicación de la tecnología de Inteligencia Artificial. Los modelos de desambiguación son cada día más precisos e inteligentes (“Llama a mamá”, “Recuérdame que compre pan al llegar a casa”, etc.). La Inteligencia Artificial está también ayudando a la creación de respuestas cada vez más naturales, minimizando los esfuerzos de puesta en marcha de sistemas de “auto-servicio”.

Google Duplex fue presentado por Sundar Pichai en Mayo de este año. El CEO de Google enseñó como la Inteligencia Artificial podía simular el comportamiento humano de manera natural en una conversación. Duplex funcionó como un asistente, llamando a una peluquería y a un restaurante para hacer reservas en nombre de un tercero. Las conversaciones en la demo eran de ida y vuelta, con preguntas complejas y respuestas precisas e, incluso, con muletillas del lenguaje.  Algunos dudan de la veracidad de las grabaciones. Aun así, saber que Google lo considera como un objetivo alcanzable a corto plazo es impresionante.

La I.A. está sufriendo también su propia revolución y aunque se ha aupado en los últimos tiempos gracias a la gran cantidad de datos disponibles y los modelos matemático-predictivos del machine learning, la nueva I.A. cognitiva está llegando con capacidad para simular el razonamiento humano. Más allá de aplicar un patrón estadístico, la I.A. cognitiva puede tomar decisiones complejas basadas en contexto y huir del patrón actual de demanda de acciones para llegar a un proceso de decisión en árbol, donde la complejidad requiere de un tratamiento más fino y donde la máquina en vez de servir puede guiar y participar activamente en la conversación ayudando de forma más valiosa al humano.

No dejo de pensar en que dirán esa pareja del tren en unos años, me gustaría volver a encontrármelos para ver que analogías descubren para este futuro que está llegando.

by Alberto Robles, CEO de Expert System Iberia