8
Reconnaissance de Yes/No à l’aide du HTK Adapté d’un tutoriel du HTK par Nicolas Moreau

Reconnaissance de Yes/No à l’aide du HTK

  • Upload
    matsu

  • View
    19

  • Download
    0

Embed Size (px)

DESCRIPTION

Reconnaissance de Yes/No à l’aide du HTK. Adapté d’un tutoriel du HTK par Nicolas Moreau. Étapes de la réalisation. Création de l’ensemble d’apprentissage : Chaque élément du vocabulaire est enregistré plusieurs fois, et étiqueté avec le mot correspondant - PowerPoint PPT Presentation

Citation preview

Page 1: Reconnaissance de Yes/No à l’aide du HTK

Reconnaissance de Yes/No à l’aide du HTK

Adapté d’un tutoriel du HTK par Nicolas Moreau

Page 2: Reconnaissance de Yes/No à l’aide du HTK

Étapes de la réalisation

1. Création de l’ensemble d’apprentissage : Chaque élément du vocabulaire est enregistré plusieurs fois, et étiqueté avec le mot correspondant

2. Analyse acoustique : Les signaux enregisrés sont convertis en une séries de vecteurs de traits.

3. Définition des modèles HMM : Un prototype de HMM est construit pour chaque élément du vocabulaire de la tâche de reconnaissance.

4. Entraînement des modèles : Chaque HMM est initialisé et entraîné avec l’ensemble d’apprentissage 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.

Page 3: Reconnaissance de Yes/No à l’aide du HTK

Organisation d’un espace de travail

On crée la hiérarchie de répertoires suivante : data/ : emmagasine les données d’apprentissage et de

test (signaux acoustiques, étiquettes, etc.) suivant deux sous-répertoires data/train/ et data/test/.

analysis/ : emmagasine les donnés de l’etape d’analyse acoustique.

training/ : emmagasine les fichiers concernant l’initialisation et l’apprentissage.

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).

Page 4: Reconnaissance de Yes/No à l’aide du HTK

Création du corpus d’apprentissage

• L’enregistrement et l’étiquetage sont accomplis à l’aide de l’outil à interface graphique HSLab (boutons rec, stop, mark et labelas) :

HSLab any_name.sig

Après l’etiquetage, on obtient un fichier texte .lab de la forme

4171250 9229375 sil

9229375 15043750 yes

15043750 20430625 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.)

Page 5: Reconnaissance de Yes/No à l’aide du HTK

Analyse acoustique

• Est effectuée à l’aide de l’outil HCopy :

– HCopy -A -D -C analysis.conf -S targetlist.txt

Où analysis.conf est un fichier de configuration pour l’extraction de coefficients acoustiques et targetlist.txt spécifie les noms et locations de chaque signal à traiter et du fichier de coefficients correspondant à générer.

Page 6: Reconnaissance de Yes/No à l’aide du HTK

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

Page 7: Reconnaissance de Yes/No à l’aide du HTK

Définition structurelle des HMM

• Il faut définir le nombre d’états, les fonctions d’observation 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, )

Page 8: Reconnaissance de Yes/No à l’aide du HTK

Entraînement des HMM Elle comprend une phase d’initialisation et une phase

d’entraînement

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 dichiers .mfcc constituant le corpus d’apprentissage label_dir : Répertoire des fichiers d’étiquetage (.lab) correspondant au corpus

d’apprentissage label : indique quel segment étiqueté doit être utilisé sans l’ensemble d’apprentissage

(yes,no, ou sil, puisqu’on 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).