¿Cómo aprenden las máquinas a hablar como los humanos?
David Griol Barres, Universidad de Granada y Zoraida Callejas Carrión, Universidad de Granada
Hasta hace poco tiempo, pensar que una máquina podría entender lo que decimos y dirigirse a nosotros en nuestro idioma era prácticamente una fantasía de ciencia ficción. Sin embargo, actualmente estamos cada vez más habituados a interactuar con sistemas capaces de procesar nuestra voz y comprender el lenguaje natural.
Los avances que están permitiendo este progreso se deben a la gran capacidad de cómputo y la disponibilidad de ingentes cantidades de datos que permiten mejorar todos los procesos asociados al diálogo en lenguaje natural.
Por otra parte, la digitalización y globalización de los servicios informáticos no solo está haciendo que haya más recursos disponibles, también aumenta la complejidad de estos sistemas. Ante esta situación, es necesario simplificar su funcionamiento para permitir al usuario hacer consultas con sus propias palabras, ajeno a la complejidad que subyace a las respuestas que obtiene. Este es el objetivo de los sistemas conversacionales.
Tecnologías que se comunican como humanos
Los sistemas conversacionales se clasifican según la complejidad de las consultas que resuelven, cómo las resuelven, si se puede interactuar con ellos en modo texto o a través de la voz, si disponen de una imagen personificada o no, etc.
Existen múltiples términos para referirse a esta tecnología. Algunos ejemplos son sistemas de diálogo, chatbots, agentes conversacionales, interfaces orales de usuario o sistemas de respuesta oral interactiva. Todas estas herramientas reproducen los procesos que seguimos los seres humanos para comunicarnos entre nosotros.
Valga una adaptación de una cita de Alejandro Jodorowsky para explicar la complejidad que conlleva intentar emular las comunicaciones entre los seres humanos:
“Entre lo que pienso, lo que quiero decir, lo que creo decir, lo que digo, lo que quieres oír, lo que oyes, lo que crees entender y lo que entiendes, existen nueve posibilidades de no entenderse”.
La complejidad de la voz y del lenguaje
En primer lugar, estos sistemas deben ser capaces de reconocer la secuencia de palabras pronunciadas por el usuario (reconocimiento automático del habla). Este primer reto supone trabajar con una fuente de información tan compleja como es la voz y el lenguaje natural.
Cada persona pronunciamos los sonidos de forma diferente. La voz es una característica que diferencia a una persona de otras, aunque una misma persona puede pronunciar de diferente manera según su estado de ánimo o si está resfriada.
Además, los sonidos de los fonemas se ven afectado por fonemas cercanos, existen dialectos de un mismo idioma y palabras dentro de cada idioma que suenan de forma muy similar o son homófonas (por ejemplo, ay y hay).
Más allá de la tecnología (por ejemplo, la calidad de los micrófonos), para los sistemas de reconocimiento automático del habla influye el ruido ambiente, que haya varias personas hablando a la vez, que se mencionen palabras no esperadas, frases gramaticalmente incorrectas, etc.
¿Entienden el significado de las palabras?
El siguiente paso tiene como objetivo extraer el significado de la frase (comprensión del lenguaje natural). Esto supone enfrentarse a la ambigüedad léxica y estructural del lenguaje natural: es posible transmitir un mismo significado utilizando diferentes palabras y expresiones.
Para lograr esta meta, los sistemas de diálogo hacen un cambio en el lenguaje de representación: traducen el lenguaje natural a un lenguaje semántico procesable por la máquina. Mantienen el significado del mensaje, extraen los conceptos importantes en la frase y descartan el resto de información que no tenga interés para el sistema.
En esta fase, un sistema conversacional debe resolver otros problemas además de la ambigüedad. Suelen ser intuitivos para un ser humano, pero difíciles de resolver en la comunicación con una máquina: la elipsis, la anáfora, interjecciones, sonidos que no se corresponden con palabras pero tienen significado (como ajá), la ironía, los chistes, las metáforas, pausas, dudas, falsos comienzos, repeticiones de palabras, autocorrecciones, los dejes del habla, etc.
Cómo elaboran la respuesta
A continuación, el sistema debe realizar las acciones necesarias para responder a la consulta que se le ha realizado (por ejemplo, es posible que tenga que consultar fuentes de información externas) y decidir qué acción o acciones realizar (gestión de diálogo).
El principal problema en esta fase es la necesidad de considerar múltiples fuentes de información a la hora de decidir cuál va a ser la respuesta. La herramienta debe tener en cuenta el conjunto de datos aportados durante el diálogo, la fiabilidad que haya anotado para cada uno de estos datos, los resultados de las consultas a las fuentes de información, las restricciones y normativas específicas que deba seguir el sistema, la información adicional sobre los usuarios que deba considerarse, etc.
Este proceso se ha llevado a cabo durante muchos años definiendo reglas. Más recientemente, está ganando popularidad el diseño de estrategias de diálogo que utilizan modelos estadísticos entrenados con conversaciones reales.
¿Cómo consiguen contestarnos?
Seguidamente, el sistema conversacional debe generar frases en lenguaje natural que informen correctamente sobre la acción decidida (generación de lenguaje natural).
Es importante transmitir mensajes que sean claros, optimicen el texto empleando expresiones referenciales y nexos, y adapten el vocabulario y la complejidad de las estructuras sintácticas a la destreza lingüística del usuario.
Finalmente, los sintetizadores de texto a voz transforman el texto en una señal acústica para que el dispositivo pueda interactuar con nosotros a través de voz sintetizada. Estamos acostumbrados a escuchar a los asistentes para móviles (Siri, Google Assistant, Amazon Alexa, Cortana, etc.), o mensajes sintetizados en medios de transporte y estaciones.
Mejoras en la comunicación de las máquinas
Cada vez se aplican técnicas estadísticas más avanzadas para el desarrollo de estos procesos y se dispone de grandes cantidades de datos (big data). Esto ha motivado un interés creciente en el uso de estos sistemas en un amplio abanico de aplicaciones: proporcionar información y responder a preguntas frecuentes, interactuar con dispositivos móviles, sistemas de atención en el ámbito médico o del turismo, teleeducación, sistemas que faciliten el acceso a la información a personas con discapacidades, control domótico, interacción con robots y dispositivos ponibles (wearables), etc.
Estas mejoras han posibilitado, además, que las máquinas sean capaces de sintetizar y reconocer nuestras emociones (analizando nuestras palabras y cómo las pronunciamos), que podamos interactuar con ellas de forma multimodal utilizando varios canales (la voz, la pantalla del móvil, nuestros gestos, etc.), que sean capaces de reconocer y traducir entre varios idiomas y que puedan respondernos a consultas cada vez más complejas.
Más de 50 años de inteligencia artificial nos han hecho replantearnos el concepto de inteligencia. Como indicó Moravec en su famosa paradoja, los problemas aparentemente más difíciles intelectualmente, como hacer cálculos complejos, el pensamiento simbólico o jugar al ajedrez han resultado ser los más sencillos de abordar de forma artificial.
Por el contrario, aquellas tareas que hacemos aparentemente sin esfuerzo, como prestar atención, conversar y mostrar empatía suponen el reto de la verdadera inteligencia para las máquinas. El superordenador Deep Blue pudo dar jaque mate a Kasparov, pero aún no sabría contarnos lo que esa derrota supuso.
Este artículo ha sido escrito en colaboración con David Pérez Fernández , al que queremos también agradecer su trabajo en el Plan de Impulso de las Tecnologías del Lenguaje para dar a conocer el potencial científico y de innovación de España en el campo de las Tecnologías del Lenguaje.