Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
1. ¿Qué es ELIZA? Introducción .................................................................................. 2
2. Desarrollo y funcionalidad ..................................................................................... 3
El desarrollo de ELIZA................................................................................................ 3
Las tareas fundamentales en la conversación con lenguaje natural ........................... 5
La funcionalidad del procedimiento de ELIZA ............................................................ 6
El protocolo para sustituir palabras clave .................................................................. 8
Los guiones (SCRIPTS) en ELIZA ................................................................................. 9
Ejemplo: DOCTOR ................................................................................................... 10
3. Así fue ELIZA ........................................................................................................ 12
4. El impacto de ELIZA.............................................................................................. 13
5. Los descendientes de ELIZA.................................................................................. 14
Anna: Asistente web de Ikea.es............................................................................... 14
Dr. Abuse: Psicoterapeuta....................................................................................... 16
Siri: Asistente de voz de iOS .................................................................................... 17
6. Bibliografía y recursos .......................................................................................... 22
Es una realidad que la automatización está en constante aumento, ¿pero dónde están
los límites? Esta cuestión lleva siendo sujeto de debate décadas. Una de las más recurridas
contribuciones en el debate es ELIZA, el programa de conversación o bot conversacional
pionero desarrollado de Weizenbaum en el año 1966.
Tuvo su gran papel en el debate sobre inteligencia artificial (IA) durante la década de
los 70, especialmente para demostrar que la IA tiene una capacidad y alcance mucho mayor
que el de simular inteligencia (Raggett & Bains, 1992). Sin embargo el interés en ELIZA
sobrevivía el bombo de IA. Aparece en las discusiones de identidad e interacción online
recientemente (Tukle, 1997), el futuro de la narrativa (Murray, 1997) y diseño emocional
(Norman, 2004). ELIZA no se convirtió en un clásico por su sofisticación técnica. Kurzweil
(1991), por ejemplo describí ELIZA como ‘un programa simple que no es representativo del
nivel de la técnica moderna.’ ELIZA se convirtió en atemporal porque optimizaba una sección
importante de la frontera de automatización: Interacción social con ordenadores.
El Test de Turing (1950) fue esencial para determinar si una máquina tiene capacidad
de razonar y envolver la interacción con un ordenador de tal manera que fuera capaz de
engañar realmente al usuario. El Test de Turing consiste en un desafío. Se supone un juez
situado en una habitación, una máquina en otra habitación y un ser humano en una tercera. El
juez debe descubrir cuál es el ser humano y cuál es la máquina, estándoles a los dos permitido
mentir al contestar por escrito las preguntas que el juez les hiciera. La tesis de Turing es que si
ambos jugadores eran suficientemente hábiles, el juez no podría distinguir quién era el ser
humano y quién la máquina. ELIZA es una versión limitada del Test de Turing.
ELIZA es un bot conversacional, esto es, un programa que imita el comportamiento del
ser humano a un nivel de conversación. Para conseguirlo, se dota al programa de unos
recursos que simulan el entendimiento del lenguaje natural, asociados a otra serie de recursos
de salida que consiguen la sensación en el usuario de que el sistema con el que interactúa
tiene verdadera capaz de escucharle, entenderle, razonar, y responderle, es decir, de
mantener una conversación real con el. No obstante, esa sensación no responde a una
realidad, si no tan sólo a una investigación y desarrollo que genera estas utilidades falsamente
humanas.
2. Desarrollo y funcionalidad
El desarrollo de ELIZA
ELIZA es un programa funcionando dentro del MAC Sistema de Tiempo Compartido
Compatible1 que permite la conversación mediante lenguaje natural entre humano y
ordenador. El programa analiza frases de entrada sobre la base de reglas de descomposición
que activan palabras claves a medida que van apareciendo en el texto de entrada. Genera las
respuestas mediante reglas de reensamblado asociadas con las reglas de descomposición
activadas.
1
MAC Sistema de Tiempo Compartido Compatible fue uno de los primeros sistemas operativos de
tiempo compartido; fue desarrollado en el Centro de Computación del MIT.
2
SLIP (Symmetric List Processor) una lenguaje inventado por Joseph Weizenbaum 1960 como una
extensión de FORTRAN especializado en las listas doblemente enlazada (double linked list).
[3]
Las líneas en mayúscula corresponden a las respuestas de la máquina.
Los problemas técnicos fundamentales que tiene ELIZA son las siguientes:
1 Descomponer una cadena de datos conforme a este criterio. Por tanto, para
comprobar la cadena si satisface el criterio o no.
2 Para reensamblar una cadena descompuesta conforme a la especificación ensamblada
exacta.
3
La palabra ‘transformación’ está usado en su sentido genérico dado de Harris y
Chomsky in los contextos lingüísticos.
donde sólo entienden la segunda y cuarta parte. Entonces, la regla de reensamblaje sería
‘WHAT MAKES YOU THINK I HATE YOU?’. Así, desechamos la primera componente y
traducimos las dos palabras conocidas (‘YOU’ a ‘I’ y ‘ME’ a ‘YOU’).
(0 YOU 0 ME)
y la regla de reensamblaje
(0 YOU 1 ME)
ELIZA intenta otras reglas de descomposición hasta que podamos encontrar un acierto
o se reporte un fracaso total. Por lo tanto, necesitamos un mecanismo para delimitar el
conjunto de las reglas de descomposición que son aplicables a la frase de entrada. Este
mecanismo consiste en el uso de palabras clave. La frase de entrada se escanea de la izquierda
a la derecha.
La regla de descomposición (0 YOU 0) asociada con la palabra clave ‘YOU’ debería ser la última.
El nivel superior de esta estructura contiene la palabra clave, seguida de los nombres
de las listas (Ilustración 2). Cada una es una lista con la regla de descomposición, seguida de la
regla de reensamblaje. Las listas de este tipo no tienen limitaciones dimensionales
predeterminadas, por lo que cualquier número de reglas de descomposición se puede asociar
con una palabra clave dada, y cualquier número de reglas de reensamblaje con cualquier regla
de descomposición.
(YOURSELF = MYSELF)
Ni ‘YOURSELF’ ni ‘MYSELF’ son palabras clave del guión que está seleccionado.
Supongamos una frase de entrada ‘I KNOW EVERYBODY LAUGH AT ME.’ El guión pone una
etiqueta (tag) a la palabra ‘I’, y a la palabra ‘EVERYBODY’ como una palabra clave. La respuesta
típica sería ‘YOU SAY YOU KNOW EVERYBODY LAUGHED AT YOU.’ Pero el mensaje importante
en la frase de entrada empieza con la palabra ‘EVERYBODY’. Normalmente, si una persona
habla en términos universales como ‘EVERYBODY’, ‘ALWAYS’ y ‘NOBODY’, se refiere en un
evento o persona específica. Poniendo el rango más alto a ‘EVERYBODY’ que ‘I’, produce la
respuesta ‘WHO IN PARTICULAR ARE YOU THINKING OF’. El mecanismo empleado de
clasificación consiste en que el rango de cada palabra clave encontrado (si no hay rango, es
igual 0) se compara con el rango de la palabra clave con el rango más alto. Si el rango de la
palabra nueva es más alto que el rango de cualquier palabra encontrado previamente, el
puntero cambia a la parte superior de la lista, o pila de clave. Al final, la pila de clave tendrá un
puntero asociado con la palabra clave que tenga el rango más alto. Hay que tener en cuenta
que los punteros restantes en la pila no están ordenados con respecto a los rangos de las
palabras, pero están casi bien ordenados. En la ilustración 3, se muestra un diagrama de flujo
simplificado de la detección de palabras clave.
Por supuesto, el rango de una palabra clave tiene que estar asociado con la palabra
clave. Por lo tanto, es ésta la tiene que aparecer en la lista de palabra clave.
4
La palabra es una cadena finita de bits que son manejados como un conjunto por la máquina.
de lista. Si no es posible, creamos una lista vacía con su nombre situada en clave(i), y la
estructura de la lista de claves queda situada en esta lista. Si clave(i) ya contiene una nombre
de lista, el nombre de la estructura de la lista de claves queda situada en el fondo de la lista,
nombrado en clave(i). El diccionario más grande atentado contiene 50 palabras clave. Ninguna
lista está nombrada en ninguna de las palabras del vector clave que contiene más que dos
estructuras de lista clave.
Aleatorizamos todas las palabras del texto de entrada escaneado durante las
operaciones de ELIZA. El algoritmo de aleatorización es el mismo que aplicamos a las palabras
clave antes. Por lo tanto, producimos un entero que apunta a la única estructura de lista que
potencialmente puede contener la palabra como una palabra clave. Entonces, sólo
necesitamos comprobar las partes superiores de las estructuras de lista de claves para
determinar si la palabra clave ha sido encontrada o no.
La ventaja que ofrecen la variedad de operaciones que permite SLIP sobre listas reside
en que la identificación de la palabra clave devuelve un puntero a la lista de reglas de
descomposición asociada con la palabra clave identificada. Esta estrategia permite que se
necesite menos tiempo para descubrir si una palabra dada no está en el diccionario de
palabras clave. Sin embargo, la localización de una palabra clave ofrece punteros a toda
información asociada con esta palabra.
Ejemplo: DOCTOR
El guion más popular usado en ELIZA era DOCTOR, que fue pensado como una parodia
de psicoterapeuta rogeriano. Por lo tanto, DOCTOR emplea preguntas como las de los
terapeutas de los años 60, en la línea de lo conocido como ‘Terapia centrada en el cliente’,
donde los terapeutas vuelven frecuentemente a las preguntas de las pacientes para aumentar
el grado de empatía. En esta terapia se emplean preguntas como ‘WHAT IS YOUR FAVORITE
COLOR?’. Se puede hacer que el humano se familiarice con respuestas como ‘WHY DO YOU
ASK?’ en un escenario como ése. Sin embargo, en este tipo de situaciones no es necesario que
el sistema entiende las preguntas, y las plantillas de respuesta están limitadas.
Por tanto, Weizenbaum quería crear algo suficiente sencillo y que no requiriese conocimiento
sobre el mundo real, eludiendo el tema del procesamiento de lenguaje natural y todos los
tipos de semántica. DOCTOR contiene muchos datos de las declaraciones que el humano ha
dado para componer respuestas usando plantillas simples, que parezcan declaraciones de una
terapia estereotípica. Por lo tanto, DOCTOR aún no intenta responder a las preguntas del
paciente de la forma tradicional, pero sigue un patrón if-else usando una plantilla específica
para un disparador específico.
START
(PLEASE GO ON)
ELIZA simulaba ser un psicólogo que mantenía una conversación de texto con su
paciente. Pretendía simular concretamente ser un psicólogo rogeriano, esto es, un psicólogo
que emplea la filosofía del psicoanalista Carl Rogers, que consiste en utilizar la empatía para
hacer que el paciente se sienta escuchado y querido. ELIZA se trataba de un programa
desarrollado originalmente en lenguaje SLIP que, aunque podía parecer tremendamente
sofisticado, en realidad empleaba unos trucos bien sencillos. Era capaz de hacer pensar al
interlocutor humano que realmente entendía lo que se le decía y que mantenía una verdadera
conversación con el usuario. Sin embargo, ELIZA solo tenía tres sencillas estrategias para
aparentar mantener una conversación.
ELIZA disponía de una base de datos de palabras clave con una serie de respuestas a
ellas. Estas palabras clave eran palabras importantes referentes a amor, dinero, salud,
etcétera, es decir, palabras concretas, habituales y con un significado muy claro que marcaba
de manera prácticamente inequívoca el tema que se estaba tocando.
4. El impacto de ELIZA
Pese a que hoy en día ELIZA no resulta nada espectacular, es fácilmente entendible el
enorme impacto que tuvo en su época al resultar curioso, asombroso y casi mágico. Levantó
un fuerte fanatismo que sorprendió incluso a su propio creador, Joseph Weizenbaum. Gente
no técnica, que no entendía la mecánica y los algoritmos sobre los que se basaba ELIZA,
resultaron maravillados al ver como una máquina era capaz de charlar con ellos, escucharlos,
entenderlos y contestarlos a todo lo que le decían. Se convirtió así en el confesor de secretos y
detalles íntimos de múltiples usuarios que encontraban en ELIZA su psicólogo particular.
Fue tal el fanatismo que, como cuenta Joseph Weizenbaum en su obra, incluso su
propia secretaria confiaba más en ELIZA que en él. Ante este fenómeno, el propio
Weizenbaum comenzó a ver su creación con otros ojos, descubriendo que los fanáticos de
ELIZA creían que la máquina realmente les escuchaba, les entendía y charlaba con ellos,
negándose a creer que todo era una ilusión incluso aunque el propio creador así lo dijera.
Todo esto, junto al hecho de que incluso los psicólogos quisieran incluir ELIZA como
una herramienta para sus pacientes, llevó a Weizenbaum a convertirse en un fuerte critico de
su propio invento y de la incorporación de la inteligencia artificial a las maquinas, alertando de
los problemas éticos que podría acarrear y al impacto emocional que podría producir sobre los
seres humanos el uso de técnicas de inteligencia artificial.
Pese a todo, el nacimiento de Eliza supuso el inicio del procesamiento del lenguaje
natural, lo que ha derivado en múltiples funcionalidades, que, en conjunto con otras técnicas,
están revolucionando el mercado.
ELIZA fue una primera aproximación al procesamiento del lenguaje natural. Esta
corriente ha desembocado en múltiples implementaciones y enfoques. Podemos encontrar
tanto asistentes que sigan nuestras órdenes o contestan a nuestras dudas, hasta bots con los
que interactuar como si de personas se tratase. Las implementaciones del sistema son muy
dispares y con un diferente grado de completitud y precisión, que nos lleva desde, por
ejemplo, una poco razonable Anna informándonos desde la web de Ikea de sus productos y
servicios, hasta una mas que eficiente Siri abriendo las posibilidades del iOS de Apple a golpe
de voz, pasando por Doctor Abuse y sus dotes de psicoterapeuta.
Precisamente, estos ejemplos nombrados van a ser en los que nos adentremos para
ver una pequeña muestra de los usos que se dan a este tipo de herramientas en la actualidad.
Si bien Anna sabe que no conoce a nuestro profesor (a no ser que sea contratado por
Ikea…), le cuesta más darnos información útil a una pregunta tan sencilla y familiar en este
ámbito como si venden alfombras:
Como podemos observar, la respuesta es un largo texto que en poco parece a una
respuesta útil y relacionada con la pregunta realizada. Pero, ¿y si cambiamos la forma de
plantearle la pregunta? Pues, por suerte, hemos conseguido información mas útil a la obtenida
previamente:
Tan solo modificando el verbo de la pregunta, obtenemos una respuesta mas útil,
pudiendo con esta nueva respuesta ver las categorías de alfombras de las que disponen,
colores, etcétera.
Haciendo un juicio sobre la experiencia, resulta muy chocante que, en una tienda on-
line, cuando preguntas “¿Vendes alfombras?”, una pregunta muy concreta y muy habitual en
este entorno, en lugar de obtener la respuesta útil obtenida con la pregunta “¿Tienes
alfombras?” o de llevarte automáticamente a la sección de alfombras del sitio web, muestre
un texto que no ayuda nada. Además, es igualmente chocante que tan solo cambiando el
verbo entre “vendes” y “tienes”, con un significado de fondo bastante similar en el entorno de
las tiendas, la respuesta sea tan dispar. Este tipo de detalles deberían ser pulidos y corregidos
en la implementación del asistente, para realmente poder ofrecer un servicio de atención y
soporte útil y no un quebradero de cabeza que no acabe de responder como se desea y lleve al
usuario a hacer sus búsquedas y comprobaciones a la vieja usanza después de haber perdido el
tiempo con Anna.
Además, también a través de el se puede acceder a una pagina web para navegar por
esta, u ordenar el envío de un correo electrónico facilitando la dirección de e-mail. Incluso, es
posible ejecutar ciertos programas instalados en el equipo de entre una lista de programas
reconocidos, entre los que se incluyen Word, Calculadora de Windows, WinZip o Buscaminas.
Con la pulsación sostenida de un único botón, Siri toma el control del dispositivo,
esperando nuestras órdenes. Un cuidado sistema de reconocimiento de voz transcribe
nuestras palabras y comienza la conversación. Cabe decir que Siri se apoya en bases de datos
online, que están en constante expansión y mejora gracias a la interacción con miles de
usuarios. Vamos a ver que nos puede contar Siri de Eliza:
Parece que la conoce muy bien. Curiosidades aparte, vamos a ver como responde a
nuestras ordenes. Por ejemplo, vamos a pedirla que nos indique donde esta la Universidad de
Burgos:
Una vez ubicada nuestra petición, nos da la posibilidad de guiarnos hasta allí mediante
su GPS. Una clara muestra de la integración de varias corrientes y disciplinas hasta llegar a una
herramienta sencilla, completa y rápida. La geolocalización, el reconocimiento de voz y el
procesamiento del lenguaje natural nos permiten saber la ubicación de cualquier lugar del
mundo con facilidad.
Nos pregunta por un asunto y el cuerpo del mensaje. De viva voz, podemos redactar el
correo completo:
Como ultimo paso, nos muestra el mensaje y nos solicita confirmación para el envío.
Con un único botón, hemos conseguido redactar un correo y enviarlo a un destinatario. Y no
solo eso, Siri dispone además de “memoria”, lo que hace que si cometemos un error, no
tengamos que iniciar la secuencia de ordenes desde el inicio. Si nos hubiéramos equivocado de
destinatario, solo deberíamos haberle indicado, en cualquier momento, este hecho, y ella nos
habría dado la posibilidad de subsanarlo sin tener que reiniciar la interacción con Siri.
Estas son solos dos de un amplio abanico de posibilidades abiertas, que están en
constante evolución y expansión, aliandose y conjugandose tambien con nuevas corrientes y
utilidades extendidas entre el publico como las redes sociales.
6. Bibliografía y recursos