Brevet FR3118527A1 — publié le 20220701

Un procédé est destiné à comprendre automatiquement des expressions représentatives d’une instruction multiple comportant au moins deux instructions simples représentatives chacune d’un ordre. Ce procédé comprend, en cas de réception d’une expression, une première étape (100) dans laquelle on segmente de façon automatisée l’instruction multiple représentée par l’expression reçue en instructions simples, et une seconde étape (110) dans laquelle on détermine de façon automatisée un champ d’application parmi un ensemble de champs d’application pour chacune des instructions simples de la segmentation. Figure pour l’abrégé : Fig. 3 Procédé de compréhension automatique d’expressions en langage naturel, et dispositif de compréhension associé La présente invention concerne les procédés (ou méthodes) de compréhension automatique d’expressions en langage naturel (parlées ou écrites), et plus précisément les procédés qui sont basés sur la segmentation automatique d’instructions multiples contenues dans des expressions (ou phrases) en langage naturel. Comme le sait l’homme de l’art, la segmentation automatique d’instructions multiples est un sous-domaine récent du domaine général de la compréhension automatique du langage parlé (ou SLU (« Spoken Language Understanding »)). La méthode de segmentation automatique d’instructions multiples offrant actuellement les « meilleurs » résultats est la méthode à base d’intelligence artificielle proposée par Rohan Shet dans l’article « Segmenting multi-intent queries for spoken language understanding » (publié en 2019). Elle utilise à la fois l’incorporation de mots (ou « word embedding ElMo ») qui exploite la structure des mots, des réseaux de neurones récurrents (ou RNNs (« Recurrent Neural Networks »)) basés sur des architectures de type LSTM (« Long Short-Term Memory »)), et une méthode de reconnaissance d’entités nommées (ou NER (« Named-Entity Recognition »)) pour identifier des objets textuels pertinents (mot séparateur, début de segment, fin segment). La méthode NER consiste à extraire de l’information dans un texte en cherchant des objets textuels (de type mot ou groupe de mots) pouvant être classés dans des catégories telles que les noms propres, les entreprises, les lieux, les quantités. Cette méthode de segmentation automatique d’instructions multiples n’apporte pas une entière satisfaction en raison de son taux d’erreur assez important, et donc ne peut pas être utilisée pour générer des scripts automatiques destinés à commander ou alimenter des fonctions automatisées. Ce taux d’erreur important résulte du fait que l’intelligence artificielle ne connaît pas le contexte de chaque instruction simple et donc nécessite un très grand nombre de données d’apprentissage de qualité pour configurer ses réseaux de neurones, ce qui est très difficile à produire puisqu’elles doivent concerner de très nombreuses applications souvent très différentes et de très nombreux jeux d’instructions. Il existe aussi deux solutions commercialisées sous les marques déposées OkGoogle® et Siri® et gérant des champs d’application très divers. Mais OkGoogle® gère exclusivement les instructions multiples lorsqu’elles comprennent des instructions simples séparées par le mot « et », et Siri® ne gère pas du tout les instructions multiples. Il peut ainsi être souhaité de prévoir un procédé de compréhension automatique d’expressions en langage naturel (parlées ou écrites) qui permette de s’affranchir d’au moins une partie des problèmes et contraintes précités. Il est donc notamment proposé un procédé, d’une part, destiné à permettre la compréhension automatique d’expressions représentatives d’une instruction multiple comportant au moins deux instructions simples représentatives chacune d’un ordre (ou d’une commande), et, d’autre part, comprenant, en cas de réception d’une expression : une première étape dans laquelle on segmente de façon automatisée l’instruction multiple représentée par l’expression reçue en instructions simples, et une seconde étape dans laquelle on détermine de façon automatisée un champ d’application parmi un ensemble de champs d’application pour chacune des instructions simples de la segmentation. Ainsi, on peut désormais déterminer pour chaque instruction multiple, représentée par une expression reçue, des instructions simples, puis on peut déterminer le contexte de traitement ciblé par chacune de ces instructions simples déterminées, ce qui permet d’améliorer notablement la compréhension des instructions multiples. Le procédé de compréhension selon l’invention peut comporter d’autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment : - dans un premier mode de réalisation, dans sa première étape on peut comparer chaque sous-partie élémentaire de ladite expression reçue à des séparateurs contenus dans un ensemble prédéfini de séparateurs, afin de déterminer chaque séparateur contenu dans l’expression reçue, puis on peut considérer que les sous-parties élémentaires situées avant ou après un séparateur déterminé sont représentatives d’une instruction simple ; - dans ce premier mode de réalisation, dans la première étape on peut utiliser un ensemble prédéfini de séparateurs comprenant des signes de ponctuation choisis dans un groupe comportant une virgule et un point-virgule et des mots de séparation choisis dans un autre groupe comportant les mots et, puis, ensuite, enfin, après et aussi ; - dans un deuxième mode de réalisation, dans sa première étape on peut utiliser une intelligence artificielle pour classer chaque sous-partie élémentaire de l’expression reçue dans une catégorie qui est choisie parmi une première catégorie de séparateurs et une seconde catégorie de mots autres que des séparateurs, puis pour considérer que les sous-parties élémentaires situées avant ou après une sous-partie élémentaire classée dans la première catégorie de séparateurs sont représentatives d’une instruction simple ; - dans un troisième mode de réalisation, dans sa première étape on peut utiliser une intelligence artificielle pour déterminer dans l’expression reçue chaque sous-partie élémentaire représentant un début d’instruction simple et chaque sous-partie élémentaire représentant une fin d’instruction simple, puis pour considérer que les sous-parties élémentaires comprises entre une sous-partie élémentaire incluse et représentant un début d’instruction simple et une autre sous-partie élémentaire incluse et représentant une fin d’instruction simple suivant ce début d’instruction simple sont représentatives d’une même instruction simple ; - dans le deuxième ou troisième mode de réalisation, dans la première étape on peut utiliser l’intelligence artificielle et une méthode de reconnaissance d’entités nommées pour effectuer le classement de chaque sous-partie élémentaire de l’expression reçue ; - en présence de la dernière option, dans la première étape on peut utiliser l’intelligence artificielle et la méthode de reconnaissance d’entités nommées en association avec une couche dite à champ aléatoire conditionnel pour effectuer le classement de chaque sous-partie élémentaire de l’expression reçue ; - dans sa seconde étape on peut utiliser une intelligence artificielle pour déterminer un contexte de chaque instruction simple, puis pour déterminer le champ d’application de chaque instruction simple en fonction du contexte déterminé pour cette dernière. L’invention propose également un programme d’ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par au moins un processeur. Ce programme d’ordinateur se caractérise par le fait qu’il comprend des instructions pour l’exécution des étapes d’un procédé de compréhension du type de celui présenté ci-avant, lorsque le programme est exécuté sur au moins un équipement à processeur(s) ou au moins un ordinateur. L’invention propose également un dispositif de compréhension destiné à permettre la compréhension automatique d’expressions représentatives d’une instruction multiple comportant au moins deux instructions simples représentatives chacune d’un ordre (ou d’une commande). Ce dispositif de compréhension se caractérise par le fait qu’il comprend au moins une unité de traitement et au moins une mémoire propres, en cas de réception d’une expression, à effectuer les opérations consistant : à segmenter de façon automatisée l’instruction multiple représentée par l’expression reçue en instructions simples, et à déterminer de façon automatisée un champ d’application parmi un ensemble de champs d’application pour chacune des instructions simples de la segmentation. L’invention sera mieux comprise à l’aide de la description qui va suivre, donnée uniquement à titre d’exemple et faite en se référant aux dessins annexés dans lesquels : la illustre schématiquement et fonctionnellement un exemple d’objet électronique communicant, comprenant un dispositif de compréhension selon l’invention, et couplé à un réseau de communication auquel est aussi connecté un équipement de communication, la illustre schématiquement et fonctionnellement un exemple de réalisation d’un dispositif de compréhension selon l’invention, et la illustre schématiquement un exemple d’algorithme mettant en œuvre un procédé de compréhension selon l’invention. L’invention a notamment pour but de proposer un procédé de compréhension, et un dispositif de compréhension 1 associé, destinés à permettre la compréhension automatique d’expressions en langage naturel (écrites ou parlées) qui sont chacune représentatives d’une instruction multiple comportant au moins deux instructions simples représentatives chacune d’un ordre (ou d’une commande). On a schématiquement et fonctionnellement représenté sur la un exemple d’objet électronique 2 communicant, comprenant un dispositif de compréhension 1 selon l’invention, et couplé à un réseau de communication 3 auquel est aussi connecté un équipement de communication 4. Le procédé de compréhension, selon l’invention, est mis en œuvre lorsqu’un objet électronique 2 reçoit, via au moins une interface qu’il comprend, une expression (ou phrase) en langage naturel (écrite ou parlée) et qui doit être comprise pour contrôler ou piloter au moins une fonction qu’il assure ou qui est assurée par au moins un autre objet électronique auquel il est couplé (directement ou indirectement, par exemple via un réseau de communication (éventuellement non filaire)). On notera que l’interface précitée peut être une interface d’entrée (éventuellement de communication) ou une interface homme/machine (comme par exemple un microphone ou un clavier (éventuellement digital et faisant éventuellement partie d’un écran tactile)). On considère dans ce qui suit, à titre d’exemple illustratif, que l’objet électronique 2 est un équipement de communication utilisé par un utilisateur. Par exemple, cet équipement de communication 2 peut être un téléphone intelligent mobile (ou « smartphone »), une tablette électronique, une console de jeu, une montre connectée, ou un ordinateur (fixe ou portable). Mais l’objet électronique 2 peut être de n’importe quel type dès lors qu’il peut recevoir des expressions en langage naturel (écrites ou parlées) représentatives d’instructions multiples. Ainsi, il pourrait s’agir, par exemple, d’un serveur de communication ou d’un appareil (éventuellement électroménager) ou d’un robot communicant ou d’un capteur connecté (ou communicant) ou encore d’un équipement de contrôle ou de pilotage (par exemple d’un système d’alarme, d’un système de verrouillage d’ouvrant(s), d’un système de surveillance, d’un système d’éclairage, d’un système de signalisation, d’un système de chauffage/climatisation, d’un véhicule, d’une machine, d’une installation, ou d’un bâtiment). Par ailleurs, on considère ici, à titre d’exemple illustratif, que l’objet électronique 2 (ici un équipement de communication) reçoit des expressions (écrites ou parlées) fournies par son utilisateur et qu’il doit comprendre pour piloter au moins une fonction assurée ou contrôlée par un équipement de communication 4 (par exemple un équipement de contrôle d’une installation domotique équipant un bâtiment). Comme illustré non limitativement par l’exemple d’algorithme de la , un procédé de compréhension selon l’invention comprend des première 100 et seconde 110 étapes qui peuvent être mises en œuvre au moins partiellement par un dispositif de compréhension 1 selon l’invention ou bien par un programme d’ordinateur dédié exécuté sur au moins un équipement à processeur(s) ou au moins un ordinateur. Ce programme d’ordinateur dédié comprend des instructions pour l’exécution des étapes du procédé de compréhension et est téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par au moins un processeur (ou une unité de traitement) d’un équipement (ici au moins l’équipement de communication 2). Dans la première étape 100, du procédé de compréhension, on (le dispositif de compréhension 1) segmente de façon automatisée l’instruction multiple qui est représentée par une expression (en langage naturel) reçue en instructions simples (au moins deux). Dans la seconde étape 110, du procédé de compréhension, on (le dispositif de compréhension 1) détermine de façon automatisée un champ d’application parmi un ensemble de champs d’application pour chacune des instructions simples de la segmentation qui a été déterminée dans la première étape 100. On entend ici par « champ d’application » un domaine contextuel regroupant un ensemble d’au moins un appareil électronique ou d’au moins une fonction concerné(e) par un ordre d’une instruction simple. Grâce à l’invention, on peut désormais déterminer pour chaque instruction multiple, représentée par une expression reçue, des instructions simples, puis on peut déterminer le contexte de traitement ciblé par chacune de ses instructions simples déterminées. Cela permet d’améliorer notablement la compréhension des expressions (ou instructions multiples) et donc de diminuer notablement le taux d’erreur de compréhension permettant ainsi l’utilisation des instructions multiples pour commander ou alimenter des fonctions automatisées après une traduction en script d’automatisation. Par exemple, dans la seconde étape 110 on peut utiliser une intelligence artificielle pour déterminer un contexte de chaque instruction simple, puis pour déterminer le champ d’application de chaque instruction simple en fonction du contexte déterminé pour cette dernière. Le contexte d’une instruction simple peut être une classe de champs d’application choisie parmi plusieurs prédéfinies. Si aucun contexte n’est reconnu pour une instruction simple, alors cette instruction simple peut être associée à une classe inactive. Pour réaliser la détermination de contexte on peut utiliser un classificateur de contexte basé sur un modèle de type BERT, proposé par Jacob Devlin dans l’article « BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding ») (publié en 2019), avec de préférence une couche linéaire en sortie. Un tel modèle requiert une quantité moindre de données d’entraînement (ou d’apprentissage) que celle nécessaire à un réseau de neurones récurrents (ou RNN) basé sur une architecture de type LSTM, et de surcroit converge plus rapidement qu’un RNN. Le classificateur de contexte utilise pour fonctionner un jeu de données contenant quelques centaines de phrases (ou expressions) dans lesquelles des classes de champs d’application sont représentées. De préférence, les phrases (ou expressions) sont réparties de façon équilibrée entre les différentes classes. On notera qu’un ajout de contexte au sein de l’intelligence artificielle assurant la fonction de classificateur de contexte nécessite un nouvel entrainement de ce dernier, mais ce nouvel entrainement est peu coûteux en temps car le nombre de données nécessaires est raisonnable. On notera également que l’on peut aussi réaliser une détermination de contexte inter instructions simples d’une même instruction complexe afin d’obtenir des expressions (ou des scripts résultant de la compréhension de ces expressions) encore plus naturel(le)s et plus fiables en entrée des objets électroniques implémentant les fonctions concernées. A titre d’exemple, on peut avoir deux champs d’application, l’un étant une multiprise couplée à des lampes de quatre couleurs différentes (et donc dont chaque couleur peut être choisie), l’autre étant un boîtier décodeur (ou « set-top box ») permettant de choisir une chaîne de télévision ou de radio. Si un utilisateur fournit l’expression « mets la verte puis mets RMC Découverte après si le chien est dans la pièce alors tu le laveras », celle-ci représente une instruction multiple que le dispositif de compréhension 1 va segmenter en trois segments : un premier segment « mets la verte » (première instruction simple), un deuxième segment « mets RMC Découverte » (deuxième instruction simple), et un troisième segment « si le chien est dans la pièce alors tu le laveras » (troisième instruction simple se présentant sous la forme d’une règle). Ensuite, le dispositif de compréhension 1 va associer les trois segments respectivement à trois champs d’application : « mets la verte » est associé à la « multiprise » (cette première association constitue une première intention), « mets RMC Découverte » est associé au boîtier décodeur (cette deuxième association constitue une deuxième intention), et « si le chien est dans la pièce alors tu le laveras ». Dans ce dernier cas, aucun champ d’application ne permet de détecter la présence d’un chien ou encore de le laver, et donc la règle ne peut pas être associée à un champ d’application connu ce qui interdit la détermination d’une troisième association et donc d’une troisième intention. Dans cet exemple seules les première et deuxième intentions pourront ensuite être transformées en commandes et paramètres bas niveau : de la première intention est extraite la commande « allumer (ou « on ») » et le paramètre « vert », et de la deuxième intention est extraite la commande « mettre la chaîne de télévision » et le paramètre « RMC Découverte ». Au moins trois modes de réalisation peuvent être envisagés pour la première étape 100. Dans un premier mode de réalisation, dans la première étape 100 on (le dispositif de compréhension 1) peut comparer chaque sous-partie élémentaire de l’expression reçue à des séparateurs qui sont contenus dans un ensemble prédéfini de séparateurs, afin de déterminer chaque séparateur contenu dans l’expression reçue. On entend ici par « sous-partie élémentaire » un mot ou un signe de ponctuation. Puis, on peut considérer que les sous-parties élémentaires qui sont situées avant ou après un séparateur déterminé sont représentatives d’une instruction simple. En d’autres termes, à partir d’un ensemble de séparateurs, le dispositif de compréhension 1 va découper (ou segmenter) une instruction multiple en une liste d’instructions simples séparées deux à deux par un séparateur reconnu au sein de cet ensemble. Chaque séparateur reconnu est alors supprimé (et donc n’est pas intégré dans une instruction simple). Par exemple, dans la première étape 100 on peut utiliser un ensemble prédéfini de séparateurs comprenant, d’une part, des signes de ponctuation qui sont choisis dans un groupe comportant une virgule et un point-virgule, et, d’autre part, des mots de séparation qui sont choisis dans un autre groupe comportant les mots « et », « puis », « ensuite », « enfin », « après » et « aussi ». A titre d’exemple, un utilisateur peut fournir l’expression « Allume la lampe verte et éteins la lampe rouge enfin mets ARTE ». Dans ce cas, le dispositif de compréhension 1 va transformer cette expression en une suite d’instructions simples [« Allume la lampe verte », « éteins la lampe rouge », « mets ARTE »]. Ce premier mode de réalisation est basé sur une analyse lexicale classique sous-partie élémentaire à sous-partie élémentaire (ou « mot à mot ») reposant sur des règles et la connaissance de l’ensemble des séparateurs qui sont utilisables dans une langue donnée. Il résulte du fait qu’une personne formule généralement une instruction multiple en séparant ses instructions simples uniquement par des séparateurs. Sa mise en œuvre ne nécessite pas l’utilisation d’une intelligence artificielle, et ne requiert pas de données d’entrainement (ou d’apprentissage). Par exemple, cette mise en œuvre peut être basée sur un script qui réalise un filtre de comparaison dans lequel chaque sous-partie élémentaire d’une expression reçue est comparée à l’ensemble prédéfini de séparateurs. Dans la pratique, le script peut être représenté par un algorithme consistant à ajouter des espaces autour des caractères spéciaux et de ponctuation (« , », « ; » « - », « ’ », …) de l’instruction multiple, puis à comparer chaque sous-partie élémentaire de l’expression aux séparateurs de l’ensemble prédéfini, puis à couper l’expression au niveau de chaque séparateur ayant fait l’objet d’un ajout d’espace puis d’une reconnaissance au sein de l’ensemble prédéfini. Dans un deuxième mode de réalisation, dans la première étape 100 on (le dispositif de compréhension 1) peut utiliser une intelligence artificielle pour classer chaque sous-partie élémentaire de l’expression reçue dans une catégorie qui est choisie parmi une première catégorie de séparateurs et une seconde catégorie de mots autres que des séparateurs. Puis, on (le dispositif de compréhension 1) peut utiliser cette intelligence artificielle pour considérer que les sous-parties élémentaires qui sont situées avant ou après une sous-partie élémentaire classée dans la première catégorie de séparateurs sont représentatives d’une instruction simple. En d’autres termes, l’intelligence artificielle classe chaque sous-partie élémentaire de l’expression dans une catégorie parmi deux : soit il s’agit d’un séparateur, soit il ne s’agit pas d’un séparateur. Cela permet de déterminer les séparateurs dans une expression sans qu’une liste exhaustive de séparateurs ne soit nécessaire. Dès lors qu’un séparateur est trouvé, l’instruction multiple est segmentée sans que ce séparateur ne soit intégré à l’une des instructions simples. A titre d’exemple, un utilisateur peut fournir l’expression « Allume la lampe verte tout en mettant ARTE ». Dans ce cas, le dispositif de compréhension 1 va transformer cette expression en une suite d’instructions simples [« Allume la lampe verte », « mettant ARTE »]. Par exemple, dans la première étape 100 on peut utiliser l’intelligence artificielle et une méthode de reconnaissance d’entités nommées (ou NER (« Named-Entity Recognition ») pour effectuer le classement de chaque sous-partie élémentaire de l’expression reçue. Dans ce cas, on peut combiner une architecture de type BERT à la méthode NER. Cela permet d’améliorer encore la compréhension des expressions et donc de réduire encore le taux d’échec. On notera que dans la première étape 100 on peut utiliser l’intelligence artificielle et la méthode de reconnaissance d’entités nommées (ou NER) en association avec une couche dite à champ aléatoire conditionnel (ou CRF (« Conditional Random Field »)) pour effectuer le classement de chaque sous-partie élémentaire de l’expression reçue. Cela permet d’améliorer encore plus la compréhension des expressions et donc de réduire encore plus le taux d’échec. Dans un troisième mode de réalisation, dans la première étape 100 on (le dispositif de compréhension 1) peut utiliser une intelligence artificielle pour déterminer dans l’expression reçue chaque sous-partie élémentaire qui représente un début d’instruction simple et chaque sous-partie élémentaire qui représente une fin d’instruction simple. Puis, on (le dispositif de compréhension 1) peut utiliser cette intelligence artificielle pour considérer que les sous-parties élémentaires qui sont comprises entre une sous-partie élémentaire incluse et représentant un début d’instruction simple et une autre sous-partie élémentaire incluse et représentant une fin d’instruction simple suivant ce début d’instruction simple sont représentatives d’une même instruction simple. En d’autres termes, l’intelligence artificielle considère que toutes les sous-parties élémentaires qui sont comprises entre ce qu’elle estime être un début d’instruction simple et une fin d’instruction simple (tous deux inclus) constituent cette instruction simple. A titre d’exemple, un utilisateur peut fournir l’expression « Allume la lampe verte tout en mettant ARTE ». Dans ce cas, le dispositif de compréhension 1 va déterminer que le mot « allume » est le début d’une première instruction simple, le mot « verte » est la fin de la première instruction simple, le mot « mettant » est le début de la seconde instruction simple et le mot « ARTE » est la fin de la seconde instruction simple, puis va transformer cette expression en une suite d’instructions simples [« Allume la lampe verte », « mettant ARTE »]. Par exemple, dans ce troisième mode de réalisation on peut utiliser une intelligence artificielle à architecture de type BERT et la méthode de reconnaissance d’entités nommées (ou NER), éventuellement en association avec une couche à champ aléatoire conditionnel (ou CRF (« Conditional Random Field »)) pour effectuer la détermination des début et fin d’instruction simple d’une expression reçue. Cela permet d’améliorer encore plus la compréhension des expressions et donc de réduire encore plus le taux d’échec. Il est ici rappelé que l’architecture BERT, qui peut être utilisée dans les deuxième et troisième modes de réalisation décrits ci-avant, utilise sa propre technique de découpage d’expression en jetons (ou « tokens » - mot complet ou morceau de mot) et sa propre technique d’incorporation de mots (ou « word-embedding » - les jetons sont représentés sous forme de vecteurs qui sont directement utilisés par l’architecture pour faire une prédiction). Les jetons déterminés sont envoyés à l’architecture BERT, et en aval de cette dernière on place une couche linéaire afin de réaliser une classification de chacun des jetons dans diverses classes prédéfinies (une fonction « softmax » est appliquée sur les neurones qui sont relatifs à un même jeton pour décider de la classe à lui assigner). Sans la couche CRF, pour chaque jeton, un label est déterminé en fonction du score d’émission maximum, afin que les labels des différents jetons soient fixés indépendamment les uns des autres, mais des aberrations peuvent apparaitre. C’est pourquoi il est avantageux d’utiliser en plus une couche CRF qui supprime ces aberrations. En effet, l’ajout d’une couche CRF permet de prendre en compte non seulement les scores d’émissions des labels mais aussi les scores de transitions possibles d’un label à l’autre. Les scores qui constituent la matrice de transitions sont les paramètres de la couche CRF qui sont optimisés durant l’entraînement (ou apprentissage) de l’intelligence artificielle. Avec la couche CRF, les labels d’une expression ne sont plus choisis indépendamment, car pour chaque expression une suite de labels est décidée de manière à minimiser les scores d’émissions et de transitions de la suite de labels. On notera que l’ajout d’une couche CRF en sortie de l’architecture BERT peut se faire via PyTorch (bibliothèque logicielle Python open source d’apprentissage machine) en instanciant un optimiseur pour les paramètres du modèle CRF (en utilisant Adam), puis en envoyant la sortie de la partie NER dans la couche CRF (modification de la méthode de transfert (ou « forward »), puis en sommant le coût du traitement effectué par la partie NER et le coût du traitement effectué par la couche CRF (lors de la rétropropagation, PyTorch calcule automatiquement les gradients relatifs aux paramètres de la couche CRF en même temps que ceux de l’architecture BERT lors de l’appel à la méthode de retour en arrière (ou « backward ») sur la somme des coûts), puis en mettant à jour les paramètres de la couche CRF (appel à la méthode « step » de l’optimiseur). Dans le cas du deuxième mode de réalisation, on peut, en complément de ce qui est décrit ci-dessus, utiliser trois classes : « O », « B-SEP » et « I-SEP. Pour chaque jeton, le label retenu est celui qui est associé au score maximum. L’expression reçue est scindée à l’emplacement où un séparateur est détecté, ce séparateur est ignoré et une liste d’instructions simples est obtenue. A titre d’exemple, un utilisateur peut fournir l’expression « Allume la lampe rouge tout en mettant ARTE ». Dans ce cas, le dispositif de compréhension 1 détermine la suite de mots Allume la lampe rouge tout en mettant ARTE, et associe respectivement à ces mots la suite de labels O O O O B-SEP I-SEP O O, ce qui lui permet d’aboutir à la segmentation « Allume la lampe rouge » « mettant ARTE ». Dans le cas du deuxième mode de réalisation avec une couche CRF en complément en sortie, la labélisation et la méthode de segmentation restent identiques. Cependant le choix des labels n’est plus obtenu uniquement à partir des scores de sortie de l’architecture BERT. C’est en effet la couche CRF qui décide de la suite de labels la plus probable. Dans le cas du troisième mode de réalisation, on peut, en complément de ce qui est décrit plus haut, utiliser trois classes : « O », « BOS » et « EOS ». Pour chaque label, celui dont le score est maximum est retenu, comme dans le cas du deuxième mode de réalisation (avec partie NER mais sans couche CRF). Chaque instruction simple à l’issue de la segmentation débute à un label BOS et termine à un label EOS, les mots non encadrés sont ignorés. A titre d’exemple, un utilisateur peut fournir l’expression « Allume la lampe rouge tout en mettant ARTE ». Dans ce cas, le dispositif de compréhension 1 détermine la suite de mots Allume la lampe rouge tout en mettant ARTE, et associe respectivement à ces mots les labels BOS O O EOS O O BOS EOS, ce qui lui permet d’aboutir à la segmentation « Allume la lampe rouge » « mettant ARTE ». Dans le cas du troisième mode de réalisation avec une couche CRF en complément en sortie, la labélisation et la méthode de segmentation restent identiques. On notera que l’apprentissage des intelligences artificielles, utilisées par le dispositif de compréhension 1, se fait au moyen de jeux de données d’apprentissage qui peuvent être des instructions caractéristiques dans une langue donnée et/ou des lignes de données produites à partir de structures de phrase (ou « masterspins ») dans lesquelles certains mots parcourent des listes (cette production est appelée en anglais « content spinning »). Un exemple de quatre expressions générées à partir du masterspin {Allume | Eteins} la lampe {verte | rouge} donne les quatre possibilités « Allume la lampe verte », « Allume la lampe rouge », « Eteins la lampe verte » et « Eteins la lampe rouge ». Au lieu d’utiliser des lignes de données produites à partir de masterspins, on peut utiliser des jeux de données d’apprentissage générés à partir de la plate-forme de reconnaissance vocale intégrée SNIPS, par exemple. Comme illustré non limitativement sur la , le dispositif de compréhension 1 comporte au moins une unité de traitement 5 et au moins une mémoire 6 propres à effectuer les opérations consistant, en cas de réception d’une expression, à effectuer les opérations consistant à segmenter de façon automatisée l’instruction multiple qui est représentée par cette expression reçue en instructions simples, et à déterminer de façon automatisée un champ d’application parmi un ensemble de champs d’application pour chacune des instructions simples de la segmentation. L’unité de traitement 5 peut, par exemple, être un processeur, éventuellement de signal numérique (ou DSP (« Digital Signal Processor »)). La mémoire 6 stocke des fichiers de données et de programme(s) d’ordinateur dont les instructions sont destinées à être exécutées par l’unité de traitement 5 (ou processeur). Cette mémoire 6 peut, par exemple, être de type RAM (« Random Access Memory »). Cette unité de traitement 5 et cette mémoire 6 sont agencées pour effectuer ensemble les opérations contribuant à la compréhension automatique d’expressions (écrites ou parlées). Dans l’exemple illustré non limitativement sur la , le dispositif de compréhension 1 est agencé sous la forme d’un calculateur équipant l’équipement de communication 2 de l’utilisateur. Mais le dispositif de compréhension 1 pourrait faire partie d’un calculateur assurant au moins une autre fonction au sein de l’équipement de communication 2. Comme illustré, le calculateur 1 peut aussi comprendre une interface d’entrée 7 pour la réception d’au moins les expressions à comprendre pour les utiliser dans des calculs ou traitements, éventuellement après les avoir mises en forme et/ou démodulées et/ou amplifiées, de façon connue en soi, au moyen d’un processeur de signal numérique 8. De plus, ce calculateur 1 peut aussi comprendre une interface de sortie 9, notamment pour délivrer les associations de champ d’application et d’instructions simples (ou intentions) ainsi que d’éventuels commandes et paramètres bas niveau associés, et/ou une mémoire de masse 10. Le calculateur 1 peut être réalisé sous la forme d’une combinaison de circuits ou composants électriques ou électroniques (ou « hardware »), éventuellement micro-programmés ou micro-câblées, et de modules logiciels (ou « software »). On notera également que l’invention n’est pas limitée aux modes de réalisation décrits précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées aux modes de réalisation décrits ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué. Dans la présentation détaillée de l’invention qui est faite précédemment, les termes utilisés ne doivent pas être interprétés comme limitant l’invention aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement qui vient de lui être divulgué. Il apparaît clairement qu’un procédé/dispositif de compréhension tel que celui décrit précédemment permet de rendre les phrases ou expressions en langage naturel plus intuitives en acceptant plusieurs instructions simples à la fois, de rendre la sélection du champ d’automatisation transparente pour l’utilisateur ou la machine, de limiter notablement les erreurs de compréhension des instructions multiples et de réduire les traitements manuels lors des phases d’intégration dans de nouvelles configurations de composants. En outre, ils permettent de simplifier l’écriture et l’exécution des scripts en ajoutant de l’intelligence dans la création et l’exécution de ceux-ci. Ainsi, à titre purement illustratif, dans le domaine du test, un testeur peut désormais se concentrer sur la scénarisation des tests et leur surveillance, et donc la transition chronophage entre les corps de métier du test est évitée et permet d’éviter la confusion du testeur. Procédé de compréhension automatique d’expressions représentatives d’une instruction multiple comportant au moins deux instructions simples représentatives chacune d’un ordre, caractérisé en ce qu’il comprend, en cas de réception d’une expression : une première étape (100) dans laquelle on segmente de façon automatisée l’instruction multiple représentée par ladite expression reçue en instructions simples, et une seconde étape (110) dans laquelle on détermine de façon automatisée un champ d’application parmi un ensemble de champs d’application pour chacune desdites instructions simples de ladite segmentation. Procédé selon la revendication 1, caractérisé en ce que dans ladite première étape (100) on compare chaque sous-partie élémentaire de ladite expression reçue à des séparateurs contenus dans un ensemble prédéfini de séparateurs, afin de déterminer chaque séparateur contenu dans ladite expression reçue, puis on considère que les sous-parties élémentaires situées avant ou après un séparateur déterminé sont représentatives d’une instruction simple. Procédé selon la revendication 2, caractérisé en ce que dans ladite première étape (100) on utilise un ensemble prédéfini de séparateurs comprenant des signes de ponctuation choisis dans un groupe comportant une virgule et un point-virgule et des mots de séparation choisis dans un autre groupe comportant les mots et, puis, ensuite, enfin, après et aussi. Procédé selon la revendication 1, caractérisé en ce que dans ladite première étape (100) on utilise une intelligence artificielle pour classer chaque sous-partie élémentaire de ladite expression reçue dans une catégorie choisie parmi une première catégorie de séparateurs et une seconde catégorie de mots autres que des séparateurs, puis pour considérer que les sous-parties élémentaires situées avant ou après une sous-partie élémentaire classée dans ladite première catégorie de séparateurs sont représentatives d’une instruction simple. Procédé selon la revendication 1, caractérisé en ce que dans ladite première étape (100) on utilise une intelligence artificielle pour déterminer dans ladite expression reçue chaque sous-partie élémentaire représentant un début d’instruction simple et chaque sous-partie élémentaire représentant une fin d’instruction simple, puis pour considérer que les sous-parties élémentaires comprises entre une sous-partie élémentaire incluse et représentant un début d’instruction simple et une autre sous-partie élémentaire incluse et représentant une fin d’instruction simple suivant ce début d’instruction simple sont représentatives d’une même instruction simple. Procédé selon la revendication 4 ou 5, caractérisé en ce que dans ladite première étape (100) on utilise ladite intelligence artificielle et une méthode de reconnaissance d’entités nommées pour effectuer ledit classement de chaque sous-partie élémentaire de ladite expression reçue. Procédé selon la revendication 6, caractérisé en ce que dans ladite première étape (100) on utilise ladite intelligence artificielle et ladite méthode de reconnaissance d’entités nommées en association avec une couche dite à champ aléatoire conditionnel pour effectuer ledit classement de chaque sous-partie élémentaire de ladite expression reçue. Procédé selon l’une des revendications 1 à 7, caractérisé en ce que dans ladite seconde étape (110) on utilise une intelligence artificielle pour déterminer un contexte de chaque instruction simple, puis pour déterminer le champ d’application de chaque instruction simple en fonction du contexte déterminé pour cette dernière. Programme d’ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par au moins un processeur, caractérisé en ce qu’il comprend des instructions pour l’exécution des étapes d’un procédé de compréhension selon l’une quelconque des revendications 1 à 8, lorsque ledit programme est exécuté sur au moins un équipement à processeur(s) (2) ou au moins un ordinateur. Dispositif de compréhension (1) pour la compréhension automatique d’expressions représentatives d’une instruction multiple comportant au moins deux instructions simples représentatives chacune d’un ordre, caractérisé en ce qu’il comprend au moins une unité de traitement (5) et au moins une mémoire (6) propres, en cas de réception d’une expression, à effectuer les opérations consistant : à segmenter de façon automatisée l’instruction multiple représentée par ladite expression reçue en instructions simples, et à déterminer de façon automatisée un champ d’application parmi un ensemble de champs d’application pour chacune desdites instructions simples de ladite segmentation.