Brevet FR3081599A1 — publié le 20191129

Description Titre de l'invention : Amélioration des dispositifs embarqués de reconnaissance vocale [0001] Le domaine de l'invention est celui de l'adaptation des techniques de reconnaissance vocale, y compris celles permettant la compréhension des commandes vocales, aux contraintes d'un objet connecté, tel par exemple qu'un assistant numérique, assurant un traitement autonome. [0002] On connait déjà de nombreuses techniques de reconnaissance ou de commande vocale qui utilisent les capacités que procurent les réseaux numériques de type « en nuage » (ou communément « cloud ») pour faire fonctionner un assistant numérique. [0003] De telles configurations ont des avantages certains en matière de capacité de calcul et de stockage à distance mais elles impliquent que les données personnelles des utilisateurs, et notamment l'enregistrement de leurs voix sont partiellement ou totalement transmises en ligne et traitées à distance, ce qui induit des risques importants en matière de sécurité et de protection des données personnelles, particulièrement au regard des nouvelles exigences issues du nouveau règlement européen de protection des données, dit « RGPD ». [0004] Le problème technique auquel répond la présente invention réside donc dans la pos- sibilité d'obtenir un traitement de la parole et son interprétation qui s'effectue en temps réel et qui soit de bonne qualité en ne mettant en oeuvre que des capacités de traitement et de stockage très limitées, à savoir du niveau de celles que les dispositifs embarqués actuels utilisables dans les objets connectés peuvent fournir, comme, à titre d'exemple non limitatif, des pico-ordinateurs Raspberry Pi 3. [0005] Pour ce faire, l'invention propose d'optimiser les performances des trois principaux processus qui sont usuellement mis en oeuvre dans les dispositifs de reconnaissance vocale ou de compréhension des commandes vocales, de type assistant personnel ou autre objet connecté, à savoir : [0006] - le modèle acoustique (MA), le modèle de langage (désigné ci-après comme «ML »), et le moteur d'interprétation du langage naturel (communément identifié comme « NLU » pour « Natural Language Understanding ») [0007] L'optimisation effectuée à chacun de ces trois niveaux facilite celle des autres processus, de telle sorte que leur coopération produise un effet technique conjoint en termes de réduction des besoins de capacité de traitement numérique et de stockage de données. [0008] S'agissant en premier lieu du modèle acoustique, l'invention réside dans le fait : d'utiliser un réseau de neurones artificiels (RN) dont la petite taille et la profondeur sont compatibles avec les capacités de stockage d'un calculateur embarqué du type évoqué ci-dessus, à savoir de l'ordre de quelques dizaines de Moctets. 45 Pour obtenir une telle compacité tout en assurant néanmoins un niveau satisfaisant de reconnaissance vocale en temps réel, on peut réduire en particulier le nombre de paramètres du réseau de neurones. Dans l'état actuel de la technique, par exemple, un réseau dimensionné à hauteur d'environ 3 Millions de paramètres permet de tenir dans un espace de stockage d'environ 10 50 Moctets, alors que les solutions utilisant, pour faire également de la reconnaissance de parole en temps réel, des ressources de type cloud, peuvent contenir plus d'une centaine de millions de paramètres et présentent des besoins en mémoire de plusieurs Goctets. Il est également possible selon l'invention de réduire, outre le nombre, la précision des paramètres du 55 réseau de neurones, notamment en recourant à des techniques de décomposition en valeur singulière qui permettent de remplacer une matrice décrivant les connexions du réseau de neurones par la multiplication de matrices plus petites. Si la compacité du réseau de neurones, et donc du modèle acoustique qui repose dessus, ainsi 60 obtenue diminue nécessairement la performance du modèle acoustique en termes de finesse de 3 détection des sons, l'invention permet de compenser cette perte de résolution en mettant en oeuvre, comme cela va être développé ci-dessous, une optimisation de l'efficacité du modèle de langage (ML) ainsi que du moteur d'interprétation du langage naturel (NLU). Cette compacité du modèle acoustique embarqué dans le dispositif n'empêche pas que, dans une phase initiale de son industrialisation préalable à son utilisation par l'utilisateur final, le modèle acoustique a été connecté à un serveur contenant un ensemble très développé d'enregistrements vocaux et un lexique générique lui indiquant notamment la correspondance possible entre sons et 10 phonèmes. C'est après avoir accédé et traité ces ressources extérieures préalables que le réseau de neurones de son modèle acoustique aura été entraîné pour pouvoir effectuer ensuite en situation d'utilisation opérationnelle la reconnaissance des sons. Lorsque, en situation ultérieure d'utilisation le modèle acoustique n'arrivera cependant pas à identifier 15 un mot, le dispositif pourra être configuré, dans une variante de l'invention, pour mentionner en son lieu et place un code indiquant qu'il s'agit d'un mot inconnu. S'agissant en second lieu du modèle de langage (ML), il s'agit d'un élément central du système qui dans le cadre de la présente invention va coopérer tout à la fois avec le moteur acoustique afin de 20 constituer un système de reconnaissance automatisé de la voix (ci-après désigné comme « ASR » pour « Automatic Speech Recognition ») et avec le moteur d'interprétation du langage naturel (NLU) avec lequel il va partager notamment un jeux de données commun pour leur entraînement. C'est en effet le modèle de langage trtit) qui transforme les prédictions produites par le modèle 25 acoustique en phrases, à partir desquelles le moteur d'interprétation du langage naturel (NLU) va extraire des intentions et identifier des champs pouvant prendre différentes valeurs. Les systèmes de reconnaissance vocale connus utilisent pour entraîner leur modèle de langage des bases de données lexicales généralistes très volumineuses, qui nécessitent souvent plusieurs 30 téraoctets de stockage, ainsi que d'importantes ressources de calcul pour réaliser le décodage. A l'inverse, la présente invention prévoit que le jeu de données qui est utilisé pour entraîner le modèle de langage qu'elle utilise est un jeu de données restreint qui ne comporte qu'un vocabulaire spécialisé établi préalablement en fonction du domaine d'application du dispositif embarqué objet de l'invention. Pour engendrer un tel jeu de données spécialisé, il est possible d'employer différentes techniques plus ou moins automatisées capables de produire à partir d'un certain nombre de requêtes concernant le domaine d'utilisation visé, un ensemble diversifié de mots et de phrases exprimant de manière différente les mêmes intentions et utilisant les mêmes champs. Le déposant a notamment décrit dans sa demande de brevet européen n° 17200837.7 une méthode qui permet de produire de façon semi-automatique et dans des délais courts des jeux de données spécialisés de taille réduite aptes à servir en particulier à l'entraînement d'un moteur d'interprétation du langage naturel. 45 La présente invention peut utiliser des jeux de données issues de ladite méthode ou produite par tous autres moyens, y compris manuels, dès lors que le jeu de données obtenu est suffisamment spécifique du domaine d'application visé et ne requiert qu'un espace de stockage ne dépassant la capacité de mémoire permanente d'un calculateur embarqué tel que décrit plus haut. 50 On peut également selon l'invention programmer le dispositif de reconnaissance et de commande vocale pour qu'il puisse enrichir son jeu de données de référence en fonction des usages et des besoins particuliers de son utilisateur, que ce soit manuellement à l'initiative de l'utilisateur qui pourra lui transmettre différentes données par tout moyen (y compris par saisie vocale) ou, toujours avec l'accord de l'utilisateur de manière plus automatique, comme par exemple en l'autorisant à prendre 55 connaissance des données contenues dans un carnet d'adresse électronique. Cette capacité d'enrichissement personnalisé des données de référence du dispositif est également un avantage technique propre à l'invention, puisque les systèmes de reconnaissance et de commande vocale en ligne sont au contraire basés par nature sur le caractère générique de leurs données de références qui doivent pouvoir être utilisés par tous leurs utilisateurs indifféremment. A l'inverse, un système 60 embarqué autonome permet sa personnalisation par chacun de ses utilisateurs. 35 40 4 Pour favoriser l'efficacité du modèle de langage (ML), qui est entraîné sur un tel jeu de données limité, l'invention utilise une combinaison de deux approches : 5 d'une part, une approche statistique (de type « n-gram model ») qui évalue pour chaque mot et membre de phrase la probabilité de ce que pourrait être le mot suivant au regard du contexte et des exemples disponibles dans le jeu de données d'entraînement ; d'autre part, une approche basée sur l'identification d'entités, qui sont des catégories d'information pouvant prendre différentes valeurs, comme par exemple l'entité « ville » qui peut prendre différentes valeurs correspondant à différentes villes (Paris, Londres, New-York, ...) que le système de reconnaissance vocale pourra intégrer à son jeu de données de référence au fur et à mesure de sa mise en oeuvre par l'utilisateur. Certaines des entités les plus courantes (comme par exemple : dates, nombres, températures, ...) sont déjà prédéterminées dans le jeu de données fourni au modèle de langage. Pour alléger le poids des données à stocker et à traiter, le modèle de langage n'est pas doté d'un graphe général préexistant portant sur tous les mots du jeu de données de référence mais le dispositif est programmé pour qu'en fonction des mots qu'identifie le moteur acoustique lors de la phase de reconnaissance vocale, les différents sous-graphes pertinents soit appelés en mémoire et combinés dynamiquement à la demande afin de lui permettre d'analyser les termes de la phrase ou du membre de phrase décodés par le moteur acoustique. Pour faciliter ensuite l'interprétation de ses résultats par le moteur d'interprétation du langage naturel (NLU), le modèle de langage retranscrit sous une forme normalisée et compréhensible par le NLU les entités, valeurs et les requêtes identifiées à partir du jeu de données d'entraînement. A titre d'exemple, la requête « monter l'éclairage de la chambre à 70% de luminosité » va être associée avec une intention spécialisée (en fonction du jeu de donnée prédéterminé correspondant à l'usage du dispositif) et normalisée par exemple sous la forme "SetLightBrightness". Cette intention sera complétee par les valeurs des différentes entités impliquées dans la requête (à savoir "room" et "brightness") et exprimée par exemple de manière normalisée : "set the (room)[kitchen] lights intensity to (brightness)[65%]". Pour réduire également la taille du modèle de langage, celui-ci est organisé en différents moteurs complémentaires : lexique, modèle d'interprétation statistique des requêtes, modèle de traitement des entités, qui vont être dynamiquement appelés et successivement mis en oeuvre au cours du processus d'interprétation. S'agissant en troisième lieu du moteur d'interprétation du langage naturel (NLU), l'invention prévoit tout d'abord qu'il est entraîné à partir du même jeu de données limité et spécialisé que celui qui a servi à l'entraînement du modèle de langage. Pour renforcer sa capacité à identifier des mots inconnus, on peut programmer le dispositif pour que lors de la phase d'entrainement du NLU, il soit injecté dans le jeu de données de référence qu'il utilise de manière aléatoire une certaine proportion du code correspondant à un mot inconnu, proportion qui est choisie pour être sensiblement égale à l'occurrence du dit code dans les résultats obtenus par le modèle acoustique lors de sa propre phase d'entraînement. Pour déterminer les intentions exprimées par les requêtes que le modèle de langage a extrait des résultats de la phase de reconnaissance vocale par le modèle acoustique et qu'il a traduit de manière normalisée, le moteur d'interprétation du langage naturel (NLU) peut aussi croiser deux approches qui seront successivement mises en oeuvre : un premier traitement déterministe de type « expression régulière » par lequel le NLU ne retiendra le résultat que s'il lu] paraît strictement conforme à ce que son jeu de données de référence lui indique, et, dans le cas où le NLU n'a pas pu retenir le résultat à l'issue de la première étape, un traitement probabiliste de type « conditionnai random field », permettant d'extrapoler un résultat à partir d'une probabilité de détection d'une intention. 5 Le moteur d'interprétation du langage naturel (NLU) traite également les entités identifiées par le modèle de langage et leur attribue les valeurs correspondant à celles que le modèle acoustique a détecté à partir de la requête de commande prononcée par l'utilisateur. 5 Pour améliorer la performance de cette détection des intentions, on peut également prévoir selon l'invention que le moteur d'interprétation du langage naturel (NLU) puisse utiliser le score de probabilité de chaque mot donné par le modèle de langage pour refuser la détection d'une entité ou d'une intention dont l'indice de confiance lui semble trop faible. Le dispositif peut alors être programmé pour poser une question par tout moyen (y compris par le biais d'une synthèse vocale) à l'utilisateur 10 afin de lever le doute sur l'élément considéré comme trop incertain. Ci-après, un exposé de l'invention. Selon un premier aspect, l'invention a pour objet un dispositif autonome de traitement de l'information 15 assurant de manière embarquée la reconnaissance vocale par le biais d'une interface homme- machine dédiée, et comprenant au moins : un modèle acoustique pour la reconnaissance automatique de la parole, un modèle de langage (ML), et 20 un moteur de traitement du langage naturel (NLU) tel que l'ensemble de ces moyens ainsi que les jeux de données et les bases qu'ils utilisent pour la reconnaissance et la commande vocale, tels que notamment les lexiques de vocabulaire, sont entièrement stockés localement dans le dispositif autonome de traitement de l'information, et que la 25 mise en oeuvre par l'utilisateur final d'aucune des phases opérationnelles de reconnaissance et de commande vocale au travers du dit système n'implique l'accès à des ressources extérieures ni ne comporte la transmission à un serveur extérieur de données issues de ces traitements. Selon un second aspect de l'invention, le modèle acoustique de ce dispositif est entraîné dans une 30 phase préalable initiale sur un corpus générique de sons afin de perfectionner sa fonction de reconnaissance automatique de la parole et met en oeuvre un réseau de neurones artificiels embarqué configuré de manière à être compatible avec les capacités de stockage réduit du dit dispositif. 35 La figure 1 représente schématiquement l'invention où l'on voit que le son du locuteur utilisateur du dispositif est tout d'abord traité par le modèle acoustique (MA) lequel fait appel à un réseau de neurones (RN) puis qu'à partir des résultats issus du modèle acoustique sont successivement mis en oeuvre le modèle de langage (ML) puis le moteur d'interprétation du langage naturel (NLU) pour aboutir par exemple à l'exécution d'une commande conforme à la requête formulée par l'utilisateur, 40 symbolisée ici par l'éclairage d'une source lumineuse. Un autre aspect de l'invention concerne la phase d'entraînement du modèle de langage (ML) ainsi que du moteur de traitement du langage naturel (NLU) qui sont tous les deux entraînés dans une phase préalable à partir d'un même jeu de données prédéterminées et spécialisées en fonction du type 45 d'utilisation du dispositif de traitement de l'information concerné. L'invention couvre également la mise en oeuvre d'un procédé d'amélioration de la reconnaissance vocale par un dispositif embarqué tel que décrit précédemment et schématisé dans la figure 1 précitée, par lequel le modèle de langage est programmé pour permettre, lors de l'analyse des mots 50 identifiés par le module acoustique, une détection améliorée des mots que le système de reconnaissance automatique de la parole n'a pas reconnus, par la mise en oeuvre des étapes suivantes : identifier parmi les mots prononcés par l'utilisateur, chacun de ceux qui n'ont pas leur 55 correspondance précise dans le jeu de vocabulaire prédéterminé, s'agissant de ces mots, refuser de les rapprocher d'autres mots présents dans le vocabulaire prédéterminé dont la prononciation est proche, les remplacer par une valeur générique les identifiant comme mots inconnus. 60 Dans une variante du même procédé, le modèle de langage est également programmé pour distinguer d'une part des catégories d'information (précédemment dénommées « entités », susceptibles de prendre différentes valeurs et d'autre part, pour chacune de ces entités, les différentes 6 valeurs qu'elle peut prendre. Cette approche basée sur la relation entre entités et valeurs se combine avec une approche statistique du type « n-gram modèle » afin de renforcer les capacités de reconnaissance vocale. 5 Une autre variante permet à l'utilisateur final d'un dispositif de reconnaissance vocale mettant en oeuvre ce procédé d'enrichir son jeu de données de référence en fonction de ses usages et besoins particuliers de son utilisateur, que ce soit manuellement par ledit utilisateur qui peut lui transmettre différentes données par tout moyen (y compris par saisie vocale) ou de manière plus automatique en 10 l'autorisant à accéder à des ressources de données dont il dispose ou dont il a l'accès. Le procédé de reconnaissance vocale ci-dessus peut être également amélioré par le fait que le modèle de langage ne dispose pas au préalable d'un graphe général préexistant portant sur tous les mots du jeu de données de référence mais combine dynamiquement à la demande et en fonction des 15 mots qu'identifie le module acoustique, les sous-graphes pertinents lui permettant d'analyser les termes de la phrase ou du membre de phrase décodés par le module acoustique. De cette manière également, il assure la compacité des données nécessaires au traitement de la reconnaissance vocale ou de la compréhension des commandes vocales sans perdre en performances mais en permettant qu'il soit entièrement réalisé au sein d'un dispositif embarqué. 20 Une autre variante du procédé fait en sorte que le moteur d'interprétation du langage naturel (NLU) soit programmé pour renforcer la difficulté de son apprentissage afin d'améliorer sa performance en injectant aléatoirement dans le jeu de données de référence utilisé pour son entrainement une certaine proportion de mots inconnus, et en tenant compte pour le calcul de cette proportion de la 25 fréquence des mots identifiés comme inconnus par le module acoustique (MA) lors de son propre apprentissage. Une autre méthode pour améliorer la capacité d'interprétation des intentions et valeurs contenues dans les requêtes vocales adressées au dispositif de reconnaissance vocale consiste à réaliser lors 30 de la phase opérationnelle d'utilisation du dit procédé les deux étapes suivantes : un traitement déterministe par lequel le NLU ne retient le résultat que s'il lui paraît strictement conforme à ce que son jeu de données de référence lui indique, et, dans le cas où le NLU n'a pas pu retenir le résultat à l'issue de la première étape, un 35 traitement probabiliste permettant d'extrapoler un résultat à partir d'une probabilité de détection d'une REVENDICATIONS1.Dispositif autonome de traitement de l'information assurant de manière embarquée la reconnaissance vocale par le biais d'une interface homme-machine dédiée, et comprenant au moins : - un modèle acoustique pour la reconnaissance automatique de la parole (MA), - un réseau de neurones artificiels, - un modèle de langage (ML), et - un moteur d'interprétation du langage naturel (NLU) caractérisé en ce que les dits moyens ainsi que les jeux de données et les bases qu'ils utilisent pour la reconnaissance et la commande vocale, tels que notamment les lexiques de vocabulaire, sont stockés localement dans le dispositif et en ce que la mise en oeuvre par l'utilisateur final des différentes phases opérationnelles de reconnaissance et de commande vocale au travers du dit dispositif est entièrement réalisée localement par le calculateur embarqué dans le dit dispositif. 2.Dispositif selon la revendication 1, caractérisé en ce que dans une phase de son industrialisation préalable à son utilisation, le modèle acoustique est entraîné pour la reconnaissance automatique de la parole sur un ensemble très développé d'enregistrements vocaux formant un corpus générique de sons, et en ce que le dit modèle acoustique met en oeuvre un réseau de neurones artificiels embarqué, dont le nombre et la précision des paramètres ont été sélectionnés pour permettre la réduction de la taille du dit réseau et le rendre apte à être stocké dans la mémoire permanente du dit dispositif. 3.Dispositif selon l'une ou plusieurs des revendications 1 à 2, caractérisé en ce que le modèle de langage (ML) est entraîné dans une phase préalable sur un jeu de données restreint et spécialisé en fonction du domaine d'utilisation du dit dispositif, et en ce que le même jeu de données restreint et spécialisé est également utilisé pour l'entrainement du moteur d'interprétation du langage naturel (NLU). 4.Dispositif selon l'une ou plusieurs des revendications 1 à 3, caractérisé en ce que le modèle de langage (ML) est organisé en différents moteurs complémentaires, parmi lesquels un lexique, un modèle d'interprétation statistique des requêtes et un modèle de traitement des entités, qui vont être dynamiquement appelés et successivement mis en oeuvre au cours du processus d'interprétation des résultats de la reconnaissance par le modèle acoustique. 5.Dispositif selon l'une ou plusieurs des revendications 1 à 4, caractérisé en ce que le modèle de langage combine dynamiquement, en fonction des mots qu'identifie le moteur acoustique lors de la phase de reconnaissance vocale, différents sous-graphes qui sont appelés en mémoire pour permettre d'analyser les termes de la phrase ou du membre de phrase décodés par le moteur acoustique. 6.Procédé d'amélioration de la reconnaissance vocale mis en oeuvre par un dispositif selon l'une ou plusieurs des revendications 1 à 5, caractérisé en ce que le modèle acoustique est entrainé sur corpus générique de sons et utilise un réseau de neurones artificiels stocké dans la mémoire permanente du dit dispositif embarqué et en ce que le modèle de langage est programmé pour permettre, lors de l'analyse des mots identifiés par le modèle acoustique, une détection améliorée des mots que le système de reconnaissance automatique de la parole n'a pas reconnus, par la mise en oeuvre des étapes suivantes : Page de remplacement 7 - identifier parmi les mots prononcés par l'utilisateur, chacun de ceux qui n'ont pas leur correspondance précise dans le jeu de vocabulaire spécialisé, - s'agissant de ces mots, refuser de les rapprocher d'autres mots présents dans le vocabulaire spécialisé dont la prononciation est proche, - les remplacer par une valeur générique les identifiant comme mots inconnus. 7.Procédé selon la revendication 6, caractérisé en ce que le modèle de langage est programmé de manière à distinguer d'une part des entités correspondant à des catégories d'information susceptibles de prendre différentes valeurs et d'autre part, pour chacune de ces entités, les différentes valeurs que chacune d'entre elle peut prendre, et en ce que cette approche basée sur la relation entre entités et valeurs se combine avec une approche statistique du type «n-gram modèle » afin de renforcer les capacités de reconnaissance vocale. 8.Procédé selon l'une ou plusieurs des revendications 6 à 7, caractérisé en ce que le dispositif mettant en oeuvre ledit procédé est programmé pour que son jeu de données de référence puisse être enrichi en fonction des usages et des besoins particuliers de son utilisateur soit à partir de données saisies par le dit utilisateur soit récupérées par connexion à des ressources de données extérieures dont le dit utilisateur a autorisé l'accès. 9.Procédé selon l'une ou plusieurs des revendications 6 à 8, caractérisé en ce que le modèle de langage ne dispose pas au préalable d'un graphe général préexistant portant sur tous les mots du jeu de données de référence mais combine dynamiquement à la demande et en fonction des mots qu'identifie le modèle acoustique, les sous-graphes pertinents lui permettant d'analyser les termes de la phrase ou du membre de phrase décodés par le modèle acoustique. 10.Procédé selon l'une ou plusieurs des revendications 6 à 9, caractérisé en ce que le moteur d'interprétation du langage naturel (NLU) est programmé pour renforcer la difficulté de son apprentissage afin d'améliorer sa performance - en injectant aléatoirement dans le jeu de données de référence utilisé pour son entrainement une certaine proportion de mots inconnus, - et en tenant compte pour le calcul de cette proportion de la fréquence des mots identifiés comme inconnus par le modèle acoustique (ASR) lors de son propre apprentissage. 11.Procédé selon l'une ou plusieurs des revendications 6 à 10, caractérisé en ce que : - le moteur d'interprétation du langage naturel (NLU) réalise sur les résultats normalisés issus du modèle de langage un traitement déterministe par lequel le NLU ne retient le résultat que s'il lui paraît strictement conforme à ce que son jeu de données de référence lui indique, - puis dans le cas où le NLU n'a pas pu retenir le résultat à l'issue de la première étape, un traitement probabiliste permettant d'extrapoler un résultat à partir d'une probabilité de détection d'une intention. 12.Procédé selon l'une ou plusieurs des revendications 6 à 11, caractérisé en ce qu'il met en oeuvre les étapes suivantes : - le moteur d'interprétation du langage naturel (NLU) utilise le score de probabilité de chaque mot donné par le modèle de langage pour refuser la détection d'une entité ou d'une intention dont l'indice de confiance lui semble trop faible, - dans le cas d'un tel refus, le dispositif est programmé pour interroger, notamment mais non exclusivement par le biais d'une synthèse vocale, l'utilisateur afin que le dit utilisateur puisse lever le doute sur l'interprétation de l'élément considéré comme incertain. Page de remplacement 8 13.Dispositif selon l'une ou plusieurs des revendications 1 à 5, caractérisé en ce qu'il met en oeuvre un procédé d'amélioration de la reconnaissance vocale selon l'une ou plusieurs des revendication 6 à 12. Page de remplacement