La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Reconnaissance de Yes/No à laide du HTK Adapté dun tutoriel du HTK par Nicolas Moreau.

Présentations similaires


Présentation au sujet: "Reconnaissance de Yes/No à laide du HTK Adapté dun tutoriel du HTK par Nicolas Moreau."— Transcription de la présentation:

1 Reconnaissance de Yes/No à laide du HTK Adapté dun tutoriel du HTK par Nicolas Moreau

2 Étapes de la réalisation 1.Création de lensemble dapprentissage : Chaque élément du vocabulaire est enregistré plusieurs fois, et étiqueté avec le mot correspondant 2.Analyse acoustique : Les signaux enregistrés sont convertis en une série de vecteurs de traits. 3.Définition des modèles HMM : Un HMM est défini pour chaque élément du vocabulaire de la tâche de reconnaissance. 4.Entraînement des modèles HMM : Chacun est entraîné avec lensemble dapprentissage correspondant. 5.Définition de la tâche de reconnaissance : La grammaire à suivre est définie. 6.Reconnaissance et évaluation de la performance sur un corpus de test.

3 Organisation de lespace de travail On crée la hiérarchie de répertoires suivante : data/ : emmagasine les données dapprentissage et de test (signaux acoustiques, étiquettes, etc.) dans deux sous-répertoires data/train/ et data/test/. analysis/ : emmagasine les donnés de létape danalyse acoustique. training/ : emmagasine les fichiers concernant linitialisation et lapprentissage. model/ : Emmagasine les modèles (HMMs). def/ : emmagasine les fichier de définition de la tâche de reconnaisance. test/ : emmagasine les fichier ayant trait à la validation (test).

4 Création du corpus dapprentissage Lenregistrement et létiquetage sont accomplis à laide de loutil HSLab (boutons rec, stop, mark et labelAs) : HSLab nom.sig Après létiquetage, on obtient un fichier texte.lab de la forme sil yes sil On recommence le processus avec des noms de fichiers différents pour chaque enregistrement (e.g. yes01.sig, yes01.lab, yes02.sig, yes02.lab, etc.)

5 Analyse acoustique On utilise loutil HCopy : –HCopy -A -D -C analysis.conf -S targetlist.txt analysis.conf : fichier de configuration pour lextraction des coefficients acoustiques targetlist.txt : script spécifiant les noms et locations de chaque signal à traiter et du fichier de coefficients correspondant à générer.

6 MFCC_0_D_A = 12 MFCC + DC + 13 Delta + 13 Acceleration =39 coeff.

7 Définition structurelle des HMM Il faut définir le nombre détats, les fonctions dobservation et les probabilité de transition entre états : pas évident ! Il faut définir 3 prototypes de HMM avec les options ~h "yes", ~h "no" and ~h "sil " dans les fichiers de description (hmm_yes, hmm_no, hmm_sil, )

8 Entraînement des HMM Elle comprend une phase dinitialisation et une phase dentraînement pour chaque HMM

9 Entraînement des HMM Initialisation 1: alignement temporel par algorithme de viterbi HInit -A -D –T 1 -S trainlist.txt -M model/hmm0 \ -H model/proto/hmmfile -l label -L label_dir nameofhmm nameofhmm : le nom du HMM à initialiser hmmfile : fichier descriptif contenant le prototype du HMM trainlist.txt : liste complète des fichiers.mfcc constituant le corpus dapprentissage label_dir : Répertoire des fichiers détiquetage (.lab) correspondant au corpus dapprentissage label : indique quel segment étiqueté doit être utilisé sans lensemble dapprentissage (yes,no, ou sil, puisquon a utilisé ces noms pour étiqueter les HMMs) model/hmm0 : Répertoire de sortie (doit exister) pour la description de HMM résultante. La procédure doit être répétée pour chaque modèle (hmm_yes, hmm_no, hmm_sil).

10 Entraînement des HMM Initialisation 2: initialisation des moyenne et variances HCompv -A -D –T 1 -S trainlist.txt -M model/hmm0flat \ -H model/proto/hmmfile -f 0.01 nameofhmm nameofhmm : le nom du HMM à initialiser hmmfile : fichier descriptif contenant le prototype du HMM trainlist.txt : liste complète des fichiers.mfcc constituant le corpus dapprentissage label_dir : Répertoire des fichiers détiquetage (.lab) correspondant au corpus dapprentissage label : indique quel segment étiqueté doit être utilisé sans lensemble dapprentissage (yes,no, ou sil, puisquon a utilisé ces noms pour étiqueter les HMMs) model/hmm0flat : Répertoire de sortie (doit exister) pour la description de HMM résultante, doit être différenet que celui de HInit. La procédure doit être répétée pour chaque modèle (hmm_yes, hmm_no, hmm_sil) Pas requis si Hinit utilisé, cependant génère un fichier vFloors qui contient les variances multipliées par un coefficient établi avec loption –f (0.01 ci-dessus)

11 Entraînement des HMM Entraînement HRest -A -D -T 1 -S trainlist.txt -M model/hmmi -H vFloors \ -H model/hmmi-1/hmmfile -l label -L label_dir nameofhmm Nameofhmm, hmmfile, trainlist.txt, label_dir, label : comme avant model/hmmi : Répertoire de sortie pour litération courante. La procédure est répétée plusieurs fois pour chaque modèle (hmm_yes, hmm_no, hmm_sil). Le processus sarrête lorsquune variable affichée à lécran, change, devient constante

12 Définition de la tâche de reconnaissance $word : variable qui prend les valeurs yes ou no { } : zéro ou plusieurs répétions du contenu [ ] : zéro ou une répétition du contenu Les HMM correspondant aux variables start_sil, end_sil, yes et no doivent être prédéfinis et la correspondance emmagasinée dans un fichier texte (le dictionnaire de tâche) colonne gauche : variable Colonne droite : HMM Milieu : nom du résultat émis Sauvée dans un fichier gram.txt

13 Définition de la tâche de reconnaissance Le système constitué du réseau de tâche, du dictionnaire de t6ache et des HMM associés est alors prêt pour faire de la reconnaissance de parole Le fichier gram.txt doit être compilé pour générer un réseau de tâche HParse -A -D -T 1 gram.txt net.slf

14 La reconnaissance en temps différé HVite -A -D -T 1 -H hmmsdef.mmf -i reco.mlf -w net.slf \ dict.txt hmmlist.txt input.mfcc input.mfcc : les données dentrée à reconnaître hmmlist.txt : liste des modèles à utiliser (yes, no, dil), un par ligne dict.txt : dictionnaire de tâche reco.mlf : fichier de sortie hmmsdef.mmf : contient les définitions des HMM concaténées

15 La reconnaissance en temps différé

16 La reconnaissance en temps réel On peut aussi faire de la reconnaissance en direct ! HVite -A -D -T 1 -C directin.conf -g -H hmmsdef.mmf \ -w net.slf dict.txt hmmlist.txt directin.conf : fichier de configuration de lentrée audio Pas de fichier préenregistré! À linvite READY, on dit un mot au micro et en pressant une clé du clavier, la réponse est fournie.

17 La reconnaissance en temps réel


Télécharger ppt "Reconnaissance de Yes/No à laide du HTK Adapté dun tutoriel du HTK par Nicolas Moreau."

Présentations similaires


Annonces Google