Introduction à la traduction statistique

Transcription

Introduction à la traduction statistique
Introduction à la traduction statistique
Philippe Langlais
avec l’aide de François Yvon
avec l’aide de D. Déchelotte, P. Koehn
K. Knight, P. Langlais, H. Schwenk
DIRO, Université de Montréal
ENST, 17 mars 2008
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
(Hutchins, 2005)
1949 Warren Weaver’s (Rockfeller Foundation), théorie de
l’information
1960 Russe/Anglais, textes scientfiques et techniques
Initialement plutôt approches “classiques”, IA +
TAL : utilisation de Parseurs, de règles développées
par des humains, . . .
1966 Rapport ALPAC (Automatic Language Processing
Advisory Committee)
70s Systran, système Meteo
90s Traduction Statistique (IBM) + Traduction par
l’exemple
: Exploitation de mémoires de traductions
Quelques faits
En vrac :
I
fin 80 : traduction sur ordinateur personnel
I
fin 90 : traduction sur la toile :
I
I
I
I
I
Alta Vista – Babel Fish – (Systran)
Google (initialement avec Systran)
Microsoft (Systran + TS à l’interne)
Language Weaver
¤
I
I
I
I
30% du budget du parlement européen
En 2004 : 1650 traducteurs professionnels employés à la
Commission Européenne
75% des pages internet sont monolingues
3% des japonais parlent une langue seconde
Contexte :
I
La traduction automatique est une des technologies
émergentes (la mondialisation !)
I
Domaine scientifique complexe faisant intervenir pratiquement
tous les aspects du traitement du langage naturel
I
Pas de pratique encore cimentée : We need you !
L’ordre des mots varie entre les langues
Belle marquise...
Exemples :
I
Anglais :
I
I
I
Japonais :
I
I
I
IBM bought Lotus
Reporters said IBM bought Lotus
IBM Lotus bought
Reporters IBM Lotus bought said
Français :
I
I
une nouvelle voiture
une voiture nouvelle
Résolution des références
Il l’aime
systran :
google :
it likes it
he likes
Julie demande à Paul de ne plus la regarder
systran :
google :
Julie asks Paul more to look at it
Julie asks Paul no longer look
Julie demande à Paul de lui raconter une blague
systran :
google :
Julie asks Paul to tell him a joke
Julie asks Paul to tell a joke
Quelques problèmes de sémantique
Ambiguı̈té sémantique : multiplicité des sens d’un mot
I
Anglais : plant (arbre ou entreprise) ; bank (banque ou bord
d’une rivière)
I
Français : allumer (une cigarette ou le moteur), couper (les
cheveux (en 4) ou le moteur)
: Souvent les sens différents correspondent à des traductions
différentes
Idiomes
I
Expressions poly-léxématiques qu’on ne peut traduire mot par
mot (= non-compositionnelles)
I
être au pied du mur → To be at the foot of the wall ?
I
tenir sa langue → keep ones tongue ?
I
ne pas mâcher ses mots → not to chew ones words ?
Problèmes de morpho-syntaxe
Utilisation des pronoms
I
Certaine langues autorisent l’omission des pronoms (eg.
espagnol, italien)
I
Souvent la forme verbale détermine le bon pronom
I
Mais ne on peut savoir s’il faut utiliser he, she ou it
Atraversóv el rı́on flotandopp ↔ itpr floatedv acrossp the river
Marques flexionnelles
I
He is nice → Il est beau vs She is nice → Elle est belle :
accord d’un côté mais pas de l’autre
: En général, la traduction est plus difficile quand la cible est
morphologiquement plus riche que la source
Quelques approches de la traduction Automatique
Approches :
I
Traduction mot par mot
I
Transfert syntaxique
I
Utilisation d’une “langue” pivot (Interlingua)
Approches utilisant des textes déjà traduits
I
Utiliser “l’expertise” contenue dans des traductions effectuées
par des humains
→ Minimiser le problème d’acquisition de connaissances
I Example-based machine translation (EBMT)
I Approche statistique
I
I
Systèmes hybrides
Plan
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
Le modèle du canal bruité
(Brown et al, 1993)
Canal bruité
I
f une phrase du langage source (french),
I
e une phrase du langage cible (english),
I
traduire ⇔ résoudre :
argmax P(e|f ) = argmax P(f |e)P(e)
e
e
Deux modèles
I
p(f |e) définit le modèle de transfert
I
p(e) définit le modèle de langue
Un décodeur
I
problème NP-complet (Knight, 2001)
Point de départ : un corpus parallèle
I
Un corpus parallèle + Aligneur = bitexte
• The Legislative Assembly
convened at 3.30 pm.
• Mr. Quirke (ClerkDesignate) :
• THURSDAY, APRIL 1,
1999
I
• sitamiq, ipuru 1, 1999
• maligaliurvik matuiqtaulauqtuq 3 :30mi unnusakkut
• mista kuak (titiraqti - tikkuaqtausimajuq) :
Des aligneurs disponibles (Gale and Church, 1993 ; Moore,
2001)
Corpus alignés : le nerf de la guerre
I
textes institutionnels :
I
I
I
I
I
I
I
textes techniques
best sellers :
I
I
débats parlementaires canadiens (anglais-français,
anglais-inuktitut)
débats parlementaires européens (français, italien, espagnol,
portugais, anglais, allemand, hollandais, danois, suédois, grec,
finnois)
hong-kong (anglais-chinois)
santé-canada (anglais-français), Pan Health Organization
(anglais-espagnol)
...
Bible (2212), Coran (≥ 40), Catalogue IKEA (∼ 30),
Harry Potter (∼ 30), . . .
internet
Plan
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
Modèle de langue n-gramme
p(w = w1 , . . . , wN ) ≈
N
Y
i−1
p(wi |wi−n+1
)
i=1
Cas du modèle trigramme (n=2)
p(15 années de traduction en 15 minutes) = p(15) × p(années |
15) × p(de | 15 années) × p(traduction | années de) × p(en | de
traduction) × p(15 | traduction en) × p(minutes | en 15)
Lire (Goodman, 2001), (Bengio et al., 2001)
Introduction des alignments
(Brown et al., 1993)
I
estimation directe de P(f |e) ?
I
décomposition à la HMM P(f |e) =
I
: décomposition via des alignements :
X
P(f |e) =
P(a, f |e)
a
où a est un alignement entre e et f
Q
i
P(fi |ei ) simpliste
Alignement de mots
Mary1 n’2 est3
Mary1 does2
I
pas4 d’accord5 avec6 les7 amis8 de9 John10
not3
agree4 with5
John’s6
friends7
un alignement = relation sur I × J.
a = {(1, 1), (2, 3), (3, 4), (4, 3), (5, 4) . . .}
2I ×J relations possibles
I
un alignement = application partielle de I vers J :
a = [1, 3, 4, 3, 4, 5, 7, 7, 6, 6]
« seulement » I J+1 applications possibles
Problèmes des alignements de mots
Le1 programme2 a3
été4
mis5
en6 application7
The1 program2
has3
been4 implemented5
Mais :
The1 program2
has3
been4 implemented5
Le1 programme2 a3
été4
mis5
Modèles d’alignement non symétriques
en6 application7
Problèmes des alignements de mots
I
The1
poor2
Les1
pauvres2
don’t3
have4
any5
money6
sont3 démunis4
Les alignements “à la IBM” ne sont pas toujours possibles
Lets1
I
go2
to3
Allons1
the4
y2
Présence de bruit dans les corpus
park5
Modélisation avec alignements cachés
Notations
I
f1J = f1 . . . fJ la phrase source (J mots)
I
e1I = e1 . . . eI la phrase cible (I mots)
I
problème : décomposer P(a, f |e)
Structure du modèle génératif (IBM1,2 & HMM)
I
I
choisir J sachant e1I
pour chaque position j ∈ [1 : J]
I
I
choisir aj sachant J, a1j−1 , f1j−1 , e1I
choisir fj sachant J, a1j , f1j−1 , e1I
P(a1J , f1J |e1I ) = P(J|e1I )
Y
j
P(aj |a1j−1 , f1j−1 , e1I )P(fj |a1j , f1j−1 , e1I )
Processus Génératif
NULL
we
vendredi
play
,
badminton
c’
on
est
fridays
badminton
P(f , a|e) = P(J|I )
J
Y
j=1
P(aj |a1j−1 , f1j−1 , J, I )P(fj |a1j , f1j−1 , J, I )
Simplification HMM
NULL
we
vendredi
play
,
badminton
c’
on
est
fridays
badminton
P(f , a|e) = P(J|I )
J
Y
j=1
pa (aj |aj−1 , J)P(fj |a1j , f1j−1 , J, I )
Simplification HMM
NULL
we
vendredi
play
,
badminton
c’
on
est
fridays
badminton
P(f , a|e) = P(J|I )
J
Y
j=1
pa (aj |aj−1 , J)pt (fj |eaj )
Deux finesses
Les mots “vides”
Traiter des mots source non alignables: ai et l’ dans:
j’ ai eu l’ occasion / I had occasion
I
état fictif dans la cible (d’indice 0) atteint avec
P0 = P(ai = 0|ai−1 , J)
I
une distribution associée à cet état P = P(f |)
Modéliser les sauts
Rendre le modèle d’alignement indépendant des indices absolus: :
remplacer P(ai |ai−1 ) par P(ai − ai−1 |ai−1 − ai−2 )
Émergence des alignements
Tous les alignements sont également probables émergent... se
renforcent s’imposent (principe du “pigeonhole”)
Émergence des alignements
Tous les alignements sont également probables la/the,
maison/house émergent... se renforcent s’imposent (principe du
“pigeonhole”)
Émergence des alignements
Tous les alignements sont également probables émergent... la/the,
maison/house se renforcent s’imposent (principe du “pigeonhole”)
Émergence des alignements
Tous les alignements sont également probables émergent... se
renforcent bleue/blue, fleur/flower s’imposent (principe du
“pigeonhole”)
Estimation supervisée du modèle
I
à alignements connus...
I
... les paramètres se déduisent par décompte:
n(I , J)
n(I )
n(i, i 0 )
∀i, i 0 ∈ [1 . . . Imax ], P(i 0 |i, J, I ) =
n(i)
n(e, f )
∀e ∈ Ve , f ∈ Vf , P(f |e) =
n(e)
∀I ∈ [1 . . . Imax ], J ∈ [1 . . . Jmax ], P(J|I ) =
Estimation par EM
Étape E(xpectation)
à paramètres connus (étape précédente):
P(aJ , f J |e I )
P(a1J |e1I , f1J ) = P 1 J 1 J1 I
a P(a1 , f1 |e1 )
Le dénominateur se calcule par programmation dynamique.
Étape M(aximisation)
n(I , J)
∀I ∈ [1 . . . Imax ], J ∈ [1 . . . Jmax ], P(J|I ) =
n(I )
P
(k)
(k)
(k)
(k)
|e , f )n (i, i 0 )
k P(a
∀i, i 0 ∈ [1 . . . I ], P(i 0 |i, J, I ) = P P
(k) |e (k) , f (k) )n(k) (i, i 0 )
i0
k P(a
P
(k) |e (k) , f (k) )n(k) (e, f )
(k) P(a
∀e, f , P(f |e) = P P
(k) |e (k) , f (k) )n(k) (e, f )
f
(k) P(a
Initialiser avec des modèles simples: IBM1 et IBM2
IBM1
Les probabilités des aj sont uniformes: P(aj |aj−1 , I , J) =
P(a1J , f1J |e1I ) =
1
I +1
P(J|I ) Y
P(fj |eaj )
(I + 1)J
j
IBM2
Les aj ne dépendent que de j: P(aj |aj−1 , I , J) = P(aj |j, I , J)
Y
P(a1J , f1J |e1I ) = P(J|I )
P(aj |j, I , J)P(fj |eaj )
j
Initialiser avec des modèles simples: IBM1 et IBM2
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
5
10
pos
15
itio
20
25
30
nc
35
ibl
40
e
5
10
position
source
15
20
Distributions lexicales
the
minister
people
years
(3/149)
(2/27)
(3/66)
(3/24)
(le,0.18) (la,0.15) (de,0.12)
(ministre,0.8) (le,0.12)
(gens,0.25) (les,0.16) (personnes,0.1)
(ans,0.38) (années,0.31) (depuis,0.12)
∀e,
X
f
p(f|e) = 1
Calculer les alignements (à modèle connu)
I
P(.|I ) connu; P(.|a, I , J) connu ; P(f |e) connu
I
e1I et f1J sont observés
I
trouver:
a∗ = argmax P(a1J |f1J , e1I )
a1 ...aJ
= argmax P(f1J , a1J |e1I )
a1 ...aJ
Y
= argmax P(J|I )
P(aj |aj−1 )P(fi |eaj )
a1 ...aJ
I
j
Résolution par programmation dynamique (Viterbi)
(
δ(i, 1) = P(a1 = i), ∀i ∈ [1 . . . I ]
δ(i, j) = maxi 0 ∈I δ(i 0 , j − 1)P(aj = i|aj−1 = i 0 )P(fj |ei )∀i, j > 1
Des alignements... plus ou moins heureux
NULL
please
rise
,
then
,
for
this
minute
’
s
silence
.
je
vous
invite
à
vous
lever
pour
cette
minute
de
silence
.
Des alignements... plus ou moins heureux
NULL
thank
you
,
mr
segni
,
i
shall
do
so
gladly
.
merci
,
monsieur
segni
,
je
le
ferai
bien
volontiers
.
Des alignements... plus ou moins heureux
NULL
it
seems
absolutely
disgraceful
that
we
pass
legislation
and
do
not
adhere
to
it
ourselves
.
nous
votons
des
réglementations
et
nous
ne
nous
y
conformons
même
pas
.
c
’est
scandaleux
.
Pour en savoir plus...
I
The mathematics of statistical machine translation (Brown &
al, 1993): publication de référence sur la traduction
mot-à-mot et les modèles d’alignement
I
A Statistical MT tutorial workbook (Knight, 1999): le même,
en pédagogique
I
Giza, Giza++, Giza-pp: logiciel open-source pour la
construction d’alignements
Plan
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
Vers les modèles de segment
(Och and Ney, 1999; Koehn et al., 2003)
I
Les alignements mot-à-mot sont problématiques
I
Le modèle lexical t(f |e) n’utilise pas de contexte:
ex: Les poules du couvent couvent
I
Prise en compte des formes figées (vue à l’entraı̂nement)
ex: . . . ont renoncé de guerre lasse à . . . — has finally given
up trying
I
Un modèle lexical t(fj |ei−2 ei−1 ei ) est trop complexe
: nouveau modèle de traduction, alignement de “blocs de mots”
(segments).
: Apprentissage du modèle
I
I
acquisition des segments
modèle probabiliste à base de segments
Extraction de segments
Extraction de segments
Extraction des segments
Les alignements symétrisés
Extraction des segments
Les contraintes de cohérence
∀ei ∈ ẽ, (ei , fj ) ∈ A:fj ∈ f˜
∀fj ∈ f˜, (ei , fj ) ∈ A:ei ∈ ẽ
Extraction des segments
(Mary,Maria), (did not, no), (slap, daba una bofetada)...
Extraction des segments
(Mary did not,Maria no), (did not slap, no daba una bofetada)...
Extraction des segments
(Mary did not slap,Maria no daba una bofetada)...
Les scores d’un fragment
I
I
Au maximum de vraisemblance:
I
P(f˜|ẽ) =
I
P(ẽ|f˜) =
: estimateurs très optimistes pour les longs segments
Autres options:
I
I
I
c(f˜,ẽ)
c(ẽ)
c(ẽ,f˜)
c(f˜)
P(f˜|ẽ) = PIBM (f˜|ẽ)
P(ẽ|f˜) = PIBM (ẽ|f˜)
Pourquoi choisir ? : combinaison des scores
Combinaison des scores et tuning
I
Nouveau modèle de traduction (indépendance entre
segments):
k
X Y
P(e|f ) =
P(f˜i |ẽi )
a=s1...sk i=1
≈
max
k
Y
a=s1...sk
P(f˜i |ẽi )
i=1
Modèles probabilistes individuellement imprécis
: Pondération de leur influence :
Y
e ∗ = argmax
Pk (f , e)λi
I
e
e
∗
= argmax
e
I
k
X
λk log Pk (f , e)
k
Comment déterminer les coefficients λi ?
Optimisation du système: calcul des λ
I
I
À la main ?
Boucle exploratoire:
1.
2.
3.
4.
5.
Choisir λk initiaux
Faire un décodage avec ces valeurs
Obtenir une solution et calculer son score
Modifier les λk et recommencer à l’étape 2
Terminer si le score ne s’améliore plus
: Algorithmes itératifs de recherche
Les ingrédients d’un modèle de segment
I
Modèle de traduction :
P(f˜|ẽ)
P(f |e)
P(ẽ|f˜)
P(e|f )
e
I
traduction segments e → f
traduction de mots e → f (modèle lexical type IBM1)
traduction segments f → e
traduction de mots e → f (modèle lexical type IBM1)
constante → pénalité sur le nombre de segments
+ modèles de distortions (une autre fois)
I
Modèle de langage : P(e)
I
constante 1 → pénalité de longueur
La table des segments
Scores : P(f˜|ẽ), P(e|f ), P(ẽ|f˜), P(f |e) et e
quelques traductions de “A big”
A
A
A
A
A
A
big
big
big
big
big
big
|||
|||
|||
|||
|||
|||
Le grand ||| 0.0106383 0.000152962 0.166667 0.00405915 2.718
Un des principaux ||| 0.0434783 0.0005689 0.166667 1.56536e-05 2.718
Un grand ||| 0.00961538 0.00957428 0.166667 0.0300893 2.718
Une grande ||| 0.0108696 0.00360665 0.166667 0.0208976 2.718
ont une grande ||| 0.0217391 1.12938e-05 0.166667 3.79597e-06 2.718
une grande ||| 0.000256345 1.12938e-05 0.166667 0.00211983 2.718
La table des segments (suite)
467 traductions de “European Commission”
European
European
European
European
European
Commission
Commission
Commission
Commission
Commission
|||
|||
|||
|||
|||
Commission européenne ||| 0.752696 0.812097 0.749849 0.455413 2.718
Commission ||| 0.00265859 0.00194196 0.0511501 0.952132 2.718
la Commission européenne ||| 0.0426116 0.812097 0.0352603 0.0174883 2.718
Commission européenne , ||| 0.17041 0.812097 0.0195218 0.0364258 2.718
de la Commission européenne ||| 0.0625 0.812097 0.0160412 0.00229579 2.718
38 traductions inverses de “Commission européenne”
European Commission ||| Commission européenne ||| 0.752696 0.812097 0.749849 0.455413 2.718
Commission ||| Commission européenne ||| 0.116208 0.490344 0.00548883 0.00587199 2.718
the European Commission ||| Commission européenne ||| 0.0095701 0.0437849 0.0119704 0.455413 2.718
Commission ’s ||| Commission européenne ||| 0.00592435 0.00389219 0.0137227 0.00378834 2.718
Commission is ||| Commission européenne ||| 0.00303813 0.000335368 0.0036914 4.97013e-05 2.718
La table des segments (suite et fin)
672 traductions de ’ !’ !!!
! |||
! |||
! |||
! |||
...
! |||
! |||
! |||
! |||
! |||
...
! |||
! |||
...
!
!
!
:
! ! ||| 0.375 0.588351 0.000338181 0.462852 2.718
! ||| 0.153846 0.588351 0.000225454 0.598358 2.718
||| 0.534388 0.588351 0.731372 0.773536 2.718
non ! ||| 0.5 0.588351 0.000112727 2.60435e-07 2.718
,
,
,
,
,
dit-on
exigez
exigez
il est
il est
partout ! ||| 1 0.588351 0.000112727 4.76404e-12 2.718
que ||| 0.5 5.69e-05 0.000112727 1.92463e-10 2.718
||| 0.333333 5.69e-05 0.000112727 1.20609e-08 2.718
primordial que la ||| 0.333333 5.69e-05 0.000112727 3.20037e-15 2.718
primordial que ||| 0.0277778 5.69e-05 0.000112727 8.33407e-14 2.718
Messieurs , il est primordial que la ||| 1 5.69e-05 0.000112727 4.92856e-19 2.718
Messieurs , il est primordial ||| 1 5.69e-05 0.000112727 8.04285e-16 2.718
Note: 1 million de paires de phrases ∼ 40 millions de paramètres
...
Plan
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
Recherche et décodage: un gros soucis
I
Décodage monotone: l’ordre des segments cible respecte celui
des segments source
I
I
I
Décodage avec distortion
I
I
I
efficace
pas de réordonnancement
argmax est un problème NP difficile (y compris avec IBM1 !)
méthodes heuristiques (A∗ etc)
L’espace de recherche est gigantesque
I
élagage de l’espace de recherche
This beautiful plant is unique
transfer table
↔
ce
↔
cette
beautiful ↔
belle
↔
beau
plant
↔
plante
↔
usine
is
↔
est
unique
↔
seule
↔
unique
beautiful plant
l
belle plante
plante magnifique
this
5
au
be
le
bel
2
ce
1
ce
tte
3
4
6
belle plante
plan
te m
agnifi
que
ante
l
p
e
l
l
e
b
agnifique
m
te
an
pl
belle
be
au
7
language model
ce beau plante
cette belle usine
belle usine est
...
8
9
2
5
9
4
8
1
3
6
7
:-(
:-|
:-)
This beautiful plant is unique
transfer table
13
nte
pla
usine
↔
ce
↔
cette
beautiful ↔
belle
↔
beau
plant
↔
plante
↔
usine
is
↔
est
unique
↔
seule
↔
unique
beautiful plant
l
belle plante
plante magnifique
this
12
5
1
ce
tte
3
usine
plan
te
belle plante
plan
te m
agnifi
que
ante
l
p
e
l
l
e
b
agnifique
m
te
an
pl
belle
usine
be
8
au
10
6
te
2
ce
4
an
be
le
bel
pl
au
7
language model
ce beau plante
cette belle usine
belle usine est
...
11
9
2
11
13
5
9
10
12
4
8
6
7
1
3
:-(
:-|
:-)
This beautiful plant is unique
12
4
2
ce
tte
3
10
6
plan
te m
agnifi
que
ante
l
p
e
l
l
e
b
agnifique
m
te
an
pl
belle
usine
be
8
au
est
14
te
belle plante
an
1
16
es t
usine
plan
te
pl
ce
est
est
be
le
bel
↔
ce
↔
cette
beautiful ↔
belle
↔
beau
plant
↔
plante
↔
usine
is
↔
est
unique
↔
seule
↔
unique
beautiful plant
l
belle plante
plante magnifique
this
5
au
transfer table
13
nte
pla
usine
7
est
15
language model
ce beau plante
cette belle usine
belle usine est
...
11
9
2
11
13
5
9
10
12
4
8
6
7
15
1
3
14
16
:-(
:-|
:-)
This beautiful plant is unique
12
3
est
se u
le
seule
uniq
ue
14
17
ul
e
te
18
7
se
ce
tte
6
est
an
1
belle plante
plan
te m
agnifi
que
ante
l
p
e
l
l
e
b
agnifique
m
te
an
pl
belle
usine
be
8
au
10
pl
2
ce
4
le
16
es t
usine
plan
te
e
bel
est
iqu
un
be
↔
ce
↔
cette
beautiful ↔
belle
↔
beau
plant
↔
plante
↔
usine
is
↔
est
unique
↔
seule
↔
unique
beautiful plant
l
belle plante
plante magnifique
this
5
au
transfer table
13
nte
pla
usine
est
e
iqu
un
15
language model
ce beau plante
cette belle usine
belle usine est
...
11
9
2
11
13
5
9
10
12
4
8
6
7
15
:-(
:-|
:-)
18
1
3
14
16
17
Décodage en passes multiples
Motivations
I
Certains modèles sont difficiles à appliquer pendant la phase
de décodage
I
I
I
I
Des modèles de langage avec un ordre élevé
Des modèles de phrases
Diverses analyses morpho-syntaxiques
...
: Utiliser une approche en deux passes :
1. Décodage et création d’un ensemble de solutions plausibles
2. Ajout de connaissances supplémentaires et sélection de la
meilleure hypothèse
Représentations intermédiaires
I
Graphes de mots (lattices)
I
I
I
I
Utilisés en reconnaissance de la parole (outils existants)
A priori très compacts
Moins adaptés à la traduction (ordre de mots variables)
Listes n-best
I
I
I
Moins compacts qu’un lattice (redondance)
Il est facile de gérer des solutions très variables
Permettent l’application de modèles de phrases
Une liste de n-best
0 |||
|||
0 |||
|||
0 |||
|||
0 |||
|||
0 |||
|||
0 |||
|||
0 |||
|||
0 |||
|||
0 |||
|||
0 |||
|||
Notre déclaration des droits est la première de ce millénaire .
lm: -53.1725 tm: -8.54868 -8.36703 -6.29597 -9.46295 8.99907 w: -11 ||| -2.01804
Notre déclaration des droits n ’ est la première de ce millénaire .
lm: -55.9546 tm: -4.29181 -8.36703 -5.70585 -16.96 7.99917 w: -13 ||| -2.10735
Notre déclaration des droits est le premier de ce millénaire .#
lm: -52.6802 tm: -8.68783 -8.73413 -7.26683 -10.4078 8.99907 w: -11 ||| -2.11691
Notre déclaration des droits est la première de ce nouveau millénaire .
lm: -53.4205 tm: -10.6899 -9.05756 -9.47818 -12.9981 8.99907 w: -12 ||| -2.21531
Notre déclaration des droits n ’ est le premier de ce millénaire .
lm: -55.7673 tm: -4.43096 -8.73413 -6.67671 -17.9048 7.99917 w: -13 ||| -2.22684
Notre déclaration de droits est la première de ce millénaire .
lm: -59.4228 tm: -3.32516 -8.27583 -5.18753 -8.48052 7.99917 w: -11 ||| -2.2324
La déclaration des droits est la première de ce millénaire .
lm: -47.5985 tm: -14.3938 -14.2576 -9.5678 -12.6795 8.99907 w: -11 ||| -2.29651
Notre déclaration des droits n ’ est la première de ce nouveau millénaire .
lm: -56.2027 tm: -6.43302 -9.05756 -8.88807 -20.4951 7.99917 w: -14 ||| -2.30462
Notre déclaration des droits , c’ est la première de ce millénaire .
lm: -54.6978 tm: -9.60467 -8.81344 -10.844 -16.6753 8.99907 w: -13 ||| -2.30946
Notre déclaration des droits est la première de millénaire .
lm: -53.9945 tm: -7.78823 -12.0139 -4.39036 -8.23918 6.99927 w: -10 ||| -2.31331
Plan
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
Quelques exemples de traductions (WMT’06)
SRC ce n ’ est pas seulement une question de précaution : c ’ est du simple bon sens .
REF that is not just a precaution , it is common sense .
cmu it is not just a precautionary issue : it is of simple common sense .
lcc it is not just a question precautionary : it is simply the right direction .
nrc it is not just a question of caution : that of simple common sense .
nrc it is not just a question of caution : this is the simple good sense .
nrc it is not just a question of caution : this is the simple good sense .
ntt this is not just a question of precautionary : it is simple common sense .
ntt this is not just a question of precautionary : it is simply common sense .
rali this is not just a question of precaution is the simple good sense .
systr. it is not only one question of precaution : it is simple good direction .
uedin this is not only a question of caution : that is the simple good sense .
upc this is not only a question of caution : it is a simple common sense .
upc this is not just a question of precaution is the simple common sense .
upv this is not just a question of caution : it is , of simple common sense .
utd this is not just a question precautionary : it is , of simple common sense .
Quelques exemples de traductions (WMT’06)
SRC
REF
cmu
ntt
rali
il est certain que la déclaration complète implique à nouveau
des coûts . c ’ est l ’ agriculteur qui doit , en fin de compte
, supporter les coûts .
the full declaration certainly costs money , and the farmer
ultimately has to foot the bill .
there is no doubt that the full statement involves costs again
. that is the farmer which must , at the end of the day bear
the costs .
it is true that the statement that is the farmer who must , in
the end , bear the costs . full means to new costs .
it is true that the full statement implies again this is the farmer
who must , ultimately , bear the costs . costs.
Évaluation humaine (subjective)
5
4
3
2
1
Fluency
Flawless English
Good English
Non-Native English
Disfluent English
Incomprehensible
5
4
3
2
1
Adequacy
All Information
Most Information
Much Information
Little Information
None
BLEU : une métrique pour l’évaluation quantitative des
traductions
I
Évaluer les systèmes de traduction est une question difficile
I
Il existe des métriques subjectives et objectives
I
La mesure BLEU . . .
I
quantifie la ressemblance avec des traductions de références
I
Formellement, une moyenne géomérique de la précision
n-gram
Calcul du score BLEU
Ref1: I am happy
I am feeling good
Ref2: I am feeling very good
p1 = 1
BLEU : une métrique pour l’évaluation quantitative des
traductions
I
Évaluer les systèmes de traduction est une question difficile
I
Il existe des métriques subjectives et objectives
I
La mesure BLEU . . .
I
quantifie la ressemblance avec des traductions de références
I
Formellement, une moyenne géomérique de la précision
n-gram
Calcul du score BLEU
Ref1: I am happy
I am feeling good
Ref2: I am feeling very good
p1 = 1
p2 =
2
3
BLEU : une métrique pour l’évaluation quantitative des
traductions
I
Évaluer les systèmes de traduction est une question difficile
I
Il existe des métriques subjectives et objectives
I
La mesure BLEU . . .
I
quantifie la ressemblance avec des traductions de références
I
Formellement, une moyenne géomérique de la précision
n-gram
Calcul du score BLEU
Ref1: I am happy
I am feeling good
Ref2: I am feeling very good
p1 = 1
p2 =
2
3
p3 =
1
2
p4 =
0
1
Plan
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
TransSearch: Concordancier bilingue
I
Un service offert en ligne par abonnement: TSRALI.com
(Terminotix Inc.)
I
I
I
∼ 1 500 abonnés
∼ 75 000 requêtes par mois
Bitextes offerts:
I
I
I
hansard débats à la chambre des communes depuis 1986 (235
M. de mots)
cours canadiennes décisions de la Cour suprême du Canada,
de la Cour fédérale et de la Cour canadienne de l’impôt (88 M.
de mots)
etc.
TSRALI.com
Traduction Assistée
TransType (Foster et al., 1996)
rali.iro.umontreal.ca/Transtype2/Demo/index.fr.html
Plan
Traduire
Anatomie d’un système de traduction statistique
Traduction statistique mot-à-mot et alignements
Modèles de segments
Décodage et recherche
Évaluation de traduction
Applications
Perspectives
Pistes de recherche
I
Meilleure modélisation statistique
I
Traduction de documents
I
Adaptabilité des systèmes
I
Utilisation de ressources comparables
Les systèmes hiérarchiques
(Chiang, 2005)
Jean donne une balle à Marie
une balle
Jean
Marie
|||
|||
|||
|||
John gives Mary a ball
a ball
John
Mary
Jean donne X1 à Marie
X1 donne une balle à Marie
Jean donne une balle à X1
X1 donne une balle à X2
X1 donne X2 à X3
|||
|||
|||
|||
|||
John gives Mary X1
X1 gives Mary a ball
John gives X1 a ball
X1 gives X2 a ball
X1 gives X2 X3
Les systèmes hiérarchiques
G :
{N ≡ {S, X }, V , S, R, P}

 {X → hδ, γ, ∼i : δ, γ ∈ (N ∪ V )? } 
S → hSX , SX , 1 − 2i
R:


S → hX , X , 1i
Q
P : p(r ≡ X → hδ, γ, ∼i) = i φi (r )λi
Décodage:
Q trad(f ) ≈ argmaxD:yield(D)≡f w (D) où:
w (D) = r ∈D p(r )
Traduction = analyse
Les systèmes hiérarchiques
S → hSX, SXi
S → hX, Xi
X → hJohn, Jeani
X → hsaw X1 with X2 , à vu X1 avec X2 i
X → hthe man, l’hommei
X → hsaw X1 , a vu X1 i
X → hwith a X1 , avec un X1 i X → htelescop, télescopei
S
:hSX, SXi
:hSX1 X2 , SX1 X2 i
:hX1 X2 X3 , X1 X2 X3 i
:hJohn X1 X2 , Jean X1 X2 i
:hJohn saw X1 X2 , Jean a vu X1 X2 i
:hJohn saw the man X1 , Jean a vu l’homme X1 i
:hJohn saw the man with a X1 , Jean a vu l’homme with a X1 i
:hJohn saw the man with a telescope ,
Jean a vu l’homme avec un télescopei
Les systèmes hiérarchiques
S → hSX, SXi
S → hX, Xi
X → hJohn, Jeani
X → hsaw X1 with X2 , à vu X1 avec X2 i
X → hthe man, l’hommei
X → hsaw X1 , a vu X1 i
X → hwith a X1 , avec un X1 i X → htelescop, télescopei
Désambiguı̈sation lexicale
An :
You must make the first move.
Fr :
Tu dois faire le premier pas.
An :
You must first move the car.
Fr :
Tu dois d’abord déplacer la voiture.
Traduction de first move ?
premier pas
d’abord déplacer
Désambiguı̈sation lexicale
An :
Fr :
An :
Fr :
You must make the first move.
PP MD VV DT JJ NN
Tu dois faire le premier pas.
You must first move the car.
PP MD RB VV
DT NN
Tu dois d’abord déplacer la voiture.
Les catégories lexicales permettraient de désambiguı̈ser
Désambiguı̈sation lexicale
An :
Fr :
An :
Fr :
You must make the first move.
PP MD VV DT JJ NN
Tu dois faire le premier pas.
You must first move the car.
PP MD RB VV
DT NN
Tu dois d’abord déplacer la voiture.
Traductions :
moveNN → pas
moveVV → déplacer
Utilisation de morpho-syntaxe
(Schwenk,2007)
Principe
I
I
Étiqueter les textes parallèles avec des informations
morpho-syntaxiques
Enrichir les mots avec les catégories lexicales :
YouP mustV makeV theD firstAdj moveN .
TuP doisV faireV leD premierAdj pasN .
I
I
Construire un système statistique complet sur ce vocabulaire
enrichi
En sortie :
I
I
Suppression des étiquettes
Réutilisation des étiquettes (ML morpho-syntaxique)
Désambiguı̈sation lexicale
(Stroppa et al, 2007; Carpuat et Wu, 2007)
it:
an:
game
gone
partita
C’è una partita di baseball oggi ?
Is there a baseball game today ?
partita di calcio ↔ a soccer game
è partita ↔ she has gone
una partita di Bach ↔ a partita of Bach
Note: problème d’estimation non trivial
Modèle de Traduction Factorisé
(Koehn et al. 2007)
Motivation
I
Seuls sont disponibles les segments du corpus parallèle
d’apprentissage
I
Pas de généralisation lexicale
Exemple
I
La voiture rouge est belle
→ The red car is nice
I
Les vélos rouges sont beaux
→ The red bikes are nice
I
Les voitures rouges sont belles
Traduction de cette phrase sachant les deux autres ?
Modèle de Traduction Factorisé
Principe
I
L’approche actuelle de traduction par syntagmes traite un mot
comme unité
I
Savoir traduire un mot, ne permet pas de traduire son pluriel,
sa conjugaison, ...
: Décomposer les mots en lemme, genre, nombre, ...
I
Traduire ces facteurs séparément
I
Recomposer le mot dans la langue cible à partir de la
traductions des facteurs
I
Processus de génération
Modèle de Traduction Factorisé: Mise en œuvre
source
mots
traduction
traduction
directe
lemme
genre
morpho−syntaxe
traduction
des facteurs