LA ESTADíSTICA COMO MéTODO DE TRADUCCIóN AUTOMáTICA

Brown et al 1990

En 1949, Warren Weawer, un pionero de informática teórica, propuso la estadística como método de TA (Weaver 1949). Esta idea no tuvo un eco muy amplio y fue contestada por motivos teóricos. El obstáculo principal, sin embargo, eran las limitaciones de los ordenadores y los escasos textos en formato magnético, que son de vital importancia para un experimento de estas características. Los ordenadores de hoy en día son cinco órdenes de magnitud más veloces que los de entonces y poseen una capacidad de memoria de cientos de millones de bytes. Existen además córpora disponibles para el tratamiento computacional. Los métodos estadísticos han probado su eficacia en áreas como el reconocimiento del habla (Bahl et al 1983), han sido aplicados en lexicografía (Sinclair 1985) y en el procesamiento del lenguaje natural (Baker 1979; Ferguson 1980; Garside et al 1987; Sampson 1986; Sharman et al 1988). En traducción automática han sido puestos en práctica también con notable éxito (Brown et al 1990).

El experimento del centro de investigación Thomas J. Watson de IBM en Yorktown Heights, Nueva York (IBM/TJW), se limita a la traducción frase a frase. Partiendo del principio de que cualquier oración en una lengua es una traducción posible en otra lengua, asignan a todo par de oraciones (O,D) una probabilidad, Pr(D|S). Esta fórmula representa la probabilidad de que un traductor produzca D en el lenguaje destino a partir de O en el lenguaje origen. La hipótesis de partida es que para pares como (Le matin je me brosse les dents|President Lincoln was a good lawyer) la probabilidad Pr(D|O) será practicamente nula. El planteamiento es el siguiente: Dada una oración D en la lengua destino, se busca la oración O que da lugar a D. El porcentaje de error se reduce eligiendo la oración O más probable dada D. Es decir, se elige O para maximizar Pr(O|D). Para ellos se utiliza el teorema de Bayes de la manera siguiente:

Pr(O) Pr(D|O)

Pr(O|D) = ---------------

Pr(D)

El denominador a la derecha de la ecuación no depende de O y por ello es suficiente para elegir la O que maximiza el producto Pr(O) Pr(D|O). Llámese al primer factor en el producto la probabilidad del modelo lingüístico de O y al segundo factor la probabilidad de traducción de D dada O.

Para entender la probabilidad de traducción podemos imaginarnos a alguien que fuera proponiendo palabras en la lengua origen como posibles causantes de las palabras en la lengua destino. Podemos entender la probabilidad del modelo lingüístico imaginándonos al mismo individuo sugiriendo cómo colocar las palabras de la lengua origen.

Una traducción estadística requiere un método para computar probabilidades de modelos lingüísticos, un método para computar probabilidades de traducción y un método para buscar la oración origen con mayor valor de Pr(O) Pr(D|O) entre varias oraciones posibles.

-----------------------------------------------------------------

Modelo O Modelo D

de la lengua ------> de traducción ------>

origen

Pr(O) x Pr(D|O) = Pr(O,D)

Un modelo de la lengua origen y un modelo de traducción dan contenido a la distribución probabilística sobre pares de oraciones origen-destino (O,D). La probabilidad común Pr(O,D) del par (O,D) es el producto de la probabilidad Pr(O) computado por el modelo lingüístico y la probabilidad condicional Pr(D|O) computado por el modelo de traducción. Los parámetros de estos modelos son estimados automáticamente a partir de una base de datos de grandes proporciones de pares de oraciones origen-destino mediante algoritmos estadísticos que maximizan la acomodación entre los modelos y los datos.

D O

-------> Descodificador ------->

O^ = argmax Pr(O|D) = argmax Pr(O,D)

O O

El descodificador realiza la traducción. Dada un oración D en el lenguaje destino, el descodificador elige una traducción válida la oración O^ la lengua origen para la que existe una máxima probabilidad Pr(O|D).

Figura 1 Sistema de traducción automática estadístico.

----------------------------------------------------------------

El modelo lingüístico

Dada una cadena de palabras, c1,c2 ... cn, se puede escribir sin pérdida de generalización

Pr(c1,c2 ... cn) = Pr(c1)Pr(c1|c2) ... Pr(cn|c1,c2 ... cn-1).

Se puede reformular el problema de la modelización lingüística como el de la computación de la probabilidad de una palabra simple dadas todas las palabras que la preceden en la oración. En cualquier punto de la oración, podemos conocer la probabilidad de una palabra objeto cj dado el historial c1,c2 ... cj-1. Al haber un elevado número de historiales, es inviable tratar cada una de las probabilidades como un parámetro independiente. La manera de reducir la cantidad de parámetros es clasificando cada historial en un tipo de equivalencias y permitiendo que la probabilidad de una palabra objeto dependa del historial solo a través del tipo de equivalencia. En un modelo n-gram, dos historiales serían equivalentes si coincidiesen en su palabras finales n-1. Así en un modelo bigram, dos historiales son equivalentes si terminan en la misma palabra. En un modelo trigram, dos historiales son equivalentes si terminan en las dos misma palabras.

Mientras los modelos n-gram son lingüisticamente ingenuos, se ha compropado su validez en reconocedores de habla y tienen la ventaja de que son fáciles de construir y de usar.

Para ver el poder de un modelo trigram lo podemos aplicar a algo que llamamos traducción "de bolsa" de inglés a inglés. Primero, se parte una oración en palabras que se introducen en la bolsa y luego se intenta recomponer la oración con las palabras en la bolsa. Se usa el modelo n-gram para clasificar distintas ordenaciones de las palabras en la bolsa. Así, una ordenación de O se considera mejor que O' si Pr(O) es mayor que Pr(O'). Este esquema fue probado con un número aleatorio de oraciones. De una colección de 100 oraciones se consideraron 38 oraciones con menos de 11 palabras. Hubo que restringir la longitud de las oraciones porque el número de reorganizaciones posibles se incrementa exponencialmente a mayor longitud de las oraciones. Se usó un modelo lingüístico trigram que había sido construído para procesar el habla. Fue posible recuperar 24 (63%) de las oraciones exactas. En algunos casos, la oración con más alta probabilidad no era una reproducción exacta del original, pero significaba lo mismo. En otros casos, por supuesto, la oración más probable según el modelo era simplemente basura. Considerando correctas todas las oraciones que conservaban el significado del original, entocnes 32 (84%) de las 38 eran correctas. En la figura 2. se enseñan algunos ejemplos. Los autores son conscientes que si el tamaño de la frase fuera mayor el número de errores se elevaría considerablemente.

Reconstrucción exacta (24 de 38)

Please give me your response as soon as possible.

=> Please give me your response as soon as possible.

Reconstrucción perservando el significado (8 de 38)

Now let me mention some of the disadvantages.

=> Let me mention some of the disadvantages now.

Reconstrucción desechable (6 de 38)

In our organization research has two missions.

=> In our missions research organization has two.

Figura 2 Ejemplos del modelo de bolsa

El modelo de traducción

Brown et al pronponen que para oraciones simples, la traducción francesa de un oración inglesa puede hacerse palabra a palabra. Por ejemplo, en el par de oraciones (Jean aime Marie|John loves Mary) parece que John produce Jean, loves produce aime y Mary produce Marie. Cada palabra es alineada con la palabra que produce. Así, John es alineada con Jean, etc. Claro que no todos los pares de oraciones son así de sencillos. El par (Jean n'aime personne|John loves nobody), podemos alinear John con Jean y loves con aime, pero nobody se alinea con n' y personne. En ocasiones no existe una palabra francesa para aliniarse con la palabra inglesa del par y viceversa. La figura 3 ilustra la técnica de la alineación. Una alineación indica el origen en la oración inglesa de cada una de las palabras en la oración francesa. Se llama al número de palabras francesas que una palabra inglesa produce en una alineación dada su fertilidad en tal alineación.

The proposal will not now be implemented

Les propositions ne seront pas mises en application maintenant

Figura 3 Ejemplo de alineación

Si miramos una serie de pares, comprobamos que palabras del comienzo de una oración inglesa tienden a alinearase con palabras al comienzo de una oración francesa, y lo mismo sucede con palabras que aparecen al final de la oración en ambas lenguas. Esto no ocurre siempre. A veces, una palabra francesa aparecerá bastante alejada de la palabra inglesa que la produjo. Este efecto se llama distorsión. Distorsiones permitirán por ejemplo que los adjetivos precedan a los sustantivos que modifican en inglés, pero que los sigan en francés.

Es importante introducir una notación para las alineaciones. Se escribe una oración en francés seguida de la oración en inglés y el par se cierra con paréntesis. Ambas se separan por un barra vertical. Siguiendo a cada palabra en inglés, damos una lista entre paréntesis de las posiciones de las palabras en la oración en francés. Si una palabra inglesa resulta sin alineación, entonces la lista se omite. Así, (Jean aime Marie|John(1) loves(2) Mary(3)) es una alineación simple. La alineación (Le chien es battu par Jean|John(6) does beat(3,4) the(1) dog(2)), John produce Jean, does no produce nada, beat produce es battu, the produce Le, dog produce chien y par no es producido por ninguna palabra inglesa.

Antes que describir el modelo de traducción formalmente, se pude ilustrar con un ejemplo. Para computar la probabilidad de la alineación (Le chien es battu par Jean|John(6) does beat(3,4) the(1) dog(2)), se comienza multiplicando la probabilidad de que John tenga fertilidad 1 por Pr(Jean|John). Entonces se multiplica la probabilidad de que does tenga fertilidad 0. Después, se multiplica la probabilidad de que beat tenga fertilidad 2 por Pr(est|beat) Pr(battu|beat) y así sucesivamente. La palabra par es producido por una palabra especial inglesa denotada como <null>. El resultado es

Pr(fertility = 1|John) x Pr(Jean|John) x

Pr(fertility = 0|does) x

Pr(fertility = 2|beat) x Pr(est|beat)Pr(battu|beat) x

Pr(fertility = 1|the) x Pr(Le|the) x

Pr(fertility = 1|dog) x Pr(chien|dog) x

Pr(fertility = 1|<null> x Pr(par|<null>).

Por último, se introduce el factor de probabilidad de distorsión. El modelo de distorsiones es por el momento muy simple. Se asume que una posición de la palabra destino depende de la longitud de la frase destino y de la posición de la palabra origen. Así la probabilidad de distorsión se expresa Pr(i|j,l), donde i es la posición destino, j es la posición origen y l es la longitud destino.

En resumen, los parámetros para nuestro modelo de traducción son un conjunto de probabilidades de fertilidad Pr(n|e) para cada palabra inglesa e y para cada fertilidad n de 0 a algún límite moderado, 25 en este caso, un conjunto de probabilidades de traducción Pr(f|e), una para cada elemento f del vocabulario francés y para cada elemento e del vocabulario inglés, y un conjunto de probabilidades de distorsiones Pr(i|j,l), para cada posición destino i, posición origen j y la longitud l. Se limitan i, j y l a la escala de 1 a 25.

Búsqueda

La búsqueda de la oración O que maximice Pr(O)Pr(D|O) tiene la dificultad de que hay demasiadas oraciones para probar. En su lugar se debe intentar una búsqueda subóptima. Esto se hace utilizando una variante de la búsqueda de pila de (Bahl et al. 1983). En una búsqueda de pila, se guarda una lista de hipótesis de alineación. Inicialmente, la lista contiene solo una entrada para la hipótesis de que la oración destino surge como una secuencia de plabras origen que desconocemos. Esta entrada puede ser (Jean aime Marie|*) donde el asterisco indica una ubicación para una secuencia desconocida de palabras origen. La búsqueda se realiza por iteraciones, cada una extiende la entrada con más posibilidades en la lista. Una entrada se extiende añadiendo una o mas palabras adicionales a la hipótesis. Por ejemplo, podemos extender la entrada inicial mencionada con una o más de las entradas siguientes:

(Jean aime Marie|John(1)*).

(Jean aime Marie|*loves(2)).

(Jean aime Marie|*Mary(3)).

(Jean aime Marie|Jeans(1)*).

La búsqueda termina cuando hay una alineación completa en la lista que sea más prometedor que cualquiera de las alineaciones incompletas.

A veces, la oración O' que se encuentra en el camino no es la misma que la oración O que el traductor ha trabajado. Cuando O' no es una traducción aceptable es cuando surge el problema. si Pr(O')Pr(D|O') es mayor que Pr(O)Pr(D|O), entonces nuestro problema está en nuestro modelo de la lengua o del proceso de traducción. Si por el contrario Pr(O')Pr(D|O') es menor que Pr(O)Pr(D|O), entonces nuestro proceso a fallado en la búsqueda de la oración más probable. Es un error de búsqueda. Corrigiendo la fórmula de búsqueda no siempre se consigue enmendar el error. Es posible que se encuentre una oración más probable, pero que continue siendo incorrecta. Es decir, así como un error de búsqueda es un claro indicador del proceso de búsqueda, no lo es del modelo lingüístico ni del de traducción.

Estimación de parámetros

Tanto el modelo lingüístico como el de traducción tienen muchos parametros que especificar. Para estimarlos con precisión, se necesita una cantidad elevada de datos. Para los parámetros del modelo lingüístico se necesita solo texto en inglés, que está disponible en formato magnética de muchas fuentes. Para los parámetros del modelo de traducción se necesitan pares de oraciones que sean traducciones mutuas.

La ley canadiense dicta que las actas del Parlamento se recojan en los dos idiomas francés e inglés. Un parlamentario canadiense se puede expresar en cualquier de los dos idiomas y después de cada sesión un equipo de traductores se encarga de que todo quede recogido en ambos idiomas. Las actas se conocen como Hansards, en recuerdo del editor de las actas del parlamento británico a comienzos del siglo XIX. Estas actas se encuentran en formato magnético y ha sido posible obtener cerca de 100 millones de palabras de texto inglés y sus correspondientes francesas. Aunque la traducción no se haya echo frase por frase, ha sido posible extraer cerca de tres millones de pares de oraciones mediante un algoritmo según la longitud de la frase. Aproximadamente un 99% the estos pares son hechos a partir de oraciones que son traduciones mutuas. De esta colección de pares de oraciones se han calculado los parámetros de los modelos lingüísticos y de traducción.

En el experimento que se describirá más adelante, se utiliza un modelo bigram. Es decir, para cada par de palabras en la lengua origen existe un parámetro. Estos parámetros se estiman del cómputo de pares de palabras en una muestra extensa de texto en inglés del Hansard según el método de Jelinek & Mercer 1980.

Arriba hemos visto alineaciones de pares de oraciones. Si tuviéramos una colección de estas alineaciones, se podrían estimar los parámetros del modelo de traducción mediante un cómputo, igual que se hace con el modelo lingüístico. Sin embargo, no hay alineaciones sino solo los pares no anileados. Se parece a la situación con el reconocimiento de habla donde se tiene el argumento/script de una oración y su dimensión de onda pero sin indicación de que es lo que responde en el diagrama de onda al script. En el reconocimiento de habla esto se resuelve mediante el algoritmo EM (Baum 1972; Dempster et al. 1977). Este algoritmo se ha probado con el problema de traducción. Su funcionamiento es como sigue: Dada una estimación inicial de los parámetros se puede computar la probabilidad de cualquiera de las alineaciones. Se pueden reconsiderar los parámetros calibrando cada posible alineación de acuerdo a su probabilidad tal como se determinaba en la estimación inicial de parámetros. Iteraciones sucesivas de este proceso llevan a parámetros que asignan cada vez mayores probabilidades a los pares de oraciones. El algoritmo lleva a un máximo local de la probabilidad de los pares observados como una función de los parámetros del modelo. Pueden existir muchos de estos máximos locales. El resultado final dependerá de la selección final de parámetros.

El experimento piloto

En nuestro primer experimento, probamos la habilidad para estimar parámetros del modelo de traducción. Elegimos como vocabulario las 9.000 palabras más corrientes de las versiones inglesa y francesa del Hansard. Para el experimento, se reemplazaron todas las palabras con la palabra desconocida francesa o inglesa según el caso. Se aplicó el algoritmo iterativo mencionado arriba para estimar unos 81 millones de parámetros de 40.000 pares de oraciones que contenían unas 800.000 palabras en cada lengua. El algoritmo requiere una estimación inicial de los parámetros. Se asume que cada una de las 9.000 palabras francesas era tan probable como las demás como traducción de una de las 9.000 palabras inglesas, se asumió que cada una de la fertilidades de 1 a 25 era igualmente probable para cada una de las 9.000 palabras inglesas y por último se asumió que cualquier posición de destino era igualmente probable dada una posición de origen y la longitud de destino. Es decir, las opciones iniciales tenían muy poca información sobre francés o inglés.

La figura 4 muestra la traducción y probabilidades de fertilidad estimadas para la palabra inglesa the. De acuerdo con el modelo, the se traduce más frecuentemente por los artículos franceses le y la. Esto no es de sorprender, pero lo intersante es que se ha determinado automáticamente por el proceso de estimación. La correspondencia está inherentemente en los pares de oraciones. La figura 5 muestra estas probabilidades para la palabra inglesa not. Como se esperaba, la palabra francesa pas aparece entre las probabilidades de tradución más elevada. También, la probabilidad de fertilidad de not se traduce en dos palabras francesas, lo cual es consistente con la negativa francesa compuesta por la palabra auxiliar ne además de las negativas pas o rien.

Para estas dos palabras, la misma información se hubiera encontrado en un diccionario. La figura 6, vemos los parámetros entrenados para la palabra hear. Como era de esperar, varias formas de la palabra francesa entendre aparecen como posibles traducciones, pero la traducción más probable resulta bravo.

Mirando a las fertilidades, se puede comprobar que la probabilidad es igual dividiendo entre la fertilidad 0 y la fertilidad 1. Esto sucede porque los parlamentarios que usan el inglés expresan su aprobación gritando Hear, hear!, mientras que en francés gritan Bravo! El modelo de traducción ha aprendido que normalmente dos hears producen un bravo haciendo que uno produzca el bravo y el otro nada.

Un par de oraciones tiene muchas posibles alineaciones, ya que cada palabra destino puede ser alineada con cualquier palabra origen. Un modelo de traducción asignará una probabilidad considerable solo a algunos argumentos de los posibles, y podemos ganar mayor introspección en el modelo examinando los alineamientos que considera más probables. Uno de estos alineamientos es el de la figura 3. Lógicamente, not se alinea con ne y pas, mientras que implemented se alínea con la frase mises en application. Se puede detectar una deficiencia del modelo ya que intuitivamente nos parece que will y be actuan conjuntamente para producir seront mientras que el modelo alínea will con seront y be con nada.

En el segundo experimento se empleó el método estadístico para traducir de francés a inglés. Para hacerlo viable, se limitó el vocabulario inglés a las 1.000 palabras más frecuentes del Hansard. El vocabulario francés contenía 1.700 palabras más frecuentes en las traduciones de oraciones que eran totalmente cubiertas por el vocabulario de 1.000 palabras inglesas. Se estimó los 17 millones de parámetros del modelo de traducción de los 117.000 pares de oraciones que eran cubiertos con ambos vocabularios de francés e inglés. Se estimaron los parámetros del modelo lingüístico bigram de 570.000 oraciones de la versión inglesa del Hansard. Estas oraciones contienen cerca de 12 millones de palabras en total y no están restringidas a oraciones completamente cubiertas por el vocabulario.

Se utilizó el procedimiento de búsqueda para descifrar 73 nuevas oraciones francesas de otra parte del Hansard. Se asignó a cada oración resultante una categoría según el criterio siguiente. Si la frase descifrada era exacta a la traducción del Hansard, se le asignaba la categoría exacta. Si aportaba el mismo significado aunque con distintas palabras se le asignaba la categoría alternativa. Si la oración descifrada era una traducción legítima de la oración francesa pero cambiaba su significado de la traducción en el Hansard, se le asignaba la categoría diferente. Si tenía sentido como frase inglesa pero no podía ser interpretada como una traducción de la francesa, se le asignaba la categoría incorrecta. Por último, si la frase descifrada ere gramaticalmente deficiente, se le asignaba la categoría agramatical. El resultado para cada categoía se puede ver en Figura 7 y los resultados se muestran en Figura 8.

Solo un 5% de las oraciones lograron la categoría exacta. Sin embargo, parece que una frase descifrada que esté entre uno de las tres primeras categorías (exacta, alternativa o diferente) representa una traducción razonable. Así vistas las cosas, el sistema se comportaba correctamente en un 48% de las ocasiones.

Como una medición alternativa del comportamiento del sistema, se corrigieron las frases entre las tres últimas categorías (diferente, incorrecta y agramatical) para hacerlas exacta o alternativa. Contando una pulsación por cada letra que devió ser borrada y lo mismo por cada una que debe ser añadida, se necesitaron 776 pulsaciones para reparar todas las oraciones descifradas. Esto comparado con las 1.916 pulsaciones que se necesitaban para generar todas las traduciones del Hansard. Si se mide el tiempo de traducción por pulsaciones, el sistema reduce el trabajo en un 60%.

Planes

Hay muchas maneras de mejorar los modelos descritos. Uno es estimando los parámetros con un número más elevado de datos. Para los experimentos descitos, solo se estimaron los parámetros de una fracción pequeña de los datos disponibles, un 1% aproximadamente y para el modelo lingüístico un 10%.

Lo más complicado es con oraciones en que la traducción de algunas palabras depende de la traducción de otras palabras origen. Por ejemplo, el modelo de traducción produce aller de to go ya que produce aller de go y nada de to. Se puede pensar que to go funciona como una unidad para producir aller. Mientras que el modelo permite muchos palabras destino derivar de la misma palabra origen, no permite que varias palabras origen produzcan un simple palabra destino. Una extensión lógica al sistema será la identificación de grupos de palabras que funcionan como unidades de traducción. Esto se concretará en una división probabilística de las oraciones origen en grupos de palabras.

Otra mejora es un modelo en el que la posición de un palabra destino producida por una palabra particular origen depende de la identidad de la palabra origen y de la posición de la palabra destino producida por la palabra origen anterior.

Un modelo lingüístico trigram mejorará el comportamiento del sistema. Una medición teorico-informática de la complejidad de la lengua respecto al modelo es el de perplejidad como definido por Bahl et al 1983. Con el modelo bigram usado actualmente y las 1.000 palabras usadas la perplejidad es de 78. Con el modelo trigram la perplejidad se reduce a 9. Además del poder añadido de un modelo trigram sobre uno digram, también indica que una tarea de 1.000 palabras es simple.

El sistema no considera conexiones como entre va, vais y vont, o entre tall, taller y tallest. El resultado es que no se puede mejorar la caracterización estadística de va estudiando la de vont.

Por último, el tratamiento de oraciones como una secuencia de palabras invertebrada. Sharman et al 1988 discuten un método para derivar un gramática sintagmática probabilistica automáticamente a partir de un muestrario de oraciones analizadas.