© 2002 IBM Corporation
De l’utilisation d’unités sous-lexicales pour la traduction
automatique de parole
Laurent BesacierLIG/GETALPUniversité J. Fourier (Grenoble I)
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
Laurent Besacier3
I) Agglomération non supervisée d’unités pour la traduction de parole irakien-
anglais
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
Laurent Besacier5
Exemple de l’arabe
Emprunté à [Kirchhoff 2002]
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)
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
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
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
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
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
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 ?
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
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
Laurent Besacier15
II) Décomposition de graphes de mots pour la TAP arabe-anglais
(en collaboration avec Viet-Bac Le)
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…
Laurent Besacier17
Stratégies d’ intégration en TA de parole
1-best N-best
Treillis
Laurent Besacier18
Treillis et réseaux de confusion
Lattice-tool
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
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
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/
Laurent Besacier22
Algorithme proposé (2)
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
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