SHRDLU es un programa informático temprano de comprensión del lenguaje natural desarrollado por Terry Winograd en el MIT entre 1968 y 1970. Permitía a los usuarios conversar con una computadora en inglés, manipulando objetos en un simplificado "mundo de bloques" - una caja virtual que contenía bloques, conos y bolas. El programa combinaba análisis sintáctico del lenguaje, memoria y física básica para simular la comprensión, y fue escrito en Micro Planner y Lisp en una computadora DEC PDP-6 con un terminal gráfico DEC. Adiciones posteriores en la Universidad de Utah añadieron renderizado 3D completo del mundo. El nombre deriva de ETAOIN SHRDLU, la disposición de letras en las máquinas Linotype, ordenadas por frecuencia de uso en inglés.
Funcionalidad
El núcleo de SHRDLU era un analizador sintáctico del lenguaje que manejaba instrucciones y consultas del usuario sobre el mundo de bloques. El mundo era deliberadamente simple, con un vocabulario de aproximadamente 50 palabras: sustantivos como "bloque" y "cono", verbos como "colocar sobre" y "mover a", y adjetivos como "grande" y "azul". Esta simplicidad permitía al programa analizar oraciones y ejecutar acciones de manera confiable.
Una característica clave era su memoria, que proporcionaba contexto. Los usuarios podían referirse a objetos mencionados previamente sin repetir descripciones completas. Por ejemplo, después de "pon el cono verde sobre el bloque rojo", un posterior "quita el cono" identificaría correctamente el cono verde. SHRDLU también podía responder preguntas sobre su historial, como "¿levantaste algo antes del cono?"
El programa incluía reglas básicas sobre la física del mundo, lo que le permitía razonar sobre posibilidades. Podía deducir que los bloques podían apilarse pero que las pirámides no, basándose en sus experiencias. Esto le permitía responder preguntas como "¿Puede una pirámide sostener una pirámide?" con "NO LO SÉ" o "Apila dos pirámides" con "NO PUEDO".
SHRDLU también permitía a los usuarios definir nuevos términos. Por ejemplo, uno podía decir "un campanario es una pila que contiene dos cubos verdes y una pirámide", y SHRDLU entonces entendería y respondería preguntas sobre campanarios, incluso construyendo nuevos a petición.
Una sesión típica (como se documenta en el trabajo de Winograd) muestra al programa manejando instrucciones complejas, resolviendo referencias pronominales y explicando sus acciones. Por ejemplo, cuando se le preguntó "¿Por qué limpiaste ese cubo?", respondió "PARA PONERLO SOBRE UN CUBO VERDE GRANDE", demostrando una cadena de razonamiento.
Consecuencias
SHRDLU fue considerado un éxito histórico en la investigación de inteligencia artificial (IA), mostrando el potencial de la comprensión del lenguaje natural. Su rendimiento llevó a un optimismo entre los investigadores de IA, quienes creían que escalar tales sistemas podría lograr inteligencia general. Sin embargo, este optimismo se desvaneció cuando sistemas posteriores enfrentaron la ambigüedad y complejidad del mundo real, que el entorno controlado de SHRDLU evitaba.
El programa influyó en trabajos posteriores en inteligencia artificial y procesamiento del lenguaje natural, aunque no condujo directamente a enfoques modernos como aprendizaje automático o modelos de lenguaje grandes. El trabajo de Winograd en MIT CSAIL (entonces el Laboratorio de IA del MIT) contribuyó a conceptos fundamentales del campo, incluida la importancia del contexto y el conocimiento del mundo en la comprensión del lenguaje.
Detalles Técnicos
SHRDLU se ejecutaba en una computadora DEC PDP-6, una mainframe de la época, y usaba un terminal gráfico DEC para la visualización. El software estaba escrito en Micro Planner, un lenguaje de planificación, y Lisp, un lenguaje de programación popular en la investigación de IA. La arquitectura del programa integraba un analizador sintáctico, interpretación semántica y un componente de resolución de problemas que manipulaba el mundo de bloques.
El mundo de bloques en sí era un entorno simulado con objetos como bloques, pirámides y bolas, colocados sobre una mesa o en una caja. El programa rastreaba posiciones, tamaños, colores y relaciones de los objetos, lo que le permitía responder consultas espaciales y ejecutar comandos de manipulación.
Legado
SHRDLU sigue siendo un ejemplo clásico de la IA temprana, a menudo citado en libros de texto y relatos históricos. Su demostración de diálogo sensible al contexto y planificación estaba adelantada a su tiempo, aunque sus limitaciones también fueron instructivas. La dependencia del programa en reglas hechas a mano y un dominio restringido contrastaba fuertemente con enfoques posteriores basados en datos como aprendizaje profundo y redes neuronales.
Winograd se trasladó más tarde a Stanford, donde continuó investigando sobre interacción humano-computadora. El nombre SHRDLU en sí se convirtió en una curiosidad, derivado del orden de teclas de la máquina Linotype, y a veces se usa como término en informática.
A pesar de su antigüedad, los principios de SHRDLU - como usar memoria para contexto y razonar sobre restricciones físicas - siguen siendo relevantes para los sistemas modernos de IA, aunque ahora se implementan de manera diferente. El éxito del programa y el posterior declive del optimismo destacan los desafíos de lograr una comprensión robusta del lenguaje, una meta aún perseguida por los investigadores hoy en día.