¿Cómo funcionan los traductores automáticos? (III)

18Abr11

Hoy  es un día de experimentos largos en la universidad así que aprovecharé para continuar con la serie “¿Cómo funcionan los traductores automáticos?“. En la primera entrega, se dio una visión general del funcionamiento de estos sistemas, destacando la importancia del corpus paralelo y el proceso de alineación; luego se hizo énfasis en el modelo de traducción y el modelo de lenguaje y de como juntos se complementan para lograr buenos resultados. Hoy, siguiendo con la descripción de dichos modelos pero enfocándonos en el primero, aprenderemos cómo se construye a partir de un corpus paralelo un modelo de traducción.

Existen varios modelos de traducción dependiendo del paradigma de traducción que se siga. La explicación que sigue a continuación corresponde a los sistemas de traducción basados en frases (Phrase-based Machine Translation, PDF 97Kb)

Recordemos primero que un corpus paralelo es un conjunto de documentos que están escritos en dos idiomas. Para efectos de la construcción de un sistema de traducción, el corpus debe estar alineado a nivel de oraciones. Esto quiere decir que tendremos al final dos documentos, cada uno con la misma cantidad de líneas, en los cuales cada línea representa una oración y en un idioma y otro. La siguiente ilustración puede aclarar esta estructura:

Una vez construido el corpus continuamos con el proceso de alineado a nivel de palabras, el cual para cada par de oraciones del corpus paralelo, enlaza las palabras de la oración fuente con las palabras de la oración destino:

Luego de alineado el corpus a nivel de palabras comenzamos la extracción de frases bilingües. Aquí es importante destacar que el término “frase” cuando se usa en el ámbito de la traducción automática estadística no tiene nada que ver con su definición tradicional. Para nosotros, una frase no es más que un conjunto de palabras consecutivas, sin importar si logran formar un sentido. Por su parte, una frase bilingüe es la unión de dos frases tal que no exista un enlace entre alguna de las palabras de la frase bilingüe y una palabra que esté fuera de la misma. Nuevamente, este concepto es más fácil de ver con un dibujo:

Allí, la frase bilingüe (This will, Este será) no es válida pues el enlace (be, será) asocia una palabra dentro de la frase con una fuera. Las frases (This will be, será), (will be, será), (interesting, interesante) y (interesting example, ejemplo interesante) sí son validas. Observen como pueden existir frases bilingües que se solapan parcialmente. Las frases que pueden extraerse del ejemplo anterior son:

(This, Este), (This will be, Este será), (This will be an, Este será un), (This will be an interesting example, Este será un ejemplo interesante), (will be, será),  (will be an, será un), (will be an interesting example, será un ejemplo interesante), (an, un), (an interesting example, un ejemplo interesante), (interesting, interesante), (interesting example, ejemplo interesante) y (example, ejemplo).

Una vez extraídas todas las frases de todos los pares de oraciones del corpus (llegan a ser millones si el corpus es grande) podemos calcular el modelo de traducción. Anteriormente definimos el modelo de traducción como aquel modelo que es capaz de medir qué tan bien una frase Y es traducción de otra frase X. Por lo tanto nosotros calcularemos dos probabilidades para cada frase (X,Y) definidas de la siguiente manera:

, donde N(X,Y) es la cantidad de veces que aparece la frase (X,Y) en el corpus. Así, tenemos que P1 estima la probabilidad de Y sea traducción X y P2 estima la probabilidad de que X sea traducción de Y.

A pesar de que pueda verse complicado podemos aclarar tanta fórmula con un ejemplo. Supongamos que hemos extraído cuatro frases de un corpus: (house, casa), (house, apartamento), (house, casa) y (house, piso). Con estas cuatro frases, el numerador de P1(house,casa) sería

N (house,casa) = 2

pues la frase (house,casa) aparece dos veces, y el denominador

Σ N(X,i) = N(house,casa)+N(house,apartment)+N(house,piso) = 2+1+1 = 4

por lo tanto, según estas cuatro frases, la probabilidad de que “casa” sea la traducción de “house” es P1(house,casa) = 0.5. Además P1(house,apartamento) = P1(house,piso) = 0.25.

A través del cálculo del modelo de traducción tenemos la capacidad de asignarle puntuaciones a nuestras pequeñas piezas de traducción. Estos puntajes junto con otros modelos como el de lenguaje, que veremos en la próxima entrega, son los que le permiten al sistema ofrecernos el mejor resultado posible cada vez que le pedimos que nos traduzca alguna oración.

Sin duda, de las tres entregas, esta ha sido la más pesada. Y es que conforme vamos avanzando, se hace más difícil no empezar a hablar de matemáticas y de números que pueden asustar. Sin embargo, espero que se haya entendido. Recuerda que si tienes alguna duda o comentario, puedes escribirme a través del blog (abajo donde dice “Deja un comentario”) o encontrarme en Twitter o Facebook. Y si eres aún más tradicional puedes hasta escribirme un correo electrónico.

Anuncios


No Responses Yet to “¿Cómo funcionan los traductores automáticos? (III)”

  1. Dejar un comentario

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s


A %d blogueros les gusta esto: