traduction automatique - igmigm.univ-mlv.fr/~mconstan/enseignement/m2/_tal/... · 2009. 11. 3. ·...
TRANSCRIPT
-
Traduction automatique
M. Constant – Université Paris-Est Marne-la-Vallée
5 octobre 2009
-
Introduction Traduction statistique Alignement
Outline
IntroductionProblèmesDifférentes approchesEvaluation
Traduction automatique statistiqueModélisationExemple de modèle de traduction basé sur les séquences
Alignement mot à motModèle par heuristiques
-
Introduction Traduction statistique Alignement
Références du cours
Daniel Jurafsky and James H. Martin, 2007, An introduction tonatural language processing, computational linguistics and speechrecognition
Christopher D. Manning and Hinrich Schütze, 1999, Foundationsof Statistical Natural Language Processing, MassachussettsInsititute of Technology
Ruslan Mitkov, 2003, The Oxford Handbook of ComputationalLinguistics, Oxford University Press
-
Introduction Traduction statistique Alignement
Motivation
Objectif
Traduire un texte d’une langue source dans une langue cibleautomatiquement.
Exemple
◮ Anglais : The poor don’t have any money.◮ Français : Les pauvres sont démunis.
-
Introduction Traduction statistique Alignement
Plan
IntroductionProblèmesDifférentes approchesEvaluation
Traduction automatique statistiqueModélisationExemple de modèle de traduction basé sur les séquences
Alignement mot à motModèle par heuristiques
-
Introduction Traduction statistique Alignement
Problèmes
Ambiguïté de la langue source
◮ Ambiguïté grammaticale◮ Ambiguïté syntaxique◮ Ambiguïté sémantique◮ Ambiguïté de référence des pronoms◮ ...
-
Introduction Traduction statistique Alignement
AmbiguïtéMots
Ambiguïté grammaticale
◮ Exemple 1 : light est soit un nom (lumière), soit un verbe(allumer), soit un adjectif (clair ou léger)
◮ Exemple 2 : light est soit un nom (visage), soit un verbe(affronter)
Ambiguïté sémantique
◮ Exemple 1 : voler → fly ou steal◮ Exemple 2 : bank → banque ou berge
-
Introduction Traduction statistique Alignement
AmbiguïtésSyntaxe
Portée des modifieurs avec coordinationold men and women peut se traduire par :
◮ vieux et vieilles
◮ vieux et femmes
Rattachement des constituants syntaxiques
a. La voiture est conduite par un enseignant à grande vitesse.
b. La voiture est conduite par un enseignant aux cheveux roux.
=> Une solution : traduire en gardant l’ambiguïté
-
Introduction Traduction statistique Alignement
AmbiguïtésDistinctions entre langues sources et cible
Distinctions sémantiques
◮ river → fleuve ou rivière◮ wall → mur ou paroi
Structures syntaxiques
◮ NP know (NP+that S)
◮ NP sait (que S+*NP) ; NP connaître (NP+*que P)
-
Introduction Traduction statistique Alignement
Autres
Structures
The student is likely to work
= Il est probable que l’etudiant travaillera
Anaphores
The soldiers killed the women. They were buried the next day.
= Les soldats ont tué les femmes. Elles (*Ils) furent enterrées lejour suivant.
-
Introduction Traduction statistique Alignement
Plan
IntroductionProblèmesDifférentes approchesEvaluation
Traduction automatique statistiqueModélisationExemple de modèle de traduction basé sur les séquences
Alignement mot à motModèle par heuristiques
-
Introduction Traduction statistique Alignement
Trois approches
Approche Interlangue
1. Représentation syntactico-sémantique interlangue du textesource
2. Génération du texte cible en partant de la représentation
Approche par transfert
1. Analyse lexicale et syntaxique du texte source
2. Transfert des structures et des traductions lexicales enlangue cible
-
Introduction Traduction statistique Alignement
Trois approches (suite)
Approche directe
1. Traduction mot à mot du texte source vers le texte cible
2. Modification de l’ordre des mots traduits dans le texte cible
-
Introduction Traduction statistique Alignement
Approche par transfertTypes de transferts
Transfert lexical
◮ Exemple : car.Noun ↔ voiture.Noun◮ Besoins : dictionnaires bilingues
Transfert de structures
◮ Exemple : the Adj Noun ↔ le Noun Adj+d◮ Besoins : analyseur syntaxique et formalisme de transfert
(ex. transducteurs d’arbres)
-
Introduction Traduction statistique Alignement
Approche par transfertTypes de transferts (suite)
Transfert lexico-syntaxique
◮ Exemple : NP consist of NP ↔ NP consister en NP◮ Besoins : idem que pour les transferts structures +
lexiques syntaxiques
-
Introduction Traduction statistique Alignement
Approche directe
SourceAnalyse
morphologiqueCible
Transfertlexical
Ordredes mots
Générationmorphologique
Exemple
Entrée : Mary didn’t slap the green witchEtape 1 : Morphologie Mary DO-PAST not slap the green witchEtape 2 : Transfert lexical Maria PAST no dar una bofetada a la verde brujaEtape 3 : Ordre des mots Maria no PAST dar una bofetada a la bruja verdeEtape 4 : Morphologie Maria no dió una bofetada a la bruja verde
-
Introduction Traduction statistique Alignement
Les systèmes industrielsCaractéristiques
Systèmes de traduction par transfert
Utilisation historique d’approches symboliques
◮ Basées sur des règles et des ressources lexicalesbilingues fines
◮ Facilement adaptables à différentes paires de langues
Intégration récente de modèles probabilistes
◮ Puissance croissante des ordinateurs◮ Disponibilité de corpus bilingues
-
Introduction Traduction statistique Alignement
Les systèmes industrielsSystème Systran
Phase d’analyse
◮ Analyse morphologique et étiquetage grammatical◮ Analyse en chunks◮ Analyse syntaxique en dépendance
Phase de transfert
◮ Traduction des expressions idiomatiques◮ Levée d’ambiguité sémantique◮ Affection de prépositions en fonction des verbes
-
Introduction Traduction statistique Alignement
Les systèmes industrielsSystème Systran (suite)
Phase de synthèse
◮ Application d’un dictionnaire bilingue riche pour latraduction lexicale
◮ Traitement de l’ordre des mots◮ Génération morphologique
-
Introduction Traduction statistique Alignement
Evaluation
Comment mesurer la qualité d’un traducteur automatique ?
Evaluation par des humains
+ Très bonne qualité
- Coût en temps très important
Evaluation automatique
+ Rapide pour comparer les systèmes
- Qualité pas toujours à la hauteur
-
Introduction Traduction statistique Alignement
EvaluationEvaluation humaine
Fluency : clarity, naturalness, style
◮ Donner des scores : clair ? naturel ? bon style ?◮ Mesurer le temps de lecture par un humain des traductions◮ Deviner des mots supprimés dans la traduction du
système (tâche cloze)
Fidélité de la traduction
◮ Donner des scores : fidèle au texte source ? à la traductionde référence ?
◮ Calculer le coût de post-édition en une bonne traduction
-
Introduction Traduction statistique Alignement
EvaluationEvaluation automatique : BLEU
Corpus de test
◮ Une ou plusieurs traductions de référence faites par deshumains pour chaque texte
◮ Construction coûteuse... mais réutilisable
Métrique BLEU (Papienni et al., 2002)
◮ Moyenne du nombre de n-grammes qui recouvrent le textetraduit par les humains
◮ Méthode assez intuitive
-
Introduction Traduction statistique Alignement
EvaluationBLEU : exemple (Papienni et al., 2002)
Deux traductions candidates pour un texte chinois avec troi straductions de référence.
Cand. 1 : It is a guide to action which ensures thatthe military always obeys the commands of the party.
Cand. 2 : It is to insure the troups hearing the activityguidebook that party direct.
Ref. 1 : It is a guide to action that ensures that the militarywill forever heed Party commands.
Ref. 2 : It is the guiding principle which guarantees themilitary forces always being under the command of the Party.
Ref. 3 : It is the practical for the army always to heed thedirections of the party.
-
Introduction Traduction statistique Alignement
EvaluationBLEU : exemple (Papienni et al., 2002)
Deux traductions candidates pour un texte chinois avec troi straductions de référence.
Cand. 1 : It is a guide to action which ensures that the military
always obeys the commands of the party .
Cand. 2 : It is to insure the troups hearing the activityguidebook that party direct.
Ref. 1 : It is a guide to action that ensures that the military
will forever heed Party commands .Ref. 2 : It is the guiding principle which guarantees the
military forces always being under the command of the party .
Ref. 3 : It is the practical for the army always to heed the
directions of the party .
-
Introduction Traduction statistique Alignement
EvaluationBLEU : remarques
Limitations
◮ Utilisation d’informations locales dans les textes◮ Peu pertinent pour comparer des systèmes avec
architectures très différentes
Quand utiliser des métriques automatiques ?
◮ Evaluer des changements incrémentaux d’un mêmesystème
◮ Comparer des systèmes avec des architectures similaires
-
Introduction Traduction statistique Alignement
Traduction automatique statistiqueModélisation
Objectif
Etant donné une phrase F dans une langue source (ex.français, espagnol), le but est de trouver une phrase Ê enlangue cible (ex. anglais) qui maximise la probabilitéconditionnelle d’avoir une phrase E en langue cible.
Formule
Ê = argmaxE P(E |F)= argmaxE
P(F |E).P(E)P(F) (Formule de Bayes)
= argmaxE P(F |E).P(E)
-
Introduction Traduction statistique Alignement
Traduction automatique statistiqueComposants
Un modèle de traduction automatique statistique nécessite troiscomposants
◮ Un modèle de langage qui calcule P(E)◮ Un modèle de traduction qui calcule P(F|E)◮ Un décodeur qui prend une phrase F et produit la phrase la
plus probable E.
-
Introduction Traduction statistique Alignement
Traduction automatique statistiqueDifférents modèles pour P(F|E)
Modèle basé sur les mots
◮ Calculer des probabilités de traductions des mots◮ Calculer des probabilités de déplacement des mots en
langue cible
Modèle basé sur les séquences de mots
idem mais pour les séquences de mots
Modèle fondé sur la syntaxe
◮ Mise en parallèle de structures d’arbres syntaxiques◮ Modèle mathématique : grammaire transductive
-
Introduction Traduction statistique Alignement
Modèle basé sur les séquences de motsPrincipe
Séquence de mots = unité fondamentale de traduction
On utilise une table de traduction de séquences.Par exemple, trad["green witch"]=[("bruja verde",0.86),...]
Génération de la traductionPour chaque phrase E = e1e2....en,
1. on regroupe les mots en séquences (E = ē1ē2...ēI)
2. on traduit chaque séquence ēi en une séquence f̄j3. on change, si besoin, l’ordre des mots dans F
-
Introduction Traduction statistique Alignement
Modèle basé sur les séquences de motsExemples
Anglais-Espagnol
Mary did not slap the green witch
Maria no dió una bofetada a la bruja verde
Anglais-Allemand
The green witch is at home this week
Diese Woche ist die grüne Hexe zu Hause
-
Introduction Traduction statistique Alignement
Modèle basé sur les séquencesComposants du modèle de traduction
Probabilité de traduction φ(f̄|ē)
◮ Probabilité de générer f̄ à partir de ē◮ Exemple : φ(green witch|bruja verde)=0.86
Probabilité de distorsion d(n)
◮ Probabilité que les traductions de deux séquencesconsécutives de mots soient distantes de n dans la phrasegénérée
◮ Distance calculée en nombre de mots
-
Introduction Traduction statistique Alignement
Modèle basé sur les séquencesFormule
Définition
◮ ai est la position du premier mot de la traduction de ēi◮ bi est la position du dernier mot de la traduction de ēi
Probabilité P(F|E)
P(F |E) = ∏Ii=1 φ(̄fi , ēi).d(ai −bi−1)
-
Introduction Traduction statistique Alignement
Modèle basé sur les séquencesExemple de calcul
Exemple
Anglais The green witch is at home this week
Allemand (direct) die grüne Hexe ist zu Hause Diese Woche
Allemand Diese Woche ist die grüne Hexe zu Hause
Calcul de la probabilité P(F|E)
P(F|E)=φ(die grüne Hexe|The green witch) * d(4) * φ(ist |is) *d(-1) * φ(zu Hause|at home) * d(4) * φ(Diese Woche|this week)* d(-7)
-
Introduction Traduction statistique Alignement
Modèle basé sur les séquencesApprentissage
Idéalement
◮ Utilisation d’un corpus bilingue aligné par séquences demots
◮ L’estimation des probabilités est alors directe :
φ(̄f , ē) = count (̄f ,ē)∑ḡ count(ḡ,ē)
Dans la réalité
◮ Un tel corpus n’existe pas !◮ Extraction automatique des alignements par séquences à
partir de l’alignement automatique par mots
-
Introduction Traduction statistique Alignement
Modèle basé sur les séquencesDécodage
En pratique
Ê=argmaxE∈LanguecibleP(F |E).P(E).ωtaille(E)
Solutions
◮ Parcourir l’ensemble des solutions est extrêmementcouteux
◮ Utilisation d’heuristiques (utilisation d’une pile dedécodage)
◮ Parcours d’un automate acyclique donnant toutes lespossibilités de traductions
-
Introduction Traduction statistique Alignement
Alignement mot à motPrincipe
Corpus parallèle
◮ Un ensemble de couples de textes tel que, pour chaquecouple, un des textes est la traduction de l’autre.
◮ Exemples : Europarl, Hansard
Alignement au mot
Mise en correspondance des mots en langue source avec lesmots en langue cible dans un ensemble de phrases parallèles
-
Introduction Traduction statistique Alignement
Alignement mot à motExemple anglais → français
And the
Le
program
programme
has
a
been
été
implemented
mis en application
-
Introduction Traduction statistique Alignement
Alignement mot à motObtention d’un corpus paralèle aligné
1. Découper le corpus en phrases
2. Aligner les textes par phrases (alignements N-M possibles)
3. Tokenisation des phrases
4. Pour les couples de phrases alignées, alignement au mot(puis aux séquences, si nécessaire).
-
Introduction Traduction statistique Alignement
Alignement mot à motContraintes pour l’alignement automatique
Alignement N-1
Chaque mot dans la phrase cible ne doit être aligné qu’avec unseul mot dans la phrase source.
Mots videsUn mot de la phrase cible peut ne pas avoir de correspondantdans la phrase source. On suppose l’existence d’un mot videen langue source aligné avec de tels mots.
-
Introduction Traduction statistique Alignement
Alignement mot à motExemple français → anglais
The balance was the territory of the aboriginal people
Le reste appartenait aux autochtones
-
Introduction Traduction statistique Alignement
Alignement mot à motExemple anglais → espagnol
-
Introduction Traduction statistique Alignement
Alignement mot à motAlignement=une suite
Un alignement A est une suite
A chaque position j dans la phrase cible, on associe uneposition Aj dans la phrase source.
Exemples
◮ français → anglais : A=1,3,3,3,3,4,4,5,5◮ anglais → espagnol : A=1,3,4,4,4,0,5,7,6
-
Introduction Traduction statistique Alignement
Modèle par heuristiquesPrincipe
Fonction de similarité
◮ Utilisation d’une fonction de similarité entre les motssource et cible
◮ Basée sur la cooccurrence de ces deux mots dans desphrases alignées
Evaluation
◮ Résultats moins bons que des modèles probabilistes◮ Temps d’apprentissage tout à fait raisonnables !
-
Introduction Traduction statistique Alignement
Modèle par heuristiquesApprentissage
Notations
◮ e et f des mots respectivement en langue source et cible◮ C(e,f ) : le nombre de fois que e et f apparaissent ensemble
dans une paire de phrases alignées◮ C(e) [resp. C(f )] le nombre d’occurences de e [resp. f ] dans
le corpus en langue source (resp. cible)
Coefficient de Dice
dice(e, f ) = 2.C(e,f )C(e)+C(f )
-
Introduction Traduction statistique Alignement
Modèle par heuristiquesDécodage
Matrice de similarité
◮ Construction d’une matrice de similarité M pour chaquepaire de phrases à aligner
◮ A chaque paire de mots (ei ,fj) des deux phrases alignées,M(i,j) = dice(ei ,ej )
Différentes heuristiques
◮ Recherche du maximum◮ Competitive linking algorithm
-
Introduction Traduction statistique Alignement
Modèle par heuristiquesDécodage (suite)
Recherche du maximumPour chaque position j dans la phrase cible, aj correspondra àla position i dans la phrase source, qui maximise M(i,j).
Competitive linking algorithm
1. Aligner la paire de mots (i,j) qui maximise M(i,j)
2. Supprimer la ligne i et la colonne j de la matrice M
3. S’il reste des mots à aligner, aller à 0.
IntroductionProblèmesDifférentes approchesEvaluation
Traduction automatique statistiqueModélisationExemple de modèle de traduction basé sur les séquences
Alignement mot à motModèle par heuristiques