Laurent Besacier LIG/GETALP Université J. Fourier (Grenoble I) 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 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
I) Agglomération non supervisée d’unités pour la traduction de parole irakien-anglais
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
Emprunté à [Kirchhoff 2002] Exemple de l’arabe Emprunté à [Kirchhoff 2002]
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)
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 #succ 1 V 29k 24 2 Ve 17k 23 3 Ver 16k 28 4 Verk 1.7k 11 5 Verke 1k 6 6 Verkeh 0.99k 2 7 Verkher 0.98k 12 8 Verkhers 0.95k 29
Segmentation non supervisée Algo. D’Harris pas toujours efficace =>Critère simple d’information mutuelle k prefix MI 1 A -0.55 2 Al -1.14 3 All -0.89 4 AllA -1.45 5 AllAE -1.48 6 AllAEb -1.50 7 AllAEby -0.72 8 AllAEbyn -0.93
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
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
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
Mots versus Phonèmes Mots Phonèmes Taille vocabulaire : 43k 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 ? Mots Phonèmes Taille vocabulaire : 43k Taille vocabulaire : 36k
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
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)
II) Décomposition de graphes de mots pour la TAP arabe-anglais (en collaboration avec Viet-Bac Le)
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…
Stratégies d’ intégration en TA de parole 1-best N-best Treillis
Treillis et réseaux de confusion Lattice-tool
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
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
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/
Algorithme proposé (2)
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
Resultats (IWSLT07) AE ASR 1XXXX BLEU score = 0.4445 6LIG_AE_ASR_primary_01 BLEU score = 0.3804 7XXXX BLEU score = 0.3756 8XXXX BLEU score = 0.3679 9XXXX BLEU score = 0.3644 10XXXX BLEU score = 0.3626 11XXXX BLEU score = 0.1420