240 likes | 398 Views
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
E N D
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
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 • 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…
1-best N-best Stratégies d’ intégration en TA de parole 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/
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 2XXXX BLEU score = 0.4429 3XXXX BLEU score = 0.4092 4XXXX BLEU score = 0.3942 5XXXX BLEU score = 0.3908 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