Développement d un système de reconnaissance de parole avec HTK

Documents pareils
Apprentissage Automatique

Abdenour Hacine-Gharbi. Sélection de paramètres acoustiques pertinents pour la reconnaissance de la parole

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

N SIMON Anne-Catherine

Étude de la performance des modèles acoustiques pour des voix de personnes âgées en vue de l adaptation des systèmes de RAP

Parcours FOAD Formation EXCEL 2010

Etude et conception d un serveur vocal :

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Création d un formulaire de contact Procédure

La syllabe (1/5) Unité intuitive (différent du phonème) Constituant essentiel pour la phonologie au même titre que phonème et trait

Ministère de l Enseignement Supérieur et de la Recherche Scientifique

Introduction à MATLAB R

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Projet de Master en Informatique: Web WriteIt!

Indications pour une progression au CM1 et au CM2

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

PRESENTATION DU LOGICIEL

TEXT MINING von 7

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Notion de base de données

Programmes des classes préparatoires aux Grandes Ecoles

Morphosyntaxe de l'interrogation en conversation spontanée : modélisation et évaluations

Rappels sur les suites - Algorithme

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Un exemple avec WORKSPACE d'interwrite

données en connaissance et en actions?

Une empreinte audio à base d ALISP appliquée à l identification audio dans un flux radiophonique

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Demande d admission au Centre pédagogique Lucien-Guilbault Secteur primaire

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Nom de l application

Technologies mobiles pour la reconnaissance vocale des langues africaines

Business Intelligence avec SQL Server 2012

Plan de formation des Personnels en CUI-CAE Année

Modules Multimédia PAO (Adobe)

Leçon 18 Coupes et sections

1 Description générale de VISFIELD

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Introduction : présentation de la Business Intelligence

Des conditions d accueil privilégiées au lycée Couperin

Reconnaissance automatique de la parole à l aide de colonies de fourmis

Comment mettre en page votre livre

: seul le dossier dossier sera cherché, tous les sousdomaines

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Les technologies du Big Data

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web.

CATALOGUE DES FORMATIONS 2014

Limitations of the Playstation 3 for High Performance Cluster Computing

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

VOS PREMIERS PAS AVEC TRACENPOCHE

En vue de l'obtention du

Programmation parallèle et distribuée

CRÉER DES LEÇONS AVEC L'ÉDITEUR DU LOGICIEL 1000 MOTS POUR APPRENDRE À LIRE EN FRANÇAIS, ANGLAIS ET ALLEMAND

Qu est-ce que la communication?

Chapitre 1. Prise en main

LE PROBLEME DU PLUS COURT CHEMIN

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Livret personnel de compétences

Créer le schéma relationnel d une base de données ACCESS

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Document d aide au suivi scolaire

Modélisation du comportement habituel de la personne en smarthome

CHAPITRE IX : Les appareils de mesures électriques

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Projet de Traitement du Signal Segmentation d images SAR

Logiciel XLSTAT version rue Damrémont PARIS

BES WEBDEVELOPER ACTIVITÉ RÔLE

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

CATALOGUE FORMATION 2014/2015 Produits & Logiciels

Programmes des classes préparatoires aux Grandes Ecoles

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Programmation Web. Madalina Croitoru IUT Montpellier

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Et si vous faisiez relire et corriger vos textes par un professionnel?

4D v11 SQL Release 5 (11.5) ADDENDUM

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Automatisation de l administration système

Algorithmique avec Algobox

Chapitre 6 Apprentissage des réseaux de neurones et régularisation

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

La (les) mesure(s) GPS

Reconnaissance du locuteur

Annexe commune aux séries ES, L et S : boîtes et quantiles

Dévéloppement de Sites Web

Visual Paradigm Contraintes inter-associations

Communiqué de Lancement

Qualité du logiciel: Méthodes de test

I. Introduction aux fonctions : les fonctions standards

Mon aide mémoire traitement de texte (Microsoft Word)

Guide d installation CLX.PayMaker Office (3PC)

Drupal Contributeur. Maitrisez la publication sous Drupal. Une formation Formateur : Fabien Crépin. Drupal Contributeur.

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

Mise en forme d'un document écrit sous Word - quelques rappels pour consolider ses connaissances -

Transcription:

Développement d un système de reconnaissance de parole avec HTK HTK (pour Hidden Markov Model Toolkit ou «boîte à outils pour modèles de Markov cachés») est un ensemble de librairies et de programmes en langage C développés à l Université de Cambridge sous la direction de S. Young à partir de 1989, pour faire de la reconnaissance de parole avec des HMM. Depuis septembre 2000, HTK est distribué gratuitement sur le site http://htk.eng.cam.ac.uk pour une utilisation non commerciale et maintenu par P. Woodland et ses collègues. HTK permet de faire des systèmes de reconnaissance de parole à petit/moyen vocabulaire, avec une grammaire simple (par automate ou par bigramme). On peut aussi l utiliser pour autre chose que de la parole (reconnaissance d écriture manuscrite par HMM, par exemple). L équipe de Cambridge a obtenu de très bons résultats en reconnaissance de parole sur les tâches «Wall Street Journal» et «Broadcast News», lors des évaluations américaines DARPA/NIST des années 90 et en transcription de parole spontanée depuis. Un décodeur plus performant permettant l utilisation de trigrammes a ensuite été intégré. Présentation générale de HTK HTK est constitué d une vingtaine de programmes autonomes, dont les paramètres sont transmis par la ligne de commande ou par des variables d environnement, et qui réalisent chacun une étape de l apprentissage ou de la reconnaissance. On peut les enchaîner automatiquement par des scripts (en C-shell, Perl, etc). Le manuel de HTK est très complet, avec un tutorial général, une présentation approfondie et un manuel de référence des différents modules. Le 1 er chapitre constitue une bonne introduction à la reconnaissance de la parole par HMM. La documentation est aussi disponible au format HTML pour une consultation en ligne. L illustration suivante, tirée du manuel, donne l architecture globale du développement d un système de reconnaissance : C. Barras, LIMSI-CNRS Présentation de HTK 1

Description synthétique des outils de HTK Manipulation du signal et des paramètres HList Affiche le contenu d un fichier (signal ou paramètres) HCopy Copie et convertit des fichiers d un format à un autre (en particulier calcule des paramètres LPC, MFCC - à partir d un signal) HQuant Réalise la quantification vectorielle des paramètres d apprentissage HCompV Calcule la moyenne et la matrice de covariance de fichiers de paramètres (permet d initialiser les modèles en l absence de segmentation initiale) Manipulation des étiquettes HSLab Edition interactive de fichiers d étiquetage avec affichage du signal HLEd Edition automatisée des fichiers d étiquetage (suppression, remplacement, fusion d étiquettes ) HLStats Calcule diverses statistiques sur des fichiers d étiquetage, en particulier des matrices bigrammes utilisées en reconnaissance Manipulation de la grammaire et du dictionnaire HBuild Convertit une grammaire probabiliste dans un format connu du décodeur HParse Convertit une grammaire déterministe dans un format connu du décodeur HSGen Génère aléatoirement des phrases respectant une grammaire HDMan Crée un dictionnaire de prononciation adapté à la tâche Apprentissage et manipulation des modèles HInit Apprentissage initial d un modèle en mode isolé par l algorithme de Viterbi HRest Re-apprentissage d un modèle en mode isolé par l algorithme de Baum- Welch (une itération) HERest Ré-apprentissage de tous les modèles en mode connecté (sur du signal non segmenté) par l algorithme de Baum-Welch (une itération) HHEd Edition des modèles au moyen d un script (duplication de modèles, augmentation du nombre de gaussiennes, création de triphones ) HEAdapt Adaptation supervisée des modèles par les techniques MLLR ou MAP HSmooth Lissage de modèles dépendants du contexte par l algorithme «deleted interpolation» (utilisation très spécifique) Reconnaissance et évaluation: HVite Décodage par l algorithme de Viterbi HResults Calcul du taux d erreur de la reconnaissance en comparaison avec le fichier de référence Syntaxe des programmes Chaque programme, lorsqu il est lancé sans paramètres, fournit un résumé de sa syntaxe (ex : HInit ). Certaines options sont communes à un grand nombre d outils : -C config désigne un fichier de configuration pour l exécution de la commande -D affiche les valeurs de configuration utilisées -S filelist ajoute à la ligne de commande la liste de noms contenue dans le fichier -T trace affiche une trace d exécution (d autant plus précise que la valeur est élevée) -V affiche la version de l outil C. Barras, LIMSI-CNRS Présentation de HTK 2

Architecture d un système de reconnaissance avec HTK Les principaux outils de HTK s'enchaînent naturellement pour réaliser les différentes étapes d'un système de reconnaissance: calcul des paramètres du signal, apprentissage des modèles, et expériences de reconnaissance. Définition de la tâche Il faut définir la grammaire de la tâche, la liste des mots du vocabulaire, et un dictionnaire de prononciation de ces mots dans les unités acoustiques modélisées (en phonèmes par exemple). A partir d une grammaire déterministe à états finis décrite dans un fichier texte sous forme d expressions régulières, HParse produit un réseau utilisable par le décodeur pour contraindre la recherche. Si l on utilise plutôt une grammaire probabiliste, par exemple un bigramme estimé par HLStats sur des données d apprentissage transcrites, HBuild sera utilisé pour produire le réseau correspondant. HDMan est utilisé pour produire un dictionnaire de prononciation adapté au lexique à partir de plusieurs sources d information disponibles (dictionnaires phonétisés pré-existants, par exemple). Enregistrement des données Pour un bon apprentissage des modèles, il est nécessaire de disposer de grandes quantités de données de parole transcrite. Il faut d abord enregistrer des phrases représentatives de la tâche ; des textes peuvent être générés automatiquement par HSGen à partir d une grammaire déterministe. Une fois l enregistrement réalisé, HList permet d'afficher la valeur numérique des échantillons d'un fichier de signal. L'outil HSLab, destiné à l enregistrement et à l'étiquetage manuel d'un signal, peut aussi servir à afficher simplement le signal temporel et à le jouer. Transcription des données d apprentissage Les phrases d'apprentissage doivent être toutes accompagnées d un étiquetage de référence, au minimum une transcription orthographique. Si l on travaille avec de la parole lue, on dispose normalement déjà du texte, qu il suffit de traduire dans un format reconnu par HTK. Si l on travaille sur de la parole spontanée, il est nécessaire de réaliser une transcription a posteriori, ce qui est beaucoup plus long. Il existe des bases de données de parole avec une segmentation et un étiquetage au niveau phonétique, ce qui facilite l initialisation des modèles acoustiques, mais elles sont en quantité limitées et très coûteuses à réaliser. L'éditeur HLEd permet de modifier les étiquettes (mots ou phonèmes), par exemple pour regrouper plusieurs phonèmes différents dans une seule classe ou pour fusionner des segments adjacents, ou de fabriquer une transcription phonétique à partir de la transcription en mot et du dictionnaire de prononciation. Afin d évaluer les performances du système, il est nécessaire de réserver certaines phrases transcrites pour le test : elles ne seront donc pas utilisées pour l apprentissage. Calcul des paramètres du signal Avant l apprentissage des modèles acoustiques ou la reconnaissance, il faut passer d'une représentation temporelle du signal à une représentation fréquentielle. Des paramètres classiques pour représenter le signal sont les coefficients LPCC ou MFCC (coefficients cepstraux répartis sur une échelle fréquentielle perceptive Mel) typiquement une douzaine et l'énergie du signal, calculés toutes les 10 ms sur une fenêtre de 20 à 30 ms de signal. L outil HCopy permet, associé à un fichier de configuration adéquat, de calculer les paramètres d un signal. C. Barras, LIMSI-CNRS Présentation de HTK 3

Le contenu du fichier de paramètres peut être lui aussi affiché par HList. Les paramètres différentiels (dérivées première et seconde des coefficients MFCC) améliorent les performances des systèmes de reconnaissance, mais HTK permet de les calculer à la volée avant l apprentissage et la reconnaissance, sans les stocker dans un fichier. Définition des prototypes Pour une tâche donnée, il faut choisir ce que l on modélise : des mots ou des unités plus courtes (typiquement des phonèmes), éventuellement dépendantes du contexte (biphones, triphones). Ensuite, il faut choisir la topologie des modèles de Markov : nombre d états, transitions possibles entre états. Un des modèles les plus utilisés pour les phonèmes est un modèle gauche-droit à 3 états avec bouclage possible sur chaque état. Enfin, il faut définir le type de densité de probabilité associée aux états ou aux transitions. La loi la plus utilisée est une gaussienne multi-variable ou une combinaison linéaire de gaussiennes. Modèle gauche-droit Ceci fait, il faut créer, dans la syntaxe de HTK, un prototype du modèle choisi, en donnant une valeur par défaut aux probabilités d'émission des états (décrites par la moyenne et la matrice de covariance des gaussiennes) ainsi que les probabilités de transition sous forme d une matrice. La matrice de covariance, théoriquement symétrique, peut être rendue diagonale si l'on suppose l'indépendance entre les composantes des vecteurs de paramètres, et les vecteurs de paramètres peuvent aussi être séparés en flux de données indépendants. Il n'existe malheureusement pas d'outil standard pour générer les prototypes, mais des scripts et des exemples sont fournis, et les modèles sont enregistrés dans des fichiers texte, ce qui facilite leur manipulation. A noter que, dans HTK, les observations sont émises au niveau des états et non des transitions; de plus, un état non-émetteur est rajouté au début et à la fin du modèle pour faciliter la connexion des modèles en parole continue. Initialisation des modèles Pour chaque modèle de phonème, le prototype est utilisé pour apprendre les lois de probabilité associées. Si l on dispose d une partie de la base étiquetée phonétiquement, on peut faire une initialisation des modèles en mode isolé : les segments de la base d'apprentissage qui portent l'étiquette du modèle en cours d'apprentissage sont extraits. Une première étape, avec l'outil HInit, permet une initialisation approximative des probabilités d'émission des états du modèle au moyen de l'algorithme de Viterbi. Une deuxième étape, avec l'outil HRest, permet une réestimation plus fine des lois de probabilités avec l'algorithme optimal de Baum-Welch. A chaque étape, plusieurs itérations de l'algorithme sont appliquées au modèle, et le modèle final maximise la probabilité que ces observations aient été émises par le modèle. Si l on ne dispose pas d un étiquetage fin permettant cette initialisation, on peut se contenter d une initialisation globale, en attribuant à chaque densité de probabilité de chaque modèle la moyenne et la variance de l ensemble des données d apprentissage, avec l outil HCompV, puis en poursuivant avec une réestimation en modèles connectés ; mais ceci nécessite une quantité de données d apprentissage plus importante, pour éviter que l apprentissage diverge. C. Barras, LIMSI-CNRS Présentation de HTK 4

Réestimation des modèles L'outil HERest, qui applique le même algorithme que HRest mais en mode connecté, permet une ré-estimation simultanée de tous les modèles acoustiques. A partir de données d apprentissage étiquetées en mots, le dictionnaire de prononciations est utilisé pour produire la chaîne phonétique correspondante, avec éventuellement des variantes de prononciation et des silences optionnels. Plusieurs itérations de HERest sont nécessaires pour que l'estimation converge. Amélioration des modèles La densité de probabilité utilisée pour estimer la probabilité d'observation des premiers modèles acoustiques est en général une simple loi normale à matrice de covariance diagonale. Pour améliorer la modélisation des probabilités, on peut choisir une combinaison linéaire de gaussiennes (ou multi-gaussienne) au lieu d'une seule. Bien qu'il soit possible d'apprendre directement un modèle à multi-gaussiennes, il est plus efficace d'augmenter progressivement le nombre de gaussiennes à partir d'un modèle mono-gaussien. L'éditeur de modèles HHEd réalise l'augmentation du nombre de gaussiennes d une densité de probabilité, en dupliquant certaines. Il faut ensuite procéder au ré-apprentissage de tous les modèles par HRest ou HERest. Le choix du nombre optimal de gaussiennes est un problème délicat, guidé par des heuristiques. HTK offre aussi des facilités pour travailler avec des modèles acoustiques contextuels, dépendants des contextes phonétiques gauches et/ou droits, ce qui nécessite de partager des paramètres entre plusieurs modèles lorsque la fréquence d un phonème dans un contexte donné est trop faible pour une estimation fiable des paramètres du modèle. L adaptation de modèles à de nouvelles conditions acoustiques ou à un nouveau locuteur est réalisée en mode supervisé par HEAdapt avec les algorithmes MAP ou MLLR, ou par HVite en mode non-supervisé en MLLR. Décodage Le décodage des phrases de test est réalisé avec l'outil HVite, qui applique l'algorithme de Viterbi pour trouver la chaîne de mots la plus probable correspondant à un fichier de paramètres. Ce décodage est contraint par la grammaire de la tâche : une réseau déterministe, ou un bigramme estimé sur les étiquettes des phrases d'apprentissage par l'outil HLStats. Résultats La transcription obtenue après le décodage est comparée avec l'étiquetage de référence par un alignement dynamique réalisé par HResults, afin de compter les étiquettes identifiées, omises, substituées par une autre, et insérées, et de calculer le taux de reconnaissance. Les résultats fournis sont les taux d'identification correcte des phrases complètes et des mots, ainsi qu un pourcentage global de reconnaissance tenant compte de tous les types d erreurs. Des options permettent obtenir, en plus du taux global de reconnaissance, la matrice de confusion des mots ou l'alignement temporel entre les chaînes de référence et celles résultant de la reconnaissance automatique. C. Barras, LIMSI-CNRS Présentation de HTK 5