Sunteți pe pagina 1din 4

Cursul 12, Probabilitat i si Statistica n CS c E.

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

decate ori apare stringul w


1
w
2

Cursul 12, Probabilitat i si Statistica n CS c E. Petrisor, 2008 3


etc. Aplicand formula condit ionarii iterate:
P(A
1
A
2
. . .A
I1
A
I
) = P(A
n
|A
1
. . .A
I1
)P(A
I1
|A
1
. . .A
I2
) P(A
3
|A
1
A
2
)P(A
2
|A
1
)P(A
1
)
rezulta ca un estimator al probabilitat ii frazei e
I
= e
1
e
2
. . . e
I
este:
p(e
I
) = p(e
I
= e
1
e
2
. . . e
I
) = p(e
I
|e
1
e
2
. . . e
I1
)p(e
I1
|e
1
e
2
. . . e
I2
) p(e
2
|e
1
)p(e
1
)

In urma a numeroase teste, Och a ajuns la concluzia ca nu e nevoie sa estimeze proba-


bilitat i de tipul
p(e
k
|e
1
e
2
. . . e
k1
), k > 4
deoarece n baza de texte exista put ine stringuri de k > 4 cuvinte care sa se repete si
cel mai adesea se repeta stringuri de doua, trei cuvinte (bigramuri si trigramuri). Astfel
prima mbunat at ire adusa modelelor de limb a preexistente a fost sa introduca un nou
estimator al probabilitat ii unei fraze e
I
= e
1
e
2
. . . e
I
, si anume a introdus un cuvant
articial, notat $, care se adauga la nceputul si sfarsitul unei fraze si estimatorul:
p(e
I
= e
1
e
2
. . . e
I
) =
I+1

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.

In ecuat ia fundamentala a SMT intervine probabilitatea condit ionata P(f|e), numit a


verosimilitatea traducerii e, pentru fraza f. La baza acestei estimari sta ceea ce se numeste
statistical alignment model, care pornind de la baza de texte paralele T = {(f
s
, e
s
), s =
1, 2, . . . , S} asociaza ecarei perechi de fraze (f
s
, e
s
), o corespondent a ntre cuvintele din
fraza f
s
si fraza paralela e
s
.

In literatura de specialitate exista multe modele de aliniament,
dar modelul propus de Och, numit template alignment model pare a cel mai performant
si n anul 2003 a castigat concursul DARPA (Defense Advanced Research Projects Agency,
o agent ie din SUA care suporta activitat i de cercetaredezvoltare de noi tehnologii).
Detalii despre template alignment model se gasesc n teza de doctorat a lui Och (vezi
link-ul de mai sus). Exista si numeroase articole pe WEB, dar acestea sunt n general
rezumate din teza si expuse mai put in explicit.
Avantajul major al SMT este ca, spre deosebire de rule-based machine translation
este independent de perechea (limb a sursa, limba t inta). Implementarea este unica si
performant a sistemului depinde de volumul de texte paralele de care dispune.
Testand traduceri din engleza n romana sau viceversa, neav and informat iile de mai
sus am tentat i sa spunem ca Googles SMT este slab. Cauza traducerilor bizare este
corpusul redus de texte paralele n aceste doua limbi.
Cateva exemple (putet i testa la http://translate.google.com/translate_t):
4 Cursul 12, Probabilitat i si Statistica n CS c E. Petrisor, 2008
Limba sursa Limba t inta
How does Googles machine translation work? Cum face Googles machine traducere de munca?
How does machine translation work? Cum se machine traducere de munca?
Cum realizeaza Google traducerea automata? How Google produces automatic translation?
Studentii din Romania nu frecventeaza cursurile. Students of Romania not attend classes.
Google Translate FAQ ment ioneaza ca masina de tradus poate ajutata daca se
contribuie cu un volum mare de texte paralele si/sau se sugereaza o traducere mai buna
n cazul unei traduceri necorespunzatoare:
http://www.google.com/support/contact/?translate=1
Post Scriptum: Stit i de ce Google a tradus sucient de bine fraza: Studentii din
Romania nu frecventeaza cursurile? Pentru ca n corpusul pus la dispozit ie de Uniunea
Europeana gureaza aceasta informat ie n toate limbile t arilor membre. Rezultatul va
ca n cat iva ani absolvent ii din RO vor evitat i, pentru ca au studiat la fara frecvent a
si deci nu au un background solid.

S-ar putea să vă placă și