Documente Academic
Documente Profesional
Documente Cultură
Google'SStatistical Machine Translation
Google'SStatistical Machine Translation
Petrisor, 2008 1
12.1 Googles statistical machine translation
Suplimentcadou la Cursul 12
Machine translation (abreviat MT) este un subdomeniu al CS, care studiaza modele de
traducere automata dintr-o limb a naturala n alta.
In principal exista doua modalitat i de
a efectua traducere automata: metoda bazata pe reguli gramaticale (rule-based method)
si metoda statistica (statistical machine translation, SMT).
Google a folosit pentru traduceri, pan a de curand, aplicat ia SYSTRAN (care este
folosita si de Yahoo si Microsoft).
In 2006 Google a lansat propriul sistem SMT:
http://googleresearch.blogspot.com/2006/04/statistical-machine-translation-live.html
La baza lui sta o metoda dezvoltat a de Franz Josef Och, seful departamentului MT de
la Google. El a studiat la Universitatea Aachen, Germaniasi a dezvoltat n lucrarea sa
de doctorat din anul 2002, intitulata Statistical Machine Translation: From Single-Word
Models to Alignment Templates,
http://www-i6.informatik.rwth-aachen.de/publications/download/520/Och--2002.pdf
o modalitate performant a de a efectua traducere ntre doua limbi, una numita sursa
(limba din care traducem) si cealalta, t int a (limba n care se traduce), pe baza informat iei
statistice extrase din parallel text corpora. Parallel text corpus (corpora este pluralul) este
o baza de texte n doua limbi distincte, de obicei obt inute prin traducerea textelor dintr-o
limba, de catre traducatori specializat i, n cea de-a doua limba.
Google foloseste textele paralele puse la dispozit ie de catre ONU si Uniunea Euro-
peana.
Modelul teoretic de traducere ntre doua limbi, sursa si t int a, este urmatorul:
Se considera variabila aleatoare F, ce are ca valori orice propozit ie sau fraza, f, pe care
un vorbitor de limba sursa o poate spune candva. E este variabila aleatoare ce are ca valori
orice propozit ie sau fraza pe care un vorbitor de limba t inta o poate enunt a. Precizam
ca n literatura relativ la SMT cele doua notat ii, F, f resspectiv E, e, sunt consacrate.
Aceasta alegere se datoreaza faptului ca primele experimente s-au facut pe limba sursa,
franceza, si limba t int a, engleza.
Data ind o fraza f, n limba sursa, aplicat ia SMT trebuie sa determine fraza e din
corpusul (baza) de texte, care maximizeaza probabilitatea condit ionat a P(E = e|F = f),
adica probabilitatea ca traducerea sa e e, stiind ca textul de tradus este f.
Din denit ia probabilitat ii condit ionate avem:
P(E = e|F = f) =
P(E = e, F = f)
P(F = f)
=
P(E = e)P(F = f|E = e)
P(F = f)
(remarcam ca aceasta este formula lui Bayes!) Astfel problema traducerii frazei f revine
la a determina fraza e din corpusul de texte din limba t inta, care maximizeaza funct ia
(e) =
P(E = e)P(F = f|E = e)
P(F = f)
2 Cursul 12, Probabilitat i si Statistica n CS c E. Petrisor, 2008
Deoarece numitorul nu depinde de e, problema se reduce la a determina fraza e care
maximizeaza:
(e) = P(E = e)P(F = f|E = e)
Fraza e va un estimator al verosimilit at ii maxime pentru fraza e, ce traduce relativ
corect fraza f.
Relat ia:
e = argmax(P(E = e)P(F = f|E = e))
se numeste ecuat ia fundamentala a SMT. Deoarece n ntreaga teorie nu mai intervin alte
variabile aleatoare, de obicei acestea se omit n expresiile folosite si se noteaza simplu
P(e), P(f|e). Probabilitatea P(f|e) se numeste verosimilitatea traducerii.
Distribut iile teoretice, de probabilitate ale variabilelor aleatoare discrete E si F ind
necunoscute, se estimeaza P(e) si P(f|e) din datele nregistrate n parallel text corpora.
Modalitatea de estimare (nv at are, n limbaj de machine learning) a probabilitat ilor P(e)
deneste ceea se numeste language model, iar modalitatea de estimare a probabilitatilor
condit ionate, P(f|e), constituie string translation model. Odata generate cele doua modele,
la o cerere de traducere a unei fraze f, sistemul SMT cauta fraza e ce maximizeaza
produsul P(e)P(f|e).
12.1.1 Modelul pentru estimarea probabilitat ilor P(e)
Pentru a estima probabilitat ile P(e), frazele e, care sunt stringuri de cuvinte, se divid
n substringuri de n cuvinte, n = 1, 2, ... Un substring de n cuvinte se numeste ngram,
si particularizand avem unigram (n=1), bigram (n=2), trigram (n=3). Franz Josef Och
foloseste notat ia:
e
I
= e
1
e
2
. . . e
I
, f
J
= f
1
f
2
. . . f
J
pentru a ilustra succesiunea de cuvinte din fraza e, respectiv f(de fapt el noteaza e
I
1
,
respectiv f
J
1
, unde 1 , cred ca semnica faptul ca fraza ncepe cu cuvantul e
1
, respectiv
f
1
; eu omit acest indice!).
Pentru a estima probabilitatea P(e
I
) din textele din limba t int a existente n corpusul
de texte, se procedeaza astfel: Daca w este unigram (adica un cuvant) atunci probabili-
tatea de a nt alni cuvantul w este estimata de:
p(w) =
de cate ori apare cuvantul w n baza de texte n limba t int a
num arul total de cuvinte din baza de texte n limba t int a
Probabilitatea ca, cuvantul w
2
sa urmeze dupa cuvantul w
1
este:
p(w
2
|w
1
) =
p(w
1
w
2
)
p(w
1
)
=
de cate ori apare n baza de texte succesiunea de cuvinte w
1
w
2
p(w
1
)
Apoi
p(w
3
|w
1
w
2
) =
de cate ori apare n baza de texte stringul w
1
w
2
w
3
i=1
p(e
i
|e
i3
e
i2
e
i1
)
unde e
2
= e
1
= e
0
= e
I+1
= $
12.1.2 Model pentru estimarea probabilitat ilor ce caracterizeaza verosimili-
tatea traducerii.