traducción automática neural: cómo funciona y qué se puede ...mlf/tmp/forcada_torrejuana.pdf ·...
TRANSCRIPT
TAN: cómo funciona y qué esperar
Traducción automática neural:cómo funciona
y qué se puede esperar de ella.
Mikel L. Forcada1,2
1Departament de Llenguatges i Sistemes Informàtics,Universitat d’Alacant, E-03071 Alacant2Prompsit Language Engineering, S.L.,
Edifici Quòrum III, Av. Universitat, s/n, E-03202 Elx
Torre Juana OST / Friday Tech Fever8 noviembre 2019
TAN: cómo funciona y qué esperar
Índice
1 Traducción automática
2 Traducción automática neural
3 Sobre el entrenamiento
4 ¿Qué se puede esperar?
TAN: cómo funciona y qué esperar
Traducción automática
Índice
1 Traducción automática
2 Traducción automática neural
3 Sobre el entrenamiento
4 ¿Qué se puede esperar?
TAN: cómo funciona y qué esperar
Traducción automática
Traducción automática
Traducción automática
El procesamiento,mediante un ordenador que utiliza software adecuado,de un texto escrito en la lengua origen (LO)que produce otro texto en la lengua meta (LM)el cual puede a veces ser utilizado como traducción enbruto.
TAN: cómo funciona y qué esperar
Traducción automática
Usos de la traducción automática
Dos grandes grupos de aplicaciones:Asimilación: cuando se usa tal cual para comprender texto en
otra lengua. Debe ser rápida e inteligible aunqueno sea gramatical. Puede que no se guarde.
Diseminación: cuando se usa para producir un texto que sepublicará. Debe ser adecuada como está (es raro)o fácil de corregir (post-editar) para hacerlapublicable.
TAN: cómo funciona y qué esperar
Traducción automática
Tecnologías de traducción automática
Hay dos grupos principales de tecnologías de traducciónautomática (TA):
La TA basada en reglas, yLa TA basada en corpus
TAN: cómo funciona y qué esperar
Traducción automática
Traducción automática basada en reglas
Traducción automática basada en reglas (RBMT) (LucySoftware, ProMT, Apertium. . . ):
Personas expertas en traducción escriben diccionariosde traducción y reglas que transforman estructuras de LOa estructuras en la LMPersonas expertas en informática escriben motores queusan esos diccionarios y aplican esas reglas al texto deentradaLa salida es estable pero mecánica y carece denaturalidadTiene problemas con la ambigüedad (léxica y sintáctica).Personalización: edición de los diccionarios y de lasreglas
TAN: cómo funciona y qué esperar
Traducción automática
Traducción automática basada en corpus /1
La TA basada en corpus aprende a traducir a partir de uncorpus de centenares de miles o millones de oracionestraducidas.1
Personas expertas en traducción proporcionan lastraducciones.Personas expertas en informática escriben programasque aprenden de estas traducciones.Salida: puede ser engañosamente natural (infiel).Personalización: Entrenando con textos relacionados.
1Esto puede no estar disponible para algunas lenguas o tipos de texto
TAN: cómo funciona y qué esperar
Traducción automática
Traducción automática basada en corpus /2
Aproximaciones principales a la TA basada en corpus :Traducción automática estadística (2000–2015)
Usa modelos probabilísticos que se estiman contandoeventos en los corpus bilingües usados para entrenarlos.
Traducción automática neural (2015–).Basado en redes neurales2 artificiales inspiradas encómo el cerebro humano aprende y generaliza.
2o neuronales
TAN: cómo funciona y qué esperar
Traducción automática neural
Índice
1 Traducción automática
2 Traducción automática neural
3 Sobre el entrenamiento
4 ¿Qué se puede esperar?
TAN: cómo funciona y qué esperar
Traducción automática neural
TA neural: la nueva TA basada en corpus
La traducción automática neural o basada en aprendizajehondo (deep learning), alternativa reciente a la TA estadística:
Está basada en corpusSe suele decir que necesita más datos y más limpios
Primeras ideas en los noventa,3 abandonadas debido a lafalta de hardware suficientemente potenteRetomada alrededor de 2013Se ofrece comercialmente en 2016 (Google Translate)Competitivo con la TA estadística en muchas aplicaciones
3Chalmers, Conn. Sci. 2(1990)53; Chrisman, Conn. Sci. 3(1991)345;Castaño & Casacuberta, EuroSpeech 1997; Forcada & Ñeco, ICANN 1997
TAN: cómo funciona y qué esperar
Traducción automática neural
Neuronas artificiales /1
¿Por qué se llama neural?La realiza software que simula grandes redes de neuronasartificiales extremadamente simplificadas.Su activación (excitación) depende de la activación deotras neuronas y del peso de sus conexiones.El signo y la magnitud de los pesos determina elcomportamiento de la red:
Neuronas conectadas vía pesos positivos tienden aexcitarse o inhibirse simultáneamente.Neuronas conectadas vía pesos negativos tienden a estaren estados opuestos.El efecto aumenta con la magnitud del peso.
El entrenamiento fija los pesos a los valores necesariospara asegurar un comportamiento concreto.
TAN: cómo funciona y qué esperar
Traducción automática neural
Neuronas artificiales/2
Las neuronas, ¿cómo concilian los estímulos que reciben yreaccionan a ellos?
S₄ = F (w₁×S₁ + w₂×S₂ + w₃×S₃)
S₄S₂
S₁
S₃
w₁
w₂
w₃
-1
-0.5
0
0.5
1
-4 -2 0 2 4
F(x)
TAN: cómo funciona y qué esperar
Traducción automática neural
Redes neurales
Una red neural con 3 entradas, 3 neuronas en una capa oculta,y dos neuronas de salida.Se dice aprendizaje hondo cuando la información se procesautilizando muchas capas ocultas en cascada.
TAN: cómo funciona y qué esperar
Traducción automática neural
Representaciones /1
Los valores de activación de grupos concretos deneuronas (normalmente aquellas en una capa) formanrepresentaciones (también llamadas embeddings) de lainformación que procesan.Por ejemplo, el vector
(0.35,0.28,−0.15,0.76, . . . ,0.88)
podría ser la representación “e(estudio)” de la palabraestudio, y el vector
(0.93,−0.78,0.22,0.31, . . . ,−0.71)
la representación “e(gato)” de la palabra gato.
TAN: cómo funciona y qué esperar
Traducción automática neural
Representaciones /2
Imaginémonos representaciones léxicas con solo tresneuronas:
Las palabras con significados similares se encuentran cercaunas de otras.
TAN: cómo funciona y qué esperar
Traducción automática neural
Representaciones /3
Incluso puede realizarse aritmética semántica conrepresentaciones (añadiendo y restando valores deactivación neurona a neurona):
e(rey) − e(hombre) + e(mujer) ≃ e(reina)
TAN: cómo funciona y qué esperar
Traducción automática neural
TA neural: la arquitectura codificador–descodificador
Una arquitectura posible de TA neural es elcodificador–descodificador (encoder–decoder ):4
El codificador es una red neural que lee, una por una,representaciones de las palabras de la frase original yconstruye recursivamente una representación de la frase;después,el descodificador es otra red neural que predice, una poruna, las palabras de la oración meta:
Cada unidad de salida computa la probabilidad de cadaposible palabra meta.Se selecciona la palabra más probable.Funciona de modo parecido al teclado de nuestrossmartphones.
4Extensiones a la misma como la atención y otras arquitecturas como latransformer son ahora también muy comunes.
TAN: cómo funciona y qué esperar
Traducción automática neural
Codificación
Entrada: “My flight is delayed .”
E(“”)
e(“my”)
encoder E(“My”)
TAN: cómo funciona y qué esperar
Traducción automática neural
Codificación
Entrada: “My flight is delayed .”
E(“My”)
e(“flight”)
E(“My flight”)encoder
TAN: cómo funciona y qué esperar
Traducción automática neural
Codificación
Entrada: “My flight is delayed .”
E(“My flight”)
E(“My flight is”)
e(“is”)
encoder
TAN: cómo funciona y qué esperar
Traducción automática neural
Codificación
Entrada: “My flight is delayed .”
E(“My flight is”) E(“My
flight is delayed”)
e(“delayed”)
encoder
TAN: cómo funciona y qué esperar
Traducción automática neural
Codificación
Entrada: “My flight is delayed .”
E(“My flight is
delayed”) E(“My flight is
delayed.”)e(“.”)
encoder
TAN: cómo funciona y qué esperar
Traducción automática neural
Codificación
Codificación de la oración “Mi vuelo está retrasado .” a partir delas representaciones de sus palabras.
E(“”)
e(“my”)
encoder E(“My”)
e(“flight”) E(“My flight is
delayed”) E(“My flight is
delayed.”)e(“.”)
encoder
encoder
[...]
TAN: cómo funciona y qué esperar
Traducción automática neural
Descodificación
Descodificando “‘My flight is delayed .” → “Mi vuelo estáretrasado .”
E(“My flight is delayed”)
START
D(“My flight is delayed”,
“”)decoder
P(x,”My flight is delayed”|START),x=“mi” 0.125x=“vuelo” 0.078
x=“su” 0.027x=“avión” 0.011
…
mi
TAN: cómo funciona y qué esperar
Traducción automática neural
Descodificación
Descodificando “My flight is delayed .” → “Mi vuelo estáretrasado .”
D(“My flight is delayed”,
“”)
mi
decoderD(“My flight is delayed”,
“Mi”)
P(x,”My flight is delayed”|”Mi”),x=“vuelo” 0.315x=“avión” 0.088x=“escala” 0.071x=“está” 0.009
…
vuelo
TAN: cómo funciona y qué esperar
Traducción automática neural
Descodificación
Descodificando “My flight is delayed .” → “Mi vuelo estáretrasado .”
D(“My flight is delayed”,
“Mi”)
vuelo
decoder
P(x,”My flight is delayed”|”Mi vuelo”),x=“está” 0.415x=“es” 0.218x=“tarde” 0071x=“hay” 0.009
…
D(“My flight is delayed”, “Mi vuelo”)
está
TAN: cómo funciona y qué esperar
Traducción automática neural
Descodificación
Descodificando “My flight is delayed .” → “Mi vuelo estáretrasado .”
D(“My flight is delayed”, “Mi vuelo”)
está
decoder
P(x,”My flight is delayed”|”Mi vuelo está”),
x=“listo” 0.048x=“tardando” 0.112x=“retrasado” 0.683x=“cancelado” 0.092
…
D(“My flight is delayed”, “Mi vuelo
está”)
retrasado
TAN: cómo funciona y qué esperar
Traducción automática neural
Descodificación
Descodificando “My flight is delayed .” → “Mi vuelo estáretrasado .”
D(“My flight is delayed”, “Mi vuelo está”)
retrasado
decoder
P(x,”My flight is delayed”|”Mi vuelo está retrasado”),
x=“.” 0.773x=“porque” 0.038
x=“dos” 0.011x=“hasta” 0.001
…
D(“My flight is delayed”, “Mi vuelo
está retrasado”)
.
TAN: cómo funciona y qué esperar
Traducción automática neural
Descodificación
Descodificación de la traducción de “My flight is delayed .”: “Mivuelo está retrasado .”.
E(“My flight is delayed”)
START
D(“My flight is delayed”,
“”)decoder
P(x,”My flight is delayed”|START),x=“mi” 0.125x=“vuelo” 0.078
x=“su” 0.027x=“avión” 0.011
…
mi
decoderD(“My flight is delayed”,
“Mi”)
P(x,”My flight is delayed”|”Mi”),x=“vuelo” 0.315x=“avión” 0.088x=“escala” 0.071x=“está” 0.009
…
vuelo
decoder
P(x,”My flight is delayed”|”Mi vuelo”),x=“está” 0.415x=“es” 0.218x=“tarde” 0071x=“hay” 0.009
…
D(“My flight is delayed”, “Mi vuelo”)
está
[…]
TAN: cómo funciona y qué esperar
Sobre el entrenamiento
Índice
1 Traducción automática
2 Traducción automática neural
3 Sobre el entrenamiento
4 ¿Qué se puede esperar?
TAN: cómo funciona y qué esperar
Sobre el entrenamiento
Corpus de entrenamiento
Para entrenar un sistema de TA neural necesitamos trescorpus paralelos disjuntos:
Un gran conjunto de entrenamiento, idealmente demillones de pares de oraciones y representativo de latarea (puede no estar disponible).
Ejemplos que se enseñan a la red neural para entrenarla.Un pequeño conjunto de desarrollo de 1,000–3,000pares de frases, representativas de la tarea.
Los ejemplos de este conjunto reservado sirven paradeterminar cuándo parar el entrenamiento de modo que seevita el sobreajuste al conjunto de entrenamiento y no sedaña la generalización.
Un pequeño conjunto de test de 1,000–3,000 pares defrases, representativos de la tarea.
Los ejemplos de este conjunto reservado dan una idea delrendimiento del sistema.
TAN: cómo funciona y qué esperar
Sobre el entrenamiento
Preparación del corpus
Para reducir el tamaño del vocabulario efectivo (aprendizajemás fácil), las frases como
You know Chinese, Dr. Walker, don’t you?
se tokenizan (puntuación y todo) en
You know Chinese , Dr. Walker, don 't you ?
y después se normalizan las mayúsculas (truecasing)
you know Chinese , Dr. Walker, don 't you ?
o incluso se dividen a en unidades sub-palabra:
you know Chin@@ ese , Dr. Walk@@ er, don 't you ?
TAN: cómo funciona y qué esperar
Sobre el entrenamiento
El proceso de entrenamiento
Los ejemplos de entrenamiento se presentanrepetidamente al sistema.Más o menos cada 100 ejemplos, se incrementan oreducen ligeramente los pesos para acercar las salidas dela red a sus valores deseados. . .. . . de modo que la probabilidad predicha para las palabrasmeta indicadas en el conjunto de entrenamiento.Los ejemplos se enseñan decenas o centenares de veces→ las redes neurales son muy burras!El entrenamiento para cuando el rendimiento(probabilidad, semejanza) de los ejemplos en el conjuntode desarrollo se degrada.
TAN: cómo funciona y qué esperar
Sobre el entrenamiento
Cálculos caros
Las TA neural tiene necesita hardware más potente,especializado y caro:
Las CPU normales de nuestros portátiles o sobremesasson demasiado lentas.El entrenamiento neural implica muchas operaciones convectores, matrices o tensores. . .. . . que las GPU (unidades de procesamiento gráfico)realizan de manera más efectiva.5
Usando GPU se puede acelerar el entrenamiento 100veces o más.
5Una GPU típica cuesta unos 2,000 dólares
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Índice
1 Traducción automática
2 Traducción automática neural
3 Sobre el entrenamiento
4 ¿Qué se puede esperar?
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Nueva tecnología, nuevo comportamiento/1
La TA neural . . .. . . requiere hardware especializado y potente←Problema #1. . . necesita muchos datos bilingües ←Problema #2
que no están normalmente al alcance del traductor medio ode pequeñas compañías de traducciónse puede recurrrir a terceros para que nos entrenen yejecuten el sistema de TA neural:De hecho, esto es un modelo de negocio en la industria detraducciónPueden condimentar su enorme corpus de caldo de fondocon nuestras pocas traducciones anteriores paraconstruirnos un sistema.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Nueva tecnología, nuevo comportamiento /2
La TA neural. . .. . . trabaja con representaciones de la frase completa: esdifícil saber de qué palabra original viene cada palabrameta.
Falta de transparencia←Problema #3Imaginen la post-edición (corrección por parte de untraductor profesional) de una oración larga.
(comprobando todas y cada una de las palabras)
. . . produce traducciones engañosamente naturales conerrores: ←Problema #4
No son raras las omisiones, inserciones y “alucinaciones”perfectamente gramaticales.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Nueva tecnología, nuevo comportamiento /3
La TA neural. . .. . . produce errores de raíz semántica: si no se ha vistouna palabra durante el entrenamiento, sesubstituye. . .←Problema #5
. . . por una palabra similar: palacio → castillo
. . . por una paráfrasis: Michael Jordan → el escolta de losChicago Bulls;a veces con resultados peligrosos: Túnez → Noruega.
. . . puede inventarse palabras: ingenieraje, reclutación,etc. cuando trabajan con unidades sub-palabra (se hace amenudo). ←Problema #6
En diseminación, los post-editores tienen que prestar muchaatención al corregir (carga cognitiva).
En asimilación, la gente común que usa la traducción tal comoestá puede recibir información incorrecta.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Comentarios finales
La traducción automática (TA) neural es un nuevo tipo de TAbasada en corpus.
Está desplazando a la TA estadística.Se basa en un modelo muy simplificado del sistemanervioso.Requiere hardware potente y especializado. ←Problema#1Requiere grandes corpus. ←Problema #2Puede producir texto natural con errores que son difícilesde detectar y corregir ←Problemas #3–#6
Por tanto, requiere un esfuerzo especial por parte de lospost-editores (correctores) y puede despistar a los lectores.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Estas transparencias son libres
Este trabajo se puede distribuir bajo los términos dela licencia Creative Commons Attribution-ShareAlike 4.0International (http://creativecommons.org/licenses/by-sa/4.0/),ola Licencia General Pública de GNU (GPL) v. 3.0: (https://www.gnu.org/licenses/gpl-3.0.en.html).
¡Licencia dual! Escríbanme si quieren los fuentes LATEX:[email protected] disponible en v.gd/forcada_torrejuana
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Transparencias adicionales
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
An extension: attention
Encoder–decoders are sometimes augmented with attention.The decoder learns to “pay (more or less) attention”. . .
not only to the last encoded representation E(’My flight isdelayed .’). . .but also to all of the intermediate representations createdduring encoding,
E(’My’), E(’My flight’), E(’My flight is’), E(’My flight isdelayed’).
. . . using special attention connections.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Probabilities
Training: adjusting all of the weights in the neural net.NMT decoder output: word probabilities in context →sentence probabilities:
P(I love you .∣Je t’aime) = p(. ∣I love you, Je t’aime)×× p(you ∣I love, Je t’aime)×× p(love ∣I, Je t’aime)×× p(I ∣START, Je t’aime).
Objective: maximize the likelihood P(I love you .∣Je t’aime)of the reference translation I love you.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Gradients and learning
The training algorithm computes a gradient of theprobabilities of reference sentences in the training set withrespect to each weight w connecting neurons:
gradient(w) =P(with w +∆w) −P(with w)
∆w
That is, how much the probability varies for a small change∆w in each weight w .
Then, after showing a number of reference sentences,weights are updated proportionally to their effect on theirprobability → gradient ascent
new w = w + (learning rate) × gradient(w)
This is done repeatedly.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Epochs and minibatches
Examples (sentence pairs) are grouped in minibatches ofe.g. 128 examples.Weights are updated after each minibatch.An epoch completes each time the whole set of examples,e.g. 1,000,000 examples, have been processed.It is not uncommon for a training job to require tens orhundreds of epochs.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
Stopping
When does one stop?Training “too deep” may lead to “memorization” of thetraining set.But we want the network to generalize.This is what the development set is used for.
Every certain number of weight updates, the systemautomatically evaluates the performance on the sentencesof the development set.It compares MT output to the reference outputs andcomputes a measure such as BLEU.
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
How expensive?
Neural MT training is computationally very expensive.Example:
A very small encoder–decoder (2 layers of 128 unitseach). . .. . . with a small training set of 260,000 sentences. . .. . . using a small vocabulary of 10,000 byte-pair encodingoperations . . .. . . between French and Spanish (easy language pair). . .. . . takes about 1 week on a 4-core, 3.2 GHz desktop . . .. . . to reach a BLEU score of around 25% (barely starts tobe posteditable).
TAN: cómo funciona y qué esperar
¿Qué se puede esperar?
The BLEU score
What is BLEU?The most famous automatic evaluation measure is calledBLEU, but there are many others.BLEU counts which fraction of the 1-word,2-word,. . . n-word sequences in the output match thereference translation.These fractions are grouped in a single quantity.The result is a number between 0 and 1, or between 0%and 100%.Correlation with measurements of translation usefulness isstill an open question.A lot of MT research is still BLEU-driven and makes littlecontact with real applications of MT.