FR2906049A1 - Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel - Google Patents
Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel Download PDFInfo
- Publication number
- FR2906049A1 FR2906049A1 FR0653814A FR0653814A FR2906049A1 FR 2906049 A1 FR2906049 A1 FR 2906049A1 FR 0653814 A FR0653814 A FR 0653814A FR 0653814 A FR0653814 A FR 0653814A FR 2906049 A1 FR2906049 A1 FR 2906049A1
- Authority
- FR
- France
- Prior art keywords
- text
- definition
- syntax
- significant
- synonyms
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Machine Translation (AREA)
Abstract
L'invention a trait à un procédé, mis en oeuvre par ordinateur, de développement d'une ontologie (70) d'un texte (10) en langage naturel, comprenant des étapes :- de réception de données textuelles du texte (10) ;- d'extraction de la syntaxe et des mots significatifs (20) du texte via une analyse grammaticale (S100) des données reçues ;- pour chacun d'une partie, au moins, des mots significatifs (20) du texte : de recherche (5200) d'une définition (40) de ce mot (20) au moyen d'au moins un dictionnaire (30, 35) électronique, d'extraction de la syntaxe et des mots significatifs de cette définition et de création (S300) d'un graphe (50) lexical élémentaire de cette définition basé sur la syntaxe et des mots significatifs de cette définition ; et- de fusion (S400) d'au moins deux des graphes (50) lexicaux élémentaires créés, en fonction de la syntaxe du texte, de sorte à créer au moins un graphe (60) sémantique du texte.L'invention concerne encore un produit de programme d'ordinateur ainsi qu'un système informatique comprenant des moyens de code, adaptés à mettre en oeuvre les étapes du procédé selon l'invention.
Description
1 La présente invention concerne les ontologies en général. Elle a plus
particulièrement trait à un procédé, mis en oeuvre par ordinateur, de développement d'une ontologie d'un texte en langage naturel. Dans la présente description, les termes suivants sont employés avec le sens 5 indiqué, sauf mention particulière : - Ontologie : une ontologie est un ensemble structuré de concepts organisés, par exemple dans un graphe dont les relations peuvent être des relations sémantiques ou de composition et d'héritage (au sens objet). Un objectif d'une ontologie est de modéliser un ensemble de connaissances dans un domaine donné. 10 - OWL est un langage d'ontologie Web conçu pour des applications qui doivent non seulement présenter aux utilisateurs des informations mais également en traiter le contenu. OWL est un "dialecte" XML basé sur une syntaxe RDF (pour Resource Description Framework, qui désigne un modèle de graphe pour décrire des méta données et permettre un certain traitement automatique de ces méta données). OWL 15 fournit des moyens pour définir des ontologies Web structurées. Le langage OWL offre aux machines de plus grandes capacités d'interprétation du contenu Web que celles permises habituellement, par exemple par XML, grâce à un vocabulaire supplémentaire et une sémantique formelle. OWL se compose de trois sous langages offrant une expressivité croissante : OWL Lite (ou OWL, OWL DL et OWL Full. OWL-S (S valant 20 pour sémantique) est orienté "sémantique", il n'existe encore qu'à l'état de proposition et n'est pas standardisé. - service Web désigne une application accessible sur l'INTERNET, via une interface standard, qui peut interagir dynamiquement avec des applications ou d'autres services web en utilisant des protocoles de communication, par exemple basés sur le 25 XML, et ce, indépendamment du système d'exploitation et des langages de programmation utilisés. Au plan de ses interfaces proprement dites, un service web comprend des opérations de traitement qui fournissent des résultats à partir de données d'entrée, ou "paramètres d'entrée". Pour utiliser un service web, on appelle une de ses opérations en lui fournissant les données d'entrée attendues, et on récupère le résultat 30 de sortie. - UML (Unified Modeling Language, que l'on peut traduire par langage de modélisation unifié) : désigne une notation (plutôt qu'un langage) de modélisation par objets , permettant de déterminer et de présenter les composants d'un système objet lors 2906049 2 de son développement, ainsi que, le cas échéant, d'en générer la documentation. UML est actuellement la norme OMG. Il résulte de la fusion des travaux de Jim Rumbaugh, Grady Booch et Ivar Jacobson et connaît de nombreuses évolutions. - Web sémantique désigne une extension du World Wide Web permettant de publier, de consulter et surtout d'automatiser le traitement de connaissances formalisées, c'est-à-dire que les documents traités par le Web sémantique contiennent non pas des textes en langage naturel mais des informations formalisées pour être traitées automatiquement. - XML (pour eXtensible Markup Language) : une évolution du langage SGML, laquelle permet notamment aux concepteurs de documents HTML de définir leurs propres marqueurs, dans le but de personnaliser la structure des données. Les technologies modernes de télécommunication, en particulier l'Internet, permettent à des utilisateurs d'accéder rapidement à une variété de services. Dans ce domaine, le Web sémantique est en pleine expansion, notamment en ce qui concerne les applications de développement de services à l'aide de services existants, selon une approche sémantique. A cet égard, de plus en plus de services web sont munis d'une ontologie ou, plus généralement, d'une description sémantique. Dans ce contexte, le présent inventeur s'est fixé comme objectif de trouver une solution au problème suivant : élaborer automatiquement une description sémantique (par exemple via un graphe sémantique ou, en d'autres termes, une ontologie) d'un texte en langage naturel. Ce texte pourrait par exemple correspondre à une requête utilisateur écrite en langage naturel. Disposer d'une description sémantique d'une telle requête permettrait par exemple de faciliter la recherche d'un service web correspondant à cette requête.
Il n'existe actuellement pas de solution automatique à ce problème. On connaît une solution manuelle, laquelle consiste à établir "manuellement" des descriptions sémantiques en utilisant un outil sémantique tel que Protégé ou MindManager, ou même un outil de modélisation UML tel que Rational Rose raisonnable, Softeam Objecteering, IBM-Rational XDE ou Microsoft UML Visio. En effet, par sa construction propre, UML peut couvrir tous éléments conceptuels requis pour une description sémantique : héritage, relations d'agrégation ou d'association, attributs, stéréotypes, données élémentaires et valeurs étiquetées, contraintes, etc.).
2906049 3 Cependant, une telle solution n'est pas satisfaisante, avant tout parce qu'elle est entièrement manuelle. Elle est par conséquent longue à mettre en oeuvre et propice aux erreurs. Par ailleurs, cette solution est subjective : le résultat dépend de l'utilisateur. II en découle un manque d'uniformité dans les descriptions obtenues.
5 Il existe donc un besoin pour une solution permettant d'élaborer automatiquement (c'est-à-dire informatiquement) une description sémantique d'un texte en langage naturel à partir de données textuelle correspondant à ce texte. A cette fin, L'invention propose procédé, mis en oeuvre par ordinateur, de développement d'une ontologie d'un texte en langage naturel, comprenant des étapes : 10 - de réception de données textuelles du texte ; -d'extraction de la syntaxe et des mots significatifs du texte via une analyse grammaticale des données reçues ; - pour chacun d'une partie, au moins, des mots significatifs du texte : de recherche d'une définition de ce mot au moyen d'au moins un dictionnaire électronique, 15 d'extraction de la syntaxe et des mots significatifs de cette définition et de création d'un graphe lexical élémentaire de cette définition basé sur la syntaxe et des mots significatifs de cette définition ; et - de fusion d'au moins deux des graphes lexicaux élémentaires créés, en fonction de la syntaxe du texte, de sorte à créer au moins un graphe sémantique du 20 texte. Dans des modes de réalisation préférés, le procédé selon l'invention comprend une ou plusieurs des caractéristiques suivantes : - Le procédé selon l'invention comprend en outre une étape, avant l'étape de fusion, d'extraction de relations entre les mots significatifs du texte basée sur la 25 syntaxe et les mots significatifs du texte extraits, l'étape de fusion étant basée sur ces relations entre mots significatifs du texte ; -la première étape d'extraction comprend en outre l'extraction via l'analyse grammaticale d'une structure grammaticale du texte, ladite structure comprenant un ou plusieurs groupes grammaticaux ; et l'étape de fusion est en 30 outre basée sur des groupes grammaticaux extraits, de sorte à créer au moins un graphe sémantique pour chacun desdits un ou plusieurs groupes grammaticaux extraits ; 2906049 4 - le procédé selon l'invention comprend en outre une étape, pour chaque mot significatif du texte, de recherche de synonymes de ce mot et d'une définition de ces synonymes au moyen dudit au moins un dictionnaire et l'étape de fusion est en outre effectuée en fonction des définitions des synonymes ; 5 - le procédé selon l'invention comprend en outre une étape, avant l'étape de fusion, de classement des synonymes trouvés pour chaque mot significatif en fonction des définitions de ce mot significatif et de ses synonymes ; et l'étape de fusion est en outre effectuée en fonction d'un résultat du classement des synonymes ; 10 - le procédé selon l'invention comprend en outre une étape d'élimination de composantes non liées audit au moins un graphe sémantique créé ; - chacune des étapes, hormis l'étape de réception des données textuelles, sont effectuées au vol, suite à l'étape de réception des données textuelles ; - ledit au moins un graphe sémantique est formalisé dans un langage basé sur 15 XML, tel que le langage OWL ou RDF ; et - le les données textuelles correspondent à un texte d'une requête de service. L'invention propose également un L'invention concerne en outre un procédé de recherche d'un service web comprenant les étapes de réception dudit au moins un graphe sémantique créé selon le procédé de développement d'une ontologie selon 20 l'invention ; et de recherche d'un service web en fonction dudit au moins un graphe sémantique reçu. L'invention concerne encore un produit de programme d'ordinateur ainsi qu'un système informatique comprenant des moyens de code, adaptés à mettre en oeuvre les étapes du procédé selon l'invention.
25 D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit des modes de réalisation de l'invention, donnés à titre d'exemple uniquement et en références à des exemples, ainsi qu'aux dessins annexés, qui montrent: - Figure 1 : un ordinogramme illustrant des étapes et composantes du procédé 30 selon un mode de réalisation de l'invention ; - Figure 2 : un tableau illustrant une analyse grammaticale opérée sur le texte d'une requête utilisateur en langage naturel ; 2906049 5 - Figure 3 : un ensemble de graphes lexicaux élémentaires obtenus à partir des mots significatifs extraits grâce à l'analyse grammaticale illustrée dans le tableau de la figure 2 ; et -Figure 4 : les graphes de la figure 3, tels qu'obtenus après des étapes de 5 fusion de graphes lexicaux élémentaires et d'élimination de composantes non liées aux graphes. L'idée à la base de l'invention est de développer une ontologie (c'est-à-dire une description sémantique) directement à partir de données textuelles d'un texte, en employant, d'une part, les informations produites par un analyseur grammatical et, 10 d'autre part, des éléments trouvés dans un ou plusieurs dictionnaires, tels que des synonymes et des définitions. Plus en détails, le procédé selon l'invention comprend une première étape de réception de données textuelles du texte. En sont alors extraits la syntaxe et les mots significatifs via une analyse grammaticale des données reçues. Ensuite, il est recherché une définition de chaque mot significatif au moyen d'un 15 dictionnaire électronique et la syntaxe et les mots significatifs en sont extraits. Un graphe lexical élémentaire de cette définition est alors créé, sur la base de la syntaxe et des mots significatifs de cette définition. Il est alors procédé à une fusion des graphes lexicaux élémentaires correspondant aux mots significatifs du texte. Cette fusion est effectuée en fonction de la syntaxe du texte initial, de sorte à créer au moins un graphe sémantique 20 du texte. La solution que préconise l'invention est systématique et permet ainsi de remédier aux inconvénients liés au développement "manuel" d'une ontologie d'un texte en langage naturel. Ce procédé est de préférence implémenté dans un outil informatique intégré , par exemple un assistant ou une application comprenant plusieurs modules logiciels 25 couplés, chacun de ces modules étant assigné à une tâche donnée. La figure 1 montre un ordinogramme illustrant des étapes et composantes du procédé selon un mode de réalisation de l'invention. En référence à cette figure, des données 10 textuelles correspondant au texte en langage naturel sont tout d'abord reçues. Ce texte est par exemple celui d'une requête 30 qu'un utilisateur émet depuis un PC, un assistant numérique personnel ou un téléphone portable (par exemple par SMS). A l'étape S100, il est procédé à l'extraction de la syntaxe (non représentée sur la figure 1) et des mots significatifs 20 du texte via une analyse grammaticale des données 2906049 6 reçues 10. Cette analyse grammaticale comprend l'analyse de la fonction formelle des mots dans le texte, indépendamment du sens (qui concerne la sémantique; ceci sera décrit après). Cette étape peut être réalisée au moyen d'un analyseur grammatical. De tels outils sont disponibles dans le commerce.
5 Cette étape est exemplifiée sur la figure 2, laquelle présente un tableau regroupant les différents aspects d'une analyse grammaticale type, opérée sur le texte 10 en langage naturel. La requête comprend le texte "Je veux obtenir une traduction française des nouvelles de CNN". A l'issue de l'analyse, seuls les mots significatifs sont retenus, c'est-à-dire "Je", "Veux", "Français" (forme "canonique" de "française"), 10 "Traduction", etc. Ceux-ci sont reportés dans la première colonne du tableau en partant de la gauche. Les articles et mots de liaison tels que "une", "des", "de" sont écartés. Dans la colonne suivante, les mots significatifs sont caractérisés (pronom personnel, verbe, etc.). Les deux dernières colonnes mettent en exergue des relations entre les mots significatifs. Par exemple, "Je" est sujet de (du verbe) "Veux".
15 En se référant de nouveau à la figure 1, le procédé comprend en outre une étape de recherche S200 d'une définition 40 de chaque mot M significatif extrait (on désigne par M un mot significatif du texte initial). Cette étape nécessite un dictionnaire 30 électronique, typiquement un dictionnaire lexical, duquel sont extraites les définitions. Ensuite, sont extraits la syntaxe et les mots significatifs m de cette définition, 20 lesquels fondent les concepts 40 de cette définition. Il convient de distinguer les mots significatifs ni, lesquels apparaissent dans la définition d'un mot significatif M, du mot M lui-même. L'extraction de la syntaxe et des mots significatifs des définitions permet d'objectiver les concepts 40 de ces définitions. Ceci permettra en outre, au besoin, une comparaison significative entre définitions, laquelle permettra à son tour d'établir des 25 relations entre mots significatifs M du texte initial. Cette étape a pour conséquence une première valorisation, au plan sémantique, du texte initial. A l'étape S300, un graphe 50 lexical élémentaire est créé pour chaque définition, c'est-à-dire pour chaque mot significatif M du texte d'origine et ce, sur la base de la syntaxe et des mots significatifs m de chaque définition. Cependant, certains mots, 30 reliés de manière triviale au sens de la requête (par exemple "Je" et "Veux" dans l'exemple de la figure 2) sont de préférence écartés. Plus généralement, tous les mots "signifiants" sont conservés : substantifs, verbes, adjectifs, à l'exception des expressions caractérisant la requête, telles que "je voudrais", "je souhaite(rais) avoir", "il me 2906049 7 fau(drai)t", etc. On construit donc un graphe élémentaire pour chaque mot M retenu mais ce graphe comprend typiquement des mots significatifs m de la définition de ce mot M. En quelque sorte, ce graphe dit "élémentaire" représente donc une "micro-ontologie" du mot M.
5 De préférence, le procédé comprend en outre une étape de recherche de synonymes 45 de chaque mot significatif M du texte initial, ainsi que la recherche d'une définition de ces synonymes. La recherche de synonymes peut par exemple prendre la forme d'une recherche systématique de synonymes de mots de la définition d'un mot significatif M. Pour ce faire, cette recherche peut utiliser un dictionnaire distinct 35 du 10 dictionnaire de définitions 30. Cependant, une même base de données pourrait être utilisée, laquelle regrouperait à la fois des définitions et des synonymes de mots. Typiquement, la définition des synonymes est objectivée de la même manière que celle des mots M significatifs du texte initial. En outre, les synonymes d'un mot sont de préférence classés, en fonction des 15 définitions respectives de ce mot et de ses synonymes. Typiquement, seuls les "principaux" synonymes sont retenus, en fonction du résultat du classement. Par "principaux" synonymes, entend par exemple ceux dont les concepts de la définition sont majoritairement les mêmes que ceux du mot significatif de référence. Un graphe élémentaire peut ainsi inclure des synonymes du mot significatif M 20 de référence. La figure 3 montre des graphes lexicaux élémentaires obtenus à partir des mots significatifs M extraits grâce à l'analyse grammaticale décrite précédemment (voir le tableau de la figure 2). En référence à cette figure, des graphes élémentaires sont représentés pour les mots "Français", "Traduction", "CNN" et "Nouvelles". Le sujet et le 25 verbe ont été écartés à ce stade, leur analyse ayant révélé le sens de la requête de l'utilisateur. Ainsi, seule une partie des mots significatifs du texte initial peut effectivement faire l'objet d'une création d'un graphe élémentaire. Les graphes font apparaître des relations issues de l'extraction des définitions. Sur la figure, un mot entouré d'un trait plein est un mot significatif du texte initial. Un 30 trait pointillé désigne une relation d'héritage (ou vu autrement, de classe à sous-classe), au sens objet. Par exemple, "Français" hérite de "Langue", de même que "CNN" hérite de "Nom propre". Des tirets signalent un synonyme, tandis qu'un trait pointillé-tireté désigne un autre type de relation, par exemple : "Texte" est lié à "Source" ou "Destination" par 2906049 8 une relation du type " est écrit avec ". Par ailleurs, "Source" et "Destination" peuvent être marqués par une contrainte impliquant que "Source" et "Destination" doivent nécessairement différer. Ceci peut être obtenu au moyen d'une simple étiquette externe. Mais ne telle étiquette n'est pas systématiquement générée, cela dépend de la richesse 5 de la définition qui est utilisée. A ce stade, on ne dispose encore que de graphes élémentaires, constituant autant de "micro-ontologies". L'ontologie finale du texte provient d'une fusion de ces "micro-ontologies", laquelle va être décrite maintenant, en se référant de nouveau à la figure 1.
10 Le procédé selon l'invention comprend en outre une étape de fusion S400 d'au moins deux des graphes 50 lexicaux élémentaires créés, c'est-à-dire que des fusions sont systématiquement recherchées pour des paires de graphes élémentaires. Cette fusion est opérée, le cas échéant, en fonction de la syntaxe du texte et des mots significatifs extraits (par l'analyse grammaticale), de sorte à créer au moins un 15 graphe 60 sémantique du texte initial. Ce graphe sémantique sous-tend l'ontologie recherchée. Comme dit précédemment, l'analyse grammaticale révèle la syntaxe et des mots significatifs du texte initial et dégage ainsi l'existence de relations entre mots significatifs de ce texte. Ainsi et dit autrement, la fusion est opérée au moins sur la base 20 d'existence de relations dégagées entre les mots significatifs du texte initial. Il convient néanmoins de noter que l'étape de fusion peut être explicitement basée sur ces relations, c'est-à-dire en tenant compte du sens des relations au-delà du seul fait qu'il en existe. Ceci permet par exemple d'orienter plus facilement les composantes (c'est-à-dire les mots en tant que concepts) du graphe fusionné.
25 De préférence, l'analyse grammaticale (étape S100) comprend en outre une extraction d'une structure grammaticale du texte initial et, entre autres choses, d'un ou plusieurs groupes grammaticaux (on entend par "groupe grammatical" un sous-ensemble de mots d'une phrase liés entre eux par une relation grammaticale simple, du type complément de nom ('nouvelles de CNN'), attribut, épithète ('traduction française'), 30 etc.). Dans l'exemple précédent, ces groupes sont: - "je veux" (groupe 1); - "traduction française" (groupe 2); -"nouvelles de CNN" (groupe 3).
2906049 9 On cherchera alors à opérer la fusion (étape S400) sur la base des groupes grammaticaux extraits, de sorte à créer au moins un graphe sémantique 60 pour chacun de ces groupes grammaticaux. On obtient alors au moins un graphe lexical par groupe. Ceci est d'autant plus avantageux qu'un groupe grammatical reflète 5 généralement un concept cohérent, dont les objets se complètent ou se lient. La structure grammaticale extraite peut en outre comprendre des informations liées aux phrases, aux propositions, etc. En particulier, les liens entre les groupes grammaticaux vont permettre d'étager la progression de la fusion. Ainsi, les informations relatives à la structure grammaticale aident à construire la fusion.
10 De même, la présence de synonymes et de leurs définitions peut influer sur la fusion, dans la mesure où ceux-ci permettent de mettre en exergue des relations entre mots de graphes lexicaux différents. Ces relations aident alors à construire la fusion entre ces graphes. Dans un mode de réalisation, la fusion est opérée d'une manière très simple, 15 en prenant en compte à la fois la structure grammaticale de la requête et la valeur de termes voisins (au plan sémantique) entre graphes lexicaux élémentaires différents. En ce qui concerne la structure grammaticale, on entend ici plus précisément la structure des groupes grammaticaux. En ce qui concerne la valeur des termes voisins au plan sémantique, le degré de "voisinage" dépend des relations qu'ils peuvent avoir entre eux 20 (i.e. les relations liant des mots de graphes lexicaux élémentaires différents. Il convient de noter que ces graphes élémentaires sont bien ici ceux fabriqués avec des mots composant un groupe grammatical donné. Dans l'exemple discuté plus haut, pour le groupe 1 "traduction française" : sont pris en compte à la fois sa structure grammaticale (les deux mots sont liés entre eux par une relation nom-épithète) et les relations existant 25 entre les termes des deux graphes lexicaux élémentaires, par exemple "langue", du côté "français" et "langue" relié à "texte" du côté "traduction" (cf. figure 3). Il convient de noter que certaines des étapes (S100 - S400) décrites plus haut peuvent être entrelacées, pour des raisons de performances algorithmiques. Par exemple, après réception de la requête, les étapes d'extraction de la syntaxe et des mots 30 significatifs 20 du texte, de recherche de leurs définitions et d'analyse de ces définitions S200 peuvent être partiellement concomitantes. De même, dès qu'une recherche pour un mot a abouti, la construction du graphe élémentaire correspondant peut commencer, sans attendre l'aboutissement de l'analyse de chacun des mots. Dans le même ordre 2906049 lo d'idées, une recherche de fusion peut être effectuée dès que deux graphes sont disponibles. Ces étapes ne sont donc pas nécessairement effectuées l'une après l'autre. En outre, les étapes S100 - S400 peuvent, dans un mode de réalisation, être effectuées au vol (tout en étant éventuellement entrelacées), suite à l'étape de réception 5 des données textuelles, par exemple en réponse à une requête 10 utilisateur. Ceci permet notamment de satisfaire une requête émanant d'un utilisateur. Typiquement, celui-ci formule sa requête, puis une ontologie de la requête (c'est-à-dire comprenant au moins un graphe 60 sémantique) est élaborée et un service web correspondant est recherché.
10 De préférence également, le procédé comprend une étape d'élimination S500 de composantes non liées aux graphes 60 sémantiques créés. Ceci permet d'éliminer des parties inutiles des graphes et, donc, de simplifier in fine le traitement. On obtient alors les graphes sémantiques 70 finaux. En revenant à l'exemple précédent et en référence à la figure 4. Il apparaît 15 notamment que les graphes relatifs à "Français" et "Traduction" ont été fusionnés. En effet, on se souvient que le tableau de la figure 1 montrait l'existence d'une relation grammaticale entre "Français" et "Traduction". La syntaxe et les mots significatifs du texte initial comportaient donc des éléments nécessaires à la fusion ultérieure des graphes relatifs aux mots "Français" et "Traduction". Plus précisément, les relations particulières 20 entre, d'une part, les mots "Français" et "Traduction" ("Français" était épithète de "Traduction") et, d'autre part, entre "Traduction", "Texte" et "Langue Destination" (celle-ci étant de nature sémantique) ont permis d'opérer un branchement sémantique entre "Français" et "Langue Destination", rattaché à "Traduction" par le biais du mot/concept "Langue". A cet égard, il convient de noter que la définition suivante de "traduction" a été 25 utilisée dans cet exemple : version d'un texte dans une langue différente (langue destination) de celle où il a été écrit (langue d'origine) ). De même, une fusion a pu être réalisée entre les concepts relatifs à "Nouvelles" et "CNN". Des termes non liés tels que "Internet forum" ou "Acronyme" ont en outre été 30 éliminés. Notons encore que l'existence de relations entre mots ou concepts ne conduit pas nécessairement à une fusion. Par exemple, en dépit de l'existence d'une relation 2906049 11 entre "Nouvelles" et "Traduction", les deux graphes présents dans la figure 4 n'ont pas été liés. A cet égard, il peut être avantageux de ne pas chercher à trop élargir (au plan sémantique) chaque concept en vue de les fusionner tous. En effet, ceci conduirait à un 5 graphe final unique trop ciblé, trop personnalisé. Or, il y a peu de chances qu'un service Web corresponde à une requête trop ciblée. Il vaut donc mieux viser la découverte de plusieurs services Web, chacun correspondant à un graphe issu de la requête. Ceci dépend évidemment de la finalité recherchée : dans d'autres applications, on pourra chercher à fusionner un maximum de graphes. Le niveau de granularité des graphes 10 finaux peut être ajusté et corrigé avec l'expérience. Dans l'exemple précédent, une relation (dans la requête d'origine) entre "Nouvelles" et "Traduction" aurait éventuellement pu être découverte, mais on préfère ne pas créer ce lien, qui rendrait le graphe final trop personnalisé. Les graphes 70 sémantiques finalement obtenus peuvent être formalisés 15 simplement, par exemple dans un langage basé sur XML, tel que le langage OWL ou RDF. Le procédé, décrit ci-dessus, permet ainsi d'obtenir une description sémantique cohérente et systématique. Bien entendu, on conçoit que le procédé fonctionne d'autant mieux que la requête initiale 10 est bien formulée et claire. En particulier, celle-ci pourra 20 avantageusement prendre la forme sujet-verbe-complément et, éventuellement, être agrémentée de compléments substantifs clairs.
Claims (12)
1. Procédé, mis en oeuvre par ordinateur, de développement d'une ontologie (70) d'un texte (10) en langage naturel, comprenant des étapes : - de réception de données textuelles du texte (10) ; - d'extraction de la syntaxe et des mots significatifs (20) du texte via une analyse grammaticale (S100) des données reçues ; - pour chacun d'une partie, au moins, des mots significatifs (20) du texte : de recherche (S200) d'une définition (40) de ce mot (20) au moyen d'au moins un dictionnaire (30, 35) électronique, d'extraction de la syntaxe et des mots significatifs de cette définition et de création (S300) d'un graphe (50) lexical élémentaire de cette définition basé sur la syntaxe et des mots significatifs de cette définition ; et - de fusion (S400) d'au moins deux des graphes (50) lexicaux élémentaires créés, en fonction de la syntaxe du texte, de sorte à créer au moins un graphe (60) sémantique du texte.
2. Le procédé selon la revendication 1, comprenant en outre une étape, avant l'étape de fusion (S400), d'extraction de relations entre les mots significatifs du texte basée sur la syntaxe et les mots significatifs du texte extraits, l'étape de fusion étant basée sur ces relations entre mots significatifs du texte.
3. Le procédé selon la revendication 1 ou 2, dans lequel : - la première étape d'extraction comprend en outre l'extraction via l'analyse (S100) grammaticale d'une structure grammaticale du texte, ladite structure comprenant un ou plusieurs groupes grammaticaux ; et - l'étape de fusion (S400) est en outre basée sur des groupes grammaticaux extraits, de sorte à créer au moins un graphe sémantique (60) pour chacun desdits un ou plusieurs groupes grammaticaux extraits.
4. Le procédé selon la revendication 1, 2 ou 3, comprenant en outre une étape, pour chaque mot significatif du texte, de recherche de synonymes (45) de ce 30 mot et d'une définition de ces synonymes au moyen dudit au moins un 12 2906049 13 dictionnaire (35); et - l'étape de fusion (S400) est en outre effectuée en fonction des définitions des synonymes.
5. Le procédé selon la revendication 4, comprenant en outre une étape, avant 5 l'étape de fusion, de - classement des synonymes trouvés pour chaque mot significatif en fonction des définitions de ce mot significatif et de ses synonymes ; et clans lequel : l'étape de fusion est en outre effectuée en fonction d'un résultat du classement 10 des synonymes.
6. Le procédé selon l'une quelconque des revendications 1 à 5, comprenant en outre une étape : - d'élimination (S500) de composantes non liées audit au moins un graphe (60) sémantique créé. 15
7. Le procédé selon l'une quelconque des revendications 1 à 6, dans lequel chacune des étapes (S100 - S400), hormis l'étape de réception des données textuelles, sont effectuées au vol, suite à l'étape de réception des données textuelles.
8. Le procédé selon l'une quelconque des revendications 1 à 7, dans lequel ledit 20 au moins un graphe (70) sémantique est formalisé dans un langage basé sur XML, tel que le langage OWL ou RDF.
9. Procédé selon l'une quelconque des revendications 1 à 8, dans lequel les données textuelles correspondent à un texte d'une requête (10) de service.
10. Procédé de recherche d'un service web comprenant les étapes : 25 - de réception dudit au moins un graphe (60) sémantique créé selon le procédé de la revendication 9 ; et 2906049 14 - de recherche d'un service web en fonction dudit au moins un graphe sémantique reçu.
11. Produit de programme d'ordinateur adapté à mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 10. 5
12. Système informatique comprenant des moyens de code adaptés à mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 10.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0653814A FR2906049A1 (fr) | 2006-09-19 | 2006-09-19 | Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel |
CN200710154061A CN100576201C (zh) | 2006-09-19 | 2007-09-13 | 用于从自然语言文本开发本体的方法和电子数据处理系统 |
KR1020097005662A KR101416682B1 (ko) | 2006-09-19 | 2007-09-17 | 자연어로 된 텍스트로부터 온톨로지를 개발하기 위한, 컴퓨터들에 의해 사용되는 방법 |
JP2009528700A JP5366810B2 (ja) | 2006-09-19 | 2007-09-17 | 自然言語のテキストからオントロジを開発するための、コンピュータによって使用される方法 |
EP07116563A EP1903454A1 (fr) | 2006-09-19 | 2007-09-17 | Procédé, mis en oeuvre par ordinateur, de développement d'une ontologie à partir d'un texte en langage naturel |
PCT/EP2007/059795 WO2008034802A1 (fr) | 2006-09-19 | 2007-09-17 | Procédé utilisé par des ordinateurs pour développer une ontologie à partir d'un texte en langage naturel |
US11/857,420 US8417512B2 (en) | 2006-09-19 | 2007-09-18 | Method, used by computers, for developing an ontology from a text in natural language |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0653814A FR2906049A1 (fr) | 2006-09-19 | 2006-09-19 | Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2906049A1 true FR2906049A1 (fr) | 2008-03-21 |
Family
ID=37900527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0653814A Withdrawn FR2906049A1 (fr) | 2006-09-19 | 2006-09-19 | Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel |
Country Status (7)
Country | Link |
---|---|
US (1) | US8417512B2 (fr) |
EP (1) | EP1903454A1 (fr) |
JP (1) | JP5366810B2 (fr) |
KR (1) | KR101416682B1 (fr) |
CN (1) | CN100576201C (fr) |
FR (1) | FR2906049A1 (fr) |
WO (1) | WO2008034802A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020079109A1 (fr) * | 2018-10-18 | 2020-04-23 | Meremind | Dispositif de traitement automatique de texte par ordinateur |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2105847A1 (fr) * | 2008-03-27 | 2009-09-30 | Alcatel Lucent | Dispositif et procédé pour générer automatiquement des ontologies à partir de définitions de mots contenues dans un dictionnaire |
EP2207104A3 (fr) * | 2009-01-06 | 2010-11-17 | Telefonaktiebolaget L M Ericsson (PUBL) | Système et procédé de transformation d'un modèle UML en une représentation OWL |
FR2944633A1 (fr) * | 2009-04-15 | 2010-10-22 | Alcatel Lucent | Procede d'assistance au developpement ou a l'utilisation d'un systeme complexe. |
KR101306667B1 (ko) * | 2009-12-09 | 2013-09-10 | 한국전자통신연구원 | 지식 그래프 정제 장치 및 방법 |
CN101763342B (zh) * | 2009-12-31 | 2012-07-04 | 中兴通讯股份有限公司 | 生成计算机代码的方法及自然语言解释中心和应用控制端 |
US9713774B2 (en) | 2010-08-30 | 2017-07-25 | Disney Enterprises, Inc. | Contextual chat message generation in online environments |
US9684885B2 (en) * | 2011-01-17 | 2017-06-20 | Infosys Technologies, Ltd. | Method and system for converting UBL process diagrams to OWL |
US9552353B2 (en) | 2011-01-21 | 2017-01-24 | Disney Enterprises, Inc. | System and method for generating phrases |
US9176947B2 (en) * | 2011-08-19 | 2015-11-03 | Disney Enterprises, Inc. | Dynamically generated phrase-based assisted input |
US9245253B2 (en) | 2011-08-19 | 2016-01-26 | Disney Enterprises, Inc. | Soft-sending chat messages |
CN102591988B (zh) * | 2012-01-16 | 2014-10-15 | 西安电子科技大学 | 基于语义图的短文本分类方法 |
US9165329B2 (en) | 2012-10-19 | 2015-10-20 | Disney Enterprises, Inc. | Multi layer chat detection and classification |
KR101286296B1 (ko) * | 2012-11-29 | 2013-07-15 | 김건오 | 워드그래프 관리 방법 및 시스템 |
US10742577B2 (en) | 2013-03-15 | 2020-08-11 | Disney Enterprises, Inc. | Real-time search and validation of phrases using linguistic phrase components |
US10303762B2 (en) | 2013-03-15 | 2019-05-28 | Disney Enterprises, Inc. | Comprehensive safety schema for ensuring appropriateness of language in online chat |
US9633317B2 (en) | 2013-06-20 | 2017-04-25 | Viv Labs, Inc. | Dynamically evolving cognitive architecture system based on a natural language intent interpreter |
US10474961B2 (en) | 2013-06-20 | 2019-11-12 | Viv Labs, Inc. | Dynamically evolving cognitive architecture system based on prompting for additional user input |
US10083009B2 (en) | 2013-06-20 | 2018-09-25 | Viv Labs, Inc. | Dynamically evolving cognitive architecture system planning |
US9594542B2 (en) * | 2013-06-20 | 2017-03-14 | Viv Labs, Inc. | Dynamically evolving cognitive architecture system based on training by third-party developers |
CN103473222A (zh) * | 2013-09-16 | 2013-12-25 | 中央民族大学 | 一种藏语语义本体创建及词汇扩充方法 |
US9547641B2 (en) * | 2013-09-26 | 2017-01-17 | International Business Machines Corporation | Domain specific salient point translation |
WO2015093651A1 (fr) * | 2013-12-19 | 2015-06-25 | Twinword Inc. | Procédé et système de gestion d'un graphe de mots |
US9390196B2 (en) * | 2014-06-03 | 2016-07-12 | International Business Machines Corporation | Adjusting ranges of directed graph ontologies across multiple dimensions |
CN106372053B (zh) * | 2015-07-22 | 2020-04-28 | 华为技术有限公司 | 句法分析的方法和装置 |
CN106980624B (zh) * | 2016-01-18 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 一种文本数据的处理方法和装置 |
JP6784084B2 (ja) * | 2016-07-27 | 2020-11-11 | 富士通株式会社 | 符号化プログラム、符号化装置、符号化方法、及び検索方法 |
WO2018223331A1 (fr) * | 2017-06-08 | 2018-12-13 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systèmes et procédés de détermination d'attribut de texte à l'aide d'un modèle de champ aléatoire conditionnel |
TWI705338B (zh) * | 2018-06-14 | 2020-09-21 | 大陸商北京嘀嘀無限科技發展有限公司 | 使用條件隨機域模型確定文本屬性的系統及方法 |
CN108984666B (zh) * | 2018-06-29 | 2022-05-13 | 阿里巴巴集团控股有限公司 | 数据处理方法、数据处理装置和服务器 |
US11934441B2 (en) | 2020-04-29 | 2024-03-19 | International Business Machines Corporation | Generative ontology learning and natural language processing with predictive language models |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933822A (en) * | 1997-07-22 | 1999-08-03 | Microsoft Corporation | Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision |
EP1460562A1 (fr) * | 2002-12-23 | 2004-09-22 | Definiens AG | Systeme et procédé de recherche de passages de textes dans des documents de type texte |
WO2005093601A2 (fr) * | 2004-03-26 | 2005-10-06 | Magenta Corporation Ltd | Analyse de texte automatique |
WO2006013233A1 (fr) * | 2004-07-01 | 2006-02-09 | France Telecom | Procede et dispositif de traitement automatique d’un langage |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5995922A (en) * | 1996-05-02 | 1999-11-30 | Microsoft Corporation | Identifying information related to an input word in an electronic dictionary |
US6778970B2 (en) * | 1998-05-28 | 2004-08-17 | Lawrence Au | Topological methods to organize semantic network data flows for conversational applications |
JP2003228580A (ja) * | 2002-02-04 | 2003-08-15 | Celestar Lexico-Sciences Inc | 文献知識管理装置、文献知識管理方法、プログラム、および、記録媒体 |
US7546234B1 (en) * | 2003-01-08 | 2009-06-09 | Xambala, Inc. | Semantic processing engine |
-
2006
- 2006-09-19 FR FR0653814A patent/FR2906049A1/fr not_active Withdrawn
-
2007
- 2007-09-13 CN CN200710154061A patent/CN100576201C/zh not_active Expired - Fee Related
- 2007-09-17 EP EP07116563A patent/EP1903454A1/fr not_active Withdrawn
- 2007-09-17 KR KR1020097005662A patent/KR101416682B1/ko not_active IP Right Cessation
- 2007-09-17 WO PCT/EP2007/059795 patent/WO2008034802A1/fr active Application Filing
- 2007-09-17 JP JP2009528700A patent/JP5366810B2/ja not_active Expired - Fee Related
- 2007-09-18 US US11/857,420 patent/US8417512B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933822A (en) * | 1997-07-22 | 1999-08-03 | Microsoft Corporation | Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision |
EP1460562A1 (fr) * | 2002-12-23 | 2004-09-22 | Definiens AG | Systeme et procédé de recherche de passages de textes dans des documents de type texte |
WO2005093601A2 (fr) * | 2004-03-26 | 2005-10-06 | Magenta Corporation Ltd | Analyse de texte automatique |
WO2006013233A1 (fr) * | 2004-07-01 | 2006-02-09 | France Telecom | Procede et dispositif de traitement automatique d’un langage |
Non-Patent Citations (3)
Title |
---|
PAAR A ET AL: "Semantic software engineering approaches for automatic service lookup and integration", AUTONOMIC COMPUTING WORKSHOP. 2003. PROCEEDINGS OF THE 25 JUNE 2003, PISCATAWAY, NJ, USA,IEEE, 2003, pages 108 - 115, XP010644231, ISBN: 0-7695-1983-0 * |
SABOU ET AL: "Learning domain ontologies for semantic Web service descriptions", WEB SEMANTICS: SCIENCE, SERVICES AND AGENTS ON THE WORLD WIDE WEB, ELSEVIER, vol. 3, no. 4, December 2005 (2005-12-01), pages 340 - 365, XP005180585, ISSN: 1570-8268 * |
SYCARA K: "Dynamic discovery, invocation and composition of semantic Web services", METHODS AND APPLICATIONS OF ARTIFICIAL INTELLIGENCE. HELLENIC CONFERENCE ON AI, SETN. PROCEEDINGS, SPRINGER VERLAG, BERLIN, DE, 2004, pages 3 - 12, XP002321828 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020079109A1 (fr) * | 2018-10-18 | 2020-04-23 | Meremind | Dispositif de traitement automatique de texte par ordinateur |
FR3087555A1 (fr) * | 2018-10-18 | 2020-04-24 | Meremind | Dispositif de traitement automatique de texte par ordinateur |
Also Published As
Publication number | Publication date |
---|---|
CN101149732A (zh) | 2008-03-26 |
US8417512B2 (en) | 2013-04-09 |
WO2008034802A1 (fr) | 2008-03-27 |
JP5366810B2 (ja) | 2013-12-11 |
EP1903454A1 (fr) | 2008-03-26 |
KR101416682B1 (ko) | 2014-07-08 |
US20080071521A1 (en) | 2008-03-20 |
CN100576201C (zh) | 2009-12-30 |
JP2010503937A (ja) | 2010-02-04 |
KR20090069275A (ko) | 2009-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2906049A1 (fr) | Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel | |
US10162885B2 (en) | Automated self-service user support based on ontology analysis | |
US20200243076A1 (en) | Multi-Dimensional Parsing Method and System for Natural Language Processing | |
US20050138556A1 (en) | Creation of normalized summaries using common domain models for input text analysis and output text generation | |
EP1364316A2 (fr) | Dispositif d'extraction d'informations d'un texte a base de connaissances | |
FR2906383A1 (fr) | Referentiel semantique de services web et procede utilisant ce referentiel | |
EP1977343A1 (fr) | Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel | |
CN102253930A (zh) | 一种文本翻译的方法及装置 | |
CA2493084A1 (fr) | Systeme d'extraction d'informations dans un texte en langage naturel | |
WO2024015323A1 (fr) | Procédés et systèmes de traitement de documents et de récupération d'informations améliorés | |
FR2959333A1 (fr) | Procede et systeme d'adaptation d'un contenu textuel au comportement langagier d'une communaute en ligne | |
WO2016116459A1 (fr) | Procédé de lemmatisation, dispositif et programme correspondant | |
RU2662699C2 (ru) | Исчерпывающая автоматическая обработка текстовой информации | |
Vileiniškis et al. | Searching the web by meaning: a case study of Lithuanian news websites | |
Vlachidis et al. | A method for archaeological and dendrochronological concept annotation using domain knowledge in information extraction | |
EP1713243A1 (fr) | Procédé et système de génération automatique de composants logiciels pour la conception de services vocaux | |
WO2007085757A2 (fr) | Procede de creation de service, produit de programme d'ordinateur et systeme informatique de mise en œuvre de ce procede | |
Urban et al. | Semi-Supervised Morphosyntactic Classification of Old Icelandic | |
Saraiva | A Conversational Interface for Webpage Code Generation | |
FR3096157A1 (fr) | procédé d’indexation multidimensionnelle de contenus textuels | |
EP4012598A1 (fr) | Système et procédé de conversion d'un document source en langage naturel en une représentation abstraite en langage universel ayant un sens garanti | |
FR2939538A1 (fr) | Procede de recherche de correspondances entres differentes sources de donnees. | |
JP2007226636A (ja) | 係り受け構造解析装置及びコンピュータプログラム | |
Nicolas | Efficient production of linguistic resources: the Victoria Project | |
FR2991077A1 (fr) | Systeme interactif de resolution contextuelle d'informations provenant d'un systeme semantique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
CA | Change of address | ||
GC | Lien (pledge) constituted |
Effective date: 20130923 |
|
RG | Lien (pledge) cancelled |
Effective date: 20141016 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
ST | Notification of lapse |
Effective date: 20170531 |