Télécharger la présentation
1
Reconnaissance Automatique de la Parole
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 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écifiques d’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 Modélisation statistique plus complexe 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 ms (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) = aux instants t = P ( Observable | modèle ) = P ( O | M ) = = π3 (a33 )2 a31 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
Modèles de Markov cachés gauche-droit (de Bakis)
Mot inconnu Y Mot X Mot 1 Mot 2 Mot n meilleur chemin
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
Chaque phonème composé de trois états a 11 a 22 a 00 a 12 a 01 b 0 (k) b 1 (k) b 2 (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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.