A. Gelbukh. Tendencias recientes en el procesamiento de lenguaje natural. Proc. SICOM-2002, Villahermosa, Tabasco, México, 2002.
Tendencias recientes
en el procesamiento de lenguaje natural
Centro de Investigación en Computación (CIC),
Instituto Politécnico Nacional (IPN), México.
gelbukh(?)cic.ipn.mx, www.gelbukh.com
Resumen. Las técnicas de procesamiento de lenguaje natural permiten a las computadoras entender (a cierto grado) el texto o el habla en el lenguaje humano (por ejemplo, español) y ejecutar las tareas que requieren de tal comprensión. Entre éstas, la búsqueda de información, la traducción automática de un lenguaje a otro (digamos, de inglés a español), el diálogo con el usuario para escuchar sus órdenes y comunicarle las respuestas, etc. Recientemente este campo de investigación es muy activo. El artículo da una presentación resumida de las tareas técnicas y problemas científicos en el procesamiento de lenguaje natural, las técnicas que han tenido más éxito, así como el estado actual y las tendencias recientes en su solución. Se discutan algunos problemas pendientes a resolver.
Palabras clave: procesamiento de texto, procesamiento de leguaje natural, lingüística computacional, análisis semántico.
1 Introducción
El recurso más importante que posee la raza humana es conocimiento, o sea 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.
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.
En este artículo se discutan las aplicaciones más importantes de esta ciencia que justifican el esfuerzo de su desarrollo, los problemas que se enfrentan en este camino, las ideas y los métodos que se usan para atacarlos, y las tendencias recientes en estas aplicaciones e ideas. También, se discutirá la situación actual en México del desarrollo de esta ciencia.
2 Búsqueda 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 como 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). Una excelente revisión del estado del arte en esta área se puede encontrar en [3].
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 [15, 16].
· 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 [10, 13], 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 [18].
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.
3 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 (las cuales sólo en el mundo hispanohablante son 400 millones), generación tras generación, aprendan cómo usar las máquinas –por ejemplo, aprendan el SQL para formular con precisión sus preguntas.
De esto surge la idea ya muy conocida de las películas de fantaciencia: las personas debemos poder hablar con las máquinas (o sea, los robots) como hablaríamos con nuestros sirvientes, dándoles órdenes en la forma cotidiana y escuchando sus respuestas.
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.
Un tipo específico de las interfaces en lenguaje natural son preguntas complejas a una base de datos [21]. Como un ejemplo, podemos mencionar el sistema TRAINS desarrollado en la Universidad de Rochester en los EE.UU. por James Allen. Este sistema vende los boletos de tren. El cliente –que puede ser cualquier persona sin ningún conocimiento sobre las máquinas– llama por teléfono a la estación de trenes y formula su necesidad: tengo que ir mañana en la tarde a Nueva York. El programa –sin siquiera darse cuenta el cliente de que habla con una máquina y no con una persona– trata de entender su pregunta e internamente la traduce a SQL, para ejecutar la búsqueda en su base de datos. Después, el programa conduce (por teléfono) el diálogo con el usuario, explicándole los precios y las condiciones, escuchando sus preguntas o comentarios sobre cuál boleto más le conviene, etc. Finalmente, si llegan al acuerdo, le reserva el boleto. Todo eso, nuevamente enfatizamos, no requiere del cliente ningún conocimiento previo sobre el manejo de los programas sino sólo el manejo natural de lenguaje que cotidianamente usa para hablar con otras personas.
El problema más importante de este tipo de aplicaciones es que –a diferencia de las aplicaciones en la recuperación de información– se requiere entender exactamente la intención del usuario, ya que el costo de error puede ser muy alto. Realmente, si el robot entiende incorrectamente el comando, pude hacer alguna acción destructiva o peligrosa. Si se malentiende la pregunta a la base de datos, la información proporcionada resultará incorrecta, lo que puede causar consecuencias graves.
Entonces, 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 [23].
4 Traducción automática
Históricamente, el sueño de la traducción automática (en aquellos tiempos, entre los idiomas ruso e inglés) 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 [7, 8], 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 profundos 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 (véase más abajo). 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 comprende 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.
Otro ejemplo de una función léxica es el significado de mucho o muy: té cargado, voz alta, viento fuerte, gran vergüenza, alto mar, idiota perfecto, amigo incondicional, correr rápido, saber al dedillo. Las funciones tienen sus denominaciones, por ejemplo, la función que significa muy tiene la denominación Magn, es decir, Magn (saber) = al dedillo. Se usan las combinaciones de estas funciones para formar otras funciones compuestas o para expresar las transformaciones equivalentes [5].
Nótese también que estas funciones son, en muchos casos, diferentes en diferentes lenguajes (como en el ejemplo de pay attention / prestar atención), lo que justifica su trato indirecto y separado en cada lenguaje en el proceso de traducción o generación.
4 Aplicaciones recientes y emergentes
Ya que en un artículo no hay espacio para describir todas las aplicaciones interesantes de las técnicas de procesamiento de lenguaje natural, sólo podemos mencionar aquí las que llamaron mayor atención o recibieron mayor desarrollo en los últimos años.
4.1 Bibliotecas digitales
Como ya hemos discutido en este artículo, el tesoro más valioso de la raza humana –su conocimiento y su cultura– se concentra en grandes acervos de textos (libros, revistas, periódicos) escritos en el lenguaje natural. Tradicionalmente tales acervos se llaman bibliotecas y han jugado un papel único en difusión y conservación de la cultura y conocimiento.
Sin embargo, hasta ahora la tecnología de mantenimiento de las bibliotecas era muy rudimentaria: eran almacenes de libros con un soporte muy básico para encontrar un libro si ya se sabe el autor y título. El «rendimiento» de tal difusión de conocimiento era muy bajo: se puede decir que la mayoría de la información escrita en los libros no se encontraba por quien la necesitaba y en el momento cuando se necesitaba.
Con el tratamiento digital de información la utilidad de las bibliotecas –que en este caso se llaman bibliotecas digitales– se aumenta hasta convertirlos en los servicios integrados y complejos de información cultural, científica y técnica. Obviamente, las facilidades de búsqueda inteligente proporcionadas por las tecnologías de lenguaje natural son sólo una parte de la solución integral, la cual involucra también aspectos técnicos, administrativos, legales y culturales.
4.2 Extracción de información, filtrado y alerta
Otra posibilidad que se abrió con la aparición de grandes volúmenes de textos, que además crecen constantemente es la creación de bases de datos específicos a través de la información que se comunica en los textos. Por ejemplo, crear una base de datos que guarda las atracciones turísticas por lugares, fechas y servicios, extrayendo esta información automáticamente de las descripciones en las páginas web y la propaganda de las compañías turísticas. O bien, una base de datos de oferta y demanda de soluciones tecnológicas, que podría ser útil para una compañía de consultoría. Obviamente, este tipo de tareas requiere de cierto grado de comprensión de texto por parte de la máquina, aunque en un dominio acotado.
Otra tarea similar es el filtrado de información nueva, por ejemplo, de las noticias publicadas por las agencias. De muchos miles de noticias, el agente de filtrado selecciona sólo las que corresponden al perfil de intereses del usuario específico y las presenta en su escritorio. Si las noticias de este tipo aparecen muy raramente, la tarea se llama servicio de alerta: el agente advierte al usuario si aparece algo de su interés (digamos, la compañía cliente cambia de presidente).
4.3 Sumarización
Otro modo de filtrar la información relevante en el mar de la irrelevante es la presentación resumida, o sea (usando un anglicismo) sumarización de información. Se trata de analizar un texto grande (o una colección grande de textos), generar un informe corto de todo lo relevante que dicen estos textos, para darle al lector una idea de su contenido sin la necesidad para éste leer todos los textos.
Existen diferentes variantes de la tarea de sumarización. Por ejemplo, se puede buscar la opinión prevalente (más común) sobre el tema dado. Digamos, hay muchos artículos sobre el procesamiento de lenguaje natural, pero ¿cuáles son los problemas que más se discutan? ¿cuáles son las soluciones que más frecuentemente se proponen?
Una variante de sumarización es la sumarización temática de texto: presentar un breve informe sobre los temas (aunque no las ideas) que se discutan en un texto dado [11], por ejemplo: el texto habla sobre guerra, política y narcotráfico; el otro habla sobre ciencia, tecnología y transporte. A pesar de menor riqueza de esta presentación –en comparación con los resúmenes completos– tiene algunas ventajas: es más simple de obtener y entonces da resultados más seguros y estables; además, permita realizar operaciones matemáticas con los conjuntos (vectores) de temas obtenidos [12].
4.4 Minería de texto
En las cantidades de texto grandes se puede no sólo encontrar lo que está escrito explícitamente en alguno de los textos, sino también descubrir cosas nuevas ¡de las cuales todavía nadie se dio cuenta! Por ejemplo, detectar tendencias, relaciones y anomalías [19, 20]. Digamos, detectar que en el estado X la popularidad del gobierno empieza a caer (y al darse cuenta de esto, tomar medidas adecuadas a tiempo) –una tendencia. O bien, que en los estados donde las gobernadoras son mujeres hay más satisfacción de la población con el gobierno –una relación. O bien, que el periódico X no publicó los informes sobre el evento que la mayoría de los periódicos discutió extensivamente –una anomalía.
Nótese que (a diferencia de las tareas de búsqueda, filtrado o extracción) esta información no está escrita explícitamente en algún texto sino se descubre con los métodos estadísticos. Nótese también que la minería de texto es un otro modo de la presentación resumida (sumarización) de información, aunque no de información explícita sino implícita en los textos.
4.5 Manejo inteligente de documentos oficiales (e-Gobierno)
Las sociedades democráticas tienden que ser también burocráticas. Esto se debe, primero, al gran número de los documentos que circulan ya que cada ciudadano hace efectivos sus derechos a petición, apelación, opinión, etc., y segundo, al gran número de personas involucradas en la consideración de tales documentos de tal manera que el poder de la decisión no se concentra en las manos de una o pocas personas. Por otro lado, esta situación causa retrasos y desorden cuando el flujo de documentos rebasa las capacidades del sistema burocrático.
Una solución eficiente a este problema, que permite avenir la democracia con la eficacia es el procesamiento automático de documentos, por lo menos en los aspectos de clasificación y distribución del flujo de documentos [1, 2, 17], búsqueda de documentos relevantes y parecidos, etc. Por ejemplo, un sistema automático puede girar los documentos a los funcionarios o departamentos relevantes. Puede agrupar los documentos que describen los casos parecidos para su consideración conjunta en una sola reunión. Puede facilitar al funcionario la búsqueda de los casos parecidos en el pasado, con el dictamen correspondiente, para que se quede a su consideración si un dictamen similar podría aplicarse al caso en cuestión.
En México, como en algunos otros países, existen los programas gubernamentales para el desarrollo de la infraestructura electrónica del manejo de documentos[1].
4.6 Estudio de Internet como un corpus enorme
Todos los métodos de análisis de grandes cantidades de texto son específicamente útiles para la colección de información de Internet, que es fácil de obtener y es muy rica en contenido.
También, en los recientes años el Internet se empezó a emplear para construir los sistemas de análisis de texto. Estos sistemas requieren de muy grandes diccionarios que indiquen las propiedades de lenguaje –tanto de las palabras como de las estructuras de oraciones y de texto completo. Usualmente, esta información se guarda junto con las estadísticas de uso: el hecho de que algunas estructuras se usan más frecuentemente que otras ayuda a entender el texto correctamente en los casos de ambigüedad. Obviamente, esta cantidad gigantesca de información prácticamente no se puede compilar y codificar a mano. Entonces, se aplican las técnicas de aprendizaje automático para extraerla de grandes colecciones de texto, las cuales en este contexto se llaman los corpus. Un corpus usualmente contiene un marcado especial o se prepara con las técnicas especiales para facilitar la extracción de la información necesaria.
Internet es la colección más grande de textos que ha creado la humanidad, y es una fuente muy rica de información no sólo sobre los hechos que se discutan allí sino también sobre el propio lenguaje (aunque por el momento esto se aplica más a inglés que a otros lenguajes). Sin embargo, este corpus es muy especial porque no cuenta con el marcado y la estructura que usualmente ofrecen los corpus. Lo que resulta en el desarrollo de los métodos especiales de su análisis [14].
4.7 Aplicaciones multilingües
Adicionalmente a las tareas de la traducción automática que ya hemos discutido, existe y ha recibido recientemente un desarrollo considerable un espectro de aplicaciones que involucran los textos en diferentes lenguajes sin traducirlos. La importancia de las aplicaciones multilingües se aumentó mucho por las siguientes circunstancias:
· Con la formación de la Unión Europea, las oficinas europeas manejan los documentos en 12 lenguajes oficiales de la Unión, y este número va a crecer más con la expansión de la unión a otros países europeas (tales como la República Checa, Estonia, etc.). Obviamente, ningún empleado de estas oficinas no puede saber igualmente bien todos estos idiomas.
· Con el crecimiento de democracia en los países multilingües, en estos países se fortalece la posición de los lenguajes aunque no oficiales pero muy usados –como es el español en los EE.UU.
· Con el desarrollo técnico de los países de tercer mundo, la revolución informática empieza a llegar en estos países, donde en muchos casos hay decenas de lenguajes usados y en muchos casos oficiales.
En estos casos, muchos acervos de información son multilingües: por ejemplo, las bases de documentos oficiales en la unión europea contienen documentos en muchos lenguajes. De esto aparecen tales tareas como la búsqueda cross-lingual: la pregunta se formula en el lenguaje que el usuario sabe mejor, pero se ejecuta sobre una colección de documentos en diferentes lenguajes. Todas las demás tareas de procesamiento de documentos –tales como sumarización, minería, agrupamiento, etc.– también se pueden, con los métodos adecuados, aplicar a las colecciones de documentos multilingües.
4.8 Tecnologías de voz
Con la expansión de las áreas de aplicaciones de computadoras en los servicios públicos, en los recientes años aumentó el desarrollo, y la investigación correspondiente en las interfaces con voz en lugar del teclado. Adicionalmente, se espera que con el uso creciente de las computadoras palmtop (muy pequeñas computadoras que caben en el bolsillo) la voz va a convertirse en prácticamente el único modo de comunicación con tal computadora, porque en ésta ya no hay espacio para el teclado.
Las técnicas de reconocimiento de voz involucran los métodos de dos ciencias diferentes: una parte del problema involucra los aspectos fisiológicos, físicos y acústicos de producción y procesamiento de la señal percibida y otra parte los aspectos lingüísticos del contenido del mensaje comunicado. Actualmente los sistemas prácticos en muchos casos carecen de la interacción débida de estas dos tecnologías, prestando más atención a los métodos estadísticos de procesamiento de la señal acústica. La interacción con la tecnología de procesamiento de lenguaje (las reglas gramaticales de lenguaje y el razonamiento lógico sobre el contenido del mensaje) para la resolución de ambigüedades se espera de los sistemas futuros.
5 Problemas y métodos de análisis y representación de texto
Al haber dado suficientes argumentos para la importancia de la tarea del procesamiento automático de lenguaje natural, discutamos en breve el por qué no es trivial y cómo se hace.
4.7 Problemas
En este artículo ya varias veces se mencionó el problema de la resolución de ambigüedades. Varios científicos opinan que este problema es el problema principal del procesamiento de lenguaje, en todos sus aspectos –desde el aspecto acústico hasta el semántico.
La ambigüedad, como indica el propio término, aparece cuando una unidad de lenguaje –un sonido, una palabra, una oración, etc.– se puede interpretar de más de una manera. Por ejemplo, la palabra fuera se puede interpretar como una forma morfológica de ser (en como si fuera esta noche la última vez), de ir (en como si se fuera a la escuela) o como adverbio (en está fuera de la ciudad). O bien, la oración Veo a Juan con el binóculo se puede interpretar como uso el binóculo para ver a Juan o veo a Juan que tiene el binóculo.
El origen a las ambigüedades se da cuando una palabra, oración, etcétera se considera fuera del contexto –ya sea el contexto local explícitamente presente en el texto en cuestión o el contexto global de la experiencia de la vida humana o de los conocimientos escritos en otras fuentes. Es decir, para resolver las ambigüedades en cada nivel de lenguaje (a nivel de una palabra, una oración, etc.) se emplea el análisis de un nivel más grande, empleando uno de los tres tipos de conocimiento o su combinación:
· Conocimiento lingüístico, o bien de lenguaje, aplicado al contexto cercano de la construcción en cuestión. Por ejemplo, no se pueden combinar en una oración dos verbos de la manera como en está fuera de la ciudad: la palabra está indica que fuera no es un verbo, entonces, es adverbio.
· Conocimiento extralingüístico, o bien del mundo, aplicado al sentido del texto. Por ejemplo, en la oración veo al gato con el telescopio se toma en cuenta que los gatos normalmente no usan telescopios.
· Conocimiento obtenido del mismo texto. Digamos, si el texto narra una historia de un gato mágico que sí sabe usar telescopios, la interpretación de la oración arriba mencionada se puede cambiar.
Leyendo un texto, las personas aplicamos todo este conocimiento fácilmente y sin darnos cuenta de esto, porque 1) lo tenemos y 2) disponemos de mecanismos innatos muy eficientes para aplicarlo. Sin embargo, en la actualidad los programas no disponen de tal conocimiento ni de mecanismos eficientes para su uso. Es la labor nuestra proporcionárselos.
En el desarrollo de los algoritmos, se usan los métodos matemáticos y de la ciencia de la computación. En cuanto al conocimiento propio, el problema es quizá mucho más complejo debido a la cantidad enorme del conocimiento requerido. Para obtener el conocimiento lingüístico, adicionalmente a la codificación manual se usan recientemente los métodos de aprendizaje automático aplicados a los grandes corpus de textos. Para el extralingüístico, están por desarrollar las tecnologías de su construcción diferentes a la mera codificación manual, la cual en este caso no es muy factible debido a la cantidad necesaria de la labor.
4.7 Métodos
Como ya se ha mencionado, el procesamiento de información en forma textual se puede considerar como dos tareas bastante independientes:
· El procesamiento de información propia según la aplicación específica: el razonamiento lógico, la búsqueda en la base de datos, etc. En un sistema se realiza como un módulo especializado. Este módulo toma como entrada, y genera como salida la información en una representación formal: predicados, tablas, números, etc.
· La traducción entre el texto en el lenguaje humano (una secuencia de letras o sonidos) y esta representación formal: la transformación del texto en la representación formal que sirve como entrada al módulo especializado y, de ser necesario, la transformación de su respuesta (en la representación formal) en el texto.
La lingüística computacional sólo se ocupa de la última tarea: traducción entre el texto y la representación formal.
El punto crítico en el desarrollo de tal módulo es la selección de la representación formal lo suficientemente rica para reflejar el contenido del texto y al mismo tiempo lo suficientemente simple para ya no presentar problemas de su comprensión. En particular, esta representación no debe presentar los problemas de ambigüedad y, en la mayoría de casos, debe ser independiente del lenguaje humano específico (español, inglés, etc.).
Una de las representaciones más prometedoras son las llamadas redes semánticas [6]–las redes que representan las situaciones (acciones) y sus participantes según lo descrito en el texto. Un nodo en tal red es una situación o una entidad y un enlace es el hecho de que la entidad (a veces otra situación) participa en una situación; varias entidades pueden participar en la misma situación y una entidad puede participar en varias situaciones. Resulta que prácticamente cualquier aspecto del sentido comunicado en el texto. Existen también varias representaciones equivalentes en lo esencial a las redes semánticas, tales como los grafos conceptuales [18].
La tarea de transformación entre el texto y la red semántica es muy compleja, ya que estas dos representaciones de información son muy diferentes. Afortunadamente, esta transformación se puede efectuar en varios pasos (etapas) según los niveles, o capas de lenguaje:
· Transformación morfológica entre las palabras como las secuencias de letras y la llamada representación morfológica del texto: la secuencia de las estructuras de palabras en la forma del lema (que puede servir como una clave a una base de datos que guarda todas las propiedades de la palabra) y las propiedades específicas en el texto:
f u e r a « SER, subjuntivo, tercera persona, singular
La representación morfológica del texto es, entonces, una tabla que da los lemas y las propiedades de cada palabra del texto, correspondiendo a una palabra un renglón en esta tabla.
Para este paso, se usan los diccionarios morfológicos y los métodos matemáticos de autómatas de estados finitos.
· Transformación sintáctica entre la representación morfológica (la tabla) y la representación sintáctica. Ésta última es una secuencia de las estructuras de oraciones, siendo una estructura de oración un árbol sintáctico que representa qué palabras están relacionadas sintácticamente a qué otras palabras en la misma oración [4].
Para este paso, se usan los diccionarios sintácticos y los métodos matemáticos de gramáticas libres de contexto; los algoritmos que aplican tales gramáticas para el análisis del texto se llaman parsers.
· Transformación semántica entre la representación sintáctica (la secuencia de árboles) y la representación semántica (la red semántica). En este paso se identifican las palabras que refieren a la misma entidad (o situación). Por ejemplo, en el texto: Juan sacó 8 en el examen. Esto desanimó mucho al pobrecito se tiene que detectar que el que fue desanimado es Juan, lo que técnicamente consiste en mapear las dos frases –Juan y el pobrecito– al mismo nodo (entidad) de la red semántica; también se debe mapear esto y sacó 8 en el examen al mismo nodo (situación).
Los tipos más comunes de tal correferencia son la anáfora directa –expresada con pronombres– e indirecta –expresada con artículos– [9]; ambos tipos se pueden ver en el ejemplo anterior.
Para la transformación semántica se usan los diccionarios semánticos, las reglas de transformación y los métodos de la inferencia lógica.
En algunas técnicas estos pasos se aplican secuencialmente mientras en otras al mismo tiempo. Una técnica muy prometedor de este último tipo es la teoría gramatical HPSG [22, 23].
Como ya seguramente se dio cuenta el lector, es precisamente esta separación de todo el proceso en pasos, o fases –aunque simplifica muchísimo la tarea– que da origen a los problemas de ambigüedad. Las ambigüedades en cada paso sólo se pueden resolver en alguno de los siguientes pasos.
En particular, de hecho la representación en cada paso puede reflejar la ambigüedad:
f u e r a « |
SER, subjuntivo, tercera persona, singular IR, subjuntivo, tercera persona, singular FUERA, adverbio |
En un paso posterior del análisis, sólo una variante se preservará y todas las demás se eliminarán.
6 Procesamiento de lenguaje natural en México
Dado la importancia del procesamiento de lenguaje natural para la ciencia y educación (búsqueda), informatización de la sociedad (interfaces en lenguaje natural), comercio (búsqueda y minería de texto), cultura (búsqueda y traducción) y otros aspectos de la vida social, el desarrollo de las herramientas para el procesamiento de lenguaje nacional es uno de los aspectos críticos de la independencia cultural, técnica y económica del país. Además, el procesamiento rápido y correcto (lo que implica procesamiento automático) de los documentos en las oficinas del gobierno es indispensable para el funcionamiento eficiente de la democracia. Estas consideraciones, entre otras, nos indican la pertinencia y prioridad del desarrollo del procesamiento automático de español en nuestro país.
Las investigaciones en la aplicación de las computadoras a las tareas lingüísticas se empezaron En México en los setentas, cuando el Dr. Luis Fernando Lara del Colegio de México[2] aplicó las técnicas estadísticas para el análisis automático de un corpus de español mexicano, con el fin de desarrollo de un diccionario de las palabras usadas en México.
En el 1996, en el CIC-IPN fue fundado el Laboratorio de Lenguaje Natural y Procesamiento de Texto[3]. En su historia de 6 años, el Laboratorio ha desarrollado varios proyectos científicos y tecnológicos y ha publicado más de 200 publicaciones –la mayoría de las cuales son internacionales– en las áreas del análisis sintáctico y semántico, aprendizaje automático de los recursos léxicos y compilación de diccionarios, minería de texto y resolución de anáfora. El Laboratorio ofrece los estudios de Maestría y Doctorado apoyados con becas de los proyectos de investigación.
Aproximadamente en el 1998 en el IIMAS de la UNAM se formó un grupo de investigación en lingüística computacional liderado por el Dr. Luis Pineda Cortés[4]. El grupo hace investigación fuerte en los diálogos multimodales (los que emplean, adicionalmente al lenguaje, también gestos, imágenes, etc.), así como en los formalismos gramaticales modernos, como HPSG. También ofrece los estudios de Maestría y doctorado. En la misma UNAM, otro grupo liderado por el Dr. Gerardo Sierra trabaja en las tecnologías de lenguaje (es decir, desde el punto de vista más práctico).
En el 2002, un grupo muy prometedor –el Laboratorio de tecnologías de lenguaje– se formó en el INAOE, Puebla. Es orientado a los proyectos prácticos. Entre sus intereses son la recuperación de información, la minería de texto, el procesamiento de voz (habla). Parte de este grupo forma Manuel Montes[5] –uno de los primeros doctores en lingüística computacional formados en México, egresado del Laboratorio de Lenguaje Natural del CIC-IPN. El grupo también ofrece los estudios de Maestría y doctorado.
Además, varios investigadores trabajan en diferentes instituciones en los temas relacionados al Procesamiento de Lenguaje Natural –por ejemplo, el Dr. Héctor Jiménez Salazar de la BUAP, Puebla; el M. en C. Everardo García Menier de la Universidad de Jalapa, Ver., entre otros.
Para coordinar los esfuerzos de los grupos mexicanos que trabajan en el Procesamiento de Lenguaje Natural, se está formando la Asociación Mexicana para el Procesamiento de Lenguaje Natural (AMPLN)[6].
Finalmente, como una parte de la infraestructura de la investigación en la lingüística computacional en México, el Laboratorio de Lenguaje Natural del CIC-IPN anualmente (en febrero de cada año) organiza el Congreso Internacional de Lingüística Computacional y Procesamiento Inteligente de Texto[7]. El congreso reúne a los más conocidos especialistas en esta rama de ciencia para dar a los estudiantes mexicanos una oportunidad de escuchar a los mejores expertos del mundo. Las memorias del Congreso se publican por la casa editorial más prestigiosa, Springer-Verlag de Alemania, en la serie Lecture Notes in Computer Science (ya salieron dos volúmenes, N 2004 y 2276).
Varios investigadores mexicanos que trabajan en lingüística computacional son miembros del Sistema Nacional de Investigadores, hasta el nivel II. La ciencia de lingüística computacional también está representada en el área de ingeniería de la Academia Mexicana de Ciencias (por el autor de este artículo).
7 Conclusiones
El procesamiento de lenguaje natural es importante para muchos aspectos de la vida de la sociedad, desde la informatización de los servicios públicos y el desarrollo de la democracia hasta la ciencia, educación y cultura. El desarrollo de las herramientas correspondientes para el lenguaje nacional es indispensable para la intendencia cultural del país.
Entre las tareas principales del procesamiento de lenguaje natural se puede mencionar:
· Manejo eficiente de la información (búsqueda, clasificación, agrupamiento, resúmenes, filtrado y alerta; bibliotecas digitales),
· Interfaces en lenguaje natural, tanto en los equipos especializados como en los servicios públicos; tecnologías de voz,
· Traducción automática y aplicaciones multilingües,
· Ingeniería de conocimiento: extracción de información, minería de texto,
En el aspecto técnico, el procesamiento de lenguaje natural enfrenta gran complejidad del conocimiento involucrado. La compilación de este conocimiento es uno de los problemas de la ingeniería de sistemas lingüísticos; una de las soluciones a este problema es el aprendizaje automático del conocimiento a partir de los corpus grandes de textos.
Otra solución al problema de complejidad es la partición del procesamiento en los pasos (fases) que corresponden a los niveles (capas) de lenguaje: análisis morfológico (palabras), sintáctico (oraciones) y semántico (texto completo). Esta solución da origen a otro problema: ambigüedad. Las ambigüedades que se presentan en un nivel (por ejemplo, aviso: ¿sustantivo o verbo?) se resuelvan en otro nivel de análisis. La ambigüedad es probablemente el problema más importante en el análisis de lenguaje natural.
En México existen varios grupos que activamente trabajan en las tecnologías de lenguaje, tanto en los aspectos prácticos como teóricos. Estos grupos ofrecen los estudios de Maestría y Doctorado, así como las oportunidades de colaboración en los proyectos aplicados. Para la difusión de los resultados y los problemas actuales de la investigación, anualmente se organiza en México un congreso internacional de alto nivel.
Agradecimientos
Este trabajo se realizó con el apoyo parcial del Gobierno de la República Méxicana (CONACyT), CGEPI-IPN y SNI, México.
Referencias
12. Gelbukh, Alexander, Grigori Sidorov, A. Guzmán-Arenas. Document comparison with a weighted topic hierarchy. Proc. DEXA-99, 10th International Conference and Workshop on Database and Expert Systems Applications, DAUDD’99, 1st International Workshop on Document Analysis and Understanding for Document Databases, Florence, Italy, September 1, 1999, IEEE Computer Society Press, pp. 566–570.
14. Gelbukh, Alexander, Grigori Sidorov, and Liliana Chanona-Hernández. Compilation of a Spanish representative corpus. Proc. CICLing-2002. Lecture Notes in Computer Science N 2276, Springer-Verlag, 2002, pp. 285–288.
18. Montes y Gómez, Manuel, Alexander Gelbukh, Aurelio López López, Ricardo Baeza-Yates. Flexible Comparison of Conceptual Graphs. Mayr, H.C., Lazansky, J., Quirchmayr, G., Vogel, P. (Eds.),Proc. DEXA-2001. Lecture Notes in Computer Science N 2113,Springer-Verlag, 2001, pp. 102-111.
19. Montes y Gómez, Manuel, Alexander Gelbukh, Aurelio López López, Ricardo Baeza-Yates. Text mining with conceptual graphs.International IEEE SMC-2001 Conference: Systems, Man, And Cybernetics. Tucson, USA, October 7–10, 2001, IEEE, pp. 898–903.
21. Pazos R., Rodolfo A., Alexander Gelbukh, J. Javier González B., Erika Alarcón R., Alejandro Mendoza M., A. Patricia Domínguez S.Spanish Natural Language Interface for a Relational Database Querying System. To appear in: Text, Speech and Dialogue. Proc. TSD-2002. Lecture Notes in Artificial Intelligence, Springer-Verlag, 2002.
[1] www.e-mexico.gob.mx
[2] www.colmex.mx
[3] www.cic.ipn.mx/organizacion/Lab_de_leng_nat.htm; algunas de las publicaciones del Laboratorio se pueden ver en www.gelbukh.com y www.cic.ipn/~sidorov
[4] leibniz.iimas.unam.mx/~luis
[5] cseg.inaoep.mx/~mmontesg
[6] www.CICLing.org/ampln ó www.ampln.org
[7] www.CICLing.org