PROCEDE ET SYSTEME D'ENRICHISSEMENT AUTOMATIQUE DE RESSOURCES SEMANTIQUES A PARTIR D'UN SYSTEME ELECTRONIQUE TEMPS REEL DE QUESTION-REPONSE.
L'invention concerne un système d'enrichissement automatique de ressources sémantiques à partir d'un système électronique temps réel de question-réponse .
On entend par système électronique de question- réponse un système selon lequel un utilisateur pose une question en langue naturelle à partir d'un outil informatique tel qu'un micro-ordinateur (PC) connecté à travers un réseau de communication à un système comprenant un serveur base de données afin d'obtenir une information constituant la réponse à sa question.
Le plus souvent les questions ne peuvent se présenter que sous une forme extrêmement simplifiée, c'est-à-dire sous forme des mots clés. En effet, les systèmes les plus anciens ne sont pas capables de comprendre une phrase et ne peuvent fonctionner qu'avec des mots clés .
Les systèmes les plus récents intègrent une analyse linguistique pour traduire la question en un langage spécialisé et adapté à la recherche d'information par un moteur de recherche.
Malheureusement les systèmes actuels sont limités s'ils ne disposent pas de ressources linguistiques importantes. En effet, le système peut être tout à fait capable de trouver la réponse à la question : « Qui a tué Kennedy ?" et pas du tout capable de répondre à la question. « Qui est le meurtrier de Kennedy ? », s'il ne dispose pas d'une base de données de mots synonymes ou de paraphrases .
La présente invention permet de remédier à ce problème .
L'invention propose un procédé d'enrichissement automatique de ressources sémantiques à partir d'un système électronique temps réel de questions-réponses. Le système électronique temps réel de questions- réponses est l'outil utilisé conformément à l'invention pour enrichir de façon automatique les ressources sémantiques d'un réseau sémantique. Ce système d'enrichissement peut donc être utilisé pour enrichir les ressources sémantiques d'un système électronique temps réel de questions-réponses et plus généralement d'un réseau sémantique.
Selon l'invention, le système est apte à soumettre la question posée à une opération d'analyse linguistique afin de construire un patron de recherche de la réponse qui se présente sous la forme la plus simple : argumentl - relation - argument2. Ce patron est ensuite recherché et extrait (par appariement direct) des documents rapportés par le moteur de recherche ou argument 1 est la réponse recherchée.
Selon l'invention le système intègre une opération de re-formulation des questions afin de rechercher une même réponse par le biais de plusieurs formulations sé antiquement équivalentes. La re-formulation des questions permet d'augmenter la quantité des documents pouvant apporter une réponse.
Selon l'invention la re-formulation des questions se fait par apprentissage et permet d'obtenir de façon automatique un ensemble de formulations sémantiquement équivalentes à une première formulation d'une relation entre deux arguments .
L'invention a plus particulièrement pour objet un procédé d'enrichissement de ressources sémantiques
principalement caractérisé en ce qu'il consiste à utiliser un système électronique temps réel de question réponses pour obtenir un enrichissement automatique desdites ressources . Selon une autre caractéristique, le procédé comprend les phases suivantes :
-une phase d'initialisation comprenant :
• l'établissement d'un patron de recherche sous la forme d'une relation entre deux arguments ou plus à partir des mots clés de la question initiale reçue, la recherche portant sur l'un des arguments du patron les autres étant connus,
• la recherche d'au moins une réponse à partir d'un système de recherche couplé à une ou plusieurs bases de données de textes formulés en langage naturel à travers un ou plusieurs réseaux de communication,
• l'extraction d'une ou plusieurs réponse à partir de documents fournis par la recherche,
- une phase d'apprentissage comprenant : • une recherche d'une ou plusieurs re-formulations de la relation formulée dans le patron de la question initiale, à partir des arguments connus par cette question et de la ou des réponses obtenues,
• le stockage de ces re-formulations sur une base de données couplée à l'un des réseaux de communication.
Selon une autre caractéristique, la recherche d'une re-formulation comprend :
- le renvoi des arguments connus pour déterminer au moins une autre relation entre ces arguments, - la recherche de documents contenant lesdits arguments connus,
- l'extraction de phrases contenant les arguments connus, de ces documents,
- une analyse linguistique des phrases pour en extraire une ou plusieurs relations du type paraphrase de la relation présente dans le patron de la question initiale, - le stockage des relations de type paraphrase de la relation de la question initiale.
L'invention a également pour objet un système d'enrichissement de ressources sémantiques, principalement caractérisé en ce qu'il est couplé à un système électronique temps réel de question réponses pour obtenir un enrichissement automatique desdites ressources.
Selon une autre caractéristique, le système comprend : - des moyens de mise en œuvre d'une phase d'initialisation de ces moyens comportant :
• des moyens d'établissement d'un patron de recherche sous la forme d'une relation entre deux arguments ou plus à partir des mots clés de la question initiale reçue, la recherche portant sur l'un des arguments du patron les autres étant connus,
• des moyens de recherche d'au moins une réponse, couplés à une ou plusieurs bases de données à travers un ou plusieurs réseaux de communication, • des moyens d'extraction d'une ou plusieurs réponse à partir de documents fournis par les moyens de recherche, des moyens de mise en œuvre d'une phase d'apprentissage comportant : • des moyens de recherche d'une ou plusieurs reformulations de la relation formulée dans le patron de la question initiale à partir des arguments connus par cette question et de la ou des réponses obtenues,
• des moyens de stockage de ces re-formulations sur une base de donnée couplée à l'un des réseaux de communication.
Selon une autre caractéristique, les moyens de recherche d'une re-formulation comprennent :
- des moyens de renvoi des arguments connus par la question initiale,
- des moyens de recherche de documents contenant ces arguments, - des moyens d'extraction de phrases contenant les arguments connus, de ces documents,
- des moyens d'analyse linguistique des phrases pour en extraire une ou plusieurs relations du type paraphrase de la relation présente dans le patron de la question initiale,
- des moyens de stockage des relations du type paraphrase de la relation de la question initiale.
Les moyens de renvoi, les moyens d'extraction de phrases contenant les arguments connus de ces documents et les moyens d'analyse linguistique des phrases sont réalisés par des modules de programmes ou processus informatiques aptes à mettre en œuvre les fonctions énoncées et les moyens de recherche sont réalisés par un programme dit moteur de recherche.
D'autres particularités et avantages apparaîtront clairement à la lecture de la description qui est faite et qui est donnée à titre d'exemple non limitatif et en regard des dessins sur lesquels : - la figure 1 représente le schéma fonctionnel d'un système d'enrichissement automatique de ressources sémantiques selon l'invention,
- les figures 2A, 2B, représentent les schémas fonctionnels détaillés du système de la figure 1,
- la figure 3, représente le dispositif de mise en œuvre des blocs fonctionnels des figures 2A et 2B selon un mode de réalisation.
Selon l'invention on utilise un système électronique de recherche temps réel d'informations. Ce système est couplé au système d'enrichissement de ressources sémantiques à travers d'un réseau de communication. Il peut s'agir d'un réseau intra-net donnant accès à une ou plusieurs bases de données pouvant apporter des éléments de réponse aux questions posées par un utilisateur. Il peut s'agir également du réseau Internet .
Le système de recherche quel qu'il soit est qualifié de système de base étant entendu qu'il peut ne reposer que sur une opération d'analyse linguistique permettant d'extraire au moins une réponse à une question posée en langue naturelle par un utilisateur utilisant pour ce faire des mots clés.
On considère en outre selon l'invention que le système est capable de construire la question sous la forme d'un patron de recherche : argument 1, relation, argument 2.
Par exemple à la question : « Qui a tué Kennedy ? », le patron le plus simple a la forme « meurtrier » a tué Kennedy.
Ce patron permet alors grâce au moteur de recherche du système d'extraire la réponse « X » dans la phase trouvée dans un ou plusieurs documents trouvés à l'issue de la recherche « X a tué Kennedy ». Ce système de recherche de base porte la référence
I sur la figure 1. Il est couplé à travers un réseau de communication R à une ou plusieurs bases de données 3.
II peut s'agir bien entendu du WEB dans le cas où le réseau est Internet.
Le système comporte en outre un dispositif d'enrichissement automatique des ressources linguistiques 2. Ce dispositif effectue des opérations d'apprentissage de re-formulations pour obtenir de manière automatique un ensemble de formulations sémantiques équivalentes à une première formulation d'une relation entre deux arguments.
Le processus global s'inspire des méthodes dites de « bootstrapping » qui permettent de modéliser des classes d'exemples similaires à partir d'un ensemble d'exemples limité.
L'apprentissage fait suite à l'initialisation d'une acquisition (bloc 1, figure 1) .
Comme on l'a vu dans l'étape d'initialisation d'une acquisition les termes principaux de la question sont extraits pour construire une requête destinée au moteur de recherche « standard » prenant la forme d'une suite de mots clés ou d'une chaîne de texte unique : Question : Qui a tué Kennedy ? Mots clés : « tué, Kennedy » .
La question est soumise à une analyse linguistique permettant de construire un patron de recherche pour la réponse ; le patron qui est ensuite recherché permet d'extraire la réponse. Lorsque la réponse est connue, on utilise à nouveau les données des bases de données ou du WEB pour retrouver des relations liant la réponse (X) et l'argument 2 (Kennedy) par une requête contenant ces deux arguments : X, Kennedy.
On utilise d'autre part un opérateur de proximité pour contrôler la distance entre les arguments et s'affranchir d'insertions apportant une complexité syntaxique . Cet opérateur permet un contrôle de
distance entre les arguments en nombre de mots (1, 2,
Les phrases solutions : X, meurtrier de Kennedy ... Le meurtrier de Kennedy, X....
Un traitement syntaxique simple permet d'extraire les relations synonymes et plus généralement les paraphrases : « meurtrier », « assassin », « criminel »
De manière duale, les formulations obtenues à partir d'arguments initiaux dont la catégorie sémantique est connue, permettent de catégoriser de nouveaux arguments :
« meurtrier » assassine « nom» « meurtrier » a tué « nom » « meurtrier » tue « nom ».
En utilisant la requête : « meurtrier », on peut extraire des arguments dont les étiquettes sont « meurtrier» et « nom » et générer ainsi une liste de meurtriers et de personnes assassinées.
On voit que de proche en proche, le système établit plusieurs relations qui forment globalement une relation plus abstraite généralisable par un même prédicat du type :
[meurtrier] [prédicat_générer] [nom]
Le traitement de la question permet aussi d'obtenir des étiquettes sémantiques : Qui a tué le président Kennedy? permet d'extraire l'étiquette « président » par un traitement syntaxique simple.
Ainsi, le processus global consiste à acquérir de nouvelles données et de nouvelles relations en s 'appuyant sur les données et relations précédemment acquises. Pour un énoncé donné, il s'agit d'explorer une nouvelle catégorie de relations, à partir d'une catégorie connue en limitant l'élément variable.
Première conséquence : cette technique permet d'enrichir progressivement l'ensemble des relations connues d'un système de traitement de la langue naturelle (par exemple un réseau sémantique) .
Ce système permet la constitution automatique d'un réseau sémantique. Cet enrichissement est ensuite utilisable pour toutes les applications utilisant un tel système. En particulier, le système est directement utilisable pour l'extraction d'informations mettant en jeu les relations acquises. Par exemple, pour extraire d'un texte l'ensemble des assassins et des personnes assassinées, on pourra utiliser les relations apprises comme « meurtrier de » et « a tué». Deuxième conséquence : le système permet de la même manière d'acquérir des formulations dans une autre langue en utilisant les données multilingues du WEB. En réponse à la requête [X, Kennedy] , on obtient : X assassinated Kennedy, X killed Kennedy. Ceci constitue un système d'apprentissage à la traduction et ce qui permet de fournir une traduction dans une autre langue.
Les différents blocs fonctionnels des figures 2A et 2B permettent d'illustrer de façon détaillée les opérations mises en œuvre lors de la phase d'initialisation I et lors de la phase d'apprentissage II opérées respectivement par le système de recherche 1 et par le dispositif d'enrichissement 2 illustrés sur la figure 1.
La phase initiale est réalisée par un système de recherche qui selon un mode préféré de réalisation met en œuvre les opérations 10 à 17 de la figure 2A.
Dans l'exemple pris, la question posée met en relation des triplets du type Argumentl, Relation, Argument2 (étape 10) . Une analyse linguistique (étape 11) permet d'obtenir le patron d'extraction de Argumentl : type sémantique de Argl, Structure Relation-Arg2 (étape 15) . Le moteur de recherche, recherche Arg2 proche de Relation sur les bases de données aux quelles il a accès ou à travers le Web. Selon l'exemple pris : .
Relation = meurtrier de
Argument2= Kennedy On obtient ainsi des documents HTML (étape 13),
Une extraction des phrases contenant Relation et Arg2 est mise en œuvre par le système de base (étape 15) .
Une deuxième analyse linguistique permet de rechercher dans ces documents la structure de type Argumentl-Relation-Argument2 (étape 16) . Connaissant Argument 2 et Relation (à partir de la question) l'analyseur extrait Argument 1. L'étape 16 permet ainsi d'extraire la réponse Argument 1. A chaque question posée le système procède à cette première phase pour trouver au moins une réponse. Le système poursuit par la phase II suivante qui lui permet d'effectuer un apprentissage. En effet connaissant Argument 1 et Argument 2 (étape 20 ; Arg 1 et Arg 2 sont connus après l'étape d'initialisation), le moteur de recherche effectue une recherche à partir des mots clés Argument 1 proche de Argument 2 (étape 21) . Le moteur de recherche trouve des documents en réponse et les fournit au format HTML (étape 22) . Ces
documents sont filtrés afin d'obtenir un format de texte et des paragraphes linguistiques bien formés.
A l'étape 23 un filtre permet d'extraire des phrases contenant Argument 1 et Argument 2. Une analyse linguistique est opérée sur ces phrases (étape 24) .
Cette analyse permet d'extraire N instances de
« Relation » entre Argument 1 et Argument 2 (étape 25) .
En fin de chaque phase d'apprentissage le système obtient des synonymes de la relation recherchée et plus généralement des paraphrases et stocke dans une base de données ces synonymes . Le système permet par conséquent d'enrichir les ressources pour la recherche à une question posée.
En effet au moment de la deuxième analyse linguistique le système apporte les synonymes stockés.
Il peut bien entendu être prévu que la phase d'apprentissage soit inhibée automatiquement lorsque pour une question donnée, déjà posée un grand nombre de fois, un nombre suffisant de synonyme ou paraphrase soit enregistré. Pour cela un seuil pour ce nombre sera fixé. Il suffit alors que le programme mettant en œuvre les étapes qui viennent d'être décrites prévoit un test de comparaison entre la valeur du seuil et le nombre de synonymes enregistrés . On va détailler dans la suite les différents modules permettant de mettre en œuvre les étapes qui viennent d'être détaillées. Ces modules sont des processus informatiques ou programmes aptes à mettre en œuvre les fonctions énoncées .. L'élément 1 de recherche de la première réponse (figure 1) comporte un module 100 de mise en forme et d'appel d'un module d'analyse linguistique 110 et d'un moteur de recherche 120.
Le module 100 reçoit sur une entrée a la question Q en ASCII provenant d'une interface html; ce module met en forme cette question selon un format prédéterminé en pratique dans un fichier exploitable par le module d'analyse linguistique 11.
Ce module 100 délivre à une sortie c la question mise en forme au format désiré. Ce module 100 reçoit à une autre entrée b les données extraites par le module d'analyse sur la typologie de la question. Ces données comprennent des mots clés et d'autre données caractéristiques. Le module 100 permet de délivrer à une autre sortie e des mots clés . Les autres données caractéristiques se trouvent sous la forme de fichiers informatiques et sont stockées en mémoire de données du module linguistique 110.
Les mots clés sont transmis au moteur de recherche 12 pour lui permettant de fournir en sortie la réponse intermédiaire. Cette réponse est une phrase candidate contenant les mots clés . L'ensemble 2000 de traitement de la réponse comprend :
- un module 200 pour recevoir sur une entrée a la réponse intermédiaire, la mettre en forme selon un format prédéterminé, délivrer à une sortie c la réponse mise en forme, et fournir à une autre sortie d la réponse définitive dans un format adapté pour la transmission sur le réseau; un module d'analyse linguistique 110, en pratique, il s'agit du même module que celui qui effectue l'extraction des mots clés et des autres données. Ce module 110 est apte à recevoir à une entrée la réponse intermédiaire mise en forme, à vérifier cette réponse à partir des données caractéristiques mémorisées autres que les mots clés, extraire la
réponse définitive à l'issue de cette vérification, et fournir en sortie la réponse définitive.
Les données autres que les mots clés, sont stockées dans une mémoire de données 1200 par le programme de fonctionnement du module d'analyse 110. On a représenté sur la figure une unité 1100 représentant la mémoire de programme de fonctionnement du module, laquelle comporte un programme permettant de piloter toutes les opérations de ce module et le lancement de l'exécution d'un programme d'analyse linguistique.
La phase d'apprentissage est également exécutée par ce dispositif et vient enrichir la mémoire de données.