EP3248111A1 - Procédé de lemmatisation, dispositif et programme correspondant - Google Patents

Procédé de lemmatisation, dispositif et programme correspondant

Info

Publication number
EP3248111A1
EP3248111A1 EP16701017.2A EP16701017A EP3248111A1 EP 3248111 A1 EP3248111 A1 EP 3248111A1 EP 16701017 A EP16701017 A EP 16701017A EP 3248111 A1 EP3248111 A1 EP 3248111A1
Authority
EP
European Patent Office
Prior art keywords
lexical
lexicon
natural language
eln
statement
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.)
Withdrawn
Application number
EP16701017.2A
Other languages
German (de)
English (en)
Inventor
Pascal ARBAULT
Didier BULTIAUW
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Davi
Original Assignee
Davi
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Davi filed Critical Davi
Publication of EP3248111A1 publication Critical patent/EP3248111A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Definitions

  • the present disclosure relates to the automated processing of natural language.
  • the present disclosure relates more particularly to a lemmatization method.
  • the proposed technique also relates to a method of generating an ontological dictionary.
  • the interaction device par excellence between the man and the computerized machine is the screen, such a screen comprising in particular numerous human-machine interfaces (IH M).
  • HMIs have traditionally used limited-choice, closed-ended monofunctional elements.
  • the ever increasing complexity of machines has been the subject of numerous research and advances in the field of ergonomics to overcome initial constraints including that of understanding between man and machine.
  • keyboard mouse, graphic tablets, touch screens, ...
  • lemmatization systems integrated with the different language processing software especially for spelling correctors (Synapse's Cordial product) or for translation systems (Promt company).
  • Autonomous lemmatizers are also available: TreeTagger or BONSAI (I NRIA).
  • Lemmatizers are all oriented for the generation of syntagmatic or lexico-morpho-syntactic trees. And the efforts are oriented to remove the ambiguities because the same sentence can correspond to several possibilities of significant trees. The techniques used are based on stochastic approaches.
  • a phrase or proverb must necessarily be "reassembled" to make sense of it.
  • there may be a phenomenon of sound effects for example the use, in a phrase or proverb, of a word having multiple meanings. Therefore, the work necessary to recover the correct meaning of a phrase or proverb is resource-intensive.
  • What is true with a proverb is also true with ready-made phrases. This poses on the one hand problems of treatment and on the other hand problems of excessive consumption of resources.
  • it is not necessarily guaranteed that the meaning of the phrase or proverb is finally the right one. It is probable that the meaning "found” by the combination of the meanings of the individual terms that make up the phrase or proverb is different from its overall meaning.
  • the proposed technique does not have these disadvantages of the prior art. More particularly, the proposed technique relates to a method and a device for processing utterances in natural language. More particularly, the described technique relates to a method for creating a lexical tree from a statement in natural language, a method implemented by a natural language processing module, characterized in that it comprises the steps of:
  • the iterative processing of said utterance as a function of at least one treatment parameter and an ontological dictionary comprises:
  • a step of moving the position of the cursor c2 at the level of the preceding word separator in the statement comprises:
  • a lexicon processing step delivering a relationship graph of the lexicon; a step of positioning the cursor cl at the cursor position c2;
  • said lexie processing step delivering a graph of relations of the lexie comprises:
  • the described technique also relates to a device for creating a lexical tree from a statement in natural language, a device implemented by a natural language processing module.
  • Such a device comprises means of:
  • the various steps of the methods according to the proposed technique are implemented by one or more software or computer programs, comprising software instructions intended to be executed by a data processor of a relay module according to the technique. proposed and being designed to control the execution of the different process steps.
  • the proposed technique is also directed to a program that can be executed by a computer or a data processor, which program includes instructions for controlling the execution of the steps of a method as mentioned above.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.
  • the proposed technique is also aimed at a data carrier readable by a data processor, and including instructions of a program as mentioned above.
  • the information carrier may be any entity or device capable of storing the program.
  • the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a disk. hard.
  • the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the proposed technique can be downloaded in particular on a network type I nternet.
  • the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • the proposed technique is implemented by means of software and / or hardware components.
  • the term "module" may correspond in this document as well to a software component, a hardware component or a set of hardware and software components.
  • a software component corresponds to one or more computer programs, one or more subroutines of a program, or more generally to any element of a program or software capable of implementing a function or a program. set of functions, as described below for the module concerned.
  • Such a software component is executed by a data processor of a physical entity (terminal, server, gateway, router, etc.) and is capable of accessing the hardware resources of this physical entity (memories, recording media, bus communication cards, input / output electronic cards, user interfaces, etc.).
  • a hardware component corresponds to any element of a hardware set (or hardware) able to implement a function or a set of functions, as described below for the module concerned. It may be a hardware component that is programmable or has an integrated processor for executing software, for example an integrated circuit, a smart card, a memory card, an electronic card for executing a firmware ( firmware), etc.
  • FIG. 2 shows a system in which the proposed technique can be implemented
  • Figure 3 describes the obtaining of a relationship graph
  • FIG. 4 describes a device for creating a dictionary according to the present technique
  • FIG. 5 describes a device for creating a lexical tree according to the present technique
  • Figure 6 shows a classical syntactic tree
  • Figure 7 shows a lexical tree according to the present technique.
  • a computer ontology is a way of trying to represent knowledge, that is, what exists in a broad sense (which is actually similar to the object of the philosophical ontology which is the description of the world): objects, intangible concepts and the relationships that exist between these different elements.
  • a selected representation mode is a representation in triplets ⁇ Subject, predicate, Object ⁇ that can be stored under different standards (RDF, OWL, TDB ). This definition is unique. Predicates representing the type of relationship are not restrictive and may very well represent grammatical relationships if the objects and subjects concerned are the written forms of a language.
  • a lexicon is any form written in one language. It goes from the simple word to proverbs, to all idiomatic forms, phrases, etc.
  • the implementation of a lexicon is a lexical form (The LexicalForm concept in the Lemon ontological model for example).
  • a lexeme is the association of a non-inflectional lexis and a meaning. For example :
  • a lexical entry by inflectional category (The LexicalEntry concept in the Lemon model): eating as a name will only have one lexical entry because in all cases the inflections are identical, but "one" as a noun will have two entries because the inflections of the "figure one" are "one” and "one”, on the other hand its use by metonymy indicating an object carrying the number one does not have flexion.
  • an associated meaning (sensible predicate and LexicalSense concept in the Lemon ontological model)
  • the general principle underlying the proposed technique is to provide a lemmatizer with a statement in natural language, this statement being lemmatized without removing the ambiguities resulting from lemmatization.
  • the processing device that implements the described technique does not remove ambiguities.
  • the lemmatizer uses a specific dictionary, including weighted relations between the words that compose it, the lemmatizer provides a data structure (for example an xm / file) in which the different lemmas that make up the statement are listed.
  • These lemmas that compose the utterance are, according to the present disclosure, accompanied by a definition (i.e. meaning) and grammatical rules.
  • these different elements, which accompany the lemmas of the data structure are composed from the analysis of the enunciated input of the lemmatizer.
  • a software or hardware module receives (E-10) input a statement in natural language (ELn). It processes (E-20) this statement and outputs (E-30) a data structure (StrUL) including all combinations of possible lexical units.
  • This treatment is implemented using, in particular, treatment parameters (cl, c2) and an ontological dictionary (DicO).
  • the data structure (StrUL) associates with each identified lexical unit, grammatical data and semantic data extracted from the dictionary (DicO).
  • the method comprises the following steps:
  • E-10) a natural language utterance (ELn) in the form of a string of characters; iterative processing (E-20) of said utterance as a function of at least one processing parameter (cl, c2) and an ontological dictionary (DicO), delivering at least one relationship graph (Gr Re i LX1 ) corresponding to at least one lexicon (LX,) included in said natural language statement (ELn);
  • the utterance in natural language may, prior to processing, undergo a pretreatment including, for example a processing of conversion of a digital voice file into a textual statement.
  • the treatment of the textual utterance according to the dictionary and the processing parameter comprises in particular the division of the utterance, as a function of term separators adapted to the language to be processed (such as the comma, the point, the semicolon, etc.).
  • the statement is considered as having a proper meaning. Rather than seeking a meaning for each word composing the utterance, on the contrary we are looking for a global meaning of the utterance. To do this, the statement is treated as a lexicon and searched directly within the ontological dictionary.
  • the processing parameters cl and / or c2 are modified to look for a shorter lexis.
  • This iterative processing is implemented to obtain lexies present in the ontological dictionary and whose size is maximized.
  • a lexie refers to a single term, it is the meaning or meanings of this term that are selected.
  • a lexicon corresponds to a phrase or a complete sentence, we obtain from the ontological dictionary a single meaning which is much more efficient.
  • This treatment consists of a lemmatization of the semantic concept-oriented statement using self-evolving dictionaries.
  • the data structure (StrUL) obtained is also called lexical tree.
  • the notion of lexical tree is a representation mode specific to the object of the present and is not used in the field. To expose the differences between the "lexical tree” and the other known structures, we use the representation of the following example sentence: "he wants to eat a Savoyard fondue”.
  • a lexicographic tree is a representation of a purely lexicographic dictionary and does not concern the subject of the present.
  • a syntagma node may have one or more children representing phrases or morphosyntactic categories.
  • a morphosyntactic node has a child node corresponding to a word type lexis. For example, the morphosyntactic tree corresponding to the example sentence is shown in Figure 6.
  • the technique responds to a need for processing sentences that are not necessarily grammatically well structured: a structure such as that presented in FIG. 6 is therefore not always possible to construct.
  • the children of the root are the lexies detected in the sentence, these lexies being identified for example in the search step in a dictionary (E-221, see 5.3);
  • each morphosyntactic category has for its son the canonical form (or lemma), as well as the associated semantic data.
  • This terminal part of the tree is constructed when obtaining relationship graph (E-222, see 5.3).
  • relationship graph E-222, see 5.3
  • the lexical tree corresponding to the example sentence is presented in Figure 7 (for readability the semantic nodes are not included).
  • the lexical tree of the present is a tree of morphological and semantic hypothesis of a statement; this lexical tree should not be confused with the trees mentioned above.
  • the lemmatizer of the present technique uses an ontological dictionary per language represented for example in the form of a triplet store: ⁇ subject, relation, subject ⁇ .
  • the lemmatizer is in the form of a module (software or hardware) integrated within a device or a particular treatment system.
  • the technique of storing data varies according to the volume of this data and the performance of the processes for accessing this data.
  • This embodiment presents the processing technique used to obtain a complete graph of the utterance in natural language.
  • a step (E-222-0) of obtaining a relationship graph (Gr Re i LX1 ) of the lexicon (LX,) is set implemented. More particularly, described with reference to FIG. 3, from the lexicon (LX,), the obtaining (E-222-0) of the relationship graph comprises:
  • a step of identifying E-222-04) at least one lexical input (ELX ik ) associated with the lexical form (FLX,) of the lexicon (LX,) according to the canonical form (FC E LXI) ;
  • a step of obtaining E-222-05) a form (FX E LXIK) of the lexical input (ELX IK ); a step of obtaining (E-222-06) at least one data representative of a lexical direction (SEN L x) of each of the previously obtained forms (FLX ,, FC E LXI, FXELXIK) -
  • the last step consists of the construction of the relationship graph (Gr Re i LX1 ) according to said lexical inputs (ELX ,, ELX ik ), said lexical forms (FLX ,, FC E LXI) and said lexical meanings (SEN L x) previously obtained.
  • borderline cases implement a "specific", boundary-based procedure that applies to these cases, without the general implementation of the described technique being defective.
  • an error being processed in case the sliders c1 and c2 are located on the last possible lexis can be processed.
  • he wants to eat a fondue savoyarde which would be misspelled:
  • lexie found is a canonical form for each lexical entry (they can be multiple the lexie "one" is the canonical form of six lexical entries for example). In this case we add it to the possible canonical forms of this lexicon.
  • the creation of the data structure (StrUL) comprising all the combinations of possible lexical units comprises a combination processing of the previously obtained graphs of relations (Gr Re i LX1 ). More particularly, the extracted graphs make it possible to find for each lexie, the possible lexemes. Thus, by combination, all possible lemmatized sentences are identified.
  • the combination treatment is relatively fast: in the case where the natural language statement is short, the number of combinations is limited. It is not difficult to obtain.
  • the number of possible combinations is limited by another treatment relating to the detection of grammatically impossible combinations.
  • This processing is implemented through a grammar module (ModGram).
  • Module strategies for detecting grammatically impossible combinations are set, for example using grammatical models.
  • This data structure is carried out from all the graphs of relations (Gr Re i LX1 ) of the lexies (LX,) of the statement, l ⁇ i ⁇ N, N denoting the number of lexies identified in the statement in natural language.
  • the lemmatization technique uses an ontological dictionary.
  • One of the advantages of the described technique is that it is multilingual: the proposed algorithm does not care about the language used. If necessary, depending on the language, the cursors can be inverted so that the statement is processed from the right rather than from the left.
  • the general principle of creating the dictionary is as follows: From an open-data source, a software unit extracts the data, and translates them into an ontological relation, that is to say into sets of triplets ⁇ subject, predicate , object ⁇ .
  • grammatical grammatical class, type of grammatical derivation, .
  • semantics usage register of lexemes, domain of use, synonyms, hyperonyms, list of associated concepts, .
  • a software unit scans the source data to detect additions / modifications / corrections / deletions made thereon.
  • the dictionary is updated. More particularly, according to the proposed technique, the learning system is based on a progressive forgetting system. Recovered information reactivates the memorization. In a particular embodiment, the ontology is based on the lemon and lexinfo models.
  • the dictionary uses basic units that are LexicalForm, LexicalEntry and LexicalSense. A "sense" relationship exists between a "meaning" input and a lexical input. Between a lexical form and a lexical entry two types of forms exist: either a canonical form or another type of form.
  • the properties between LexicalEntry -> LexicalForm contain the types of derivations (genre, number, conjugation, declination, etc. ).
  • the associated LexicalSense instances have properties:
  • LexicalSense instances are associated with other instances of LexicalEntry by relationships:
  • a dictionary is stored as a set of RDF / OWL triplets (object, predicate, subject). This set is based on the W3C standards of ontologies.
  • a dictionary uses the ontological models LEMON and LEXINFO. Relationships are reified and weighted to manage the self-learning system.
  • an apprenticeship is implemented (via a learning module). From a lexeme the data is read and interpreted from the source. In the current realization, the source used is the French Witechnischary. The format of the source is an HTML page and the data is interpreted using the XPATH language.
  • a "form" is created in the ontology.
  • a "lexical entry” is created with its grammatical class and associating the form as "canonical form”.
  • the described technique is particularly characterized, for the creation of a dictionary, by the implementation of weights.
  • the weighting of the relationships created is initialized to 1 when the relationship does not exist.
  • n + 1 represents the new weight (in this case n + 1);
  • C ap represents the learning coefficient
  • P n represents the old weight (in this case n).
  • the "learning coefficient" C ap is a number strictly greater than 1 (it takes for example the value 2 in a specific embodiment).
  • the construction of the ontological dictionary is divided into two distinct steps: a boot step, in which a dictionary primer is created and an update step, which is executed recursively.
  • P n + 1 represents the new weight (in this case n + 1);
  • deg represents the speed curve of forgetting.
  • the "forgetting coefficient” is a positive number strictly less than 1 (value set at 0.9 in a specific embodiment). "Deg” can lead to an exponential forgetfulness. In the specific embodiment, the value is 2. This allows a knowledge not found during an iteration because of a communication incident and not because of the absence of data is attenuated only very gradually. If at the next iteration it is found, then it will be “certain” because amplified more strongly than its accidental attenuation. Verification and learning phase: From all the forms found during the previous passages, the general treatment described above is applied.
  • Definitive forgetting phase Deletion of all relations whose weighting is lower than the "invalidation threshold”.
  • the "invalidation threshold” is a number strictly less than 1 (value 0.01 in a specific embodiment).
  • an ontological dictionary creation device comprising means for executing the previously described method is described.
  • the dictionary creation device comprises a memory 41 constituted by a buffer memory, a processing unit 42, equipped for example with a microprocessor, and driven by the computer program 43, implementing the necessary steps. to the creation of an ontological dictionary.
  • the code instructions of the computer program 43 are for example loaded into a memory before being executed by the processor of the processing unit 42.
  • the processing unit 42 receives as input for example a set of initial lexemes or existing dictionary data.
  • the microprocessor of the processing unit 42 implements the steps of the dictionary creation or update process, according to the instructions of the computer program 43 to allow the creation of an ontological dictionary as previously described.
  • the device for creating an ontological dictionary comprises, in addition to the buffer memory 41, means for obtaining an external device information, such as a set of lexemes or open source accessible data; these means may be in the form of an access module to a communication network such as a network card.
  • the device also comprises processing means, these external data to deliver data formatted and organized according to ontology dictionary ontological; these means of treatment include for example a processor specialized in this task; the device also comprises one or more means for accessing one or more databases in order to save and / or update the ontological dictionary.
  • the device also comprises means for updating the dictionary, in particular means for weighting relationships between the lexical and / or grammatical forms making up the dictionary.
  • the device for creating lexical tree comprises a memory 51 constituted by a buffer memory, a processing unit 52, equipped for example with a microprocessor, and driven by the computer program 53, implementing necessary to the implementation of the creation functions.
  • the code instructions of the computer program 53 are for example loaded into a memory before being executed by the processor of the processing unit 52.
  • the processing unit 52 receives as input, for example, a data external to the terminal, called initial data.
  • the microprocessor of the processing unit 52 implements the steps of the creation method, according to the instructions of the computer program 53 to allow the lemmatization of a statement in natural language.
  • the device for creating a lexical tree comprises, in addition to the buffer memory 51, means for obtaining a statement in natural language, called initial data; these means can be in the form of an input device, keyboard type or in the form of a module type STT (speech to text) for transforming speech into text or in the form of a network interface allowing the device to receive data from a communication network.
  • the device also comprises processing means, including search means within a database; these processing means comprise for example a dedicated search processor and / or a search module indexed on lexical data; the device also comprises shaft combination means for combining individual shafts into a plurality of shafts.

Abstract

L'invention se rapporte à un procédé de de création d'un arbre lexical (StrUL) à partir d'un énoncé en langage naturel (ELn), procédé mis en œuvre par un module de traitement de langage naturel (Mx2). Selon l'invention un tel procédé comprend les étapes de : réception(E-lO) d'un énoncé en langage naturel (ELn) sous la forme d'une chaîne 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 (DicO), délivrant au moins un graphe de relations (GrRe| LXl) 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 naturel (ELn) en fonction dudit au moins un graphe de relations (GrReL LXI).

Description

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 pa rticuliè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 (IH M).
Pour faciliter le développement applicatif et pour rendre l'interaction plus simple pour les utilisateurs, les I HM 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 fait 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 I HM 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 (I NRIA). 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 ambiguïté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. I ls 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. I l 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 œuvre 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 chaîne 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 œuvre 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 chaîne 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 œuvre 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 dise) 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 I nternet.
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 œuvre 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'à 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 œuvre 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 œuvre 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 œuvre ses propres modules logiciels.
Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en œuvre 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 illust ratif 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 œuvre ;
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 ;
la figure 6 représente un arbre syntaxique classique ; la figure 7 représente un arbre lexical selon la présente technique.
5. Description
5.1. Définitions
Une ontologie informatique est une façon d'essayer de représenter des connaissances, c'est-à-dire ce qui existe au sens large (ce qui est effectivement similaire à l'objet de l'ontologie philosophique qui est la description du monde) : des objets, des concepts immatériels et les relations qui existent entre ces différents éléments.
Un mode de représentation retenu est une représentation en triplets {Sujet, prédicat, Objet} pouvant être stockés sous différents standards (RDF, OWL, TDB ...). Cette définition est unique. Les prédicats représentant le type de relation n'est pas restrictif et peut très bien représenter des relations grammaticales si les objets et les sujets concernés sont les formes écrites d'une langue.
Par contre, l'usage peut en être multiple et pour l'objet concerné par le brevet, nous avons besoin de représenter la connaissance grammaticale d'une langue, et la connaissance sémantique d'une langue. Le dictionnaire englobe ces deux perspectives basées sur un modèle reconnu par les personnes de l'art : Lemon et Lexinfo.
Une distinction sémasiologique et onomasiologique pourrait être réalisée. Cette distinction qualifie plutôt l'usage qui est fait du dictionnaire onthologique, et non la nature de ce dictionnaire, surtout dans le mode de représentation choisie dans le cadre de la présente.
Une lexie est toute forme écrite dans une langue. Cela va du simple mot aux proverbes, à toutes formes idiomatiques, locutions, etc.. L'implémentation d'une lexie est une forme lexicale (Le concept LexicalForm dans le modèle ontologique Lemon par exemple).
Un lexème est l'association d'une lexie non flexionnelle et d'un sens. Par exemple :
« manger en tant que nom nommant ce que l'on mange » est un lexème qui a pour lexies associées manger et mangers.
« manger en tant que nom nommant le fait que l'on mange » est un lexème qui a pour lexies associées manger et mangers.
- « manger en tant que verbe associé au divers sens de ce verbe » sont d'autres lexèmes qui ont pour lexies associées toutes ses formes conjuguées.
L'implémentation d'un lexème correspond donc au graphe suivant : une entrée lexicale par catégorie flexionnelle (Le concept LexicalEntry dans le modèle Lemon) : manger en tant que nom n'aura qu'une entrée lexicale car dans tous les cas les flexions sont identiques, mais « un » en tant que nom aura deux entrées car les flexions du « chiffre un » sont « un » et « uns », par contre son usage par métonymie indiquant un objet portant le numéro un n'a pas de flexion. un sens associé (prédicat sensé et concept LexicalSense dans le modèle ontologique Lemon)
une forme lexicale associée par le prédicat forme canonique (canonicalForm dans le modèle ontologique Lemon).
5.2. 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 œuvre 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 œuvre à l'aide notamment de paramètres de traitement (cl, c2) et d'un dictionnaire ontologique (DicO).
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 (DicO).
Plus particulièrement, la méthode comprend les étapes suivantes :
réception(E-lO) d'un énoncé en langage naturel (ELn) sous la forme d'une chaîne 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 (DicO), délivrant au moins un graphe de relations (GrReiLXl) 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 (GrRe|LXl).
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 œuvre 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 (STT) », 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.
La structure de données (StrUL) obtenue est également appelée arbre lexical. La notion d'arbre lexical est un mode de représentation spécifique à l'objet de la présente et n'est pas usité dans le domaine. Pour exposer les différences entre « l'arbre lexical » et les autres structures connues, on utilise la représentation de la phrase exemple suivante : « il veut manger une fondue savoyarde ».
Dans le langage du domaine de l'informatique linguistique, on identifie deux terminologies principales que sont :
- arbre lexicographique ;
arbre syntaxique ou morphosyntaxique.
Un arbre lexicographique est un mode de représentation d'un dictionnaire purement lexicographique et ne concerne pas le sujet de la présente.
Un arbre syntaxique ou morphosyntaxique, retrouvé dans la littérature, a pour racine la phrase. La racine a un ou plusieurs enfants représentant les syntagmes. Un nœud syntagme peut avoir un ou plusieurs enfants représentant des syntagmes ou des catégories morphosyntaxiques. Un nœud morphosyntaxique a un nœud fils correspondant à une lexie de type mot. Par exemple, l'arbre morphosyntaxique correspondant à la phrase exemple est présenté en figure 6.
Cette structure couramment employée n'est pas celle retenue dans la cadre de la présente technique, et ce pour deux raisons :
il peut exister pour une même phrase plusieurs arbres différents ;
la technique répond à un besoin de traitement de phrases non nécessairement grammaticalement bien structurées : une structure telle que celle présentée en figure 6 n'est donc pas toujours possible à construire.
Ainsi, les inventeurs ont opté pour une représentation appelée « arbre lexical » qui se décrit de la façon suivante :
la racine est la phrase ;
les enfants de la racine sont les lexies détectées dans la phrase, ces lexies étant identifiées par exemple dans l'étape de recherche dans un dictionnaire (E-221, voir 5.3) ;
les enfants de ces lexies sont les catégories morphosyntaxiques possibles pour cette lexie ;
chaque catégorie morphosyntaxique a pour fils la forme canonique (ou lemme), ainsi que les données sémantiques associées. Cette partie terminale de l'arbre est construite lors de l'obtention de graphe de relation (E-222, voir 5.3). Par exemple, l'arbre lexical correspondant à la phrase exemple est présenté en figure 7 (pour la lisibilité les nœuds sémantiques ne sont pas inclus).
A partir des feuilles représentant les lemmes (cerclées en gras) on peut construire deux phrases lemmatisées :
il vouloir manger un fondue savoyarde ;
il vouloir manger une fondue savoyarde.
En d'autres termes, l'arbre lexical de la présente est un arbre d'hypothèse morphologique et sémantique d'un énoncé ; cet arbre lexical ne doit pas être confondu avec les arbres précédemment cités.
5.3. 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 (DicO), 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 (DicO) par l'étape précédente (E-221) : une étape de traitement (E-222) de la lexie (LX,) délivrant un graphe de relations (GrReiLXl) 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 (DicO) 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 (StrU L) comprenant l'ensemble des combinaisons d'unités lexicales possibles à partir de tous les graphes de relations (GrRe|LXl) des lexies (LX,) de l'énoncé, l≤i≤N, 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 (GrReiLXl) de la lexie (LX,) est mise en œuvre. 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 (ELXik) 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 (ELXIK) ; une étape d'obtention (E-222-06) d'au moins une donnée représentative d'un sens lexical (SENLx) de chacune des formes obtenues préalablement (FLX,, FCELXI, FXELXIK)- La dernière étape consiste en la construction du graphe de relations (GrReiLXl) en fonction desdites entrées lexicales (ELX,, ELXik), desdites formes lexicales (FLX,, FCELXI) et desdits sens lexicaux (SENLx) préalablement obtenus.
Un certain nombre de cas aux limites peuvent également être décrits. Ces cas aux limites mettent en œuvre une procédure « spécifique », aux limites, qui s'appliquent à ces cas, sans que la mise en œuvre générale de la technique décrite ne soit défectueuse. Ainsi, par exemple, une erreur en cours de traitement dans le cas où les curseurs cl et c2 sont situés sur la dernière lexie possible peut être traitée. En reprenant l'exemple de la phrase « il veut manger une fondue savoyarde », qui serait mal orthographiée :
« ul veut manger uke fondue savarde »
Cet énoncé génère trois situations avec exception qui sont :
(cl)ul(c2) veut manger uke fondue savarde(E)
ul veut manger (cl)uke(c2) fondue savarde(E)
ul veut manger uke fondue (cl)savarde(c2)(E)
Dans ce cas « ul », « uke » et « savarde » ne seront pas trouvés en tant que lexie, l'itération amène donc c2 en cl.
Dans ces cas le système implémenté replace c2 à sa position initiale juste avant qu'il se retrouve confondu avec cl, marque les lexies comme inconnues et place cl à c2 et c2 à la fin (E). Dans tous les cas si cl=E, le processus s'arrête.
Dans l'absolu l'unité de déplacement des curseurs peut être le caractère
(obligatoire pour des langues agglutinantes comme l'allemand ou sans séparateur comme certaines langues asiatiques). Un tel principe peut être retenu lorsque la dimension de performance et de temps de réponse ne rentrent pas en considération. En revanche, pour un traitement accéléré, notamment de la langue française, il est préférable de disposer d'une unité de déplacement plus « rapide ».
Au niveau de l'implémentation opérationnelle, il est également possible de configurer les séparateurs pour accélérer le processus.
Quoi qu'il en soit, avec cette technique de recherche et d'identification, une fois que l'on a identifié une lexie dans l'énoncé d'entrée, on obtient un graphe lexical associé à cette lexie. La phase suivante du traitement, pour le module lemmatiseur, consiste à effectuer une combinaison de l'ensemble des graphes individuels obtenus. Un des avantages de cette technique est de disposer d'une lexie d'origine (LX,) de la plus grande longueur possible : l'algorithme de traitement initial de l'énoncé en langage naturel permet d'obtenir des lexies de grande taille. Par exemple, la phrase « qui peut le plus peut le moins » est considéré comme une lexie, car elle est présente dans le dictionnaire ontologique. À partir de cette lexie, on obtient directement un ou plusieurs sens. Il n'est pas nécessaire, avec l'algorithme de la présente technique, de décomposer cette phrase pour extraire le sens de chaque mot et recomposer un sens global qui serait : « Quiconque peut effectuer des tâches laborieuses et difficiles est capable d'en exécuter des plus aisées. »
Dès lors, il résulte de ce traitement algorithmique, d'une part une plus grande compacité du graphe lexical associé à la lexie et d'autre part une facilité de traitement de la lexie (en évitant des calculs inutiles en vue d'obtenir un sens donné à une lexie donnée). Ainsi, l'efficacité du traitement est renforcée.
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 anonicalForm » : 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 (GrReiLXl) 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 œuvre 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 (GrReiLXl) des lexies (LX,) de l'énoncé, l≤i≤N, N désignant le nombre de lexies identifiées dans l'énoncé en langage naturel.
5.4. 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'à 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 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 œuvre (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 œuvre : [
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, par la mise en œuvre 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+i = min (CapxPn, 1)
Où Pn+1 représente le nouveau poids (à l'occurrence n+1) ;
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 : 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 :
par exemple l'utilisation d'une liste arbitraire de lexèmes ;
une extraction du vocabulaire via DBPedia et le langage SPARQ.L 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 :
p — r pd-e3
' n+1 — ^oubli -^' n
Pn+1 représente le nouveau poids (à l'occurrence n+1) ;
Coubu 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 fraîcheur 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 œuvre dans la mesure où il n'est plus nécessaire de réaliser un amorçage).
5.5. Dispositifs de mises en œuvre.
On décrit, en relation avec la figure 4, un dispositif de création de dictionnaire 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 œuvre 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 œuvre 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 œuvre nécessaires à la mise en œuvre 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 œuvre 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.

Claims

REVENDICATIONS
Procédé de création d'un arbre lexical (StrUL) à partir d'un énoncé en langage naturel (ELn), procédé mis en œuvre 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-lO) d'un énoncé en langage naturel (ELn) sous la forme d'une chaîne 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 (DicO), délivrant au moins un graphe de relations (GrRe|LXl) 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 (GrReiLXl).
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 (DicO) comprend :
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 (DicO), 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 (DicO) par l'étape précédente (E-221), une prise en compte de ladite lexie (LX,) et une modification des curseurs ;
lorsqu'aucune lexie n'est identifiée dans le dictionnaire (DicO) 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 (GrRe|LXi) 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é ;
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 (GrReiLXl) 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 (FLXi) 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 (ELXik) associée à la forme lexicale (FLXi) 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 (ELXIK) ; une étape d'obtention (E-222-06) d'au moins une donnée représentative d'un sens lexical (SENLx) de chacune des formes obtenues préalablement (FLX,, FCELXI, FXELXIK)- une étape de construction dudit graphe de relations (GrReiLXl) en fonction desdites entrées lexicales (ELX,, ELXik), desdites formes lexicales (FLX,, FCELXI) et desdits sens lexicaux (SENLx) préalablement obtenus.
Dispositif de création d'un arbre lexical (StrUL) à partir d'un énoncé en langage naturel (ELn), dispositif mettant en œuvre par un module de traitement de langage naturel (Mx2), dispositif caractérisé en ce qu'il comprend les moyens de : réception(E-lO) d'un énoncé en langage naturel (ELn) sous la forme d'une chaîne 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 (DicO), délivrant au moins un graphe de relations (GrReiLXl) 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 (GrRe|LXl).
6. 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 selon la revendication 1, lorsqu'il est exécuté sur un processeur.
EP16701017.2A 2015-01-20 2016-01-19 Procédé de lemmatisation, dispositif et programme correspondant Withdrawn EP3248111A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1550452A FR3031823A1 (fr) 2015-01-20 2015-01-20 Lemmatisateur semantique base sur des dictionnaires ontologiques.
PCT/EP2016/051036 WO2016116459A1 (fr) 2015-01-20 2016-01-19 Procédé de lemmatisation, dispositif et programme correspondant

Publications (1)

Publication Number Publication Date
EP3248111A1 true EP3248111A1 (fr) 2017-11-29

Family

ID=53298497

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16701017.2A Withdrawn EP3248111A1 (fr) 2015-01-20 2016-01-19 Procédé de lemmatisation, dispositif et programme correspondant

Country Status (4)

Country Link
US (1) US20180011835A1 (fr)
EP (1) EP3248111A1 (fr)
FR (1) FR3031823A1 (fr)
WO (1) WO2016116459A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3901875A1 (fr) 2020-04-21 2021-10-27 Bayer Aktiengesellschaft Modélisation de sujet de courtes enquêtes médicales
EP4036933A1 (fr) 2021-02-01 2022-08-03 Bayer AG Classification des informations sur les médicaments

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019057123A (ja) * 2017-09-21 2019-04-11 株式会社東芝 対話システム、方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3901875A1 (fr) 2020-04-21 2021-10-27 Bayer Aktiengesellschaft Modélisation de sujet de courtes enquêtes médicales
EP4036933A1 (fr) 2021-02-01 2022-08-03 Bayer AG Classification des informations sur les médicaments

Also Published As

Publication number Publication date
FR3031823A1 (fr) 2016-07-22
US20180011835A1 (en) 2018-01-11
WO2016116459A1 (fr) 2016-07-28

Similar Documents

Publication Publication Date Title
Arora et al. Character level embedding with deep convolutional neural network for text normalization of unstructured data for Twitter sentiment analysis
US10922491B2 (en) Natural transfer of knowledge between human and artificial intelligence
US10496749B2 (en) Unified semantics-focused language processing and zero base knowledge building system
EP1836651B1 (fr) Procédé de recherche, reconnaissance et localisation d'un terme dans l'encre, dispositif, programme d'ordinateur correspondants
WO2002067142A2 (fr) Dispositif d'extraction d'informations d'un texte a base de connaissances
EP1977343A1 (fr) Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel
FR2906049A1 (fr) Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel
Park et al. Systematic review on chatbot techniques and applications
EP3248111A1 (fr) Procédé de lemmatisation, dispositif et programme correspondant
Mansur et al. Twitter hate speech detection: a systematic review of methods, taxonomy analysis, challenges, and opportunities
FR3017474A1 (fr) Saisie assistee de regles dans une base de connaissance
EP2126735B1 (fr) Procédé de traduction automatique
US20180150451A1 (en) Contextual Analogy Response
WO2011134804A1 (fr) Procede et systeme d'adaptation d'un contenu textuel au comportement langagier d'une communaute en ligne
CN117278675A (zh) 一种基于意图分类的外呼方法、装置、设备及介质
Schmidtova A chatbot for the banking domain
Phulare et al. Cricket Twitter Data Sentiment Analysis and Prediction Exerted Machine Learning
KR102649622B1 (ko) 브랜드 평판 분석 서비스를 제공하기 위한 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
US20180150452A1 (en) Contextual Analogy Representation
FR2880708A1 (fr) Procede de recherche dans l'encre par conversion dynamique de requete.
Goh et al. A multilevel natural language query approach conversational agent systems
FR2986882A1 (fr) Procede d'identification d'un ensemble de phrases d'un document numerique, procede de generation d'un document numerique, dispositif associe
WO2015132342A1 (fr) Procédé d'analyse d'une pluralité de messages, produit programme d'ordinateur et dispositif associés
Turbin Comparing Natural Language Models for Software Category Classification
WO2019155168A1 (fr) Procédé de transformation d'une séquence pour la rendre exécutable par une machine

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20170718

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20200302

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20200714