Reconnaissance Vocale - Projet de fin d`étude SCIA promo 2008
Download
Report
Transcript Reconnaissance Vocale - Projet de fin d`étude SCIA promo 2008
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