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