Reconnaissance Vocale - Projet de fin d`étude SCIA promo 2008

Report
PFE – SCIA 2008
Julien Assémat
David Landais

Présentation générale

Historique & Analyse

Notre démarche

Développement

Conclusion
◦ Méthodes possibles, techniques…
◦ Structures HMM, algorithme N-grams…

Nature du projet :
◦ Programme de reconnaissance vocale
◦ Vocabulaire de grande taille
◦ Orienté retranscription de fichiers audio

Technologies et notions utilisées :
◦
◦
◦
◦
Langage C++
MFCC : FFT, DCT, …
HMM
N-grams

Librairies
◦ HTK : librairie de traitement du signal sonore
◦ FFTW : calcul de transformée de Fourier

Applications envisagées
◦ Commandes vocales
◦ Retranscription de fichiers audio
 Conversations
 Extraits radiophoniques
 Indexation sonore
◦ Dictée vocale

Etapes de la reconnaissance vocale
◦ Pour comprendre les problématiques
◦ Pour comprendre le cheminement technique
 Approche IA pure
 Approche statistique
◦ Pour choisir les techniques utiles à notre application
 Taille du vocabulaire
 Reconnaissance en temps réel ou non

Premiers pas de la reconnaissance vocale
◦ 1950 : reconnaissance de chiffres et voyelles

Vocabulaire limité
◦ 1968 : reconnaissance de mots isolés

Modèle de langage statistique
◦ 1980 : N-grams

Commandes vocales
◦ 1983 : domaine militaire (France)

Reconnaissance de parole continue
◦ 1996 : première machine à dictée vocale (IBM)

Deux méthodes principalement utilisées
◦ Méthode explicite
 Méthode basée sur l’utilisation de connaissances explicites
◦ Méthode implicite
 Méthode basée sur une approche statistique

Méthode explicite
◦ Première approche de la reconnaissance vocale
◦ Basée sur l’utilisation de connaissances explicites :
 Comparaison à des formes de référence (spectres…)
◦ Utilisant des techniques d’IA pure
 Systèmes multi-agents
 Blackboards (Hearsay II)
 Systèmes experts
◦ Méthode peu performante à elle-seule à l’heure actuelle

Méthode implicite
◦ Approche orientée statistique du problème à 2 niveaux
 Niveau acoustique (modèle acoustique)
 Niveau linguistique (modèle de langue)
◦ Nécessite un apprentissage sur des corpus conséquents
◦ Techniques utilisées :
 Hidden Markov Models (HMM)
 Algorithme N-grams
 Réseaux de neurones
◦ Méthode la plus performante à l’heure actuelle

Méthode implicite
◦ Donne les meilleures performances (taux d’erreurs faible)
◦ Reste la plus utilisée dans la reconnaissance vocale
◦ Limites atteintes : gestion des accents, émotions, …

Dans le futur
◦ Retour probable des techniques d’IA pure couplées avec les
méthodes statistiques

Pour notre projet :
◦ Méthode implicite est retenue

Méthode implicite comprend :
◦ Modèle acoustique
◦ Modèle linguistique

Etapes :
◦ Découpage du signal
◦ Coefficients MFCC
◦ Hidden Markov Models (HMM)

Résultat du modèle :
◦ Donne la probabilité de correspondance à un phonème
◦ Puis associer le phonème le plus probable à la tranche

Découpage du signal en tranche
◦ Signal = suite d’amplitudes
◦ Tranches de 10 à 20 ms
◦ Pour chaque tranche, extraction d’un vecteur caractéristique
 Coefficients MFCC
 Vecteur de 12 coefficients

Coefficients MFCC (Mel Frequency Cepstral Coefficient)
◦ Transformée de Fourier sur la tranche
 On obtient le spectre du signal
◦ Projection du spectre sur l’échelle de Mel
 Bancs de filtres triangulaires
 Approximation du système auditif humain
◦ Application de la DCT (Discrete Cosinus Transform)

Hidden Markov Models (DAVEUD)
◦ Automates
◦ Un HMM par phonème
 Etats = caractéristiques du vecteur extrait
◦ Un HMM par mot
 Etats = phonèmes
◦ Calculer la probabilité d’une séquence de phonèmes

Hidden Markov Models (DAVEUD)
◦ Automates
◦ Un HMM par phonème
 Etats = caractéristiques du vecteur extrait
◦ Un HMM par mot
 Etats = phonèmes
◦ Calculer la probabilité d’une séquence de phonèmes

Hidden Markov Models (DAVEUD)
◦ Automates
◦ Un HMM par phonème
 Etats = caractéristiques du vecteur extrait
◦ Un HMM par mot
 Etats = phonèmes
◦ Calculer la probabilité d’une séquence de phonèmes

Travail sur la syntaxe et la sémantique propre à la langue
◦ Probabilité qu’une suite de mots existe dans la langue
◦ Introduction de la notion d’approximation avec N-grams

Algorithme N-grams
◦
◦
◦
◦
Agrégation en 2 ou 3 mots avec une probabilité associée
Approximation de probabilités de séquences plus longues
Calcul des probabilités sur ces séquences plutôt que sur des mots
Probabilité d’obtenir un mot connaissant les mots précédents

Implémentation du modèle acoustique
◦ Analyse du signal
◦ Découpage en tranches
◦ Extraction des coefficients MFCC
◦ Mise en pratique des HMM pour les phonèmes

Problèmes rencontrés
◦ Corpus gratuits dédiés à l’apprentissage vocal très rares
 Nécessite beaucoup de travail pour les éditeurs
◦ Complexité mathématique de certaines notions
 Utilisation de librairies spécifiques

Nombreuses manières de voir le problème
◦ Dépend de l’application : commandes, dictée vocale

Mise en pratique de concepts
◦ Traitement du signal
 FFT, DCT, MFCC
◦ Traitement du langage naturel
 N-grams

Permet une approche concrète de ces domaines

similar documents