Les technologies clés |
Reconnaissance de la parole |
Fiche Technologie-clé n : 57
VERSION 3
La reconnaissance de la parole consiste à transcrire une voix humaine en informations numériques reconnaissables par l'ordinateur, en vue d'effectuer une action a posteriori, notamment dans le cadre d'interfaces homme-machine.
- Techniques mises en oeuvre :
La reconnaissance de la parole est une technologie pluridisciplinaire. Elle fait intervenir les compétences conjointes de spécialistes dans les domaines du traitement de signal, de l'acoustique, de l'intelligence artificielle, de la linguistique, de la phonétique, de la physiologie, de la psychologie cognitive et de l'ergonomie.
L'interface Homme-Machine est souvent un élément négligé par les concepteurs. C'est pourtant la partie du système à laquelle on doit apporter le plus grand soin, car celle-ci est "vue" par l'utilisateur. Quelle que soit la qualité intrinsèque d'un produit, une mauvaise interface provoque toujours une impression désagréable, devenant souvent un critère de rejet pour ses utilisateurs potentiels, et cela peut conduire à un échec commercial. La reconnaissance de la parole, plus que tout autre moyen de communication avec la machine, n'échappe pas à cette règle. Aussi, de nombreux produits voient le jour à l'heure actuelle afin d'être intégrés dans des applications grand public ou professionnelles (dictée automatiques, bornes d'informations, serveurs vocaux, etc.).
Compréhension par un ordinateur des mots énoncés par une voix humaine.
Il existe globalement deux méthodes utilisées dans le cadre de la reconnaissance automatique de la parole : les approches "analytiques" (qui utilisent des connaissances linguistiques pour augmenter les performances de la reconnaissance), et les méthodes dites "globales" ou les mots sont considérés comme du signal quelconque qu'on compare à des références sans décomposition préalable. Cette méthode résulte d'une simplification du problème de façon à le rendre plus abordable. Elle ne permet pas la reconnaissance de parole continue en raison de l'explosion combinatoire des références : il faudrait en effet conserver en mémoire des portions de phrases voire même des phrases entières.
Il est intéressant de détailler les différentes étapes d'un processus de reconnaissance de la parole, car elles font chacune l'objet de travaux approfondis (certains laboratoires s'étant même spécialisés sur un seul segment de la chaîne de la reconnaissance) .
- Traitement du signal
Une des premières actions consiste à mettre en forme le signal de parole pour éliminer les bruits parasites mais également pour en extraire les paramètres pertinents. Ce dernier point est généralement résolu par des analyses que l'on peut classer en 3 groupes :
- Décodage acoustico-phonétique
Il s'agit ensuite de décomposer les mots en unités symboliques discrètes - sortes d'"atomes" du langage - qui vont permettre de décrire aussi bien les mots de référence contenus dans le dictionnaire que les mots que l'on cherche à reconnaître. Une unité idéale existe et permet de décrire tous les sons caractérisant une langue : c'est le phonème. La plupart des langues comportent moins d'une centaine de phonèmes. Plusieurs voies de recherche sont actuellement empruntées pour atteindre ce but. On distingue globalement 3 approches :
- Reconnaissance des limites de mots
Plusieurs techniques coexistent suivant le degré de performance des systèmes. L'une des plus simples consiste à exiger de l'utilisateur qu'il prononce ses mots de façon séparée. La reconnaissance de début et de fin se fait par des techniques de normalisation du signal par rapport au bruit de fond (seuillage par exemple).
Pour les systèmes de reconnaissance de parole continue à faible vocabulaire mettant en jeu la technique du Word Spotting, la difficulté provient du fait que l'on ne connaît pas l'ensemble du vocabulaire prononcé par le locuteur, mais seulement quelques dizaines de mots. Pour contourner ce problème, on enregistre une référence "poubelle" constituée d'une moyenne des unités phonétiques enregistrées lors de la phase d'apprentissage, mais n'appartenant pas au vocabulaire. Lorsque le signal observé est corrélé de façon plus forte à cette référence "poubelle" qu'aux références du vocabulaire, il s'agit probablement d'un début ou d'une fin de mot.
Dans les systèmes de reconnaissance de parole continue à grand vocabulaire, la quasi totalité des mots prononcés est connue. On peut donc savoir si l'on se trouve dans le dernier état du dernier phonème d'un mot. Cependant, cette certitude n'est pas absolue à un instant donné. On est donc obligé d'attendre qu'une phrase ou qu'un groupe de mots suffisant soit prononcé pour choisir parmi les différentes possibilités celle qui paraît la plus vraisemblable, éventuellement en recourant à des connaissances supplémentaires. Le problème de la reconnaissance est de ce fait plus complexe que dans les cas précédents.
- Reconnaissance des mots
Tant que le vocabulaire reste faible (de l'ordre d'une centaine de mots), il est possible de comparer les entités détectées à l'ensemble des références du dictionnaire. Ceci est en revanche inconcevable pour les systèmes à grand vocabulaire. On peut exploiter alors le partitionnement des mots, réalisé dans le décodage acoustico-phonétique, pour représenter le vocabulaire en arborescence d'unités linguistiques. Vient ensuite la possibilité de reconnaître le sens de la phrase. Cet aspect de la recherche est très nettement dominé par les techniques classiques d'intelligence artificielle.
Les voies qui restent à explorer sont nombreuses. Cependant on peut distinguer quelques axes privilégiés qui semblent faire l'unanimité des chercheurs. Il s'agit de :
Evolutions économiques :
On peut classer les différents produits selon leurs performances techniques, à savoir reconnaissance de mots isolés par rapport à parole continue, systèmes monolocuteurs par rapport à systèmes multilocuteurs, etc. :
On rencontre ce type de reconnaissance dans les systèmes de pilotage d'application les plus simples, correspondants à des situations connues à l'avance (jeu de commandes d'un système d'exploitation, réponses à des questions ou à des choix proposés par un serveur vocal, etc.). Les vocabulaires requis sont généralement limités car l'utilisateur ne répond que par un seul mot.
Mais la reconnaissance de mots isolés est également utilisée par des applications haut de gamme, telles que la dictée automatique. Ces systèmes imposent à l'utilisateur d'espacer chacun des mots prononcés de courtes pauses. Quelle que soit la brièveté de ces pauses, il en résulte un mode de diction très peu naturel qui requiert de l'utilisateur un certain entraînement. Ils ne peuvent donc, pour cette raison, s'adresser à un public très large.
Si la plupart des applications peuvent se limiter à la reconnaissance de quelques mots-clés, il n'en est pas de même pour les applications "grand public" (serveurs vocaux, bornes d'informations) où une telle lourdeur risque d'entraîner un phénomène de rejet de la part des utilisateurs. La majorité des systèmes de dictée automatique rencontrés actuellement fonctionne en "mots isolés", du fait de la maîtrise encore très incertaine de la reconnaissance en continu. Cette technique qui apporte un confort d'utilisation indéniable est beaucoup plus complexe que la précédente en raison de phénomènes de coarticulation ou de liaisons entre mots contigus. Les systèmes les plus rudimentaires utilisent la technique du "Word Spotting". On se base sur le fait que la reconnaissance de quelques mots clés suffit généralement à reconnaître le sens de la phrase. D'autres systèmes, de complexité moyenne, réduisent la difficulté de la tâche de reconnaissance en conseillant au développeur de contraindre fortement le dialogue. Ainsi par le choix judicieux des questions posées par le système, la variabilité des réponses peut diminuer fortement.
En raison de la variabilité importante du signal de parole entre locuteurs différents, de nombreux systèmes ne peuvent fonctionner qu'avec un seul locuteur. Les plus simples se contentent de stocker et de rapprocher les différentes prononciations d'un même mot, ce qui suppose de la part de l'utilisateur un entraînement préalable du système. D'autres possèdent déjà une représentation standard des unités phonétiques, réalisée par le constructeur, complétée par une phase d'apprentissage durant laquelle on améliore le modèle en fonction des caractéristiques de la voix de l'utilisateur. C'est le cas du système de dictée automatique d'IBM par exemple.
Les systèmes multilocuteurs peuvent être utilisés instantanément sans phase d'apprentissage. Pour cette raison, ils sont plus précisément adaptés aux applications visant un large public. Leur mise au point requiert cependant de la part du constructeur un travail important. La technique de Word-Spotting, bien qu'actuellement encore très utilisée dans les produits industriels pour des raisons à la fois techniques et économiques, va dans la mesure où les contraintes hardware (poids, volume) et coûts le permettront, progressivement céder le pas à la reconnaissance de parole continue. Celle-ci, sur des systèmes à grand vocabulaire, est d'ores et déjà une réalité. Si peu de produits sont actuellement industrialisés, de nombreux laboratoires possèdent déjà des prototypes en état de marche (pour un fonctionnement, il est vrai, rarement en temps réel). L'aspect multilocuteur ne semble pas constituer une difficulté pour ces systèmes. Le problème se pose pour le choix d'un échantillon suffisamment représentatif de la population visée pour alimenter la base de données. La puissance de calcul requise dit être très importante. Elle est cependant à la portée de quelques processeurs RISC mis en parallèle. Il ne semble pas qu'un accélérateur matériel spécifique apporte un surcroît de performance significatif. Devant la progression constante de la capacité de calcul des processeurs d'usage général, on peut penser que d'ici quelques années, un seul processeur sera suffisamment puissant pour traiter le problème. Le principal obstacle à la généralisation d'applications de reconnaissance de la parole réside en la difficulté à constituer des bases de données réutilisables. La disponibilité de nouveaux produits fiables est également liée à la taille du marché visé pour le pays concerné. On trouve ainsi quelques systèmes intégrant le japonais, le cantonnais, le portugais "brésilien" ou même l'anglais "africaaner", bien que ces langues ne soient pas très répandues en dehors des pays concernés.
De nombreux programmes de recherche sont actuellement en cours dans le monde. Il est probable que l'apport conjoint de différentes techniques, jusque là opposées, permettra de résoudre le problème de la reconnaissance automatique de la parole. L'étendue des compétences et des moyens nécessaires à une telle fusion ne peut évidemment se trouver dans un seul laboratoire. Cependant un niveau satisfaisant a d'ores et déjà été atteint puisque de nombreux systèmes de reconnaissance continue existent dans les laboratoires. La recherche se concentre maintenant sur la diminution du taux d'erreur notamment dans les phases de décodage acoustico-phonétique où celui-ci reste encore assez important, ainsi que sur les aspects de compréhension du sens. Lorsque l'on disposera de bases de données en nombre suffisant, il sera alors possible de "durcir" les systèmes de reconnaissance automatique en identifiant le type de locuteur, son accent ou même son âge et en chargeant dans le système un dictionnaire approprié. A noter également certaines expériences de traduction simultanée de la voix transmise par téléphone (expérimentation de l'ATM), une personne parlant en japonais à un interlocuteur recevant quasiment en temps réel la traduction en anglais du discours émis. Il est également à noter qu'un grand nombre de projets ont été mis en place dans le cadre de la Commission de l'Union Européenne :
D'autres ont un caractère applicatif plus prononcé. Par exemple :
Dans le cadre d'actions préparatoires au lancement des études "ingénierie du langage", sous ensemble du programme "Applications télématiques" du 4ième programme cadre européen (1994-1998), un programme a été lancé par la Commission Européenne en mars 1994. Ce programme est baptisé MLAP (MultiLingual Action Plan).
Parmi les projets retenus, on peut citer :