Ad verba per numeros

Técnicas PLN/NLP
Tuesday, December 19, 2006, 11:50 AM
Uno de los proyectos actualmente en desarrollo tiene como finalidad desarrollar un sistema de apoyo para la redacción de textos en inglés simplificado.

El inglés simplificado es un lenguaje controlado, es decir, se ha limitado el vocabulario y la gramática con la finalidad de hacer menos ambiguos los textos y, en consecuencia, reducir las posibilidades de malinterpretación. No es de extrañar que haya surgido en el campo de la industria aeronáutica donde malinterpretar una simple palabra puede costar decenas o cientos de vidas.

Siguiendo mi costumbre habitual hay varios alumnos trabajando de manera simultánea (que no conjunta) en el proyecto por lo que, de momento, no puedo poner enlaces a sus respectivos wikis y blogs. Lo que sí puedo decir es que uno de los estudiantes (Eva) ha desarrollado varios prototipos para enfrentarse a varias reglas fundamentales del inglés simplificado: aquellas referentes a qué palabras son válidas, cuáles son inválidas y con qué semántica son aceptables (p.ej. close puede utilizarse como verbo -cerrar- pero no como adverbio -cerca).

Para ello está utilizando LingPipe, un conjunto de bibliotecas para tareas de procesamiento de lenguaje natural (PLN, NLP en inglés), en concreto el sistema de etiquetado POS o POS tagging que indica la categoría gramatical (Part Of Speech) con que se está utilizando una palabra en un texto: un sustantivo, un verbo, un adjetivo, etc.

Sin embargo, no todo son "vino y rosas" y existen ciertas dificultades. Entre ellas el hecho de que las listas de palabras válidas e inválidas ofrezcan los sustantivos en singular y los verbos en infinitivo pero los textos puedan, lógicamente, contener nombres en plural y conjugar los verbos en algunos (que no todos) los tiempos verbales.

Para tratar de solucionar este problema se va a estudiar la posibilidad de emplear stemming para reducir las palabras a su raíz (p.ej. browsing, browser y browses se reducen a brows). El software que se empleará probablemente sea Snowball y he recomendado éste por varias razones: (1) dispone de versión Java -lo cual es importante para este proyecto en concreto, (2) es libre y (3) su autor es Martin Porter -el gurú del stemming :)

¿Y en qué me puede interesar a todo este asunto del stemming?

En principio no parece que ninguno de los proyectos actualmente en marcha (diciembre de 2006) lo vaya a necesitar, sin embargo, esta técnica es muy útil (en particular para la recuperación de información) puesto que ofrece una forma sencilla de "aglutinar" variaciones de una misma palabra. Por ejemplo, prueba a introducir en Google consultas como browsing o searching.

En resumen, recuerda estos nombres: LingPipe y Snowball; si en Bricomanía no podía faltar la cinta de carrocero o la sierra de calar estas son muy interesantes para llevar en tu cajón de herramientas -si te dedicas al PLN, claro... :)



Back