Brevet FR2690777A1 — publié le 19931105

Procédé de commande d'un automate par reconnaissance vocale La présente invention concerne d'une manière générale un procédé pour commander un automate par la voix. Selon la technique antérieure, plusieurs procédés ont été proposés pour commander un automate. Un procédé consiste simplement à mettre en oeuvre un traitement informatique. A titre d'exemple, l'automate peut être un autocommutateur téléphonique privé associé à une opératrice pour l'implantation d'un service à transfert manuel d'appel. Un clavier de saisie est mis à la disposition de l'opératrice qui saisit manuellement un nom d'usager demandé appartenant à l'installation téléphonique privée incluant l'autocommutateur. Suite à une validation par l'opératrice du nom saisi, l'autocommutateur est commandé afin d'acheminer un appel vers un terminal téléphonique d'un poste de travail de l'usager demandé. Dans le cas d'un traitement informatique peu évolué, le nom saisi doit être strictement identique au nom de l'usager demandé, et oblige donc l'opératrice à demander fréquemment à un abonné demandeur l'épellation complète du nom de cet usager. Pour pallier ce type d'inconvénient, des traitements du langage naturel dans des applications d'annuaires télématiques pour corriger les erreurs des usagers dues à une mauvaise utilisation du clavier d'un terminal vidéotex, tel que MINITEL (marque déposée), utilisent un arbre lexical. Typiquement ces erreurs de transcription du mot peuvent être classées selon quatre catégories qui sont les erreurs d'omission, d'insertion, de substitution et de transposition selon qu'un caractère a été oublié, inséré, substitué à un autre, ou transposé avec un caractère adjacent. L'arbre lexical est alors organisé en structure de données arborescente afin d'y effectuer des corrections par recherche d'un chemin approché et élagage des chemins trop différents. Un chemin dans l'arbre est choisi si son squelette, c'est-à-dire la chaîne constituée par les lettres qui forment ce chemin, ne se distingue du mot erroné que par un nombre restreint de transformation de type "omission", "insertion", "substitution" et transposition. D'autres types d'erreurs notamment dues aux fautes d'usage sont également traitées dans le cas de l'analyse du langage naturel. Ces fautes d'usage sont dues à une connaissance approximative de l'orthographe d'un mot par l'usager. Ce dernier tend dans pareil cas à transcrire le mot en fonction de sa prononciation. Une solution connue consiste, d'une part, à disposer de la forme phonétique de tous les mots du lexique grâce à une décomposition en radicaux et flexions et, d'autre part, à employer un mécanisme de traduction qui élabore toutes les prononciations probables du mot à corriger. L'identification de ces dernières au sein du dictionnaire des formes phonétiques fournit les corrections recherchées. Le mécanisme de traduction utilise un automate probabiliste ou chaîne de Markov qui présente l'inconvénient de recourir à un apprentissage préalable pour chaque mot. Comme autre type de procédé de commande d'un automate, il peut être cité les procédés connus de commande vocale, tels que commande d'une chaise roulante pour personne handicapée. La personne handicapée dispose d'un vocabulaire restreint constitué de mots qu'elle prononce en vue de commander de manière appropriée le guidage de sa chaise roulante. De par la taille limitée du vocabulaire utilisé et donc la relative simplicité du procédé de reconnaissance vocale à mettre en oeuvre, aucune demande de confirmation n'est demandée à la personne handicapée préalablement au déclenchement de la commande. Ce dernier point peut constituer un inconvénient important dans le cas où le vocabulaire de commande est plus complexe et étendu. La présente invention vise à remédier aux inconvénients précités en fournissant, un procédé de commande par reconnaissance vocale utilisant d'une part, une véritable "interaction vocale" entre l'usager et le système de commande de l'automate et, d'autre part, ne nécessitant pas un apprentissage systématique de chaque mot du vocabulaire de commande. A cette fin, un procédé de commande d'un automate par la voix, comprenant - la reconnaissance vocale d'un mot de commande prononcé lettre par lettre par une opératrice en vue de la commande dudit automate, est caractérisé en ce qu'il comprend - le traitement dudit mot de commande reconnu en vue de produire une demande de confirmation, - la synthèse vocale de ladite demande de confirmation, - la diffusion vers l'opératrice de ladite demande de confirmation synthétisée, et - la commande dudit automate en réponse à un mot de confirmation prédéterminé prononcé par l'opérateur suite à la diffusion de ladite demande de confirmation synthétisée. Selon une réalisation préférée, l'invention prévoit d'affiner la sélection d'une commande correspondant à un mot de commande prononcé par rapport à d'autres mots de commande ayant des prononciations voisines par discrimination d'autres éléments d'information attribués à la commande. Dans ce cas le traitement du mot de commande reconnu comprend - au moins une étape de codage phonétique dudit mot de commande pour certaines lettres relativement à des lettres gauche et droite respectives immédiatement adjacentes en un mot de commande codé phonétiquement, - la sélection si nécessaire d'un ou plusieurs éléments discriminants associés au mot codé phonétiquement afin de distinguer des commandes correspondant à un même mot codé phonétiquement, et - la synthèse vocale de chacun desdits éléments discriminants et la reconnaissance vocale des réponses correspondantes de l'opératrice en vue d'aboutir à un dernier mot de confirmation déclenchant la commande dudit automate. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante, en référence aux dessins annexés correspondants, dans lesquels - la figure 1 montre un bloc-diagramme d'un système de commande d'un autocommutateur privé par reconnaissance vocale pour la mise en oeuvre du procédé selon l'invention; - la figure 2 est une représentation modulaire d'une réalisation informatique constituant une interface homme/machine inclus dans le système de la figure 1; et - la figure 3 montre un bloc-diagramme détaillé de 1 'autocommutateur. Bien que la réalisation préférée décrite ciaprès concerne un système téléphonique privé, tel qu'autocommutateur, l'invention peut être mise en oeuvre en relation avec tout système industriel pour lequel un processus d'automation présente un intérêt. A titre d'exemple, la commande d'un robot industriel ou ménager, ou d'une installation industrielle, telle qu'un laminoir dans le domaine de la sidérurgie, constitue une application possible de la présente invention. Les différences entre une réalisation ayant trait à un autocommutateur et celle concernant un automate dans une approche plus générale sont soulignées au cours de la description ci-après. En référence à la figure 1, un système de commande d'un autocommutateur privé par reconnaissance vocale pour la mise en oeuvre du procédé selon l'invention comprend un dispositif de reconnaissance vocale 1, un dispositif de synthèse vocale 2, une interface de dialogue homme/machine 3, un autocommutateur privé PABX 4 constituant un automate, un microphone 11, un haut-parleur 21 et un sélecteur SEL pour double commutateur 12-22. L'autocommutateur 4 est relié au Réseau Téléphonique Commuté RTC à travers des lignes téléphoniques groupées 5. I terminaux téléphoniques T1 à TI sont connectés à l'autocommutateur 4 à travers I lignes d'usager individuelles 41 à 4I et I interfaces de liaison 42j à 42I incluses dans l'autocommutateur 4 (figure 3), chaque terminal T1 à TI étant attribué à un usager respectif U1 à UI. Une ligne d'usager 40 est attribuée à une opératrice OP pour l'implantation d'un service à transfert manuel d'appel, également appelé à transfert par opératrice. Tous les appels provenant de l'extérieur de l'installation téléphonique privée, c'est-à-dire du Réseau Téléphonique sont commutés vers un poste spécial d'opératrice à écoute amplifiée PO représenté schématiquement dans la figure 1 par le microphone 11 et le haut-parleur 21. Une sortie du microphone 11 et une entrée du haut-parleur 21 sont ou bien connectées toutes deux à la ligne d'opératrice 40, ou bien connectées respectivement à une entrée du dispositif de reconnaissance vocale 1 et une sortie du dispositif de synthèse vocale 2. Cette sélection de connexion est effectuée au moyen du sélecteur SEL, par exemple de manière manuelle, qui commande un relais REL du double commutateur 12-22 composé de deux commutateurs à deux directions 12 et 22 ayant chacun deux contacts stationnaires R1, et D1, R2 et D2, reliés à l'entrée du dispositif 1, respectivement la sortie du dispositif 2, et à la ligne d'opératrice 40, et un contact mobile relié au microphone 11, respectivement le haut-parleur 21. Par exemple le sélecteur SEL active le relais REL pour procéder à un mode dialogue D, et le désactive pour procéder à un mode recherche R. En mode dialogue D, la sortie du microphone 11 et l'entrée du haut-parleur 21 sont toutes deux connectées à la ligne d'opératrice 40 à travers les contacts de commutateur D1 et D2. En mode recherche R, la sortie du microphone 11 et l'entrée du hautparleur 21 sont respectivement reliées à l'entrée du dispositif de reconnaissance vocale 1 et à la sortie du dispositif de synthèse vocale 2 à travers les contacts de commutateur R1 et R2. Le dispositif de reconnaissance vocale 1 et le dispositif de synthèse vocale 2 sont respectivement connectés via un bus d'entrée et un bus de sortie à l'interface de dialogue homme/machine 3. Cette interface, décrite en détail ultérieurement, est reliée par un bus de liaison de commande 6 à des moyens de commande inclus dans l'autocommutateur 4. Lors de la réception d'un appel d'une communication d'arrivée dans l'installation privée d'usager présentée à la figure 1, l'appel est automatiquement commuté par l'autocommutateur 4 vers le poste d'opératrice PO, le sélecteur SEL étant positionné en mode "dialogue" D. La partie appelante prononce un nom de l'un des usagers U1 à UI recherché avec lequel il souhaite s'entretenir téléphoniquement, nom qui est diffusé par le hautparleur 21. Après écoute du nom prononcé de l'usager recherché, l'opératrice OP bascule manuellement le sélecteur SEL en mode recherche R. La sortie du microphone 11 et l'entrée du haut-parleur 21 sont alors respectivement reliées à l'entrée du dispositif de reconnaissance vocale 1 et à la sortie du dispositif de synthèse vocale 2 via les contacts Rl et R2. L'opératrice OP prononce alors le nom, en tant que mot de commande, qu'elle a entendu lettre par lettre devant le microphone 11. En réponse, un signal électrique analogique représentatif des lettres prononcées et transmis par le microphone 11 est analysé dans le dispositif de reconnaissance vocale 1 qui produit un signal de commande reconnue SCR en appliquant de manière connue, ou bien le principe des chaînes de Markov, ou bien la programmation dynamique. Dans une réalisation préférée plus élaborée, le dispositif de reconnaissance vocale peut être conçu en utilisant des réseaux de neurones formels tels que décrits dans la demande de brevet français NO 92-03743 déposée le 27 mars 1992 au nom de l'actuelle demanderesse et dont le contenu est considéré comme inclus dans la présente description. L'interface de dialogue homme/machine 3 effectue un traitement du signal de commande reconnu SCR, traitement décrit ultérieurement en référence à la figure 2, et produit en réponse un signal de demande de confirmation DC ou un signal de demande d'élément discriminant DED qui est appliqué à l'entrée du dispositif de synthèse vocale 2. Puis le dispositif 2 établit un mot synthétisé de demande de confirmation ou de demande d'élément discriminant qui est diffusé par le haut-parleur 21 à l'attention de l'opératrice OP. Deux mots uniques prédéterminés, tels que "OUI" et "NON", sont prononcés par l'opératrice OP respectivement pour confirmer et infirmer le mot synthétisé de demande de confirmation qu'elle a entendu. Si le mot prononcé par l'opératrice est le mot de confirmation "OUI", un signal de confirmation SC produit par le dispositif de reconnaissance vocale 1 afin que le signal de commande reconnue SCR momentanément mémorisé dans l'interface 3 commande les moyens de commandes inclus dans l'autocommutateur 4 à travers l'interface de dialogue homme/machine 3, via le bus de commande 6. Comme montré à la figure 3, dans le cas d'un autocommutateur, ces moyens de commande 411 supervisent une matrice de commutation 41 qui établit une liaison entre la partie appelante et l'usager U1 à UI dont le nom a initialement été prononcé par l'opératrice. Dans le cadre de cette réalisation préférée, le mot synthétisé de demande de confirmation consiste en le nom de l'usager demandé. Inversement, si le mot prononcé par l'opératrice est un mot d'infirmation "NON't, une nouvelle étape est réinitialisée. L'opératrice peut alors demander à nouveau à la partie appelante le nom de l'usager demandé, prononcer à nouveau le nom qu'elle a entendu en direction du microphone 11 et ainsi de suite tel que décrit précédemment. Toutes ces opérations s'effectuent en basculant de manière adéquate le sélecteur SEL, par exemple de manière manuelle. Cette véritable "interaction vocale" de vérification de commande entre l'opératrice OP et l'interface de dialogue homme/machine 3 est particulièrement intéressante dans la conduite ou le pilotage d'automate industriel en ce qu'elle fournit un niveau de sécurité supplémentaire comparativement aux systèmes de commande vocale conventionnels. L'interface de dialogue homme/machine 3 est maintenant décrite en détail en référence à la figure 2. Cette interface 3 réalisée sous forme partiellement logicielle est organisée autour d'un module central gestionnaire de dialogue 32 et comprend un module de dialogue 31 avec le dispositif de reconnaissance vocale 1, un module de dialogue annuaire 33, un module de liaison avec l'autocommutateur 34, un module d'annuaire intelligent discriminant 35, un module de mise à jour 36, un fichier des commandes 39, et deux dispositifs de liaison série 37 et 38 respectivement entre le module 36 et un ensemble moniteur à clavier C1 et écran EC et entre le module 34 et l'autocommutateur 4. Des flèches bidirectionnelles ( ) en trait discontinu sont représentées sur la figure 2 pour schématiser des échanges d'informations entre les modules 31, 32, 33, 34 et 35. Un signal de commande reconnue SCR ou un signal de confirmation SC produit par le dispositif de reconnaissance vocale 1 en réponse à la prononciation d'un mot par l'opératrice OP est transféré du module de dialogue reconnaissance 31 au module gestionnaire de dialogue 32. Ce module 32 effectue le traitement suivant (a) S'il s'agit d'un signal de commande reconnue SCR, le module 32 transmet au module de dialogue annuaire 33 ce signal de commande reconnue SCR qui effectue un codage phonétique de la commande reconnue, tel que décrit ultérieurement, pour produire un mot codé phonétiquement qui est transmis au module annuaire intelligent 32. Les traitements relatifs aux modules 33, 35 et au fichier 39 seront décrits dans une partie finale de la présente description. (bl) S'il s'agit d'un signal de confirmation SC correspondant au mot prédéterminé "OUI" prononcé par l'opératrice OP et validant un mot signal de demande de confirmation DC diffusé par le haut-parleur 21, le module gestionnaire de dialogue 32 valide le dernier signal de commande reconnue SCR reçu et momentanément mémorisé pour activer le circuit de liaison série 38 à travers le module de liaison avec l'autocommutateur 34. Le module 34 fait correspondre audit dernier signal de commande reconnu une commande particulière destinee à commander l'unité de commande 411 de l'autocommutateur 4 afin, dans le cadre de cette réalisation préférée, d'établir une liaison par commutation entre la partie appelante et l'usager recherché et demandé U1 à UI. (b2) S'il s'agit d'un signal de confirmation SC correspondant au mot prédéterminé "NON" prononcé par l'opératrice OP, le module 32 est chargé de la réinitialisation des modules 33, 35 et du fichier 39 avant qu'une nouvelle phase de commande de l'autocommutateur 4 par commande vocale débute. Le fonctionnement des modules 33, 35 en relation avec le fichier des commandes 39 est maintenant décrit en détail. L'opératrice OP, lorsqu'elle prononce le nom d'un usager demandé quelconque U1 à UI demandé par la partie appelante, peut introduire des erreurs d'épellation induites par le fait qu'elle a entendu de manière incorrecte ce nom. Dans le cas d'un pilotage d'un autocommutateur, ces "erreurs d'épellation" peuvent provenir d'une élocution confuse de la partie appelante, engendrée par une prononciation ou bien par un accent local par exemple. Dans tous ces cas, l'interface 3 propose, parmi les proches voisins du signal de commande reconnue SCR, la commande qui traduit la véritable intention de l'opératrice OP. Le nom de l'usager demandé est prononcé par l'opératrice OP lettre par lettre. Afin de remédier aux erreurs d'épellation pouvant survenir, chaque lettre prononcée ou groupe de lettres prononcées est codée en une unité de codage phonétique de premier niveau en fonction de règles prédéterminées. Puis chaque unité de codage phonétique de premier niveau ou groupe d'unités de ce niveau est codé en une unité de codage phonétique de second niveau et ainsi de suite. Plusieurs niveaux de codage sont ainsi distingués. La représentation ci-dessous illustre clairement le principe de codage selon l'invention d'un mot prononcé lettre par lettre par l'opératrice OP Lettres prononcées reconnues Unités de codage phonétique de ler niveau Unités de codage phonétique de 2ème niveau Deux niveaux de codage sont distingués dans cette représentation. A un premier niveau de codage, une lettre prononcée donnée est codée phonétiquement en tenant compte des lettres gauche et droite immédiatement adjacentes, c'est-à-dire de contextes à gauche et à droite de la lettre donnée. Le "s" de "oiseau" dans l'exemple précité est codé "s" sans modification. "oi" est codé "oye" " en utilisant l'une des deux règles suivantes (rl) : "o" suivi de "i" donne "w", ou (r2) : "i" précédé de "o" donne "" Après cette première étape de codage visant à supprimer partiellement toute épellation incorrecte du nom de l'usager demandé, une seconde étape de codage phonétique est alors mise en oeuvre. Dans l'exemple précité le "s" est codé en un "z" en utilisant la règle (r3) : "s" compris entre un "w" et un "o" donne "z". Pour toutes les étapes de codage, pouvant être en nombre supérieur à deux, le mot de commande reconnue SCR initial perd de sa richesse de distinction mais il est ainsi possible d'éliminer des erreurs d'épellation. Toutes les règles qui sont utilisées à chaque niveau de codage sont déduites de l'expérience en tenant compte des erreurs de compréhension pouvant être introduites lors de la prononciation du mot. Ce traitement de codage effectué sur le signal de commande reconnue composé d'une suite de lettres prononcées diminuant la richesse de distinction du mot initial (pour 6 lettres initiales dans le mot "oiseau", 3 unités de codage phonétique sont obtenues finalement), un même mot de commande codé phonétiquement peut correspondre à des usagers distincts U1 à UI. Selon l'invention, le module 35 recherche des éléments discriminants pour chacun des mots de commande de référence mémorisés dans le fichier 39 et qui correspondent à un même mot de commande codé phonétiquement. A titre d'exemple, deux usagers ayant des noms relativement proches phonétiquement peuvent correspondre à un même mot de commande codé phonétiquement. C'est le rôle du module annuaire intelligent 35 de rechercher dans ce fichier 39 des éléments discriminants associés à chaque mot de commande de référence et différenciant les usagers ayant des noms phonétiquement proches, codés sous une forme identique. Le service et la fonction attachés à chaque usager constituent des éléments discriminants dans cette réalisation. Un élément discriminant est sélectionné par le module 35 puis transmis au module de dialogue 32. Cet élément discriminant est ensuite synthétisé par le dispositif de synthèse vocale 2 en un signal de demande d'élément discriminant DED. L'opératrice OP indique ensuite cet élément discriminant afin qu'une discrimination entre des usagers ayant un nom qui est codé sous une même forme puisse être réalisée par le module 35. Plusieurs étapes de demande d'élément discriminant peuvent être nécessaires pour une sélection finale du nom de l'usager par l'interface de dialogue 3. Finalement ce nom est produit par l'interface 3 en un signal de demande de confirmation SDC. Après accord de l'opératrice OP par prononciation du mot de confirmation "OUI", la commande de l'autocommutateur 4, en tant qu'automate, est accomplie. Afin de sécuriser la commande de l'automate 4, un protocole de communication est implanté dans le circuit de liaison série 38 servant d'interface physique entre l'interface 3 et l'automate 4. Ce protocole consiste en la transmission périodique de la commande produite par le module de liaison avec l'autocommutateur 34, par exemple toutes les 100 ms. Dans l'automate 4, si par exemple une commande reçue successivement trois fois n'est pas reçue au moins deux fois à l'identique, la mise en oeuvre de la commande est interrompue. REVENDICATIONS 1 - Procédé de commande d'un automate (4) par la voix, comprenant - la reconnaissance vocale d'un mot de commande prononcé lettre par lettre par une opératrice (OP) en vue de la commande dudit automate (4), caractérisé en ce qu'il comprend - le traitement dudit mot de commande reconnu en vue de produire une demande de confirmation (DC), - la synthèse vocale de ladite demande de confirmation, - la diffusion vers l'opératrice (OP) de ladite demande de confirmation synthétisée, et - la commande dudit automate (4) en réponse à un mot de confirmation prédéterminé (OUI) prononcé par l'opératrice (OP) suite à la diffusion de ladite demande de confirmation synthétisée. 2 - Procédé conforme à la revendication 1, caractérisé en ce que ledit traitement comprend - au moins une étape de codage phonétique dudit mot de commande pour certaines lettres relativement à des lettres gauche et droite respectives immédiatement adjacentes en un mot de commande codé phonétiquement, - la sélection si nécessaire d'un ou plusieurs éléments discriminants associés au mot codé phonétiquement afin de distinguer des commandes correspondant à un même mot codé phonétiquement, et - la synthèse vocale de chacun desdits éléments o discriminants et la reconnaissance vocale des réponses correspondantes de l'opératrice (OP) en vue d'aboutir à un dernier mot de confirmation (SC, OUI) déclenchant la commande dudit automate (4). 3 - Procédé conforme à l'une quelconque des revendications 1 ou 2, caractérisé en ce que la commande dudit automate (4) est réalisée de manière sécurisée par transmission périodique d'un signal de commande d'automate.