Reconnaissance Automatique de la ParolePresentation du module de Decodage acoustique
B. Jacob
IC2/LIUM
November 2, 2010
Reconnaissance Automatique de la Parole
Plan
1 Introduction
2 Survol de la parametrisation du signal
3 Outils de reconnaissance
4 Apprentissage des MMC
5 Decodage avec MMCUn syste`me de RAP en mots isolesUn syste`me de RAP en dictee vocale
6 Conclusion
Reconnaissance Automatique de la Parole
Introduction
Vous etes ici
Mot(s) reconnu(s)
Paramtrisation
Modle de Langage
Algorithme de dcodage
Modles acoustiques
Parole
Y={ y , y , y , .... , y } 1 2 3 N
Reconnaissance Automatique de la Parole
Parametrisation du signal
Segmentation du signal
On ne traite pas la totalite du signal
information redondante
volume de donnees trop important
Decoupage du signal en segmentde longueur variable (ex: recherche des parties stables ettransitoires des sons [Obrecht, 88])
de longueur fixe: echantillonnage a` 16KHz (decoupagecentisecondes)
Reconnaissance Automatique de la Parole
Parametrisation du signal
Decoupage segmental
On recherche des segments de signal: voyelle, locuteur,silence, parole . . .
les segments sont de longueur variable
Reconnaissance Automatique de la Parole
Parametrisation du signal
Decoupage centiseconde
un segment toutes les 1/100 sec (echantillonnage a` 16 kHz)
les segments sont tous de la meme longueur
1/100 sec
Reconnaissance Automatique de la Parole
Parametrisation du signal
Observations discre`tes
on discretise le segment par une etiquette
toutes les valeurs du segment sont representees par unsymbole
[a]
Reconnaissance Automatique de la Parole
Parametrisation du signal
Observations continues
le segment est represente selon son spectretoutes les valeurs du segment sont representees par un vecteurde coefficients cepstraux
1,45 -2,21 10,07
Reconnaissance Automatique de la Parole
Parametrisation du signal
Coefficients cepstraux
Issus dune fonction inverse du spectre
Principaux types (presentes par P. Deleglise)
MFCC (Mel Frequency Cepstral Coefficient)LPCC (Linear Prediction Cepstral Coefficient )
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Reconnaissance du signal
assimile a` la reconnaissance des formes
dans notre cas: reconnaissance de formes acoustiques
outils statistiques:
la comparaison dynamiqueles Mode`les de Markov Caches
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
La DTW
Principe
Comparaison dynamique des points:
1 dune forme de reference
2 dune forme de test
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
La DTW
Contraintes de cheminement:
(i,j)
(i,j-1)
(i-1,j)
(i-1,j-1)
(i,j-1)
(i-1,j-2)
(i-1,j-2)
(i-1,j-1)
(i-1,j)(i,j)
(i,j)
(i-1,j-1)
(i-1,j)
(i-2,j-1)
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
La DTW
Proble`me
Inconvenient
volume des formes de references
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Structures
1 MMC = 3 ensembles:
un ensemble de transitions A entre des etats
un ensemble de lois demissions B
un ensemble de probabilites initiales
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Structures
1 MMC = 3 ensembles:
un ensemble de transitions A entre des etats
un ensemble de lois demissions B
un ensemble de probabilites initiales
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Structures
1 MMC = 3 ensembles:
un ensemble de transitions A entre des etats
un ensemble de lois demissions B
un ensemble de probabilites initiales
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Structures
1 MMC = 3 ensembles:
un ensemble de transitions A entre des etats
un ensemble de lois demissions B
un ensemble de probabilites initiales
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Etats
Ensemble {q1,q2,q3,q4,q5}
q1 q5q4q3q2
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Transitions
Lensemble A contient les etats et leurs transitions
q1 q5q4q3q2
0,5
0,5
0,5
0,5
0,5
0,5
1
Table: Matrice A de transitions
q1 q2 q3 q4 q5
q1 0 0.5 0.5 0 0q2 0 0 0.5 0.5 0q3 0 0 0 0.5 0.5q4 0 0 0 0 0.5q5 0 0 0 0 0
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Lois demission
Ensemble B = {b1,b2,b3,b4,b5}bi : loi gaussienne representant une forme acoustique
q1 q5q4q3q2
0,5
0,5
0,5
0,5
0,5
0,5
1
b1 b2 b3 b4 b5
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Lois demission
Une loi emet la probabilite demission dune observation
dans la pratique log(proba) car proble`me de representation
Types de lois
lois discre`teslois continues
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Lois Discre`tes
Tableau representant les frequences de chaque etiquette
Table: Exemple de loi discre`te
Etiq. a e ei i . . .
proba p 0.3 0.01 0.05 0.004 . . .
avec :n
i=1
pi = 1
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Calcul dune loi Discre`te
Calcul dune loi
= proba demission dune observation
= proba dune etiquette
Pour une etiquette a:
b(a) = log(0.3)
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Lois Continues
Structure contenant les parame`tres dune loi Gaussienne
Pour des observations de N coefficients, on doit retrouver aumoins:
parame`tres dune loi continue
un vecteur moyenne de N elements
un vecteur variance de N elements
+ Valeurs de constantes pour calcul plus rapide dans lapratique
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Calcul dune loi Continue
Calcul dune loi
= proba demission dune observation
= proba dun vecteur Y de N coefficients: Y = {y1, y2, . . . , yN}Pour un yi :
Ni=1
[(0.5 log(var i 2pi)]Ni=1
[(yi moy i )2
2var i (0.5 log(var i 2pi))]
On ajoute en general les parties independantes de yiparame`tres dune loi continue
moy[N]
var[N]Ni=1[(0.5 log(var i 2pi)]
0.5 log(var i 2pi) pour tous les i
Reconnaissance Automatique de la Parole
Techniques de Reconnaissance du signal
Les MMC
Probabilites Initiales
q1 q5q4q3q2
0,5
0,5
0,5
0,5
0,5
0,5
11
0 0 0 0
Table: Matrice
q1 q2 q3 q4 q5
1 0 0 0 0
Reconnaissance Automatique de la Parole
Apprentissage
Apprentissage des MMC
A partir dun ensemble dapprentissage
ensemble dobservations avec leur transcription
2 methodes principales
par lalgorithme de Viterbi
par lalgorithme de Baum-Welch
Reconnaissance Automatique de la Parole
Apprentissage
Viterbi
Generalites
Algorithme de Viterbi
recherche le meilleur chemin au sens probabiliste,ayant genere la suite dobservations Y = {y1, ......, yT}
Reconnaissance Automatique de la Parole
Apprentissage
Viterbi
Passe avant
1 Construction de la table QQ(t, qj) probabilite demission
de la sous suite dobservations y1...ytle long du chemin le pus probable forme de t etats{
Q(t, qj) = max Q(t 1, qi ) aij bj(yt) si t > 1Q(1, qj) = pij bj(y1)
2 Calcul vraisemblance suite dobservations / MMC:
score MMC = max Q(T , qj) avec qj etats finals
Reconnaissance Automatique de la Parole
Apprentissage
Viterbi
Passe arrie`re
1 Recherche du meilleur chemin avec les pointeurs arrie`ressauvegardes dans une table {
(T , qj) = arg max score MMC(t, qj) = arg max Q(t 1, qi ) aij
2 Re-estimation des parame`tres des etats meilleur cheminprobabilites des transitionsparame`tres des lois demission
Reconnaissance Automatique de la Parole
Apprentissage
Viterbi
Synopsis 1 passe
Affectation de la table Q :
qqq
3
4
N
1
2
t t t t t t t t tt 0 1 2 3 4 5 6 T7 810000
0,12
0,12
0,12
0,12
0 0 0 0 0 0 0 0 00,012
0,012
0,012
0,012
0,012
...
... ...
...
...
...
...
...
...
......
......
...
...
......
......
...
......
...
0,001
0,001
0,001
0,002
probas initalesPasse avant
Reconnaissance Automatique de la Parole
Apprentissage
Viterbi
Algo 1 passe
Peut se resumer a` 3 boucles imbriquees:
max = i n f i n i ;f o r ( t=1 ; t
Reconnaissance Automatique de la Parole
Apprentissage
Viterbi
Synopsis 2 passe
Utilisation des pointeurs arrie`res :
qqq
3
4
N
1
2
t t t t t t t t tt 0 1 2 3 4 5 6 T7 810000
0,12
0,12
0,12
0,12
0 0 0 0 0 0 0 0 00,012
0,012
0,012
0,012
0,012
...
... ...
...
...
...
...
...
...
......
......
...
...
......
......
...
......
...
0,001
0,001
0,001
0,002
Passe arrire
Pointeurs arrire
tat finalsquence d'tats du chemin = q
4q
Nq
1 3qq
2q2 3
q3
q3
q q4
Reconnaissance Automatique de la Parole
Apprentissage
Baum-Welch
Generalites
Algorithme de Baum-Welch
recherche de tous les cheminsayant generes la suite dobservations Y= y1,......,yT
Reconnaissance Automatique de la Parole
Apprentissage
Baum-Welch
Generalites
Repose sur le calcul de deux fonctions :
la fonction forward (t, qj) represente
la probabilite dobserver les t premie`resobservationset detre a` linstant t dans letat qj
la fonction backward (t, qj) represente
la probabilite dobserver les T-t dernie`resobservationssachant que lon est a` linstant t dans letat qj .
Reconnaissance Automatique de la Parole
Apprentissage
Baum-Welch
Passe avant
Calcul des tables et
{(t, qj) =
(t 1, qi ) aij bj(yt) t > 1
(1, qj) = pij bj(y1)
(t, qj) =
aji bi (yt+1) (t + 1, qi ) avec t < T
(T , qj) = 1 si qj etat final= 0 sinon
Reconnaissance Automatique de la Parole
Apprentissage
Baum-Welch
Passe avant
Calcul vraisemblance de la suite dobservations par rapport auMMC:
score MMC =
(T , qi )ouscore MMC =
pii bi (y1) (1, qi )
tel que qi soit un etat final
Reconnaissance Automatique de la Parole
Apprentissage
Reestimations des mode`les
Principe
Reestimation des parame`tres
Viterbi : des etats du meilleur chemin
Baum-Welch : de tous les etats
Reconnaissance Automatique de la Parole
Apprentissage
Reestimations des mode`les
Reestimations des transitions
Redistributions des probabilites de transitions de chaque etat aubout de N iterations:
1 Comptage des transitions utilisees:
2 fois
8 fois
10 fois
2 Recalcul:2/20
8/20
10/20
Reconnaissance Automatique de la Parole
Apprentissage
Reestimations des mode`les
Reestimations des Lois demission
2 types de lois:
Lois discre`tes
Lois continues
Reconnaissance Automatique de la Parole
Apprentissage
Reestimations des mode`les
Lois discre`tes
Prise en compte de la frequence des observations discre`tes qui sontemises par cette loi
1 Comptage des etiquettes vues sur cette loi:
[au] [o] [u]loi
0,5 0,3 0,2
[au] [au] [o] [u][au] [o] [u][o] [u]observations
2 Recalcul:
[au] [o] [u]loi
0,3 0,3 0,3
Reconnaissance Automatique de la Parole
Apprentissage
Reestimations des mode`les
Lois continues
Prise en compte de la frequence des observations continues quisont emises par cette loi
1 Cumul des vecteurs de coefficients vus sur cette loi:2 Recalcul:
de la moyennede la variance
Reconnaissance Automatique de la Parole
Apprentissage
Remarque sur lapprentissage
Remarque
Apprentissage base sur le Maximum de vraisemblance
Si donnees , modelisation statistique Si on veux avoir un bon apprentissage Volume de donneesdapprentissage important
Pb du manque de donnees
Reconnaissance Automatique de la Parole
Decodage dune observation
Decodage
Baum-Welch
Utilise
pour le scratch
quand donnees
Viterbi
Utilise par la suite
2 configurations abordees
decodage de mots isoles (1 mot a` la fois)
decodage de phrase (plusieurs mots a` la fois)
Reconnaissance Automatique de la Parole
Decodage dune observation
Mots isoles
Topologie du syste`me
Syste`me de RAP en mots isoles
Chaque mot est represente par un MMC
Une observation Y = {y1, ..., yT} = 1 motCalcul du score de chaque MMC pour Y
Max score 1 MMC mot reconnu
Reconnaissance Automatique de la Parole
Decodage dune observation
Mots isoles
1 MMC/mot
Mot reconnu = "bire"
MMC du mot baratin
MMC du mot bal
MMC du mot ballon
MMC du mot bire
MMC du mot bourde
observation inconnue Y
0,012
0,001
0,002
0,5
0,003 Viterbi Max
Reconnaissance Automatique de la Parole
Decodage dune observation
Mots isoles
Evaluation du syste`me
Sur un ensemble de test 6= ensemble dapprentissageComparaison du resultat du decodage avec une referenceExemple avec test de 3 observations:
Y1 Y2 Y3REF ballon bie`re bal
HYP baratin bie`re bol
Taux de reconnaissance en mots reconnus% de reco: 0,33% ou % derreur: 0,66%
On cherche donc a` maximiser le taux de reco(ou a` minimiser celui derreur)
Reconnaissance Automatique de la Parole
Decodage dune observation
Mots isoles
Limites
Inconvenients
Vocabulaire ferme
Si vocabulaire stockage des MMC
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Cadre du syste`me
Syste`me de RAP en dictee vocale
Dictee vocale
= parole continue
= grand vocabulaire (>100K mots)
= reconnaissance de phrases (+sieurs mots qui se suivent)
Si vocabulaire de N mots alors theoriquement1 MCC toutes les phrases possibles avec N N motsSi vocabulaire alors impossible de modeliser toutes lescombinaisons de mots
Eclatement de la modelisation selon le mode`le de la parole en3 niveaux
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
3 niveaux de Modelisation
1 Niveau acoustique
Modelisation de chaque son que lon peut produireModelisation par MMCEn general 1 MMC / phone`me ( 36 pour le francais)
2 Niveau lexical
Modelisation des motsArticulation des sons en motsModelisation par Dictionnaire (correspondance entre un mot etune suite de phone`mes)
3 Niveau syntaxique
Modelisation des phrasesArticulation des mots en phrasesModelisation par Mode`le de Langage (probabilite que des motsse suivent)
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Les 3 niveaux de la parole
bal = [b] [a] [l]ballon = [b][a][l][on]baratin = [b][a][R][a][t][in]bire = [b][i][ai][R]bourde = [b][w][R][d]["e"]
Dictionnaire
MMC du phonme [R]
MMC du phonme [on]
MMC du phonme [in]
MMC du phonme [b] MMC du phonme [a]
MMC du phonme [l]
MMC du phonme [t]
MMC du phonme [w]
MMC du phonme ["e"]Modle de Langage
ballon bire 0,5bire bourde 0,1baratin bal 0,01
.....
cioarticulation phonme/mot
cioarticulation mot/phrase
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Composants
Mode`les acoustiques
MMC en contexte gauche et/ou droit, triphone, diphone,. . .Mode`les segmentaux: loi demission sur N segmentsMode`les multibandes: 1 MMC/bande de frequence +recombinaisonReseaux bayesiens: generalisation des dependances entre lesvariables de la modelisation(dans un MMC qi a` t seulement de qj a` t 1 et de yt)
Dictionnaire
avec variantes de prononciation
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Composants
Mode`le de Langage (developpes par Y. Este`ve)
mode`le statistique: bigramme, trigramme,. . . ,n-grammesmode`les a` base de classes de motsmode`les cache: stockage et proba mots deja` rencontresmode`les distants: relie les mots distants dans une phrasetriggers: modelise le fait quun mot peut en declencher unautremode`les a` horizon variable: choisi le n-gramme le plusapproprie pour calculer la proba dun motmode`les a` base de sequences: traite certaines sequences demots comme un seul mot
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Graphe de decodage
Actuellement: decodage lexical et acoustique en paralle`le
Mode`le a` plat (N MMC-mots relies entre eux) trop complexe Graphe de decodage ou Arbre lexical
Compilation des niveaux lexical et acoustique
Represente le decodage dun mot
Organise en arbre
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Graphe de decodage
Tous les mots sont representes par un seul MMC (graphe dedecodage)
etat initial = racine de tous les mots
etat final = terminaison dun mot
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Graphe de decodage
[b]
[b]
[R]
[on]
[in]
[a] [l]
[t][a]
[w] ["e"]
[ai] [R]
[R] [d]
bourde
baratin
bire
ballonbal
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Recherche des solutions
Une observation Y = {y1, ..., yT} = segments centisecondescorrespondant a` N mots
Quand une observation yt est alignee sur un etat final decodage dun mot
Il faut donc Reboucler a` la racine pour decoder les motssuivants
Une recherche exhaustive est impossible (on ne peut stocker oucalculer tous les elements de la table Q[N,T ])
N de lordre de 5 100.000T de lordre de 1000
8 500 Mega 4 Giga
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
Arbre lexicographique Algorithme du passage du jeton (tokenpassing) (developpe par P. Deleglise)
Viterbi dont la table Q est projetee dans larbrelexicographique
Au depart: un jeton dans tous les etats qi tels que pii 6= 0Pour une observation propagation du jeton par la formulede Viterbi dans les etats accessibles dans lArbre
Un jeton contient le score de vraisemblance + lhistorique(mots rencontres dans lArbre)
Phrase decodee = jeton de score max a` yT
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
bourde
baratin
bire
ballonbal
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
bourde
baratin
bire
ballonbal
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
bourde
baratin
bire
ballonbalMax de
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
bourde
baratin
bire
ballonbal
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
bourde
baratin
bire
ballonbal
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
bourde
baratin
bire
ballonbal
ballon
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Algorithme du jeton
bourde
baratin
bire
ballonbal
ballon | bire
Application ML bigramme
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Faisabilite de la recherche
Recherche exhaustive de toutes les hypothe`ses pour yt impossibleTechniques :
Elagage (Beam-Search): faire des faisceaux dans lespace derechercheQuelques methodes delagage:
% par rapport au score du meilleur cheminNombre maximum dhypothe`ses
Appariement rapide (Fast match): Estimation desphone`mes/mots qui ont pu etre prononces pour mieuxparametrer lelagage
Calcul des lois: ne calculer que celles qui sont significatives(pas trop eloigne de yt), cache de celles deja` calculees
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
N meilleures solutions
N meilleurs chemins
au lieu dun seul jeton, on stocke N jetons dans un etat
chaque jeton represente un chemin different
A` la fin N meilleurs chemins
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Plusieurs passes
1 passe :Arbre lexicographiqueViterbi avec jetonML simple bigramme
graphe ou treillis des meilleures solutions
2 passe :algorithme A*ML complexe trigramme ou
Reconnaissance Automatique de la Parole
Decodage dune observation
Dictee Vocale
Evaluation du syste`me
Taux de reco en mots Corrects, Inseres, Supprimes, Substitues
Taux derreur Word Error Rate
WER =S + D + I
N
Taux de reconnaissance de mots, Word Recognition Rate
WRR = 1WER = N S D IN
=H I
Navec
N : nombre de mots de reference
S : nombre de substitutions(mots incorrectement reconnus)
D : nombre de suppressions (mots omis)
I : nombre dinsertions (mots ajoutes)
H : nombre de mots correctement reconnus
Reconnaissance Automatique de la Parole
Conclusion
Autres aspects
Resistance au bruit, robustesse de la parole
Au lieu de reconnatre des formes de mots reconnatre lescaracteristiques du locuteur reco du locuteur segmentation dune phrase en locuteur(Presentation par S. Meignier)
transcription demission radiophonique, campagnes ESTEREvaluation des Syste`mes de Transcription enrichie dEmissionsRadiophoniques, (equipe parole du LIUM)
Reconnaissance Automatique de la Parole
Conclusion
Conclusion
Difficultes de la RAP
variabilite de la voixdifficile de modeliser le processusdapprentissage/reconnaissance humain
Contraintes dun syste`me
ce que lon peut en attendre, avec son degre dincertitudevolume de donnees dapprentissage
Limites dun syste`me
restriction dans le vocabulairerestriction dans les locuteurs
Questions ?
IntroductionSurvol de la paramtrisation du signalOutils de reconnaissance
Apprentissage des MMC
Dcodage avec MMCUn systme de RAP en mots isolsUn systme de RAP en dicte vocale
Conclusion