1 / 49

Cours parole du 16 février 2005 enseignants: Dr. Dijana Petrovska-Delacrétaz et Gérard Chollet

Cours parole du 16 février 2005 enseignants: Dr. Dijana Petrovska-Delacrétaz et Gérard Chollet. Reconnaissance Automatique de la Parole Introduction, Historique, Domaines d’applications Extraction de paramètres Comparaison de représentations temps-fréquence

ursa
Download Presentation

Cours parole du 16 février 2005 enseignants: Dr. Dijana Petrovska-Delacrétaz et Gérard Chollet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cours parole du 16 février 2005enseignants: Dr. Dijana Petrovska-Delacrétazet Gérard Chollet Reconnaissance Automatique de la Parole • Introduction, Historique, Domaines d’applications • Extraction de paramètres • Comparaison de représentations temps-fréquence • DTW : Dynamic Time Warping (anamorphose T-F) • Modèles stochastiques (HMM, Réseaux Bayésiens) • Modèles de langage • Evaluation • Conclusions

  2. Références bibliographiques :Reconnaissance Automatique de la Parole

  3. Histoire de la Reconnaissance Automatique de la Parole

  4. Systèmes de reco. de parole et type de parole De facile …. • Mots isolés • Mots connectés • Détection de mots clés • Parole contrainte • Parole continue • Parole spontanée … difficile

  5. Systèmes de reco. de parole et taille du vocabulaire • Quelques mots (5 – 50) • Petit vocabulaire (50 – 500) • Vocabulaire moyen (500 – 5000) • Grand vocabulaire (5000 – 50000) • Très grand vocabulaire (> 50000)

  6. Systèmes de reco. de parole et dépendance au locuteur • Dépendant du locuteur :le système fonctionne correctement avec un utilisateur particulier Adaptation au locuteur =utilise quelques données spécifiquesd’un locuteur pour adapter le systèmeà une nouvelle voix • Indépendant du locuteur :le système fonctionne avec n’importe quel utilisateur

  7. Systèmes de reco. de parole et environnement d’utilisation • Parole large-bande (ordinateur, etc.) • Environnement calme (bureau + micro-casque) • Parole bande-étroite avec distorsion (téléphone, etc.) • Bruit de fond

  8. Profil des utilisateurs potentiels • Utilisation professionnelle par des spécialistes • Grand public • Entraîné / naïf • Fréquent / occasionnel • Utilité • Coopération

  9. Systèmes de reco. de parole: deux exemples Dictée vocale • Parole continue • Grand vocabulaire • Adaptation au locuteur • Bureau+micro-casque • Utilisateurs d’ordinateurs Service téléphonique • Détection de mots clés • Quelques mots • Indépendant du locuteur • Parole téléphonique • Grand public

  10. Dimensions et difficultés en RAP • Taille du vocabulaire, perplexité, facteur de branchement, • Environnement sonore (prise de son), distorsions, pertes, bande passante (téléphonique, élargie, HiFi,…) • Nombre de locuteurs concernés, motivation des locuteurs, • Possibilités d’apprentissage, d’adaptation, • Nombre de langues, accents, … • Ergonomie de l’interface vocale,

  11. Variabilité intra- et inter-locuteur

  12. Variabilité intra-locuteur

  13. En résumé: pourquoi a-t-on besoin de modèles stochastiques ? Variabilité des signaux parole: • due aux personnes • Intra- et inter-locuteur • Mode d’élocution • Taille du vocabulaire • Conditions dues à l’environnement • Prise du son • Mode de transmission

  14. Comment faire la reco ? Comment extraire automatiquement l’information lexicale (transcription textuelle) contenue dans un flux de parole ? • Méthodes de reconnaissance de forme: on compare deux formes (p.ex. avec la méthode de DTW) • Pour • simple à implémenter • Contre • Besoin d’un grand nombre de comparaisons • Méthodes statistiques: on utilise un max de données aussi variables que possible pour construire le modèle • Contre • Modélisation statistique plus complexe • Pour • Si les données pour construire les modèles sont bien choisies on obtient des modèles qui représentent bien des signaux à tester

  15. Rappel sur la réalité physique des signaux parole • Signal quasi-stationnaire par tranches d’environ 100-300ms (la durée moyenne d’un phonème) • Exemple: amplitude du signal parole en fonction du temps

  16. Rappel sur l’extraction de paramètres caractéristiques du signal • En analyse les signaux sur des fenêtres d’analyse pour avoir: • Une abstraction plus grande • Une réduction de la redondance • Exemple: paramètres Mel Frequency Cepstral Coefficients (MFCC) • On aura une estimation des fréquence présentes dans le signal autour des plages centrales des L filtres d’analyse, • Si L=16 => un vecteur paramétrique de dim. 16 toutes les 10ms

  17. Comment faire ? • Hypothèse: le signal parole est une suite d’événements quasi-stationnaires • On va estimer les observations à priori des classes à partir des signaux (bases de données parole) annotés textuellement • Pour les parties quasi-stationnaires, il faut trouver une loi de modélisation : des mélanges de Gaussiennes • Pour modéliser l’évolution temporelle on va utiliser les chaînes (modèles) de Markov cachés • Hidden Markov Models : HMM

  18. Modèles de Markov … non cachés • Modélisation des suites temporelles avec un effet mémoire minimal (l’échantillon en temps t dépends seulement de celui en t-1) • C’est très restrictif, mais donne des résultas acceptables • Ex. évolution du temps journalier: • on a 3 observables (états): pluvieux, nuageux, ensoleillé; n=1,2, 3 • évolution des observables au cours du temps t • aij = proba. de transition de l’état i à l’instant t-1 vers l’état j à l’instant t • aij = P ( j (t) | i(t-1) ) • A= [aij ] avec somme proba. sur chaque ligne de la matrice = 1 (on doit se trouver qqpart) • πi = proba. initiale que la chaîne commence en l’état i

  19. suite Markov non cachés • O = une suite d’observations (états) = 3 3 3 1 1 3 2 1 • aux instants t = 1 2 3 4 5 6 7 8 • P ( Observable | modèle ) = P ( O | M ) = = π3 (a33)2a31 a11 a13 a32 a23 • Les états sont observables

  20. Modèles de Markov cachés ou « Hidden Markov Models » HMM = acronyme que l’on va utilisé Exemple des saisons • états = configurations cachés = saisons ; • observables = (pluie, nuageux, ensoleillé) • Les états sont cachés • A chaque état correspond une fonction de distribution des probabilités (« probability density fonction » = pdf ) des observables mesurables

  21. Rappel théorie des probabilité • Données imprévisibles et/ou bruités => probabilités (statistiques) fournissent le formalisme mathématique pour les décrire et analyser. • Étapes pour l’évaluation des modèles en fonction de leur représentativité (ex. taux de reconnaissance obtenu) • par la probabilité (vraisemblance) on exprime le degré de confiance sur le résultat d’une expérience incertaine • on a : l’espace de toutes les observables possible (S) • un événement A = sous ensemble de S • Proba(Ai) =fréquence relative des A sur un grand nombre d’essais = Na / Ns • Avec: • P valeur positive entre 0 et 1 • N événements disjoints A1, …. An qui forment une partition de S sss leur unions = S • P (A1 U ….U An ) = ∑ P(Ai)

  22. rappel Règle de Bayes • Probabilité jointe: P(AB) = NAB / NS • Proba. conditionnelle de A étant donné que B a eu lieu = • P(A | B) = P(AB) / P(B) = ( NAB / NS )(NB / NS ) • comme P(AB) = P(BA) = P(A | B) P(B) = P(B | A) P(A) • pour Ai partitions de S, on a des probabilités marginales • La loi de Bayes est utilisée pour faire la classification de formes: elle introduit le concept de prise de décision sur la base des connaissances à posteriori obtenues au travers des observations mesurables, et en utilisant les connaissances à priori sur toutes les classes possibles (partitions) • Pour le classifieur de Bayes on a d’abord besoin d’estimer les probabilités des classes à priori (des observables étant donné des classes • Avec Bayes on peut construire un classifieur en ayant des données qui appartiennent aux classes définies.

  23. Reco. parole avec des HMM • On utilise des modèles de Markov cachés pour modéliser des signaux parole, qui représentent une suite d’observations. • La séquence des observations (vecteurs de paramètres) est généré par un automate stochastique à nombre fini d’états. Il est construit à partir d’un ensemble d’états stationnaires régis par des lois statistiques. • ou le signal parole est formé d’une suite de segments stationnaires, avec tout les vecteurs associés à un même état étant supposés avoir été générés par un même état. • Les Modèles de Markov Cachés (HMM : Hidden Markov Models) sont les plus utilisés.

  24. suite HMM Si l’on suppose que l’on peut modéliser le signal de parole par des séquences d’événements quasi stationnaires, alors: • on peut estimer les observations à priori des classes à partir des signaux annotés • pour les parties quasi-stationnaires on utilise une loi de distibution de proba (mélanges de Gaussiennes) • pour modéliser l’évolution temporelle : modèles (chaînes) de Markov cachés (c’est la suite des états qui est cachée)

  25. Loi de Bayes • La loi de Bayes est utilise pour faire la classification de formes: elle introduit le concept de prise de décision sur la base des connaissances à posteriori obtenues au travers des observations mesurables, et en utilisant les connaissances à priori sur toutes les classes possibles (partitions) • Pour le classifieur de Bayes on a d’abord besoin d’estimer les probabilités des classes à priori (des observables étant donné des classes • Avec Bayes on peut construire un classifieur en ayant des données qui appartiennent aux classes définies.

  26. Notations on a • une séquence (suite) d’observations O { o1, …, on,…. oT} • cas discret: les appartiennent à un alphabet fini (ensemble des symboles) V = { v1, …, vi,…. vv} (par ex: obtenus par quantification vectorielle) • cas continu: les appartiennent a l’ensemble Rd, lorsque les observables sont des vecteurs de dimension d • Un modèle HMM, notée M est composé de • S états { q1, …, qi,…. qn} • une distribution initiale des états πi • des proba. de transition entre ces états, matrice A= [aij ] • des proba. d’émission b des observables pour chaque état • matrice B = bi [qs ] , avec i = 1, …. , v

  27. Modèle de Markov caché : principe

  28. Les problèmes à résoudre : • Pour appliquer le formalisme des HMM à la reconnaissance de parole il faut résoudre les problèmes suivants: • Choix (inférence) de l’architecture des modèles • Apprentissage ou entraînement (« train ») et/ou adaptation • Estimation des probabilités de transition entre états • Estimation des probabilités d’observation (par ex: mélange de gaussiennes) • Décodage ou meilleure suite des états

  29. Problème 1: estimation des proba. , calculer P (O | M) étant donné un modèle M et une suite d’observations O, comment calculer la proba. que cette séquence a été générée par le modèle M • on suppose connues: • les vraisemblances locales (proba émission pour chaque état) • les proba. de transition • On cherche à calculer la vraisemblances de la suite complète observée, à partir des vraisemblances locales • Si on a plusieurs modèles, on peut faire la classification, et trouver le modèle qui correspond le mieux aux observations (celui qui a la proba. maximale)

  30. Problème 2: Décodage ou meilleure suite d’états découvrir la partie cachée du modèle (trouver la suite d’états qui explique le mieux possible la séquence d’observations) • Étant donné un ensemble d’états et une séquences d’observations O, comment trouver la meilleure séquence d’états de façon à maximiser la probabilité que cette séquence d’états ait émis la séquence d’observations • Ce problème est lié au problème précédent: P(O|M)

  31. Problème 3 : Entrainement • On essaie d’optimiser les paramètres du modèle de façon qu’ils décrivent le mieux possibles les observations • On a besoin d’exemples d’entraînement qui sont déjà annotés (classés) • C’est le problème le plus difficile à résoudre: celui d’adapter de manière optimale les paramètres du modèle aux exemples déjà classés (nos donnés d’entraînement ou apprentissage , différents de ceux de test) • difficulté majeure: jongler entre la quantité de donnés disponibles pour créer les modèles, la complexité des modèles nécessaire pour modéliser les phénomènes qui nous intéressent; • si suffisamment de données d’entraînement mais mauvais modèles => mauvais résultats • si modèles réalistes mais pas assez de données pour les entraîner => mauvais résultats • il faut trouver la bonne adéquation entre • quantité de données pour l’entraînement et • complexité des modèles • comment: essais successifs de modélisation et classification « trials and errors »

  32. Solution pour l’évaluation: récurrence avant ou « forward algorithm » Pour calculer la proba P(O|M) • une solution possible est de faire la somme des proba sur toutes les séquences possibles (énumérer toutes les séquences possibles et calculer les probas associés) => trop de séquences => calculs éventuellement possibles seulement pour des seqences courtes • Algo forward récursif • On dénote α(i) comme la proba partielle que le HMM se trouve dans l’état i a l’instant t, et que l’on a atteint a ce moment la séquence d’observables partielle • peut être calculée de manière récursive (voir photocopies) • initialisation • induction • finalisation

  33. Décodage: algo de Viterbi • Idem algo forward mais on prend en considération que les proba maximales

  34. Estimation des paramètres HMM: algo de Baum et Welsh • combinaison de l’algo forward et backward (défini de manière similaire mais pour le chemin inverse) • Pratiquement on peut approximer les proba de transition de l’état m vers état n (m → n) par • P ( qm | qn ) = ( nombre de transitions m → n ) / ( nombre de fois que l’état m a été visité ) • De manière similaire on peut approximer les proba d’émission des symboles

  35. Combinaison de ces algos pour entraîner des modèles HMM pour la reco: étape d’initialisation • On se fixe une topologie • On va partir avec une segmentation initiale uniforme (on divise le nombre d’observations par le nombre d’états) • On calcule les proba de transitions associés avec algo de Baum-Welsh, et des proba d’emission • On calcule avec cela une proba forward • On change la séquence d’états (nouvelle segmentation) • On calcule les nouvelles proba correspondant à cette nouvelle séquence d’états (transitions et emission ) • Si proba avec nouvelle segmentation > proba avec ancienne segmentation => • on prend cette nouvelle segmentation • on revient au point 5 (jusqu’à l’obtention des variations des proba minimales)

  36. Re-estimation • On répete ce que l’on a fait pour l’initialisation, mais pour l’ensemble des donées d’entrainement • On obtient des modèles réestimés …

  37. Mot inconnu Y Mot 1 Mot 2 Mot X Mot n meilleur chemin Modèles de Markov cachés gauche-droit (de Bakis)

  38. Il existe des autres topologies • ergodique: toutes les transitions entre les états sont possibles (on perd la notion de suite dans le temps) • Gauche-droit avec des sauts d’états

  39. HMM type utilisé pour la reco de phonèmes b0 (k) b1 (k) • Chaque phonème composé de trois états a 11 a 22 a 00 a 12 a 01 b2 (k)

  40. Viterbi : exemple

  41. Le modèle hiérarchique

  42. Le modèle hiérarchique : exemple

  43. Modèles phonétiques (1)

  44. Modèles phonétiques (2) Le mot « american »

  45. Modèles contextuels

  46. Modèles de langage • A un instant donné, tous les mots n’ont pas la même probabilité de présence : • Le petit chat boit du … • Grammaires probabilistes : toutes les phrases sont possibles mais avec des probabilités différentes • Grammaires à états finis : partition binaire des séquences de mots en « séquences possibles » et « séquences impossibles »

  47. Modèle acoustique + Modèle de langage

  48. Performances

  49. Recherches actuelles

More Related