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

Documents pareils