Brevet FR3077656A1 — publié le 20190809

La présente invention concerne un procédé de transformation d’une séquence comportant plusieurs mots issus d’une langue naturelle pour rendre ladite séquence exécutable par une machine. ETAT DE LA TECHNIQUE Certains procédés connus utilisent des classes mais sont très limitées pour interpréter un langage naturel étant donné la complexité du langage et les différences d’une langue à une autre. Certains documents de l'art antérieur proposent également des procédés pour interpréter un langage naturel par exemple le document US6243670. Ce document décrit un procédé qui reconnaît une liste de type d’objet caractéristique de langues, verbes, adverbes, noms, pronoms... Ce procédé est également limité car le nombre de langues et les différences de structure d’une langue à une autre, rendent ainsi le procédé décrit non universel. Le procédé décrit requière également une pré-connaissance d’un dictionnaire des mots de la langue en question et de leur statut sémantique. OBJET DE L’INVENTION La présente invention vise à remédier à ces inconvénients. A cet effet, selon un premier aspect, la présente invention vise un procédé mise en oeuvre par ordinateur de transformation d’une séquence comportant plusieurs mots issus d’une langue naturelle pour rendre ladite séquence exécutable par une machine, remarquable en ce que ledit procédé comprend les étapes suivantes : a) prétraitement, dans lequel une séquence constituée de plusieurs caractères formant des mots issus d’une langue naturelle, ladite séquence est comparée avec des données d’une base de données comportant des classes, chaque classe comprenant au minimum les deux premiers des éléments suivants : ■ un numéro, ■ une expression simple constituée par la suite de caractères représentant la classe, 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 10 15 20 5 10 15 20 25 30 à CR3) - Traite la classe en X ème position ( Cs en 1 ère position) Accède la base pour la classe (Cs) Si la classe est Non G ->Suite itération Si la classe est G (Cs est G car possède une expression classe et un sens) Nous prenons son expression classe et son sens (soit {CzCt} et Av) Nous insérons dans cette expression les classes IG correspondant au sens pour former la séquence de classe (soit { Λ [ Cz A «Ct A ]}) Nous insérons dans la séquence après le No de classe cette séquence de classe (soit {Cs A [Cz A «Ct A ]}) et Retour itération - Traite la classe en Xème position ( Cz en 3eme position) Accède la base pour la classe (Cz) Si la classe est Non G ->Suite itération Si la classe est G (Cz est G ) Nous prenons son expression classe et son sens (soit {CxCy} et Am ) Nous insérons dans cette expression les classes IG correspondant au sens pour former la séquence de classe (soit { A [Cx A »Cy A ]}) Nous insérons dans la séquence après le No de classe cette séquence de classe (soit {Cs A [Cz A [Cx A »Cy A ] A «Ct A ]}) et Retour itération Ainsi de suite jusqu’à la séquence LIG : {Cs A [Cz A [Cx A »Cy A ] A «Ct A [Cw A »Cu A [CR6 A » Cv A ] Λ ] A ] } Règles de bordure L’étape de dichotomie pour pouvoir considérer une fonction identifiée dans une séquence doit respecter les régies de bordures suivantes : Une fonction Amont Non Dep devra être au début de la séquence Ou immédiatement précédée de CR0={ A [} ou de CR1 ={ A »} ou de CR2={ A «} (Une des trois premières classes IG). 5 10 15 20 25 30 Il s’agit des Mots Réservés : No expression simple expression Classe sens CRO Λ [ CR1 Λ » CR2 Λ « CR3 Λ ] CR4 Λ ΕΧΕ CR5 A EQV CR6 A SETWHEEL CR7 A SETENGINE b) contrôle des roues Établit A SETWHEEL comme fonction Amont { A [ A SETWHEEL A »1 A ]} No expression simple expression Classe sens C1 1 C2 A SETWHEEL1 CR6C1 Am 15 Établit A SETWHEEL comme Fonction Exécutable { A SETWHEEL A « A EXE A ]} No expression simple expression Classe sens C3 A SETWHEEL A EXE CR6CR4 Av Établit { means } comme Équivalence { A [ means A « A EQV A ]} No expression simple expression Classe sens C4 means C5 means A EQV C4CR5 Av Apprend les équivalences : 20 (i) Pour mettre les roues à droite No expression simple expression Classe sens C6 means A SETWHEEL1 C4C2 Am C7 turn right C8 turn right means A SETWFIEEL1 C7C6 Av (ii) Pour mettre les roues à gauche {turn left means A SETWHEEL-1 } No expression simple expression Classe sens C9 -1 C10 A SETWHEEL-1 CR6C9 Am C11 means A SETWHEEL-1 C4C1 0 Am C12 turn left C13 turn left means A SETWFIEEL-1 C1 2C11 Av 5 (iii) Pour mettre les roues droites {go straight means A SETWHEELO} No expression simple expression Classe sens C14 0 C15 A SETWHEEL0 CR6C14 Am C16 means A SETWHEEL0 C4C1 5 Am C17 go straight C18 go straight means A SETWFIEEL0 C1 7C1 6 Av Cl contrôle du moteur Nous utiliserons cette fois le Rmot A SETENGINE Fonction Amont dont 10 les paramètres sont de même {1 } pour avancer, {0} pour arrêter, {-1 } pour reculer. A SETENGINE est lié dans l’étape d'éxécution à la commande du moteur. Les ordres correspondants sont : 15 {go ahead} pour avancer, {stop} pour arrêter et {move back} pour reculer. Établit A SETENGINE comme Fonction Amont { A [ A SETENGINE A » 1 A ]} No expression simple expression Classe sens C19 A SETENGINE 1 CR7C1 Am Établit A SETENGINE comme Fonction Exécutable No expression simple expression Classe sens C20 A SETENGINE A EXE CR7CR4 Av Apprend les équivalences : (i) Pour mettre le moteur en avant {go ahead means A SETENGINE1 } No expression simple expression Classe sens C21 means A SETENGINE1 C4C19 Am C22 go ahead C23 go ahead means A SETWHEEL1 C22C21 Av 5 (ii) Pour mettre le moteur en arrière {move back means A SETENGINE-1} No expression simple expression Classe sens C24 A SETENGINE-1 CR7C9 Am C25 means A SETENGINE-1 C4C19 Am C26 move back C27 move back means A SETENGINE-1 C26C25 Av (iii) Pour arrêter le moteur {stop means A SETENGINEO} No expression simple expression Classe sens C28 A SETENGINE0 CR7C14 Am C29 means A SETENGINE0 C4C28 Am C30 stop C31 Stop means A SETENGINE0 C30C29 Av 10 A ce point nous avons donc appris au procédé à exécuter les ordres nécessaires au contrôle de notre véhicule, a savoir : turn right, turn left, go straight, go ahead, move back, et stop Ordres Équivalents Nous souhaitons ici disposer de synonymes pour certains ordres, par 15 exemple nous souhaitons que le procédé comprenne correctement l'ordre {make a right}. Pour ce faire nous pouvons évidemment saisir {make a right means A SETWHEEL 1 } ce qui fonctionnera. Nous saisirons plutôt l'équivalence : {make a right means turn right} No expression simple expression Classe sens C1 turn C2 right C3 turn right C1 C2 Am C4 means C5 A SETWHEEL C8 1 C7 A SETWHEEL1 C5C6 Am C8 means A SETWHEEL1 C4C7 Am C9 turn right means A SETWHEEL1 C3C8 Av Précisions et Exemples sur les Hiérarchies Une classe fonction est appelée aussi juste fonction. Un classe paramètre est appelée aussi juste paramètre. Le principe de la dichotomie est que ce sont les rapports hiérarchiques entre deux fonctions qui permettent de dichotomiser une séquence. Cas 1 - Supposons une fonction amont antérieure sur la séquence à une fonction avale 5 10 15 20 25 30 hiérarchie 5 10 15 20 25 30 1. Procédé mise en œuvre par ordinateur de transformation d’une séquence comportant plusieurs mots issus d’une langue naturelle pour rendre ladite séquence exécutable par une machine, caractérisée en ce que ledit procédé comprend les étapes suivantes : a) prétraitement, dans lequel une séquence constituée de plusieurs caractères formant des mots issus d’une langue naturelle, ladite séquence est comparée avec des données d’une base de données comportant des classes, chaque classe comprenant au minimum les deux premiers des éléments suivants : ■ un numéro, ■ une expression simple constituée par la suite de caractères représentant la classe, ■ une expression classe composée de deux numéros correspondant à deux autres classes, soit positionné en une première position, soit positionné en une deuxième position, et ■ un sens, ledit sens étant soit amont, soit aval, si ladite classe comprend également une expression classe et un sens, alors ladite classe est appelée classe Généralisée, si le sens est amont ladite classe est appelée classe Généralisée amont, si le sens est aval, ladite classe est appelée classe Généralisée avale. s’il s’agit d’une classe Généralisée amont alors la classe en première position de son expression classe est une classe fonction amont et la classe en deuxième position de son expression classe est une classe.paramètre, s’il s’agit d’une classe Généralisée avale alors la classe en première position de son expression classe est une classe . paramètre et la classe en deuxième position de son expression classe est une classe fonction avale. une classe fonction est au moins l’un des éléments suivants : une classe fonction amont, et une classe fonction avale, il est défini une table de classes fonctions amonts ou avales particulières appelées classe fonction Dep, une classe fonction Dep est soit une classe fonction Dep amont, soit une classe fonction Dep avale, lesdites classes fonction Dep présentes dans la table ont pour caractéristique que toute classe généralisée de l'une desdites classes fonction Dep est connue du procédé 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30 5 10 15 20 25 30