Principes de fonctionnement de la reconnaissance vocale

Transcription

Principes de fonctionnement de la reconnaissance vocale
Principes de fonctionnement de la reconnaissance vocale
22 06 2008
Pour ceux qui veulent comprendre et maîtriser les termes, quelques
explications simples sur le principe de fonctionnement de la
reconnaissance vocale
Nous survolerons les quatre points suivants :
•
•
•
•
Systèmes multi-locuteurs vs mono-locuteur
Principes de base du fonctionnement de la reconnaissance vocale
Grammaires de règles vs Grammaires statistiques
Traitement sémantique
Systèmes multi-locuteurs vs mono-locuteurs
La reconnaissance vocale en l'état actuel de la technologie se différencie
entre reconnaissance monolocuteur et reconnaissance multi-locuteur
La reconnaissance monolocuteur fonctionne sur un poste de travail ou un
ordinateur embarqué (téléphone mobile, PDA) et, après un apprentissage
réduit, permet de dicter un texte en mode continu.
Dans les environnements de type serveur vocal, les systèmes de
reconnaissance vocale sont en revanche multilocuteurs et permettent de
transcrire tout type de voix.
Les systèmes multilocuteurs sont adaptés aux services vocaux grand
public mais ont pour l'instant besoin d'un modèle de langage conséquent
pour guider la reconnaissance. Nous verrons ce qu'est un modèle de
langage plus bas avec notamment la notion de grammaire.
En pratique, les système multilocuteurs sont capables de reconnaître des
mots clés ou des phrases dans un contexte donné (celui du portail vocal),
ils ont donc une étendue plus importante en termes de locuteurs, mais
plus réduit en termes de couverture de langage, que les systèmes
monolocuteurs.
Nous parlerons ci-après des systèmes multilocuteurs.
Principes de fonctionnement de la reconnaissance vocale
Le principe de base de la reconnaissance est le suivant :
la personne en parlant émet des variations de pressions dans son larynx,
les sons produits sont numérisés par le micro du téléphone afin d'être
transmis sur le réseau
ils sont transformés en unités acoustiques (ou vecteurs acoustiques)
le moteur de reconnaissance va alors analyser cette suite de vecteurs
acoustiques en la comparant avec ceux qu'il a en mémoire (son modèle de
langage) et proposer la suite candidate qui lui paraît la plus probable.
Il est donc nécessaire que la suite de vecteurs acoustiques se rapproche
d'une de celles qui est mémorisée par le moteur de reconnaissance.
Afin de créer cette base, il est nécessaire de créer ce que l'on appelle une
grammaire.
Grammaires de règles, grammaires statistiques
On distingue deux types de grammaires : les grammaires de règles et les
grammaires statistiques.
Les grammaires de règles sont des descriptions des phrases possibles,
transformées par le moteur en une représentation accoustique qui sera
comparée avec ce qui est prononcé. Si la phrase prononcée par
l'utilisateur se rapproche acoustiquement d'une de celles présentes dans
la grammaire, alors le moteur remonte cette phrase, sinon il indique qu'il
n'a pas compris par un "no match".
Les grammaires statistiques découlent du calcul, à partir d'un corpus de
phrases, des probabilités de suites de mots (mots isolés, suite de deux
mots, suite de trois mots). On parle de bigrammes pour les suites de deux
mots, de trigrammes pour trois et n-gram pour n. Après compilation
phonétique et acoustique, la grammaire n-gram permet au moteur de
proposer la suite de mots la plus probable en comparaison avec la parole
prononcée. Lorsque le moteur utilise une grammaire statistique, on
obtient toujours une phrase en retour qui, d'après le moteur, est la plus
probable. A l'inverse les grammaires déterministes, lorsque le seuil de
confiance est trop bas, génèrent un "no match". La stratégie de dialogue
consiste alors à faire répéter ou confirmer le locuteur.
Par conséquent, pour faire une classification/routage d'appel, les
grammaires statistiques sont préférables, elles vont permettre de
transcrire la parole en une suite de mots qui par un traitement
sémantique sera rapprochée de la catégorie la plus vraisemblable.
En revanche, pour les saisies de formulaires où l'important est de
s'assurer que les données transcrites par le moteur sont bien celles
prononcées, les grammaires de règles sont plus sûres.
En pratique, nous placerons des grammaires statistiques le plus souvent à
l'index afin de classer la réponse à une question du type "que voulezvous ?", à l'opposé, pour la saisie d'un numéro de carte bleue, on utilisera
des grammaires de règles afin d'éviter les erreurs de saisie, avec une
stratégie de dialogue permettant de faire répéter le locuteur en cas de no
match.
Traitement sémantique : comment le système comprend-il le sens
de la phrase ?
Une fois que le moteur a retourné la phrase reconnue, une étape
supplémentaire pour rendre le système interactif consiste à extraire le
sens de la phrase.
Dans le cas des grammaires de règles, cette phase sémantique est
réalisée à la construction de la grammaire : en même temps que l'on
construit la base des phrases possibles, on associe à chaque phrase ou
chaque groupe de mots dans la phrase un tag sémantique qui va
permettre au moteur de retourner, en même temps que la phrase
reconnue, la valeur des tags sémantiques permettant ainsi, d'une part, de
classer la phrase selon une famille de sens et, d'autre part, d'extraire la
valeur des variables contenues dans la phrase : par exemple "je voudrais
commander deux chéquiers format classique" retourne un tag de
commande de chéquiers, avec les variables renseignées suivantes :
nombre de chéquiers = 2, format chéquier = classique.
Dans le cas des grammaires statistiques, l'opération sémantique est, en
général, plutôt limitée à la classification sémantique de la phrase, bien
que le système permette en théorie de parser sémantiquement les
variables contenues dans la phrase. La classification sémantique s'effectue
par la génération de règles sémantiques, qui vont opérer sur la phrase
transcrite par le moteur afin de la classer vers sa famille la plus
vraisemblable.
En résumé il faut retenir :
•
•
•
•
•
Les serveurs vocaux utilisent des systèmes de reconnaissance
vocale multilocuteurs
Un moteur multilocuteur a besoin de grammaires pour optimiser sa
reconnaissance
Il existe deux types de grammaires : les grammaires de règles et les
grammaires statistiques
Les grammaires de règles sont adaptées aux dialogues dirigés et à
la saisie de variables
Les grammaires statistiques sont adaptées aux phases de routage
du dialogue
Retrouvez tous nos articles sur http://www.sonear.com/dotclear