Está en la página 1de 23

David Miguel de la Fuente

Jorge Alonso Márquez


Tell Müller Pettenpohl

Procesadores del Lenguaje


2ªGII – Curso 2012/2013
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 1
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

1. ¿Qué es ELIZA? Introducción

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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 2
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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.

(Ilustración 1: El MAC CTS Sistema en MIT)

El programa ELIZA está desarrollado en


el sistema MAC Sistema de Tiempo Compartido
Compatible - CTSS (Compatible Time-Sharing
System) en MIT. El lenguaje de programación
usado fue MAD-SLIP2 [2] para operar en la
máquina IBM 7094.

El sistema MAC permite operar en una


máquina remota. Por lo tanto cada operador
tiene la ilusión que él es el único usuario en el
sistema MAC, mientras en realidad otros están
compartiendo tiempo de computación en este sistema con el. En la interacción entre operador
y sistema, cada usuario puede leer los mensajes recibidos desde la máquina y es capaz de
escribir y enviar mensajes a dicha máquina. Son factores a tener en cuenta que la duración
entre recepción del mensaje y respuesta del ordenador depende de la función del control de
programa de diálogo, número de parámetros y número de usuarios conectado con el sistema.

Normalmente en la conversación con ELIZA el usuario escribe algunas frases en


lenguaje natural. Después ELIZA analiza las palabras que componen la frase y envía una
respuesta al usuario. Este es un ejemplo de conversación típica:

Men are all alike. Todos los hombres son iguales


IN WHAT WAY? ¿DE QUÉ MANERA?
They're always bugging us about something Siempre hay alguien metiéndose con algo o
or other. con otro.
CAN YOU THINK OF A SPECIFIC EXAMPLE? ¿PUEDES PENSAR UN EJEMPLO ESPECÍFICO?

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).

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 3
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

Well, my boyfriend made me come here. Bueno, mi novio me ha hecho venir.


YOUR BOYFRIEND MADE YOU COME HERE TU NOVIO TE HA HECHO VENIR.
He says I'm depressed much of the time. El dice que estoy deprimida la mayoría del
tiempo.
I AM SORRY TO HEAR YOU ARE DEPRESSED SIENTO ESCUCHAR QUE ESTAS DEPRIMIDA
It's true. I am unhappy Es cierto. Soy infeliz.
DO YOU THINK COMING HERE WILL HELP ¿CREES QUE VENIR AQUÍ TE AYUDARA A
YOU NOT TO BE UNHAPPY DEJAR DE SER INFELIZ?
I need some help, that much seems certain. Necesito ayuda, eso me parece cierto.
WHAT WOULD IT MEAN TO YOU IF YOU QUE SIGNIFICARIA PARA TI RECIBIR AYUDA
GOT SOME HELP
Perhaps I could learn to get along with my Quizás podría aprender a llevarme bien con
mother. mi madre.
TELL ME MORE ABOUT YOUR FAMILY CUENTAME MAS SOBRE TU FAMILIA
My mother takes care of me. Mi madre me cuida
WHO ELSE IN YOUR FAMILY TAKES CARE OF QUIEN MAS TE CUIDA EN TU FAMILIA
YOU
My father. Mi padre
YOUR FATHER TU PADRE
You are like my father in some ways. Tu eres como mi padre en cierta manera
WHAT RESEMBLANCE DO YOU SEE QUE PARECIDO VES
You are not very aggressive but I think you No eres muy agresivo pero creo que no
don't want me to notice that. quieres que lo note
WHAT MAKES YOU THINK I AM NOT VERY QUE TE HACE CREER QUE NO SOY AGRESIVO
AGGRESSIVE
You don't argue with me. No discutes conmigo
WHY DO YOU THINK I DON'T ARGUE WITH PORQUE CREES QUE NO DISCUTO CONTIGO
YOU
You are afraid of me. Tienes miedo de mi
DOES IT PLEASE YOU TO BELIEVE I AM ME AGRADAS CREYENDO QUE TENGO MIEDO
AFRAID OF YOU DE TI
My father is afraid of everybody. Mi padre tiene miedo de todo el mundo
WHAT ELSE COMES TO YOUR MIND WHEN QUE MAS TE VIENE A LA MENTE CUANDO
YOU THINK OF YOUR FATHER PIENSAS EN TU PADRE
Bullies. Abusos
DOES THAT HAVE ANYTHING TO DO WITH ESO NO TIENE NINGUNA RELACION CON QUE
THE FACT THAT YOUR BOYFRIEND MADE TU NOVIO TE HAYA HECHO VENIR AQUI
YOU COME HERE

[3]
Las líneas en mayúscula corresponden a las respuestas de la máquina.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 4
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

El procedimiento que sigue el programa es leer e inspeccionar el texto en busca de


palabras clave. Si una palabra clave es encontrada, transforma la frase en relación a una regla
asociada con dicha palabra clave. En caso de no encontrar una palabra clave que encaje con
una regla, el programa devuelve una transformación del texto analizado.

Las tareas fundamentales en la conversación con lenguaje natural

El procedimiento mencionado antes es en realidad considerablemente más complejo.


Por ejemplo, las palabras clave tienen un rango y el procedimiento que se sigue los tiene en
cuenta y abandona por una palabra clave del texto del usuario que tiene un rango más alto.
Además reconoce las comas y puntos como delimitadores.
Las palabras clave y sus reglas de transformación3 constituyen el guion (SCRIPT) para una clase
de conversación particular.

Los problemas técnicos fundamentales que tiene ELIZA son las siguientes:

1 La identificación de la palabra clave ‘más importante‘ en el mensaje de entrada.


2 La identificación de algún contexto mínimo donde aparece la palabra clave
seleccionado. Por ejemplo si la palabra clave es ‘YOU’, y sigue con la palabra ‘ARE’.
3 La selección de una regla de transformación apropiada y la realización de la
transformación.
4 La generación de los mecanismos que permiten ELIZA a responder ‘inteligentemente’
cuando el texto de entrada no contiene las palabras clave.
5 La generación de la máquina que facilite editar, particularmente la extensión, del
guion en el nivel de escritura del guion.

La cuestión central es claramente la manipulación de texto, y en el corazón de esta


cuestión está el concepto de la regla de transformación que está asociada con esta palabra
clave. Los mecanismos comprendidos bajo el nombre ‘regla de transformación’ son un número
de funciones de SLIP que se encargan de:

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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 5
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

Consideremos la frase ‘I AM VERY UNHAPPY THESE DAYS’. Supongamos un extranjero


con un conocimiento limitado de inglés, sólo entiende las primeras dos palabras: ‘I AM’. Él
responderá ‘HOW LONG HAVE YOU BEEN VERY UNHAPPY?’, donde lo que hace es aplicar un
tipo de plantilla a la frase original. Empareja las palabras ‘I AM’ y el recordatorio aislado ‘VERY
UNHAPPY THESE DAYS’. También necesitamos un equipo de reensamblaje específico asociado
con esta plantilla. Como cualquier frase de la forma ‘I AM BLAH’, se puede transformar a ‘HOW
LONG YOU HAVE BEEN BLAH’, independientemente del significado de BLAH. Otro ejemplo es la
frase ‘IT SEEMS THAT YOU HATE ME’. Aquí, el extranjero sólo entenderá las palabras ‘YOU’ y
‘ME’; esto es, aplicará una plantilla descomponiendo la frase en cuatro partes:

(1) IT SEEMS THAT (2) YOU (3) HATE (4) ME

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’).

La notación formal que representa la plantilla de descomposición es:

(0 YOU 0 ME)

y la regla de reensamblaje

(WHAT MAKES YOU THINK I 3 YOU).

El ‘0’ en la regla de descomposición significa ‘un número indefinido de palabras’


(análogo al símbolo de dólar indefinido del COMIT). Por su parte, el ‘3’ en la regla de
reensamblaje apunta a la tercera componente del sujeto de descomposición insertado. La
regla de descomposición

(0 YOU 1 ME)

también funciona en este ejemplo específico.

La funcionalidad del procedimiento de ELIZA


Consideramos la frase de entrada ‘IT SEEMS THAT YOU HATE’, que no cumple con la
regla de descomposición (0 YOU 0 ME) porque no se puede encontrar la palabra ‘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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 6
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

La regla de descomposición (0 YOU 0) asociada con la palabra clave ‘YOU’ debería ser la última.

Los dos problemas que aparecen son:

1 Que ninguna de las palabras estén representadas en el diccionario de palabras clave.


2 ‘Asociar’ las reglas de descomposición y reensamblaje con las palabras clave.

Resolvemos los problemas mencionadas por la combinación de la palabra clave y la


regla asociada en una lista. El formato básico de la lista de palabras clave es la siguiente:

(K ((D1) (R1,1) (R1,2) ··· (R1,m1))


((D2) (R2,1) (R2,2) ··· (R2,m2))
. .
. .
. .
((Dn) (Rn,1) (Rn,2) ··· (Rn,mn)))
[3]

donde K es la palabra clave, D la i-ésima regla de descomposición asociado con K y Ri,j la j-


ésima regla de reensamblaje, que está asociado con la i-ésima regla de descomposición.

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.

Ilustración 2: Palabra clave y estructura de lista de reglas [3]

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 7
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

El protocolo para sustituir palabras clave


Consideramos la primera conversación mostrada, donde ELIZA ha de cambiar los
pronombres, de forma que se pasa de la primera persona a la segunda persona en el texto de
entrada. Estos cambios son parte del protocolo que requiere transformaciones específicas
para palabras específicas, independientemente del contexto. Supongamos que ocurren más
transformaciones que son sustituciones mínimas no condicionales. Además, se pueden realizar
por la tomografía de texto las sustituciones no condicionales de palabras solas por otras
palabras solas. Para facilitar la realización de deseada, cualquier palabra en el diccionario de
claves, por ejemplo en el nivel superior de la estructura de lista de claves, se encuentra
seguida de una palabra que es su sustitución. Sin embargo, una palabra puede estar sustituida
para una palabra clave y ser una palabra clave en el mismo momento. Un ejemplo de una
sustitución sencilla es:

(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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 8
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

Ilustración 3: Diagrama flujo básico de la detección de palabras clave [3]

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.

Los guiones (SCRIPTS) en ELIZA


Un guión de ELIZA contiene mayormente un conjunto de estructuras de lista. Además
el guión no es parte del programa ELIZA propiamente dicho sino datos a los que recurre. Por lo
tanto ELIZA no está restringido a un conjunto de patrones de reconocimiento en particular. Es
decir los guiones pueden tratar inglés, alemán o cualquier otro idioma porque son
independiente del programa.

Después de interpretar un guión en el programa hasta ahora vacío, somos capaz de


construir el actual diccionario de palabras clave. La componente base del diccionario de
palabras clave es un vector clave de 128 palabras4 de ordenador. La palabra clave K en la parte
superior de la estructura de lista clave es aleatorizado (hashed) de un procedimiento que crea
un entero de 7 bits i. La palabra ‘always’, por ejemplo, produce el entero 14. Clave(i), siendo
ésta la i-ésima palabra del vector clave, examina para determinar si lo que contiene un nombre

4
La palabra es una cadena finita de bits que son manejados como un conjunto por la máquina.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 9
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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.

Aquí se puede considerar una parte pequeña del guion DOCTOR:

(HOW DO YOU DO. PLEASE TELL ME YOUR PROBLEM)

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 10
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

START

(SORRY ((0) (PLEASE DON’T APOLOGIZE)

(NONE ((0) (I AM NOT SURE I UNDERSTAND YOU FULLY)

(PLEASE GO ON)

(WHAT DOES THAT SUGGEST TO YOU)

Considerando el guión DOCTOR, se puede ver la frase inicial de la conversación


‘PLEASE TELL ME YOUR PROBLEM’, que exige respuestas del usuario para obtener palabras
clave. Luego se ven algunos ejemplos del tipo ‘I AM NOT SURE I UNDERSTAND YOU FULLY’ para
casos en los que ELIZA no encuentre ninguna palabra clave. Además, el guion contiene todas
las respuestas típicas para proceder una conversación de lenguaje natural entre paciente y
DOCTOR.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 11
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

3. Así fue ELIZA

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.

Si las palabras introducidas no eran reconocidas por el programa, este respondía


siguiendo dos estrategias alternativas: bien respondía con frases comodín, peregrinas y
ambiguas como por ejemplo “Muy interesante” o “Sígueme contando”; o bien utilizaba frases
envolventes, esto es repetía la frase introducida por el interlocutor humano envolviéndola
entre coletillas, como por ejemplo respondiendo a la frase “Estoy triste” con “Usted ha dicho
‘estoy triste’, ¿Por qué?”.

Pese a que ha sido precursor de múltiples programas replica, programados con


estrategias similares al pionero, y de “agentes inteligentes” que podemos encontrar en
internet, ELIZA no era un sistema con inteligencia artificial propiamente dicho, ya que en
realidad no razonaba, no analizaba el texto en su conjunto ni tenía la opción de aprender a lo
largo de los usos.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 12
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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.

Además, varias personas acusaron a Weizenbaum de espiar los secretos de la gente,


alegando que el programa, por su diseño, permitía leer a posteriori las conversaciones que
habían tenido lugar con la máquina.

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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 13
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

5. Los descendientes de ELIZA

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.

Anna: Asistente web de Ikea.es


Anna es una asistente virtual en la web de Ikea (www.ikea.es) a la que podemos
consultar vía texto lo que queramos saber respecto a la famosa red de tiendas de muebles y
decoración.

Esta sonriente asistente resulta ser demasiado poco comprensiva: a menudo no


entiende lo que le preguntamos y nos solicita repetírselo, o incluso nos lleva a secciones de la
web que, bien son demasiado generales para considerar la ayuda de Anna como útil y rápida, o
bien no tienen que ver nada con lo solicitado. Observemos los siguientes ejemplos:

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 14
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 15
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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.

Dr. Abuse: Psicoterapeuta


Dr. Abuse es un conocido doctor, primo hermano de Eliza. No obstante, expande las
posibilidades y usos de Eliza, saliendo de la simple charla.

Si bien guarda muchas similitudes con Eliza en cuanto a su capacidad conversacional,


Dr. Abuse ofrece al usuario, aparte de sus dotes de psicoterapeuta, sigue ciertas ordenes. De
esta manera, Dr. Abuse puede ejecutar operaciones matematicas.

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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 16
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

Siri: Asistente de voz de iOS


Si bien la experiencia sobre teclado con Anna no ha sido nada satisfactoria, la que
hemos vivido con Siri a viva voz resulta un claro ejemplo de las posibilidades que abrió ELIZA
décadas atrás elevadas a la enésima potencia.

En Siri encontramos un completo asistente de voz, que da acceso a las funcionalidades


de los dispositivos de Apple al completo.

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:

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 17
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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:

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 18
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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.

Vamos a mandar un correo. Nos pregunta el destinatario, pudiendo darle un nombre,


una dirección o un numero de teléfono, Siri se encargará de discernir que es lo que le estamos
facilitando:

No solo ha entendido la dirección de correo, sino que se ha dado cuenta de que ya


aparecía entre nuestros contactos y nos indica el nombre del destinatario:

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 19
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 20
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

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.

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 21
Programa ELIZA Procesadores del Lenguaje – 2ª GII Curso 2012/13

6. Bibliografía y recursos

1 Peter Norvig, «Artificial Intelligence Programming: case studies in Common Lisp»,


Morgan Kaufmann, 1992 (681.31NORpar), 151-167.
2 Joseph Weizenbaum, «Symmetric list processor». Comm. ACM 6, 1963 MIT, 524-544.
3 Joseph Weizenbaum, «Computational Linguistics - ELIZA -- A Computer Program For
the Study of Natural Language Communication Between Man and Machine». Comm.
ACM, 9(1), 1966 MIT, 36-45.
ELIZA A Computer Program For the Study of Natural Language …
4 Hans Pruijt, Social Interaction With Computers : An Interpretation of
Weizenbaum's ELIZA and Her Heritage, Social Science Computer Review, 2006,
516-522
Social Interaction With Computers An Interpretation of ...
5 Brian Harvey, Computer Science Logo Style volume 2: «Advanced Techniques 2/e
Copyright (C)», 1997 MIT - Example: Doctor, 147-156.
http://www.cs.berkeley.edu/~bh/v2ch9/doctor.html
6 Anupam Guha, ELIZA Doctor Program - «Introduction Working a sample. 2012 UM,
1-3.
ELIZA/DOCTOR PROGRAM Introduction Working A sample …
7 Joseph Weizenbaum's classic 1966 Eliza program ported to SciTE
http://lua-users.org/wiki/SciteElizaClassic
8 Letralia – Articulo sobre Eliza
http://www.letralia.com/40/ar01-040.htm
9 Naukas.com: Las maquinas que aprendieron a pensar
http://naukas.com/2011/12/06/las-maquinas-que-aprendieron-a-pensar/
10 Ikea.es : Anna, asistenta virtual
http://www.Ikea.es
11 Wikipedia: Dr. Abuse
http://es.wikipedia.org/wiki/Dr._Abuse#Enviar_correo_electr.C3.B3nico

David Miguel de la Fuente > ¿Pagina?


Tell Müller Pettenpohl
Jorge Alonso Márquez * Estas en la pagina 22

También podría gustarte