robot de la enciclopedia para niños

ELIZA para niños

Enciclopedia para niños

ELIZA fue uno de los primeros programas de computadora que podía "conversar" con las personas usando el lenguaje natural. Fue creado entre 1964 y 1966 en el MIT por Joseph Weizenbaum.

ELIZA fue diseñada para explorar cómo los humanos y las máquinas podían comunicarse. Simulaba una conversación buscando palabras clave y usando patrones para responder. Esto hacía que los usuarios pensaran que el programa entendía lo que decían, aunque en realidad ELIZA no comprendía el significado de las palabras.

El programa ELIZA se escribió originalmente en un lenguaje llamado MAD-SLIP. Las instrucciones para que ELIZA "hablara" estaban en "guiones" separados, que eran como listas de reglas. El guion más famoso se llamaba DOCTOR, y simulaba ser un tipo de terapeuta que a menudo repetía las palabras del paciente o hacía preguntas abiertas. Por eso, ELIZA fue uno de los primeros "chatbots" y uno de los primeros programas que intentó pasar la prueba de Turing, que evalúa si una máquina puede conversar de forma indistinguible de un humano.

Joseph Weizenbaum, el creador de ELIZA, se sorprendió mucho al ver que las personas, incluso su propia secretaria, le atribuían sentimientos humanos al programa. Muchos expertos pensaron que ELIZA podría ser útil para ayudar a personas con dificultades o para apoyar a los profesionales que las atendían. Aunque ELIZA podía participar en conversaciones, no tenía una comprensión real. A pesar de que Weizenbaum insistía en esto, muchos de los primeros usuarios estaban convencidos de la inteligencia de ELIZA.

El código fuente original de ELIZA se perdió durante un tiempo, ya que en los años 60 no era común publicar el código de los programas. Sin embargo, hace poco, el código fuente de MAD-SLIP fue encontrado en los archivos del MIT y se ha hecho público. Este código es muy importante para entender cómo se programaba en esa época y cómo empezaron a desarrollarse programas más complejos.

¿Cómo funcionaba ELIZA?

Archivo:GNU Emacs ELIZA example
ELIZA en Emacs.

ELIZA funcionaba de una manera sencilla pero ingeniosa. Cuando un usuario escribía una frase, el programa buscaba ciertas "palabras clave" en ella. Luego, usaba una frase de respuesta que ya tenía guardada en su base de datos y que estaba relacionada con esa palabra clave.

A veces, las respuestas de este bot conversacional eran tan convincentes que algunas personas creían que estaban hablando con una persona real. Sin embargo, esta ilusión se rompía cuando el usuario notaba que las respuestas del programa no tenían sentido o que no entendía el contexto de la conversación.

Si el usuario escribía algo que ELIZA no reconocía, el programa a menudo reformulaba la frase como una pregunta o una reflexión. Por ejemplo, si decías "Estoy triste", ELIZA podría responder "¿Por qué estás triste?".

El diseño de ELIZA

Weizenbaum diseñó ELIZA para que pudiera conversar en lenguaje natural con una computadora. Para lograrlo, tuvo que resolver varios desafíos técnicos. ELIZA no tenía un conocimiento profundo del mundo, sino que dependía de un "guion" de instrucciones para saber cómo responder a lo que los usuarios escribían.

¿Cómo procesaba las palabras?

ELIZA empezaba a responder a lo que escribía el usuario buscando una "palabra clave". Estas palabras clave eran importantes para el guion de ELIZA y tenían un "rango" o nivel de importancia asignado por el programador. Si encontraba varias palabras clave, ELIZA se enfocaba en la que tenía el rango más alto.

Luego, la frase del usuario se modificaba según una regla asociada a esa palabra clave principal. Por ejemplo, si el guion DOCTOR encontraba palabras como "igual" o "similar", podía responder con "¿De qué manera?". ELIZA también podía cambiar pronombres, como "yo" por "tú" y viceversa, para que la conversación sonara más natural.

Reglas de transformación

Después de identificar la palabra clave, ELIZA aplicaba una "regla de transformación" que tenía dos partes: una "regla de descomposición" y una "regla de reensamblaje".

Primero, la regla de descomposición analizaba la frase del usuario para entender su estructura básica. Dividía la frase en partes más pequeñas. Por ejemplo, si el usuario decía "Eres muy útil", ELIZA la descomponía en segmentos como "yo", "soy", "muy útil".

Luego, la regla de reensamblaje tomaba esas partes y las reordenaba, añadiendo palabras programadas para crear una respuesta. Siguiendo el ejemplo, ELIZA podría usar las partes para formar la pregunta "¿Qué te hace pensar que soy muy útil?". Una vez que la frase estaba construida, ELIZA la mostraba al usuario en la pantalla.

Respuestas sin palabras clave

ELIZA también tenía formas de responder cuando no encontraba ninguna palabra clave en la frase del usuario. Una solución era dar una respuesta general, como "Ya veo" o "Por favor, continúa". Otro método era usar una función de "MEMORIA" que guardaba frases recientes del usuario. Así, si no encontraba una palabra clave, podía usar algo de la conversación anterior para crear una respuesta.

La forma exacta en que ELIZA analizaba y respondía dependía del guion que se estuviera usando. Estos guiones no eran fijos y podían ser modificados o creados nuevos, lo que permitía usar el programa en diferentes situaciones, como el famoso guion DOCTOR.

Existen otras versiones de ELIZA. Una versión en lenguaje Lisp fue escrita poco después de la original. También apareció una versión en BASIC en 1977, que se adaptó a muchos de los primeros ordenadores personales. Hoy en día, una versión de ELIZA viene incluida en el programa GNU Emacs, y se puede acceder a ella escribiendo M-x doctor.

En 2021, el código fuente completo de ELIZA en MAD-SLIP, junto con el guion DOCTOR, fue encontrado en los archivos de Weizenbaum en el MIT y se ha puesto a disposición del público.

Galería de imágenes

Véase también

kids search engine
ELIZA para Niños. Enciclopedia Kiddle.