Reconnaissance vocale
Transcription
Reconnaissance vocale
Reconnaissance vocale Définition : La reconnaissance vocale ou (Automatic Speech Recognition ASR) est une technologie de transcription d'un système « phonatoire organique » exploitable par une machine. La reconnaissance vocale couplée à des méthodes de synthèse vocale, de commande vocale, d'identification vocale, et de compréhension forme un élément d'une interface homme-machine idéale (10 fois plus de quantité d'information qu'avec une saisie clavier, confort...). La reconnaissance vocale fait partie de la branche traitement de la parole. 1 DOMAINE : La reconnaissance vocale peut se rattacher à de nombreux pans de la science : traitement automatique des langues, linguistique, théorie des langages formels, théorie de l’information, traitement du signal, réseaux neuronaux, intelligence artificielle ... 2 HISTORIQUE : Les travaux sur la reconnaissance vocale datent du début du XXe siècle. Le premier système pouvant être considéré comme faisant de la reconnaissance vocale date de 1952. Ce système électronique développé par Davis, Biddulph, and Balashek aux laboratoires Bell Labs était essentiellement composé de relais et ses performances se limitaient à reconnaître des chiffres isolés. La recherche s'est ensuite considérablement accrue durant les années 70 avec les travaux de Jelinek chez IBM (1972-1993). Aujourd'hui, la reconnaissance vocale est un domaine à forte croissance grâce à la déferlante des systèmes embarqués. 3 PRINCIPË DE BASE : Une phrase enregistrée et numérisée est donnée au programme de reconnaissance vocale. Dans le formalisme ASR, le découpage fonctionnel est le suivant : le traitement acoustique (front-end) permet principalement d'extraire du signal de parole une image acoustique la plus significative possible sur des tranches de temps d'environ 30ms. Cette image se présente sous la forme d'un vecteur de caractéristiques (features extraction) de 10 à 15 composantes principales, auxquelles sont ajoutées les différences de premier et second ordre pour obtenir une taille de 30-45 en final. 4 Le traitement acoustique (front-end) vise à numériser le signal de parole sous forme de vecteurs acoustiques qui constituent les données d'observation pour le système de reconnaissance. On utilise pour cela les techniques de traitement du signal : on découpe le signal en tranches de 30ms en procédant pour chaque tranche à un décalage de 10ms (technique de fenêtrage de hamming) afin d'obtenir 10ms de données significatives pour chaque vecteur. 5 Le signal est alors numérisé et paramétré par une technique d'analyse fréquentielle utilisant les transformées de Fourier (par exemple MFCC (Mel-Frequency Cepstral Coeffcients). 6 L'apprentissage automatique qui réalise une association entre les segments élémentaires de paroles et les éléments lexicaux. Cette association fait appel à une modélisation statistique entre autre par modèles de Markov cachés (HMM, Hidden Markov Models) et/ou par réseaux de neurones artificiels (ANN, Artificial Neural Networks). 7 La reconnaissance (back-end) qui en concaténant les segments élémentaires de paroles précédemment appris reconstitue le discours le plus probable. Il s'agit donc d'une correspondance de motif (pattern matching) temporelle, réalisée souvent par l'algorithme de déformation temporelle dynamique (DTW). 8 LES MODELES : Un tel système s'appuie sur 3 modèles principaux : Modèle acoustique : ce modèle est capable, à partir du signal acoustique, plus précisément du résultat du traitement acoustique, de donner la probabilité que le signal corresponde à chacun des phonèmes possibles de la langue cible. 9 Modèle de prononciation : ce modèle donne pour chaque mot du vocabulaire la ou les prononciations possibles au niveau phonétique avec des probabilités associées. 10 Modèle de langage : ce modèle donne pour chaque suite de mots sa probabilité dans le langage cible. La combinaison de ces trois modèles permet de calculer pour toute suite de mots la probabilité que le signal sonore lui corresponde. Effectuer la reconnaissance, souvent appelée décodage, consiste à trouver celle qui a la probabilité la plus élevée. 11 CLASSIFICATION : Un système de reconnaissance vocale se classifie par un petit nombre de paramètres appelés modes de reconnaissance qui sont corrèles aux difficultés suivantes : 1/ Variabilité inter et intra-locuteur: Les systèmes mono locuteurs (en anglais speaker dependant) effectuent un apprentissage in situ des mots. Les systèmes multi locuteurs (en anglais speaker independant) sont capables de reconnaître un corpus fixe (50 mots environs) quel que soit le locuteur. 12 Les systèmes monolocuteurs sont les plus répandus et tendent notamment à se généraliser grâce à la synthèse Text to speech qui évite la phase d'apprentissage. Naturel du discours: Les systèmes peuvent travailler sur de la parole continue (en anglais continuous speech), des mots isolés (isolated word) ou encore des mots clefs (key spotting). 13 PERFORMANCE : Les performances brutes d'un moteur de reconnaissance vocale sont souvent mesurées en taux d'erreur de mots (Word error rate). On peut, réciproquement, évaluer le taux de succès. Voici quelques résultats en termes de taux d'erreur, pour le français : Textes lus (BREF, système ancien): 8-9% Emissions de radio (campagne ESTER): 10,3% Conversations téléphoniques entre gens ne se connaissant pas: 33% Conversations téléphoniques entre gens se connaissant: 70+% 14 LOGICIELS EXISTANTS : HTK Logiciel développé au CUED § Sphinx 4 Logiciel développé au CMU § teliSpeech Logiciel professionel de telisma § [1] Logiciel professionnel de G2 Speech § Dragon naturally Speaking Logiciel professionnel de Scansoft § Reconnaissance vocale Crescendo Logiciel professionnel dédié au secteur médical § MacSpeech Reconnaissance vocale pour Macintosh § ALIZE Plateforme développée au Laboratoire Informatique d'Avignon (LIA) § Microsoft Windows Vista [2] Reconnaissance vocale intégré a Microsoft Windows Vista § 15