+ All Categories
Home > Documents > Un modèle de graphe pour la recherche d'information multilingue

Un modèle de graphe pour la recherche d'information multilingue

Date post: 27-Nov-2023
Category:
Upload: irstea
View: 1 times
Download: 0 times
Share this document with a friend
23
Un modèle de graphe pour la recherche d'information multilingue Catherine ROUSSEY LISI INSA de Lyon 20 avenue A. Einstein 69621 VILLEURBANNE Cedex Email: [email protected], Tel: 04.72.43.62.97, Fax: 04.72.43.87.13 Résumé: dans cet article nous proposons un modèle de graphe permettant d'améliorer la description sémantique des documents dans un contexte multilingue. Ce modèle est une extension du modèle des graphes conceptuels de Sowa [SOWA84] auquel a été ajoutée au support, la notion de vocabulaire et au graphe, la notion de label. Nous nous sommes basés sur des travaux récents, pour proposer un nouvel opérateur de comparaison de graphes tenant compte des besoins de la recherche d'information. Cet opérateur est à la base de la fonction de comparaison de notre système documentaire multilingue de type logique, intitulé SyDoM. Notre proposition se base sur le modèle générique proposé dans [GENE00] en considérant les graphes sous forme normale. Cette heuristique, justifiée par nos observations sur la structure générale des index, nous a permis de proposer un algorithme efficace de recherche. L'ensemble de notre proposition est validé dans notre système documentaire SyDoM implémenté en java à partir de Microsoft Access. Une première évaluation à partir d'une base de documents anglais présente des résultats encourageants. Mots-clés: modèle logique, système documentaire multilingue, graphe conceptuel. Abstract: In this paper, we propose a model of graph used to describe the semantic of document in a multilingual context. This model is an extension of the model of Sowa conceptual graphs [SOWA84] where two new notions are added: vocabulary and label. Starting from recent works [GENE00], we propose a new comparison operator between graphs taking account of the specific information retrieval needs. This operator is the core of the comparison function used in our multilingual documentary system, called SyDoM. Our proposal is based on the generic model suggested in [GENE00] by considering the graphs in normal form. This choice, justified by some observations about the general structure of index, enables us to propose a new search algorithm. Our proposition is validate in the logical information retrieval system SyDoM. SyDoM is implemented in Java using Microsoft Access. A first evaluation on English documents give encouraging results. Keywords: Logical information retrieval system, multilingual information retrieval system, Conceptual Graph.
Transcript

Un modèle de graphe pour la recherche d'information multilingue

Catherine ROUSSEYLISI INSA de Lyon 20 avenue A. Einstein 69621 VILLEURBANNE Cedex

Email: [email protected], Tel: 04.72.43.62.97, Fax: 04.72.43.87.13

Résumé: dans cet article nous proposons un modèle de graphe permettant d'améliorer la description sémantique desdocuments dans un contexte multilingue. Ce modèle est une extension du modèle des graphes conceptuels de Sowa[SOWA84] auquel a été ajoutée au support, la notion de vocabulaire et au graphe, la notion de label. Nous noussommes basés sur des travaux récents, pour proposer un nouvel opérateur de comparaison de graphes tenant comptedes besoins de la recherche d'information. Cet opérateur est à la base de la fonction de comparaison de notresystème documentaire multilingue de type logique, intitulé SyDoM. Notre proposition se base sur le modèlegénérique proposé dans [GENE00] en considérant les graphes sous forme normale. Cette heuristique, justifiée parnos observations sur la structure générale des index, nous a permis de proposer un algorithme efficace de recherche.L'ensemble de notre proposition est validé dans notre système documentaire SyDoM implémenté en java à partir deMicrosoft Access. Une première évaluation à partir d'une base de documents anglais présente des résultatsencourageants.

Mots-clés: modèle logique, système documentaire multilingue, graphe conceptuel.

Abstract: In this paper, we propose a model of graph used to describe the semantic of document in a multilingualcontext. This model is an extension of the model of Sowa conceptual graphs [SOWA84] where two new notions areadded: vocabulary and label. Starting from recent works [GENE00], we propose a new comparison operatorbetween graphs taking account of the specific information retrieval needs. This operator is the core of thecomparison function used in our multilingual documentary system, called SyDoM. Our proposal is based on thegeneric model suggested in [GENE00] by considering the graphs in normal form. This choice, justified by someobservations about the general structure of index, enables us to propose a new search algorithm. Our proposition isvalidate in the logical information retrieval system SyDoM. SyDoM is implemented in Java using Microsoft Access.A first evaluation on English documents give encouraging results.

Keywords: Logical information retrieval system, multilingual information retrieval system, Conceptual Graph.

1. IntroductionL'émergence de l'Internet a profondément transformé les moyens de communication, notammenten facilitant les échanges de documents entre les pays. Dès lors, les collections de documents sesont enrichies par des documents écrits dans différentes langues. Les bibliothèques ont dus'adapter à cette révolution technique pour devenir des bibliothèques virtuelles ou numériques,capables de gérer des collections multilingues de documents.Pour faciliter l'accès à ces documents et en particulier, pour considérer leur aspect multilingue, ilest nécessaire d'améliorer la représentation du contenu des documents. En effet, les mots présentsdans les documents lorsqu'ils sont considérés individuellement, ne sont pas toujours suffisantspour exprimer la signification du document. Il faut donc travailler sur des éléments plus porteursde sens que les mots, à savoir les "concepts"1. Une autre forme d'amélioration desreprésentations des documents consiste à ajouter des relations liant les concepts présents dans ledocument. Les concepts et les relations permettent d'enrichir les connaissances sur le documentet favorisent la création de requêtes plus pertinentes. Par conséquent, la recherche d'informationdoit s'accompagner d'une fonction de comparaison adaptée, qui tienne compte des connaissancesimplicites et explicites introduites dans ces nouvelles représentations. Pour les documents et lesrequêtes, ces représentations seront qualifiées de descriptions sémantiques.Dans la littérature, Van Rijsbergen a introduit un nouveau modèle de recherche d'information, lemodèle logique capable de gérer ce genre de représentation complexe. Ainsi, il modélisel'incertitude relative à la pertinence d'un document vis-à-vis d'une requête grâce à uneimplication logique. Comme Van Rijsbergen ne précise pas quelle logique utilisée pourimplémenter un système de recherche d'information de type logique, plusieurs travaux ontproposé d'utiliser la logique du premier ordre en se basant sur le modèle des graphes conceptuelsde Sowa [SOWA84]. Un bref état de l'art des travaux les plus récents est présenté dans leparagraphe suivant.En nous appuyant sur ces travaux, nous proposons dans le paragraphe 3 de cet article, unnouveau modèle basé sur les graphes conceptuels de Sowa qui permet d'améliorer la descriptionsémantique des documents dans un contexte multilingue. Le paragraphe 4 présente lesalgorithmes implémentant notre fonction de comparaison entre graphes, suivi, dans le paragraphe5, de la présentation de l'évaluation de notre système documentaire multilingue.

2. Etat de l'artEn 1986, Van Rijsbergen [RIJS86] a modélisé la pertinence d'un document par rapport à unerequête au moyen d'un principe d'incertitude logique. Soit deux formules logiques d et q (lesreprésentations du document et de la requête), une fonction de comparaison entre d et q mesurel'incertitude qui existe dans l'implication d � q relative à un ensemble de données Ks. En réalité,cette fonction détermine l'extension minimale à apporter à Ks pour établir la preuve de d � q.Dans son article, Van Rijsbergen suggère un modèle logique général, sans lui fixer un cadreprécis. Par exemple, Van Rijsbergen ne précise pas la logique à utiliser, ce qui a donné lieu àdifférentes applications de son modèle. En effet, [CRES95] a développé, à partir de la logiquemodale, une interprétation du principe d'incertitude basé sur la théorie des mondes possibles. De

1

Un concept représente une unité sémantique [ROUS99]. C'est l'élément de base identifiant une notion permettant de donner dusens.

plus, comme aucune précision dans l'énoncé n'est donnée sur l'ensemble Ks, le principed'incertitude logique peut être interprété différemment suivant si Ks se réfère à d, à q ou à unautre ensemble d'information. Différentes interprétations du principe d'incertitude sont décritesdans [NIE90]. Chaque interprétation donne lieu à un nouveau principe d'incertitude.1. Dans le premier principe d'incertitude, Ks est un ensemble d'informations extérieur à q et d.

Par exemple, Ks représente des connaissances dans le domaine d'intérêt de q et de d. Dans cecas, une mesure de l'incertitude de d � q relativement à Ks est déterminée par latransformation minimale à apporter à Ks pour établir la preuve que d � q.

2. Dans le deuxième principe, l'ensemble Ks porte sur d. Pour ce principe, une mesured'incertitude est déterminée par la transformation minimale nécessaire de d en d' pour établirla preuve que d' � q.

3. Pour le troisième principe d'incertitude, l'ensemble Ks porte sur q. Une mesure d'incertitudede ce troisième principe est déterminée par la transformation minimale nécessaire de q en q'pour établir la preuve que d � q'.

Ce modèle améliore sensiblement l'utilisation des connaissances dans les systèmes de recherched'information, car il permet de manipuler des descripteurs plus expressifs que les termes et doncde tenir compte de la sémantique des documents. Ainsi, tous les modèles qui disposent d'unprocessus équivalent à une implication logique, peuvent utiliser cette approche pour améliorerleurs performances. En particulier, des travaux récents ont montré que le modèle des graphes deSowa permettait d'implémenter un système de recherche d'information logique [OUNI98].Les graphes conceptuels tels que les a proposés Sowa [SOWA84] sont constitués de sommetsqui peuvent représenter soit des concepts soit des relations conceptuelles et des arcs qui lient unconcept et une relation. Plus précisément, un concept est caractérisé par un type etéventuellement un marqueur : le type décrit la classe sémantique à laquelle appartient un objet, lemarqueur permet de nommer et distinguer les différents objets d'une classe. [HOMME : Jean] estun concept dont le type est HOMME et son marqueur est Jean. De la même manière, une relationest caractérisée par un type. Une relation de spécialisation, notée ≤, définit une hiérarchie entreles différents types (concepts ou relations), un type générique étant relié à un type plusspécifique. Dès lors, la signature d'un type de relation sera constituée par les types de conceptsles plus génériques utilisables comme argument de cette relation.

Pour la recherche d'information, la relation de spécialisation présente un intérêt majeur car ellecontribue à la comparaison de graphes. En effet, pour les comparer, Sowa a proposé un opérateur

de projection qui s'appuie sur l'existence d'une relation de spécialisation entre deux graphes.Comme le montre la Figure 1, il existe une projection d'un graphe H dans un graphe G si le

graphe G présente un sous-graphe dont tous les sommets sont des spécialisations du graphe H.Dans ce cas, G est dit une spécialisation de H, G ≤ H.

développement diesel1 2

Moteur mono cylindre2 1

développement1 2 H

G

Relation despécialisation

But

But Composant

carburant

Figure 1 : un exemple de projection

De plus, Sowa a défini un opérateur φ qui permet de transformer un graphe conceptuel enformule logique du premier ordre et il a montré que l'existence d'une projection d'un graphe Hdans un graphe G était conditionnée par l'implication de leurs formules logiques associées : G ≤H � φ(G)� φ(H). Cette implication fait des graphes de Sowa un modèle adapté pour construiredes systèmes de recherche d'information tel que l'a préconisé Van Rijsbergen. En effet, s'il existeune projection d'un graphe H dans un graphe G représentant respectivement une requête etl'index d'un document, elle se traduira par l'implication φ(G)� φ(H) qui rend le documentpertinent pour la requête.Parmi les systèmes qui ont utilisé le modèle des graphes de Sowa, nous nous sommes intéressésà deux approches différentes par leur interprétation du principe logique décrit dans la partieprécédente.[OUNI98] ont implémenté dans le système RELIEF le premier principe d'incertitude. RELIEFutilise différentes propriétés sur les relations pour modifier l'ensemble des connaissances dudomaine Ks et établir l'implication d�q, par le biais de l'opérateur de projection. Un autre aspectintéressant de ces travaux est de proposer un algorithme rapide et efficace de recherche deprojection entre graphes. Actuellement, l'inconvénient majeur de l'utilisation de l'opérateur deprojection comme fonction de comparaison entre document et requête réside dans le fait que lesalgorithmes de projection sont coûteux en temps de traitement. En effet, la recherche d'uneprojection est un problème NP-complet [CHEI92]. C'est pourquoi, le mécanisme de rechercheproposé par Ounis effectue une série de pré-traitements au moment de l'indexation. Un fichierinverse et une série de tables d'accélération sont générés, à l'indexation, pour enregistrer toutesles spécialisations de sous-graphes requêtes possibles. Au moment de la recherche, il suffitd'identifier les sous graphes composant la requête pour retrouver tous les index spécialisant larequête.[GENE00] s'est surtout intéressé à la réduction du silence produit lors de la phase de projection.En effet, une comparaison basée sur la projection est généralement binaire (la projection existeou n'existe pas). De plus, le graphe conceptuel indexant un document doit être une spécialisationdu graphe représentant la requête pour que le document soit jugé pertinent pour la requête.Malheureusement en recherche d'information, l'exactitude ou la précision n'est pas le critèreunique d'un bon système de recherche d'information et s'oppose à un autre critère important lerappel, d'où l'intérêt de proposer un mécanisme pour que des documents "proches" d'une requête(par exemple un document générique par rapport à la requête) soient aussi jugés pertinents. Pouraméliorer les résultats de la recherche, il a choisi de mettre en œuvre le deuxième principed'incertitude. Il propose un ensemble de transformations sur les graphes conceptuels indexant lesdocuments ainsi qu'un mécanisme d'ordonnancement des séquences de transformations degraphes. Le mécanisme de recherche détermine une séquence de transformations nécessaires àapporter aux graphes index pour qu'il existe une projection du graphe requête sur le grapheindex. Les séquences de transformations étant ordonnées, ont obtient une liste des documentsrésultats ordonnée.Notre propre approche tiendra compte de ces améliorations en proposant un modèle de graphepermettant d'améliorer la description des documents dans un contexte multilingue. Notre modèlese base sur certaines observations des caractéristiques des index.

3. Proposition d'un nouveau modèle de graphe.Habituellement, lorsqu'un document est indexé, son contenu est décrit par un ensemble de termessignificatifs, les mots clés, qui vont constituer l'index du document. Pour améliorer les

possibilités de description, des relations ont pu être introduites dans les langages documentairesmais elles ont directement contribué à augmenter le nombre d'index possibles pour un mêmedocument. Cet effet appelé "paraphrase" diminue les performances d'un système de recherche.Suivant cette constatation, nous proposons de transformer le formalisme des graphes conceptuelsafin qu'il soit plus proche des langages documentaires. En particulier, nous limiterons lesconcepts à la notion de concepts génériques, c'est-à-dire sans marqueur. En effet, les marqueurssont utilisés pour identifier un objet du domaine. Dans notre cas, le contenu des documents estreprésenté par des notions et non par des individus ou des objets particuliers. C'est pourquoi dansun premier temps, nous avons préféré simplifier le formalisme des graphes conceptuels enéliminant les marqueurs, et mettre l'accent sur une nouvelle notion : les vocabulaires. Unvocabulaire défini pour une langue donnée les labels des notions génériques décrites dans lesupport. Nous intitulons le support et son ensemble de vocabulaires un thesaurus sémantique. Deplus, nous ne travaillerons que sur la forme normale d'un graphe : un concept ne pourraapparaître qu'une seule fois dans le graphe, ce qui limite le nombre d'index possibles pour unmême document.

3.1 Thesaurus sémantiqueComme les bases de connaissances terminologiques [SEGU97], un thesaurus sémantiquedifférencie deux niveaux de connaissance :1. Le niveau conceptuel modélise le domaine d'étude formé de concepts et de relations

conceptuelles. Dans notre cas, il s'agit d'une conceptualisation du domaine ou supportrésultant d'un consensus entre les différents acteurs de l'indexation dans un domaineparticulier.

2. Le niveau terminologique est composé de l'ensemble des termes. Le terme est défini commela manifestation linguistique d'un concept repéré dans un texte, dont il peut être considérécomme le label. "Le terme est donc un signe linguistique qui se distingue du mot de la languepar sa fonction de référence à une notion du domaine" [SEGU, 1997]. L'ensemble des termesd'une langue LJ constitue un vocabulaire du domaine soit Lj.

Si la conceptualisation du domaine ne pourra être modifiée que par les acteurs de l'indexation,les vocabulaires, eux, évolueront en fonction de la terminologie utilisée dans les documents ducorpus.

3.1.1 La conceptualisation du domaine ou Support

La conceptualisation est le résultat d'une modélisation du domaine correspond à l'explicitationd'un point de vue. On rejoint donc les ontologies2 au sens de l'intelligence artificielle.

Un support S est un triplet S = (TC, TR, σ ) tel que :− TC, est l'ensemble des types de concepts. Il est partiellement ordonné par la relation de

spécialisation/généralisation, notée ≤ et il admet un plus grand élément, noté T.− TR, est l'ensemble des types de relations. Il est partitionné en ensembles de types de relations

de même arité3 : TR = TR1 ∪ TR2 ∪ …∪ TRj ∪ … ∪ TRn, où TRj est l'ensemble des types de

2

"Une ontologie est une spécification explicite d'une conceptualisation."[GRUB93]3 Dans le cas général, un type de relation peut avoir une arité quelconque, mais dans la suite de cet article, nous simplifierons les

exemples en limitant TR aux types de relation d'arité 2.

relation d'arité j (j≠0). Tout TRj est ordonnée par une relation de spécialisation/généralisation,notée ≤ et il admet un plus grand élément, noté T2.

− σ, associe à tout type de relation, le type de concept le plus générique utilisable commeargument de la relation. C'est plus précisément une application qui, à tout tr ∈ TRj, associe unj-uplet σ (tr ) ∈ (TC) j, et vérifie que, pour tout élément de tr1, tr2 ∈ TR j, si tr1 ≤ tr2 alors σ(tr1) ≤σ(tr2). L'ordre considéré sur les signatures est l'ordre produit sur (TC) j. Autrement dit, le typeassocié au kième argument de tr1 est plus spécifique que le type associé au kième argument detr2. On notera σi(tr) le ième argument de σ(tr). La Figure 2 présente deux exemples designatures vérifiant les conditions précédentes.

T

tc1 (Entité) tc2

(Processus)

tc1.1

(Substance)tc2.1

(Processus physique)

tc1.1.1

(Carburant)

tc1.1.1.1

(Diesel)

tc2.1.1

(Combustion)

Relation de spécialisation

TC: ensemble des types de concepts TR: ensemble des types de relation

T2

tr1

(Composant)

σ(tr1) = (T,T)

tr1.1

(Patient)

σ(tr1.1) = (tc2, tc1 )

Figure 2 : Un exemple d'ensembles de types de concepts et de types de relations partiellementordonnés par une relation de spécialisation.

3.1.2 Le thesaurus sémantique

Le thesaurus sémantique se compose donc d'une conceptualisation du domaine S et d'unensemble de vocabulaires V. La conceptualisation formelle S est lisible par un être humain enremplaçant ses entités formelles par des termes issus du vocabulaire d'une langue. Cetteconceptualisation pourra donc être présentée à l'utilisateur dans le vocabulaire de la langue deson choix.

Un thesaurus sémantique (composé de P langues) est un quadruplet M = ( S, V, λC, λR) disposantde :

− S, un support composé d'un ensemble de types de concept TC, d'un ensemble de types derelation TR, d'une application σ qui, à chaque type de relations, fait correspondre sa signature.

− V, un ensemble des vocabulaires, partitionné en ensembles de termes appartenant à lamême langue (un vocabulaire). V = V L1 ∪ V L2 ∪ …∪ V L j ∪ … ∪ VLP où VLj est l'ensemble destermes appartenant à la langue Lj.

− λC = { λC VL1,…, λC VLj

,…, λC VLP }, un ensemble de P d'applications telles que λC

VLj : TC → VLj

est une application qui, à chaque type de concept tc ∈ TC, fait correspondre un terme dans lalangue Lj, λC VLj (tc) ∈ VLj. On note λC(tc), le terme associé à tc lorsque aucune langue spécifiquen'est indiquée.

− λR = { λR VL1, … ,λR VL j

, … , λR VLP } est un ensemble de P applications telles que λR

VL j : TR →

VL j est une application qui à chaque type de relation, tr ∈ TR , fait correspondre un terme dans lalangue Lj, λR VLj (tr) ∈ VLj. On note λR(tr) le terme associé à tr lorsque aucune langue n'estindiquée.

lubrifiant

huile

lubricant

oil

V eng

V

V fr

T

tc1 tc2

tc1.1 tc2.1

tc1.1.1

tc1.1.1.1

tc2.1.1

Tc

λV eng(tc2.1)

λV eng(tc2.1.1)

λV fr(tc2.1.1)

λV fr(tc2.1)

Figure 3 : Exemple de thesaurus sémantique.La Figure 3 présente un exemple d'application λC. Dans cet exemple, V se compose de deuxvocabulaires, un vocabulaire anglais Veng et un vocabulaire français Vfr. Pour tout type deconcept, correspond un terme de chaque vocabulaire. Par exemple, pour le type tc2.1 ∈ TC, λC Veng

(tc2.1)="lubricant" et λC Vfr (tc2.1)="lubrifiant".En conclusion, dans un thesaurus sémantique les connaissances du domaine constituent lelangage pivot, utilisé pour l'indexation, et les connaissances terminologiques contiennent leslabels possibles, dans plusieurs langues, des connaissances du domaine. Ainsi, un graphesémantique adapte sa présentation des connaissances en fonction d'une langue donnée. Donc nosindex écrits à partir des connaissances du domaine, pourront être lisibles dans plusieurs langues àl'aide des connaissances terminologiques.

3.2 Graphe sémantiqueUn graphe sémantique est un ensemble de sommets concepts reliés entre eux ou non. Laformalisation, que nous proposons, a pour but de mettre l'accent sur les couples de conceptsreliés par une relation. Cela justifie que nous définissons la notion d'arc comme un couple deconcepts étiqueté par un type de relation.

Un graphe sémantique Gs= (C, A, µ, labelC, ν, labelR) défini sur un thesaurus sémantique M, estun multigraphe, non nécessairement connexe, où :

− C est l'ensemble des sommets concepts4 de Gs.

− A ⊂ C × C est l'ensemble des arcs de Gs. Pour tout a= (c, c') ∈ A, on notera ai le ième

sommet concept de a : a1 = c et a2 = c'.− µ: C → TC est une application qui à tout concept, c ∈ C associe une étiquette µ(c)∈ TC,

µ(c) est appelé le type de c.− labelC est un ensemble d'applications labelC = { labelCVL1

, … ,labelCVLj , … , labelCVLP}

telles que labelCVLj: C → VLj, qui à tout concept c ∈ C, associe une étiquettecorrespondant à un terme d'une langue donnée Lj, labelC VLj (c) ∈ VLj. labelC VLj (c) estappelé le label de c pour la langue Lj. On note labelC (c) le label de c lorsque aucuneindication sur la langue n'est donnée.

− ν: A → TR est une application qui à tout arc a ∈ A, associe une étiquette ν(a) ∈ TR, del'ensemble des relations.

− labelR est un ensemble d'applications labelR = { labelRVL1 , … ,labelRVLj

, … , labelRVLP }

telles que labelR VLj: A → VLj qui à tout arc, a ∈ A associe une étiquette correspondant àun terme d'une langue donnée Lj. labelR (a) VL j ∈ VLj. labelR VLj (a) est appelé le label de apour la langue Lj. On note labelR (a) le label de a sans indication sur la langue donnée.

Les graphes sémantiques doivent répondre à un certain nombre de contraintes.1. A obéit aux contraintes fixées par l'application σ définie dans le thésaurus sémantique. Pour

tout a = (c, c') ∈ A , µ(ai) ≤ σi(ν(a)) donc µ(c) ≤ σ1(r) et µ(c') ≤ σ2(r). En prenant l'exempledu type de relation Patient, Patient a comme signature σ(Patient)=(Processus, Entité).D'après la contrainte que nous venons d'énoncer, toute relation typée par Patient, devra avoircomme premier argument un type de concept spécialisé par Processus et comme secondargument un type de concept spécialisé par Entité.

2. LabelC est la conjonction des deux applications µ et λC. En effet, pour tout c ∈ C, labelC(c)=λC

(µ(c)) =λC

° µ(c).

3. labelR est la conjonction des deux applications ν et λR. En effet, pour tout a ∈ A, labelR (a)=λR

(ν (a)) =λR

° ν (a).

D'après les définitions, il existe plusieurs représentations des graphes sémantiques. En effet, desétiquettes différentes sont proposées pour chaque composant du graphe.1. La première représentation possible consiste à étiqueter les sommets concepts et les arcs d'un

graphe sémantique par leur type. Donc comme nous le montre la Figure 4, pour un sommet c,son étiquette est µ(c). Cette représentation des graphes sémantiques est utilisée pour stockerles index de notre système documentaire multilingue.

4

Dans la suite de ce rapport, les termes "sommet concept" et "concept" seront considérés comme équivalents.

tr1.1.12

tc312

tc1.1.1.1

Figure 4 : Un exemple de graphe sémantique étiqueté par les types.2. La seconde manière de représenter un graphe sémantique consiste à étiqueter tous ses

sommets et ses arcs par leur label dans une langue donnée. Si la langue fixée est l'anglais, levocabulaire employé est donc le vocabulaire anglais Veng (cf. Figure 3). Pour un sommet c,son étiquette est labelC Veng(c)= λC

Veng (µ(c)) =λC

Veng ° µ(c). Il existe autant de

représentation d'un graphe sémantique sous cette forme, qu'il existe de vocabulairesdisponibles dans le thesaurus sémantique. Par exemple, la Figure 5 présente deuxreprésentations du même graphe sémantique. Dans la première, les étiquettes sont les labelsfrançais du graphe sémantique et dans la seconde, les labels sont anglais.

I n s t ru m e n tL u b r i f i c a t i o n L u b r i f ia n t

1 2

I n s t r u m e n tL u b r ic a t io n L u b r i c a n t

1 2

Figure 5 : Des exemples de graphes sémantiques étiquetés par des labels.Ainsi, nos index pourront être présentés aux utilisateurs de notre système documentairemultilingue dans la langue de leur choix.

3.2.1 Opération de pseudo-projection

L'opération de pseudo-projection est l'opération de base du modèle qui nous permet derechercher un morphisme entre graphes. Cette opération sera utilisée comme fonction decomparaison entre les documents et les requêtes représentés sous forme de graphe sémantique.En effet, il existe une pseudo-projection d'un graphe H dans un graphe G si l'informationreprésentée par H est voisine d'une partie de l'information représentée par G. H est ditcomparable à G. Dans l'exemple de la Figure 6, le graphe H décrit un besoin d'informationportant sur "le développement du diesel" et le graphe G représente le contenu d'un documenttraitant "du développement d'un nouveau carburant pour les moteurs monocylindres". Bien qu'iln'existe pas de projection de H dans G, H est comparable à G. L'existence de la pseudo-projection de H dans G prouve que le document indexé par G répond à la requête représentée parH.

Butdéveloppement carburant

1 2

Butdéveloppement diesel

1 2H

G

ΠΠΠΠ Relation despécialisation

carburantComposant

Moteur mono cylindre2 1

Figure 6 : exemple de pseudo-projection de H dans G.Plus formellement, nous obtenons la définition suivante pour l'opération de pseudo-projectionDéfinition (pseudo-projection) : Une pseudo-projection d'un graphe H = (CH , AH , µH ,labelCH,νH , labelRH) dans un graphe G = (CG , AG , µG , labelCG , νG , labelRG) est un couple defonctions Π= (f,g) où f: AH → AG établit la correspondance entre les arcs (relations) des deuxgraphes et g: CH → CG celle entre les sommets (concepts). Les propriétés de Π sont lessuivantes :

1. Π conserve les arcs.Pour tout arc a = (c, c') de AH , f(a)=(g(c),g(c')) est un arc de AG.

2. Π peut restreindre les étiquettes des arcs.Pour toute étiquette d'arc νH (a), νG (f(a)) ≤ νH (a).

3. Π peut augmenter les étiquettes des arcsPour toute étiquette d'arc νH (a), νH (a) ≤ νG(f(a)).

4. Π peut restreindre les étiquettes des sommets concepts.

Pour tout sommet c de CH , µG (g(c)) ≤ µH (c).5. Π peut augmenter les étiquettes des sommets concepts

Pour tout sommet c de CH , µH (c) ≤ µG (g(c)).

Remarque:L'exemple de la Figure 6, montre que la pseudo-projection ne conserve pas le nombre desommets. Par conséquent, l'opération de pseudo-projection ne fait pas la différence entre ungraphe contenant plusieurs sommets concepts ayant la même étiquette et un graphe ne contenantqu'un seul sommet concept par étiquette. Nous supposons donc que tous les graphes sont sousforme normale pour laquelle il n'existe qu'un seul sommet concept par étiquette. La perted'information inhérente à cette restriction (graphe sous forme normale) nous paraît minime, carune notion n'apparaît généralement qu'une seule fois dans un index.La pseudo-projection permet de comparer un graphe dont la totalité de son information estsémantiquement voisine d'une partie de l'information contenue dans un autre graphe. Il estimportant de définir un mécanisme permettant de comparer les graphes, partie par partie. Cettenouvelle opération est intitulée pseudo-projection partielle. Dans l'exemple de la Figure 6, nousavons montré qu'il existe une pseudo-projection de H dans G, mais inversement il n'existe pas de

pseudo-projection de G dans H donc il ne sera pas possible de retrouver le document indexé parH avec une requête représentée par G.Définition (pseudo-projection partielle): Il existe une pseudo-projection partielle de H dans Gsi, par définition, il existe H', un graphe sémantique sous-graphe de H tel qu'une pseudo-projection de H' dans G pourra être trouvée.D'après l'exemple de la Figure 6, il existe une pseudo-projection partielle du graphe G dans legraphe H.

3.3 Fonctions de similaritéL'opération de pseudo-projection nous permet de découvrir si deux graphes sont comparables.Par contre, le résultat de cette comparaison entre graphes est booléen: la pseudo-projection entreles graphes existe ou n'existe pas. Pour utiliser cette opération comme fonction de comparaisondans un système de recherche d'information, il est préférable que l'opération de pseudo-projection retourne une valeur réelle permettant ainsi d'ordonner les résultats. Dans ce but, nousallons présenter les différentes fonctions de similarités utilisées pour obtenir la définition d'unefonction de similarité entre graphes. Chaque fonction de similarité (entre types, entre arcs, entregraphes) retourne une valeur normalisée comprise entre 0 et 1.En particulier, les relations de spécialisation et de généralisation introduites dans le thesaurussémantique nous permettront de définir des fonctions de similarité entre types.

3.3.1 Fonction de similarité entre types

Une fonction de similarité entre types, notée sim, prend en entrée deux types et renvoie unevaleur numérique. Cette fonction de similarité vérifie les propositions suivantes. Nousillustrerons ces propositions par des exemples de types de concepts issus du support présentédans la Figure 2.− Si deux types ne sont pas comparables, c'est à dire qu'il n'existe aucune relation entre eux

alors la fonction de similarité renvoie une valeur nulle.

∀ tc ∈ TC et ∀ tc' ∈ TC tels que tc et tc' ne sont pas comparables alors sim(tc , tc') = 0 . Parexemple, sim(tc1 , tc2) = 0.

− Si deux types sont identiques alors la fonction de similarité renvoie la valeur 1.

∀ tc ∈ TC et ∀ tc' ∈ TC tels que tc =tc' alors sim(tc , tc') = 1. Par exemple, sim(tc1 , tc1) = 1.− Si un type de concept spécialise directement un autre type alors la fonction de similarité

renvoie une valeur constante, fixée aléatoirement, notée VG.

∀ tc ∈ TC et ∀ tc' ∈ TC tels que tc ≤ tc' et il n'existe aucun tc'' tel que tc ≤ tc'' et tc'' ≤ tc' alorssim(tc , tc') = VG . Par exemple, sim(tc2.1 , tc2) = VG.

− Si un type généralise directement un autre type alors la fonction de similarité renvoie unevaleur constante, fixée aléatoirement, notée VS.

∀ tc ∈ TC et ∀ tc' ∈ TC tel que tc' ≤ tc et il n'existe aucun tc'' tel que tc'' ≤ tc et tc' ≤ tc'' alorssim(tc , tc') = VS . Par exemple, sim(tc2 , tc2.1) = VS.

− Si un type est comparable à un autre type et qu'il ne le spécialise/généralise pasdirectement alors la fonction de similarité est le produit des fonctions de similarité entreeux et les types qu'ils généralisent ou spécialisent.

∀ tc ∈ TC et ∀ tc' ∈ TC tel que tc ≤ tc' et il existe au moins un tc'' ∈ TC tel que tc ≤ tc'' et tc'' ≤ tcalors sim(tc , tc') = sim(tc , tc'') × sim(tc'' , tc') . Par exemple, sim(tc1.1.1.1 , tc1) = VG×VG×VG.

La fonction de similarité entre types précédemment présentée permet de définir la fonction desimilarité entre arcs, notée SimA.

3.3.2 Fonctions de similarités entre arcs

La fonction de similarité entre deux arcs, notée SimA, est définie de la manière suivante:Soit un graphe H = (CH , AH , µH , labelCH,νH , labelRH) et un graphe G = (CG , AG , µG , labelCG ,νG , labelRG) .Soit aH un arc de H / aH = (cH , cH') et ν(aH ) = trH et aG un arc de G / aG = (cG , cG') et ν(aG ) =trG.

( ) ( )( ) ( ) ( )( ) ( ) ( )( )3

,,,),( 2211 GHGHGH

GHAaasimaasimaasim

aaSimµµµµνν ++

=

ou( ) ( ) ( )( ) ( ) ( )( )

3',',,),( GHGHrGrH

GHAccsimccsimttsimaaSim µµµµ ++=

SimA équivaut à moyenner les similarités entre les composants des arcs pris 2 à 2. A partir desdifférentes fonctions de similarité, nous avons ainsi défini la manière d'évaluer l'opération depseudo-projection.

3.3.3 Evaluation d'une pseudo-projection

S'il existe une pseudo-projection Π d'un graphe H = (CH , AH , µH , labelC H,νH , labelR H) dans ungraphe G = (CG , AG , µG , labelCG , νG , labelRG), alors cette pseudo-projection est évaluée parune fonction réelle, notée val prenant en entrée deux graphes sémantiques comparables etrenvoyant une valeur réelle comprise entre les valeurs 0 et 1.

( )( )( )( ) ( )( )( )

HH

Aa CcGHCA

AC

cgcsimMaxafasimGHval H H

+

+

=Π� �∈ ∈

)(,)(,

,

µµ

val équivaut à moyenner les similarités entre les arcs et les sommets concepts de H et leur imagepar Π dans G. Comme un sommet concept peut avoir plusieurs images par Π, on retient lemaximum des similarités entre le concept et ses images.L'évaluation d'une pseudo-projection partielle est définie de la même manière. Ce qui nouspermet d'introduire la définition d'une fonction de similarité entre graphes.

3.3.4 Fonction de similarité entre graphes

La fonction de similarité entre un graphe H = (CH , AH , µH , labelC H,νH , labelR H) et un grapheG = (CG , AG , µG , labelCG , νG , labelRG) est la fonction simG telle que

simG (H, G) = max( val(∏(H,G))où ∏ est une pseudo-projection partielle de H dans G).

4. AlgorithmesLe but des algorithmes de recherche est de trouver l'ensemble des documents indexés par ungraphe sémantique comparable au graphe requête. Il s'agit donc d'évaluer toutes les pseudo-projections du graphe requête sur les graphes index stockés dans la base de données. Lors del'indexation, nous avons mémorisé pour chaque graphe indexant un document tous les sous-graphes requêtes possibles comparables à son graphe index. Trouver les documents répondant àune requête revient à identifier les sous-graphes de la requête actuelle correspondant à un sous-graphe requête possible, stocké préalablement dans la base de données.Les graphes sémantiques étant composés d'arcs et de sommets concepts, ils constituent parconséquent les deux types d'entités d'indexation. Nous avons donc considéré que le contenu d'undocument serait représenté par deux index différents: une liste d'arcs et une liste de concepts. Apartir de ces deux index, le graphe sémantique indexant le document, aussi appelé graphe index,peut être reconstruit.Nos algorithmes, inspirés des travaux présentés dans [OUNI98], se basent sur l'association defichiers inverses et de tables d'accélération. Les fichiers inverses associent, à chaque entitéd'indexation (un arc ou un sommet concept), la liste des documents qu'elle indexe. Les tablesd'accélération stockent, pour chaque entité d'indexation, la liste des entités qui leur sontcomparables ainsi que le résultat de la fonction de similarité entre l'entité comparable et l'entitéd'indexation. De cette manière, les tables d'accélération pré-calculent toutes les généralisationsou spécialisations possibles des entités d'indexation.Notre base de données composée des fichiers inverses et des tables d'accélérations, est formée dedeux parties indépendantes: la partie où les entités d'indexations sont les arcs et celle où lesentités d'indexation sont les concepts.− Dans la première partie de la base de données, seuls les arcs des graphes sémantiques sont

pris en considération. Chaque document est indexé par les arcs contenus dans son graphesémantique index (intitulé GraphIndex dans l'algorithme). Cette partie de la base de donnéesse compose d'un fichier inverse noté InvertedFileArc et de plusieurs tables d'accélérationintitulées FirstArgValue, SecondArgValue, RoleArgValue.

− Dans la deuxième partie de la base de donnée, seuls les sommets concepts des graphessémantiques sont considérés. Chaque document est indexé par la liste des sommets conceptscontenu dans le graphe sémantique index, GraphIndex. Cette partie de la base de données secompose d'un fichier inverse noté InvertedFileConcept et d'une table d'accélération intituléeConceptValue.

Nous présentons, tout d'abord l'algorithme de recherche sur les arcs suivi par l'algorithme derecherche sur les concepts.

4.1 Algorithme de recherche sur les arcs

DONNEE:

GraphReq un graphe requête

nbArc le nombre d'arcs contenus dans GraphReq

nbSommet le nombre de sommets concepts contenus dans GraphReq.

RESULTAT: ListDocResult une liste de documents pondérés enfonction de la similarité entre leur index et le grapherequête.

ALGORITHME

ListDocResult � vide

// recherche sur les arcs de la requête

Pour chaque arc ArcReq de GraphReq faire

ListArcIndex � vide

ListDocArc � vide

ListArcIndex �TrouveArcComparable(ArcReq)

Pour chaque(ArcIndex, PoidsArc) de ListArcIndex faire

ListDoc � vide

ListDoc � TrouveListDoc(ArcIndex)

// Pour un arc de la requête, le poids affecté à un documentest le maximum des similarités évaluées entre l'arc requête etles arcs de son index

Pour chaque Doc de ListDoc faire

Si ListDocArc.Appartient(Doc)

Alors

Poids �ListDocArc.RecherchePoids(Doc)

NouveauPoids � max(Poids, PoidsArc)

ListDocArc.RemplacePoids(Doc, NouveauPoids)

Sinon

ListDocArc.Ajout(Doc, PoidsArc)

FinSi

FinPour

FinPour

// Mise à jour du poids du document final.

Pour chaque (Doc, PoidsArc) de ListDocArc faire

Si ListDocResult.Appartient(Doc)

Alors

Poids � ListDocResult.RecherchePoids(Doc)

NouveauPoids � Poids + (PoidsArc / (nbArc + nbSommet))

ListDocResult.RemplacePoids(Doc, NouveauPoids)

Sinon

ListDocResult.Ajout(Doc, PoidsArc)

FinPour

FinPour

TrouveArcComparable(ArcReq) est une fonction qui renvoie uneliste d'arcs (ListArcIndex) composée d'arcs (ArcIndexcomparables à ArcReq) pondérés par leur similarité avec ArcReqnotée PoidsArc.

Pour illustrer le fonctionnement de cet algorithme, nous allons travailler sur l'exemple de grapherequête présenté dans la Figure 7. Pour permettre le calcul des différentes fonctions desimilarités, les constantes5 VG et VS sont initialisées. VG =0.7 et VS=0.9.

tr1

tc121

tc2.1

tr1.1

tc1.121

tc2.1

tr1

tc121

tc2

tr2

tc321

tc2

d1

d2

d3

qtc3

T

tc1 tc2

tc1.1 tc2.1

T2

tr1 tr2tc3

tc3.1

Les hiérarchies de types

tr2.1tr1.1

Ensemble des types de concepts Ensemble des types de relations

Figure 7: exemples de graphes index (d1, d2, d3) et de graphe requête (q) avec leurs hiérarchiesdu support associé.

Dans le fichier inverse (InvertedFileArc), les arcs syntaxiquement équivalents sont regroupéssous le même identifiant. Puis, à chaque identifiant est associée la liste des documents indexéspar l'arc. Le Tableau 1 présente le fichier inverse dédié aux arcs, construit à partir des exemplesde graphes représentant les documents (Figure 7). Comme tous les arcs sont différents, aucunregroupement n'est réalisé.

InvertedFileArcDocuments Identifiant d'arc Type de

l'arcType du premierargument

Type du secondargument

5

Nous avons choisi les mêmes valeurs que celles utilisées dans [GENE97]

d1 a1 tr1.1 tc1.1 tc2.1

d2 a2 tr1 tc1 tc2

d3 a3 tr2 tc3 tc2

Tableau 1: le fichier inverse InvertedFileArcEnsuite, les lignes du fichier inverse sont analysées pour mettre à jour les différentes tablesd'accélération. Il existe une table d'accélération par composant d'un arc: une table pour les typesdes arcs (RoleArgValue), une table pour les types des premiers arguments (FirstArgValue), unetable pour les types des seconds arguments (SecondArgValue). Ces tables contiennent toutes lesspécialisations ou généralisations possibles des composants des arcs et leur similarité avec lecomposant.Par exemple, la table d'accélération FirstArgValue du Tableau 2 contient les types comparablesaux types des premiers arguments des arcs index. A chaque type de la première colonne, sontassociés les arcs dont le type de leur premier argument leur est comparable. Ces arcs sontpondérés par la similarité entre les types considérés. Par exemple, pour le type tc1 est associé l'arca1 pondéré par la similarité entre tc1 et tc1.1 (type du premier argument de a1) soit simC(tc1, tc1.1)=VS = 0.9. Mettre à jour cette table consiste, pour chaque type du premier argument d'un arcindex, à rechercher dans la hiérarchie des types de concepts, tous les types qui lui sontcomparables, et ensuite à calculer leur similarité.

FirstArgValue SecondArgValue RoleArgValueType Liste d'arc Type Liste d'arc Type Liste d'arc

T {(0.81, a1), (0.9, a2),(0.9, a3)}

T {(0.81, a1), (0.9, a2),(0.9, a3)}

Tr {(0.81, a1), (0.9,a2), (0.9, a3)}

tc1 {(0.9,a1), (1, a2)} tc2 {(0.9, a1), (1, a2), (1,a3)}

tr1 {(0.9, a1), (1, a2)}

tc1.1 {(1, a1), (0.7, a2)} tc2.1 {(1, a1), (0.7, a2),(0.7, a3)}

tr1.1 {(1, a1), (0.7, a2)}

tc3 {(1, a3)} tr2 {(1, a3)}tc3.1 {(0.7, a3)} tr2.1 {(0.7, a3)}

Tableau 2: les tables d'accélération pour les arcsConsidérons l'arc de la requête. Au début, on cherche les couples (similarité, arc) dans la tableFirstArgValue qui présentent le même type en premier argument de la requête, soit tc1. On obtient{(0.9,a1), (1, a2)}. Dans la table SecondArgValue, on cherche les couples (similarité, arc) qui ontle même type que le second argument de l'arc requête, soit tc2.1. On obtient {(1, a1), (0.7, a2),(0.7, a3)}. De la même manière, on cherche la liste des couples (similarité, arc) dans la tableRôleArgValue qui ont le même type que celui de l'arc requête, soit tr1. On obtient {(0.9, a1), (1,a2)}. On réalise l'intersection de ces listes pour ne conserver que les arcs qui apparaissent dansles trois listes, leur similarité est obtenue en moyennant leurs différentes valeurs. Ainsi, onobtient donc tous les arcs comparables avec l'arc requête et leur similarité entre l'arc requête eteux: {(0.93, a1), (0.9, a2)}. Enfin, pour chacun des arcs comparables, on recherche dans lefichier inverse les documents qu'il indexe. On obtient la liste (intitulée ListDoc dansl'algorithme), des documents. La pondération d'un document est égale à la similarité entre l'arc

requête et un de ses arcs index {(0.93, d1), (0.9, d2)}. On insère dans la liste ListDocResultchacun de ces documents en divisant leur poids par 4 (le nombre d'arcs + le nombre de sommetsconcepts de la requête). On obtient: {(0.2325, d1), (0.225, d2)}. La liste ListDocResult n'est pasdéfinitive. En effet, il faut encore réaliser une recherche sur les sommets concepts.

4.2 Algorithme de recherche sur les concepts

DONNEE:

GraphReq un graphe requête

nbArc le nombre d'arcs contenus dans GraphReq

nbSommet le nombre de sommets concepts contenus dans GraphReq.

Seuil le poids minimum d'un document pertinent

RESULTAT: ListDocResult une liste de documents pondérés enfonction de la similarité entre leur index et le grapherequête.

ALGORITHME

// recherche sur les sommets concepts de la requête

Pour chaque sommet concept isolé ConceptReq de GraphReq faire

ListConceptIndex � vide

ListDocConcept � vide

ListConceptIndex �TrouveConceptComparable(ConceptReq)

Pour chaque(ConceptIndex, PoidsConcept) de ListConceptIndexfaire

ListDoc � vide

ListDoc � TrouveListDoc(ConceptIndex)

// Pour un concept de la requête, le poids affecté à undocument est le maximum des similarités entre le concept de larequête et les concepts de son index

Pour chaque Doc de ListDoc faire

Si ListDocConcept.Appartient(Doc)

Alors

Poids �ListDocConcept.RecherchePoids(Doc)

NouveauPoids � max(Poids, PoidsConcept)

ListDocConcept.RemplacePoids(Doc, PoidsConcept)

Sinon

ListDocConcept.Ajout(Doc, PoidsConcept)

FinSi

FinPour

FinPour

// Mise a jour du poids du document final

Pour chaque (Doc, PoidsConcept) de ListDocConcept faire

Si ListDocResult.Appartient(Doc)

Alors

Poids � ListDocResult.RecherchePoids(Doc)

NouveauPoids � Poids + (PoidsConcept / (nbArc +nbSommet))

ListDocResult.RemplacePoids(Doc, NouveauPoids)

Sinon

ListDocResult.Ajout(Doc, NouveauPoids)

FinPour

FinPour

// seuls les documents qui ont un poids supérieur au seuil sontaffichés

Pour chaque (Doc, Poids) de ListDocResult faire

Si Poids < Seuil

Alors ListDocResult.Effacer(Doc)

FinPour

TrouveConceptComparable(ConceptReq) est une fonction quirenvoie une liste de concepts (ListConceptIndex) composée deconcepts (ConceptIndex comparables à ConceptReq) pondérés parleur similarité avec ConceptReq notée PoidsConcept.

L'algorithme ci-dessus modifie la liste de document ListDocResult pour tenir compte dessommets concepts. Maintenant, nous reprenons l'exemple de la Figure 7 pour traiter la recherchedes concepts.Dans le fichier inverse InvertedFileConcept, présenté dans le Tableau 3, les documents, sont iciindexés par les sommets concepts. A chaque sommet, est associé la liste des documents qu'ilindexe.

InvertedFileConceptDocuments Identifiant de

conceptType de concept

d1 c1 tc1.1

d2 c2 tc2.1

d3 c3 tc1

d2, d3 c4 tc2

d3 c5 tc3

Tableau 3 : le fichier inverse InvertedFileConceptLa table d'accélération ConceptValue, présentée dans le Tableau 4 contient toutes lesspécialisations et généralisations possibles des concepts stockés dans le fichier inverse.

ConceptValueType Liste de concepts pondérés

T {(0.81, c1), (0.81, c2), (0.9, c3), (0.9, c4),(0.9, c5)}

tc1 {(0.9, c1), (1, c3)}tc1.1 {(1, c1), (0.7, c3)}tc2 {(0.9, c2), (1, c4)}tc2.1 {(1, c2), (0.7, c4)}tc3 {(1, c5)}tc3.1 {(0.7, c5)}Tableau 4 : la table d'accélération ConceptValue

Rappelons, que suite à l'algorithme sur la recherche sur les arcs nous avions obtenu commerésultat la liste de documents ListDocResult suivante : {(0.2325, d1), (0.225, d2)}.Considérons les sommets concepts de la requête. Pour chacun des sommets concepts de larequête, on recherche la liste des concepts qui leur sont comparables pondérés par leur similarité.Cette liste est appelée ListConceptIndex dans l'algorithme. C'est à dire que pour le sommet typépar tc1 ListConceptIndex={(0.9, c1), (1, c3)} ; pour tc2.1 ListConceptIndex={(1, c1), (0.7, c3)} etpour tc3, ListConceptIndex={(1, c5)}. Dans ces listes, on remplace les identifiants de conceptspar les documents qu'ils indexent (contenu dans la liste ListDoc) pour construireListDocConcept. On obtient, pour tc1, ListDocConcept ={(0.9, d1), (1, d2)} ; pour tc2.1,ListDocConcept ={(1, d1), (0.7, d2)} et pour tc3, ListDocConcept ={(1, d3)}. Pour chacun desdocuments des listes ListDocConcept, son poids dans ListDocResult est également divisé parquatre (nombre d'arcs + nombre de sommets concepts dans la requête). Si ce document existedéjà dans ListDocResult, on additionne son poids dans ListDocConcept à son poids dansListDocResult ; sinon on ajoute ce document et son poids dans ListDocResult. On obtient : {(0.2325+0.9/4 +1/4, d1), (0.225+ 1/4 +1/4, d2), (1/4, d3)}= {( 0.7075, d1), (0.725, d2), (0.25,d3)}. Si les poids des trois documents sont supérieurs au seuil fixé, ils sont jugés pertinents pourla requête.

5. EvaluationNotre système de recherche multilingue intitulé SyDoM (Système Documentaire Multilingue)[ROUS00] est un outil dédié aux bibliothèques virtuelles gérant des documents décrits en XML.Ce système est implémenté en java à partir de Microsoft Access. SyDoM comprend un modulede gestion des thesaurus sémantiques, un module d'indexation manuelle de documents en XMLet un module de recherche. Le thesaurus sémantique est au cœur du système. Son but est de

proposer au bibliothécaire, chargé de l'indexation, de conceptualiser sa représentation dudomaine, dans la langue de son choix. Le thesaurus est ensuite enrichi par les différentsvocabulaires contenus dans la base documentaire. Cette conceptualisation sera présentée par lasuite aux différents utilisateurs, dans la langue de leur choix, à l'aide des vocabulaires associés.

− Lors du processus d'indexation, le thesaurus est présenté au bibliothécaire pour construireles graphes sémantiques indexant les documents.

− Lors de la demande d'information, l'utilisateur choisira de visualiser le thesaurus dans lalangue de son choix pour composer son graphe sémantique requête. La Figure 8 présentel'interface d'interrogation de SyDoM. La requête composée correspond à une demanded'information sur les modèles de combustion.

La bibliothèque Doc'INSA, associée à l'INSA de Lyon, nous a fourni une base de tests poureffectuer notre validation. Il s'agit d'une série d'articles écrits en anglais, appelés les pre-printsde la Society of Automotive Engineers (SAE) consacrés à la mécanique automobile. Dans unpremier temps, il a fallu construire un thesaurus sémantique pour le domaine de la mécanique. Lethesaurus de la mécanique du centre technique des industries mécaniques nous a permisd'identifier des types de concepts. Pour les types de relation, nous avons utilisé la hiérarchie desrôles issue du Knowledge Book de Sowa [SOWA00]. Notre thesaurus se compose d'une centainede types de concepts et de trente-cinq types de relation. Environ cinquante articles ont étéindexés manuellement pour cette évaluation. Les index sont les représentations sous forme degraphes sémantiques des titres des documents. Dix requêtes ont été construites manuellementrecouvrant les concepts généraux du corpus de tests. En moyenne, un graphe sémantique indexse compose de quatre arcs, et un graphe requête de deux arcs.

Figure 8 : l'interface d'interrogation de SyDoMPour évaluer notre système nous l'avons comparé au système de documentaire de Doc'INSA.Dans ce système, les documents et les requêtes sont représentés par une liste de mots clés. Lafonction de similarité entre documents et requêtes évalue le nombre de mots clés communs. Pour

éviter les problèmes liés à la variabilité de l'indexation manuelle, les index ont été générés àpartir des graphes sémantiques index de SyDoM.La figure suivante présente les résultats de SyDoM avec différents seuils (0.8, 0.6, 0.5, 0.4, et 0)La constante VG est initialisé à 0.7 et VS à 0.9. La précision moyenne a été calculée pour 10intervalles de rappel (0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1).

évaluation de SyDoM

0

0,2

0,4

0,6

0,8

1

1,2

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

rappel

préc

isio

n

0,80,60,50,40

Figure 9: évaluation de SydoM suivant différents seuilsLa petite taille de notre collection peut expliquer l'allure générale des courbes. En effet, laplupart des requêtes ne concernent qu'un faible nombre de documents et comme ces documentssont retrouvés dans les premiers (avec un poids proche de 0.8), le taux de précision reste élevéquel que soit le taux de rappel.La figure suivante présente la comparaison entre SyDoM et le système documentaire deDoc'INSA. Notre système obtient de meilleurs résultats, car non seulement l'ajout de relationsaméliore la précision des index, mais les connaissances du thésaurus sont prises en compte aumoment de la recherche.

comparaison SyDoM Doc'INSA

00,20,40,60,8

11,2

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

rappel

préc

isio

n

SyDom seuil 0,5 Doc'INSA

Figure 10 : Comparaison entre SyDoM et le système documentaire de Doc'INSA.

Bien que, les résultats actuels nous semblent pertinents, notre évaluation n'a pas porté sursuffisamment de documents pour être définitivement concluante. La difficulté majeure restel'indexation manuelle car il est difficile de trouver le temps et les personnes pour indexer unnombre suffisant de documents. La prochaine étape consistera à comparer notre système avec unsystème similaire basé sur les graphes conceptuels. En effet, il aurait été intéressant de comparerles temps de traitement et les résultats entre SyDoM et le système développé par David Genestqui utilise une approche similaire.

6. ConclusionDans cet article, nous avons proposé un nouveau modèle de graphe pour prendre en comptel'aspect multilingue des documents. Ce modèle est une extension du modèle des graphesconceptuels [SOWA84] auquel a été ajoutée au support, la notion de vocabulaire et au graphe, lanotion de label.Nous nous sommes basés sur les travaux de David Genest [GENE00], pour proposer un nouvelopérateur de comparaison de graphes tenant compte des besoins de la recherche d'information.En effet, notre opérateur de pseudo-projection recherche non seulement les spécialisations deséléments d'un graphe H dans un graphe G mais aussi les généralisations des éléments de H dansceux de G. Cet opérateur est à la base de la fonction de comparaison de notre systèmedocumentaire multilingue, intitulé SyDoM. Notre proposition se base sur le modèle génériqueproposé dans [GENE00] pour étendre le modèle des graphes conceptuels, en considérant lesgraphes sous forme normale. Cette heuristique nous a permis de proposer un algorithme efficacede recherche.La suite de ces travaux se trouve naturellement dans les tests sur une collection de documentsplus importante engagés en collaboration avec les documentalistes de la bibliothèque Doc'INSA.Une autre perspective concernant le thesaurus sémantique consiste à utiliser l'ensemble de sesconnaissances sémantiques et terminologiques pour proposer une aide à l'indexation manuelledans SyDoM. Cette perspective est plus détaillée dans [ROUS00].

7. RemerciementsNous tenons à remercier David Genest, Sylvie Calabretto et Bruno Tellez pour leurs remarquesconstructives lors de la rédaction de cet article. Un merci tout particulier, pour les développeursde SyDoM, José Cuba et Thomas Nguyen.

8. Références[CRES95] F. Crestani, C. J. van Rijsbergen. «Information Retrieval by Logical Imaging».

Journal of Documentation, Vol 51, n°1, p 1-15,1995.[CHEI92] M. Chein, M-L. Mugnier. «Conceptual Graphs: Fundamental Notions». Revue

d'Intelligence Artificielle, Vol 6, n°4, p 365-409,1992.[GENE97] D. Genest, M. Chein. « An experiment in Document Retrieval using Conceptual

Graph ». Actes de la 5ème Conférence ICCS, Washington, USA, p 489-504, août1997.

[GENE00] D. Genest. « Extension du modèle des graphes conceptuels pour la recherched'information ». Thèse de doctorat, Université de Montpellier, Montpellier, France2000.

[GRUB93] T. R. Gruber. « A Translation Approach to Portable Ontology Specifications.»Knowledge Acquisition, Vol 5, N°2, p199-220, 1993.

[NIE 90] J.Y. Nie. « Un modèle logique général pour les systèmes de recherched'informations. Application au prototype RIME ». Thèse de doctorat, UniversitéJoseph Fourier Grenoble, France 1990.

[OUNI98] I. Ounis, M. Pasça. « RELIEF: Combining expressiveness and rapidity into asingle system ». Actes de la 18th Conférence SIGIR, 24 28 août 1998, Melbourne,Australie, p 266-274.

[RIJS86] C.J. van Rijsbergen. « A new Theoritical Framework for Information Retrieval ».Actes de la Conférence ACM-SIGIR, Pisa, septembre 1986.

[ROUS99] C. Roussey, S. Calabretto, J. M. Pinon « Etat de l'art en indexation et recherched'information». Document numérique, éditeur Hermès, Vol 3 n°3-4, p 121-149,décembre 1999.

[ROUS00] C. Roussey, S. Calabretto, J. M. Pinon « Un modèle d'indexation pour unecollection multilingue de documents». Actes de la 3ème Conférence CIDE, Lyon,France, p 153-169, juillet 2000

[SEGU97] P. Séguéla, N. Aussenac-Gilles. «Un modèle de base de connaissancesterminologiques». Actes de la deuxième journée Terminologie et IA, Toulouseavril 1997, université de Toulouse le Mirail équipe ERSS.

[SOWA84] J. Sowa. « Conceptual Structures: information processing in mind and machine ».The System Programming Series, éditeur Addison Wesley, 1984.

[SOWA00] J. Sowa. « Knowledge Representation: Logical, Philosophical, and ComputationalFoundations ». Editeur Brooks Cole, Pacific Grove, CA., 2000.


Recommended