# Comprensión del lenguaje natural

La comprensión de lenguaje natural (CLN) es una parte del procesamiento de lengua natural en inteligencia artificial que trabaja con la comprensión de lectura en dispositivos electrónicos. CLN es considerado un problema AI-duro.
El proceso de desensamblar y parsear la entrada es más complejo que el proceso inverso de ensamblar la salida en generación de lengua natural debido a la ocurrencia de características desconocidas e inesperadas en la entrada y la necesidad de determinar los esquemas sintácticos y semánticos apropiados a aplicarle, factores que son pre-determinados cuando se genera lenguaje.Understanding is more difficult than Generation
Hay un considerable interés comercial en el campo debido a su aplicación en la reunión de noticias, categorización de texto, activación de voces, y análisis a gran escala de contenido.

## Historia

El programa STUDENT (estudiante), escrito en 1964 por Daniel Bobrow para su disertación de PhD en el MIT es uno de los primeros intentos conocidos del entendimiento por un ordenador del lenguaje natural. Ocho años después de que John McCarthy declaró el término de inteligencia artificial, la disertación de Bobrow (Entrada del Lengua Natural para un Sistema Solucionador de Problemas Computacionales) mostró como una computadora puede entender una entrada sencilla en lenguaje natural para solucionar problemas algebraicos de palabras.
Un año más tarde, en 1965, Joseph Weizenbaum en el MIT escribió ELIZA, un programa interactivo que mantenía una conversación coherente en Inglés sorbe cualquier tema, la mayoría sobre psicoterapia. ELIZA trabajaba con un parsing sencillo y sustituyendo palabras claves por frases models, y Weizenbaum eludió el problema de dar al programa una base de datos de conocimiento del mundial real o un buen léxico. Aun así ELIZA obtuvo una sorprendente popularidad como proyecto juguete y puede ser visto como temprano precursor de los sistemas comerciales actuales como aquellos utilizados por Ask.com.
En 1969 Roger Schank en la universidad de Stanford introdujo la teoría de dependencia conceptual para el entendimiento del lengua natural. Este modelo, parcialmente influido por el trabajo de Sydney Lamb, era extensamente utilizado por alumnos de Schank en la Universidad de Yale, como Robert Wilensky, Wendy Lehnert, y Janet Kolodner.
En 1970, William A. Woods introdujo la red de transición aumentada (RTA) para representar entrada de lengua natural. En vez de reglas de estructura de frase, los RTAs usaban un conjunto equivalente de estado autómata finito que era llamado recursivamente. RTAs y su formato más general llamado "RTAs generalizados" continuaron siendo utilizados por muchos años.
En 1971 Terry Winograd terminó de escribir SHRDLU para su tesis de PhD en el MIT. SHRDLU podría entender frases inglesas sencillas en un mundo restringido de bloques de hijos para dirigir un brazo robótico que mueve elementos. La demostración exitosa de SHRDLU mostró la importancia de la continuidad de la investigación en el campo. Winograd continuó siendo una importante influencia en el campo con la publicación de su libro Lenguaje como un proceso cognitivo. En Stanford, Winograd más tarde sería el asesor de Larry Page, quien cofundó Google.
En los 1970s y los 1980s el grupo de procesamiento de lenguaje natural en SRI International continuó la investigación y el desarrollo en el campo. Se tomaron un número de esfuerzos comerciales basados en la investigación, p. ej., en 1982 Gary Hendrix formó Symantec Corporation originalmente como compañía para el desarrollo de una interfaz para el lenguaje natural que ayudara a las consultas de bases de datos en ordenadores personales. Sin embargo, con la llegada del uso del ratón, las interfaces gráficas de usuario de Symantec cambiaron de dirección. Otros esfuerzos comerciales empezaron por esos mismos años, p. ej., Larry R. Harris en la Artificial Intelligence Corporation y Roger Schank y sus alumnos de Cognitive Systems corp. En 1983, Michael Dyer desarrolló en Yale el sistema BORIS el cual tiene muchas semejanzas con el trabajo de Roger Schank y W. G. Lehnart.
El tercer milenio trajo la introducción de los sistemas que utilizan aprendizaje de máquina para clasificación de texto, como el IBM Watson. Aun así, esto no es CLN. Según John Searle, Watson ni siquiera entendió las preguntas.
John Ball, inventor y científico cognitivo de la Teoría de Patom (Patom Theory) apoya esta valoración. CLN ha hecho avances en el apoyo a la productividad humana en servicio y comercio electrónicos, pero esto en gran parte ha sido posible especializando el alcance de la aplicación. Hay miles de maneras de pedir algo en una lengua humana que desafían al CLN convencional. "Tener una conversación significativa con máquinas es sólo posible cuando emparejamos cada palabra con su significado correcto basado en los significados de las otras palabras en la oración – justo como un niño de 3 años hace sin conjeturas" Patom Teoría

## Alcance y contexto

El término global "comprensión del lenguaje natural" puede ser aplicado a un conjunto diverso de aplicaciones de ordenador, desde pequeñas, relativamente simples tareas, como órdenes cortas para robots, a esfuerzos altamente complejos como la total comprensión de artículos periodísticos o fragmentos de poesía. Muchos aplicaciones del mundo real caen entre los dos extremos, por ejemplo, la clasificación de texto para el análisis automático de correos electrónicos y su reenvío a un departamento adecuado en una empresa no requiere un profundo entendimiento del texto, pero necesita tratar con un vocabulario mucho más grande y una sintaxis más diversa que la administración de simples consultas a tablas de bases de datos con esquemas fijos.
A través de los años varios intentos de procesar lenguaje natural o frases del inglés en ordenadores han tenido lugar en diferentes grados de complejidad. Algunos intentos no han resultado en sistemas con una profunda comprensión, pero han ayudado sobre todo en la usabilidad de sistemas. Por ejemplo, Wayne Ratliff originalmente desarrolló el programa Vulcan con un sintaxis similar al inglés para simular el habla de la computadora en Star Trek. Vulcan más tarde se convirtió en dBase, un sistema cuya sintaxis fácil de usar lanzó eficazmente la industria de las bases de datos en ordenadores personales. Sistemas sintaxis fáciles de utilizar o similares al inglés son, sin embargo, bastante diferentes de sistemas que usan un léxico rico e incluyen una representación interna (a menudo como lógica de primer orden) de la semántica de oraciones en lenguaje natural.
Por ello la amplitud y profundidad de "comprensión" en un sistema determina tanto la complejidad del sistema (y los cambios que implica) y los tipos de aplicaciones que pueda tratar.La "amplitud" de un sistema se mide por los tamaños de su vocabulario y gramática. La "profundidad" se mide por el grado en el que su comprensión se aproxima al de un hablante nativo fluido. En el más estrecho y más superficial, intérprete de comandos similares al inglés que requieren de una complejidad mínima, pero tienen una gama pequeña de aplicaciones. Los sistemas estrechos pero profundos exploran y modelan mecanismos de comprensión, pero todavía tienen aplicaciones limitadas. Los sistemas que intentan entender el contenido de un documento como una noticia más allá del emparejamiento de las palabras claves sencillas y que responden a su conveniencia para un usuario es más abaracdor y requiere una mayor complejidad, pero son todavía un poco superficiales. Los sistemas que son tanto muy anchos como profundos van más allá del actual estado del arte.

## Componentes y arquitectura

Sin importar el enfoque usado, la mayoría de los sistemas de comprensión de lenguaje natural comparten algunos componentes comunes. El sistema necesita un léxico de la lengua y reglas de parser y gramática para covnertir frases a una representación interna. La construcción de un bueno léxico con una ontología adecuada requiere un esfuerzo significativo, p. ej., el léxico de Wordnet requirió mucha personas y años de esfuerzo.
El sistema también necesita una teoría semántica para guiar la compresión. Las capacidades de interpretación de un sistema de entendimiento del lenguaje depende de la teoría semántica utilizada. La competencis en las teorías semánticas del lenguaje tienen específicas compensaciones en sus beneficios como las bases de la interpretación semántica automatizada computacionalmente. Esto va desde las semánticas ingenuas o análisis semántico estocástico al uso de la pragmática para obtener el significando en un contexto.
Aplicaciones avanzadas de CLN también intentan incorporar inferencia lógica dentro de su marco, lo que es generalmente logrado mapeando el significado derivado a un conjunto de aserciones en lógica de predicado, luego utilizando deducción lógica para llegar a conclusiones. Por tanto, los sistemas basados en lenguajes funcionales como Lisp necesitan incluir un subsistema para representar aserciones lógicas, mientras que los sistemas orientados a la lógica como aquellos que usan el lenguaje Prolog generalmente caen en una extensión del framework de representación lógica built-in.
La administración del contexto en CLN puede presentar grandes retos. Una variedad grande de ejemplos han resultado en aproximaciones múltiples a la modelación formal del contexto, cada cual con debilidades y beneficios específicos.