1. Introduction générale 2. Ingénierie des langues – – – • • • 2.3.1 Dictionnaires et étiquetage de surface 2.3.2 Re-ponctuation et recapitalisation de textes 2.3.3 Traduction automatique statistique 3. Ingénierie de la parole – – – – – x : suite de vecteurs acoustiques wi : mot ou phonème 2.1 Représentation et codage des textes 2.2 Théorie de l’information et probabilités 2.3 Quelques applications du traitement automatique du langage naturel 3.1 Rappels de traitement numérique du signal 3.2 Le signal de parole : analyse, unités pertinentes et variabilité 3.3 Codage et compression de la parole 3.4 Reconnaissance automatique de la parole 3.5 Synthèse de la parole = = ! x : suite de vecteurs acoustiques wi : mot ou phonème Petits lexiques : – Représentation globale : un modèle dédié à chaque mot du vocabulaire Grands lexiques : = = – Les mots sont représentés par une suite d’unités élémentaires (phonèmes) ! # $ ! Inconvénients – Petits vocabulaires – Difficilement modifiable – Base de données importante et spécifique pour l’apprentissage. – Pour l’apprentissage des modèles, il faut disposer d’une base de données contenant plusieurs prononciations de chaque mot à reconnaître En général, associé à des systèmes simples ou à des applications type « word spotting » ! & % Couper les mots en morceaux : – préfixes, racines, ….. Décomposer les mots en syllabes – nombre important Décomposer les mots en phonèmes – une trentaine pour le français Attention à la coarticulation Phonétisation du lexique – plusieurs phonétisations pour un même mot Un mot devient une suite de modèles acoustiques – un par phonème : modélisation hors contexte – plusieurs par phonème : modélisation contextuelle • contexte droit ou gauche • contexte droit et gauche – Représenter un mot par une suite de phonèmes en contexte " ! & ! ($ & Apprentissage des modèles (phonèmes) indépendamment des mots à reconnaître Ajouter un mot : – le phonétiser – mettre la liste des phonèmes dans le lexique Nombre important de noeuds Pas de frontières entre les mots Construire à partir des listes de phonèmes un arbre a tête commune de tous les mots : Exemple : – lexique • A=abc • B=abd • C=ae Soit une production vocale : – on ne connaît pas le nombre de mots prononcés par le locuteur – on ne sait pas où chaque mot commence et finit ' * $ % ) x : suite de vecteurs acoustiques wi : mot ou phonème But : associer une probabilité à toute suite de mots et participer aux choix des candidats pour la suite de la phrase à reconnaître Deux approches possibles : – l ’une issue de la théorie de l ’information = = – l ’autre faisant appel à des connaissances linguistiques et grammaticales , % % - Une distribution de probabilités associée à une séquence de mots P(“And nothing but the truth”) ≈ 0.001 P(“And nuts sing on the roof”) ≈ 0 ! & P(X) signifie “probabilité que X soit vrai” – P(baby is a boy) ≈ 0.5 (% of total that are boys) – P(baby is named John) ≈ 0.001 (% of total named John) . $/ $ / . $ 0 & + ! & ! P(X, Y) signifie “probabilité que X et Y soient vrais tous les deux” P(X|Y) signifie “probabilité que X soit vrai quand on sait déjà que Y est vrai” – P(baby is named John | baby is a boy) ≈ 0.002 – P(baby is a boy | baby is named John ) ≈ 1 – e.g. P(brown eyes, boy) . $/ $ / 0 & ! . $ . 2 . $ 0 & ! P(X|Y) = P(X, Y) / P(Y) – P(baby is named John | baby is a boy) = P(baby is named John, baby is a boy) / P(baby is a boy) = 0.001 / 0.5 = 0.002 0 & . $/ $ / / & . $/ $ / & . $ & Règle de Bayes : P(X|Y) = P(Y|X) × P(X) / P(Y) P(named John | boy) = P(boy | named John) × P(named John) / P(boy) . $/ $ / . $ 0 & 1 4 & & Difficile de calculer : P(“And nothing but the truth”) => Decomposer la probabilité P(“And nothing but the truth) = P(“And”) ×P(“nothing|and”) × P(“but|and nothing”) × P(“the|and nothing but”) × P(“truth|and nothing but the”) Estimer la probabilité d ’un mot ou d ’une séquence de mots W=w1w2…wn En général, on peut calculer la probabilité d’une séquence de mots avec la formule : = " 6 6 =∏ = 5 6 6 − – impossibles à estimer – impossibles à stocker & & " ' En pratique, on utilisera un modèle bigramme : =∏ ou trigramme : 6 En pratique, ces probabilités sont : = =∏ = − −" 6 − On utilise un grand corpus des données (le corpus d’entraînement) pour calculer les fréquences d ’unigrammes, bigrammes et trigrammes : 6 " = "' ' ' Exemple : calculer un ML (uni- et bigramme) sur la phrase suivante : « Pour trouver la bonne orthographe et la bonne syntaxe, le logiciel de reconnaissance vocal effectue en permanence des analyses de contexte des mots que vous dictez » " 3 & ) & + Réponse : nombre de mots différents : 22 unigrammes – (pour, trouver, orthographe, et, syntaxe, le, logiciel, reconnaissance, vocal, effectue, en, permanence, analyses, contexte, mots, que, vous, dictez) p=0.038 (1/26) – (la, bonne, de, des) p=0.077 (2/26) Au lieu de compter les mots, on peut utiliser un analyseur syntaxique ou faire une caractérisation grammaticale des mots, puis compter les classes (article, adjectif, verbe, nom…) bigrammes : ….26 bigrammes equiprobables & 1 « Pour trouver la bonne orthographe et la bonne syntaxe, le logiciel de reconnaissance vocal effectue en permanence des analyses de contexte des mots que vous dictez » « prep. verbe article adj. nom conj article adj. nom, article nom prep. nom adj. verbe prep. nom article nom prep nom prep nom conj. pronom verbe » uni-classes : – prep:0.19 (5) ; verbe:0.12 (3) ; article:0.15 (4) ; adj:0.12 (3) ; nom:0.31 (8) ; conj:0.08 (2) ; pronom:0.04 (1) # Modèles stochastiques limités par le mémoire de quelques mots (3, 4, 5 au maximum…) La grammaire permet d ’imposer des contraintes au niveau d ’une phrase (règles) Nouveau problème : quelle grammaire pour un discours oral (sans véritable structure classique, comme dans un discours écrit) ? bi-classes : – article-verbe: 0 !!! (ça n ’arrive pas…) – article-nom : ça arrive + souvent – ... 7 9: % Perplexité x : suite de vecteurs acoustiques wi : mot ou phonème – soit une séquence de mots W=w1w2…wn =[ – on utilise souvent : 6 =− " 6 6 ]− 6 = " 6 6 − Taux de reconnaissance du système de RAP = = – Problème d ’évaluation des systèmes… – Nécessité d ’avoir un même système de décodage acoustico-phonétique pour évaluer différents modèles de langage (impossible…) ; ; < 8 =< > !(< http://wwwclips.imag.fr/geod/User/laurent.besacier/ NEW-TPs/TP-CL/tp8.html Les meilleurs systèmes obtiennent* – ~10-12% de taux d’erreur de mots pour l’anglais sur des documents de journaux télévisés ou des enregistrements du parlement européen – ~20% de taux d’erreur de mots pour l’anglais sur des conversations téléphoniques Progrès réguliers Voir évaluations DARPA & NIST … *sources: projets TCSTAR & GALE Progrès des 15 dernières années essentiellement dus à… – Un affinement des modèles : approches discriminantes (MMI,MPE), partage (tying) de gaussiennes ou d’états – Des techniques d’adaptation (MAP,MLLR,VTLN) – Une puissance de calcul croissante : pour le décodage multi-passe ou les approches multireconnaisseurs (ROVER) – … surtout… 5 9: • Plus de données ! Tendances • – – – – – “There’s no data like more data”, Robert L. Mercer Transcription ‘Simple’ Flux audio contrôlé Un capteur Monolingue Audio seul Transcription Riche Flux audio continu Capteurs multiples Multilingue Multimodal Difficulté croissante des tâches Training (hrs) 141 297 602 843 WER(%) 17.2 15.4 14.7 14.5 $ ! : Transcription enrichie – Marquer les tours de parole, les disfluences Flux audio continu – Besoin de marques de début / fin de phrases, ponctuation, pas uniquement de la parole Capteurs multiples Multilinguisme – Portage vers une nouvelle langue, locuteurs non natifs Multimodalité – $% " Flux multiples et souvent asynchrones %& !# ? &