De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

24
© 2002 IBM Corporation De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole Laurent Besacier LIG/GETALP Université J. Fourier (Grenoble I)

description

De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole. Laurent Besacier LIG/GETALP Université J. Fourier (Grenoble I). Unités sous-lexicales. Idée directrice - PowerPoint PPT Presentation

Transcript of De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Page 1: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

© 2002 IBM Corporation

De l’utilisation d’unités sous-lexicales pour la traduction

automatique de parole

Laurent BesacierLIG/GETALPUniversité J. Fourier (Grenoble I)

Page 2: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier2

Unités sous-lexicales

• Idée directrice

• utilisation d’unités sous-lexicales pour pre-traiter les données textuelles préalablement à l’obtention de modèles de langage ou de modèles de traduction

• Pre-traitement de données

• Servant à l’apprentissage des modèles• Issues du système de reconnaissance automatique de la parole

(TA de parole)

• Cet exposé reprend quelques travaux déjà publiés

• Agglomération non supervisée d’unités pour la traduction de parole (TAP) irakien-anglais

• Décomposition de graphes de mots pour la TAP arabe-anglais

Page 3: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier3

I) Agglomération non supervisée d’unités pour la traduction de parole irakien-

anglais

Page 4: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier4

Segmentation

• Problème commun à l’analyse de données pour de multiples modalités (séquences de gênes, séries temporelles, chaînes orthographiques)

• Segmenter un mot en unités sous-lexicales

• Ou agglomérer des graphèmes (or phonèmes) en des unités plus grosses…

• Pour quoi faire ?

• Obtenir un vocabulaire d’unités pour différentes tâches : traduction automatique, reconnaissance automatique de la parole, modélisation statistique du language

• Intérêt pour les langues agglutinantes ou à riche morphologie

• Exemple de l’arabe : utilisation d’affixes

• Implication pour la RAP ou la TA : importants taux de mots hors vocabulaire (+ augmentation de la perplexité)

• Et aussi…

• Découvrir des frontières de mots pour des langues sans séparateurs

Page 5: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier5

Exemple de l’arabe

Emprunté à [Kirchhoff 2002]

Page 6: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier6

Segmentation non supervisée

• A partir des données brutes• Pas de dictionnaire initial

• Pas de corpus d’apprentissage

• Intéressant si on ne dispose pas d’experts de la langue traitée

• C. DeMarcken, Unsupervised Lang. Acquisition. PhD, MIT, 1996.• Découverte de mots à partir d’un flux de phonèmes

• M. R. Brent, “An efficient, probabilistically sound algorithm for segmentation and word discovery”. Machine Learning, 34 (1999).

• J. Goldsmith, “Unsupervised learning of the morphology of a natural language”. Computational Linguistics, 27(01), pp153–198.

• Méthodes « locales » de segmentation

• M. Creutz, K. Lagus, “Induction of a Simple Morphology for Highly-Inflecting Languages”. In Proceedings of the 7th Meeting of the ACL Special Interest Group in Computational Phonology (SIGPHON), Barcelona, 26 July 2005, pages 43-51.

• A partir d’une liste de mots (Morfessor)

Page 7: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier7

Segmentation non supervisée

• Exemple : Z. Harris, “From phoneme to morpheme”.

• “The number of distinct phonemes that are possible successors of the preceding string reduces rapidly with the length of that string unless a morph boundary is crossed”

• Ex. Pour l’allemand verkhers (de [Pellegrini & Lamel, 2006])

k prefix #words #succ1 V 29k 242 Ve 17k 233 Ver 16k 284 Verk 1.7k 115 Verke 1k 66 Verkeh 0.99k 27 Verkher 0.98k 128 Verkhers 0.95k 29

Page 8: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier8

Segmentation non supervisée

• Algo. D’Harris pas toujours efficace• =>Critère simple d’information mutuelle

k prefix MI1 A -0.552 Al -1.143 All -0.894 AllA -1.455 AllAE -1.486 AllAEb -1.507 AllAEby -0.728 AllAEbyn -0.93

)()(

),(log),( 2 yPxP

yxPyxMI

Page 9: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier9

Segmentation non supervisée

• Une segmentation “locale” n’est pas suffisante• Elle peut cependant servir à initialiser un algorithme itératif• Ajout d’autres informations :

• Utiliser les frontières de mots disponibles en début / fin de phrases

• Utiliser les fréquences des mots : après une première segmentation, les mots les plus fréquents sont probablement corrects tandis que les moins fréquents peuvent correspondre à des erreurs de segmentation

• Segmentation globale d’une phrase avec l’algorithme de Viterbi

Page 10: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier10

Segmentation non supervisée

• ALGORITHME :

• -0- initialisation: obtenir une première segmentation avec un algorithme local (type seuillage de l’information mutuelle)

• -1- obtention d’un vocabulaire et d’un ML: • construire un vocabulaire des 1000 mots les plus fréquents (sur la dernière version

segmentée du corpus) ;

• ajouter dans le corpus des marques de frontières de mots autour des suites de caractères qui correspondent à un mot appartenant au vocabulaire courant

• Entrainer un modèle de langage n-gramme de caractères à partir de ces données

• -2- décodage: pour chaque phrase non segmentée (brute), inférer la segmentation la plus probable en utilisant le modèle de langage obtenu précédemment

• -3- retour à l’étape 1

Page 11: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier11

Segmentation non supervisée

• Performance après 3 itérations… à partir de données brutes (séquences de phonèmes ou pseudo-phonèmes)…

• Arabe dialectal : 55.2% taux de mots corrects• Anglais : 57.4% taux de mots corrects

Exemple (“how long will the operation last”)

REF: HH_AW1 L_AO1_NG W_IH1_L DH_AH0 AA2_P_ER0_EY1_SH_AH0_N L_AE1_S_T

HYP: ****** HH_AW1_L_AO1_NG W_IH1_L DH_AH0 AA2_P_ER0_EY1_SH_AH0_N L_AE1_S_T

• Pour l’arabe, l’algorithme opère parfois une analyse morphologique • HM L HM AN M AL2 L (AlAEmAl) => HM_L <space> HM_AN_M_AL2_L

Page 12: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier12

Mots versus Phonèmes

• Mots

mwklc zynzynrjA AEyd hA

Foreign data

not too goodokayplease repeat it….

English data

LM(e)

LM(f)

TM(e/f)

mwklc zynzynrjA AEyd hA

Foreign data

not too goodokayplease repeat it….

English data

not too goodokayplease repeat it….

English data

LM(e)

LM(f)

TM(e/f)

• Phonèmes

M W K L SH Z J NZ J NR G AL2 HM AL2 AN J

D HH AL2…

M_W K_L_SH Z_J_NZ_J_NR_G_AL2_HM AL2_AN

J_D HH_AL2…

Foreign data

not too goodokayplease repeat it….

English data

Preprocessed f. data

Word discovery

LM(e)

LM(f)

TM(e/f)

M W K L SH Z J NZ J NR G AL2 HM AL2 AN J

D HH AL2…

M_W K_L_SH Z_J_NZ_J_NR_G_AL2_HM AL2_AN

J_D HH_AL2…

Foreign data

not too goodokayplease repeat it….

English data

not too goodokayplease repeat it….

English data

Preprocessed f. data

Word discovery

LM(e)

LM(f)

TM(e/f)

Taille vocabulaire : 43k Taille vocabulaire : 36k

Est-il possible de construire un système de traduction de parole à partir d’un corpus parallèle composé de symboles phonétiques (ou graphémiques) et

de leur traduction en anglais ?

Page 13: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier13

Résultats expérimentaux• RAP : Irakien

• TA (BLEU verbatim) : Irakien=>Anglais

• MT(BLEU RAP) : Irakien=>Anglais

• Evaluation Humaine (décisions binaires : correct/incorrect)

•Baseline 58% correct / Phone-based 54% correct

•64% des phrases jugées correctes par au moins une approche

System %WER %PER Baseline 24.8 11.8

Phone-based X 15.1

System Test Set 1 Test Set 2 Test Set 3 Baseline 0.49296 0.37316 0.36387

Phone-based 0.47440 0.34559 0.30475

System Test Set 1 Test Set 2 Test Set 3

Baseline 0.43583 0.31007 0.31486 Phone-based 0.45178 0.28640 0.23677

Page 14: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier14

Méthode hybride

• Garder les 2k mots les plus fréquents

• Garder les séquences phonétiques sur le reste des données

• Vocabulaire RAP : 2k seulement (en gardant potentiellement la même couverture pour la traduction vers l’anglais)

mwklc zynzynrjA AL2 AN J D hA

Foreign data

not too goodokayplease repeat it….

English data

not too goodokayplease repeat it….

English data

LM(e)

LM(f)

TM(e/f)

System Test Set 1 Test Set 2 Test Set 3 Baseline 0.43583 0.31007 0.31486

Phone-based 0.45178 0.28640 0.23677 Hybrid 0.46064 0.30414 0.25522

Page 15: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier15

II) Décomposition de graphes de mots pour la TAP arabe-anglais

(en collaboration avec Viet-Bac Le)

Page 16: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier16

Problème

• L’utilisation d’unités sous-lexicales dans un système de traduction de parole nécessite une cohérence entre les unités sous-lexicales obtenues en sortie du système de reconnaissance automatique de la parole, et celles attendues par le système de traduction automatique…

Page 17: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier17

Stratégies d’ intégration en TA de parole

1-best N-best

Treillis

Page 18: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier18

Treillis et réseaux de confusion

Lattice-tool

Page 19: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier19

Décomposition de treillis de mots en treillis d’unités sous-lexicales

• Exemple des évaluations IWSLT07• Treillis d’hypothèses de reconnaissance fournis par les

organisateurs • Aucune connaissance sur le système de reconnaissance

automatique de la parole utilisé (vocabulaire, décomposition morphologique ou pas)

• Besoin de rendre les treillis « compatibles » avec le modèle de traduction développé

• Décomposition de treillis en unités sous-lexicales

Page 20: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier20

1 possibilité : utiliser SRI-LM (lattice-tool)

• Exemple : CANNOT segmenté en CAN et NOT

• option -split-multiwords de lattice-tool• Le premier arc garde toute

l’information

• Les nouveaux arcs ont des scores nuls et une durée nulle

Page 21: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier21

Algorithme proposé (1)

• Identifier les arcs “décomposables” du graphe • Chaque arc est decomposé en un nombre d’arcs correspondant

au nombre d’unités sous-lexicales composant le mot initial• Les temps de début et de fin sont modifiés en fonction du nombre

de graphèmes de chaque unité sous lexicale• Même chose pour les scores acoustiques• Le premier arc correspondant à la première unité sous-lexicale

d’un mot décomposé conserve le score total du modèle de langage (les scores ML suivants sont mis à 0)

• Disponible sur http://www-clips.imag.fr/geod/User/viet-bac.le/outils/

Page 22: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier22

Algorithme proposé (2)

Page 23: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier23

Resultats (IWSLT06)

• Système développé avec Moses• Voir http://www-clips.imag.fr/geod/User/laurent.besacier/NEW-TPs/TP-Parole/tp4.html

• “Recettes” pour la construction rapide d’un système de traduction automatique statistique fondé sur les sequences (phrase-based translation)

• Moses permet d’utiliser des réseaux de confusion à l’interface entre le système de RAP et le système de TA • Le réseaux de confusion est obtenu après la décomposition du treillis en unités sous-

lexicales

(1) verbatim

(2) 1-best

(3) cons-dec

(4) full-cn-dec

dev06 0.2948 0.2469 0.2486 0.2779 tst06 0.2271 0.1991 0.2009 0.2253

Page 24: De l’utilisation d’unités sous-lexicales pour la traduction automatique de parole

Laurent Besacier24

Resultats (IWSLT07)

clean verbatim

ASR 1-best

ASR full-cn-dec

Eva07 0.4135 0.3644 0.3804

AE ASR1XXXX BLEU score = 0.44452XXXX BLEU score = 0.44293XXXX BLEU score = 0.40924XXXX BLEU score = 0.39425XXXX BLEU score = 0.39086LIG_AE_ASR_primary_01 BLEU score = 0.38047XXXX BLEU score = 0.37568XXXX BLEU score = 0.36799XXXX BLEU score = 0.364410XXXX BLEU score = 0.362611XXXX BLEU score = 0.1420