FR 3031823 A1 20160722 FR 1550452 A 20150120 . Procédé de lemmatisation, dispositif et programme correspondant. 1. Domaine La présente divulgation se rapporte au traitement automatisé du langage naturel. La présente divulgation se rapporte plus particulièrement à une méthode de lemmatisation. Accessoirement, la technique proposée se rapporte également à une méthode de génération d'un dictionnaire ontologique. 2. Art antérieur Les dernières décennies ont été marquées par l'augmentation constante des interactions entre l'homme et la machine, plus particulièrement dans le domaine de l'informatique. L'adoption croissante, par les utilisateurs, de dispositifs numériques tels que des ordinateurs, des tablettes et des smartphones a posé de nombreux problèmes d'ergonomie. Le dispositif d'interaction par excellence entre l'homme et la machine informatisée est l'écran, un tel écran comprenant notamment de nombreuses interfaces Homme-Machine (IHM). Pour faciliter le développement applicatif et pour rendre l'interaction plus simple pour les utilisateurs, les IHM utilisent traditionnellement des éléments monofonctionnels à choix limités et fermés. La complexité sans cesse croissante des machines a été l'objet de nombreuses recherches et avancées dans le domaine de l'ergonomie pour pallier des contraintes initiales dont celle de la compréhension entre l'homme et la machine. Ces progrès se sont notamment matérialisés par : - les outils de saisie (clavier, souris, tablettes graphiques, écrans tactiles, ...) ; - la représentation visuelle des informations (fenêtrage); - les zones de saisie des données de commandes (champs texte, boutons, curseurs, Mais du fa it d'une contrainte initiale fortement handicapante (liée à la compréhension très limitée de la machine), l'utilisateur doit faire un prétraitement : pour faire faire à la machine une action ou pour obtenir de la machine une information, l'utilisateur doit procéder à une décomposition en tâches élémentaires. L'utilisateur doit donc apprendre le mode d'utilisation de l'interface elle-même, alors même qu'il a une vision globale des fonctionnalités de la machine et des informations qu'elle contient. Pour démarrer une machine il est notamment plus simple de lui demander de démarrer. Au contraire, actuellement, l'utilisateur doit effectuer une suite d'opérations nécessaires au démarrage (i.e. mettre le contact, appuyer sur un bouton, etc.). Cette problématique est d'autant amplifiée que les machines actuelles ne sont pas que des machines d'actions, mais des machines qui nous fournissent de l'information. Une simple requête tel que : « Quelle est l'heure du prochain train entre Paris et Bruxelles ? » demande avec les IHM classiques une séquence d'actions (connexion au fournisseur, recherche de l'information, etc...) qui peut être vite complexe et chronophage. L'évolution des IHM passe donc par une compréhension par les machines du langage naturel. Pour permettre cette compréhension, les systèmes actuels utilisent notamment des lemmatiseurs et des dictionnaires. Il existe des systèmes de lemmatisation intégré aux différents logiciels de traitement de la langue en particulier pour les correcteurs orthographiques (produit Cordial de la société Synapse) ou pour les systèmes de traduction (société Promt). Des lemmatiseurs autonomes sont également disponibles : TreeTagger ou BONSAI (INRIA). Les lemmatiseurs sont tous orientés pour la génération d'arbres syntagmatiques ou lexico- morpho-syntaxiques. Et les efforts sont orientés pour lever les a mbigüités car une même phrase peut correspondre à plusieurs possibilités d'arbres significatifs. Les techniques utilisées reposent sur des approches stochastiques. La sortie des lemmatiseurs actuels sont très pauvres d'un point de vue sémantique. Ils ne reconnaissent pas les formes toutes faîte (locutions, proverbes, etc. ...). En conséquence, les données obtenues en sortie du lemmatiseur ne sont pas immédiatement exploitables. Une locution ou un proverbe doit nécessairement être « réassemblée » pour en obtenir le sens. Au passage, il peut se produire un phénomène de bruitage, du par exemple à l'utilisation, dans une locution ou un proverbe, d'un mot ayant de multiples sens. Dès lors, le travail nécessaire à la récupération du sens correct d'une locution ou d'un proverbe est consommateur de ressources. Ce qui est vrai avec un proverbe l'est également avec des phrases toutes faites. Ceci pose d'une part des problèmes de traitement et d'autre part des problèmes de consommation excessive de ressources. Par ailleurs, avec les techniques actuelles, il n'est pas forcément assuré que le sens de la locution ou du proverbe soit finalement le bon. Il probable que le sens « retrouvé » par la combinaison des sens des termes individuels qui composent la locution ou le proverbe soit différent de sons sens global. 3. Résumé La technique proposée ne présente pas ces inconvénients de l'art antérieur. Plus particulièrement, la technique proposée se rapporte à une méthode et à un dispositif de traitement d'énoncé en langage naturel. Plus particulièrement, la technique décrite se rapporte à un procédé de création d'un arbre lexical à partir d'un énoncé en langage naturel, procédé mis en oeuvre par un module de traitement de langage naturel, procédé caractérisé en ce qu'il comprend les étapes de : - réception d'un énoncé en langage naturel sous la forme d'une chaine de caractères; - traitement itératif dudit énoncé en fonction d'au moins un paramètre de traitement et d'un dictionnaire ontologique, délivrant au moins un graphe de relations correspondant à au moins une lexie comprise dans ledit énoncé en langage naturel ; - création d'une en sortie une structure de données comprenant l'ensemble des combinaisons d'unités lexicales possibles dudit énoncé en langage naturel en fonction dudit au moins un graphe de relations. Selon une caractéristique particulière, le traitement itératif dudit énoncé en fonction d'au moins un paramètre de traitement et d'un dictionnaire ontologique comprend : - une étape d'initialisation d'un curseur au début de l'énoncé et d'un curseur à la fin de l'énoncé ; - au moins une itération des étapes suivantes, jusqu'à ce que le curseur cl soit positionné à la fin de l'énoncé : - recherche, au sein du dictionnaire, d'une lexie correspondant à un groupe de mots situé entre le curseur cl et le curseur c2; et - lorsqu'une lexie est identifiée dans le dictionnaire par l'étape précédente, une prise en compte de ladite lexie et une modification des curseurs; - lorsqu'aucune lexie n'est identifiée dans le dictionnaire par l'étape de recherche, une étape de déplacement de la position du curseur c2 au niveau du séparateur de mot précédent dans l'énoncé. Selon une caractéristique particulière, la prise en compte de ladite lexie et une modification des curseurs comprend : une étape de traitement de la lexie délivrant un graphe de relations de la lexie ; une étape de positionnement du curseur cl à la position du curseur c2; une étape de positionnement du curseur c2 à la fin de la l'énoncé; Selon une caractéristique particulière, ladite étape de traitement de la lexie délivrant un graphe de relations de la lexie comprend : une étape d'identification d'au moins une entrée lexicale associée à la lexie ; Cette identification est réalisée à partir du dictionnaire ontologique. une étape d'obtention d'une forme lexicale de la lexie ; une étape d'obtention d'une forme canonique de l'entrée lexicale ; une étape d'identification d'au moins une entrée lexicale associée à la forme lexicale de la lexie en fonction de la forme canonique ; une étape d'obtention d'une forme de l'entrée lexicale ; une étape d'obtention d'au moins une donnée représentative d'un sens lexical de chacune des formes obtenues préalablement. une étape de construction dudit graphe de relations en fonction desdites entrées lexicales, desdites formes lexicales et desdits sens lexicaux préalablement obtenus. Selon un autre aspect, la technique décrite se rapporte également à un dispositif de création d'un arbre lexical à partir d'un énoncé en langage naturel, dispositif mis en oeuvre par un module de traitement de langage naturel. Un tel dispositif comprend des moyens de : - réception d'un énoncé en langage naturel sous la forme d'une chaine de caractères; - traitement itératif dudit énoncé en fonction d'au moins un paramètre de traitement et d'un dictionnaire ontologique, délivrant au moins un graphe de relations correspondant à au moins une lexie comprise dans ledit énoncé en langage naturel ; - création d'une en sortie une structure de données comprenant l'ensemble des combinaisons d'unités lexicales possibles dudit énoncé en langage naturel en fonction dudit au moins un graphe de relations. Selon une implémentation préférée, les différentes étapes des procédés selon la technique proposée sont mises en oeuvre par un ou plusieurs logiciels ou programmes d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'un module relais selon la technique proposée et étant conçu pour commander l'exécution des différentes étapes des procédés. En conséquence, la technique proposée vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des instructions pour commander l'exécution des étapes d'un procédé tel que mentionné ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. La technique proposée vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon la technique proposée peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Selon un mode de réalisation, la technique proposée est mise en oeuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'a un composant matériel ou à un ensemble de composants matériels et logiciels. Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, routeur, etc.) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.). De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc. Chaque composante du système précédemment décrit met bien entendu en oeuvre ses propres modules logiciels. Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en oeuvre de la technique proposée. 4. Figures D'autres caractéristiques et avantages de la technique proposée apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 présente un synoptique de la technique proposée ; la figure 2 présente un système dans laquelle la technique proposée peut être mise en oeuvre; la figure 3 décrit l'obtention d'un graphe de relation ; la figure 4 décrit un dispositif de création de dictionnaire selon la présente technique ; la figure 5 décrit un dispositif de création d'un arbre lexical selon la présente technique. 5. Description 5.1. Principe général Le principe général à la base de la technique proposé est de fournir, à un lemmatiseur, un énoncé en langage naturel, cet énoncé étant lemmatisé sans lever les ambiguïtés résultantes de la lemmatisation. Le dispositif de traitement qui met en oeuvre la technique décrite ne lève pas les ambiguïtés. À l'aide d'un dictionnaire spécifique, comprenant des relations pondérées entre les mots qui le composent, le lemmatiseur fournit une structure de données (par exemple un fichier xm/) dans lequel les différents lemmes qui composent l'énoncé sont listés. Ces lemmes qui composent l'énoncé sont, selon la présente divulgation, accompagnés d'une définition (i.e. d'un sens) et de règles grammaticales. Bien entendu, ces différents éléments, qui accompagnent les lemmes de la structure de données, sont composés à partir de l'analyse de l'énoncée fournie en entrée du lemmatiseur. On décrit, en relation avec la figure 1, le principe général de la technique proposée. Un module logiciel ou matériel (Mx2), reçoit (E-10) en entrée un énoncé en langage naturel (ELn). Il traite (E-20) cet énoncé et fournit (E-30) en sortie une structure de données (StrUL) comprenant l'ensemble des combinaisons d'unités lexicales possibles. Ce traitement (E-20) est mis en oeuvre à l'aide notamment de paramètres de traitement (cl, c2) et d'un dictionnaire ontologique (Dic0). La structure de données (StrUL) associe à chaque unité lexicale identifiée, des données grammaticales et des données sémantiques extraites du dictionnaire (Dic0). Plus particulièrement, la méthode comprend les étapes suivantes : - réception(E-10) d'un énoncé en langage naturel (ELn) sous la forme d'une chaine de caractères ; - traitement itératif (E-20) dudit énoncé en fonction d'au moins un paramètre de traitement (cl, c2) et d'un dictionnaire ontologique (Dic0), délivrant au moins un graphe de relations (GrReiLx1) correspondant à au moins une lexie (LX,) comprise dans ledit énoncé en langage naturel (ELn); - création (E-30) d'une en sortie une structure de données (StrUL) comprenant l'ensemble des combinaisons d'unités lexicales possibles dudit énoncé en langage naturel (ELn) en fonction dudit au moins un graphe de relations (GrReill- Différents modes de réalisation sont envisageables. Plus particulièrement, l'énoncé en langage naturel peut, préalablement au traitement, subir un prétraitement notamment, par exemple un traitement de conversion d'un fichier numérique vocal en un énoncé textuel. Le traitement de l'énoncé textuel en fonction du dictionnaire et du paramètre de traitement comprend notamment le découpage de l'énoncé, en fonction de séparateurs de termes adapté au langage à traiter (tels que la virgule, le point, le point- virgule, etc.). Pour résoudre les problèmes mentionnés préalablement, l'énoncé est considéré comme un ayant un sens propre. Plutôt que de rechercher un sens pour chaque mot composant l'énoncé, on recherche au contraire un sens global de l'énoncé. Pour ce faire, l'énoncé est traité comme une lexie et recherché directement au sein du dictionnaire ontologique. Lorsque cette recherche ne délivre pas de résultat, les paramètres de traitement cl et/ou c2 sont modifiés afin de rechercher une lexie plus courte. Ce traitement itératif est mis en oeuvre pour obtenir des lexies présentes dans le dictionnaire ontologique et dont la taille est maximisée. Dans le cas où une lexie se rapporte à un unique terme, c'est le ou les sens de ce terme qui sont sélectionnés. Lorsqu'une lexie correspond à une locution ou une phrase complète, on obtient à partir du dictionnaire ontologique un seul sens ce qui est bien plus efficace. La solution présentée dans ce document est un outil permettant une première étape de traitement, après la conversion éventuelle « speech to text (SU) », permettant d'exploiter le sens d'un énoncé par une machine. Ce traitement consiste à une lemmatisation de l'énoncé orienté concept et sémantique en utilisant des dictionnaires auto évolutifs. 5.2. Description d'un mode de réalisation Le lemmatiseur de la présente technique utilise un dictionnaire ontologique par langue représenté par exemple sous forme de triplet store : {sujet, relation, sujet}. Le lemmatiseur se présente sous la forme d'un module (logiciel ou matériel) intégré au sein d'un dispositif ou d'un système de traitement particulier. La technique de stockage des données varie en fonction d'une part de la volumétrie de ces données et d'autre part des performances des processus d'accès à ces données. Ce mode de réalisation présente la technique de traitement utilisée pour obtenir un graphe complet de l'énoncé en langage naturel. Plus particulièrement, dans ce mode de réalisation de la technique décrite en relation avec la figure 2, on applique l'algorithme de traitement suivant : - un énoncé (ELn) en langage naturel est transmis (E-10) au module. le traitement (E-20) de l'énoncé (ELn) comprend : une étape d'initialisation (E-21) de deux curseurs : un curseur (cl) au début de l'énoncé (ELn) et un curseur (c2) à la fin de la énoncé (ELn) ; au moins une itération (E-22) des étapes suivantes, jusqu'à ce que le curseur cl soit positionné à la fin de l'énoncé (ELn) : recherche (E-221), au sein du dictionnaire (Dic0), d'une lexie correspondant à un groupe de mots situé entre le curseur cl et le curseur c2 ; et lorsqu'une lexie (LX,) est identifiée dans le dictionnaire (Dic0) par l'étape précédente (E-221) : une étape de traitement (E-222) de la lexie (LX,) délivrant un graphe de relations (GrReil-x1) de la lexie (LX,) ; une étape de positionnement (E-223) du curseur cl à la position du curseur c2; une étape de positionnement (E-224) du curseur c2 à la fin de la l'énoncé ; lorsqu'aucune lexie n'est identifiée dans le dictionnaire (Dic0) par l'étape de recherche (E-221), une étape de déplacement (E-225) de la position du curseur c2 au niveau du séparateur de mot précédent dans l'énoncé. création (E-30) de la structure de données (StrUL) comprenant l'ensemble des combinaisons d'unités lexicales possibles à partir de tous les graphes de relations (GrRell-x1) des lexies (LX,) de l'énoncé, N désignant le nombre de lexies identifiées dans l'énoncé en langage naturel. Lorsqu'une lexie (LX,) est identifiée dans la phrase soumise en entrée, une étape d'obtention (E-222-0) d'un graphe de relations (GrRell-x1) de la lexie (LX,) est mise en oeuvre. Plus particulièrement, décrit en relation avec la figure 3, à partir de la lexie (LX,), l'obtention (E-222-0) du graphe de relations comprend : une étape d'identification (E-222-01) d'au moins une entrée lexicale (ELX,) associée à la lexie (LX,) ; Cette identification est réalisée à partir du dictionnaire ontologique. une étape d'obtention (E-222-02) d'une forme lexicale (FLX,) de la lexie (LX,); une étape d'obtention (E-222-03) d'une forme canonique (FCELxi) de l'entrée lexicale (ELX,) ; une étape d'identification (E-222-04) d'au moins une entrée lexicale (ELX,k) associée à la forme lexicale (FLX,) de la lexie (LX,) en fonction de la forme canonique (FCELxi) ; une étape d'obtention (E-222-05) d'une forme (FXELxiK) de l'entrée lexicale (ELX,k); une étape d'obtention (E-222-06) d'au moins une donnée représentative d'un sens lexical (SEN,y) de chacune des formes obtenues préalablement (FLX,, FCELxi, FXELxiK)- La dernière étape consiste en la construction du graphe de relations (GrRe,LXi) en fonction desdites entrées lexicales (ELX,, ELX,k), desdites formes lexicales (FLX,, FCED En d'autres termes, à partir d'une forme on recherche toutes les formes canoniques possibles de cette lexie. Lorsqu'une lexie a été identifiée cela veut dire que l'on a trouvé l'unique forme associée (par exemple « lemon:Form » de l'ontologie). a) Récupération des entrées lexicales de la lexie : à partir de cette forme, on récupère l'ensemble des entrées lexicales (par exemple « lemon:LexicalEntry » de l'ontologie) possible de cette forme reliée par « lemon:canonicalForm » ou « lemon:otherForm ». b) Récupération des formes canoniques possibles de la lexie : 1 Pour chaque entrée lexicale associée par une relation « lemon:otherForm », on recherche la forme associée à celle-ci par la relation « lemon:canonicalForm », ce qui nous donne l'ensemble des formes canoniques possibles pour cette lexie. 2 Pour toutes les relations « lemon:canonicalForm » : la lexie trouvée est une forme canonique pour chaque entrée lexicale (elles peuvent être multiple la lexie « un » est la forme canonique de six entrées lexicales par exemple). Dans ce cas on l'ajoute aux formes canoniques possibles de cette lexie. c) Récupération des données sémantiques de la lexie : à partir des entrées lexicales trouvées en a), récupération de l'ensemble des sens associés à chaque entrée lexicale (relation « Lemon:sense ») et de l'ensemble des sens associés à ceux-ci par les relations types synonyme, holonyme, définition etc ... La création de la structure de données (StrUL) comprenant l'ensemble des combinaisons d'unités lexicales possibles comprend un traitement de combinaison des graphes de relations (GrReil-xl) précédemment obtenus. Plus particulièrement, les graphes extraits permettent de trouver pour chaque lexie, les lexèmes possibles. Ainsi, par combinaison, on identifie toutes les phrases lemmatisées possibles. Selon la technique décrite, le traitement de combinaison est relativement rapide : dans le cas où l'énoncé en langage naturel est court, le nombre de combinaisons est limité. Il n'est donc pas difficile à obtenir. Par ailleurs, le nombre de combinaisons possibles est limité par un autre traitement relatif à la détection de combinaisons grammaticalement impossibles. Ce traitement est mis en oeuvre par l'intermédiaire d'un module grammatical (ModGram). Dans le module grammatical, les stratégies de détection des combinaisons grammaticalement impossibles sont paramétrées, par exemple en utilisant des modèles grammaticaux. La création de cette structure de données est réalisée à partir de tous les graphes de relations (GrRe,LA) des lexies (LX,) de l'énoncé, N désignant le nombre de lexies identifiées dans l'énoncé en langage naturel. 5.3. Construction du dictionnaire ontologique Comme cela a été explicité préalablement, la technique de lemmatisation utilise un dictionnaire ontologique. Un des avantages de la technique décrite est qu'elle est multilingue : l'algorithme proposé ne se soucie pas de la langue utilisée. Au besoin, en fonction de la langue, les curseurs peuvent être inversés pour que l'énoncé soit traité à partir de la droite plutôt qu'a partir de la gauche. Pour que l'algorithme de lemmatisation soit efficace, il peut s'avérer important de disposer d'un dictionnaire lui-même correctement ordonné. Le principe général de création du dictionnaire est le suivant : A partir d'une source open-data, une unité logicielle extrait les données, et les traduit en relation ontologique, c'est-à-dire en ensembles de triplets {sujet, prédicat, objet}. Ces relations sont d'ordre : grammatical (classe grammaticale, type de dérivation grammaticale, ...). sémantique (registre d'utilisation des lexèmes, domaine d'utilisation, synonymes, hyperonymes, liste des concepts associés, ...). Une fois utilisé, le dictionnaire est ensuite mis à jour. Une unité logicielle scanne les données sources pour détecter les ajouts / modifications / corrections / suppressions effectuées sur celles-ci. À partir de ces changements, le dictionnaire est mis à jour. Plus particulièrement, selon la technique proposée, le système d'apprentissage repose sur un système d'oubli progressif. Une information retrouvée réactive la mémorisation. Dans un mode de réalisation particulier, L'ontologie est basée sur les modèles lemon et lexinfo. Le dictionnaire utilise des unités de base que sont la forme lexicale (LexicalForm), l'entrée lexicale (LexicalEntry) et le sens (LexicalSense). Une relation de « sens » existe entre une entrée « sens » et une entrée lexicale. Entre une forme lexicale et une entrée lexicale deux types de formes existent : soit une forme canonique soit un autre type de forme. Les .3 propriétés entre LexicalEntry LexicalForm contiennent les types de dérivations (genre, nombre, conjugaison, déclinaison, etc. ...). Les instances LexicalSense associées possèdent des propriétés : usages : rare, vieilli, intransitif ... registre : familier, vulgaire, argot, ... domaine : Zoologie, Technique, Finance, ... régionalisme. Les instances LexicalSense sont associées à d'autres instances de LexicalEntry par des relations : Synonyme ; Antonyme ; Hyperonyme/ Hyponyme ; Holonyme/méronyme ; Définition. Dans au moins un mode de réalisation, un dictionnaire est stocké sous la forme d'un ensemble de triplets RDF/OWL (objet, prédicat, sujet). Cet ensemble est basé sur les standards W3C des ontologies. En complément, comme exposé supra, un dictionnaire utilise les modèles ontologiques LEMON et LEXINFO. Les relations sont réifiées et pondérées afin de gérer le système d'auto-apprentissage. Selon un premier aspect, un apprentissage est mis en oeuvre (par l'intermédiaire d'un module d'apprentissage). À partir d'un lexème les données sont lues et interprétées à partir de la source. Dans la réalisation actuelle, la source utilisée est le Wiktionnaire français. Le format de la source est une page HTML et les données sont interprétées à l'aide du langage XPATH. À chaque passage (à chaque itération) le traitement appliqué est le suivant : Lorsque le lexème est identifié, les étapes suivantes sont mises en oeuvre : [ Une « forme » est créée dans l'ontologie. Pour chaque classe grammaticale possible du lexème : Si le lexème est une forme canonique : Une « entrée lexicale » est créée avec sa classe grammaticale et en associant la forme comme « forme canonique ». Pour chaque flexion trouvée : Création de la « forme », du lien « autre forme » et la nature de la flexion. Pour chaque sens trouvé : Création du « sens », des propriétés sémantiques associées (domaine d'utilisation, registre d'utilisation, etc.) et création des formes significatives de la définition (dans le Wiktionnaire : termes de la définition en lien avec une autre entrée). Ajout des liens complémentaires et création des formes associées : - Synonymes ; - Antonymes ; - Hyperonymes. ] La technique décrite se caractérise notamment, pour la création d'un dictionnaire, 15 par la mise en oeuvre de pondérations. La pondération des relations créées est initialisée à 1 lorsque la relation n'existe pas. Lorsque la relation existe déjà, celle-ci est renforcée par une fonction linéaire maximisée à 1 telle que: Pn+1 - min(Cap X Pn, 1) Où Pn+1 représente le nouveau poids (à l'occurrence n+1) ; 20 Cap représente le coefficient d'apprentissage ; Pn représente l'ancien poids (à l'occurrence n). Le « coefficient d'apprentissage » Cap est un nombre strictement supérieur à 1 (il prend par exemple la valeur 2 dans un mode de réalisation spécifique). La construction du dictionnaire ontologique est divisée en deux étapes distinctes : 25 une étape d'amorçage, dans laquelle une amorce de dictionnaire est créée et une étape de mise à jour, qui est exécutée de manière récurrente. Étape 1 : Amorçage Lors du premier passage il est nécessaire de posséder un certain nombre de lexèmes de base. Il existe plusieurs possibilités : 30 - par exemple l'utilisation d'une liste arbitraire de lexèmes ; 10 .5 une extraction du vocabulaire via DBPedia et le langage SPARQL pour accélérer l'apprentissage. Étape 2: Mise à jour du dictionnaire Phase d'oubli : Toutes les pondérations des relations sont atténuées de façon polynômiale tel que : Pn+1 = CO x In Où Pn+1 représente le nouveau poids (à l'occurrence n+1) ; Coubii représente le coefficient d'oubli ; Pn représente l'ancien poids (à l'occurrence n) ; deg représente la courbe de vitesse de l'oubli. Le « coefficient d'oubli » est un nombre positif strictement inférieur à 1 (valeur positionné à 0,9 dans un mode de réalisation spécifique). « deg » permet d'entraîner un oubli exponentiel. Dans le mode de réalisation spécifique la valeur est 2. Cela permet qu'une connaissance non trouvé lors d'une itération à cause d'un incident de communication et non pas à cause de l'absence de donnée ne soit atténuée que très progressivement. Si lors de l'itération suivante elle est retrouvée, alors elle sera « certaine » car amplifiée plus fortement que son atténuation accidentelle. Phase de vérification et d'apprentissage : A partir de l'ensemble des formes trouvées lors des précédents passages, le traitement général décrit ci-dessus est appliqué. Phase d'oubli définitif : Suppression de toutes les relations dont la pondération est inférieure au « seuil d'invalidation ». Le « seuil d'invalidation » est un nombre strictement inférieur à 1 (valeur 0,01 dans un mode de réalisation spécifique). Afin de garantir une fraicheur optimale des données du dictionnaire, dès que la mise à jour est terminée, elle est relancée pour un nouveau cycle (seule l'étape de mise à jour -étape 2- est alors mise en oeuvre dans la mesure où il n'est plus nécessaire de réaliser un amorçage). 5.4. Dispositifs de mises en oeuvre. On décrit, en relation avec la figure 4, un dispositif de création de dictionnaire 30 ontologique comprenant des moyens permettant l'exécution du procédé décrit préalablement. Par exemple, le dispositif de création de dictionnaire comprend une mémoire 41 constituée d'une mémoire tampon, une unité de traitement 42, équipée par exemple d'un microprocesseur, et pilotée par le programme d'ordinateur 43, mettant en oeuvre les étapes nécessaires à la création d'un dictionnaire ontologique. À l'initialisation, les instructions de code du programme d'ordinateur 43 sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur de l'unité de traitement 42. L'unité de traitement 42 reçoit en entrée par exemple un ensemble de lexèmes initiaux ou des données de dictionnaires existant. Le microprocesseur de l'unité de traitement 42 met en oeuvre les étapes du procédé création ou de mise à jour de dictionnaire, selon les instructions du programme d'ordinateur 43 pour permettre au la création d'un dictionnaire ontologique tel que décrit préalablement. Pour cela, le dispositif de création de dictionnaire ontologique comprend, outre la mémoire tampon 41, des moyens d'obtention d'une information externe dispositif, comme un ensemble de lexème ou des données accessibles en source ouvertes ; ces moyens peuvent se présenter sous la forme d'un module d'accès à un réseau de communication tel qu'une carte réseau. Le dispositif comprend également des moyens de traitement, de ces données externes pour délivrer des données formatées et organisées selon l'ontologie du dictionnaire ontologique ; ces moyens de traitement comprennent par exemple un processeur spécialisé dans cette tâche ; le dispositif comprend également un ou plusieurs moyens d'accès à une ou plusieurs bases de données afin de sauvegarder et/ou de mettre à jour le dictionnaire ontologique. Le dispositif comprend également des moyens de mises à jour du dictionnaire, notamment des moyens de pondération de relations entre les formes lexicales et/ou grammaticales composant le dictionnaire. Ces moyens peuvent être pilotés par le processeur de l'unité de traitement 42 en fonction du programme d'ordinateur 43. On décrit, en relation avec la figure 5, un dispositif de création d'arbre lexical comprenant des moyens permettant l'exécution du procédé décrit préalablement. Par exemple, le dispositif de création d'arbre lexical comprend une mémoire 51 constituée d'une mémoire tampon, une unité de traitement 52, équipée par exemple d'un microprocesseur, et pilotée par le programme d'ordinateur 53, mettant en oeuvre nécessaires à la mise en oeuvre des fonctions de création. À l'initialisation, les instructions de code du programme d'ordinateur 53 sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur de l'unité de traitement 52. L'unité de traitement 52 reçoit en entrée par exemple une donnée externe au terminal, dite donnée initiale. Le microprocesseur de l'unité de traitement 52 met en oeuvre les étapes du procédé de création, selon les instructions du programme d'ordinateur 53 pour permettre lemmatiser un énoncé en langage naturel. Pour cela, le dispositif de création d'arbre lexical comprend, outre la mémoire tampon 51, des moyens d'obtention d'un énoncé en langage naturel, dite donnée initiale ; ces moyens peuvent se présenter sous la forme d'un dispositif de saisie, de type clavier ou encore sous la forme d'un module de type STT (speech to texte) permettant de transformer la parole en texte ou encore sous la forme d'une interface réseau permettant au dispositif de recevoir des données en provenance d'un réseau de communication. Le dispositif comprend également des moyens de traitement, notamment des moyens de recherche au sein d'une base de données ; ces moyens de traitement comprennent par exemple un processeur de recherche dédié et/ou un module de recherche indexé sur des données lexicales ; le dispositif comprend également des moyens de combinaisons d'arbre, permettant de combiner des arbres individuels en une pluralité d'arbres. Ces moyens peuvent être pilotés par le processeur de l'unité de traitement 52 en fonction du programme d'ordinateur 53.20 REVENDICATIONS1. Procédé de création d'un arbre lexical (StrUL) à partir d'un énoncé en langage naturel (ELn), procédé mis en oeuvre par un module de traitement de langage naturel (Mx2) au sein d'un dispositif électronique, procédé caractérisé en ce qu'il comprend les étapes de : réception(E-10) d'un énoncé en langage naturel (ELn) sous la forme d'une chaine de caractères ; traitement itératif (E-20) dudit énoncé en fonction d'au moins un paramètre de 10 traitement (cl, c2) et d'un dictionnaire ontologique (Dic0), délivrant au moins un graphe de relations (GrRelLx1) correspondant à au moins une lexie (LXI) comprise dans ledit énoncé en langage naturel (ELn) ; création (E-30) d'une en sortie une structure de données (StrUL) comprenant l'ensemble des combinaisons d'unités lexicales possibles dudit énoncé en langage 15 naturel (ELn) en fonction dudit au moins un graphe de relations (GrRei). 2. Procédé de création selon la revendication 1, caractérisé en ce que le traitement itératif (E-20) dudit énoncé en fonction d'au moins un paramètre de traitement (cl, c2) et d'un dictionnaire ontologique (Dic0) comprend : 20 une étape d'initialisation (E-21) d'un curseur (cl) au début de l'énoncé (ELn) et d'un curseur (c2) à la fin de l'énoncé (ELn) ; au moins une itération (E-22) des étapes suivantes, jusqu'à ce que le curseur cl soit positionné à la fin de l'énoncé (ELn) : recherche (E-221), au sein du dictionnaire (Dic0), d'une lexie 25 correspondant à un groupe de mots situé entre le curseur cl et le curseur c2; et lorsqu'une lexie (LM est identifiée dans le dictionnaire (Dic0) par l'étape précédente (E-221), une prise en compte de ladite lexie (LX,) et une modification des curseurs ; 30 lorsqu'aucune lexie n'est identifiée dans le dictionnaire (Dic0) par l'étape de recherche (E-221), une étape de déplacement (E-225) de la position du curseur c2 au niveau du séparateur de mot précédent dans l'énoncé.. Procédé selon la revendication 2 caractérisé en ce que la prise en compte de ladite lexie (LX) et une modification des curseurs comprend : une étape de traitement (E-222) de la lexie (LX) délivrant un graphe de relations (GrRel) de la lexie (LX) ; une étape de positionnement (E-223) du curseur cl à la position du curseur c2; une étape de positionnement (E-224) du curseur c2 à la fin de la l'énoncé ; 4. Procédé selon la revendication 3, caractérisé en ce que ladite étape de traitement (E-222) de la lexie (LX) délivrant un graphe de relations (GrReiLx1) de la lexie (LX,) comprend : une étape d'identification (E-222-01) d'au moins une entrée lexicale (ELX,) associée à la lexie (LX) ; Cette identification est réalisée à partir du dictionnaire ontologique. une étape d'obtention (E-222-02) d'une forme lexicale (FLX) de la lexie (LX); une étape d'obtention (E-222-03) d'une forme canonique (FCED0) de l'entrée lexicale (ELXi) ; une étape d'identification (E-222-04) d'au moins une entrée lexicale (ELXik) associée à la forme lexicale (FLX) de la lexie (LX) en fonction de la forme canonique (FCEL) ; une étape d'obtention (E-222-05) d'une forme (FXEIYIK) de l'entrée lexicale (ELXik) ; une étape d'obtention (E-222-06) d'au moins une donnée représentative d'un sens lexical (SEN) de chacune des formes obtenues préalablement (FLX,, FCEuct, FXELxiK). - une étape de construction dudit graphe de relations (GrRell en fonction desdites entrées lexicales (ELX,, ELX,k), desdites formes lexicales (FLX,, FCEDa) et desdits sens lexicaux (SEN) préalablement obtenus. 5. Dispositif de création d'un arbre lexical (StrUL) à partir d'un énoncé en langage naturel (ELn), dispositif mettant en oeuvre par un module de traitement de langage naturel (Mx2), dispositif caractérisé en ce qu'il comprend les moyens de :réception(E-10) d'un énoncé en langage naturel (Eln) sous la forme d'une chaine de caractères ; traitement itératif (E-20) dudit énoncé en fonction d'au moins un paramètre de traitement (cl, c2) et d'un dictionnaire ontologique (Dic0), délivrant au moins un graphe de relations (GrRel) correspondant à au moins une lexie (LX;) comprise dans ledit énoncé en langage naturel (an); création (E-30) d'une en sortie une structure de données (StrUL) comprenant l'ensemble des combinaisons d'unités lexicales possibles dudit énoncé en langage naturel (ELn) en fonction dudit au moins un graphe de relations (GrRou). 10 Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution d'un procédé de traitement 15 selon la revendication 1, lorsqu'il est exécuté sur un processeur. 20