FR3118527A1 - Method for automatic understanding of expressions in natural language, and associated understanding device - Google Patents
Method for automatic understanding of expressions in natural language, and associated understanding device Download PDFInfo
- Publication number
- FR3118527A1 FR3118527A1 FR2014296A FR2014296A FR3118527A1 FR 3118527 A1 FR3118527 A1 FR 3118527A1 FR 2014296 A FR2014296 A FR 2014296A FR 2014296 A FR2014296 A FR 2014296A FR 3118527 A1 FR3118527 A1 FR 3118527A1
- Authority
- FR
- France
- Prior art keywords
- expression
- instruction
- elementary sub
- representative
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
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. 3A method is intended to automatically understand expressions representative of a multiple instruction comprising at least two simple instructions each representative of an order. This method comprises, in the event of reception of an expression, a first step (100) in which the multiple instruction represented by the expression received is segmented in an automated manner into simple instructions, and a second step (110) in which automatically determines a field of application among a set of fields of application for each of the simple instructions of the segmentation. Figure for abstract: Fig. 3
Description
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.The present invention relates to methods (or methods) for the automatic understanding of expressions in natural language (spoken or written), and more precisely to methods which are based on the automatic segmentation of multiple instructions contained in expressions (or sentences) in natural language.
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 »)).As known to those skilled in the art, automatic multi-statement segmentation is a recent subfield of the general field of Spoken Language Understanding (SLU).
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.The automatic multi-statement segmentation method currently offering the “best” results is the artificial intelligence-based method proposed by Rohan Shet in the article “Segmenting multi-intent queries for spoken language understanding” (published in 2019). It uses both word embedding (or “word embedding ElMo”) which exploits the structure of words, recurrent neural networks (or RNNs (“Recurrent Neural Networks”)) based on LSTM type architectures (“ Long Short-Term Memory”), and a named entity recognition method (or NER (“Named-Entity Recognition”)) to identify relevant textual objects (separator word, start of segment, end of segment). The NER method consists of extracting information from a text by searching for textual objects (of the word or group of words type) that can be classified into categories such as proper names, companies, places, quantities.
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.This method of automatic segmentation of multiple instructions does not provide complete satisfaction because of its fairly high error rate, and therefore cannot be used to generate automatic scripts intended to control or feed automated functions. This high error rate results from the fact that artificial intelligence does not know the context of each simple instruction and therefore requires a very large amount of quality learning data to configure its neural networks, which is very difficult to produce since they must relate to very many often very different applications and very many sets of 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.There are also two solutions marketed under the registered trademarks OkGoogle® and Siri® and managing very diverse fields of application. But OkGoogle® exclusively handles multi-statements when they include single statements separated by the word “and”, and Siri® does not handle multi-statements at all.
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.It may thus be desirable to provide a method of automatic understanding of expressions in natural language (spoken or written) which makes it possible to overcome at least some of the aforementioned problems and constraints.
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.
- a first step in which the multiple instruction represented by the expression received is segmented in an automated manner into simple instructions, and
- a second step in which a scope of application is determined automatically from among a set of scopes for each of the simple instructions of the 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.Thus, it is now possible to determine for each multiple instruction, represented by a received expression, simple instructions, then it is possible to determine the processing context targeted by each of these determined simple instructions, which makes it possible to significantly improve the understanding of the multiple instructions. .
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.The comprehension method according to the invention may comprise other characteristics which may be taken separately or in combination, and in particular:
- in a first embodiment, in its first step, each elementary sub-part of said expression received can be compared with separators contained in a predefined set of separators, in order to determine each separator contained in the expression received, then one can consider that the elementary sub-parts located before or after a determined separator are representative of a simple instruction;
- in this first embodiment, in the first step it is possible to use a predefined set of separators comprising punctuation marks chosen from a group comprising a comma and a semicolon and separation words chosen from another group comprising the words and, then, then, finally, after and also;
- in a second embodiment, in its first step, an artificial intelligence can be used to classify each elementary sub-part of the expression received in a category which is chosen from among a first category of separators and a second category of words other than separators, then to consider that the elementary sub-parts located before or after an elementary sub-part classified in the first category of separators are representative of a simple instruction;
- in a third embodiment, in its first step, an artificial intelligence can be used to determine in the expression received each elementary sub-part representing a beginning of a simple instruction and each elementary sub-part representing an end of a simple instruction , then to consider that the elementary sub-parts comprised between an elementary sub-part included and representing a beginning of simple instruction and another elementary sub-part included and representing an end of simple instruction following this beginning of simple instruction are representative of the same simple instruction;
- in the second or third embodiment, in the first step, artificial intelligence and a named entity recognition method can be used to classify each elementary sub-part of the expression received;
- in the presence of the last option, in the first step one can use artificial intelligence and the method of recognition of named entities in association with a so-called conditional random field layer to carry out the classification of each elementary sub-part of the expression received;
- in its second step, an artificial intelligence can be used to determine a context for each simple instruction, then to determine the scope of each simple instruction according to the context determined for the latter.
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.
The invention also proposes a comprehension device intended to allow the automatic comprehension of expressions representative of a multiple instruction comprising at least two simple instructions each representative of an order (or of a command). This comprehension device is characterized in that it comprises at least one processing unit and at least one memory capable, in the event of reception of an expression, of carrying out the operations consisting of:
- automatically segmenting the multiple statement represented by the received expression into single statements, and
- in automatically determining a scope of application among a set of scopes for each of the simple instructions of the 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 :The invention will be better understood with the aid of the following description, given solely by way of example and made with reference to the appended drawings in which:
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).The object of the invention is in particular to propose a method of comprehension, and an associated comprehension device 1, intended to allow the automatic comprehension of expressions in natural language (written or spoken) which are each representative of a multiple instruction comprising at least two simple instructions each representing an order (or a command).
On a schématiquement et fonctionnellement représenté sur la
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)).The understanding method, according to the invention, is implemented when an electronic object 2 receives, via at least one interface that it understands, an expression (or sentence) in natural language (written or spoken) and which must be understood to control or drive at least one function which it provides or which is provided by at least one other electronic object to which it is coupled (directly or indirectly, for example via a communication network (possibly wireless)). It will be noted that the aforementioned interface can be an input interface (possibly communication) or a man/machine interface (such as for example a microphone or a keyboard (possibly digital and possibly forming part of a touch screen)).
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).It is considered in what follows, by way of illustrative example, that the electronic object 2 is a communication device used by a user. For example, this communication equipment 2 can be a mobile smart telephone (or “smartphone”), an electronic tablet, a game console, a connected watch, or a computer (fixed or portable). But the electronic object 2 can be of any type as long as it can receive expressions in natural language (written or spoken) representative of multiple instructions. Thus, it could be, for example, a communication server or a device (possibly a household appliance) or a communicating robot or a connected (or communicating) sensor or control equipment or control (for example of an alarm system, an opening locking system, a surveillance system, a lighting system, a signaling system, a heating/air conditioning system, a vehicle, a machine, an installation, or a building).
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).Furthermore, it is considered here, by way of illustrative example, that the electronic object 2 (here a communication device) receives expressions (written or spoken) provided by its user and that it must understand in order to control at least one function ensured or controlled by a communication device 4 (for example a device for controlling a home automation installation equipping a building).
Comme illustré non limitativement par l’exemple d’algorithme de la
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).In the first step 100, of the comprehension method, one (the comprehension device 1) automatically segments the multiple instruction which is represented by an expression (in natural language) received into simple instructions (at least two).
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.In the second step 110, of the comprehension method, one (the comprehension device 1) automatically determines a field of application from among a set of fields of application for each of the simple instructions of the segmentation which has been determined in the first step 100. The term “scope” here means a contextual domain grouping together a set of at least one electronic device or at least one function concerned by an order of a simple instruction.
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.Thanks to the invention, it is now possible to determine for each multiple instruction, represented by a received expression, simple instructions, then it is possible to determine the processing context targeted by each of its determined simple instructions. This makes it possible to significantly improve the understanding of expressions (or multiple instructions) and therefore to significantly reduce the comprehension error rate, thus allowing the use of multiple instructions to control or feed automated functions after translation into an automation script .
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.For example, in the second step 110, an artificial intelligence can be used to determine a context for each simple instruction, then to determine the scope of application of each simple instruction according to the context determined for the latter. The context of a simple statement can be a class of scopes chosen from several predefined ones. If no context is recognized for a simple statement, then this simple statement can be associated with an inactive class.
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.To perform context determination, a context classifier based on a BERT type model, proposed by Jacob Devlin in the article "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding") (published in 2019), can be used. preferably with a linear layer at the output. Such a model requires less training (or learning) data than that required for a recurrent neural network (or RNN) based on an LSTM-type architecture, and moreover converges more quickly than an 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.The context classifier uses to operate a dataset containing a few hundred sentences (or expressions) in which classes of application fields are represented. Preferably, the sentences (or expressions) are distributed in a balanced way between the different classes. It should be noted that an addition of context within the artificial intelligence ensuring the function of context classifier requires a new training of the latter, but this new training is inexpensive in time because the number of data necessary is reasonable.
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.It will also be noted that it is also possible to carry out a determination of the context between simple instructions of the same complex instruction in order to obtain expressions (or scripts resulting from the understanding of these expressions) that are even more natural and more reliable input of electronic objects implementing the functions concerned.
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 ».By way of example, we can have two fields of application, one being a power strip coupled to lamps of four different colors (and therefore each color of which can be chosen), the other being a decoder box (or " set-top box”) allowing you to choose a television or radio channel. If a user provides the expression "put the green then put RMC Découverte afterwards if the dog is in the room then you will wash it", this represents a multiple instruction that the comprehension device 1 will segment into three segments: a first segment “put on the green” (first simple instruction), a second segment “put RMC Découverte” (second simple instruction), and a third segment “if the dog is in the room then you will wash it” (third simple instruction appearing as the form of a ruler). Then, the comprehension device 1 will associate the three segments respectively with three fields of application: "put on the green" is associated with the "power strip" (this first association constitutes a first intention), "put RMC Découverte" is associated with the set-top box (this second association constitutes a second intention), and “if the dog is in the room then you will wash it”. In the latter case, no field of application makes it possible to detect the presence of a dog or even to wash it, and therefore the rule cannot be associated with a known field of application, which prohibits the determination of a third association and therefore of a third intention. In this example, only the first and second intentions can then be transformed into low-level commands and parameters: from the first intention is extracted the command “light up (or “on”)” and the parameter “green”, and from the second intention is extracted the command “put the television channel” and the parameter “RMC Découverte”.
Au moins trois modes de réalisation peuvent être envisagés pour la première étape 100.At least three embodiments can be considered for the first step 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.In a first embodiment, in the first step 100 one (the comprehension device 1) can compare each elementary sub-part of the expression received with separators which are contained in a predefined set of separators, in order to determine each separator contained in the received expression. The term “elementary sub-part” is understood here to mean a word or a punctuation mark. Then, we can consider that the elementary sub-parts which are located before or after a determined separator are representative of a simple instruction.
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).In other words, from a set of separators, the comprehension device 1 will cut (or segment) a multiple instruction into a list of simple instructions separated two by two by a separator recognized within this set. Each recognized separator is then removed (and therefore not integrated into a simple instruction).
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 ».For example, in the first step 100 one can use a predefined set of separators comprising, on the one hand, punctuation marks which are chosen from a group comprising a comma and a semicolon, and, on the other hand, Separating words that are chosen from another group containing the words “and”, “then”, “then”, “finally”, “after” and “also”.
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 »].As an example, a user can provide the expression “Turn on the green light and turn off the red light finally put ARTE on”. In this case, the comprehension device 1 will transform this expression into a series of simple instructions [“Turn on the green lamp”, “turn off the red lamp”, “turn on 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.This first embodiment is based on a classic lexical analysis elementary subpart to elementary subpart (or “word by word”) based on rules and knowledge of all the separators that can be used in a given language. It results from the fact that a person usually formulates a multiple statement by separating his single statements only by separators. Its implementation does not require the use of artificial intelligence, and does not require training (or learning) data. For example, this implementation may be based on a script that performs a comparison filter in which each elementary subpart of a received expression is compared against the predefined set of separators. In practice, the script can be represented by an algorithm of adding spaces around the special and punctuation characters (“,”, “;” “-”, “'”, …) of the multi-statement, then compare each elementary sub-part of the expression to the separators of the predefined set, then to cut the expression at the level of each separator having been the subject of an addition of space then of a recognition within the predefined set.
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.In a second embodiment, in the first step 100 one (the comprehension device 1) can use an artificial intelligence to classify each elementary sub-part of the expression received in a category which is chosen from among a first category of separators and a second category of words other than separators. Then, we (the comprehension device 1) can use this artificial intelligence to consider that the elementary sub-parts which are located before or after an elementary sub-part classified in the first category of separators are representative of a simple instruction.
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.In other words, the artificial intelligence classifies each elementary subpart of the expression into one of two categories: either it is a separator or it is not a separator. This makes it possible to determine the separators in an expression without requiring an exhaustive list of separators. As soon as a separator is found, the multi-statement is segmented without this separator being integrated into one of the simple statements.
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 »].As an example, a user can provide the expression “Turn on the green lamp while putting ARTE on”. In this case, the comprehension device 1 will transform this expression into a series of simple instructions ["Turn on the green lamp", "turn on 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.For example, in the first step 100 it is possible to use artificial intelligence and a method of recognition of named entities (or NER ("Named-Entity Recognition") to carry out the classification of each elementary sub-part of the expression received In this case, a BERT-like architecture can be combined with the NER method, which further improves the understanding of expressions and therefore further reduces the failure rate.
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.It will be noted that in the first step 100 one can use artificial intelligence and the method of recognition of named entities (or NER) in association with a so-called conditional random field layer (or CRF (“Conditional Random Field”)) for carry out the classification of each elementary sub-part of the expression received. This further improves the comprehension of expressions and therefore further reduces the failure rate.
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.In a third embodiment, in the first step 100 one (the comprehension device 1) can use an artificial intelligence to determine in the expression received each elementary sub-part which represents a beginning of a simple instruction and each sub-part elementary which represents a simple end of instruction. Then, one (the comprehension device 1) can use this artificial intelligence to consider that the elementary sub-parts which are included between an elementary sub-part included and representing a beginning of simple instruction and another elementary sub-part included and representing a simple instruction end following this simple instruction start are representative of the same simple instruction.
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.In other words, the artificial intelligence considers that all the elementary subparts that are included between what it considers to be a simple instruction start and a simple instruction end (both inclusive) constitute this simple instruction .
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 »].As an example, a user can provide the expression “Turn on the green lamp while putting ARTE on”. In this case, the comprehension device 1 will determine that the word “ignite” is the start of a first simple instruction, the word “green” is the end of the first simple instruction, the word “putting” is the start of the second simple instruction and the word "ARTE" is the end of the second simple instruction, then will transform this expression into a series of simple instructions ["Turn on the green lamp", "put 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.For example, in this third embodiment, it is possible to use an artificial intelligence with BERT type architecture and the method of recognition of named entities (or NER), possibly in association with a conditional random field layer (or CRF ("Conditional Random Field")) to perform simple statement start and end determination of a received expression. This further improves the comprehension of expressions and therefore further reduces the failure rate.
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.It is recalled here that the BERT architecture, which can be used in the second and third embodiments described above, uses its own technique for splitting expression into tokens (or "tokens" - complete word or piece of word ) and its own word-embedding technique (or "word-embedding" - the tokens are represented as vectors which are directly used by the architecture to make a prediction). The determined tokens are sent to the BERT architecture, and downstream of the latter a linear layer is placed in order to carry out a classification of each of the tokens in various predefined classes (a "softmax" function is applied to the neurons which are relative to the same token to decide which class to assign to it). Without the CRF layer, for each token, a label is determined according to the maximum emission score, so that the labels of the different tokens are set independently of each other, but aberrations may appear. This is why it is advantageous to additionally use a CRF layer which suppresses these aberrations. Indeed, the addition of a CRF layer makes it possible to take into account not only the emission scores of the labels but also the scores of possible transitions from one label to another. The scores that constitute the transition matrix are the parameters of the CRF layer that are optimized during the training (or learning) of the artificial intelligence. With the CRF layer, the labels of an expression are no longer chosen independently, because for each expression a sequence of labels is decided in such a way as to minimize the scores of emissions and transitions of the sequence of 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).It should be noted that adding a CRF layer at the output of the BERT architecture can be done via PyTorch (open source machine learning Python software library) by instantiating an optimizer for the parameters of the CRF model (using Adam), then by sending the output of the NER part into the CRF layer (modification of the transfer method (or "forward"), then by summing the cost of the processing carried out by the NER part and the cost of the processing carried out by the CRF layer ( during backpropagation, PyTorch automatically calculates the gradients relating to the parameters of the CRF layer at the same time as those of the BERT architecture when calling the backward method on the sum of the costs ), then by updating the parameters of the CRF layer (call to the “step” method of the optimizer).
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.In the case of the second embodiment, it is possible, in addition to what is described above, to use three classes: “O”, “B-SEP” and “I-SEP. For each token, the label retained is the one associated with the maximum score. The received expression is split at the location where a separator is detected, this separator is ignored and a list of simple statements is obtained.
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 ».As an example, a user can provide the expression “Turn on the red lamp while putting ARTE on”. In this case, the comprehension device 1 determines the sequence of words Light the red lamp while putting ARTE on, and associates respectively with these words the sequence of labels O O O O B-SEP I-SEP O O, which allows it to arrive at the segmentation “Turn on the red lamp” “putting ARTE on”.
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.In the case of the second embodiment with a CRF layer as a complement at the output, the labeling and the segmentation method remain identical. However, the choice of labels is no longer obtained solely from the output scores of the BERT architecture. It is indeed the CRF layer which decides on the most probable sequence of labels.
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.In the case of the third embodiment, it is possible, in addition to what is described above, to use three classes: “O”, “BOS” and “EOS”. For each label, the one whose score is maximum is retained, as in the case of the second embodiment (with NER part but without CRF layer). Each simple instruction at the end of the segmentation starts at a label BOS and ends at a label EOS, the unframed words are ignored.
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 ».As an example, a user can provide the expression “Turn on the red lamp while putting ARTE on”. In this case, the comprehension device 1 determines the sequence of words Turn on the red lamp while turning on ARTE, and respectively associates these words with the labels BOS O O EOS O O BOS EOS, which enables it to end up with the segmentation "Turn on the red lamp” “putting 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.In the case of the third embodiment with a CRF layer as a complement at the output, the labeling and the segmentation method remain identical.
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.It will be noted that the learning of the artificial intelligences, used by the comprehension device 1, is done by means of sets of learning data which can be characteristic instructions in a given language and/or lines of data produced from sentence structures (or "masterspins") in which certain words run through lists (this production is called "content spinning"). An example of four expressions generated from the masterspin {Allume | Turn off} the {green | red} gives the four possibilities “Turn on the green lamp”, “Turn on the red lamp”, “Turn off the green lamp” and “Turn off the red lamp”. Instead of using data lines produced from masterspins, one can use training datasets generated from the integrated speech recognition platform SNIPS, for example.
Comme illustré non limitativement sur la
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).The processing unit 5 can, for example, be a processor, possibly a digital signal processor (or DSP (“Digital Signal Processor”)). Memory 6 stores data files and computer program(s) whose instructions are intended to be executed by processing unit 5 (or processor). This memory 6 can, for example, be of the RAM (“Random Access Memory”) type. This processing unit 5 and this memory 6 are arranged to perform together the operations contributing to the automatic understanding of expressions (written or spoken).
Dans l’exemple illustré non limitativement sur la
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 »).The computer 1 can be made in the form of a combination of electrical or electronic circuits or components (or “hardware”), possibly micro-programmed or micro-wired, and software modules (or “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é.It will also be noted that the invention is not limited to the embodiments described above. It will indeed appear to those skilled in the art that various modifications can be made to the embodiments described above, in the light of the teaching which has just been disclosed to them. In the detailed presentation of the invention which is made above, the terms used must not be interpreted as limiting the invention to the embodiments set out in the present description, but must be interpreted to include therein all the equivalents whose provision is within the reach of those skilled in the art by applying their general knowledge to the implementation of the teaching which has just been disclosed to them.
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.It is clear that an understanding process/device such as the one described above makes it possible to make sentences or expressions in natural language more intuitive by accepting several simple instructions at the same time, to make the selection of the automation field transparent for the user or the machine, to significantly limit misunderstandings of multiple instructions and to reduce manual processing during the integration phases in new component configurations. In addition, they simplify the writing and execution of scripts by adding intelligence in the creation and execution of these. Thus, purely by way of illustration, in the field of testing, a tester can now concentrate on the scripting of tests and their monitoring, and therefore the time-consuming transition between the test trades is avoided and helps to avoid the confusion of the tester.
Claims (10)
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.
characterized in that it comprises, upon receipt of an expression:
- a first step (100) in which the multiple instruction represented by said expression received is segmented in an automated manner into simple instructions, and
- a second step (110) in which a scope of application is determined automatically from among a set of scopes for each of said simple instructions of said segmentation.
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.
characterized in that it comprises at least one processing unit (5) and at least one memory (6) capable, in the event of reception of an expression, of performing the operations consisting of:
- automatically segmenting the multiple statement represented by said received expression into single statements, and
- automatically determining a scope from among a set of scopes for each of said simple instructions of said segmentation.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2014296A FR3118527A1 (en) | 2020-12-31 | 2020-12-31 | Method for automatic understanding of expressions in natural language, and associated understanding device |
FR2105128A FR3118509A1 (en) | 2020-12-31 | 2021-05-17 | Automatic understanding of multi-statements in natural language expressions |
PCT/IB2021/062514 WO2022144847A1 (en) | 2020-12-31 | 2021-12-31 | Method for automatically understanding multiple instructions in natural language expressions |
EP21848298.2A EP4272108A1 (en) | 2020-12-31 | 2021-12-31 | Method for automatically understanding multiple instructions in natural language expressions |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2014296 | 2020-12-31 | ||
FR2014296A FR3118527A1 (en) | 2020-12-31 | 2020-12-31 | Method for automatic understanding of expressions in natural language, and associated understanding device |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3118527A1 true FR3118527A1 (en) | 2022-07-01 |
Family
ID=77226870
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2014296A Pending FR3118527A1 (en) | 2020-12-31 | 2020-12-31 | Method for automatic understanding of expressions in natural language, and associated understanding device |
FR2105128A Pending FR3118509A1 (en) | 2020-12-31 | 2021-05-17 | Automatic understanding of multi-statements in natural language expressions |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2105128A Pending FR3118509A1 (en) | 2020-12-31 | 2021-05-17 | Automatic understanding of multi-statements in natural language expressions |
Country Status (1)
Country | Link |
---|---|
FR (2) | FR3118527A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11822888B2 (en) * | 2018-10-05 | 2023-11-21 | Verint Americas Inc. | Identifying relational segments |
US20200257856A1 (en) * | 2019-02-07 | 2020-08-13 | Clinc, Inc. | Systems and methods for machine learning based multi intent segmentation and classification |
US11195532B2 (en) * | 2019-04-26 | 2021-12-07 | Oracle International Corporation | Handling multiple intents in utterances |
-
2020
- 2020-12-31 FR FR2014296A patent/FR3118527A1/en active Pending
-
2021
- 2021-05-17 FR FR2105128A patent/FR3118509A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
FR3118509A1 (en) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11087094B2 (en) | System and method for generation of conversation graphs | |
US20220050661A1 (en) | Analyzing graphical user interfaces to facilitate automatic interaction | |
WO2018224034A1 (en) | Intelligent question answering method, server, terminal and storage medium | |
CN111191450B (en) | Corpus cleaning method, corpus input device and computer readable storage medium | |
US11120802B2 (en) | Diarization driven by the ASR based segmentation | |
US12046230B2 (en) | Methods for natural language model training in natural language understanding (NLU) systems | |
JP2022088304A (en) | Method for processing video, device, electronic device, medium, and computer program | |
US10692498B2 (en) | Question urgency in QA system with visual representation in three dimensional space | |
CN110765313A (en) | Classified playing method and system for network video barrage | |
US11947909B2 (en) | Training a language detection model for language autodetection from non-character sub-token signals | |
US20190156835A1 (en) | Diarization Driven by Meta-Information Identified in Discussion Content | |
US20180067927A1 (en) | Customized Translation Comprehension | |
CN110059161A (en) | A kind of call voice robot system based on Text Classification | |
US20180150748A1 (en) | Enhanced Ingestion of Question-Answer Pairs into Question Answering Systems by Preprocessing Online Discussion Sites | |
US20180150747A1 (en) | Enhancing Time-to-Answer for Community Questions in Online Discussion Sites | |
CN112966509B (en) | Text quality evaluation method and device, storage medium and computer equipment | |
CN117648422A (en) | Question-answer prompt system, question-answer prompt, library construction and model training method and device | |
US11386132B2 (en) | System and method for retrieving results and responses with context based exclusion criteria | |
WO2022144847A1 (en) | Method for automatically understanding multiple instructions in natural language expressions | |
FR3118527A1 (en) | Method for automatic understanding of expressions in natural language, and associated understanding device | |
EP1376395A2 (en) | Method and apparatus for determining an abbreviated form of a term | |
CN117972160B (en) | Multi-mode information processing method and device | |
US11942105B2 (en) | Electronic device and method for determining abnormal noise | |
US20230197211A1 (en) | Electronic apparatus and control method thereof | |
CN115098680B (en) | Data processing method, device, electronic equipment, medium and program product |