SHRDLU
SHRDLU fue uno de los primeros programas informáticos de comprensión del lenguaje natural, desarrollado por Terry Winograd en el MIT entre 1968 y 1970. En el programa, el usuario mantiene una conversación con la computadora, mueve objetos, nombra colecciones y consulta el estado de un 'mundo de bloques' simplificado, esencialmente una caja virtual llena de diferentes bloques.
SHRDLU se escribió en el lenguaje de programación Micro Planner y Lisp en la computadora DEC PDP-6 y una terminal gráfica DEC. Posteriormente se realizaron adiciones en los laboratorios de gráficos por computadora de la Universidad de Utah, agregando una representación 3D completa del 'mundo' de SHRDLU.
El nombre SHRDLU se deriva de ETAOIN SHRDLU, la disposición de las teclas de letras en una máquina Linotype, dispuestas en orden descendente de frecuencia de uso en inglés.
Funcionalidad
SHRDLU era principalmente un analizador de lenguaje que permitía la interacción del usuario usando términos en inglés. El usuario le indicó a SHRDLU que moviera varios objetos en el "mundo de bloques" que contiene varios objetos básicos: bloques, conos, pelotas, etc. Lo que hizo único a SHRDLU fue la combinación de cuatro ideas simples que se sumaron para hacer la simulación de "comprensión" mucho más convincente.
Una era que el mundo de SHRDLU era tan simple que todo el conjunto de objetos y ubicaciones podía describirse incluyendo tan solo 50 palabras: sustantivos como "bloque" y "cono", verbos como "colocar en" y "mover a", y adjetivos como "grande" y "azul". Las posibles combinaciones de estos bloques básicos de construcción del lenguaje eran bastante simples y el programa era bastante hábil para descubrir lo que el usuario quería decir.
SHRDLU también incluía una memoria básica para proporcionar contexto. Uno podría pedirle a SHRDLU que "ponga el cono verde en el bloque rojo" y luego "quitar el cono"; "el cono" se entendería como el cono verde del que acabamos de hablar. SHRDLU podría buscar más atrás a través de las interacciones para encontrar el contexto adecuado en la mayoría de los casos cuando se proporcionaron adjetivos adicionales. También se podrían hacer preguntas sobre la historia, por ejemplo, se podría preguntar "¿recogió algo antes del cono?"
Un efecto secundario de esta memoria, y de las reglas originales con las que se suministró SHRDLU, es que el programa podía responder preguntas sobre lo que era posible en el mundo y lo que no. Por ejemplo, SHRDLU deduciría que los bloques se pueden apilar buscando ejemplos, pero se daría cuenta de que los triángulos no se pueden apilar, después de haberlo intentado. El "mundo" contenía física básica para hacer que los bloques cayeran, independientemente del analizador de lenguaje.
Finalmente, SHRDLU también podría recordar los nombres dados a los objetos, o arreglos de ellos. Por ejemplo, se podría decir "un campanario es un pequeño triángulo encima de un rectángulo alto"; SHRDLU luego podría responder preguntas sobre campanarios en el mundo de los bloques y construir otros nuevos.
Aquí hay una demostración famosa de SHRDLU:
- Toma un gran bloque rojo.
- Computadora: OK.
- Persona: Apaga la pirámide.
- Computadora: No entiendo lo que significa.
- Persona (cambiando de opinión): Encuentra un bloque que es más alto que el que tienes y lo pones en la caja.
- Computadora: por "IT", te aseguro que quieres decir el bloque que es más conocido que el que estoy viviendo.
- Computadora: OK.
- Persona: ¿Qué contiene la caja?
- Computadora: El Pirámide de la Calabaza y el BLOCK.
- Persona: ¿Por qué apoya la pirámide?
- La caja.
- Persona: ¿Cuántas manzanas no están en la caja?
- Computadora: Cuatro de ellos.
- Persona: ¿Es al menos uno de ellos más estrecho que el que te dije que lo recogieras?
- Computadora: Sí, el papel rojo.
- ¿Es compatible?
- Computadora: Sí, por la mesa.
- Persona: ¿Puede la mesa recoger bloques?
- No.
- Persona: ¿Puede una pirámide ser soportada por un bloque?
- Computadora: Sí.
- Persona: ¿Puede una pirámide sostener una pirámide?
- No lo sé.
- Apilar dos pirámides.
- No puedo.
- Persona: ¿Podrías apilar ambos bloques rojos y un cubo verde o una pirámide?
- Computadora: OK.
- ¿Qué cubo está sentado sobre la mesa?
- Computadora: El LARGE GREEN ONE QUE APOYA EL PYRAMID RED.
- Persona: ¿Hay un gran bloque detrás de una pirámide?
- Computadora: Sí, tres de ellos: Una rosa roja, una gran cantidad, y la blanca.
- Persona: Ponga una pequeña en el cubo verde que soporta una pirámide.
- Computadora: OK.
- Pon la pirámide más pequeña encima de ella.
- Computadora: OK.
- Persona: ¿Lo más corto es que el apoyo de la pirámide más alta apoya algo verde?
- Computadora: Sí, el gran piramida.
- Persona: ¿Qué color es?
- Computadora: por "IT", le aseguro que quiere decir lo más rápido que los aficionados de apoyo del PYRAMID más famosos.
- Ordenador: RED
- Persona: ¿Cuántas cosas hay encima de cubos verdes?
- Computadora: No estoy seguro de lo que quieres decir con "en la calle "en la entrada de grandes bolsas".
- ¿Quieres decir:
- 1 - DIRECTAMENTE EN EL SURFACE
- 2 - ¿A la cabeza?
- Persona: 2
- Tres de ellos.
- Persona: ¿Has tocado alguna pirámide antes de poner el verde en el pequeño cubo?
- Sí, el primero.
- ¿Cuándo lo recogiste?
- Computadora: Cuando estaba desplegando la base roja, una mancha roja brillante y una gran cantidad.
- ¿Por qué?
- Computadora: para que te den.
- ¿Por qué hiciste eso?
- Computadora: para limpiar el papel rojo.
- ¿Por qué dejaste el cubo?
- Computadora: Para ponerlo en una gran cantidad.
- ¿Por qué hiciste eso?
- Computadora: Para poner el rollo rojo una LARGE RED BLOCK y una LARGE GREEN CUBE.
- ¿Por qué hiciste eso?
- Porque me lo pediste.
- ¿Cómo lo hiciste?
- Computadora: por poner una mancha roja en la mesa; luego dejar ir de ella; después poner una fuente grande en ella; luego dejar ir de esa fuente; luego poner la fuente roja en esa fuente; luego dejar ir de esa fuente; después poner la fuente roja en esa fuente; luego dejar ir de esa fuente.
- Persona: ¿Cuántos objetos tocaste mientras lo hacías?
- Computadora: Cuatro de ellos.
- Persona: ¿Qué soporte el cubo rojo antes de empezar a limpiarlo?
- Computadora: la gran piramida.
- Persona: Había cinco cuadras a la izquierda de la caja entonces.
- Computadora: NO, ONLY FOUR OF THEM: THE RED CUBE, TWO LARGE GREEN CUBES AND A LARGE RED BLOCK.
- Persona: Pon la pirámide azul en el bloque en la caja.
- Computadora: OK.
- Persona: ¿Hay algo más grande que todas las pirámides pero no es tan ancho como lo que lo soporta?
- Computadora: Sí, el BLUE BLOCK.
- Persona: Hace una empinada
- Computadora (interrupción): Lo siento, no conozco el "séptimo".
- Persona: Un "esteple" es una pila que contiene dos cubos verdes y una pirámide.
- Entiendo.
- Persona: ¿Hay alguna empinada ahora?
- No.
- Construir uno.
- Computadora: OK.
- Persona: Llama al bloque más grande "superblock".
- Computadora: OK.
- Persona: ¿Has recogido la superbloque desde que empezamos?
- Computadora: Sí.
- ¿Por qué lo dejaste?
- Computadora: por "IT", te aseguro que quieres decir con el SUPERBLOCK.
- No puedo explicárselo.
- Persona: ¿Hay algo a la derecha de la pirámide roja?
- Computadora: Sí, cuatro cosas: la caja roja, la piramida de los huesos y la supuración de los bloques
- Persona: Gracias.
- ¡Eres bienvenido!
Consecuencias
SHRDLU se consideró una demostración tremendamente exitosa de inteligencia artificial (IA). Esto llevó a otros investigadores de IA a un optimismo excesivo que pronto se perdió cuando los sistemas posteriores intentaron lidiar con situaciones con un nivel más realista de ambigüedad y complejidad. Los esfuerzos posteriores del tipo SHRDLU, como Cyc, han tendido a centrarse en proporcionar al programa mucha más información de la que pueda sacar conclusiones.
En una entrevista de 1991, Winograd dijo sobre SHRDLU:
[...] el famoso diálogo con SHRDLU donde podrías recoger un bloque, y así sucesivamente, he trabajado muy cuidadosamente, línea por línea. Si te sentaste delante de él, y le hiciste una pregunta que no estaba en el diálogo, había alguna probabilidad de que la contestara. Quiero decir, si fuera razonablemente cercano a una de las preguntas que estaba allí en forma y en contenido, probablemente lo conseguiría. Pero no había ningún intento de llegar al punto en el que realmente podrías dárselo a alguien y podrían usarlo para mover bloques alrededor. Y no había ninguna presión para eso. Presión por algo que podrías demoler. Tome un ejemplo reciente, Laboratorio de Medios de Negroponte, donde en lugar de "perish or publish" es "demo o muerte". Creo que es un problema. Creo que AI sufrió mucho de eso, porque llevó a "pueblos de Potemkin", cosas que - por las cosas que realmente hicieron en la demo se veían bien, pero cuando mirabas detrás de que no había suficiente estructura para hacer que realmente funcionara más generalmente.
Aunque no se desarrolló intencionalmente como tal, SHRDLU se considera el primer ejemplo formal conocido de ficción interactiva, ya que el usuario interactúa con comandos simples para mover objetos en un entorno virtual, aunque carece de la narración distintiva normalmente presente en la ficción interactiva. género. El juego de 1976-1977 Colossal Cave Adventure es ampliamente considerado como la primera obra verdadera de ficción interactiva.
Contenido relacionado
Ratón de computadora
Streaming de extensiones SIMD
Codificación de voz