Problemas que presentan los PLN

Del conjunto de problemas que afectan a los procesadores de lenguaje natural vamos a citar los más importantes. Lo ideal sería un procesador que tuviera toda la gramática incluida, al existir un número muy importante de reglas. Ciertos investigadores se inclinan por construir procesadores que se anticipen al error incluyéndolo en las reglas sintácticas, mientras que otros, haciendo me nos hincapié en consideraciones sintácticas, logran sistemas menos sensibles a dichos errores. Otro problema a considerar, por su amplia utilización, es el uso de pronombres. Estos y otros problemas dan una idea de la complejidad de los procesadores de lenguaje natural y del largo camino de investigación que queda por recorrer. Si se piensa que la solución estos interfaces, que es permitir al profano comunicarse en su propio idioma. 

Arquitectura de un procesador de lenguaje natural

Un procesador de lenguaje natural es uno de los módulos que componen un sistema de recuperación de información. Su misión es analizar, tanto semántica como sintácticamente, las preguntas del usuario y crear una estructura formal que luego se traduzca al lenguaje propio del sistema asociado. El proceso que sigue una pregunta se puede resumir mediante un diagrama de bloques; el procesador de lenguaje natural abarca únicamente los tres primeros módulos.

Partiendo de una pregunta se crea una estructura única comprensible por el sistema asociado. Casi todos los productos que hoy en día se comercializan en el mercado presentan esta distribución. El intérprete francés SAP-HIR, tiene una gran similitud con el esquema típico de estos sistemas. En él se pueden apreciar los módulos de corrección de errores morfológicos y léxicos, así como el que realiza la función de concretar, estableciendo un diálogo con el usuario, las preguntas ambiguas o imprecisas. Una vez visto de forma general dónde se enclava un PLN, el siguiente paso es describir en mayor detalle los distintos módulos que componen dicho sistema (Analizador, Diccionario y Direccionado) y su implantación en diversos programas.

EL ANALIZADOR

El analizador es el programa que estudia la gramática de la oración. Dicha gramática definirá la función de cada palabra dentro de la frase. La clave del éxito o del fracaso de un procesador de lenguaje natural es la representación de dicho lenguaje. Entre los distintos tipos de representaciones las más común-mente usadas son los árboles funcionales y las estructuras temáticas, apoyándose ambas en la forma en que una idea se expresa en palabras y frases. En la primera el analizador crea los árboles a partir de las reglas sintácticas de construcción de oraciones, mientras que el procesador de estructuras determina cómo los distintos sintagmas nominales se relacionan con el verbo. Si se considera la frase “Begoña compró unas manzanas rojas en el mercado”, el árbol funcional se compondría (de un sintagma nominal, más el sintagma verbal, compuesto a su vez del verbo con su sintagma nominal, y la frase preposicional con su sintagma nominal correspondiente. Como vemos, los métodos son completamente diferentes: en los árboles el fin del analizador es determinar la función de cada palabra dentro de la oración, mientras que en las estructuras temáticas es determinar cómo se relaciona cada sintagma nominal con el verbo. Son dos teorías que en algunos casos se pueden complementar, la sintaxis y la semántica. Dentro de los árboles funcionales se han definido cuatro métodos de construcción de los mismos: la gramática de libre contexto, las redes de transición, las redes de transición aumentadas (ATN) y el analizador WASP (Wait-and-see), siendo cada uno de ellos más complejo que el anterior. Por el contrario, en las estructuras temáticas sólo existe un método: averiguar el papel que los sintagmas nominales juegan dentro de la oración. Uno de ellos se identificará con el sujeto que realiza la acción, otro con lo que se realiza (objeto directo) y otros con diversas circunstancias. 

EL DICCIONARIO

La función fundamental de un diccionario, aparte de almacenar un conjunto de palabras, es representar las relaciones entre las mismas. Una palabra puede representar una relación, un atributo o un valor. Igual que el analizador debe contener categorías gramaticales y, por otra parte, un gran número de significados. El diccionario puede estar estructurado en forma de redes, donde cada nudo es una palabra y el arco entre dos nudos la relación entre los mismos, o bien en forma de campos jerárquicos. Una característica que debe incorporar el diccionario es la posibilidad de aceptar nuevas palabras que el usuario va introduciendo en la conversación.

EL DIRECCIONADOR

La representación interna de las preguntas en lenguaje natural es uno de los aspectos claves en un procesador. De todas las posibles representaciones se debe optar por la que más fácilmente se ajuste al idioma utilizado. No deben existir, al contrario que en el lenguaje natural, inexactitudes de ningún tipo: todos los predicados en la representación interna deben ser precisos. Una ambigüedad puede producir errores posteriores. Asimismo, la estructura funcional (es decir, cómo están ordenados funcionalmente los distintos objetos) debe quedar explicitada en el predicado.