Post on 27-Jul-2015
transcript
INSTITUTO SUPERIOR DE FORMACION DOCENTE
“RAMON .J. CARCANO”
Carrera: Profesorado para la Educación Secundaria en
Informática
Materia: Seminario de Inteligencia Artificial
Docente: Sergio Niz
Tema: Procesamiento de Lenguaje Natural
Alumnos: Albe Silvia, Avalos Carlos, Galarraga Silvina,
Vera Vanesa.
Curso: 3°
Fecha Entrega: 10/11/2014
Introducción
El recurso más importante que posee la raza humana es el conocimiento, o sea la
información. En la época actual de información, del manejo eficiente de este conocimiento
depende el uso de todos los demás recursos naturales, industriales y humanos.
Durante toda la historia de humanidad el conocimiento, en su mayor parte se comunica, se
guarda y se maneja en la forma de lenguaje natural –griego, latín, inglés, español, etc. La
época actual no es ninguna excepción: el conocimiento sigue existiendo y creándose en la
forma de documentos, libros, artículos, aunque éstos se guardan en forma electrónica, o sea
digital. El gran avance es que en esta forma, las computadoras ya pueden ser una ayuda
enorme en el procesamiento de este conocimiento.
Sin embargo, lo que es conocimiento para nosotros –los seres humanos– no lo es para las
computadoras. Son los archivos, unas secuencias de caracteres, y nada más. Una
computadora puede copiar tal archivo, respaldarlo, transmitirlo, borrarlo –como un
burócrata que pasa los papeles a otro burócrata sin leerlos. Pero no puede buscar las
respuestas a las preguntas en este texto, hacer las inferencias lógicas sobre su contenido,
generalizar y resumirlo –es decir, hacer todo lo que las personas normalmente hacemos con
el texto. Porque no lo puede entender.
Para combatir esta situación, se dedica mucho esfuerzo, sobre todo en los países más
desarrollados del mundo, al desarrollo de la ciencia que se encarga de habilitar a las
computadoras a entender el texto. Esta ciencia, en función del enfoque práctico versus
teórico, del grado en el cual se espera lograr la comprensión y de otros aspectos tiene varios
nombres: procesamiento de lenguaje natural, procesamiento de texto, tecnologías de
lenguaje, lingüística computacional. En todo caso, se trata de procesar el texto por su
sentido y no como un archivo binario.
Procesamiento del Lenguaje Natural
Procesamiento del Lenguaje Natural (PLN). Es una disciplina dentro de la Inteligencia
Artificial y la rama ingenieril de la lingüística computacional. Se ocupa de la formulación e
investigación de mecanismos eficaces computacionalmente para la comunicación entre
humano –maquina.
HISTORIA
La historia del PNL se inicia generalmente en la década de 1950, aunque el trabajo se
puede encontrar a partir de períodos anteriores. En 1950, Alan Turing publicó un artículo
titulado "Computing Machinery e Inteligencia", que propuso lo que hoy se llama la prueba
de Turing como un criterio de inteligencia. Este criterio depende de la capacidad de un
programa de ordenador para hacerse pasar por un humano en una conversación escrita en
tiempo real con un juez humano, suficientemente bien que el juez es incapaz de distinguir
de forma fiable - sobre la base del contenido de conversación solo - entre el programa y un
ser humano real.
El experimento de Georgetown en 1954 participó traducción totalmente automática de más
de sesenta frases rusas en Inglés. Los autores afirman que dentro de tres o cinco años, la
traducción automática sería un problema resuelto. Sin embargo, el progreso real era mucho
más lento, y tras el informe ALPAC en 1966, que encontró que la investigación diez años
siempre había cumplido con las expectativas, la financiación para la traducción automática
se redujo drásticamente. Poco más investigación en la traducción automática se llevó a cabo
hasta finales de 1980, cuando se desarrollaron los primeros sistemas de traducción
automática estadística.
Algunos sistemas de PNL especialmente exitosas desarrolladas en la década de 1960 fueron
SHRDLU, un sistema de lenguaje natural que trabaja en bloques restringidos "mundos" con
vocabularios restringidos, y Eliza, una simulación de un Rogerian psicoterapeuta, escrito
por Joseph Weizenbaum entre 1964-1966 - Usando casi ninguna información sobre el
pensamiento o la emoción humana, ELIZA veces proporciona una interacción
sorprendentemente similar a la humana. Cuando el "paciente" se superó el pequeño base de
conocimientos, ELIZA podría proporcionar una respuesta genérica, por ejemplo, en
respuesta a "Me duele la cabeza" con el "¿Por qué dices te duele la cabeza?".
Durante la década de 1970 muchos programadores comenzaron a escribir 'ontologías
conceptuales ", que estructuran la información del mundo real de datos informáticos
comprensibles. Ejemplos de ello son MARGIE, SAM, PAM, TaleSpin, naúsea, Política y
Unidades Terreno. Durante este tiempo, muchos fueron escritos chatterbots incluyendo
Parry, Racter y Jabberwacky.
Hasta la década de 1980, la mayoría de los sistemas de PNL se basa en un complejo
conjunto de reglas escritas a mano. A partir de finales de 1980, sin embargo, no fue una
revolución en PNL con la introducción de algoritmos de aprendizaje automático para el
procesamiento del lenguaje. Esto se debió tanto al aumento constante de la potencia de
cálculo resultante de la Ley de Moore y la disminución gradual del predominio de las
teorías de Chomsky de la lingüística, cuyos fundamentos teóricos desalentado la clase de
lingüística de corpus que se basa el enfoque de aprendizaje de máquinas para el
procesamiento del lenguaje. Algunos de los algoritmos de aprendizaje automático antes
utilizadas, tales como árboles de decisión, sistemas de producción de fuerza si-entonces
normas similares a las reglas manuscritas existentes. Cada vez más, sin embargo, la
investigación se ha centrado en los modelos estadísticos, que toman decisiones suaves,
probabilísticos basados en colocar pesos de valor real de las características que constituyen
los datos de entrada. Los modelos de lenguaje de caché en la que muchos sistemas de
reconocimiento de voz se basan ahora son ejemplos de tales modelos estadísticos. Tales
modelos son generalmente más robusta cuando se administra de entrada desconocido,
especialmente de entrada que contiene errores, y producir resultados más fiables cuando se
integren en un sistema más grande que comprende múltiples sub tareas.
Muchos de los primeros éxitos notables se produjeron en el campo de la traducción
automática, debido especialmente a trabajar en IBM Research, donde se han desarrollado
modelos estadísticos sucesivamente más complicados. Estos sistemas son capaces de tomar
ventaja de los actuales cuerpos textual multilingüe que se había producido por el
Parlamento de Canadá y la Unión Europea como consecuencia de las leyes que piden la
traducción de todas las actuaciones gubernamentales a todos los idiomas oficiales de los
correspondientes sistemas de gobierno. Sin embargo, la mayoría de los otros sistemas
dependían de cuerpos desarrollados específicamente para las tareas llevadas a cabo por
estos sistemas, lo cual fue una limitación importante en el éxito de estos sistemas. Como
resultado, una gran cantidad de investigación ha ido en métodos de aprendizaje más
eficazmente a partir de cantidades limitadas de datos.
La investigación reciente se ha centrado cada vez más en los algoritmos de aprendizaje no
supervisado y semi-supervisado. Tales algoritmos son capaces de aprender de los datos que
no han sido a mano anotados con las respuestas deseadas, o el uso de una combinación del
dato anotado y no anotado. En general, esta tarea es mucho más difícil que el aprendizaje
supervisado, y típicamente produce resultados menos precisos para una cantidad dada de
datos de entrada. Sin embargo, hay una enorme cantidad de datos que no son anotados
disponible, que a menudo puede compensar los resultados inferiores personas entre
personas y máquinas por medio de lenguajes naturales.
Concepto:
Por Procesamiento de Lenguaje Natural (PLN, denominado también NLP por sus siglas
en inglés) se entiende a la habilidad de la máquina para procesar la información
comunicada, no simplemente las letras o los sonidos del lenguaje.
Es un campo de la informática, la inteligencia artificial, la lingüística que se ocupan de las
interacciones entre las computadoras y los lenguajes humanos. Como tal, la PNL se
relaciona con el área de interacción hombre-máquina. Muchos retos en PNL implican la
comprensión del lenguaje natural, es decir, permite a los ordenadores para entender el
significado de la entrada del lenguaje humano o natural.
Diferentes programas exhiben diferente grado del procesamiento inteligente del lenguaje.
Por ejemplo, un buscador de documentos puede simplemente buscar los documentos que
contienen la cadena de letras especificadas por el usuario, sin importar que esta cadena
tenga o no un significado en un lenguaje (como el español o el inglés). En este caso no sería
una aplicación del PLN. Sin embargo, el mismo buscador podría buscar los documentos
que comuniquen la idea especificadas por el usuario, sin importar con qué letras la
comunican, y en este caso, sin duda, sería una excelente aplicación de PLN, ya que
entendería la idea comunicada en la petición del usuario, la idea comunicada en cada uno
de los documentos, y sería capaz de compararlas.
El esquema general de la mayoría de los sistemas y métodos que involucran el
procesamiento de lenguaje es el siguiente:
Primero, el texto no se procesa directamente sino se transforma en una
representación formal que preserva sus características relevantes para la tarea o el
método específico (por ejemplo, un conjunto de cadenas de letras, una tabla de base
de datos, un conjunto de predicados lógicos, etc.).
Luego, el programa principal manipula esta representación, transformándola según
la tarea, buscando en ella las subestructuras necesarias, etc.
Finalmente, si es necesario, los cambios hechos a la representación formal (o la
respuesta generada en esta forma) se transforman en el lenguaje natural.
Entre las tareas principales del procesamiento de lenguaje natural se puede mencionar:
Recuperación de información,
Interfaces en lenguaje natural,
Traducción automática.
Recuperación de Información:
La aplicación del procesamiento de lenguaje natural más obvia y quizá más importante en
el momento actual es la búsqueda de información (se llama también recuperación de
información). Por un lado, en Internet y en las bibliotecas digitales se contiene una cantidad
enorme de conocimiento que puede dar respuestas a muchísimas preguntas que tenemos.
Por otro lado, hay tanta información que no sirve porque ya no se puede encontrarla. Hoy
en día la pregunta ya no es “¿si se sabe cómo...?” sino “ciertamente se sabe, pero ¿dónde
está esta información?”.
Técnicamente, rara vez se trata de decidir cuáles documentos (así se llaman archivos o
textos en la recuperación de información) son relevantes para la petición del usuario y
cuáles no. Usualmente, una cantidad enorme de documentos se puede considerar como
relevantes en cierto grado, siendo unos más relevantes y otros menos. Entonces, la tarea se
entiende cómo medir el grado de esta relevancia para proporcionar al usuario primero el
documento más relevante; si no le sirvió, el segundo más relevante, etc.
El problema más difícil de la recuperación de información es, sin embargo, no de índole
técnica sino psicológica: entender cuál es la necesidad real del usuario, para qué formula su
pregunta. Este problema se complica ya que no existe un lenguaje formal en el cual el
usuario podría formular claramente su necesidad. (La dirección más prometedora de
resolver este problema es, nuevamente, el uso de lenguaje natural.)
Las técnicas más usadas actualmente para la recuperación de información involucran la
búsqueda por palabras clave: se buscan los archivos que contengan las palabras que el
usuario teclee. Es decir, la representación formal usada es el conjunto de las cadenas de
letras (palabras), usualmente junto con sus frecuencias en el texto (en número de
ocurrencias). La claridad matemática de la tarea causó mucho avance en la teoría de estos
métodos. Las ideas más usadas son los modelos probabilísticos y los procedimientos
iterativos e interactivos: tratar de adivinar qué necesita el usuario preguntándolo cuáles
documentos le sirven).
Sin embargo, los métodos que involucran sólo las palabras (como cadenas de letras) pero
no el sentido del texto son muy limitados en su capacidad de satisfacer la necesidad
informática del usuario, es decir, de hallar la respuesta a la pregunta que tiene en mente. Se
puede mejorar mucho aplicado las siguientes operaciones, desde las más sencillas hasta
más complejas:
Coincidencia de las formas morfológicas de palabras: buscando pensar,
encontrar piénsalo.
Este problema es bastante simple a resolver en el lenguaje inglés, al cual se dedica la mayor
parte de investigación en el mundo. Sin embargo, para el español se convierte a un
problema moderadamente serio, debido a la gran variedad de las formas de palabras en
español.
Los métodos de la morfología computacional –la rama del procesamiento de lenguaje
natural que se encarga del modelado de las formas morfológicas de palabras– varían desde
el uso de diccionarios que especifican las formas para cada palabra, hasta las heurísticas
que ayudan a adivinarlas.
Coincidencia de los sinónimos, conceptos más generales y más específicos:
buscando cerdo, encontrar puerco, mascota, animal, etc.
Este problema prácticamente no depende de lenguaje (es tanto importante para el inglés
como para el español), aunque los diccionarios que se usan sí son específicos para cada
lenguaje.
La idea principal es, como ya se dijo, el uso de diccionarios jerárquicos, que especifican los
sinónimos en el mismo nivel del árbol y los conceptos más específicos debajo de los
conceptos más generales. Uno de los problemas que aún no recibieron una solución
adecuada es medir las distancias en este árbol: qué tan parecida es la
palabra cerdo a puerco? y a mascota? animal? objeto?
Una generalización de esta idea son los diccionarios de las palabras conceptualmente
relacionadas, por ejemplo, cerdo y tocino; sacerdote, Biblia, iglesia y rezar. Aquí, el
problema de la medición de distancia es aún más difícil.
Tomar en cuenta las relaciones entre las palabras en la petición del usuario y en el
documento: buscando estudio de planes, rechazar como no relevante planes de
estudio.
Para lograr este grado de calidad, se necesita reconocer (automáticamente) la estructura del
texto y representarla en forma que permita la comparación necesaria, por ejemplo, en la
forma de los grafos conceptuales.
Recientemente se adelantaron los desarrollos en una aproximación diferente al problema de
búsqueda de información: generación automática de respuestas. La idea es la siguiente: en
lugar de presentarle al usuario el documento completo donde probablemente se contiene la
respuesta a su pregunta (por ejemplo, ¿cuándo fue la revolución mexicana?), simplemente
darle la respuesta (en este caso, generar “En 1910-1917” basándose en la información
encontrada en los textos).
Una de las técnicas más usadas para esto es la extracción de información: transformación
de algunas partes de los textos libres en un formato de base de datos, por ejemplo: evento–
fecha, artículo–lugar–precio, etc. Otra técnica posible es el razonamiento lógico sobre las
relaciones encontradas en el texto.
Interfaces en Lenguaje Natural
Las computadoras están entrando en todos los aspectos de nuestra vida cotidiana: en las
oficinas, en las tiendas, en las escuelas, en los servicios públicos. Sin embargo, la gran
mayoría del pueblo no tiene la preparación adecuada para usarlas ya que se requiere saber
cómo se usan. Y nunca va a tener esta preparación, por el simple hecho: económicamente,
más conviene que las máquinas se adapten al modo de la comunicación de las personas y
no que todas las personas, generación tras generación, aprendan cómo usar las máquinas.
Hablando de darles órdenes, no se trata de pronunciar los comandos especiales que de otra
manera escogeríamos del menú: abrir, edición, copiar, guardar, salir (de modo similar a
como se habla al perro pastor). En lugar de esto, se trata de hablar a la máquina como
hablaríamos al ser humano.
Las interfaces en lenguaje natural en muchos casos requieren de las representaciones de
información más detalladas y complejas, así como del análisis lingüístico más preciso y
completo.
Traducción Automática
Históricamente, el sueño de la traducción automática motivó las primeras investigaciones
en lingüística computacional. A la primera vista, la traducción parece ser un trabajo
bastante mecánico y aburrido, que puede fácilmente hacer la máquina: sustituir las palabras
en un lenguaje con sus equivalentes en el otro.
Sin embargo, con los avances en los programas de traducción se hizo cada vez más obvio
que esta tarea no es tan simple. Esto se debe, en una parte, a las diferencias entre los
lenguajes las cuales varían desde muy obvias (por ejemplo, el orden de palabras es
diferente en inglés y en español) hasta más sutiles (el uso de diferentes expresiones y
diferente estilo).
El esquema general de prácticamente cualquier traductor automático es (en acuerdo con el
esquema expuesto en la introducción a este artículo) el siguiente:
El texto en el lenguaje fuente se transforma a una representación intermedia,
De ser necesario, se hacen algunos cambios a esta representación,
Luego, esta representación intermedia se transforma al texto en el lenguaje final.
En algunos sistemas, al texto generado con este esquema también se aplican algunos ajustes
previstas por las heurísticas de traducción.
De la calidad esperada de traducción y de la proximidad de los dos lenguajes depende qué
tan profundas son las transformaciones entre las dos representaciones, es decir, que tan
diferente es la representación intermedia del texto en el lenguaje humano.
En algunos casos (se puede mencionar los traductores entre los lenguajes tan parecidos
como español y catalán, portugués y gallego, etc.) basta con la representación morfológica:
el análisis y generación de las palabras fuera del contexto. Por ejemplo, la palabra
española hijas se analiza como HIJO-femenino-plural, se transforma (usando una tabla de
correspondencias) a la representación FILHA-femenino-plural, de la cual se genera la
palabra portuguesa filhas (aqui, HIJA y FILHA son claves de acceso a la base de datos que
contiene las propiedades de las palabras en los lenguajes correspondientes).
En otros casos, cuando hay diferencias estructurales más profundas entre los lenguajes (que
es el caso de casi cualquier par de idiomas, incluidos español–inglés, español–francés, etc.),
se usan como la representación intermedia (que en este caso se llama interlingua) las
estructuras formales de predicados lógicos o sus equivalentes, por ejemplo, redes
semánticas. Esta representación independiente de lenguaje es en realidad el sentido del
mensaje que comunica el texto. Es decir, la transformación del texto a esta representación
formal es comprensión del texto, y la transformación en el sentido contrario es generación:
teniendo una idea, decirla en el lenguaje humano.
De esta discusión queda completamente claro que en el caso de la traducción automática
(de tipo interlingua) es aún mucho más importante que el programa comprenda el texto
perfectamente y, por otro lado, pueda correctamente verbalizar el sentido dado. Cualquier
error en compresión del texto fuente causaría la traducción incorrecta, lo que, dependiendo
de la situación del uso del texto traducido, puede resultar en consecuencias graves.
Entonces, este tipo de los sistemas de traducción requiere de toda la fuerza de la ciencia de
lingüística computacional, los métodos más precisos y completos del análisis del texto y
representación de su contenido.
Adicionalmente a los problemas de análisis de texto, la traducción automática enfrenta los
problemas específicos para la generación de texto. Uno de estos problemas es la selección
de palabras. Por ejemplo, para traducir de inglés la frase John pays attention to Mary, no
basta con encontrar en el diccionario el verbo pay ‘pagar’ ya que esta variante de
traducción es incorrecta: *Juan paga atención a María. La manera correcta de representar
la palabra pay es tratarla como una llamada función léxica: esta palabra significa la
ejecución de la acción de atención por el agente (Juan). En el español, la palabra que indica
la ejecución de atención es prestar. Nótese que la selección de la palabra depende de la
acción: para culpa es echar (Juan hecha culpa a María), para propiedad es mostrar, etc.
Ayuda en preparación de textos
Este tipo de aplicaciones es conocido hoy en día por quizás toda la gente que por lo menos
una vez ha usado la computadora. Hablamos de las herramientas que proporcionan los
procesadores de palabras como Microsoft Word. Aquí, sólo nos interesan las herramientas
que emplean el procesamiento complejo de texto y requieren conocimiento lingüístico.
Guiones. La tarea de determinar los lugares donde las palabras se pueden romper para
empezar una nueva línea es una de las más simples en procesamiento de textos. Por
ejemplo, se puede romper la palabra como maravi-lloso o maravillo-so, pero no maravil-
loso o maravillos-o.
A pesar de ser un problema simple, a veces requiere una información bastante profunda.
Por ejemplo, se debe saber cuáles son el prefijo y la raíz de la palabra: su-bir y sub-urbano,
pero no sub-ir o su-burbano. O bien, a veces se debe saber el idioma del origen de la
palabra: Pe-llicer, pero Shil-ler. También se debe saber la estructura del documento ya que
quizás no se deben usar guiones en los títulos y encabezados.
Ortografía. La tarea de averiguar si una palabra está escrita correctamente o con un error
ortográfico es un poco más difícil que la de los guiones. Por lo menos se debe saber todas
las palabras del idioma dado. Ya que no es posible saber literalmente todas las palabras, se
debe saber en primer lugar las formas de palabras, como inteligentísimas, satisfechos,
piensen, etc.
Pero para detectar los errores de ortografía, o simplemente de escritura, se debe considerar
el contexto de la palabra de una manera a veces bastante complicada. Ejemplos: Sé que
piensen en el futuro. El terremoto causó una gran hola en el mar. Se iba a cazar con su
novia en la iglesia bautista. Para detectar este tipo de errores, la computadora necesita hasta
entender en cierto grado el sentido del texto.
Gramática. Los correctores de gramática detectan las estructuras incorrectas en las
oraciones aunque todas las palabras en la oración estén bien escritas en el sentido de que
son palabras legales en el idioma, por ejemplo: Quiero que viene mañana. El maestro de
matemáticas, se fue. Me gusta la idea ir a Europa. Fuera magnífico si él venía a la fiesta.
El problema de detectar los errores de este tipo es que hay una gran variedad de estructuras
permitidas, y enumerarlas todas resulta muy difícil. Para describir las estructuras de las
oraciones en el idioma, se usan las llamadas gramáticas formales – los conjuntos de reglas
de combinación de palabras y su orden relativo en las oraciones.
Estilo. Una tarea ya más complicada es detectar los problemas en el texto que consiste de
las palabras correctamente escritas y las oraciones correctamente estructuradas, pero que es
poco leíble, ambiguo, mal estructurado, inconsistente en el uso de palabras de diferentes
estilos. Por ejemplo, el texto científico no debe usar las palabras de jerga; una carta a un
amigo no debe usar las oraciones muy largas, profundamente estructuradas, con muchas
palabras científicas.
Un ejemplo de una oración ambigua es «Detectar los errores en el texto con estructuras
complejas»: sería mejor decir «Detectar los errores en el texto que tiene estructuras
complejas» o «Detectar en el texto los errores que tienen estructuras complejas» o bien
«Detectar a través de las estructuras complejas los errores en el texto». Para este tipo de
procesamiento, en ciertas circunstancias hay que emplear un análisis bastante profundo.
Hechos y coherencia lógica. Probablemente en el futuro los correctores de texto serán
capaces de encontrar los errores en los textos como éstos: «Cuando voy a Inglaterra, quiero
visitar París, la capital de este país». «Primero vino Pedro y después José; ya que José llegó
antes de Pedro, tomó el mejor asiento». Sin embargo, en el estado actual de procesamiento
de lenguaje natural, no se puede todavía crear herramientas de este tipo suficientemente
desarrolladas para ser útiles en la práctica.
El procesamiento del lenguaje natural presenta múltiples aplicaciones:
Corrección de textos.
Traducción automática.
Recuperación de la información.
Extracción de Información y Resúmenes.
Búsqueda de documentos.
Sistemas Inteligentes para la Educación y el Entrenamiento.
Análisis del lenguaje
Comprensión del lenguaje
Reconocimiento del habla
Síntesis de voz
Generación de lenguajes naturales
Respuesta a preguntas
Dificultades en el procesamiento de lenguajes naturales
Ambigüedad
El lenguaje natural es inherentemente ambiguo a diferentes niveles:
A nivel léxico, una misma palabra puede tener varios significados, y la selección del
apropiado se debe deducir a partir del contexto oracional o conocimiento básico. Muchas
investigaciones en el campo del procesamiento de lenguajes naturales han estudiado
métodos de resolver las ambigüedades léxicas mediante diccionarios, gramáticas, bases de
conocimiento y correlaciones estadísticas.
A nivel referencial, la resolución de anáforas y catáforas implica determinar la entidad
lingüística previa o posterior a que hacen referencia.
A nivel estructural, se requiere de la semántica para desambiguar la dependencia de los
sintagmas preposicionales que conducen a la construcción de distintos árboles sintácticos.
Por ejemplo, en la frase Rompió el dibujo de un ataque de nervios.
A nivel pragmático, una oración, a menudo, no significa lo que realmente se está diciendo.
Elementos tales como la ironía tienen un papel importante en la interpretación del mensaje.
Para resolver estos tipos de ambigüedades y otros, el problema central en el PLN es la
traducción de entradas en lenguaje natural a una representación interna sin ambigüedad,
como árboles de análisis.
Detección de separación entre las palabras
En la lengua hablada no se suelen hacer pausas entre palabra y palabra. El lugar en el que
se debe separar las palabras a menudo depende de cuál es la posibilidad que mantenga un
sentido lógico tanto gramatical como contextual. En la lengua escrita, idiomas como el
chino mandarín tampoco tienen separaciones entre las palabras.
Recepción imperfecta de datos
Acentos extranjeros, regionalismos o dificultades en la producción del habla, errores de
mecanografiado o expresiones no gramaticales, errores en la lectura de textos mediante
OCR (reconocimiento óptico de caracteres).
Componentes del Procesamiento de Lenguaje Natural.
Análisis morfológico. El análisis de las palabras para extraer raíces, rasgos
flexivos, unidades léxicas compuestas y otros fenómenos.
Su función consiste en detectar la relación que se establece entre las unidades
mínimas que forman una palabra, como puede ser el reconocimiento de sufijos o
prefijos. Este nivel de análisis mantiene una estrecha relación con el léxico.
El léxico es el conjunto de información sobre cada palabra que el sistema utiliza
para el procesamiento. Las palabras que forman parte del diccionario están
representadas por una entrada léxica, y en caso de que ésta tenga más de un
significado o diferentes categorías gramaticales, tendrá asignada diferentes entradas.
En el léxico se incluye la información morfológica, la categoría gramatical,
irregularidades sintácticas y representación del significado.
Normalmente el léxico sólo contiene la raíz de las palabras con formas regulares,
siendo el analizador morfológico el que se encarga de determinar si el género,
número o flexión que componen el resto de la palabra son adecuados.
Análisis sintáctico. El análisis de la estructura sintáctica de la frase mediante una
gramática de la lengua en cuestión.
Tiene como función etiquetar cada uno de los componentes sintácticos que aparecen
en la oración y analizar cómo las palabras se combinan para formar construcciones
gramaticalmente correctas. El resultado de este proceso consiste en generar la
estructura correspondiente a las categorías sintácticas formadas por cada una de las
unidades léxicas que aparecen en la oración.
Las gramáticas, tal como se muestra en la siguiente figura, están formadas por un
conjunto de reglas:
O --> SN, SV
SN --> Det, N
SN --> Nombre Propio
SV --> V, SN
SV --> V
SP --> Preposición, SN
SN = sintagma nominal
SV = sintagma verbal
Det = determinante
Análisis semántico. La extracción del significado de la frase, y la resolución de
ambigüedades léxicas y estructurales.
En muchas aplicaciones del PLN los objetivos del análisis apuntan hacia el
procesamiento del significado. En los últimos años las técnicas de procesamiento
sintáctico han experimentado avances significativos, resolviendo los problemas
fundamentales.
Sin embargo, las técnicas de representación del significado no han obtenido los
resultados deseados, y numerosas cuestiones continúan sin encontrar soluciones
satisfactorias.
Definir qué es el significado no es una tarea sencilla, y puede dar lugar a diversas
interpretaciones. A efectos funcionales, para facilitar el procesamiento, la
modularidad es una de las propiedades más deseables. Haciendo uso de esta
concepción modular es posible distinguir entre significado independiente y
significado dependiente del contexto.
El primero, tratado por la semántica, hace referencia al significado que las palabras
tienen por sí mismas sin considerar el significado adquirido según el uso en una
determinada circunstancia. La semántica, por tanto, hace referencia a las
condiciones de verdad de la frase, ignorando la influencia del contexto o las
intenciones del hablante. Por otra parte, el componente significativo de una frase
asociado a las circunstancias en que ésta se da, es estudiado por la pragmática y
conocido como significado dependiente del contexto.
Atendiendo al desarrollo en el proceso de interpretación semántica, es posible optar
entre múltiples pautas para su organización, tal como se determinan en los
siguientes párrafos.
En referencia a la estructura semántica que se va a generar, puede interesarnos que
exista una simetría respecto a la estructura sintáctica, o por el contrario que no se dé
tal correspondencia entre ellas. En el primer caso, a partir del árbol generado por el
análisis sintáctico se genera una estructura arbórea con las mismas características,
sobre la cual se realizará el análisis semántico. En el segundo caso, en la estructura
generada por la sintaxis se produce un curso de transformaciones sobre las cuales se
genera la representación semántica.
Cada una de las dos opciones anteriores puede implementarse de forma secuencial o
paralela. En la interpretación secuencial, después de haber finalizado la fase de
análisis sintáctico, se genera el análisis semántico. En cambio, desde un
procedimiento en paralelo, el proceso de análisis semántico no necesita esperar a
que el analizador sintáctico haya acabado toda su tarea, sino que puede ir realizando
el análisis de cada constituyente cuando éste ha sido tratado en el proceso sintáctico.
Finalmente en combinación con cada una de las opciones anteriores, podemos
escoger un modelo en el que exista una correspondencia entre reglas sintácticas y
semánticas o, contrariamente, podemos optar por un modelo que no cumpla tal
requisito. En caso afirmativo, para cada regla sintáctica existirá una regla semántica
correspondiente.
El significado es representado por formalismos conocidos por el nombre de
knowledge representation. El léxico proporciona el componente semántico de cada
palabra en un formalismo concreto, y el analizador semántico lo procesa para
obtener una representación del significado de la frase.
Análisis pragmático. El análisis del texto más allá de los límites de la frase, por
ejemplo, para determinar los antecedentes referenciales de los pronombres.
Añade información adicional al análisis del significado de la frase en función del
contexto donde aparece. Se trata de uno de los niveles de análisis más complejos, la
finalidad del cual es incorporar al análisis semántico la aportación significativa que
pueden hacer los participantes, la evolución del discurso o información presupuesta.
Incorpora así mismo información sobre las relaciones que se dan entre los hechos
que forman el contexto y entre diferentes entidades.
Planificación de la frase. Estructurar cada frase del texto con el fin de expresar el
significado adecuado.
Generación de la frase. La generación de la cadena lineal de palabras a partir de la
estructura general de la frase, con sus correspondientes flexiones, concordancias y
restantes fenómenos sintácticos y morfológicos.
EL FUTURO DEL PROCESAMIENTO AUTOMÁTICO DE LENGUAJE
NATURAL
Ya hay mucho avance en el área de procesamiento automático de lenguaje natural. ¿Cuáles
son las líneas de su desarrollo en el futuro? ¿Cuál es su papel en la tecnología del futuro.
Semántica y pragmática
Hoy en día, la rama de la lingüística computacional que se desarrolla más dinámicamente
es la sintaxis. Creemos que en el futuro próximo el énfasis se moverá a la teoría de
semántica y pragmática del texto. La semántica estudia el significado del texto y desarrolla
los métodos para formar este significado a través de una serie de representaciones
sintácticas de las oraciones.
La pragmática estudia cómo las intenciones del autor del texto están expresadas en el texto.
Cuando uno en la mesa hace la pregunta «¿Me podría pasar la sal?», la respuesta «Sí, soy
capaz técnicamente de pasarle la sal.» no es la debida ¿Cómo puede la computadora saber
la intensión, o la necesidad del usuario en los casos donde no están muy claramente y
directamente expresadas en el texto? Esto es la materia de la pragmática.
Lingüística de texto
Se considera la ciencia del siglo veintiuno la lingüística de texto. Ésta estudia los medios de
conexión de las oraciones en un flujo integral de texto. ¿Cómo están expresadas las ideas
cuando están divididas entre varias oraciones? ¿Cómo las personas saben en qué pedazos
hay que dividir una idea compleja para expresarla en oraciones distintas, porque no la
expresan en una sola oración larguísima? ¿Cómo reunir estos pedazos del sentido para
restaurar el sentido original? Esto es la materia de la lingüística de texto, la ciencia
lingüística del siglo que viene.
Hablar es: saber más pensar
Ahora bien, si desarrollamos todos los diccionarios, las gramáticas, los algoritmos
lingüísticos – ¿ya es suficiente para que la computadora nos entienda y hable como
nosotros hablamos? No. Para entender y hablar, el brillante dominio del idioma no es
suficiente – hay que saber mucho, y hay que pensar. En el futuro se necesita una síntesis de
las ciencias de lenguaje y las ciencias de razonamiento. En este camino lograremos nuestra
tarea: convertir las computadoras en nuestros verdaderos ayudantes en la ocupación
principal de la raza humana – pensar y comunicar.
Las computadoras hablan con nosotros
La tarea final de lingüística computacional es el desarrollo de los robots que pueden actuar
en el mundo real –el mundo de las cosas y de las personas– en el modo parecido al modo en
que actuamos las personas. Para vivir en el mundo de las cosas, un robot necesita poder
distinguirlas y afectarlas con sus acciones. Pero para vivir en el mundo de las personas,
también necesita entenderlas y afectarlas... pero en este caso, a través de lenguaje, pues éste
es nuestra manera de entender y afectar a las personas.
El desarrollo de tales sistemas tiene grandes ventajas tanto para la práctica como para la
ciencia. Para la práctica, habilitará a todas las personas obtener la ayuda de las máquinas
sin aprender a manejarlas, regularlas y programarlas. Es mucho más barato una vez
desarrollar una máquina, aunque muy compleja, y copiar su programa a millones de las
máquinas iguales a ésta, que educar a millones de personas cómo programar una máquina
simple.
Para la ciencia, el desarrollo de los robots autónomos permitirá verificar las teorías de
lenguaje en su funcionamiento real, observando cómo los programas que entienden y
producen el lenguaje logran sus tareas, en qué situaciones tienen problemas y cómo las
resuelven.
Aplicación del PLN en la educación:
El procesamiento de lenguaje natural está en todas las etapas de la educación de las
personas; desde un nivel medio, por ejemplo, sirve como herramienta para mejorar la
calidad de la educación, como soporte de comunicación y colaboración donde, tanto para el
docente como el alumno, podrán disponer de materiales didácticos, acceder a grandes
volúmenes de información, se puede también: buscar la información necesaria, comparar
las fuentes diferentes, y hacer inferencias lógicas y conclusiones, manejar los textos, por
ejemplo, traducirlos a otros idiomas.
La corrección de textos permite la detección y corrección de errores ortográficos y
gramaticales, Para detectar este tipo de errores, la computadora necesita entender en cierto
grado el sentido del texto. Los correctores de gramática detectan las estructuras incorrectas
en las oraciones aunque todas las palabras en la oración estén bien escritas en el lenguaje en
cuestión. El problema de detectar los errores de este tipo es complejo debido a la existencia
de gran variedad de estructuras permitidas.
Para describir las estructuras de las oraciones en el idioma, se usan las llamadas gramáticas
formales, o sea conjuntos de reglas de combinación de palabras y su orden relativo en las
oraciones.
La traducción automática se refiere a la traducción correcta de un lenguaje a otro, tomando
en cuenta lo que se quiere expresar en cada oración.
En el campo de la recuperación de la información han desarrollado sistemas que permiten
obtener información sobre estadísticas deportivas, información turística, geografía etc.. En
lugar de buscar los documentos para encontrar en ellos la respuesta a su pregunta, el
usuario podría hacer su pregunta a la computadora: ¿Cómo se llama el Presidente de
Francia?, ¿Cuáles son los centros más avanzados en Procesamiento del Lenguaje Natural?,
y otras.
Por otra parte Se han desarrollado sistemas con la capacidad de crear resúmenes de
documentos a partir de los datos suministrados. Estos sistemas son capaces de realizar un
análisis detallado del contenido del texto y elaborar un resumen.
También se han desarrollado sistemas inteligentes que permiten modelar el comportamiento
del estudiante, reconocer y procesar sus errores, desarrollar habilidades en la resolución de
problemas y otras actividades del proceso enseñanza y aprendizaje. En ellos el
Procesamiento del Lenguaje Natural juega un papel de relevante importancia en la creación
y desarrollo de interfaces amigables.
Todo esto puede desarrollarse gracias al procesamiento de lenguaje natural o PLN.
Eliza
ELIZA es un programa informático diseñado en el MIT entre 1964 y 1966 por Joseph
Weizenbaum. Eliza fue uno de los primeros programas en procesar lenguaje natural. El
mismo parodiaba al psicólogo Carl Rogers e intentaba mantener una conversación de texto
coherente con el usuario.
Funcionamiento:
ELIZA funciona buscando palabras clave en la frase escrita por el usuario y responde con
una frase modelo registrada en su base de datos.
A veces, las respuestas de este bot conversacional resultaban tan convincentes que al
conversar por primera vez con él, algunas personas creyeron que en verdad estaban
dialogando con un interlocutor humano. Sin embargo, esto tuvo un límite cuando el usuario
encontraba mensajes implícitos o subliminales en las respuestas del bot que en verdad no
existían o no intentaban significar eso. Llegado este punto, la conversación se volvía
incoherente.
Cuando se escribía determinada frase que el bot no conocía, el mismo reformulaba dicha
expresión a modo de pregunta o reflexión.
Más tarde apareció una nueva versión llamada Alizia un poco más avanzada en tecnología
y contenido disponible también en el idioma Español.
Conclusión
El procesamiento del lenguaje natural tiene como objetivo fundamental lograr una
comunicación maquina humano similar a la comunicación humano-humano.
El empleo del lenguaje le permite al hombre trasmitir sus conocimientos, sentimientos,
sensaciones, emociones, y estados de ánimo.
A lo largo de la historia los lenguajes naturales han ido evolucionando, de forma paralela al
desarrollo y evolución de la especie humana.
Han sido varios los sistemas informáticos inteligentes que se han desarrollado que emplean
el procesamiento del lenguaje natural para la mejor comunicación del hombre con la
máquina.
El PLN es un área fascinante que nos enfrenta con nosotros mismos, es decir, nos enfrenta
con la necesidad de comprender cómo operamos cuando usamos el lenguaje. Para lograr
que una computadora use el lenguaje como lo hacemos nosotros, necesitamos saber
primero como es que nosotros podemos utilizar un lenguaje, como es que nuestro cerebro
integra toda la información que recibe y como selecciona la que debe utilizar durante el uso
del lenguaje. Si logramos esta comprensión de nosotros mismos, podríamos también
ordenar nuestros esfuerzos para poder lograr las metas del PLN.
Bibliografía:
www.wipikipedia.com
http://www.cicling.org/ampln/NLP.htm
http://www.elprofesionaldelainformacion.com/contenidos/1997/enero/procesamiento_del_lenguaje_na
tural_revisin_del_estado_actual_bases_tericas_y_aplicaciones_parte_i.html
http://www.businessreviewamericalatina.com/leadership/1157/Watson-la-
inteligencia-artificial-de-IBM
http://www.revistahypatia.org/inteligencia-artificial.html
http://rua.ua.es/dspace/bitstream/10045/33514/1/2013_Hernandez_Gomez_RevPolit
ec.pdf
http://eprints.rclis.org/9598/1/PROCESAMIENTO_DEL_LENGUAJE_NATURAL
_EN_LA_RECUPERACIO_N_DE_INFORMACIO_N.pdf