FR 2868588 A1 20051007 FR 0403511 A 20040402 2868588 1 La présente invention concerne les systèmes automatiques de reconnaissance vocale capables de déclencher une action en fonction d'une phrase prononcée par un utilisateur. De tels systèmes sont particulièrement utilisés dans les serveurs 5 vocaux des réseaux de télécommunications. Ces serveurs vocaux sont utilisés au sein d'applications vocales interactives dans lesquelles un dialogue est engagé entre un utilisateur et un automate afin de déterminer l'attente de cet utilisateur. Ils se composent d'un système de reconnaissance vocale qui fournit une phrase brute prononcée par l'utilisateur et un système d'analyse sémantique qui décompose cette phrase en une suite de mots-clés. De plus, celui-ci possède un ensemble de règles qui associent à un ensemble de mots-clés une action à exécuter. L'analyseur sémantique recherche alors la règle, ou les règles, dont les mots-clés attendus se trouvent dans la phrase prononcée par l'utilisateur. Si plusieurs règles sont ainsi sélectionnées, l'analyseur sémantique sélectionne la règle la plus pertinente en utilisant des critères tels qu'une pondération probabiliste, le contexte dans lequel la phrase a été prononcée, ... La règle ayant été choisie, l'action qu'elle définit est exécutée par un système de gestion des dialogues. Souvent, dans les serveurs vocaux, l'action correspond à la génération d'une phrase préenregistrée donnant la réponse attendue par l'utilisateur ou bien posant une question permettant de mieux cerner l'attente de celui-ci. Les techniques actuellement utilisées par les analyseurs sémantiques fonctionnent sur le principe d'une correspondance stricte entre les mots 25 rencontrés dans l'énoncé et les mots attendus dans la règle. Ainsi, lorsqu'un mot-clé est présent dans l'énoncé, même s'il n'est pas déterminant pour le sens général, il doit se retrouver dans la règle pour que celle-ci soit acceptée. Or, ce type de fonctionnement est peu adapté aux phrases habituellement rencontrées à l'oral, en particulier parce que ces phrases sont bruitées, grammaticalement incorrectes, mal construites, et comportent souvent des hésitations ou des informations redondantes qui n'ont pas été prévues lors de l'écriture des règles. 2868588 2 Cette sensibilité extrême oblige alors le concepteur à écrire toutes les règles possibles en tenant compte de toutes les erreurs de syntaxe imaginables. Cet inconvénient limite donc fortement l'utilisation de tels systèmes. Le but de l'invention est donc de proposer un système d'application vocable qui reconnaisse aisément les règles applicables malgré les bruits et imperfections de la phrase prononcée. L'objet de l'invention est donc un système d'application vocale comportant des moyens d'acquisition d'au moins une phrase prononcée par au moins un utilisateur, connectés à des moyens d'analyse sémantique comportant des moyens de reconnaissance de mots-clés appartenant à la phrase prononcée et aptes à générer une liste ordonnée des mots-clés, appelée énoncé, de la phrase prononcée, lesdits moyens de reconnaissance étant connectés à des moyens d'association, sous forme de règles, entre au moins un mot-clé prédéterminé et une action déterminée et des moyens de sélection d'au moins une action déterminée quand un ensemble de mots- clés contenus dans la règle correspondante sont présents dans la phrase prononcée, caractérisé en ce que les moyens de sélection parcourent pour indentification l'ensemble des règles et recherchent, pour chaque règle donnée, la présence, dans la phrase prononcée, d'un ensemble de mots-clés de cette règle pour sélectionner l'action déterminée correspondante relative à la règle ainsi résolue et identifiée. Suivant d'autres caractéristiques de l'invention: - l'ensemble des mots-clés d'une règle est formé de sous-ensembles ordonnés de mots-clés appelés expressions, chaque mot-clé ou expression étant combiné avec d'autres mots-clés ou expressions de sorte qu'au moins deux mots-clés ou expressions sont soit interchangeables, soit présents dans un ordre d'apparition déterminé, ou encore présents dans un ordre quelconque; pour une règle donnée comportant un ensemble d'expressions, les moyens de sélection sélectionnent l'action correspondante quand la règle a été complètement résolue, sinon ils recherchent dans l'expression courante le premier mot-clé de l'énoncé et, si le premier mot-clé est trouvé, ils recherchent le reste des mots-clés de l'expression dans l'énoncé et si cette dernière recherche est infructueuse, l'expression courante est invalidée pour ce premier mot-clé et la recherche reprend, sinon la règle est résolue et l'action correspondante sélectionnée, et si le premier motclé n'est pas trouvé, la recherche est reprise sur le reste 5 des motsclés; - les moyens d'analyse sémantique comportent en outre des moyens de branchement aptes à déterminer l'action à exécuter parmi l'ensemble des actions sélectionnées. L'invention sera mieux comprise à la lecture de la description qui va 10 suivre, donnée uniquement à titre d'exemple, et faite en se référant aux dessins annexés, et dans lesquels - la figure 1 est un schéma d'ensemble de l'invention; - la figure 2 est un ordinogramme d'un serveur vocal utilisant l'invention; - la figure 3 est un ordinogramme général de l'invention; et - la figure 4 est un ordinogramme détaillé de l'invention pour une règle. Un système d'application vocale selon l'invention comporte, figure 1, des moyens 1 d'acquisition de phrases prononcées par un utilisateur. De façon classique, ces moyens d'acquisition se composent d'un microphone, par exemple celui d'un combiné de téléphone, connecté à une carte électronique qui transforme le signal analogique généré par le microphone en une suite de données numériques représentative du signal reçu. Ces moyens 1 d'acquisition sont connectés à des moyens 2 de reconnaissance vocale. Ces moyens 2 de reconnaissance utilisent, de façon classique, des technologies de type N-gram bien connues. Des sociétés comme Nuance et Scansoft proposent commercialement de telles technologies particulièrement bien adaptées à la parole continue. D'autres technologies de reconnaissance vocale sont également envisageables sans que cela modifie l'invention. Les moyens 2 de reconnaissance vocale transforment ainsi la suite de données numériques reçue des moyens d'acquisition 1 en une phrase brute. Les moyens 3 d'analyse sémantique, ou analyseur sémantique, comportent des moyens 8 de reconnaissance de mots-clés qui transforment la phrase brute en un ensemble ordonné de mots-clés reconnus, ou énoncé. Ils comportent de plus des moyens d'association 4 entre des mots-clés et des actions. Ces moyens d'association se présentent préférentiellement sous forme de règles du type: ... > action. Les moyens 3 d'analyse sémantique comportent également des moyens de sélection 5 qui comparent l'ensemble ordonné de mots-clés reconnus dans la phrase prononcée aux différentes règles 4. Les règles 4 correspondant à l'ensemble de mots-clés définissant ainsi l'ensemble des actions potentielles à effectuer. L'analyseur sémantique 3 comporte également des moyens de branchement 6. Ces moyens de branchement 6 sont utilisés lorsque plusieurs règles ont été sélectionnées afin de déterminer celle dont l'action doit être exécutée. Une fois l'action choisie, celle-ci est effectuée par des moyens 9 de dialogue qui génèrent une phrase adaptée et la transmettent à l'utilisateur en 15 réponse à la phrase qu'il a émise. Cette phrase peut être une réponse ou bien une question permettant de préciser l'attente du client et créant ainsi un dialogue entre l'utilisateur et le serveur. Les actions générées peuvent correspondre également à des commandes d'un automate. Par exemple, un système de contrôle/commande d'un processus peut utiliser un système d'application vocale selon l'invention pour recueillir les ordres d'un opérateur, à la place, ou en complément, des interfaces plus traditionnelles que sont le clavier et l'écran. L'analyseur sémantique 3 va maintenant être décrit plus précisément 25 dans son mode de fonctionnement. Comme indiqué précédemment, chaque action est associée à une série de mots-clés ordonnés, le tout correspondant à une règle. L'ensemble des règles, figure 2, est stocké dans l'analyseur sémantique, par exemple sous forme de fichier. Un mode préférentiel de réalisation consiste à rassembler les règles dans un fichier texte contenant une règle par ligne. Les mots-clés sont alors ordonnés en utilisant trois opérateurs. Le premier opérateur, noté &, correspond à l'opérateur ET ordonné. Ainsi A & B indique que les mots-clés A et B doivent être présents et que B suit A dans l'ordre de l'énoncé. Le deuxième opérateur, noté #, correspond à l'opérateur ET non ordonné. A # B indique que les mots-clés A et B doivent être présents et que l'ordre d'apparition de A et de B dans la phrase est sans importance: AB et BA sont reconnus comme appartenant à cette règle. Le troisième opérateur, noté I, correspond à l'opérateur OU. AIB indique que l'énoncé doit contenir A ou B, alternativement. Les mots-clés A et B 10 sont donc interchangeables. Ces trois opérateurs sont combinables entre eux et des parenthèses permettent de définir des groupes de mots-clés. Par exemple (AIB) & (C#D) indique que la règle est valide pour un énoncé commençant par les mots-clés A ou B suivis de CD ou de DC. Dans le mode préféré de réalisation de l'invention, l'action à réaliser correspondant à la règle est écrite en fin de ligne, après les mots-clés, et encadrée par des accolades. L'analyseur sémantique 3 reçoit figure 3, étape 10, en entrée une phrase sous la forme d'une suite ordonnée de mots-clés, ou énoncé, et possède 20 un ensemble de règles sous forme d'un fichier. Il lit une première règle en 11 et recherche le mot-clé attendu par celleci. Une règle est marquée comme valide en 12 lorsque la suite de motsclés qu'elle définit se retrouve dans l'énoncé. Cependant, il peut arriver que des mots attendus dans la règle soient 25 séparés dans l'énoncé par d'autres mots non prévus. Ceux-ci sont alors éliminés et considérés comme du bruit non pertinent. L'analyseur sémantique essaye cependant systématiquement de vérifier la conformité de la phrase à la règle. Puis, ayant épuisé toutes les possibilités d'accord ou ayant découvert que la règle s'applique, l'analyseur recherche la règle suivante en 13. Si elle existe, elle est analysée comme précédemment, sinon l'analyseur sémantique transmet en 14 aux moyens de branchement 6 l'ensemble des règles valides. Ainsi, de manière particulièrement avantageuse, l'analyseur sémantique 3 permet d'ignorer certains mots-clés de l'énoncé et de considérer comme une information non déterminante, c'est-à-dire du bruit, tout ce qui se trouve entre deux mots attendus. Afin de permettre une exploration complète des possibilités de l'énoncé vis-à-vis de la liste des mots-clés de la règle, l'analyseur sémantique utilise le parcours récursif suivant, figure 4: 1. si l'expression a été complètement résolue en 20, on a une règle correcte en 21 même s'il reste des mots clés non testés; 2. sinon recherche en 22 dans l'expression du 1 er mot de la liste des mots clés; 3. si le mot a été trouvé en 23, de la même façon on lance la recherche en 24 avec le reste des mots clés: a. Si la recherche avec le reste des mots clé a échoué en 25, on invalide en 27 la sous expression ayant permis de trouver le 1er mot, pour ce mot et uniquement celui-là (on le 1er considère comme du bruit) et on relance la recherche. Le résultat final est alors le résultat de cette nouvelle recherche. b. Si la recherche avec le reste des mots a réussi en 25, on a trouvé une règle correcte en 26. 4. si le mot n'a pas été trouvé en 23, on le considère comme du bruit 20 en 28 et on lance la recherche en 22 sur le reste des mots clés. Le résultat final est alors le résultat de cette nouvelle recherche. Ceci permet un retour en arrière si une sous expression entamée a échoué et qu'il reste des alternatives dans la règle qui n'ont pas été explorées. Afin de mieux faire comprendre ce fonctionnement, supposons, à titre 25 d'exemple que l'énoncé soit [Mobile] [Limiter] [Montant] [Payer] [Réduction] [Payer] [Truc] [Cher] et que la règle définisse l'expression ((Réduction # (Limiter & Montant) # (Payer & Cher)) # Mobile). Le déroulement de l'algorithme se fait de la façon suivante: 1 Recherche du mot [Mobile] dans l'expression, succès de la recherche. 2 Recherche de [Limiter] avec succès, la sous expression (Limiter & Montant) est entamée. 3 Recherche de [Montant] dans la sous expression entamée, succès. La sous expression (Limiter & Montant) est résolue. 4 Recherche de [Payer], succès et sous expression (Payer & Cher) entamée. 5 Recherche de [Réduction] dans la sous expression entamée. Echec de la recherche. On considère [Réduction] comme du bruit et on poursuit. 6 Recherche du 2ème [Payer] dans la sous expression entamée. Nouvel échec de la recherche. On considère le 2ème [Payer] comme du bruit et on poursuit. 7 [Truc] n'est pas trouvé non plus dans l'expression entamée. [Truc] est considéré comme du bruit. 8 Le mot clé [Cher] est recherché dans l'expression entamée. Succès de la recherche du mot [Cher], cependant il ne reste plus de mots clés et l'expression n'a pas été entièrement résolue. On retourne au point 7 avec un échec de la résolution de la règle. 7.1 [Truc] n'ayant pas été trouvé, on retourne au point 6. 6.1 [Payer] ayant été considéré comme du bruit on retourne au point 5. 5.1 Idem avec [Réduction], on retourne au point 4. 4.1 [Payer] ayant été trouvé, on invalide la sous expression (Payer & Cher) pour la recherche de ce premier [Payer] mais elle reste accessible pour la recherche du 2ème [Payer]. Cette sous expression n'est plus considérée comme entamée. On cherche à nouveau le 1er [Payer]. Cette foisci la recherche est un échec puisque la sous expression (Payer & Cher) est inaccessible. On considère le 1ef [Payer] comme du bruit et on poursuit. 5.2 Recherche de [Réduction] qui est trouvé puisque aucune sous expression n'est entamée cette fois-ci. 6.2 Recherche du 2ème [Payer] qui est trouvé, la sous expression (Payer & Cher) est à nouveau entamée. 7.2 Recherche de [Truc], échec de la recherche, on le considère donc comme du bruit et on poursuit. 8.1 Recherche de [Cher] avec succès. L'expression est entièrement résolue donc on a réussi à trouver une règle correcte. Ainsi, l'invention permet, de manière particulièrement avantageuse, au système de reconnaissance vocale de reconnaître les règles applicables malgré les bruits et imperfections de la phrase prononcée. REVENDICATIONS 1. Système d'application vocale comportant des moyens (1, 2) d'acquisition d'au moins une phrase prononcée par au moins un utilisateur, connectés à des moyens (3) d'analyse sémantique comportant des moyens (8) de reconnaissance de mots-clés appartenant à la phrase prononcée et aptes à générer une liste ordonnée des mots-clés, appelée énoncé, de la phrase prononcée, lesdits moyens de reconnaissance étant connectés à des moyens (4) d'association, sous forme de règles, entre au moins un mot-clé prédéterminé et une action déterminée et des moyens (5) de sélection d'au moins une action déterminée quand un ensemble de mots-clés contenus dans la règle correspondante sont présents dans la phrase prononcée, caractérisé en ce que les moyens (5) de sélection parcourent pour indentification l'ensemble des règles et recherchent, pour chaque règle donnée, la présence, dans la phrase prononcée, d'un ensemble de mots-clés de cette règle pour sélectionner l'action déterminée correspondante relative à la règle ainsi résolue et identifiée. 2. Système d'application vocale selon la revendication 1, caractérisé en ce que l'ensemble des mots-clés d'une règle est formé de sous-ensembles ordonnés de mots-clés appelés expressions, chaque mot-clé ou expression étant combiné avec d'autres mots-clés ou expressions de sorte qu'au moins deux mots-clés ou expressions sont soit interchangeables, soit présents dans un ordre d'apparition déterminé, ou encore présents dans un ordre quelconque. 3. Système d'application vocale selon la revendication 2, caractérisé en ce que, pour une règle donnée comportant un ensemble d'expressions, les moyens de sélection sélectionnent l'action correspondante quand la règle a été complètement résolue, sinon ils recherchent dans l'expression courante le premier mot-clé de l'énoncé et, si le premier mot-clé est trouvé, ils recherchent le reste des mots-clés de l'expression dans l'énoncé et si cette dernière recherche est infructueuse, l'expression courante est invalidée pour ce premier mot-clé et la recherche reprend, sinon la règle est résolue et l'action correspondante sélectionnée,.et si le premier mot-clé n'est pas trouvé, la recherche est reprise sur le reste des mots-clés. 4. Système d'application vocale selon l'une quelconque des revendications précédentes, caractérisé en ce que les moyens (3) d'analyse sémantique comportent en outre des moyens (6) de branchement aptes à déterminer l'action à exécuter parmi l'ensemble des actions sélectionnées.