opentrad - Departamento de Ingeniería Telemática

Transcription

opentrad - Departamento de Ingeniería Telemática
OPENTRAD
Ainhoa Bengoetxea Iriondo
Universidad Carlos III de Madrid
Inteligencia en Redes de Comunicaciones
[email protected]
Resumen
En este trabajo se describe el traductor automático Opentrad,
primer traductor entre el castellano y todas las lenguas oficiales
del estado español (catalán, gallego y euskera) de código abierto y
gratuito. Este proyecto ha sido realizado por cuatro universidades
(Universitat d’Alacant, Euskal Herriko Unibertsitatea,
Universidade de Vigo y Universitat Politécnica de Catalunya) y
las empresas Eleka Ingenieritza Liguistikoa S. L., Elhuyar
Fundazioa e Imaxin Software.
Keywords
Traducción Automática (TA), RBMT, EBMT, SMT, compilación,
corpus/corpora, token, tokenización, chunk (una parte de una
oración), POS tagger, formas superficiales, HMM, DTD, FST
(Finite State Transducen/transductor de estados finitos), EDBL,
XML,...
1. Introducción
Este trabajo es un breve estudio de una aplicación concreta de la
traducción automática, uno de los campos más interesantes de la
Ingeniería Lingüística. Se trata de la descripción del
funcionamiento del traductor automático Opentrad, el primero
capaz de hacer traducciones entre el castellano y el resto de
lenguas oficiales del estado español.
El Estado Español es plurilingüe por lo que coexisten distintas
lenguas. Esto implica el hecho de que a los cuidadanos/as de
distintas comunidades se nos reconocen ciertos derechos
lingüísticos. A nivel gubernamental, estos derechos tienen que ser
respetados y se debe promover la utilización de las lenguas
minoritarias. Para ello, un traductor desde el castellano a las
demás lenguas oficiales es un herramienta muy interesante. Por
otro lado, las personas demandan cada vez más información en
distintas lenguas lo cual hace que este traductor sea útil, tanto
para la ciudadanía en general como para el mundo empresarial
para producir información en distintas lenguas. Cabe destacar la
gran apuesta de los desarrolladores hacia la filosofía del código
abierto, haciendo posible que cualquiera pueda usarlo y adaptarlo
a sus propias necesidades.
Opentrad es un proyecto de gran escala en el cual formaron parte
cuatro universidades estatales (Universitat d’Alacant, Euskal
Herriko Unibertsitatea, Universidade de Vigo, Universitat
Politécnica de Catalunya) y pequeñas empresas (Eleka
Ingenieritza Liguistikoa S. L. , Elhuyar Fundazioa e Imaxin
Software). Opentrad está formado por dos motores
independientes, uno para las lenguas románicas y otro para las no
románicas (euskara). En el caso de las lenguas románicas la
traducción es bidireccional, (ga↔es, ca↔es) y en el del euskera
unidireccional (esÆ eu).
Antes de analizar a fondo el traductor en sí, se hará un
acercamiento al mundo de la traducción automática, un pequeño
estado del arte y una breve descripción de las características del
euskara ya que en el estudio se ha hecho especial hincapié en la
esta parte.
Este documento está organizado de la siguiente manera. Para
empezar, se hará una introducción a la traducción automática en
el apartado 2. A continuación, en el apartado 3, se dará una breve
descripción del euskera. Luego, se hablará de trabajos previos
relacionados con la traducción automática en estos idiomas.
Después, se estudiará en profundidad el traductor Opentrad en el
apartado 5. Finalmente, se incluirá algunas conclusiones y notas
sobre el futuro del proyecto.
2. Traducción automática
Existen diferentes estrategias para llevar a cabo una traducción
automática. Estas estrategias se agrupan en dos ramas principales:
las que se basan en reglas lingüísticas (RBMT, Rule Based
Machine Translation) y las que se basan en corpus (Corpus Based
Machine Translation). Dentro de estas últimas se diferencian dos
acercamientos muy distintos que son: los basados en estadísticos
(Statistical Machine Translation, SMT) y los basados en ejemplos
(Example Based Machine Translation, EBMT). Entre las
estrategias que utilizan corpus, las dominantes son aquellas que se
basan en las estadísticas. A continuación, una breve descripción
de todas ellas.
2.1 RBMT
Dentro de los traductores por reglas se distinguen dos tipos, los
directos y los indirectos. Se denominan métodos indirectos
aquellos que utilizan una representación intermedia. Los directos,
por tanto, son los que no utilizan representaciones intermedias y
la traducción la hacen en un solo paso: se consultan las palabras
en el idioma origen y se crean las correspondencias en la lengua
destino aplicando solamente algunas reglas de flexión,
concordancia y reordenación. Es decir, se trata de una traducción
palabra por palabra aplicando algunas reglas. Puesto que se trata
de una técnica demasiado sencilla, no se utiliza porque se
considera inviable incluso en pares de lenguas emparentadas.
Entre los métodos indirectos se distinguen dos tipos, el de
interlingua y el de transferencia.
El método interlingua utiliza una única representación intermedia,
común a las lenguas origen y destino, permitiendo así que la
traducción se haga en dos fases: análisis y generación. La
información semántica suele estar almacenada en una base de
conocimientos accesible durante el proceso de la traducción.
El método de transferencia, por otro lado, plantea la traducción
mediante dos representaciones intermedias, una por cada lengua
(origen y destino). En este caso, la traducción se realiza en tres
fases: análisis, transferencia y generación. El nivel de la
transferencia varía en función del sistema utilizado. La
transferencia puede hacerse a nivel léxico, sintáctico o semántico.
La transferencia léxica realiza la búsqueda del término
equivalente en la lengua destino en base a la información que
contiene el diccionario. La transferencia sintáctica trasforma el
árbol del análisis de la oración en un árbol de generación
equivalente para la oración en lengua destino. Por último, la
transferencia semántica trasforma representaciones profundas
tales como patrones de casos, redes semánticas o estructuras
lógicas.
2.2 SMT
Mediante estas estrategias, las traducciones se generan en base a
teorías estadísticas y modelos de Teoría de la Información de
Shannon, cuyos parámetros vienen del análisis de corpora de
textos bilingües. Las primeras ideas de la traducción automática
estadística fueron introducidas por Warren Weaver en 1949
incluyendo ideas de aplicación de la Teoría de Información de
Shannon. Es por mucho el paradigma de traducción automática
más utilizado. Los beneficios más destacables de la traducción
automática estadística frente a la RBMT son:
-Un uso mejor de los recursos.
-El hecho de que normalmente los sistemas SMT no estén
unidos a ningún par de lenguas específico.
-Los RBMT requieren que las reglas lingüísticas se
desarrollen manualmente, lo cual puede ser costoso y a veces
imposibilita la aplicación en otras lenguas.
-Los SMT pueden sacar provecho de la abundante cantidad
de información en lenguaje natural en formatos legibles para los
ordenadores.
-Se obtienen traducciones más naturales.
2.3 EBMT
Las técnicas EBMT hacen uso de un corpus o base de datos de
traducciones anteriores. La entrada se compara con la base de
datos para quedarnos con los ejemplos adecuados.
Posteriormente, se unen por analogía para elegir la traducción
correcta. Esta estrategia se relaciona a menudo con las Memorias
de Traducción (Translation Memory, TM). Aunque la idea de
ambas se basa en reutilizar traducciones anteriores, las TMs son
una herramienta interactiva para el traductor humano.*
Uno de los mayores problemas a los que se enfrenta la traducción
automática es la desambiguación semántica.
3. Descripción euskera
En este apartado se hará un pequeño acercamiento al euskara,
describiendo brevemente sus características más importantes.
3.1 Introducción euskera
El euskara es una lengua Pre-Indo-Europea minoritaria que se
habla en la CAV, Navarra y País Vasco-Francés (Lapurdi, Baja
Navarra y Zuberoa). Aunque hay muchas teorías al respecto, su
origen se desconoce y se parece muy poco a las lenguas europeas
que la rodean. Aunque el euskera se centra en un territorio muy
limitado muestra variedad de registros llamados “Euskalkiak”
tales como Gipuzkera, Nafar-Lapurtera y Bizkaiera.
Por ello, desde el 1968 la Academia Vasca de la Lengua
(Euskaltzaindia) está llevando a cabo el proceso de
estandarización hacia lo que se denomina el Euskara Batua
(“Euskara Unido”) definiendo sus normas a todos los niveles. Este
*En la actualidad, en el caso del euskera, más de 10 instituciones oficiales
y compañías privadas utilizan memorias de traducción.
es el registro que debe utilizarse en los medios de comunicación,
administración, enseñanza y demás ámbitos.
3.2 Características principales
-La estructura de las frases no es fija, es decir, hay muchas
posibilidades de ordenar una misma frase.
-Es una lengua aglutinativa: el determinante, el número y el caso
de declinación se añaden a la última palabra de la frase y siempre
en ese orden. Esta información, será válida para todos los
elementos de la frase. Puesto que es aglutinativa, no hay una
división clara entre morfología y sintaxis. Como consecuencia,
los morfemas pueden ser utilizados como la unidad básica de
análisis en vez de las palabras.
-Tiene una sola tabla de declinación que contiene 15 casos que se
aplican independientemente del tipo de palabra precedente.
-Las funciones preposicionales se marcan con sufijos de caso
dentro de las palabras.
-Se trata de un idioma altamente flexivo en cuanto a morfología
por lo que es muy rico en derivación y composición.
-Hay concordancia en género y número tanto entre el verbo y el
sujeto como entre el objeto directo e indirecto.
-Los verbos están formados frecuentemente por más de una
palabra (por el uso de perífrasis verbales y por la inflexión) y
debido a que la palabras compuestas son muy comunes, la
longitud de las oraciones en euskera es más larga de lo que cabría
esperar.
-La dificultad de traducir del castellano o inglés al euskera reside
mayoritariamente en el hecho de que la estructura de las oraciones
y el orden son muy diferentes.
4. Trabajos relacionados
La traducción automática es un campo que se está desarrollando
mucho. Puesto que vivimos en la sociedad de la información y la
información esta en muchos idiomas distintos, este hecho
convierte un traductor automático en una herramienta muy útil en
general. En este trabajo se ha considerado importante mirar hacia
atrás y ver cual era la el punto de partida del proyecto para poder
evaluar sus aportaciones. Para ello, se hará una pequeña
introducción a trabajos anteriores.
El motor de traducción automática para lenguas no emparentadas
de Opentrad, es el primer prototipo de traducción entre euskera y
castellano. Sin embargo, hay abundante trabajo anterior a la
realización de este motor. El grupo IXA1 cuenta con una larga
trayectoria dedicándose a la Ingeniería Lingüística estudiando las
posibilidades del euskera. A continuación, se comentarán algunos
de sus trabajos más destacables.
“Adibideetan Oinarritutako Itzulpen Automatikoa (AOIA):
azterketa bibliografikoa eta euskararekin lan egiteko
proposamenak” [1].
Se trata de un estudio de la traducción automática basada en
ejemplos para el euskera. Trata, entre otros, los problemas y
ventajas de los EBMT, la hibridación de EBMT y RBMT y un
ejemplo de implementación de EBMTs llamado PanEBMT.
Incluye propuestas de trabajo de este tipo de traducción
automática tales como la trasferencia basada en ejemplos, EBMT
para el tratamiento de casos especiales y la creación de un sistema
completo EBMT.
1
http://ixa.si.ehu.es/Ixa
“Example-Based Machine Translation of the Basque Language”
[2].
A continuación, se muestran algunos trabajos anteriores sobre
traductores de lenguas románicas.
Hace una pequeña introducción al euskera aportando datos y
características principales. Aborda muchos temas: el sistema
MaTrEx (Machine Translation Using Examples), estrategias de
chunking, estrategias de alineación (a nivel de palabra y de
chunk), cómo hacer correspondencias entre chunks en euskera e
inglés y finalmente un experimento para ver los resultados que da
un EBMT en euskera. Los resultados demostraron que el empleo
de los EBMT chunks contribuyen positivamente a la calidad de la
traducción global, posibilitando así que el sistema MaTrEx aborde
sistemas sin preproceso (baseline) SMT basados en palabras y
chunks. También se concluyó que la precisión de las alineaciones
a nivel de chunk era muy alta, por lo menos en el caso de los
chunks muy frecuentes.
“An open-source shallow-transfer machine translation toolbox:
consequences of its release and availability” [5].
“Reusability of wide coverage linguistic resources in the
construction of a multilingual Machine Translation System”[3].
Este artículo presenta el primer prototipo de traducción
automática multilingüe basada en la trasferencia para los pares
inglés-euskera y español-euskera con la posibilidad de
reutilización y adaptación de herramientas y recursos. El sistema
traduce sintagmas nominales y sintagmas preposicionales e
interactúa directamente con el usuario para resolver
ambigüedades. Este sistema no es capaz de traducir oraciones
completas todavía. Incluye descripción del euskera, arquitectura
del sistema, información sobre bases de datos lingüísticos
(diccionario de lenguas origen, EDBL –base de datos léxica de
euskera-, léxicos bilingües-español/euskera, inglés/euskera),
reglas gramaticales, información detallada sobre las fases de la
traducción (análisis del inglés o español, transferencia al euskera
y el modúlo de generación en euskera). El proceso de traducción
es el mismo que se utiliza en Matxin pero más limitado, pudiendo
considerar este último como la continuación y mejora de este
primer prototipo. Los resultados fueron muy positivos, el sistema
tiene una precisión del 83% traduciendo SNs (Sintagma Nominal)
y SPs (Sintagma Preposicional) del inglés al euskera. La
arquitectura modular del prototipo facilita la inclusión de nuevos
módulos para mejorar el funcionamiento. Con este prototipo pudo
comprobarse la capacidad de reutilización y la calidad de los
recursos y herramientas previamente desarrolladas. En este punto,
se consideraba como objetivo la ampliación del sistema para
traducir oraciones completas. Para ello, se subrayaba la necesidad
del análisis de terminos multipalabra y resolución de
ambigüedades, entre otros.
“Uso de información morfológica en el alineamiento españoleuskera” [4].
Se presenta un estudio para el alineamiento de un corpus españoleuskera haciendo uso un alineador token-a-token teniendo en
cuenta las opciones de preprocesamiento morfológico para un
alineamiento óptimo. Se analiza en profundidad el
preprocesamiento del euskera (tokenización, lematización,
segmentación) y el español (tokenización, lematización,
segmentación). Se presenta también, un marco experimental para
evaluar la mejor técnica de preproceso mediante el software de
libre distribución GIZA++ , el más utilizado para alinear corpus
paralelos, y un análisis de los resultados.
2
www.internostrum.com/
Este artículo es anterior al lanzamiento de Opentrad, incluye
información sobre el motor de lengua románicas, la arquitectura
del motor, los formatos de los datos lingüísticos, compiladores y
los pares de lenguas que pueden resultar beneficiados por esta
herramienta.
“Open-source Portuguese-Spanish Machine Translation” [6].
Este artículo describe el estado del traductor automático de
trasferencia poco profunda OpenTrad para el par de lenguas
español-portugués. Describe la arquitectura de Apertium, los
formatos de los datos lingüísticos, compiladores e información
concreta sobre estos pares de lenguas como una pequeña
evaluación final.
“El sistema de traducción automática castellano ↔ catalán
InterNOSTRUM” [7].
Este artículo trata del sistema InterNOSTRUM2, uno de los que
ha servido de base para el motor de lenguas románicas (Apertium)
en el proyecto Opentrad. Este artículo se escribió cuando
InterNOSTRUM estaba aún e fase de desarrollo por ello incluye
el prototipo del momento y posibles versiones futuras, datos sobre
la plataforma que emplea, la estrategia de traducción y los
módulos que lo forman. Este sistema se desarrolló por el Grupo
Transducens, hace traducción bidireccional entre el castellano y el
catalán y es de uso gratuito vía Internet. Utiliza trasductores de
estados finitos.
“FreeLing: An Open-Source Suite of Language Analyzers” [8].
Este trabajo introduce Freeling, un analizador de lenguaje de
código abierto desarrollado por la el GPLN (Grupo de
Procesamiento del Lenguaje Natural) de la Universitat Politècnica
de Catalunya. La versión del momento incluía analizador
morfológico y POS tagger (etiquetador morfológico) para el
castellano, inglés y catalán. El estudio analiza las catacterísticas
principales como la arquitectura, las clases de datos lingüísticos y
clases de procesamiento. En una versión posterior se han añadido
también el gallego y el italiano y las funcionalidades de
reconocimiento de fechas, números y moneda y segmentación del
texto en palabras, entre otros.
5. Análisis Opentrad
Opentrad es el primer traductor entre el castellano y todas las
lenguas oficiales del estado español (catalán, gallego y euskera).
Este proyecto ha sido realizado por cuatro universidades, y tres
empresas pequeñas durante un período de año y medio. Las
universidades participantes son la Universitat d’Alacant (Grupo
Transducens, Departament de Llenguatges i Sistemes
Informàtics), Euskal Herriko Unibertsitatea (IXA Taldea,
Informatika Fakultatea), Universidade de Vigo (Seminario de
Lingüística Informatica) y Universitat Politécnica de Catalunya
(TALP) y las empresas Eleka Ingenieritza Liguistikoa S. L. ,
Elhuyar Fundazioa e Imaxin Software. Se presentó en Barcelona
el 30 de Mayo de 2006 y está disponible en Internet desde abril3.
Está subvencionado por el Ministerio de Industria, Comercio y
Turismo y cabe destacar que es la primera vez que el Gobierno
Español subvenciona un proyecto de este tipo.
El traductor es bidireccional excepto en el caso del euskara que
solo traduce desde el castellano al euskara. Traduce texto,
documentos (en los formatos RTF, HTML y texto plano) e
incluso páginas durante la navegación sin añadir retardo alguno
debido a su rapidez. Es de código abierto por lo que el código está
disponible en Internet para todo aquel que quiera adaptarlo a sus
propias necesidades, incluso para pares de lenguas distintas.
En el área de la traducción, la distancia entre las lenguas es un
factor muy importante. El catalán y el gallego por ser lenguas
románicas, la distancia de cada una de ellas con el castellano es
pequeña y se dice que son lenguas emparentadas (para con el
castellano). El euskera, sin embargo, es una lengua no románica y
por tanto no emparentada. Esto influye directamente en la forma
de hacer la traducción en el sentido de que para las lenguas
emparentadas, no es necesario hacer un análisis muy profundo
para que la traducción sea buena (la transferencia sintáctica
parcial da muy buenos resultados) pero sí en el caso del euskera
en la cual hay que hacer trasferencia sintáctica completa. Esto
implica que el grado de dificultad en este caso es notablemente
mayor. Por ello, Opentrad trabaja con dos motores distintos, uno
para lenguas emparentadas4 (Apertium) y otro para lenguas no
emparentadas5 (Matxin).
Hay que resaltar que el punto de partida era muy distinto para los
dos casos ya que existían traductores al gallego y catalán
(interNOSTRUM, Traductor Universia) pero en el caso del
euskera no existían tales traductores pero sí alguno capaz de
traducir un SN o SP. Por consiguiente, los objetivos tampoco eran
iguales, para el gallego y catalán se trataba de obtener un
traductor comercial y para el euskera realizar el primer prototipo
de traducción automática, inexistente hasta la fecha.
Una de las novedades tecnológicas del proyecto es, por tanto, la
creación de sistemas de traducción para el par castellano-euskera.
Por otro lado estan la apertura y estandarización de código y datos
lingüísticos para las lenguas oficiales del estado español para
conseguir interoperabilidad, modularidad e integrabilidad en los
procesos de creación de contenidos en estos idiomas. Otra
novedad es que el traductor es de uso gratuito vía web.
Los resultados han sido satisfactorios para ambos casos. El factor
de error es del 95% para el caso del gallego y el catalán, lo que
significa que de cada 100 palabras traducidas, 95 eran correctas y
solo 5 incorrectas. Se considera que para poder usar el traductor
de forma comercial*, el factor de error tiene que ser mayor o igual
que 90%. En el caso del euskera, el porcentaje es menor, 75%,
pero teniendo en cuenta el objetivo, el resultado es bueno. Por
otro lado, el motor de lenguas emparentadas es muy rápido
gracias al uso de transductores de estados finitos (FST). De hecho,
es más rápido que la navegación web, permitiendo así poder
traducir páginas web sin añadir retardo alguno. OpenTrad tuvo un
gran eco mediático y prueba de ello son los videos disponibles en
el blog del proyecto5 de las distintas televisiones (ETB, TV3,
TVE) y radios (Euskadi Irratia). Los desarrolladores de la parte
del euskera de la aplicación se han puesto en contacto con el
Gobierno Vasco para poder mejorar el traductor hasta llegar al
umbral del 90%. Además, en un futuro, planean añadir la
traducción euskera-castellano e inglés-euskera.
5.1 Apertium
Apertium es el motor de traducción automática para la traducción
de las lenguas relacionadas ([9]). Para desarrollar este motor, se
basaron en otros desarrollados por el grupo Transducens de la
Universidad de Alacant como interNOSTRUM (castellanocatalán) y Traductor Universia (castellano-portugués). Sin
embargo, cabe destacar que la envergadura de este proyecto ha
sido mayor ya que los resultados pueden ser utilizados para
aplicarlos a otros pares de lenguas.
Los programas de traducción automática anteriores a Opentrad
para los pares español-catalán y español-gallego son comerciales
o utilizan tecnologías de propiedad. Esto dificulta enormemente
su adaptación a usos nuevos y la utilización de tecnologías
diferentes pare lenguas diferentes prácticamente imposibilita la
tarea de integrarlos en un mismo traductor multilingüe. Las
características del empleo del código abierto para el Opentrad y el
hecho de que sea gratuito intentan solucionar o al menos aliviar
estos problemas. Seguramente, habrá también un cambio de
modelo respecto al anterior, desde el modelo empresarial basado
en licencias hacia un modelo basado en el servicio que favorecerá
el intercambio de datos lingüísticos mediante el empleo de
formatos basados en XML.
La arquitectura de traductor (MT) emplea transductors de estados
finitos para el procesado léxico, modelos Markovianos ocultos
(HMM, Hidden, Marcovian Models) para el POS tagging
(etiquetado morfológico) y chunking (segmentación) basado en
estados finitos para la trasferencia estructural. Está basada en
interNOSTRUM.
5.1.1 La arquitectura del TA
El motor es un sistema trasformador clásico que consta de 8
módulos, suficientes para obtener una traducción de calidad entre
lenguas emparentadas. Estos módulos se comunican entre sí
mediante streams. Orientativamente podríamos decir que una
traducción palabra a palabra consigue una traducción buena en el
75% de los casos y añadiendo desambiguación homógrafa,
gestión de unidades multipalabra contiguas, reordenación local y
reglas de concordancia el porcentaje aumenta hasta más del 90%.
Esta es la aproximación utilizada.
A continuación, se detallarán los módulos de uno en uno.
5.1.1.1 El de-formateador (de-formatter)
Separa el texto de la información de formato encapsulando la
información de formato. Esta será considerada como espacio en
blanco por el resto de los módulos.
3
*El Periódico de Cataluña es un buen ejemplo del uso que se le puede dar
a un traductor. Este periódico se edita tanto en castellano como en
catalán. Para ello no utilizan el doble de personal sino que lo escriben en
castellano, se traduce con un traductor automático, se revisan los fallos y
se publica.
www.opentrad.org
4
http://apertium.sourceforge.net
5
http://matxin.sourceforge.net/
6
www.blogari.net/opentrad (en euskera)
7
http://traductor.universia.net/informacion/traductor.jsp
longitud fija que necesitan un procesamiento especial debido a
divergencias entre los dos idiomas (reordenación de palabras,
cambios léxicos como cambios en preposiciones, cambios en
género y número) para garantizar la concordancia en el idioma
destino. Este módulo se compila con un fichero de reglas de
transferencia.
5.1.1.6 El generador morfológico
Devuelve una forma superficial en el idioma destino por cada
forma léxica del idioma destino. El módulo lee un fichero binario
compilado con un diccionario morfológico del idioma destino.
Figura 1: Módulos del motor de lenguas emparentadas
5.1.1.2 Analizador morfológico
Primero, separa el texto en formas superficiales (surface forms,
unidades léxicas tal y como aparecen en el texto). Esta separación
(también llamada tokenización) no es inmediata por la existencia
de contracciones y unidades léxicas multipalabra. Después, para
cada una de estas unidades, se añade información léxica como el
lema, categoría léxica e información de inflexión morfológica.
Para las contracciones, el sistema lee una sola forma superficial y
devuelve la correspondiente secuencia de formas léxicas. Los
módulos leen en un fichero binario compilado por un diccionario
de la lengua origen.
5.1.1.3 Etiquetador morfológico (POS tagger)
Algunas formas superficiales son homógrafas y el analizador
morfológico devuelve varias formas léxicas de una sola forma
superficial. Este módulo se encarga de elegir una, analizando las
formas léxicas vecinas. En las traducciones de lenguas
emparentadas, la ambigüedad de las formas léxicas es una de las
mayores fuentes de errores.
Este módulo lee un fichero que contiene un HMM que ha sido
previamente entrenado con textos representativos del idioma
origen. Hay dos tipos de entrenamiento: un texto largo sin
etiquetar procesado por el analizador morfológico o un texto corto
etiquetado donde la elección entre las homógrafas se hace
manualmente. Este último suele dar un resultado ligeramente
mejor. El comportamiento de este módulo y el programa de
entrenamiento están controlados por un fichero de definición de
etiquetado.
5.1.1.4 Módulo de transferencia léxica
Se llama desde el módulo de transferencia estructural. Lee cada
una de las formas léxicas del idioma origen y proporciona la
correspondiente forma léxica en el idioma destino. El módulo lee
un fichero binario compilado con un diccionario bilingüe. Este
diccionario contiene una única correspondencia por cada entrada
en el idioma origen, es decir, no se hace desambiguación
semántica. Para algunas palabras, existen entradas multipalabra
para intentar elegir la correcta en textos fijos frecuentes. Este
acercamiento, ha sido utilizado satisfactoriamente en el Traductor
Universia e InterNOSTRUM.
5.1.1.7 El post-generador
Hace operaciones ortográficas tales como contracciones y
apostrofaciones. El módulo lee un fichero binario compilado con
un fichero de reglas expresado como un diccionario. Este módulo
normalmente esta dormido (solamente copia la entrada a la salida)
hasta que un símbolo de alarma especial en alguna forma
superficial del idioma destino le despierta para hacer alguna
trasformación. Después, vuelve a dormir.
5.1.1.8 El re-formateador (the re-formatter)
Recupera la información de formato encapsulada eliminando las
secuencias de encapsulación utilizadas.
5.1.2 Compiladores
Los compiladores son los responsables de convertir los datos
lingüísticos a las formas utilizadas por los módulos del motor.
Actualmente, están todavía en fase de desarrollo. En este proyecto
se emplean dos: uno para los cuatro módulos de procesamiento
léxico y otro para la transferencia estructural.
5.1.2.1 Procesamiento léxico
Los cuatro módulos que forman el procesamiento léxico se
implementan como un único programa que leen ficheros binarios
que contienen una representación eficiente de una clase de
transductores de estados finitos que se denomina “augmented
letter trasducen”. Estos ficheros binarios son una versión
mejorada de los utilizados en interNOSTRUM y Traductor
Universia y se generan mediante diccionarios XML empleando un
compilador nuevo. Este nuevo compilador es mucho más rápido y
necesita menos recursos de memoria gracias a que el nuevo
transductor crea estrategias y a la minimización de trasducens de
estados finitos parciales durante su elaboración. De esta manera,
los datos lingüísticos se desarrollan más fácilmente ya que el
cambio de regla o ítem léxico se actualiza en el sistema
prácticamente al instante.
5.1.2.2 Transferencia estructural
El formato de las reglas de transferencia estructural está en fase
de borrador. Cuando esté terminado, se construirá el compilador
para generar un módulo que mediante el uso de tecnología de
estados finitos detectará los patrones de las formas léxicas del
idioma origen que necesiten ser procesadas y contendrá código
para generar las formas léxicas correspondientes rápidamente.
5.1.1.5 Módulo de trasferencia estructural
5.2 Matxin
Utiliza ajuste de patrones (pattern-matching) de estados finitos
para detectar patrones de formas léxicas (partes o chunks) de
Se trata de un prototipo de traducción basado en reglas y
transferencias ([10]). Esta parte del proyecto Opentrad se basó en
trabajos anteriores realizados por el grupo IXA de la Facultad de
Informática de la Universidad del País Vasco, que se adaptaron e
integraron después a este proyecto.
Como se ha dicho anteriormente, el Opentrad tiene dos motores:
Apertium, un motor poco profundo de transferencia automática y
Matxin, un motor profundo de transferencia automática. Para
hacer Matxin, se pudieron utilizar partes de Apertium. Por ello,
uno de los objetivos era saber qué módulos del motor eran
reutilizables para hacer el motor de transferencia más profundo
correspondiente a las lenguas no emparentadas. Además, para su
desarrollo se reutilizaron también recursos y herramientas
previamente desarrolladas tales como EDBL, diccionarios
bilingües electrónicos, analizadores morfológicos (MORFEUS) y
gramática de sintaxis.
5.2.1 Arquitectura de la TA
Este motor es un sistema de trasferencia clásico que consta de 3
componentes principales: analizador de castellano, trasferencia
del castellano al euskera y generador de salida en euskera.
Aunque se basa en trabajos anteriores, tiene una nueva meta: la
interoperabilidad con otros recursos lingüísticos y la convergencia
con otros motores dentro del proyecto Opentrad.
Esta formado por 5 módulos principales: de-formateador,
analizador del español, modulo de trasferencia, generador y
reformateador.
5.2.1.1 De-formateador
Este módulo separa el texto a traducir de la información de
formato. Sin embargo, a diferencia del motor de las lenguas
románicas, esta información no se puede encapsular en el texto
porque puede haber grandes cambios de posición del texto. Por
ello, se crean dos ficheros uno con la información del formato y
otra con el texto fuente a traducir. En el primero se incluyen links
al texto fuente. Después de la fase de análisis, se añaden los
atributos ord (orden de palabras en el chunk y de los chunks en
las oraciones) y alloc (posición en el texto analizado) para unir el
fichero de formato al texto traducido.
5.2.1.2 Analizador de castellano
El analizador de español utilizado es un analizador disponible de
forma gratuita llamado Freeling. Es un analizador sintáctico poco
profundo que ha sido ampliado con un analizador de
dependencias. Este módulo une las dependencias entre los tokens
en el chunk y entre los chunks en la oración. La salida es un
documento basado en XML donde los elementos principales son
los chunks en las oraciones y las palabras en los chunks. El
resultado incluye información sobre tres elementos principales:
nodos o palabras, chunks o partes y oraciones.
5.2.1.3 El módulo de transferencia
Este módulo basa el proceso de trasferencia en tres elementos:
palabras o nodos, chunks o trozos y oraciones. Para empezar, se
efectúa la trasferencia léxica con la ayuda de un diccionario
bilingüe compilado con un transducer de estados finitos utilizando
el mismo formato y herramienta diseñada para las lenguas
románicas. Posteriormente, se aplica la trasferencia estructural a
nivel de oración. Puede haber trasferencia de información entre
chunks y alguno puede desaparecer. Finalmente, se lleva a cabo la
transferencia a nivel de chunk. Este proceso es bastante sencillo
en el caso de las cadenas nominales pero puede complicarse para
las verbales. Una gramática ha sido desarrollada para ello ([11]).
El transducer de estados finitos se obtiene de la herramienta de
estados finitos del proyecto Opentrad.
5.2.1.4 Generador
La salida del módulo de transferencia se pasa al modulo
generador. La generación se hace a dos niveles, primero
generación sintáctica y luego la morfológica. En la primera, se
decide el orden de las palabras en los chunks. La generación
morfológica decide después cuales son las formas superficiales
basándose en los lemas y la información morfológica. El
generador morfológico se basa en el transducer de estados finitos
desarrollado previamente por el grupo IXA ([12]) pero en un
formato estándar compatible con la herramienta correspondiente a
las lenguas románicas.
5.2.1.5 Re-formateador
Une el texto traducido y el fichero que contiene información de
formato y obtiene un texto formateado traducido. Puede haber
incosistencias en esta parte.
5.2.2 Formatos para una buena interacción
Se han diseñado especificaciones DTD (Document Type
Definitions) parecidas en los módulos de análisis, transferencia y
generador para garantizar la comunicación intermodular mediante
el uso de etiquetas XML. El objetivo principal es garantizar la
interoperabilidad intermodular para que distintos desarrolladores
puedan modificar o construir módulos. Se ha especificado
también el formato de la información de formato contenida en los
documentos a traducir.
5.2.2.1 El formato después del análisis
La salida del modulo de análisis tiene formato XML y contiene
información a nivel de oración, chunk y palabra. Las
dependencias entre distintos niveles se reflejan en la estructura de
forma jerárquica.
Los atributos alloc y ref se utilizan para recuperar el formato del
texto de entrada, mi es para la información morfológica y si para
la sintáctica. El atributo ord se emplea para ordenar los elementos
en la oración.
5.2.2.2 El formato después de la transferencia y la
generación
El DTD de la salida del análisis se emplea también para la salida
de la transferencia y la generación pero aparece el atributo
opcional ref para recordar la posición de la palabra en la oración
inicial. Después de la transferencia, aunque hay pequeños
cambios en la estructura, la mayoría de los cambios están
producidos por los valores de los atributos que corresponden al
Figura 2: Ejemplo de traducción de una oración.
lema y la información morfológica o sintáctica en euskera en vez
de la información correspondiente al castellano. El atributo ord
desaparece porque el orden se volverá a calcular. El atributo form
desaparece también porque aún no se ha hecho la generación
morfológica. Después de la generación, se vuelve a añadir la
información correspondiente al orden y forma gramatical (wordform) utilizando la misma estructura XML.
5.2.3 Formatos de los datos lingüísticos
Una buena documentación de código y ficheros auxiliares son
cruciales para el éxito de un software de código abierto. En el
caso de un sistema de TA, implica definir un formato sistemático
para cada fuente utilizada de datos lingüísticos. Los formatos
empleados por el proceso lingüístico han sido trasformados a
XML para obtener interoperabilidad, es decir, análisis sintáctico
más sencillo, transformación y mantenimiento. Los formatos
XML para cada tipo de datos lingüísticos están perfectamente
definidos en DTDs de XML.
El éxito de una traducción automática (TA) de código abierto
depende del grado de aceptación de estos documentos por parte
de otros grupos pero al mismo tiempo también del éxito del motor
en sí.
En el caso del motor de lenguas emparentadas, los formatos
utilizados son una versión modificada de los formatos que
emplean interNOSTRUM y Traductor Universia. Estos últimos,
utilizaban un formato basado en texto mientras que Opentrad hace
uso de un formato basado en XML.
Hay cuatro tipos de datos lingüísticos y se organizan en dos
niveles:
-Nivel léxico o morfológico. Se utilizan diccionarios
morfológicos y bilingües.
-Nivel estructural o sintáctico. Se están desarrollando dos
gramáticas, una para transferencia estructural y otra para
generación sintáctica.
5.2.3.1 Diccionarios (procesamiento léxico)
Por último, los diccionarios de post-generación se utilizan para
establecer correspondencias entre cadenas de entrada y salida
pudiendo necesitar que el post-generador haga transformaciones
ortográficas a las formas superficiales en el idioma destino.
En la TA del motor de lenguas no emparentadas se incluyen un
diccionario bilingüe español-euskera para la transformación
léxica y un diccionario morfológico en euskera para la generación
morfológica. Ambos en los formatos adecuados.
5.2.3.2 Trasferencia estructural
El formato propuesto para este tipo de transformación se lleva a
cabo en dos pasos que son el nivel de oración y el de chunk. El
proceso a nivel de oración es bastante sencillo. Transfiere
atributos de unos chunks a otros pudiendo desaparecer alguno. Sin
embargo, la trasferencia a nivel de chunk es más compleja cuando
se trabaja con cadenas verbales. Se ha escrito una gramática al
respecto con muy buenos resultados ([11]). Las reglas
gramaticales son declarativas y se utilizan expresiones regulares
que se compilan en FSTs. El formato, por el momento, es un
documento de texto con expresiones regulares pero otros
participantes pueden modificar las reglas o incluso hacer una
nueva gramática.
Se utilizan tres tipos de reglas:
-Reglas de identificación y marcado. Une el chunk con su tipo
añadiéndole el patrón correspondiente al idioma destino. Este
patrón contiene una serie de atributos generales que se incluyen
para ser sustituidos en pasos siguientes.
-Reglas de reemplazo de atributos. Mediante estas reglas se
reemplazan los atributos con sus formas correspondientes en
euskera.
-Reglas de limpieza. Estas reglas borran la información
innecesaria obteniendo así el resultado esperado.
Esta gramática se combina con el proceso de transferencia
estructural. En un futuro próximo, se espera que todos estos pasos
se controlen con una única gramática.
El formato de los diccionarios morfológicos monolingües y
bilingües se consideran una versión basada en XML de los
formatos previamente empleados en interNOSTRUM y Traductor
Universia. Los DTDs actuales y ejemplos de estos diccionarios
pueden encontrarse en http://www.torsimany.ua.es/eamt2005.
5.2.4 Evaluación de la traducción caÆ eu
Los diccionarios morfológicos establecen correspondencias entre
formas superficiales (surface forms) y formas léxicas (lexical
forms) y contienen lo siguiente: (a) una definición del alfabeto,
(b) una parte en la que se definen los símbolos gramáticos
utilizados para especificar las formas léxicas, tales como nombre,
verbo, plural, presente, etc. (c) una parte en la que se definen los
paradigmas (grupos reutilizables de correspondencias entre partes
de formas superficiales y partes de formas léxicas) y (d) una o
más partes de diccionario etiquetado que contienen listas de
correspondencias entre formas superficiales y formas léxicas para
formas léxicas enteras (incluyen unidades multipalabra
contiguas).
–Ellos ganan esta batalla, pero perderán la guerra.
Los diccionarios bilingües tiene una estructura similar y
establecen correspondencias entre formas léxicas del idioma
origen y formas léxicas del idioma destino, pero rara vez hacen
uso de paradigmas.
Un ciudadano vasco aparece ahogado con los pies atados en
aguas del Puerto de Barcelona.
Se evaluarán distintas características como frases simples, artículo
periodístico y gestión del análisis sintáctico ambiguo.
Ejemplos de traducción correcta de oraciones simples:
Beraiek bataila hau irabazten dute, baina gerra galduko dute.
–El traductor que estamos desarrollando.
Garatzen ari garen itzultzailea.
–Además ahora come manzanas y peras.
Gainera orain sagarrak eta udareak jaten ditu.
Ejemplo de traducción de un artículo periodístico:
SUCESO
Dos personas han aparecido muertas en aguas del Puerto de
Barcelona. Uno de ellos, al parecer un ciudadano vasco, tenía los
tobillos atados entre sí con una corbata.
GERTAERA
Euskal
hiritar
bat
<ahogado>
azaltzen
<Puerto_de_Barcelona> uretan lotutako oinekin.
da
Bi pertsonak hilak azaldu dira <Puerto_de_Barcelona> uretan.
Beraien bat, euskal hiritar bat, artean lotutako orkatilak hartzen
nituen gorbata batekin.
Las palabras que aparecen entre los símbolos <> no han sido
reconocidos por el traductor y no los traduce. Además, las
traducción de “los pies atados en aguas...” a “uretan lotutako
oinekin” es incorrecta y la frase no se entiende. Lo mismo ocurre
con “tenía”Æ “-k hartzen nituen”.
Por el momento, Matxin traduce las palabras con varios
significados al más frecuente, siendo esto una fuente considerable
de errores. Como ejemplo:
Hemos montado un tomate de narices.
Sudurren tomate bat igo dugu. (?)
Esta traducción es errónea y la frase en euskera carece totalmente
de sentido.
En el caso de análisis síntactico ambiguo, el analizador elige una
interpretación sin entender la oración y obviammente, esto
provoca errores. Por ejemplo, la preposición de puede traducirse
a: (a) –ko, (b) –tik, (c) –ren. Ejemplos:
Trae el pan de la tarde.
Arratsaldeko ogia dakar. √
Trae el pan de la panadería.
Okintzako ogia dakar. ?
Trae el pan de su madre.
Bere amaren ogia dakar. √
Yo voy de casa al campo.
Ni etxetik noa mendiari. √Soy de ciudad.
Hiritik naiz. ?
Ejemplo del tratamiento de unidades léxicas multipalabra.
sin embargo
hala ere (NO enbargorik gabe)
6. Conclusiones y trabajo futuro
El problema principal de la traducción castellano-euskera es que
el sistema no tiene en cuenta la ambigüedad semántica. Aunque la
utilización de unidades multipalabra en el léxico suaviza este
problema, los responsables, basándose en su propia experiencia,
están considerando la posibilidad de aplicar desambiguación a
nivel de palabra.
Como se ha dicho previamente, el motor de transferencia poco
profundo es una versión mejorada en código abierto de otros
anteriores que son interNOSTRUM y Traductor Universia. A
fecha de hoy Opentrad es utilizado diariamente por miles de
personas en la red.
Puesto que se trata de motores de traducción automática en
código abierto, se pueden adaptar para otros pares de lenguas. En
el caso del motor de lenguas emparentadas, podrá adaptarse a
otras lenguas románicas (francés, portugués, italiano, occitano,
etc. ) e incluso a lenguas emparentadas no románicas (checoeslavo, sueco-danés, etc.) En el caso del motor para lenguas no
emparentadas, también podrá permitir que otros idiomas con
pocos recursos de traducción automática puedan contar con esta
herramienta.
Los resultados del proyecto han sido muy satisfactorios para
ambos motores, ya que han complido sus objetivos. En el caso del
euskera, se plantea la continuación del desarrollo para poder
alcanzar al umbral de 90%. Para ello, algunas de las mejoras que
se proponen son las siguientes: extractor de terminología
automático (ERAUZTERM,...), ayuda avanzada para elección de
significados (WordNet, técnicas WSD, ...), utilización de datos
sobre subcategorización de verbos, post-edición, etc. Por otro
lado, también se sugiere reducir el campo de traducción a un área
concreta para mejorar los resultados ya que una solución general
es mucho más difícil de conseguir. Adicionalmente, se planea
incluir la traducción euskeraÆ español e inglesÆ euskera.
7. Referencias
[1] Arantza Diaz de Ilarraza, Aingeru Mayor, Kepa Sarasola.
Euskal Herriko Unibertsitatea: “Adibideetan Oinarritutako
Itzulpen Automatikoa (AOIA): azterketa bibliografikoa eta
euskarekin lan egiteko proposamenak”.
[2] Nicolas Stroppa, Ceclan Groves, Andy Way. National Centre
for Language Technology. Dublin City University, Ireland.
Kepa Sarasola. Euskal Herriko Unibertsitatea. Informatika
Fakultatea, Donostia. Nacional Centre for Language
Technology at Dublin City University, Spring 2006.
“Example-Based Machine Translation of the Basque
Language”.
[3] Arantxa Diaz de Ilarraza, Aingeru Mayor, Kepa Sarasola.
IXA Taldea, Euskal Herriko Unibertsitatea, Informatika
Fakultatea, Donostia. “Reusability of wide coverage
linguistic resources in the construction of a multilingual
Machine Translation System”.
[4] E. Agirre, A. Díaz de Ilarraza, G. Labaka, K. Sarasola.
Euskal Herriko Unibertsitatea.“Uso de información
morfológica en el alineamiento español-euskera.
[5] Carme Armetano-Oller, Antonio M. Corbí- Bellot, Mikel L.
Forcada, Mireia Ginestí-Rosell, Boyan Bonev, Sergio OrtizRojas, Juan Antonio Pérez-Ortiz, Gema Ramírez-Sánchez,
Felipe Sánchez-Martínez. Grupo Transducens, Departament
d Llenguatges i Sistemas Informàtics, Universitat d’Alacant.
“An open-source shallow-transfer machine translation
toolbox: consequences of its release and availability”.
[6] Carme Armetano-Oller, Rafael C. Carrasco, Antonio M.
Corbí-Bellot, Mikel L. Forcada, Mireia Ginestí-Rosell,
Sergio Ortiz-Rojas, Juan Antonio Pérez-Ortiz, Gema
Ramírez-Sánchez, Felipe Sánchez-Martínez, Miriam A.
Scalco. Grupo Transducens, Departament d Llenguatges i
Sistemas Informàtics, Universitat d’Alacant.“Open-source
Portuguese-Spanish Machine Translation”
[7] R. Canals-Marote, A. Esteve-Guillén, A. Garrido-Alenda,
M.I. Guardiola-Savall, A. Iturraspe-Bellver, S. MontserratBuendia, S. Ortiz-Rojas, H. Pastor-Pina, P.M. Pérez-Antón,
M.L. Forcada. Grupo Transducens, Departament d
Llenguatges i Sistemas Informàtics, Universitat d’Alacant.
“El sistema de traducción automática castellano ↔ catalán
InterNOSTRUM”.
[8] Xavier Carreras, Isaac Chao, Lluís Padró, Muntsa Padr.
Centro de Investigación TALP, Universitat Politécnica de
Catalunya, Barcelona.“FreeLing: An Open-Source Suite of
Language Analyzers”
[9] Antonio M. Corbí-Bellot, Mikel L. Forcada, Sergio OrtizRojas, Juan Antonio Pérez-Ortiz, Gema Ramírez-Sánchez,
Felipe Sánchez-Martínez.Grupo Transducens, Departament d
Llenguatges i Sistemas Informàtics, Universitat d’Alacant.
Iñaki Alegria, Aingeru Mayor, Kepa Sarasola. IXA Taldea,
Informatika Fakultatea, Euskal Herriko Unibertsitatea.
EAMT 2005 Conference Proceedings. “An Open-Source
Shallow-Transfer Machine Translation Engine for the
Romance Languages of Spain”
[10] Iñaki Alegria, Arantza Diaz de Ilarraza, Gorka Labaka,
Mikel Lersundi, Aingeru Mayor, Kepa Sarasola. IXA
Taldea, Informatika Fakultatea, Euskal Herriko
Unibertsitatea. Mikel L. Forcada, Sergio Ortiz-Rojas.
Transducens group, Department de Llenguatges i Sistemas
Informàtics, Universitat d’Alacant. Lluis Padró, TALP
group, Department de Llenguatges i Sistemas Informàtics,
Universitat Politècnica de Catalunya. “An Open Architecture
for Transfer-based Machina Translation between Spanish
and Basque”. MT Summit. A workshop at Machine
Translation Summit X, Phuket, Thailand 2005
[11] I. Alegria, A. Diaz de Ilarraza, G. Labaka, M. Lersundi, A.
Mayor, K. Sarasola. “A FST grammar for verb chain
transfer in a Spanish-Basque MT System”. Proc of the Finite
State Methods in Natural Language Processing Workshop.
Helsinki.
[12] I. Alegria X. Artola, K. Sarasola, M. Urkia. “Automatic
morphological analysis fo Basque. Literary and Linguistic
Computing”.