Ad verba per numeros

Desarrollo de corpora comparables, Hojas de ruta
Wednesday, March 7, 2007, 11:25 AM
El objetivo de este proyecto es compilar documentos escritos en dos idiomas estableciendo una "alineación" a nivel de documento aun cuando los textos vinculados probablemente no sean traducciones literales. Es decir, se obtendrán parejas de documentos que tratan el mismo tema pero no necesariamente con las "mismas palabras".

Hasta el momento se ha desarrollado el robot que se dedicará a descargar automáticamente las páginas web organizándolas por idiomas y fechas (puesto que va a explotarse un sitio web de noticias).

Ahora toca la parte más difícil, implementar uno o más algoritmos que permitan determinar con la mayor confianza posible la correspondencia entre los documentos de un idioma fuente y los del idioma objetivo.

Para ello se han estudiado las siguientes referencias:

Fung. P. 1995, "Compiling bilingual lexicon entries from a non-parallel English-Chinese corpus", en Proceedings of the Third Workshop on Very Large Corpora, pp. 173-183

Fung, P. 1998, "A Statistical View on Bilingual Lexicon Extraction: From Parallel Corpora to Non-Parallel Corpora", en Proc. of the Third Conference of the Association for Machine Translation in the Americas, pp. 1-16


Rapp, R. 1999. "Automatic identification of word translations from unrelated English and German corpora", en Proc. of ACL-99, pp. 519-526

Los tres artículos describen técnicas para obtener listas de términos con sus correspondientes traducciones; en nuestro caso estas listas serían un paso previo antes de poder determinar la similitud entre dos artículos en dos idiomas diferentes.

Jaime ha optado por implementar la técnica de Rapp y me pide confirmación sobre los pasos a seguir según lo descrito en el artículo. Sin embargo, antes de ponernos con la implementación de dicha técnica es preciso un "paso cero" así que, con permiso de Jaime, no voy a hacer (de momento) lo que me pidió sino otra cosa que creo imprescindible.

Rapp dice lo siguiente:

It is further assumed that there is a small dictionary available at the beginning, and thar our aim is to expand this base lexicon.

Es decir, que precisamos de un diccionario bilingüe que sirva de "semilla" para el algoritmo. En algunos casos puede ser relativamente sencillo pero en otros puede ser realmente complicado (p.ej. un diccionario japonés-persa); así pues, es fundamental desarrollar alguna técnica que nos permita obtener ese diccionario inicial con garantías de que va a contener un número importante de términos que aparezcan en la colección y este artículo va a describir esa técnica.

Ingredientes:

  • Varios documentos del idioma fuente (cuantos más mejor), pueden cogerse todos los que se hayan descargado hasta el momento.
  • La Wikipedia en la versión de dicho idioma.

Procedimiento:

  1. Procesar el texto de los documentos en el idioma fuente extrayendo todos los términos distintos que aparezcan respetando las marcas diacríticas pero convirtiéndolos a minúsculas.
  2. Para cada término acceder a la página de la Wikipedia correspondiente; por ejemplo, supongamos que el idioma fuente es castellano y que el término es accidente, para buscarlo en la Wikipedia se accedería a la URL http://es.wikipedia.org/wiki/accidente
  3. Comprobar si en la sección para otros idiomas aparece el idioma objetivo, de aparecer la URL contendrá la traducción del término original. Por ejemplo, si el idioma objetivo fuese polaco buscaríamos una entrada etiquetada como Polski y obtendríamos la URL, en este caso, http://pl.wikipedia.org/wiki/Awaria determinando que el término accidente se traduce en polaco como awaria.
  4. Repetir esto para todos los términos.

Se me ocurren varias dificultades que pueden plantearse:

  1. Puede que no exista una página para el término buscado (p.ej. guay) y habría que diferenciar una página de aviso de inexistencia del término de una entrada real (¿tal vez comprobando si utilizan alguna plantilla específica?)
  2. Puede haber redirección desde la URL original.
  3. La URL del idioma objetivo puede tener texto UTF-8 codificado en la URL (p.ej. %E4%BA%8B%E6%95%85 es el título de la página correspondiente a accidente en japonés, el término sería 事故 ).

Por el momento esto es todo.

P.D. Sé que el método aquí descrito (hacer minería en el sitio web de la Wikipedia) no es demasiado "ortodoxo" y que sería mucho mejor descargarse un snapshot de la base de datos y trabajar sobre el mismo. Eso habrá que dejarlo para otro proyecto ;)

(Continuará...)



Back Next