Brevet FR2790586A1 — publié le 20000908

PROCEDE ET DISPOSITIF DE RECONNAISSANCE VOCALE La présente invention concerne un procédé et un dispositif de reconnaissance vocale. L'invention se rapporte au domaine de la reconnaissance vocale. Elle s'applique à tout dispositif de reconnaissance vocale acceptant en entrée, d'une part un ensemble (ou vocabulaire) de phrases prédéfinies et d'autre part une phrase à reconnaître (le terme "phrase" doit être compris au sens large et désigne notamment un mot ou un assemblage de mots), et délivrant en sortie une phrase reconnue, cette dernière10 étant la phrase du vocabulaire qui est phonétiquement la plus proche de la phrase à reconnaître. De tels dispositifs comprennent des moyens matériels (électroniques), des moyens logiciels, ou les deux. Ils sont présents, par exemple, dans les micro-ordinateurs. Ils sont alors utilisés par des logiciels qui présentent une fonction de reconnaissance vocale, par exemple pour la saisie de textes ou de commandes par l'utilisateur. Notamment, l'invention s'applique à un système interactif d'apprentissage d'une langue étrangère. Un tel système comprend un micro-ordinateur avec notamment un dispositif de reconnaissance vocale et des organes périphériques (écran, clavier, souris, microphone, haut-parleurs, etc...), ainsi qu'un logiciel pour faire fonctionner le micro-ordinateur sous la commande d'un utilisateur. Cependant, d'autres applications du principe de l'invention sont envisageables. L'utilisateur d'un système interactif d'apprentissage d'une langue étrangère doit, selon certains exercices pratiques, prononcer oralement certaines phrases dans la langue étrangère. Par exemple, un exercice classique consiste à lire ou répéter à haute voix une phrase qui lui est proposée, respectivement sous forme visible (sur l'écran du micro- ordinateur) ou audible (à l'aide d'un dispositif de synthèse vocale du micro-ordinateur). Dans d'autres exercices, l'utilisateur doit répondre à haute voix à une question qui lui est posée sous forme visible ou audible, la réponse attendue ayant en général une structure préalablement définie au moyen d'un exemple. Une phrase ainsi prononcée par l'utilisateur est une phrase à reconnaître fournie en entrée du dispositif de reconnaissance vocale. Celui-ci comprend des moyens pour délivrer une phrase reconnue, ainsi qu'il a été dit plus haut. La phrase reconnue est comparée à une phrase de référence. Cette phrase de référence est la phrase attendue correctement prononcée dans la langue étrangère. En cas d'égalité, le logiciel poursuit son exécution pour aborder l'exercice suivant. Dans les autres cas, le logiciel peut inviter l'utilisateur à prononcer à nouveau la même phrase, afin d'améliorer sa prononciation. Cependant, l'utilisateur ignore en général en quoi sa première prononciation était incorrecte. Il ne peut donc pas toujours comprendre sur quelle(s) partie(s) de la phrase il doit améliorer sa prononciation. Une solution consiste à afficher la phrase reconnue sur l'écran du microordinateur, afin de permettre à l'utilisateur de se rendre compte par lui-même de la façon dont le dispositif de reconnaissance vocale a (de manière erronée) compris la phrase qu'il a prononcée. Néanmoins, l'interprétation par l'utilisateur de la phrase reconnue n'est pas aisée, surtout lorsque la phrase à prononcer est longue. C'est pourquoi les systèmes d'apprentissage d'une langue étrangère connus ne permettent pas, en général, la prononciation de phrases longues. Ceci est regrettable. Le but de l'invention est de permettre la détection et la localisation d'une erreur relative à un ou plusieurs mots déterminés d'une phrase reconnue par un dispositif de reconnaissance vocale, notamment en vue de permettre la prononciation de phrases relativement longues dans les systèmes interactifs d'apprentissage d'une langue étrangère. Ce but est atteint, conformément à l'invention, grâce à un procédé de reconnaissance vocale, notamment pour système d'apprentissage interactif d'une langue étrangère, caractérisé en ce qu'il comporte les étapes suivantes: a) génération d'un vocabulaire de base E comprenant N mots différents, o N est un nombre entier; b) pour chaque mot déterminé Mi d'une phrase de référence ayant Q mots distincts, o Q est un nombre entier supérieur à l'unité, génération d'un vocabulaire spécifique EMi à partir du vocabulaire de base E, en retirant de celui-ci les Pi mots phonétiquement les plus proches dudit mot Mi, o Pi est un nombre entier qui est inférieur à N et qui peut être nul; c) génération d'un vocabulaire actif comprenant la phrase de référence et en outre d'autres phrases qui se distinguent de la phrase de référence par la valeur d'au moins un mot Mi de rang déterminé i dans la phrase, chacune de ces phrases étant une des alternatives de la phrase de référence comprenant, à la place dudit mot Mi, l'un des mots du vocabulaire spécifique associé à ce mot Mi; d) comparaison d'une phrase à reconnaître aux phrases du vocabulaire actif, pour reconnaître celle des phrases de ce vocabulaire qui est phonétiquement la plus proche de la phrase à reconnaître, et, le cas échéant, identification, en fonction de la phrase ainsi reconnue, du rang i d'un mot incorrect par rapport à la phrase de référence. Ainsi, il est possible de détecter et de localiser au moins une erreur, par rapport à une phrase de référence, relative à au moins un mot particulier dans la phrase prononcée par25 l'utilisateur (i.e., la phrase à reconnaître). Cette localisation résulte de l'identification du rang i du mot (ou des mots) incorrect(s) dans la phrase reconnue. Ainsi, dans le cas d'un système interactif d'apprentissage d'une langue étrangère, une éventuelle erreur de prononciation d'au moins un mot particulier dans la phrase peut être indiquée à l'utilisateur afin qu'il améliore sa prononciation de ce mot plus particulièrement. De plus, en modifiant la valeur du rapport Pi/N, on peut modifier la tolérance du système d'apprentissage de la langue étrangère par rapport au mot Mi correspondant. Par tolérance, on entend la propriété du logiciel de ne pas tenir compte de faibles erreurs de prononciation, c'est à dire la propriété de considérer qu'une phrase à été correctement prononcée même si en fait elle ne l'a été que de manière imparfaite. Une certaine tolérance est considérée comme une qualité du système d'apprentissage d'une langue étrangère. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description détaillée qui va suivre. Dans la description qui suit, on considère l'exemple non limitatif de l'application à un système d'apprentissage d'une langue étrangère. Un tel système comprend un logiciel qui est exécuté par un micro-ordinateur, sous la commande d'un utilisateur. Lors de l'utilisation, ce dernier prononce à haute voix des phrases qu'il faut reconnaître pour les comparer à des phrases de référence. Une phrase prononcée par l'utilisateur est transformée en un signal électrique au moyen d'un microphone. Ce signal électrique est éventuellement amplifié. Puis il est transformé en données numériques au moyen d'un convertisseur analogique- numérique. Ces données sont traitées par un dispositif de reconnaissance vocale du micro-ordinateur. Un tel dispositif est par exemple un logiciel exécuté par le micro-ordinateur. On notera que, dans certaines applications, les données numériques correspondantes peuvent placées dans un fichier d'entrée du dispositif de reconnaissance vocale. En variante le dispositif de reconnaissance peut être un circuit électronique dédié à cette tâche. Une phrase de référence PhR comporte par exemple Q mots (o Q est un nombre entier supérieur à l'unité) et se présente sous la forme suivante (on fait abstraction de la ponctuation): PhR: M1 M2 M3... MQ-1 MQ Le procédé de reconnaissance vocale selon l'invention comporte essentiellement quatre étapes principales. La première étape consiste à générer un vocabulaire de base E comprenant N mots différents, o N est un nombre entier. Un tel vocabulaire de base comprend des mots dans la langue étrangère concernée, qui sont sélectionnés afin d'avoir des longueurs et des sonorités les plus variées possibles. Dit autrement, les mots du vocabulaire de base E sont préférentiellement phonétiquement variés. Une méthode de génération de ce vocabulaire de base consiste à sélectionner ces mots aléatoirement dans un dictionnaire de taille importante. Cette sélection peut être automatique, c'est à dire exécutée par un logiciel adapté, ou manuelle. Eventuellement, des mots phonétiquement trop proches d'autres mots du vocabulaire sont supprimés, de manière automatique ou manuelle. Le vocabulaire de base ne correspond donc pas forcément à un dictionnaire complet dans la langue étrangère. Mais on verra que plus N est grand, et meilleurs sont les résultats pour l'utilisateur, c'est à dire meilleur est la fiabilité du système d'apprentissage (un système d'apprentissage fiable est un système qui présente une tolérance homogène vis à vis d'erreurs de prononciation de même gravité). Cependant, plus N est grand, et plus la puissance de calcul nécessaire est importante. Un vocabulaire de base peut ainsi comporter quelques dizaines à quelques milliers de mots différents, selon la capacité de traitement du micro-ordinateur et selon la fiabilité attendue du système d'apprentissage. On notera qu'il n'y a pas de lien particulier entre les mots du vocabulaire de base ainsi généré et les mots contenus dans les phrases de références. Dit autrement, le vocabulaire de base dont il est ici question ne comprend pas forcément les mots des phrases de références. Mais cela peut être la cas si les règles de sélection des mots du vocabulaire de base ne l'excluent pas. La seconde étape consiste, pour chaque mot déterminé Mi d'une phrase de référence ayant Q mots distincts (o Q est un nombre entier supérieur à l'unité), à générer un vocabulaire spécifique EMi à partir du vocabulaire de base E généré à la première étape. Ceci est réalisé en retirant de celui-ci les Pi mots phonétiquement les plus proches dudit mot déterminé Mi (o Pi est un nombre entier qui est inférieur à N et qui peut être nul). En effet, le système est plus tolérant si le vocabulaire spécifique ne comporte pas de mots phonétiquement proches des mots des phrase de référence. On notera que, en modifiant la valeur du rapport Pi/N, on peut modifier la tolérance du système d'apprentissage de la langue étrangère par rapport au mot Mi correspondant. Plus précisément, pour une valeur de N donnée, le système est d'autant plus tolérant que Pi est grand. Néanmoins, cette deuxième étape n'est pas obligatoire. Notamment, dans les cas o le vocabulaire de base ne comprend aucun mot des phrases de référence, le nombre Pi peut être nul. Dans ce cas, le système est peu tolérant. En outre, dans un mode de réalisation simplifié, le nombre Pi de mots retirés du vocabulaire de base E pour former le vocabulaire spécifique EMi associé à un mot Mi de rang i de la phrase de référence est égal à un même nombre P pour chaque mot Mi de la phrase de référence. Dit autrement, Pi est égal à P quel que soit i. On parle alors de tolérance globale du système d'apprentissage pour désigner le rapport P/N. Dans un mode de réalisation avantageux, le vocabulaire spécifique EMi est généré de manière itérative en utilisant les moyens de reconnaissance vocale du dispositif. A la première itération, le vocabulaire d'entrée est le vocabulaire de base E, et la phrase à reconnaître est constituée par le mot Mi correctement prononcé. Le dispositif fournit alors le mot du vocabulaire de base qui est phonétiquement le plus25 proche d'un mot particulier Mi. Il peut même s'agir du mot Mi lui-même si celui-ci était présent dans le vocabulaire de base E. Ce mot le plus proche est alors supprimé du vocabulaire d'entrée et on répète les étapes ci-dessus Pi fois avec, à chaque itération, le vocabulaire d'entrée réduit de un mot. A la fin, le vocabulaire d'entrée obtenu constitue le vocabulaire spécifique EMi. Il est enregistré dans un fichier de vocabulaires spécifiques. Une troisième étape du procédé consiste à générer un vocabulaire actif comprenant la phrase de référence et, en outre, d'autres phrases. Ces dernières se distinguent de la phrase de référence par la valeur d'au moins un mot Mi de rang déterminé i dans la phrase. Chacune de ces phrases est une des alternatives de la phrase de référence comprenant, à la place du mot Mi l'un des mots du vocabulaire spécifique associé à ce mot Mi. Les indications ci-dessous sont données dans le cas simple o Pi=P quel que soit i. Elles se généralisent aisément dans les autres cas. Dans un premier mode de réalisation, le vocabulaire actif généré à la troisième étape est d'un premier type comme étant constitué par la phrase de référence et par toutes les phrases obtenues à partir de la phrase de référence en remplaçant tour à tour chaque mot Mi, successivement par les N-Pi mots du vocabulaire spécifique EMi associé à ce mot Mi. Dans ce cas, en notant EMi(j) les mots du vocabulaire spécifique EMi (o j est un indice compris entre 1 et N-Pi), les phrases du vocabulaire actif sont du type: Ph1(i,j): M1 M2... Mi-1 EMi(j) Mi+,... MQ_1 MQ avec i variant de 1 variant de 1 à Q et j variant de 1 à N-Pi On pourra vérifier que le vocabulaire actif comporte alors l+(N-P)xQ phrases distinctes. Dans un second mode de réalisation, le vocabulaire actif généré à la troisième étape est d'un second type comme étant constitué par toutes les combinaisons distinctes possibles de Q mots, chaque mot de rang déterminé i pouvant être soit le mot Mi correspondant dans la phrase de référence soit l'un quelconque des mots du vocabulaire spécifique EMi associé à ce mot Mi. Dans ce cas, en notant EMi(j) les mots du vocabulaire spécifique EMi (o j est un indice compris entre 1 et N-Pi), et en notant EMi(0) le mot Mi, les phrases du vocabulaire actif sont du type: Ph2(il,...,iQ): EMi(il) EM2(i2)...EMj(ij)...EMQ(iQ) avec il,--..-,iQ variant de 0 à N-P On pourra vérifier que le vocabulaire actif comporte alors (l+N-P)Q phrases distinctes. Le premier mode de réalisation ci-dessus permet la détection d'une erreur relative à un seul mot à la fois dans la phrase. Dit autrement, le procédé ne permet alors de détecter des erreurs de prononciation que sur un seul mot par phrase à la fois. Ceci est suffisant dans les cas de phrases simples. Le deuxième mode de réalisation est le plus performant car il permet de détecter des erreurs simultanément sur chacun des mots de la phrase. Néanmoins il nécessite une puissance de calcul très importante et un dispositif de reconnaissance vocale très performant. Des modes de réalisation intermédiaires sont bien entendu envisageables, afin de pouvoir détecter des erreurs simultanément sur un nombre quelconque de mots de la phrase. Le vocabulaire actif est stocké dans une mémoire du micro- ordinateur sous la forme d'un fichier indexé par les 2-uplets correspondant aux indices i et j (pour un vocabulaire du premier type) ou par les Q-uplets correspondant aux indices i1...,iQ (pour un vocabulaire du second type). Le procédé comporte enfin une quatrième et dernière étape consistant à comparer une phrase à reconnaître aux phrases du vocabulaire actif généré à la troisième étape ci-dessus, pour reconnaître celle des phrases de ce vocabulaire qui est phonétiquement la plus proche de la phrase à reconnaître, et, la cas échéant, identifier en fonction de la phrase ainsi reconnue, le rang i d'un mot incorrect par rapport à la phrase de référence. Dans l'application envisagée, cette étape permet l'identification du rang i auquel se situe une erreur de prononciation d'un mot. Et cette identification est réalisée en fonction de la phrase reconnue par le dispositif de reconnaissance vocale. En effet, il n'y a que deux cas distincts, en fonction de la phrase reconnue. - soit la phrase reconnue est la phrase de référence, et alors cela signifie qu'il n'y a aucune erreur de prononciation dans la phrase; - soit la phrase reconnue est une autre phrase du vocabulaire actif. Si le vocabulaire actif est du premier type (premier mode de réalisation), et si la phrase reconnue est la phrase Ph1(i,j), alors cela signifie qu'il y a une erreur sur le mot Mi (i.e., que le mot Mi est incorrect parce qu'il a été mal prononcé). Si le vocabulaire actif est du second type (second mode de réalisation), et si la phrase reconnue est la phrase Ph2(il,...,iQ), alors cela signifie qu'il y a une erreur sur chacun des mots Mi1 à MiQ correspondant à ceux des indices i1...., iQ qui ne sont pas égaux à zéro. Connaissant le phrase reconnue, il est en effet aisé de retrouver ces indices par comparaison avec le fichier contenant le vocabulaire actif. Dans la plupart des cas, les phrases de références sont connues à l'avance par le système d'apprentissage de la langue étrangère (elles résultent de la conception du logiciel). Dans ce cas, les première, deuxième et troisièmes étapes peuvent être effectuées à l'avance pour chaque phrase de référence (par exemple lors de la conception du logiciel, ou bien lors de son installation dans le micro-ordinateur, ou encore au début de chaque exécution du logiciel). Le ou les vocabulaires actifs correspondant sont stockés dans une mémoire, par exemple avec le logiciel lui-même (cette mémoire peut être constituée par tout support de données approprié tel qu'un disque optique numérique). Seule la quatrième étape est ensuite effectuée lors de l'exécution du logiciel. Elle est répétée plusieurs fois, une fois pour une chaque phrase à reconnaître (c'est à dire normalement pour chaque exercice de prononciation). Comme on l'a dit plus haut, on peut modifier la tolérance globale du système d'apprentissage en modifiant le rapport P/N. Pour un système particulièrement tolérant adapté aux débutants, le rapport P/N peut atteindre 10% à 30%. Pour un système d'apprentissage de haut niveau, permettant de détecter des erreurs de prononciation subtiles, la tolérance est faible. Le rapport P/N est alors inférieur à 1%. Le fait d'avoir un rapport Pi/N éventuellement différent pour chaque mot permet de focaliser la détection d'erreurs de prononciation de certains mots seulement, en permettant une tolérance plus grande sur les autres mots de la phrase. Mais le fait que Pi=P quel que soit i simplifie la mise en oeuvre du procédé. L'invention propose aussi un dispositif de reconnaissance vocale, notamment pour un système d'apprentissage d'une langue étrangère, qui comporte des moyens pour identifier le rang d'un mot incorrect, par rapport à une phrase de référence, dans une phrase à reconnaître. Ceci permet, dans l'application envisagée, de détecter et localiser une erreur de prononciation dans une phrase prononcée par l'utilisateur. Le dispositif de reconnaissance vocale comprend des moyens pour comparer la phrase à reconnaître aux phrases d'un vocabulaire déterminé, pour reconnaître celle des phrases de ce vocabulaire qui est phonétiquement la plus proche de la phrase à reconnaître, et pour en déduire, le cas échéant, le rang du mot incorrect dans cette phrase. Dans ce cas, le dispositif peut mettre en oeuvre un procédé de reconnaissance vocale tel que décrit ci-dessus. De façon avantageuse, le vocabulaire spécifique EMi est généré de manière itérative en utilisant les moyens de reconnaissance vocale du dispositif. L'invention propose également un système interactif d'apprentissage d'une langue étrangère qui comprend un tel dispositif. Dans un exemple, ce système comprend également, en plus du dispositif de reconnaissance vocale, l'un ou plusieurs des éléments suivants: un micro- ordinateur, un logiciel pour le faire fonctionner, un microphone, un écran, un clavier, une souris, des haut-parleurs, un dispositif de synthèse vocale, etc... REVENDICATIONS 1. Procédé de reconnaissance vocale, notamment pour système d'apprentissage interactif d'une langue étrangère, caractérisé en ce qu'il comporte les étapes suivantes: a) génération d'un vocabulaire de base E comprenant N mots différents, o N est un nombre entier; b) pour chaque mot déterminé Mi d'une phrase de référence ayant Q mots distincts, o Q est un nombre entier supérieur à l'unité, génération d'un vocabulaire spécifique EMi à partir du vocabulaire de base E, en retirant de celui-ci les Pi mots phonétiquement les plus proches dudit mot Mi, o Pi est un nombre entier qui est inférieur à N et qui peut être nul; c) génération d'un vocabulaire actif comprenant la phrase de référence et en outre d'autres phrases qui se distinguent de la phrase de référence par la valeur d'au moins un mot Mi de rang déterminé i dans la phrase, chacune de ces phrases étant une des alternatives de la phrase de référence comprenant, à la place dudit mot Mi, l'un des mots du vocabulaire spécifique associé à ce mot Mi; d) comparaison d'une phrase à reconnaître aux phrases du vocabulaire actif, pour reconnaître celle des phrases de ce vocabulaire qui est phonétiquement la plus proche de la phrase à reconnaître, et, la cas échéant, identification en fonction de la phrase ainsi reconnue, du rang i d'un mot incorrect par rapport à la phrase de référence. 2. Procédé selon la revendication 1, caractérisé en ce que le vocabulaire actif généré à l'étape c) est d'un premier type comme étant constitué par la phrase de référence et toutes les phrases obtenues à partir de la phrase de référence en remplaçant tour à tour chaque mot Mi, successivement par les N-Pi mots du vocabulaire spécifique associé à ce mot Mi. 3. Procédé selon la revendication 1, caractérisé en ce que le vocabulaire actif généré à l'étape c) est d'un second type comme étant constitué par toutes les combinaisons distinctes possibles de Q mots, chaque mot de rang déterminé i pouvant être soit le mot Mi correspondant dans la phrase de référence soit l'un quelconque des mots du vocabulaire spécifique associé à ce mot Mi. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que les étapes a) à c) sont effectuées à l'avance pour au moins une phrase de référence, et en ce que l'étape d) est ensuite répétée pour plusieurs phrases à reconnaître. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que le nombre Pi de mots retirés du vocabulaire de base E pour former le vocabulaire spécifique EMi associé au mot Mi de rang i de la phrase de référence est égal à un même nombre P pour chaque mot Mi de la phrase de référence. 6. Procédé selon la revendication 5, caractérisé en ce que le rapport P/N peut atteindre 10% à 30%. 7. Procédé selon la revendication 5, caractérisé en ce que le rapport P/N est inférieur à 1%. 8. Dispositif de reconnaissance vocale, notamment pour un système d'apprentissage d'une langue étrangère, caractérisé en ce qu'il comporte des moyens pour identifier le rang d'un mot incorrect, par rapport à une phrase de référence, dans une phrase à reconnaître. 9. Dispositif selon la revendication 8, caractérisé en ce qu'il comporte des moyens pour comparer la phrase à reconnaître aux phrases d'un vocabulaire déterminé, pour reconnaître celle des phrases de ce vocabulaire qui est phonétiquement la plus proche de la phrase à reconnaître, et pour en déduire, le cas échéant, le rang du mot incorrect dans cette phrase. 10. Dispositif selon la revendication 9 caractérisé en ce qu'il met en oeuvre un procédé selon l'une des revendications 1 à 7. 11. Dispositif selon la revendication 10, caractérisé en ce que le vocabulaire spécifique EMi est généré de manière itérative en utilisant les moyens de reconnaissance vocale du dispositif. 12. Système interactif d'apprentissage d'une langue étrangère caractérisé en ce qu'il comprend un dispositif selon l'une des revendications 8 à 11.