Descargar

Procesamiento del lenguaje natural para recuperar información (página 2)


Partes: 1, 2

– Recuperación de la información: Un claro ejemplo sería el siguiente: Una persona llega a la computadora y le dice en lenguaje natural que es lo que busca, esta busca y le dice que es lo que tiene referente al tema.

Este trabajo se centra en la última de estas, es decir, la recuperación de la información en textos.

4. El procesamiento del lenguaje natural para la recuperación de información textual.

La complejidad asociada al lenguaje natural cobra especial relevancia cuando necesitamos recuperar información textual [Baeza-Yates, 1999] que satisfaga la necesidad de información de un usuario. Es por ello, que en el área de Recuperación de Información Textual las técnicas de procesamiento de lenguaje natural son muy utilizadas [Allan, 2000], tanto para facilitar la descripción del contenido de los documentos, como para representar la consulta formulada por el usuario, y ello, con el objetivo de comparar ambas descripciones y presentar al usuario aquellos documentos que satisfagan en mayor grado su necesidad de información [Baeza-Yates, 2004].

Dicho de otro modo, un sistema de recuperación de información textual lleva a cabo las siguientes tareas para responder a las consultas de un usuario.

– Indexación de la colección de documentos: en esta fase, mediante la aplicación de técnicas de procesamiento de lenguaje natural, se genera un índice que contiene las descripciones de los documentos. Normalmente, cada documento es descrito mediante el conjunto de términos que, hipotéticamente, mejor representa su contenido.

– Cuando un usuario formula una consulta, el sistema la analiza, y si es necesario la transforma, con el fin de representar la necesidad de información del usuario del mismo modo que el contenido de los documentos.

– El sistema compara la descripción de cada documento con la descripción de la consulta, y presenta al usuario aquellos documentos cuyas descripciones más se asemejan a la descripción de su consulta.

– Los resultados suelen ser mostrados en función de su relevancia, es decir, ordenados en función del grado de similitud entre las descripciones de los documentos y de la consulta.

No existen técnicas de procesamiento del lenguaje natural que permitan extraer de forma inequívoca el significado de un documento o una consulta. La comunidad científica está dividida en cuanto a los procedimientos a seguir para alcanzar tal objetivo. A continuación, detallamos el funcionamiento y las peculiaridades de las dos principales aproximaciones para el procesamiento del lenguaje natural: de un lado, la aproximación estadística, de otro, el enfoque lingüístico. Ambas propuestas difieren, aunque en la práctica los sistemas para el procesamiento del lenguaje natural suelen utilizar una aproximación mixta, combinando técnicas propias de ambos enfoques. [Pedraza-Jiménez, 2007]

4.1. Procesamiento estadístico del lenguaje natural

El procesamiento estadístico del lenguaje natural [Manning, 1999] representa el modelo clásico de los sistemas de recuperación de información, y se caracteriza porque cada documento está descrito por un conjunto de palabras clave denominadas términos índice.

Este enfoque se basa en lo que se ha denominado como "bolsa de palabras". En esta aproximación, todas las palabras de un documento se tratan como términos índices para ese documento. Además se asigna un peso a cada término en función de su importancia, determinada normalmente por su frecuencia de aparición en el documento. De este modo, no se toma en consideración el orden, la estructura, el significado, etc. de las palabras.

Estos modelos se limitan, por tanto, a emparejar las palabras en los documentos con las palabras en las consultas. Su simplicidad y eficacia los han convertido hoy en los modelos más utilizados en los sistemas de recuperación de información textual.

En este modelo el procesamiento de los documentos consta de las siguientes etapas:

– Preprocesado de los documentos: consiste fundamentalmente en preparar los documentos para su parametrización, eliminando aquellos elementos que se consideran superfluos.

– Parametrización: es una etapa de complejidad mínima una vez se han identificado los términos relevantes. Consiste en realizar una cuantificación de las características (es decir, de los términos) de los documentos.

El preprocesado de los documentos consta de tres fases básicas:

– Eliminación de los elementos del documento que no son objeto de indexación (o stripping), como podrían ser ciertas etiquetas o cabeceras de los documentos.

Normalización de textos, que consiste en homogeneizar todo el texto de la colección de documentos sobre la que se trabajará, y que afecta por ejemplo a la consideración de los términos en mayúscula o minúscula; el control de determinados parámetros como cantidades numéricas o fechas; el control de abreviaturas y acrónimos, eliminación de palabras vacías mediante la aplicación de listas de palabras función (preposiciones, artículos, etc.), la identificación de N-Gramas (los términos compuestos, ejemplo: recuperación de información, lenguaje natural, etc.).

– Lematización de los términos, que es una parte del procesamiento lingüístico que trata de determinar el lema de cada palabra que aparece en un texto. Su objetivo es reducir una palabra a su raíz, de modo que las palabras clave de una consulta o documento se representen por sus raíces en lugar de por las palabras originales. El lema de una palabra comprende su forma básica más sus formas declinadas. Por ejemplo, "informa" podría ser el lema de "información", "informaciones", e "informar". El proceso de lematización se lleva a cabo utilizando algoritmos de radicación (o stemming), que permiten representar de un mismo modo las distintas variantes de un término, a la vez que reducen el tamaño del vocabulario y mejoran, en consecuencia, la capacidad de almacenamiento de los sistemas y el tiempo de procesamiento de los documentos. No obstante, estos algoritmos presentan el inconveniente de no agrupar en ocasiones palabras que deberían estarlo, y viceversa, mostrar como iguales palabras que realmente son distintas.

En cuanto a la parametrización de los documentos, consiste en asignar un peso a cada uno de los términos relevantes asociados a un documento. El peso de un término se calcula normalmente en función de su frecuencia de aparición en el documento, e indica la importancia de dicho término como descriptor del contenido de ese documento.

Uno de los métodos más utilizados para estimar la importancia de un término es el conocido sistema TF.IDF (Term Frecuency, Inverse Document Frecuency). Está pensado para calcular la importancia de un término en función de su frecuencia de aparición en un documento, pero supeditado a su frecuencia de aparición total en el conjunto de documentos de la colección. Es decir, el hecho de que un término aparezca muchas veces en un documento es indicativo de que ese término es representativo del contenido del mismo, pero siempre y cuando este término no aparezca con una frecuencia muy alta en todos los documentos. De ser así, no tendría ningún valor discriminatorio. Por ejemplo, en una base de datos de computación no tendría ningún sentido representar el contenido de un documento por la palabra computadora, por más veces que ésta aparezca. [Pedraza-Jiménez, 2007]

Aunque se han mencionado de pasada, es necesario describir dos técnicas muy utilizadas en el procesamiento estadístico del lenguaje natural, estas son:

– La detección de N-Gramas: consiste en la identificación de aquellas palabras que suelen aparecer juntas (Palabras compuestas, nombres propios, etc.) con el fin de tratarlas como una sola unidad conceptual. Suele hacerse estimando la probabilidad de que dos palabras que aparecen, con cierta frecuencia juntas constituyan realmente un solo término.

– Listas de palabras vacías o palabras función (stopwords lists): una lista de palabras vacías es un listado de términos (preposiciones, determinantes, pronombres, etc.) considerados de escaso valor semántico, que cuando se identifican en un documento se eliminan, sin considerarse términos índices para la colección de textos a analizar. La supresión de todos estos términos evita los problemas de ruido documental y supone un considerable ahorro de recursos, ya que aunque se trata de un número relativamente reducido de elementos tienen una elevada tasa de frecuencia en los documentos.

4.2. Procesamiento lingüístico del lenguaje natural.

Esta aproximación se basa en la aplicación de diferentes técnicas y reglas que codifican de forma explicita el conocimiento lingüístico [Sanderson, 2000]. Los documentos son analizados a partir de los diferentes niveles lingüísticos, por herramientas lingüísticas que incorporan al texto las anotaciones propias de cada nivel. A continuación se muestran los diferentes pasos a realizar para llevar a cabo un análisis lingüístico de los documentos aunque ello no implica que se apliquen en todos los sistemas.

edu.red

Figura 1. Arquitectura de un sistema de procesamiento lingüístico del lenguaje natural.

– El usuario le expresa a la computadora que es lo que desea hacer.

– La computadora analiza las oraciones proporcionadas, en el sentido morfológico y sintáctico, es decir, la composición de las palabras, y si la estructura de las oraciones es correcta.

– El siguiente paso, es analizar las oraciones semánticamente, es decir, saber cual es el significado de cada oración, y asignar el significado de estas a expresiones lógicas.

– Luego pasamos al análisis pragmático de la instrucción, es decir una vez analizadas las oraciones, ahora se analizan todas juntas, tomando en cuenta la situación de cada oración, analizando las oraciones anteriores, después de esto, la computadora ya sabe que es lo que debe hacer, es decir, ya tiene la expresión final.

– Una vez obtenida la expresión final, el siguiente paso es la ejecución de esta, para obtener así el resultado y poder proporcionárselo al usuario.

Nivel Morfológico.

La Morfología se ocupa de la formación de palabras a partir de las unidades más básicas de significado denominadas morfemas. Parte de la lingüística que estudia la estructura interna de las palabras, su flexión, derivación y composición. [Wikipedia, 2008]

Ejemplo: pensamos = pens + amos.

Técnicas de análisis morfológico

Con estas se persigue capturar las regularidades morfológicas del lenguaje humano y aprovecharlas para reducir el tamaño del léxico. Es preferible poder derivar raíz+forma-verbal que listar todas las formas del verbo. Solo se listan las formas irregulares. [Hidalgo, 2006] Ejemplo

Entrada => forma

Salida => lema + rasgos morfológicos

Entrada Salida

cat cat + N + sg

cats cat + N + pl

A continuación se mencionas algunas técnicas utilizadas para el procesamiento del lenguaje natural en el nivel morfológico.

Técnicas de estados finitos

  • Autómatas (analizadores de un nivel).

  • Transductores (analizadores de dos o más niveles).

Técnicas basadas en reglas

  • Equivalentes en expresividad a las anteriores.

  • Reglas de reconocimiento y transformacionales.

  • Gramáticas regulares, contextuales, basadas en unificación.

edu.red

Figura 2 Ejemplo de un autómata de estados finitos (autómata compilado).

Nivel sintáctico.

La sintaxis, es una parte importante del análisis gramatical, se encarga del estudio de las reglas que gobiernan la combinatoria de constituyentes y la formación de unidades superiores a éstos, como los sintagmas y oraciones. [Wikipedia, 2008]

Tipos de formas de representar al conocimiento sintáctico.

Formalismo gramatical.

  • Lenguaje de representación de información sintáctica.

Gramática – G.

  • Representación de la estructura de un lenguaje, en un formalismo gramatical.

Árbol de análisis.

  • Representación de la estructura de una oración concreta de un lenguaje concreto (caracterizado por una gramática expresada en un formalismo).

Ejemplo de gramática para expresiones matemáticas sencillas, sólo con suma y producto y utilizando solamente a "a" como variable y paréntesis para agrupar.

edu.red

edu.red

Figura 3. Ejemplo de árbol de análisis para la expresión (a+a)*a.

Algoritmos de análisis sintácticos.

Un algoritmo de análisis sintáctico (parser) permite decidir si una expresión en lenguaje natural pertenece al lenguaje generado por una gramática y, en caso afirmativo, asigna una o más estructuras (árboles) de análisis a la misma. [Hidalgo, 2006]

Ejemplos de análisis simples posibles a utilizar.

  • Análisis descendente por la izquierda con vuelta atrás (Análisis Descendente Simple, ADS).

  • Análisis ascendente por la izquierda con vuelta atrás (Left Corner Parsing, LCP).

Estos se caracterizan por tener una complejidad exponencial, independientemente de la estrategia de búsqueda utilizada, por lo que se consideran muy ineficientes. Además aunque son fáciles de implementar tienen el problema de que repiten cálculos, hay ramas enteras de los árboles de búsqueda duplicadas. Una solución posible es guardar cálculos parciales utilizando un análisis basado en diagramas.

Ejemplo de análisis eficientes posibles a utilizar.

  • Análisis basado en diagramas.

Estos tienen como ventajas que son más eficientes y que no se repiten cálculos. Además se puede reconstruir el árbol de análisis.

Ejemplos de análisis más eficientes posibles a utilizar.

  • Existen para gramáticas no ambiguas (LR (0), LR (1), etc.).

  • Para gramáticas ambiguas, algoritmo de Tomita que es una extensión de LR (1).

En general los análisis LR(n) son análisis lineales a la derecha y la n es el número de términos a analizar en la cadena de entrada para realizar cada paso del análisis.

Nivel Semántico

La semántica se dedica al estudio del significado de los signos lingüísticos y de sus combinaciones, desde un punto de vista sincrónico o diacrónico. [Wikipedia, 2008]

La tarea de determinar el significado de una oración en lenguaje natural se puede descomponer en dos fases:

Calcular una expresión del significado independiente del contexto (típicamente una fórmula lógica) => semántica.

Interpretar la expresión anterior en su contexto para obtener una representación final del significado => pragmática.

La semántica cubre, por ejemplo:

– Eliminación de algunos significados de palabras explotando restricciones estructurales.

– Identificación de los papeles semánticos que cada palabra y sintagma juega en la representación (lógica).

– Identificación de las restricciones de correferencia derivadas de la estructura de la oración.

Formas fundamentales de integrar el análisis semántico con el análisis sintáctico.

Modularización o acoplamiento débil.

  • La entrada del análisis semántico es un árbol de análisis sintáctico.

  • Modular, divide los dos procesos en módulos independientes.

Acoplamiento fuerte.

  • La entrada del análisis semántico es la expresión en lenguaje natural.

  • Se construye la representación del significado al tiempo que se realiza el análisis sintáctico. Este proceso combinado es muy eficiente.

Las expresiones en lenguaje natural o una representación sintáctica suya deben ser traducidas a un lenguaje elegido para representar el significado de estas. [Hidalgo, 2006]

Características que debe de tener el lenguaje elegido para representar el significado.

– Mientras que el lenguaje natural puede ser ambiguo, el lenguaje de representación no debe serlo.

– Mientras que es complejo especificar reglas para determinar que una afirmación en lenguaje natural es cierta o falsa, el lenguaje de representación debe ir acompañado de un conjunto de reglas que permitan especificar que condiciones deben cumplirse en el mundo para que una expresión en el lenguaje de representación sea cierta.

– Mientras que es difícil establecer que conclusiones se pueden extraer de una afirmación en lenguaje natural, el lenguaje de representación debe ir acompañado de reglas de inferencia que permitan derivar otras expresiones en el mismo a partir de una expresión concreta (manteniéndose las condiciones de veracidad).

Formas de organizar el proceso de análisis semántico.

Principio de composicionalidad (Frege, s.XIX) basado en que, "el significado del todo es una función del significado de las partes".

El significado de una oración se pone en función del significado de sus sintagmas, luego, el significado de los sintagmas se pone en función del significado de los subsintagmas y palabras y así se llega al significado de las palabras o incluso de los morfemas (lexemas).

Lógica y Semántica procedimental.

La lógica es el intento de formalizar el razonamiento humano. Numerosos sistemas prácticos de procesamiento del lenguaje natural cuentan con componente semántica basada en la lógica.

La semántica procedimental se basa en las siguientes transformaciones.

El significado de una orden es un procedimiento para realizar la acción requerida.

El significado de una pregunta es un procedimiento para averiguar la respuesta.

El significado de una afirmación es un procedimiento para agregar la nueva información al modelo del mundo o dominio.

Se apoya en una base de conocimiento o base de datos y tiene como objetivo interpretar una forma lógica como una consulta a la base de datos.

Nivel pragmático

La Pragmática es un subcampo de la lingüística, también estudiado por la filosofía del lenguaje. Es el estudio del modo en que el contexto influye en la interpretación del significado. El contexto debe entenderse como situación, ya que puede incluir cualquier aspecto extralingüístico. La Pragmática toma en consideración los factores extralingüísticos que determinan el uso del lenguaje, esto es, todos aquellos factores a los que no se hace referencia en un estudio puramente gramatical. [Wikipedia, 2008]

El análisis pragmático trata de solucionar situaciones que la semántica no cubre, por ejemplo:

– Determinación de las entidades referidas por medio de sintagmas nominales y otros sintagmas.

Selección de una única representación del significado de entre las posibles.

– Determinación de la intención del uso de cada expresión en lenguaje natural.

– 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. [Sosa, 1999].

Una de las herramientas más utilizadas en el procesamiento semántico es la base de datos lexicográfica WordNet. Se trata de un léxico semántico anotado en diferentes lenguas, formado por grupos de sinónimos llamados synsets de los que se facilitan definiciones cortas y se almacenan las distintas relaciones semánticas entre estos grupos de sinónimos. [Pedraza-Jiménez, 2007]

5. Campos de investigación relacionados.

Existen diferentes campos de investigación relacionados con la recuperación de información y el procesamiento del lenguaje natural que enfocan el problema desde otra perspectiva, pero cuyo objetivo final es facilitar el acceso a la información.

La extracción de información consiste en extraer las entidades, los eventos y relaciones existentes entre los elementos de un texto o de un conjunto de textos. Es una forma de acceder eficientemente a documentos grandes, pues extrae partes del documento que muestran el contenido de éste. La información generada puede utilizarse para bases de conocimiento u ontologías.

La generación de resúmenes se basa en condensar la información más relevante de un texto. Las técnicas utilizadas varían según la tasa de compresión, la finalidad del resumen, el género del texto, el idioma (o idiomas) de los textos de partida, entre otros factores.

La búsqueda de respuesta tiene como objetivo dar una respuesta concreta a la pregunta formulada por el usuario. Las necesidades de información han de estar muy definidas: fechas, lugares, etc. En este caso el procesamiento del lenguaje natural trata de identificar el tipo de respuesta a facilitar (mediante la desambiguación de la pregunta, el análisis de las restricciones fijadas, y el uso de técnicas para la extracción de información). Estos sistemas son considerados como uno de los potenciales sucesores de los actuales sistemas de recuperación de información. START Natural Language System es un ejemplo de estos sistemas.

La recuperación de información multilingüe consiste en la posibilidad de recuperar información aunque la pregunta y/o los documentos estén en diferentes idiomas. Son utilizados traductores automáticos de los documentos y/o de las preguntas, o mecanismos interlingua para crear interpretaciones de los documentos. Estos sistemas suponen un gran reto, pues combinan dos aspectos claves en el actual contexto de la Web, la recuperación de información y el tratamiento de información multilingüe.

Las técnicas automáticas de clasificación de textos, consistentes en la asignación automática de un conjunto de documentos a categorías de clasificación predefinidas. La correcta descripción de las características de los documentos (normalmente mediante el uso de técnicas estadísticas preprocesado y parametrización) determinará en gran medida la calidad de los agrupamientos/categorizaciones propuestos por estas técnicas. [Pedraza-Jiménez, 2007]

6. Conclusiones

Con el objetivo de dar a conocer el estado actual del Procesamiento del Lenguaje Natural se han definido, de forma concisa, los principales conceptos y técnicas asociados a esta disciplina.

Así mismo, se ha comprobado que, pese a su madurez, el procesamiento del lenguaje natural es una disciplina viva y en pleno desarrollo, con multitud de retos que superar fruto de la ambigüedad subyacente al lenguaje natural.

Se ha prestado especial atención a la diferenciación entre los métodos estadístico y lingüístico para el procesamiento del lenguaje natural. Pese a que las comunidades científicas defensoras de ambas aproximaciones suelen aparecer enfrentadas, las aplicaciones de procesamiento del lenguaje natural suelen hacer un uso combinado de las técnicas procedentes de ambos enfoques.

En relación con la recuperación de información, las técnicas de procesamiento estadístico son las más extendidas en las aplicaciones comerciales. No obstante, el comportamiento y eficacia de las distintas técnicas de procesamiento de lenguaje natural estará condicionado en función de la naturaleza de la tarea que tratemos de resolver, de las características de los documentos a analizar, y del coste computacional que podamos asumir.

Se debe de continuar trabajando con el fin de encontrar nuevas técnicas o enfoques que contribuyan a superar las deficiencias de las existentes.

7 Referencias.

1. Strzalkowski, T. (1999).Natural Language Information Retrieval. Netherlands: Kluwer Academic Publishers.

2. Pedraza-Jiménez, M. V. y. R. (2007). "El Procesamiento del Lenguaje Natural en la Recuperación de Información Textual y áreas afines".

3. Baeza-Yates, R. and Ribeiro-Neto, Berthier (1999). Modern information retrieval. Addison-Wesley Longman.

4. Allan, J. (2000).NLP for IR – Natural Language Processing for Information Retrieval http://citeseer.ist.psu.edu/308641.html [consultado 26-2-2007].

5. Baeza-Yates, R. (2004). Challenges in the Interaction of Information Retrieval and Natural Language Processing. in Proc. 5 th International Conference on Computational Linguistics and Intelligent Text Processing (CICLing 2004), Seoul , Corea. Lecture Notes in Computer Science vol. 2945, pages 445-456, Springer.

6. Manning, C. D. and Schütze, H. (1999). Foundations of statistical natural language processing. MIT Press. Cambridge, MA: May, 680 p.

7. Sanderson, M. (2000). Retrieving with good sense, In: Information Retrieval, 2, 49-69.

8. Wikipedia 2008. Conceptos, Lenguaje, morfología, sintaxis, semántica, pragmática. . Wikipedia, la enciclopedia libre.

9. Hidalgo, J. M. G. (2006). Procesamiento del lenguaje natural. Análisis morfológico.

10. Hidalgo, J. M. G. (2006). Procesamiento del lenguaje natural. Análisis semántico.

11. Hidalgo, J. M. G. (2006). Procesamiento del lenguaje natural. Análisis sintáctico.

12. Hidalgo, J. M. G. (2006). Procesamiento del lenguaje natural. Introducción.

13. Hidalgo, J. M. G. (2001). Procesamiento del Lenguaje Natural. Primera Conferencia de Procesamiento del Lenguaje Natural de la Universidad Europea de Madrid

14. Sosa, E. (1999). Procesamiento del lenguaje natural: revisión del estado actual, bases teóricas y aplicaciones La profesional de la información.

15. Mena, A. M. (2007). "Procesamiento del Lenguaje Natural para Recuperación de Información."

 

 

 

Autor:

MsC. Agustín Alejandro Ortiz Díaz

(Universidad de Granma).

Lic. Amaury Rondón Aguilar

(Centro de desarrollo Local, SUM Media Luna).

Lic. Luis Alberto Pernía Nieves

(Universidad de Granma).

MSc. Yordan Camejo Sequeira

(Centro de desarrollo Local, SUM Media Luna).

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente