Archivo por meses: noviembre 2017

CHATBOTS: El reto de conversar con las máquinas

robotEn 1966, Joseph Weizenbaum, profesor del MIT, escribió un sencillo programa de conversación llamado Eliza que simulaba ser un psicoterapeuta de la escuela Rogeriana. Esta teoría postula que el paciente tiene en su inconsciente las respuestas a sus propias dudas, miedos o problemas, y usa la                                                                                                                    estrategia de devolver las preguntas al paciente para hacerle cuestionar sus afirmaciones y ayudarle descubrir las soluciones que necesita.

ELIZA: Soy el psicoterapeuta. Por favor, describa su problema
PACIENTE: Estoy triste.

ELIZA: ¿Me puede explicar qué le hace estar triste?
PACIENTE: Se ha muerto mi gato.

ELIZA: ¿Es importante para usted que se haya muerto su gato?
PACIENTE: Sí, mucho.

ELIZA: Lo entiendo.
PACIENTE: ¿Qué puedo hacer?

ELIZA: ¿Pregunta qué puede hacer por alguna razón en particular?
PACIENTE: Porque no quiero estar triste.

ELIZA: ¿Realmente no quiere estar triste?

El programa no hace más que detectar ciertos patrones o palabras clave en las frases del paciente, y usar otros patrones para convertirlos en preguntas. Si el paciente dice «X», el programa contesta «¿Me puede explicar porque X?» o «¿Seguro que X?», o «Dice X por alguna razón?».

Con una variedad de patrones bastante elaborada, el comportamiento de Eliza es bastante convincente, al menos durante un rato. De hecho, para sorpresa de su creador, algunos de los usuarios tomaban Eliza por un psicoanalista real y establecían vínculos emocionales.

Eliza fue el primero de lo que hoy se llaman chatbot. A pesar de su nombre, no son robots físicos, sino programas con los que se puede conversar a través de mensajes escritos.

El desarrollo de chatbots ha sido tradicionalmente ligado con el premio Loebner y el test de Turing. En 1950, Alan Turing escribió en la revisa Mind, un artículo titulado Computing Machinery and Intelligence, donde se preguntaba cómo podremos saber -llegado el momento- si una máquina es capaz de pensar. Su propuesta fue un experimento controlado en el que un examinador interactúa vía una interfaz de chat con un humano y con una máquina. El examinador puede hacer la pregunta que quiera a cualquiera de los dos. Si el examinador no es capaz de distinguirlos, significa que la máquina emula perfectamente el comportamiento humano y, por tanto, se puede concluir que piensa (al menos, tanto como el humano participante en la prueba).

En 1990, Hugh Loebner impulsó la creación del Premio Loebner, dotado con 100.000$ para la primera máquina capaz de superar el test de Turing. Cada año se convoca el concurso, y hasta ahora, nadie ha ganado el premio (aunque los mejores sistemas en cada edición obtienen también premios, aunque menos sustanciosos).

El objetivo de los chatbots que participan en los premios Loebner es hacerse pasar por humanos tanto tiempo como sea posible. Por tanto, no sólo tienen la capacidad de responder convincentemente a preguntas de cualquier tipo, sino que también incorporan estrategias para evitar ser descubiertos como máquinas (por ejemplo, cometer ocasionalmente algún error ortotipográfico, no dar la respuesta de forma inmediata si se les pide que hagan alguna operación aritmética compleja, etc.)

Es importante remarcar que lo que hoy se populariza como chatbot ha existido durante décadas con el nombre de sistemas de diálogo. La característica básica de los sistemas de diálogo es que están orientados a una tarea concreta (por ejemplo, comprar un billete de avión, o hacer una gestión bancaria), y que dan cierta libertad al usuario para pedir que quiere, siempre que se mantenga dentro de lo previsto.

SISTEMA: Buenos días, ¿en qué puedo ayudarle?
USUARIO: Quiero un vuelo para ir a París

SISTEMA: ¿Qué día quiere ir?
USUARIO: El martes de la semana que viene.

SISTEMA: ¿Desde dónde quiere ir?
USUARIO: Desde Barcelona

SISTEMA: Buscando vuelos Barcelona-Paris para el martes 27 de Junio …
SISTEMA: He encontrado 8 vuelos este día. ¿A qué hora lo necesita?
USUARIO: Por la tarde.

SISTEMA: Hay 4 vuelos por la tarde. El primer vuelo es a las 13.30 y el último a las 18:55.
USUARIO: ¿Qué precio tiene el primero?

Ejemplos actuales de sistemas de diálogo son los asistentes Siri (Apple) o Alexa (Amazon): tienen previstas unas tareas que se les pueden pedir en cualquier momento, y son capaces de entender lo que se les pide y ejecutarlo, pero no se puede tener una conversación fuera de los parámetros para los que está programada.

Estos sistemas de diálogo se usan desde hace tiempo en servicios de atención al cliente -y más recientemente en asistentes personales- y requieren una programación compleja que tenga en cuenta cuál es la tarea o tareas a resolver, qué información necesita obtener el sistema para realizarla, y de qué maneras puede expresar el usuario. También requieren un grado relativamente avanzado de procesamiento del lenguaje, y todo ello los hace muy costosos, y poco adaptables de un dominio temático a otro.

El actual ebullición y renovado interés por los chatbots es debe a WeChat, una app china similar a WhatsApp. Esta aplicación ofrece a sus usuarios corporativos las herramientas necesarias para que una empresa pueda conectar su cuenta de WeChat a un programa que responda automáticamente los mensajes de sus clientes. Con esta tecnología, 300 millones de chinos enviaron tarjetas de felicitación de año nuevo. Simplemente había que enviar un mensaje a la empresa que envía las tarjetas diciendo quién es el destinatario de la felicitación y qué texto queremos que aparezca. Un chatbot recibe el mensaje, extrae los datos, envía la felicitación, y factura lo necesario al remitente.

A raíz de este éxito, otras redes sociales se han apresurado a proporcionar interfaces para posibilitar que sus usuarios corporativos interactúen con sus clientes a través de chatbots, por lo que ya podemos hablar con chatbots de nuestra compañía telefónica, eléctrica, o nuestro banco, no sólo a través de la página web o el teléfono sino también a través de la mensajería instantánea.

A pesar de este boom, la mayoría de chatbot conectados a las redes sociales hacen aún tareas muy simples (enviar una felicitación, o decirnos el saldo del teléfono). Los sistemas que permiten realizar tareas variadas y complejas como Siri siguen siendo costosos de desarrollar.

La importancia de los chatbot va más allá de los usos comerciales de este tipo de desarrollos. Y los avances en el estudio de las relaciones entre la semántica y la robótica están en el centro de nuevas aplicaciones en el campo de la medicina, el transporte de masas y la seguridad. La barrera del lenguaje como elemento relacional con las máquinas está a punto de caer definitivamente. Y en esta labor, apasionante, compleja y llena de posibilidades, estamos trabajando.

Dr.Lluís Padró
Investigador del Centro de Tecnologías y Aplicaciones del Lenguaje y del Habla (TALP UPC)