Système et procédé de construction automatique de bases de connaissance.
La présente invention concerne un système et un procédé de construction automatique d'une base de connaissances portant sur un focus déterminé à partir d'un corpus de documents.
On rappelle qu'une base de connaissances est une structure et un ensemble de données composées principalement de relations sémantiques entre des entités ou des concepts. Ces relations logiques peuvent s'écrire sous forme d'un triplet T = (Cj,η,cι<) dans lequel η qualifie la relation entre les entités q et Ck. A titre d'exemple, le triplet se lit comme l'entité q de type « être humain » est liée à l'entité q<de type « date » par la relation η « est né ».
Une fois construite, la base de connaissances est utilisée par un moteur d'inférence qui parcourt ses relations pour répondre à des questions portant sur le domaine couvert par cette base de connaissances.
Une des grandes difficultés actuelle rencontrée par les utilisateurs et développeurs de ces outils est la complexité et la lourdeur de la tâche de création de ces bases de connaissances.
Le but de l'invention est donc de proposer un système et un procédé qui permettent de simplifier la création de ces bases de connaissances.
L'objet de l'invention est donc un système de construction automatique, à partir d'un corpus de documents, d'une base de connaissances portant sur un focus déterminé, caractérisé en ce qu'il comporte :
- des moyens de stockage d'un ensemble de classes, chaque classe étant associée à un modèle de connaissances et chaque modèle de connaissances à un ensemble de patrons d'extraction, et
- des moyens de sélection d'au moins une classe d'appartenance du focus, connectés à
- des moyens de chargement de la au moins une classe d'appartenance et des modèles et patrons associés, connectés à
- des moyens d'application des patrons d'extraction chargés sur le corpus de documents apte à instancier les modèles de connaissance chargés pour générer la base de connaissances.
D'autres caractéristiques de l'invention sont :
- l'ensemble des classes comporte une classe de base à partir de laquelle les autres classes sont déduites par héritage successif ; une classe donnée ayant au plus une classe mère dont elle hérite le modèle de connaissances et les patrons d'extraction et qu'elle complète par une extension du modèle et des patrons supplémentaires qui lui sont spécifiques ;
- chaque modèle de connaissances comporte un ensemble de relations, et chaque relation est reliée à au moins un patron d'extraction permettant d'instancier cette relation ;
- les moyens d'application des patrons d'extraction sur le corpus des documents comportent des moyens de sélection des phrases candidates dans ces documents tels que seules les phrases contenant le focus et les noms et verbes du patron sont sélectionnées ;
- les moyens de sélection des phrases candidates comportent des moyens de sélection préalables des documents par recherche de mots-clés ; - les moyens d'application des patrons d'extraction sur les documents sont aptes à appliquer chaque patron à chaque phase candidate de telle sorte qu'un terme d'une phrase candidate devient un candidat à l'extraction si les termes et catégories spécifiées dans le patron sont présents dans la phrase et les termes à extraire sont de la catégorie syntaxique et, éventuellement, sémantique requise dans le patron ;
- les moyens d'application des patrons d'extraction comportent en outre des moyens de calcul de la pertinence de chaque candidat basés sur une mesure de la pertinence de la phrase et une mesure de la pertinence du terme candidat ; - la mesure de la pertinence de Ia phrase prend en compte la pertinence lexicale mesurée comme la distance entre le patron et la phrase et la pertinence lexico-syntaxique comme le logarithme de la longueur du sous ensemble le plus long du patron dans la phrase ;
- la distance entre le patron et Ia phrase est mesurée comme le cosinus de l'angle entre les vecteurs phrase et patron ;
- la mesure de la pertinence du terme candidat prend en compte la pertinence syntaxique mesurée par sa catégorie syntaxique et sa position dans la phrase par rapport à ces mêmes valeurs dans le patron ;
- la mesure de la pertinence du terme candidat comporte en outre une mesure de sa catégorie sémantique par rapport à cette même valeur dans le patron ; et
- le terme candidat utilisé pour instancier la relation reliée aux patrons d'extraction considérés est celui dont la moyenne des pertinences est la plus élevée.
Un autre objet de l'invention est également un procédé de construction automatique, à partir d'un corpus de documents, d'une base de connaissances portant sur un focus déterminé caractérisé en ce qu'il comporte les étapes de : - stockage d'un ensemble de classes, chaque classe étant associée à un modèle de connaissances et chaque modèle de connaissance à un ensemble de patrons d'extraction, puis
- sélection d'au moins une classe d'appartenance du focus,
- chargement de la au moins une classe d'appartenance et des modèles et patrons associés,
- application des patrons d'extraction chargés sur le corpus de documents apte à instancier les modèles de connaissance chargés pour générer la base de connaissances.
D'autres caractéristiques du procédé sont : - construction automatique à partir d'un corpus de documents, d'une base de connaissances portant sur un focus déterminé, comportant les étapes de :
- stockage d'un ensemble de classes, chaque classe étant associée à un modèle de connaissances et chaque modèle de connaissances à un ensemble de patrons d'extraction, puis
- sélection d'au moins une classe d'appartenance du focus,
- chargement de la au moins une classe d'appartenance et des modèles et patrons associés,
- application des patrons d'extraction chargés sur le corpus de documents apte à instancier les modèles de connaissance chargés pour générer la base de connaissances ;
- l'ensemble des classes comportent une classe de base à partir de laquelle les autres classes sont déduites par héritage successif ; une classe donnée ayant au plus une classe mère dont elle hérite le modèle de
connaissances et les patrons d'extraction et qu'elle complète par une extension du modèle et des patrons supplémentaires qui lui sont spécifiques ;
- chaque modèle de connaissances comporte un ensemble de relations, et chaque relation est reliée à au moins un patron d'extraction permettant d'instancier cette relation ;
- l'étape d'application des patrons d'extraction sur le corpus de documents comporte une étape de sélection des phrases candidates dans ces documents tels que seules les phrases contenant le focus sont sélectionnées ; - l'étape de sélection des phrases candidates comporte une étape de sélection préalable des documents par recherche de mots-clés ;
- l'étape d'application des patrons d'extraction applique chaque patron à chaque phase candidate de telle sorte qu'un terme d'une phrase candidate devient un candidat à l'extraction si les termes et catégories spécifiées dans le patron sont présents dans la phrase et les termes à extraire sont de la catégorie syntaxique, et éventuellement, sémantique requise dans le patron ;
- l'étape d'application des patrons d'extraction comporte en outre une étape de calcul de la pertinence de chaque candidat basée sur une mesure de la pertinence de la phrase et une mesure de la pertinence du terme candidat ; - la mesure de la pertinence de la phrase prend en compte la pertinence lexicale mesurée comme la distance entre le patron et Ia phrase et la pertinence lexico-syntaxique comme le logarithme de la longueur du sous ensemble le plus long du patron dans la phrase ;
- la distance entre le patron et la phrase est mesurée comme le cosinus de l'angle entre les vecteurs phrase et patron ;
- la mesure de la pertinence du terme candidat prend en compte la pertinence syntaxique mesurée par sa catégorie syntaxique et sa position dans la phrase par rapport à ces mêmes valeurs dans le patron ;
- la mesure de la pertinence du terme candidat comporte en outre une mesure de sa catégorie sémantique par rapport à cette même valeur dans le patron ;
- le terme candidat utilisé pour instancier la relation reliée aux patrons d'extraction considérés est celui dont la moyenne des pertinences est la plus élevée ; et
Un autre objet de l'invention est un produit logiciel enregistré sur un support de mémorisation pour la mise en oeuvre par un ordinateur faisant office d'équipement dédié du système et du procédé de construction automatique d'une base de connaissances. L'invention sera mieux comprise à la lumière de la description qui va suivre, donnée uniquement à titre d'exemple, et faisant référence aux dessins annexés dans lesquels :
- la figure 1 est un schéma du système selon l'invention ;
- la figure 2 est un schéma de l'organisation des classes ; - la figure 3 est un schéma des moyens d'application des patrons d'extraction.
Le système 1 de construction automatique d'une base de connaissances est représenté figure 1.
La base de connaissances à construire porte sur un focus 2, c'est-à- dire sur un thème déterminé. Par exemple, on peut souhaiter construire une base de connaissances portant sur une personnalité connue, comme un chanteur. Le focus de la base de connaissances est alors ce chanteur. Le focus se présente concrètement comme un mot ou une expression lexicale représentant un thème de connaissances. Cette personne étant un personnage public, un grand nombre d'informations existent et sont disponibles, par exemple sur le Web.
On appelle donc corpus de documents, l'ensemble des documents auxquels le système a accès et qui sont utilisés par celui-ci pour extraire et structurer l'information en une base de connaissances. Ce corpus de documents, qui peut donc être externe ou interne au système, est représenté figure 1 sous forme d'une zone de stockage 3. Il doit être noté que les documents sont de format varié mais que, au titre de la description qui va suivre, ils sont accessibles par le système sous une forme textuelle. Ainsi, les documents multimédias éventuels comportent un champ textuel informatif sur le contenu comme il est bien connu de l'état de la technique.
Le système comporte en outre des moyens de stockage 4 d'un ensemble de classes, chaque classe étant associée à un modèle de connaissances et chaque modèle de connaissances étant associé à un ensemble de patrons d'extraction.
On appelle classes, les éléments d'une typologie regroupant des individus ayant des caractéristiques communes : on obtient ainsi une typologie de classes d'individus.
Cette notion s'appuie sur la constatation, aujourd'hui classique, qu'il est possible de créer des classifications d'éléments individuels en fonction de diverses caractéristiques. Cette taxinomie permet ainsi de définir une arborescence ou typologie, figure 2. Au niveau le plus général I, une classe de base est définie. Suivant les domaines, il est ainsi possible de créer une classe 10 « être humain », « monument » ou autre. Au niveau II suivant, les sous- classes définissent des sous-ensembles d'individus plus précis. Par exemple, dépendant de la classe « être humain » 10, une classe « artiste » 12 et une classe « scientifique » 13 sont définies. De même, à partir des classes définies au niveau II, il est possible de définir des sous-classes de niveau III et ainsi de suite. Dans notre exemple, la sous-classe 14, dépendant de la classe 12 « artiste », représente, par exemple, les « chanteurs ».
Comme indiqué ci-dessus, ce qui caractérise une classe donnée, outre son nom, c'est l'ensemble des propriétés de cette classe qui sont ici regroupées sous forme d'un modèle de connaissances, c'est-à-dire d'un ensemble de relations entre concepts communes à tous les individus appartenant à cette classe. Par exemple, pour la classe 10 « être humain », il existe une relation « né le » pour tous les individus de cette classe mettant en relation cet individu avec un concept « date ».
Les sous-classes héritent du modèle de connaissances de leur classe- mère dans le sens où les relations du modèle de connaissances de la classe- mère s'appliquent aux instances des sous-classes considérées. De plus, les sous-classes possèdent des caractéristiques / relations qui leur sont propres et qui enrichissent donc le modèle de connaissances. Ceci est illustré sur la figure 2 avec le modèle de connaissances 16 de la classe 12 « artiste » qui se décompose en un modèle 16A identique au modèle de connaissances 15 de la classe-mère 10 et une extension 16B spécifique à cette classe 12.
Pour reprendre l'exemple ci-dessus, un artiste de classe « artiste » est un « être humain » et possède donc une relation « né le », mais il a de plus des caractéristiques particulières comme, par exemple, des relations « a créé » avec son œuvre artistique.
Chaque modèle de connaissances de chaque classe possède également des patrons d'extraction ou, plus exactement, chaque relation de chaque modèle de connaissances possède au moins un patron d'extraction dont la structure et le rôle sont explicités ci-après. On rappelle que dans le modèle de connaissances associé à une classe, on dispose d'un ensemble d'entités c-, et de relations sémantiques η entre ces entités. A chaque triplet T=(Cn, ij,Cj2) correspond un ensemble de patrons d'extraction dans lesquels CM OU ci2 est instancié par le focus et η est instanciée.
Un patron d'extraction est alors une expression régulière qui, appliquée à une phrase en langage naturel, permet d'extraire un ou plusieurs termes de cette phrase par ancrage d'un ou plusieurs termes et/ou leur catégorie syntaxique, voire sémantique, définis explicitement. Le(s) terme(s) à extraire est(sont) identifié(s) par un marqueur spécifique.
En se référant de nouveau à Ia figure 1 , le système automatique de création de bases de connaissances comporte donc en 4 cet ensemble de classes, chaque classe étant associée à un modèle de connaissances et chaque modèle de connaissances à un ensemble de patrons d'extractions.
Le système automatique 1 comporte également des moyens de sélection 5 aptes à sélectionner les classes d'appartenance du focus. Cette sélection est effectuée au moyen d'outils de traitement symboliques et statistiques de la langue. Afin de découvrir à quelle classe de la typologie le focus appartient, un algorithme de recherche d'hyperonymes est appliqué. On appelle hyperonyme un mot représentant une catégorie générale d'objets ou de classes (terme générique) par rapport à un autre mot qui lui est subordonné car désignant un objet ou une classe particulière de cette catégorie (terme spécifique) et cela, dans le cadre d'une relation hiérarchique orientée du générique vers le spécifique.
Cet algorithme de recherche d'hyperonymes consiste dans un premier temps à utiliser un moteur de recherche, par exemple sur le Web, pour trouver des documents contenant le focus employé dans des expressions susceptibles de fournir des hyperonymes du focus. Puis, dans un second temps, chaque document est traité par un analyseur syntaxique et un ensemble de patrons d'extraction, conçus manuellement au préalable et stockés dans les moyens de stockage 4, est appliqué. On obtient ainsi un ensemble de candidats
hyperonymes qui sont alors filtrés sur la base de critères statistiques. Les candidats retenus permettent ainsi d'affecter au focus l'une des classes de la typologie.
Le système automatique 1 comporte également des moyens 6 de chargement en mémoire du modèle de connaissances qui correspond à la classe identifiée. Pour mémoire, il est rappelé que ce modèle de connaissances comporte le(s) modèle(s) des classes-mères complété(s) par les caractéristiques
/ relations spécifiques de cette classe.
Ces moyens 6 de chargement chargent également les patrons d'extraction associés à ce modèle de connaissances afin de permettre l'instanciation du modèle de connaissances en une base de connaissances portant sur le focus.
Le système automatique 1 comporte alors des moyens d'application 7 des patrons d'extraction chargés sur le corpus de documents aptes à instancier les modèles de connaissances chargés pour générer la base de connaissances.
Autrement dit, ces moyens 7 permettent d'obtenir, pour chaque triplet T=(Cji,rj,Cj2) du modèle de connaissances, un ensemble d'instances de Cii,η,Ci2.
Les moyens 7 d'application des patrons d'extraction vont maintenant être explicités, figure 3. Ils comportent quatre modules qui s'enchaînent.
Dans un premier temps, des moyens de sélection 20 de phrases candidates dans le corpus sont utilisés.
En effet, le corpus thématique est constitué d'un ensemble souvent volumineux de phrases. Cet ensemble a été constitué par exemple par requêtes d'un moteur de recherche sur le Web. La tentative d'application de chaque patron d'extraction sur chaque phrase peut devenir un processus extrêmement long et la proportion de phrases sur lesquelles l'extraction échoue est, dans la plupart des cas, très grande. C'est pourquoi il est préférable de sélectionner au préalable un sous-ensemble de phrases sur lesquelles les patrons sont susceptibles de pouvoir s'appliquer avec succès.
Dans notre cas, tous les patrons d'extraction possèdent, dans les termes qu'ils ancrent, le focus, c'est-à-dire l'individu autour duquel une base de connaissances va être construite. Seules les phrases contenant ce focus, ainsi que le(s) nom(s) et le(s) verbe(s) du patron d'extraction, sont donc à conserver
pour l'application des patrons d'extraction. Cette technique permet d'augmenter le taux de précision des phrases utilisées (c'est-à-dire le rapport du nombre de phrases pertinentes utilisées sur le nombre de phrases utilisées pour l'application des patrons). On peut envisager d'augmenter le taux de rappel de ce sous- ensemble de phrases (c'est-à-dire le rapport du nombre de phrases pertinentes utilisées sur le nombre de phrases pertinentes dans le corpus initial) par application de techniques de résolution d'anaphores bien connues de l'homme du métier. Les moyens de sélection permettent ainsi d'obtenir en sortie un sous- ensemble de phrases, contenant le focus de recherche ainsi que le(s) nom(s) et le(s) verbe(s) du patron d'extraction, sur lequel vont être appliqués les patrons d'extraction.
Les moyens d'application 21 des patrons d'extraction sur les phrases candidates permettent d'identifier les termes candidats.
Sur chaque phrase du corpus ainsi sélectionnée, on tente d'appliquer chaque patron d'extraction.
Un terme d'une phrase devient un candidat à l'extraction si :
- les termes et catégories spécifiés dans le patron peuvent être ancrés (c'est-à-dire sont présents) dans la phrase ;
- les termes marqués comme extractions dans le patron sont de la catégorie syntaxique (voire sémantique) requise dans le patron.
Cette méthode d'identification de candidats à l'extraction est une méthode souple autorisant les insertions, omissions et inversions de termes dans les phrases. Elle permet d'obtenir un ensemble de candidats à l'extraction pour chacun des patrons d'extraction.
Ces termes candidats sont alors transférés à des moyens de calcul 22 de la pertinence, c'est-à-dire de la détermination du poids associé à chaque terme donnant une indication de la qualité du candidat à l'instanciation. Cette méthode de calcul de pertinence tient compte de plusieurs critères :
- une mesure de pertinence de la phrase prenant en compte :
a) sa pertinence lexicale par la mesure de la distance entre le patron et la phrase à l'aide du cosinus de l'angle entre les vecteurs phrase et patron.
(Les techniques de calcul ainsi utilisées sont bien connues de l'homme du métier. Une description détaillée en est donnée dans "Recherche d'informations dans un mélange de documents écrits et parlés", Benoît Fabre,
Jean-François Bonastre, Patrick Bellot, Actes des Journées d'Etude de la Parole,
2004.) b) sa pertinence lexico-syntaxique par le calcul du logarithme de la longueur du sous-ensemble le plus long du patron dans la phrase (avec autorisation des insertions et omissions), c'est-à-dire du logarithme du nombre maximal de termes, pas obligatoirement juxtaposés, d'une chaîne, ou liste, de termes du patron qu'on retrouve dans le même ordre dans la phrase ;
- une mesure de pertinence du candidat prenant en compte : a) sa pertinence syntaxique établie en fonction de sa catégorie syntaxique et de sa position dans la phrase par rapport à ces mêmes valeurs dans le patron ; b) sa pertinence sémantique (optionnelle) établie en fonction de sa catégorie sémantique par rapport à cette même valeur dans le patron. Ainsi, une pertinence est associée à chaque candidat à l'extraction.
Comme expliqué précédemment, chaque triplet T = (Cj,η,ck) est mis en correspondance avec un ensemble de patrons d'extraction. Le but est de sélectionner le meilleur candidat qui va permettre d'instancier l'élément manquant dans un triplet T = (Ci,rj,ck). Pour cela, les moyens de choix 23 calculent la moyenne des pertinences de chaque candidat extrait pour l'ensemble de patrons associés à une règle sémantique. Le meilleur candidat est celui qui possède la meilleure pertinence moyenne.
Cela permet de déterminer pour chaque règle sémantique le meilleur candidat à l'extraction parmi l'ensemble des candidats extraits par l'ensemble des patrons d'extraction correspondants à cette règle.
Il est ainsi possible d'instancier l'élément manquant de chaque relation et de construire ainsi une base de connaissances portant sur le focus prédéterminé.
Le procédé et le système ainsi décrit permettent donc, avantageusement, de simplifier la création des bases de connaissances en remplaçant la construction manuelle de chaque base par une construction automatique s'appuyant sur une modélisation plus générique.