SlideShare a Scribd company logo
Traducció automàtica neural
Traducció automàtica neural
Mikel L. Forcada1,2
1Departament de Llenguatges i Sistemes Informàtics,
Universitat d’Alacant, E-03071 Alacant
2Prompsit Language Engineering, S.L.,
Edifici Quorum III, Av. Universitat s/n, E-03202 Elx
Taller de desenvolupament del traductor neuronal de
Softcatalà, 11 de febrer de 2023
Traducció automàtica neural
Índex
1 Traducció automàtica
2 Tecnologies de traducció automàtica
3 Traducció automàtica basada en corpus
4 Traducció automàtica neural
5 Comentaris finals
Traducció automàtica neural
Traducció automàtica
Índex
1 Traducció automàtica
2 Tecnologies de traducció automàtica
3 Traducció automàtica basada en corpus
4 Traducció automàtica neural
5 Comentaris finals
Traducció automàtica neural
Traducció automàtica
Traducció automàtica
Traducció automàtica
La traducció,
mitjançant un sistema informàtic (ordinador + programes)
d’un text informatitzat en la llengua origen (LO)
que produeix un text informatitzat en la llengua meta (LM)
que es pot anomenar traducció en brut.
Text LO →
Traductor
automàtic
→ Text LM en brut
Traducció automàtica neural
Tecnologies de traducció automàtica
Índex
1 Traducció automàtica
2 Tecnologies de traducció automàtica
3 Traducció automàtica basada en corpus
4 Traducció automàtica neural
5 Comentaris finals
Traducció automàtica neural
Tecnologies de traducció automàtica
Tipus de traducció automàtica
Hi ha dos tipus principals de traducció automàtica (TA):
La traducció automàtica basada en regles
La traducció automàtica basada en corpus
Traducció automàtica neural
Tecnologies de traducció automàtica
Traducció automàtica basada en regles
La TA basada en regles (per exemple, Apertium1):
va ser la primera aproximació a la TA,
progressa a partir de la traducció mot a mot,
idealment fins a arribar al nivell de l’oració.
Els experts en traducció escriuen diccionaris de
traducció i regles que transformen estructures de la LO en
estructures de la LM.
Els experts informàtics escriuen programes (“motors”)
que consulten aquests diccionaris i apliquen aquestes
regles al text original.
1
Sistemes es→ca basats en Apertium: SoftCatalà, SoftValencià,
SALT-usu
Traducció automàtica neural
Traducció automàtica basada en corpus
Índex
1 Traducció automàtica
2 Tecnologies de traducció automàtica
3 Traducció automàtica basada en corpus
4 Traducció automàtica neural
5 Comentaris finals
Traducció automàtica neural
Traducció automàtica basada en corpus
TA basada en corpus /1
“Existing translations contain more solutions to more translation
problems than any other existing resource”2
Objectiu
Aprendre a traduir a partir de traduccions existents (bitextos)
2
“Les traduccions existents contenen més solucions a més problemes de
traducció que cap altre recurs”, Isabelle, P., et al., Proc. TMI ’93.
Traducció automàtica neural
Traducció automàtica basada en corpus
TA basada en corpus /2
Els programes de TA basada en corpus aprenen a traduir a
partir de corpus amb centenars de milers o milions de
segments traduïts.
Estratègies principals:
La TA estadística (concebuda el 1989; auge: 1995–2015)
Aprén i usa models probabilístics que s’estimen comptant
successos en els corpus d’entrenament.
La nova TA neural (represa el 2013; auge: 2015–).
Es basa en xarxes neurals artificials inspirades en la
manera com el cervell aprén i generalitza.3
És l’estat de la qüestió.
Els experts informàtics escriuen el programari que aprén i
tradueix.
Els experts en traducció ja han fet la faena: traduir.
3
D’ací que es parle d’intel·ligència artificial.
Traducció automàtica neural
Traducció automàtica basada en corpus
TA basada en corpus /3
Però no tot són flors i violes:
Els textos produïts poden ser enganyosament naturals
(“infidels”).
Pot ser que no tinguem corpus de grandària suficient per a
llengües o dominis menys traduïdes.
La qualitat de la traducció depén de la naturalesa i la
qualitat dels corpus d’entrenament.
Traducció automàtica neural
Traducció automàtica basada en corpus
TA basada en corpus /4
Per a aprendre a traduir a partir de bitextos:
1 Els textos han d’estar segmentats en oracions
Els signes de puntuació i la informació de format poden ser
útils
2 Les oracions han d’estar alineades, és a dir, cal identificar
les oracions que són traducció mútua
Traducció automàtica neural
Traducció automàtica basada en corpus
Alineació de segments
text esquerre E →
segmen-
tació
→
text dret D →
segmen-
tació
→
alineació
dels
segments
→
UT
(e, d)
→
Memòria
de
traducció
E D
e1 d1
e2 d2
e3 d3
. . . . . .
eN dN
Traducció automàtica neural
Traducció automàtica basada en corpus
Exemple de corpus bilingüe
. . . . . .
e347 = Normas para la entrega. d347 = Normes per al lliurament.
e348 = Buscamos la solución óptima y
existe un criterio de decisión voraz que
nos conduce a ella.
d348 = Busquem la solució òptima i ex-
isteix un criteri de decisió voraç que ens
hi condueix.
e349 = Buscamos todas las soluciones
factibles o todas las soluciones óptimas.
d349 = Busquem totes les solucions
factibles o totes les solucions òptimes.
e350 = 2: Se comprueba para 2 valores
diferentes, por lo que se hacen dos lla-
madas recursivas.
d350 = 2: Es comprova per 2 valors
diferents, per la qual cosa es fan dues
crides recursives.
e351 = Sigue escrupulosamente los
nombres de ficheros que se citan en
este enunciado.
d351 = Useu exactament els noms de
fitxers que se citen en aquest enunciat.
e352 = No es necesario controlar posi-
bles errores en el contenido del fichero
de entrada ya que siempre se ajustará
fielmente al formato establecido.
d352 = No és necessari controlar pos-
sibles errors en el contingut del fitxer
d’entrada, ja que sempre s’ajustarà fidel-
ment al format establert.
e353 = Entrada de datos al programa. d353 = Entrada de dades al programa.
. . . . . .
Traducció automàtica neural
Traducció automàtica neural
Índex
1 Traducció automàtica
2 Tecnologies de traducció automàtica
3 Traducció automàtica basada en corpus
4 Traducció automàtica neural
5 Comentaris finals
Traducció automàtica neural
Traducció automàtica neural
La TA neural: la nova TA basada en corpus
La traducció automàtica neural o basada en aprenentatge
profund (deep learning) és una alternativa recent a la TA
estadística:
També es basa en corpus (més dades, més netes?)
Primeres idees en els noranta,4 abandonades per falta de
potència dels ordinadors.
Es reprén vora el 2013.
Primer sistemes comercials el 2016 (Google Translate).
Competitiva amb la TA estadística en moltes aplicacions.
També són neurals: DeepL, Microsoft, SoftCatalà (en↔ca,
fr↔ca, pt↔ca).
4
Chalmers, Connect Sci 1990; Chrisman, Connect Sci 1991; Castaño &
Casacuberta, EuroSpeech 1997; Forcada & Ñeco, ICANN 1997
Traducció automàtica neural
Traducció automàtica neural
Neurones artificials /1
Per què s’anomena neural (o neuronal)?
La fa programari que simula grans xarxes de neurones
artificials.
L’activació (excitació) de les neurones depén de l’activació
d’altres neurones i de les característiques de les
connexions mútues.
El signe i la magnitud dels pesos d’aquestes connexions
determinen el comportament de la xarxa:
Les neurones connectades amb pes positiu tendeixen a
excitar-se o inhibir-se simultàniament..
Les neurones connectades amb pes negatiu tendeixen a
ser en estats oposats.
L’efecte de la interacció augmenta amb la magnitud del pes.
Traducció automàtica neural
Traducció automàtica neural
Neurones artificials /2
L’entrenament de la xarxa neural artificial fixa els pesos als
valors necessaris per a assegurar un comportament
determinat (patrons d’excitació o d’inhibició).
Traducció automàtica neural
Traducció automàtica neural
Neurones artificials /3
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)
Traducció automàtica neural
Traducció automàtica neural
Xarxes neurals
x1
x2
x3
x4
x5
Entrada
h
(1)
1
h
(1)
2
h
(1)
3
h
(1)
4
Oculta 1
h
(2)
1
h
(2)
2
h
(2)
3
h
(2)
4
h
(2)
5
Oculta 2
h
(3)
1
h
(3)
2
h
(3)
3
h
(3)
4
Oculta 3
ŷ1
ŷ2
Eixida
Una xarxa neural amb 5 entrades, 4 neurones en la 1a capa
oculta, 5 neurones en la 2a capa oculta, 4 neurones en la 3a
capa oculta i 3 neurones d’eixida.
Traducció automàtica neural
Traducció automàtica neural
Representacions /1
Quan s’entrenen amb alguna tasca lingüística, els valors
d’activació de capes de neurones formen representacions
de la informació que processen.
Per exemple,
(0.35, 0.28, −0.15, 0.76, . . . , 0.88)
podria ser la representació del mot estudi, i
(0.93, −0.78, 0.22, 0.31, . . . , −0.71)
la del mot gat.
Traducció automàtica neural
Traducció automàtica neural
Representacions /2
Imaginem representacions lèxiques amb només tres neurones:
Els mots amb interpretacions similars són a prop uns dels
altres.
Traducció automàtica neural
Traducció automàtica neural
Representacions /3
Les representacions solen ser tals que s’hi pot fer
aritmètica semàntica (afegint i substraent valors d’activació
neurona a neurona):
[rei] − [home] + [dona] ' [reina]
Traducció automàtica neural
Traducció automàtica neural
TA neural/1
La majoria de les arquitectures neurals de TA:
Són predictores: prediuen els segments de l’eixida un a
un.
Una miqueta com el vostre telèfon mòbil prediu el mot
següent quan teclegeu un missatge.
Més precisament, estimen la probabilitat o la
versemblança p(t), per a cada possible segment t del
vocabulari d’eixida T, que aquest segment haja
d’aparéixer en la posició actual de l’eixida.
Traducció automàtica neural
Traducció automàtica neural
TA neural/2
La majoria de les arquitectures neurals de TA:
La descodificació selecciona el(s) segment(s) més
probable(s).
La probabilitat del segment t en la posició k de l’eixida,
pk (t), depén
de tota la seqüència de m segments d’entrada
sm
1 = s1s2 . . . sm, i
de la seqüència dels k − 1 segments d’eixida ja predits i
consolidats tk−1
1 = t1t2 . . . tk−1. Matemàticament:
pk (t|sm
1 , tk−1
1 )
Traducció automàtica neural
Traducció automàtica neural
Segments?
Els sistemes de TA neural treballen amb segments (tokens):
Per als mots freqüents, el segment és el mot
Per als mots menys freqüents, el mot es pot partir en
segments més menuts:
Passe- j- à- ve- m per les ext- ense- s a-
vi- ngu- des .
Aquesta segmentació s’aprén automàticament a partir del
corpus.
Així s’eviten xarxes immenses, ja que la xarxa té
una entrada per a cada segment s del vocabulari S
d’entrada, i
una eixida per a cada segment t del vocabulari T d’eixida.
Traducció automàtica neural
Traducció automàtica neural
La TA neural com una caixa negra,. . . ehem, groga/1
s1 s2 s3 . . . sm
segments de la frase d’entrada
t1 t2
. . . tk−1
segments d’eixida consolidats
traducció automàtica neural pk (t|sm
1 , tk−1
1 )
vector de probablitats
tk
arg maxt∈T
segment d’eixida predit
∀t ∈ T
Traducció automàtica neural
Traducció automàtica neural
La TA neural com una caixa negra,. . . ehem, groga/2
Fortes fortuna iuvat .
segments de la frase d’entrada
La sort afavoreix els
segments d’eixida consolidats
traducció automàtica neural
p5(t|“Fortes fortuna iuvat .”,
“La sort afavoreix els”)
vector de probabilitats
forts
arg maxt∈T
segment d’eixida predit
∀t ∈ T
Traducció automàtica neural
Traducció automàtica neural
La TA neural com una caixa negra,. . . ehem, groga/3
En un sistema de traducció automàtica ben entrenat
llatí→català,
p5(“forts”|“Fortes fortuna iuvat .”, “La sort afavoreix els”)
hauria de ser més alta que
p5(“dèbils”|“Fortes fortuna iuvat .”, “La sort afavoreix els”).
De fet, idealment, hauria de ser la més alta per a tots els
segments en T:
forts = arg max
t∈T
p5(t|“Fortes fortuna iuvat .”, “La sort afavoreix els”)
Traducció automàtica neural
Traducció automàtica neural
TA neural: requisits
Entrenar un sistema de TA neural no és normalment a l’abast
de traductors autònoms o empreses menudes:
Cal tenir un corpus paral·lel d’entrenament amb centenars
de milers o milions d’oracions per a les llengües d’interés i,
idealment, per a la temàtica desitjada.
Cal disposar d’un equip informàtic d’alt rendiment equipat
amb GPUs (graphic processing units). Cost: milers
d’euros.
Traducció automàtica neural
Traducció automàtica neural
TA neural: nou comportament
La TA neural (o neuronal) . . .
. . . treballa amb representacions de tota l’oració
és difícil saber de quin mot origen ve cada mot meta.
. . . produeix textos gramaticalment molt naturals en LM.
. . . produeix errors amb motivació semàntica: si no s’ha
vist un mot durant l’entrenament, se substitueix. . .
. . . per un altre similar: palau → castell
. . . o per una paràfrasi: Michael Jordan → l’escorta dels
Chicago Bulls;
amb resultats perillosos a voltes: Tunis → Noruega.
. . . poden inventar mots: engineratge, reclutació, etc. quan
treballen amb segments més que el mot (com es fa
comunament).
Qui postedita ha de prestar molta atenció (càrrega cognitiva ↑).
Traducció automàtica neural
Traducció automàtica neural
Com s’entrena la traducció automàtica neural /1
Entrenar: ajustar tots els pesos de la xarxa neural.
Eixida: probabilitats dels segments en context →
probabilitats de les oracions:
P(I love you .|Je t’aime) = p1(I |INICI, Je t’aime)×
× p2(love |I, Je t’aime)×
× p3(you |I love, Je t’aime)×
× p4(. |I love you, Je t’aime).
Objectiu: maximitzar la probabilitat
P(I love you .|Je t’aime) de la traducció de referència I love
you.
Cal maximitzar aquesta probabilitat per a totes les
traduccions del corpus d’entrenament.
Traducció automàtica neural
Traducció automàtica neural
Com s’entrena la traducció automàtica neural /2
Es comença amb pesos aleatoris o els d’una xarxa
anterior (preentrenada en una tasca relacionada).
L’algorisme calcula quant canvien les probabilitats de les
traduccions del corpus d’entrenament quan s’incrementa
una miqueta cada pes de la xarxa.
Per a cada pes:
(Pes ↑ ⇒ Probabilitat ↑)? ⇒ pes ↑ proporcionalment.
(Pes ↑ ⇒ Probabilitat ↓)? ⇒ pes ↓ proporcionalment.
Traducció automàtica neural
Traducció automàtica neural
Com s’entrena la traducció automàtica neural /3
(Pes ↑ ⇒ Probabilitat ↑)? ⇒ pes ↑ proporcionalment.
(Pes ↑ ⇒ Probabilitat ↓)? ⇒ pes ↓ proporcionalment.
El procés es repeteix fins que
passa un temps, o
s’ha fet un nombre determinat de passades per tot el
corpus, o
la probabilitat de les traduccions en una part reservada del
corpus que no hem usat per a entrenar deixa d’augmentar,
o
aquestes traduccions comencen a empitjorar d’acord amb
un indicador automàtic de la qualitat.
Traducció automàtica neural
Traducció automàtica neural
Com s’entrena la traducció automàtica neural /4
L’algorisme d’aprenentatge calcula un gradient de les
probabilitats de les oracions de referència del conjunt
d’aprenentatge respecte de cada pes w que connecta
neurones:
gradient(P, w) =
P(amb w + ∆w) − P(amb w)
∆w

=
∂P
∂w

És a dir, quant varia la probabilitat per a un petit canvi ∆w
en cada pes w.
Després de processar un cert nombre d’exemples, els
pesos s’actualitzen proporcionalment a l’efecte sobre la
probabilitat → ascens pel gradient
nou w = w + (taxa d’aprenentatge) × gradient(P, w)
Això es fa repetidament.
Traducció automàtica neural
Traducció automàtica neural
Com s’entrena la traducció automàtica neural /5
Una manera d’avaluar el progrés del sistema durant
l’entrenament: avaluació automàtica.
Comparació automàtica de l’eixida del sistema amb [una o
més] traduccions professionals de referència:
Similitud: BLEU (quants segments d’un, de dos, de tres i
de quatre mots coincideixen). Idealment, com més
coincidències, més util és la traducció.
Errors: TER (translation error rate, quants mots s’han
d’esborrar, inserir o substituir i quants blocs d’un o més
mots s’han de moure per cada 100 paraules). Idealment,
com menys errors, més útil és la traducció.
També es poden usar xarxes neurals entrenades per a
predir judicis humans de “qualitat” (p.ex., Comet).
La correlació d’aquests indicadors automàtics amb la
utilitat en una aplicació concreta encara és millorable.
Traducció automàtica neural
Comentaris finals
Índex
1 Traducció automàtica
2 Tecnologies de traducció automàtica
3 Traducció automàtica basada en corpus
4 Traducció automàtica neural
5 Comentaris finals
Traducció automàtica neural
Comentaris finals
Comentaris finals
La traducció automàtica és la traducció de textos en format
informàtic amb usant ordinadors i programari adequat.
Dues tecnologies bàsiques: TA basada en regles (i
diccionaris) i TA basada en corpus de text (estadística i
neural).
La TA neural és l’estat de la qüestió de la TA basada en
corpus.
Es basa a simular el comportament de grans xarxes de
neurones artificials inspirades en les dels éssers vius.
Entrenar un traductor neural és usar exemples de
traduccions per a ajustar els pesos de manera que el
comportament de la xarxa resolga una tasca de traducció.
Es requereixen grans corpus bilingües alineats oració a
oració i ordinadors especialitzats molt potents.
Traducció automàtica neural
Comentaris finals
Moltes gràcies!
Traducció automàtica neural
Comentaris finals
Aquestes transparències són lliures
Aquest treball es pot distribuir segons els térmens de
la llicència Creative Commons
Reconeixement-CompartirIgual 4.0 Internacional
(http://creativecommons.org/licenses/by-sa/
4.0/deed.ca) o
la Llicència General Pública v. 3.0 de GNU: (https:
//www.gnu.org/licenses/gpl-3.0.ca.html).
Llicència dual! Escriviu-me si voleu el codi font L
A
TEX:
mlf@ua.es

More Related Content

More from Forcada Mikel

Cairo 2019-seminar
Cairo 2019-seminarCairo 2019-seminar
Cairo 2019-seminar
Forcada Mikel
 
Smt in-a-few-slides
Smt in-a-few-slidesSmt in-a-few-slides
Smt in-a-few-slides
Forcada Mikel
 
Statistical machine translation in a few slides
Statistical machine translation in a few slidesStatistical machine translation in a few slides
Statistical machine translation in a few slides
Forcada Mikel
 
Integrating corpus-based and rule-based approaches in an open-source machine ...
Integrating corpus-based and rule-based approaches in an open-source machine ...Integrating corpus-based and rule-based approaches in an open-source machine ...
Integrating corpus-based and rule-based approaches in an open-source machine ...
Forcada Mikel
 
Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...
Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...
Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...
Forcada Mikel
 
Open-source machine translation for Icelandic: the Apertium platform as an o...
Open-source machine translation for Icelandic:
 the Apertium platform as an o...Open-source machine translation for Icelandic:
 the Apertium platform as an o...
Open-source machine translation for Icelandic: the Apertium platform as an o...
Forcada Mikel
 
Curso urgente de traducción automática
Curso urgente de traducción automáticaCurso urgente de traducción automática
Curso urgente de traducción automática
Forcada Mikel
 
Traducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menoresTraducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menores
Forcada Mikel
 

More from Forcada Mikel (8)

Cairo 2019-seminar
Cairo 2019-seminarCairo 2019-seminar
Cairo 2019-seminar
 
Smt in-a-few-slides
Smt in-a-few-slidesSmt in-a-few-slides
Smt in-a-few-slides
 
Statistical machine translation in a few slides
Statistical machine translation in a few slidesStatistical machine translation in a few slides
Statistical machine translation in a few slides
 
Integrating corpus-based and rule-based approaches in an open-source machine ...
Integrating corpus-based and rule-based approaches in an open-source machine ...Integrating corpus-based and rule-based approaches in an open-source machine ...
Integrating corpus-based and rule-based approaches in an open-source machine ...
 
Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...
Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...
Traducció automàtica de codi obert: Apertium, una oportunitat per a llengües ...
 
Open-source machine translation for Icelandic: the Apertium platform as an o...
Open-source machine translation for Icelandic:
 the Apertium platform as an o...Open-source machine translation for Icelandic:
 the Apertium platform as an o...
Open-source machine translation for Icelandic: the Apertium platform as an o...
 
Curso urgente de traducción automática
Curso urgente de traducción automáticaCurso urgente de traducción automática
Curso urgente de traducción automática
 
Traducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menoresTraducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menores
 

softcatala.pdf

  • 1. Traducció automàtica neural Traducció automàtica neural Mikel L. Forcada1,2 1Departament de Llenguatges i Sistemes Informàtics, Universitat d’Alacant, E-03071 Alacant 2Prompsit Language Engineering, S.L., Edifici Quorum III, Av. Universitat s/n, E-03202 Elx Taller de desenvolupament del traductor neuronal de Softcatalà, 11 de febrer de 2023
  • 2. Traducció automàtica neural Índex 1 Traducció automàtica 2 Tecnologies de traducció automàtica 3 Traducció automàtica basada en corpus 4 Traducció automàtica neural 5 Comentaris finals
  • 3. Traducció automàtica neural Traducció automàtica Índex 1 Traducció automàtica 2 Tecnologies de traducció automàtica 3 Traducció automàtica basada en corpus 4 Traducció automàtica neural 5 Comentaris finals
  • 4. Traducció automàtica neural Traducció automàtica Traducció automàtica Traducció automàtica La traducció, mitjançant un sistema informàtic (ordinador + programes) d’un text informatitzat en la llengua origen (LO) que produeix un text informatitzat en la llengua meta (LM) que es pot anomenar traducció en brut. Text LO → Traductor automàtic → Text LM en brut
  • 5. Traducció automàtica neural Tecnologies de traducció automàtica Índex 1 Traducció automàtica 2 Tecnologies de traducció automàtica 3 Traducció automàtica basada en corpus 4 Traducció automàtica neural 5 Comentaris finals
  • 6. Traducció automàtica neural Tecnologies de traducció automàtica Tipus de traducció automàtica Hi ha dos tipus principals de traducció automàtica (TA): La traducció automàtica basada en regles La traducció automàtica basada en corpus
  • 7. Traducció automàtica neural Tecnologies de traducció automàtica Traducció automàtica basada en regles La TA basada en regles (per exemple, Apertium1): va ser la primera aproximació a la TA, progressa a partir de la traducció mot a mot, idealment fins a arribar al nivell de l’oració. Els experts en traducció escriuen diccionaris de traducció i regles que transformen estructures de la LO en estructures de la LM. Els experts informàtics escriuen programes (“motors”) que consulten aquests diccionaris i apliquen aquestes regles al text original. 1 Sistemes es→ca basats en Apertium: SoftCatalà, SoftValencià, SALT-usu
  • 8. Traducció automàtica neural Traducció automàtica basada en corpus Índex 1 Traducció automàtica 2 Tecnologies de traducció automàtica 3 Traducció automàtica basada en corpus 4 Traducció automàtica neural 5 Comentaris finals
  • 9. Traducció automàtica neural Traducció automàtica basada en corpus TA basada en corpus /1 “Existing translations contain more solutions to more translation problems than any other existing resource”2 Objectiu Aprendre a traduir a partir de traduccions existents (bitextos) 2 “Les traduccions existents contenen més solucions a més problemes de traducció que cap altre recurs”, Isabelle, P., et al., Proc. TMI ’93.
  • 10. Traducció automàtica neural Traducció automàtica basada en corpus TA basada en corpus /2 Els programes de TA basada en corpus aprenen a traduir a partir de corpus amb centenars de milers o milions de segments traduïts. Estratègies principals: La TA estadística (concebuda el 1989; auge: 1995–2015) Aprén i usa models probabilístics que s’estimen comptant successos en els corpus d’entrenament. La nova TA neural (represa el 2013; auge: 2015–). Es basa en xarxes neurals artificials inspirades en la manera com el cervell aprén i generalitza.3 És l’estat de la qüestió. Els experts informàtics escriuen el programari que aprén i tradueix. Els experts en traducció ja han fet la faena: traduir. 3 D’ací que es parle d’intel·ligència artificial.
  • 11. Traducció automàtica neural Traducció automàtica basada en corpus TA basada en corpus /3 Però no tot són flors i violes: Els textos produïts poden ser enganyosament naturals (“infidels”). Pot ser que no tinguem corpus de grandària suficient per a llengües o dominis menys traduïdes. La qualitat de la traducció depén de la naturalesa i la qualitat dels corpus d’entrenament.
  • 12. Traducció automàtica neural Traducció automàtica basada en corpus TA basada en corpus /4 Per a aprendre a traduir a partir de bitextos: 1 Els textos han d’estar segmentats en oracions Els signes de puntuació i la informació de format poden ser útils 2 Les oracions han d’estar alineades, és a dir, cal identificar les oracions que són traducció mútua
  • 13. Traducció automàtica neural Traducció automàtica basada en corpus Alineació de segments text esquerre E → segmen- tació → text dret D → segmen- tació → alineació dels segments → UT (e, d) → Memòria de traducció E D e1 d1 e2 d2 e3 d3 . . . . . . eN dN
  • 14. Traducció automàtica neural Traducció automàtica basada en corpus Exemple de corpus bilingüe . . . . . . e347 = Normas para la entrega. d347 = Normes per al lliurament. e348 = Buscamos la solución óptima y existe un criterio de decisión voraz que nos conduce a ella. d348 = Busquem la solució òptima i ex- isteix un criteri de decisió voraç que ens hi condueix. e349 = Buscamos todas las soluciones factibles o todas las soluciones óptimas. d349 = Busquem totes les solucions factibles o totes les solucions òptimes. e350 = 2: Se comprueba para 2 valores diferentes, por lo que se hacen dos lla- madas recursivas. d350 = 2: Es comprova per 2 valors diferents, per la qual cosa es fan dues crides recursives. e351 = Sigue escrupulosamente los nombres de ficheros que se citan en este enunciado. d351 = Useu exactament els noms de fitxers que se citen en aquest enunciat. e352 = No es necesario controlar posi- bles errores en el contenido del fichero de entrada ya que siempre se ajustará fielmente al formato establecido. d352 = No és necessari controlar pos- sibles errors en el contingut del fitxer d’entrada, ja que sempre s’ajustarà fidel- ment al format establert. e353 = Entrada de datos al programa. d353 = Entrada de dades al programa. . . . . . .
  • 15. Traducció automàtica neural Traducció automàtica neural Índex 1 Traducció automàtica 2 Tecnologies de traducció automàtica 3 Traducció automàtica basada en corpus 4 Traducció automàtica neural 5 Comentaris finals
  • 16. Traducció automàtica neural Traducció automàtica neural La TA neural: la nova TA basada en corpus La traducció automàtica neural o basada en aprenentatge profund (deep learning) és una alternativa recent a la TA estadística: També es basa en corpus (més dades, més netes?) Primeres idees en els noranta,4 abandonades per falta de potència dels ordinadors. Es reprén vora el 2013. Primer sistemes comercials el 2016 (Google Translate). Competitiva amb la TA estadística en moltes aplicacions. També són neurals: DeepL, Microsoft, SoftCatalà (en↔ca, fr↔ca, pt↔ca). 4 Chalmers, Connect Sci 1990; Chrisman, Connect Sci 1991; Castaño & Casacuberta, EuroSpeech 1997; Forcada & Ñeco, ICANN 1997
  • 17. Traducció automàtica neural Traducció automàtica neural Neurones artificials /1 Per què s’anomena neural (o neuronal)? La fa programari que simula grans xarxes de neurones artificials. L’activació (excitació) de les neurones depén de l’activació d’altres neurones i de les característiques de les connexions mútues. El signe i la magnitud dels pesos d’aquestes connexions determinen el comportament de la xarxa: Les neurones connectades amb pes positiu tendeixen a excitar-se o inhibir-se simultàniament.. Les neurones connectades amb pes negatiu tendeixen a ser en estats oposats. L’efecte de la interacció augmenta amb la magnitud del pes.
  • 18. Traducció automàtica neural Traducció automàtica neural Neurones artificials /2 L’entrenament de la xarxa neural artificial fixa els pesos als valors necessaris per a assegurar un comportament determinat (patrons d’excitació o d’inhibició).
  • 19. Traducció automàtica neural Traducció automàtica neural Neurones artificials /3 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)
  • 20. Traducció automàtica neural Traducció automàtica neural Xarxes neurals x1 x2 x3 x4 x5 Entrada h (1) 1 h (1) 2 h (1) 3 h (1) 4 Oculta 1 h (2) 1 h (2) 2 h (2) 3 h (2) 4 h (2) 5 Oculta 2 h (3) 1 h (3) 2 h (3) 3 h (3) 4 Oculta 3 ŷ1 ŷ2 Eixida Una xarxa neural amb 5 entrades, 4 neurones en la 1a capa oculta, 5 neurones en la 2a capa oculta, 4 neurones en la 3a capa oculta i 3 neurones d’eixida.
  • 21. Traducció automàtica neural Traducció automàtica neural Representacions /1 Quan s’entrenen amb alguna tasca lingüística, els valors d’activació de capes de neurones formen representacions de la informació que processen. Per exemple, (0.35, 0.28, −0.15, 0.76, . . . , 0.88) podria ser la representació del mot estudi, i (0.93, −0.78, 0.22, 0.31, . . . , −0.71) la del mot gat.
  • 22. Traducció automàtica neural Traducció automàtica neural Representacions /2 Imaginem representacions lèxiques amb només tres neurones: Els mots amb interpretacions similars són a prop uns dels altres.
  • 23. Traducció automàtica neural Traducció automàtica neural Representacions /3 Les representacions solen ser tals que s’hi pot fer aritmètica semàntica (afegint i substraent valors d’activació neurona a neurona): [rei] − [home] + [dona] ' [reina]
  • 24. Traducció automàtica neural Traducció automàtica neural TA neural/1 La majoria de les arquitectures neurals de TA: Són predictores: prediuen els segments de l’eixida un a un. Una miqueta com el vostre telèfon mòbil prediu el mot següent quan teclegeu un missatge. Més precisament, estimen la probabilitat o la versemblança p(t), per a cada possible segment t del vocabulari d’eixida T, que aquest segment haja d’aparéixer en la posició actual de l’eixida.
  • 25. Traducció automàtica neural Traducció automàtica neural TA neural/2 La majoria de les arquitectures neurals de TA: La descodificació selecciona el(s) segment(s) més probable(s). La probabilitat del segment t en la posició k de l’eixida, pk (t), depén de tota la seqüència de m segments d’entrada sm 1 = s1s2 . . . sm, i de la seqüència dels k − 1 segments d’eixida ja predits i consolidats tk−1 1 = t1t2 . . . tk−1. Matemàticament: pk (t|sm 1 , tk−1 1 )
  • 26. Traducció automàtica neural Traducció automàtica neural Segments? Els sistemes de TA neural treballen amb segments (tokens): Per als mots freqüents, el segment és el mot Per als mots menys freqüents, el mot es pot partir en segments més menuts: Passe- j- à- ve- m per les ext- ense- s a- vi- ngu- des . Aquesta segmentació s’aprén automàticament a partir del corpus. Així s’eviten xarxes immenses, ja que la xarxa té una entrada per a cada segment s del vocabulari S d’entrada, i una eixida per a cada segment t del vocabulari T d’eixida.
  • 27. Traducció automàtica neural Traducció automàtica neural La TA neural com una caixa negra,. . . ehem, groga/1 s1 s2 s3 . . . sm segments de la frase d’entrada t1 t2 . . . tk−1 segments d’eixida consolidats traducció automàtica neural pk (t|sm 1 , tk−1 1 ) vector de probablitats tk arg maxt∈T segment d’eixida predit ∀t ∈ T
  • 28. Traducció automàtica neural Traducció automàtica neural La TA neural com una caixa negra,. . . ehem, groga/2 Fortes fortuna iuvat . segments de la frase d’entrada La sort afavoreix els segments d’eixida consolidats traducció automàtica neural p5(t|“Fortes fortuna iuvat .”, “La sort afavoreix els”) vector de probabilitats forts arg maxt∈T segment d’eixida predit ∀t ∈ T
  • 29. Traducció automàtica neural Traducció automàtica neural La TA neural com una caixa negra,. . . ehem, groga/3 En un sistema de traducció automàtica ben entrenat llatí→català, p5(“forts”|“Fortes fortuna iuvat .”, “La sort afavoreix els”) hauria de ser més alta que p5(“dèbils”|“Fortes fortuna iuvat .”, “La sort afavoreix els”). De fet, idealment, hauria de ser la més alta per a tots els segments en T: forts = arg max t∈T p5(t|“Fortes fortuna iuvat .”, “La sort afavoreix els”)
  • 30. Traducció automàtica neural Traducció automàtica neural TA neural: requisits Entrenar un sistema de TA neural no és normalment a l’abast de traductors autònoms o empreses menudes: Cal tenir un corpus paral·lel d’entrenament amb centenars de milers o milions d’oracions per a les llengües d’interés i, idealment, per a la temàtica desitjada. Cal disposar d’un equip informàtic d’alt rendiment equipat amb GPUs (graphic processing units). Cost: milers d’euros.
  • 31. Traducció automàtica neural Traducció automàtica neural TA neural: nou comportament La TA neural (o neuronal) . . . . . . treballa amb representacions de tota l’oració és difícil saber de quin mot origen ve cada mot meta. . . . produeix textos gramaticalment molt naturals en LM. . . . produeix errors amb motivació semàntica: si no s’ha vist un mot durant l’entrenament, se substitueix. . . . . . per un altre similar: palau → castell . . . o per una paràfrasi: Michael Jordan → l’escorta dels Chicago Bulls; amb resultats perillosos a voltes: Tunis → Noruega. . . . poden inventar mots: engineratge, reclutació, etc. quan treballen amb segments més que el mot (com es fa comunament). Qui postedita ha de prestar molta atenció (càrrega cognitiva ↑).
  • 32. Traducció automàtica neural Traducció automàtica neural Com s’entrena la traducció automàtica neural /1 Entrenar: ajustar tots els pesos de la xarxa neural. Eixida: probabilitats dels segments en context → probabilitats de les oracions: P(I love you .|Je t’aime) = p1(I |INICI, Je t’aime)× × p2(love |I, Je t’aime)× × p3(you |I love, Je t’aime)× × p4(. |I love you, Je t’aime). Objectiu: maximitzar la probabilitat P(I love you .|Je t’aime) de la traducció de referència I love you. Cal maximitzar aquesta probabilitat per a totes les traduccions del corpus d’entrenament.
  • 33. Traducció automàtica neural Traducció automàtica neural Com s’entrena la traducció automàtica neural /2 Es comença amb pesos aleatoris o els d’una xarxa anterior (preentrenada en una tasca relacionada). L’algorisme calcula quant canvien les probabilitats de les traduccions del corpus d’entrenament quan s’incrementa una miqueta cada pes de la xarxa. Per a cada pes: (Pes ↑ ⇒ Probabilitat ↑)? ⇒ pes ↑ proporcionalment. (Pes ↑ ⇒ Probabilitat ↓)? ⇒ pes ↓ proporcionalment.
  • 34. Traducció automàtica neural Traducció automàtica neural Com s’entrena la traducció automàtica neural /3 (Pes ↑ ⇒ Probabilitat ↑)? ⇒ pes ↑ proporcionalment. (Pes ↑ ⇒ Probabilitat ↓)? ⇒ pes ↓ proporcionalment. El procés es repeteix fins que passa un temps, o s’ha fet un nombre determinat de passades per tot el corpus, o la probabilitat de les traduccions en una part reservada del corpus que no hem usat per a entrenar deixa d’augmentar, o aquestes traduccions comencen a empitjorar d’acord amb un indicador automàtic de la qualitat.
  • 35. Traducció automàtica neural Traducció automàtica neural Com s’entrena la traducció automàtica neural /4 L’algorisme d’aprenentatge calcula un gradient de les probabilitats de les oracions de referència del conjunt d’aprenentatge respecte de cada pes w que connecta neurones: gradient(P, w) = P(amb w + ∆w) − P(amb w) ∆w = ∂P ∂w És a dir, quant varia la probabilitat per a un petit canvi ∆w en cada pes w. Després de processar un cert nombre d’exemples, els pesos s’actualitzen proporcionalment a l’efecte sobre la probabilitat → ascens pel gradient nou w = w + (taxa d’aprenentatge) × gradient(P, w) Això es fa repetidament.
  • 36. Traducció automàtica neural Traducció automàtica neural Com s’entrena la traducció automàtica neural /5 Una manera d’avaluar el progrés del sistema durant l’entrenament: avaluació automàtica. Comparació automàtica de l’eixida del sistema amb [una o més] traduccions professionals de referència: Similitud: BLEU (quants segments d’un, de dos, de tres i de quatre mots coincideixen). Idealment, com més coincidències, més util és la traducció. Errors: TER (translation error rate, quants mots s’han d’esborrar, inserir o substituir i quants blocs d’un o més mots s’han de moure per cada 100 paraules). Idealment, com menys errors, més útil és la traducció. També es poden usar xarxes neurals entrenades per a predir judicis humans de “qualitat” (p.ex., Comet). La correlació d’aquests indicadors automàtics amb la utilitat en una aplicació concreta encara és millorable.
  • 37. Traducció automàtica neural Comentaris finals Índex 1 Traducció automàtica 2 Tecnologies de traducció automàtica 3 Traducció automàtica basada en corpus 4 Traducció automàtica neural 5 Comentaris finals
  • 38. Traducció automàtica neural Comentaris finals Comentaris finals La traducció automàtica és la traducció de textos en format informàtic amb usant ordinadors i programari adequat. Dues tecnologies bàsiques: TA basada en regles (i diccionaris) i TA basada en corpus de text (estadística i neural). La TA neural és l’estat de la qüestió de la TA basada en corpus. Es basa a simular el comportament de grans xarxes de neurones artificials inspirades en les dels éssers vius. Entrenar un traductor neural és usar exemples de traduccions per a ajustar els pesos de manera que el comportament de la xarxa resolga una tasca de traducció. Es requereixen grans corpus bilingües alineats oració a oració i ordinadors especialitzats molt potents.
  • 39. Traducció automàtica neural Comentaris finals Moltes gràcies!
  • 40. Traducció automàtica neural Comentaris finals Aquestes transparències són lliures Aquest treball es pot distribuir segons els térmens de la llicència Creative Commons Reconeixement-CompartirIgual 4.0 Internacional (http://creativecommons.org/licenses/by-sa/ 4.0/deed.ca) o la Llicència General Pública v. 3.0 de GNU: (https: //www.gnu.org/licenses/gpl-3.0.ca.html). Llicència dual! Escriviu-me si voleu el codi font L A TEX: mlf@ua.es