510 likes | 634 Views
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
E N D
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
Références bibliographiques :Reconnaissance Automatique de la Parole
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
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)
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
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
Profil des utilisateurs potentiels • Utilisation professionnelle par des spécialistes • Grand public • Entraîné / naïf • Fréquent / occasionnel • Utilité • Coopération
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
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,
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
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
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
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
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
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
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
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
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)
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.
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.
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)
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.
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
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
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)
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)
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 »
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
Décodage: algo de Viterbi • Idem algo forward mais on prend en considération que les proba maximales
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
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)
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 …
Mot inconnu Y Mot 1 Mot 2 Mot X Mot n meilleur chemin Modèles de Markov cachés gauche-droit (de Bakis)
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
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)
Modèles phonétiques (2) Le mot « american »
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 »