Archivo del Autor: www-citupc

CHATBOTS: The challenge of talking to machines

robotIn 1966, Joseph Weizenbaum, a professor at the MIT, wrote a simple conversation program called Eliza, which simulated a Rogerian psychotherapist. Rogerian theory postulates that patients have the answers to their own doubts, fears or problems in their subconscious.
It uses the strategy of returning                                                                                                                  questions asked by patients to make
them examine their statements and help them to discover the solutions they need.

ELIZA: I am the psychotherapist. Please describe your problem.
PATIENT: I’m sad.

ELIZA: Can you explain why you are sad?
PATIENT: My cat has died.

ELIZA: Is it important to you that your cat has died?
PATIENT: Yes, a lot.

ELIZA: I understand.
PATIENT: What can I do?

ELIZA: Do you ask what you can do for any reason in particular?
PATIENT: Because I don’t want to be sad.

ELIZA: Really you don’t want to be sad?

The programme does nothing more than detect certain patterns or keywords in the patient’s phrases, and use other patterns to make them into questions. If the patient says “X”, the programme answers, “Can you explain why X?” or “Are you sure that X?” or “Do you say X for any reason?”

Using a well-prepared range of patterns, Eliza’s behaviour is quite convincing, at least for a short while. In fact, to the surprise of its creator, some of the users thought Eliza was a real psychoanalyst and became emotionally attached to it.

Eliza was the first of what are now known as chatbots. Despite the name, they are not physical robots, but programs that you can talk to through written messages.

The development of chatbots has been traditionally associated with the Loebner Prize and the Turing Test. In 1950, Alan Turing wrote a paper entitled Computing Machinery and Intelligence in the journal Mind. In it, he asked how we could know, when the time came, whether a machine was capable of thought. His proposal was a controlled experiment in which an interrogator interacts via a chat interface with a human and with a machine. The interrogator can ask whatever he/she wants to either of the two participants. If the interrogator cannot distinguish between them, then the machine is perfectly emulating human behaviour, and therefore we can conclude that it thinks (at least as much as the human taking part in the test).

In 1990, Hugh Loebner created the Loebner Prize, with an award of $100,000 for the first machine that could pass the Turing Test. The competition is held every year and nobody has won yet, although the best systems in each edition are awarded less substantial prizes.

The objective of chatbots that take part in the Loebner Prize is to pass as humans for as long as possible. To achieve this, they must be able to answer questions of all kinds convincingly, and use strategies to avoid detection (e.g. occasionally make a spelling mistake, hesitate before answering a complex mathematical problem, etc.).

What have now become widely known as chatbots have existed for decades under the name “dialog systems”. The main characteristic of dialog systems is that they are focused on a specific task (e.g. buying a plane ticket, carrying out a bank transaction), and give users a certain amount of freedom to ask what they want, if it is within expected parameters.

SYSTEM: Good morning, how can I help you?
USER: I’d like a flight to Paris.

SYSTEM: Which day do you want to fly?
USER: Tuesday next week.

SYSTEM: Where do you want to go from?
USER: From Barcelona

SYSTEM: Looking for flights from Barcelona to Paris for Tuesday 27 June…
SYSTEM: I have found 8 flights that day. What time do you need?
USER: In the afternoon.

SYSTEM: There are 4 flights in the afternoon. The first flight is at 13:30 and the last at 18:55.
USER: How much is the first one?

Current examples of dialogue systems are the assistants Siri (Apple) or Alexa (Amazon). They have some planned tasks that you can ask them to do at any time. The systems can understand what you ask them to do and do it, but you cannot have a conversation outside of the parameters for which the system is programmed.

These dialog systems have been used for some time in customer care services, and more recently as personal assistants. They require complex programming that considers which task(s) need to be resolved, which information the system needs to carry out the task(s), and which ways users may express themselves. They also require a relatively advanced level of language processing. Altogether, they are very costly and not easy to adapt from one subject domain to another.

The current excitement and renewed interest in chatbots is due to WeChat, a Chinese app like WhatsApp. This application offers its corporate users the tools required to connect their WeChat account to a program that automatically replies to clients’ messages. Three hundred million Chinese people used this technology to send their New Year greetings cards. They simply had to send a message to the card company, stating the recipient and the message that should appear. A chatbot received the message, extracted the data, sent the card and billed the sender the right amount.

Due to this success, other social networks have gone to lengths to provide interfaces for their corporate users to interact with their clients via chatbots. We can now speak to chatbots at our telephone company, electricity supplier and bank, not just on websites or over the phone, but also through instant messaging.

Despite this boom, most chatbots connected to social networks still do very simple tasks, such as sending a greeting or telling us the balance on our phone bill. Systems that can be used for a range of complex tasks, such as Siri, are still costly to develop.

The importance of chatbots goes beyond commercial uses for these kinds of developments. Advances in the study of relationships between semantics and robotics are at the centre of new applications in the field of medicine, public transport and safety. The barrier to using language as a way of communicating with machines is about to fall for good. At TALP UPC we are working in this exciting, complex area, which is full of opportunities.


Dr.Lluís Padró
Researcher at the Center for Language and Speech Technologies and Applications (TALP UPC)

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)