traduction automatique - igmigm.univ-mlv.fr/~mconstan/enseignement/m2/_tal/... · 2009. 11. 3. ·...

46
Traduction automatique M. Constant – Université Paris-Est Marne-la-Vallée 5 octobre 2009

Upload: others

Post on 03-Feb-2021

0 views

Category:

Documents


0 download

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