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