Interrogation à base d’annotation sémantique LATRECHE Abdelkrim1, LEHIRECHE Ahmed1, BENYAHIA Kadda1 1 Laboratoire EEDIS, UDL de Sidi Bel Abbes, ALGERIE. Résumé. Les approches de la recherche d’information (RI) actuelles ne saisissent pas formellement la signification explicite d'une requête à base de mots-clés mais fournissent une voie confortable pour l'utilisateur qui spécifie ces besoins en informations sur la base des mots-clés. La recherche sémantique promet de fournir des résultats plus précis que la traditionnelle recherche par mots-clés. Toutefois, les progrès de la recherche sémantique ont été retardés en raison de la complexité de ses langages de requête. Dans ce document, nous explorons une nouvelle approche pour l'adaptation des requêtes mots- clés pour pouvoir interroger le web sémantique en se basant sur les annotations sémantiques: l'approche traduit automatiquement des requêtes mots clés en des requêtes formelles, afin de permettre aux utilisateurs finaux familiarisés avec l’utilisation des mots clés d’utiliser ces mots-clés pour effectuer des recherches sémantiques. Un prototype de système a été mis en œuvre sur la lumière de cette approche. Etant donné une requête mots clés, notre système donne en résultats une liste classé de requêtes SPARQL en tant que résultat de la traduction. La traduction dans notre système se compose de trois grandes étapes: Mapping des mots clés aux éléments de la B.C., Construction des graphes requêtes et Classement des requêtes. Avec les premiers tests notre système a réalisé des résultats de traduction encourageant. Mots-Clés : Web Sémantique, Recherche Sémantique, Annotation, Ontologie, RDF, SPARQL. 1 Introduction La quantité d’information disponible sur internet est aujourd’hui gigantesque et sa croissance est exponentielle, le nombre d’usagers d’internet double chaque année. On estime que la taille du Web couvert par les moteurs de recherche est estimée à au 1 moins 24 milliards de pages . Mais la spécificité de telles sources d’informations les rend difficilement exploitables. La raison principale est que les documents sont fragmentés, dispersés, hétérogènes et sont souvent très peu structurés. Cependant, grâce aux efforts de la communauté du Web sémantique (W3C), une deuxième 1 http://www.worldwidewebsize.com/ génération est établie dont la vision initiée en 1998 par Sir Tim Berners-Lee [2] a pour objectif de structurer les informations disponibles sur le Web. Pour cela, les ressources, textuelles ou multimédias, doivent être sémantiquement annotées par des métadonnées afin que les agents logiciels puissent les exploiter. La représentation explicite des contenus des ressources documentaires du Web est rendue possible grâce notamment aux ontologies qui proposent une compréhension commune et partagée d’un domaine, tant au niveau des utilisateurs humains qu’au niveau des applications logicielles [3]. Dans [9] l’annotation sémantique est définit comme “une représentation formelle d’un contenu, exprimée à l’aide de concepts, relations et instances décrits dans une ontologie, et reliée à la ressource documentaire source”. Pour ce faire, le Web Sémantique fournit un ensemble de langages et de technologies pour la modélisation des ontologies et l’annotation sémantique des contenus documentaires en fonction de ces ontologies [4]. Les standards du W3C, tels que XML [5], RDF [6] et les schémas RDF (RDFS) offrent un format uniforme pour la description et l’échange du contenu du Web. D’autres efforts accomplis par des communautés commerciales et/ou académiques tels que DAML+OIL [7], OWL [8]. L’utilisation des annotations sémantiques, en recherche d’information est devenue une voie très explorée. Dans cette optique, plusieurs systèmes de recherche d’informations à base d’annotations et d’ontologies ont été proposés. Dans ce type d’outils de recherche, de manière générale, les pages Web sont (peut-être incomplète) des instances de certaines ontologies de domaine, et ils contiennent des données sémantiquement annotées selon les sous-tendent ontologie de domaine, pour plus de détails voir [11,12]. De même, que de nombreux langages de requêtes sémantiques (par exemple, RQL [16], RDQL2, SquishQL [17] et SPARQL3) ont été proposés pour interroger ces annotations. En particulier le langage SPARQL, qui une recommandation du W3C dont la standardisation finale datte du 15 Janvier 2008. Toutefois, pour pouvoir utiliser ces langages sémantiques, les utilisateurs doivent maîtriser les représentations complexes de la logique formelle et être familier aves les ontologies sous-adjacentes. Ceci devient un fossé critique entre la recherche sémantique et les utilisateurs finaux. Par conséquent, il est important de permettre aux utilisateurs d'effectuer des recherches sémantiques simplement en entrant des requêtes à base de mots clés. Pour adapter la recherche par mots clés à la recherche sémantique, nous avons à surmonter les obstacles suivants [24]: 1) Le fossé vocabulaire : Les utilisateurs du web traditionnel généralement n'ont pas de connaissances sur le contenu et la structure de la base de connaissances (annotations et ontologies sous-jacentes). 2) Le manque de relations : les relations entre les ressources de la base de connaissances sont exigées pour être explicitement énoncées dans les requêtes formelles, qui sont souvent manquantes dans les requêtes mots-clés des utilisateurs. 3) Classement des Requête: En raison de l'ambiguïté de la recherche par mots clés, il peut y avoir de multiples requêtes formelles produites à partir d'une requête mots-clés. Dans le contexte de Web sémantique il existe des travaux sur la traduction des requêtes mots-clés en requêtes sémantiques. Royo et al. [18] propose un mapping des 2 http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/ 3 http://www.w3.org/TR/rdf-sparql-query/ mots-clés à leurs correspondant synsets de WordNet.. Bernstein et al. [19] explore les langages contrôlés fourni et les interfaces guidées par le langage naturel [26]. Du point de vue de l'affinement des requêtes [20] [21], l'écart entre les besoins en information des utilisateurs et leurs requêtes sémantique est quantifié par la mesure de plusieurs types d’ambiguïtés des requêtes à travers les interactions progressives. La recherche à base de graphe [22] contribue également dans cette voie, par la construction des graphes requêtes par le biais de la navigation et de sélection sur l'ontologie. SemSearch [14], a une petite interface structurée de requête mots-clés pour cacher la complexité de la recherche sémantique. Avatar Semantic Search [23] est un prototype de moteur de recherche qui exploite les annotations dans le contexte de la recherche par mot-clé classique. Une autre application représentative de la recherche sémantique à base de mot clé est OntoLook [28]: un prototype de moteur de recherche à base de relation. Dans [10], les auteurs ont proposés une approche pour traduire les requêtes mots-clés en requêtes conjonctives DL en utilisons les connaissances disponibles dans une ontologie. Dans [24] la construction des graphes requêtes se base sur l’application de l’algorithme MST (Minimum Spanning Tree). Thanh et al. [25] présentent une approche de recherche par mot-clé sur les données structurées en graphe, en mettant l'accent en particulier sur le modèle de données RDF. Beaucoup de méthodologies pour décider des meilleures requêtes ont été proposés [26, 27, 24, 25]. Sur la base des travaux présentés ci-dessus, nous présentons une approche qui permet de traduire automatiquement des requêtes mots-clés en requêtes formelle SPARQL en vertu de la base de connaissances (base d’annotations sémantiques). Les étapes principales de traduction sont: 1) Le mapping des mots clés aux éléments de la BC, 2) Construction des graphes requêtes et 3) Classement des requêtes. Fig. 1. Exemple de graphe de données RDF, graphe de connexion, graphe requête De cette façon, les utilisateurs peuvent garder l'habitude de saisir les mots-clés pour interroger le Web sémantiques sur la base d’annotation sémantique d'une manière transparente, ce qui augmentent l'utilisation sociale de la recherche sémantique. Le reste de ce document est organisé comme suit: section 2 définit le problème de la construction des requêtes formelles. Section 3 décrit les principales étapes de construction de requête formelle SPARQL. L’implémentation et les résultats expérimentaux sont présentés dans la section 4. Nous donnons la conclusion et les travaux futurs dans la dernière section. 2 Définition du problème Dans une base de connaissances RDF, une requête sémantique correspond à un graphe requête avec des nœuds objets et des arcs propriété. Ainsi, nous pouvons réduire le problème de la traduction des requêtes mots clés en requêtes formelles conjonctives au problème de la construction des graphes requêtes équivalent. Pour clarifier le problème, nous donnons la définition formelle comme suit: - Base de connaissances (B.C) D :(C, I, L, R, ) est un graphe orienté GD où : C et R définis respectivement des ensemble de concepts (classes) et de relations (propriétés). I et L définis respectivement des ensembles d’individus (ressources) et de littéraux. La fonction :(C I) X (C I L) R définit tous les triples de D. En outre, nous utilisons le symbole éléments (entités) {e} :{C R I L} pour représenter toutes les concepts (classes), individus (ressources), relations (propriétés), et les littéraux. - Requête mots clés Qu est un ensemble de mots-clés {k1,…,kn}. - Requête formelle Qs :(C’, R’, I’, L’, V, ’) de D est un graphe GF subsumé par GD.. V est l'ensemble des nœuds variable. ’ : (I’ C’ V) X (I’ C’ V L’) R’ définit l'ensemble des triples de Qs. Dans la section suivante, nous illustrerons notre approche en détaille. 3 Aperçu de l’approche L’infrastructure de notre système se compose de deux modules (fig. 2) : Le module prétraitement a pour rôle d’indexer automatiquement les entités de la base de connaissances pour obtenir un index qui sera utilisé dans l’étape de Mapping des mots clés aux éléments de la B.C. Alors que Le module de construction des requêtes formelles prend en entrée les mots-clés, et renvoie en sortie une liste classées de requêtes conjonctives SPARQL. Dans les sections suivantes, nous détaillerons ces déférentes étapes. Fig. 2. Architecture générale de l’approche proposée 3.1 Mapping des mots clés aux éléments de la B.C. Le but de ce mapping est de trouver les éléments de la B.C. (c'est-à-dire concepts, individus, relations et littéraux) correspondants à chaque mot clé de la requête de l’utilisateur. Les noms et les étiquettes (labels) des éléments de la B.C. sont utilisées pour le mapping. Dans notre approche, deux types de méthodes de mapping peuvent être utilisées: 1) le mapping morphologique emploie les techniques de comparaison de chaîne de caractères, tels que le stemming, Sub-String et Levenshtein Distance pour trouver les mots morphologiquement semblables; 2) Le mapping sémantique utilise principalement des dictionnaires généraux comme WordNet [1], afin de trouver les mots sémantiquement approprié (par exemple, les synonymes, etc.). Nous assignons un score prédéfini Sm(e) (Sm(e) [0,1]) à chaque méthode de mapping pour déterminer la qualité du mapping. En règle générale, le score du mapping direct est supérieur au mapping à base des synonymes. En conséquence le Mapping des mots clés aux éléments de la BC associe à chaque terme de la requête mots clés un ou plusieurs sens selon la base de connaissances. En particulier, le mapping peut être définie comme fonction f : Qu D qui pour chaque terme de la requête mot clés retourne un ensemble des éléments de la B.C. Pour des fins pratiques le moteur de recherche Lucene4 est effectivement utilisée comme moteur d'index et de recherche. C'est à dire, les noms et les étiquettes des éléments de la B.C. sont indexées, et en utilisant la fonction de recherche de Lucene, une requête est générée pour chaque mot-clé entré. Le moteur retourne les éléments de la B.C. classées en fonction de leurs similarités syntaxique aux mots clés respectifs. Ces éléments appelés « éléments mots clés » Dm = {f(ki) / Qu=(k1,..., Kn)} seront alors introduit dans l'étape de la construction des graphes requêtes. 4 Voir http://lucene.apache.org/java/docs/ Algorithme Exploration-BC (Dm, d) 1 Entrée Dm ensemble des éléments mots clés et d distance de la traversée. 2 Sortie graphe contenant tous ou certaines éléments de D. 3 Initialisation d’un nouveau graphe vide g. 4 Pour e Dm 5 Faire Si e est un concept 6 Alors Pour Tous i étant instance de e 7 Faire Traversé (i, d, 0, g) 8 Sinon Si e est une propriété d’objet (Individu-Individu) 9 Alors Pour Tous i, j avec D 10 Faire Traversé (i, d, 0, g) 11 Traversé (j, d, 0, g) 12 Sinon Si e est une propriété de données (Individu-Littérale) 13 Alors Pour Tous i, j avec D 14 Faire Traversé (j, d, 1, g) 15 Sinon Si e est un Individu 16 Alors Traversé (e, d, 0, g) 17 Sinon Si e es un Littérale 18 Alors Traversé (e, d, 1, g) 19 Retourné g Fig. 3. Algorithme d’exploration de la B.C. 3.2 Construction des Graphes Requête Ce processus construit les graphes requête candidats avec les éléments mots clés trouvés dans l’étape précédente. Tout d'abord, les éléments mots clés sont répartis en différentes ensembles de requêtes. Le but de cette répartition est d’attribuer un sens à chaque requête formelle par l’énumération de toutes les combinaisons possibles des différents sens pour chaque terme ki de Qu. Ensuite, un certain nombre d’algorithmes sont appliqués pour construire de possible graphes requêtes pour chaque ensemble de requêtes. 3.2.1 Calcul des graphes de Connexions Dans notre approche, l’exploration des relatons se limite aux relations de type : (i, c), (i1, R, i2) et (i, U, j) où i, i1, i2 I, j L, c C, R R , U U avec I (Individus), L (littéraux), C (Concepts), R (propriétés d’objets) et U (propriétés de données) Par l'utilisation de ces axiomes, nous explorons touts les éléments de la B.C. liées aux éléments de Dm identifiés dans la première étape selon l'algorithme montré à la Fig. 3. Le processus du calcule des graphes de connexions se déroule comme suit : 1. Explorer les liens entre les éléments de la B.C :.Fondamentalement, l'exploration comprend la traversée des voisins pour chacun des éléments de Dm. Ensuite, selon le type de l'élément particulier em Dm, différents parcours sont effectués pour construire un graphe connectant em à tous ces voisins sur une distance spécifique d. Soit un concept, tous les individus sont recherchés par l'intermédiaire de l’axiome (i, c). Compte tenu une relation, les axiomes (i1, R, i2) et (i, U, j) sont utilisées pour naviguer vers les individus et les littéraux, respectivement. La figure 4, montre le pseudocode de l’algorithme pour la traversée récursif d'un individu ou d’un littéral particulier à ses voisins concepts, individus et littéraux. La valeur de d est réduite de un à chaque étape de récusions pour assurer à ce que cette traversée sera limitée à une certaine distance. En fin de compte, nous obtenons un graphe g contenant touts les éléments de D qui ont une distance graphique qui ne dépasse pas d au moins à un des éléments de Dm. Ainsi, quelques éléments découverts peuvent vraiment ne pas être nécessaires pour connecter des éléments de Dm. Par conséquent, à partir de ce graphe, ont choisis seulement les chemins où le premier et le dernier sommet correspond est un élément de Dm. En particulier, une version modifiée de la procédure DFS (Depth First Search) sur les graphes est utilisé pour le calcul de tous les chemins p P pour chaque paire possible tel que (a, b) Dm tel que p= (a, e1, ..., en, b), et aucun des sommets n’est visité plus d'une fois. Ces chemins seront introduits dans l'étape suivante. 2. Le calcul des Connexions : Une requête peut être dérivée quand tous les éléments Dm identifiés dans la première étape sont connectés. En fusionnant tous les chemins P calculés dans l'étape précédente, nous obtenons toutefois un graphe qui peut contenir plusieurs différents sous-graphes connectant tous les éléments de Dm. Le sous-graphe connectant les éléments de Dm sont calculés par une procédure récursive montrée dans l'algorithme de la fig.5. L'entrée de l'algorithme est l'ensemble des chemins P calculée précédemment La récusions commence par la sélection d’un certain chemin connectant deux sommets arbitraires et entre d'autres récusions pour ajouter des sommets supplémentaires. De cette façon, tous les sous-graphes en forme d’arbre possibles connectant des éléments de D sont déterminés. Algorithme Traversé ( i, d, t, g) 1 Entrée i un individu ou un littérale à explorer, d distance de la traversée, g un graphe 2 intermédiaire. 3 Sortie graph g mis à jour contenant les éléments connecté à i sur une distance d. 4 Si i n’est pas marqué comme visité et d>0 5 Alors Marquer i comme visité dans D 6 Si t=0 7 Alors Ci :={c / i instances de c} 8 Ajouter Arête (i, type, c) dans g pour tout c Ci 9 P :={(i, p, j) / D} 10 Pour Tous (i, p, j) P 11 Faire Si j n’est pas marqué comme visité dans D 12 Alors Ajouter nouveau Arête (i, p, j) dans g 13 Si j est un individu 14 Alors Traversé (j, d-1, 0, g) 15 Sinon Traversé (j, d-1, 1, g) 16 Si t=1 17 Alors P :={(j, p, i) / D} 18 Pour Tous (j, p, i) P 19 Faire Si j n’est pas marqué comme visité dans D 20 Alors Ajouter nouveau Arête (j, p, i) dans g 21 Si j est un individu 22 Alors Traversé (j, d-1, 0, g) Fig. 4. Algorithme d’exploration des individus et des littéraux 3.2.2 Mapping des graphes de Connexions aux graphes requête Enfin, Chacun des graphes de connexion Gc trouvé précédemment est ensuite traduit en un graphe requête comme suit : une arête dans Gc de la forme type (vi, vc) (représentant la connexion (i, c)) est considéré comme arête dans le graphe requête de la forme Type(x, C), où vi, est un sommet construit au moyen d'un individu, vc est construit en utilisant un concept, et x est un individu ou une variable. Lorsqu’un individu de vi correspond à certains éléments em Dm, il est considéré comme une constante, sinon une variable est utilisé pour ce terme. Comme le même individu peut être utilisé dans beaucoup d’arêtes, la même variable doit être utilisée pour le même individu. Les arêtes construit avec les axiomes de la forme R (vi, vj), où vi (vj) est construit en utilisant soit un individu ou un littérale (connexions (i1, R, i2) et (i, U, j)). Ces arêtes sont considérés comme arêtes dans le graphe requête de la forme R(x, y), où un sommet construits au moyen d'un individu est associé à une variable ou une constante comme décrit ci-dessus. Lorsque vi (vj) est construit en utilisant un littérale, il est tout simplement considéré comme nœud associé à une constant. Dans notre exemple de la Fig.1, il existe un seul graphe de connexion donc un seul graphe requête. Puisque SPARQL est un langage d'interrogation basé sur les motifs de graphes, il est facile de convertir un graphe requête en une requête SPARQL. Algorithme Calculer-graphe-connexion (P, C, R, G, g) 1 Entrée l’ensemble de chemins P calculer par DFS pour tous les éléments mots clés de Dm 2 Sortie Tous les sous-graphes connectant les sommets de Dm 3 Si G= 4 Alors Pour {i, j} R 5 Faire G=NouveauGraphe 6 Pour chaque chemin p entre i et j (calculer par DFS) 7 Faire ajouter (i, p, j) dans G 8 Calculer-graphe-connexion (P\p, C {i, j}, R\{i, j}, G) 9 g=g G 10 Sinon Pour i R 11 Faire Pour j C 12 Faire Pour chaque chemin p entre i et j 13 Faire ajouter (i, p, j) dans G 14 Calculer-graphe-connexion (P\p, C {i}, R\{i}, G) Fig. 5. Algorithme pour calculer les graphes de connexions 3.3 Classements des requêtes Après l'étape de la construction des graphes requêtes, plusieurs requêtes formelles candidates peuvent être produites à partir de la requête mots-clés initiale correspondant à toutes les interprétations possibles des mots clés. Un problème se pose: comment prendre la requête formelle qui correspond aux besoins de l’utilisateur?. Le calcule du score des réponses a été largement discuté dans le domaine de la recherche d'information. Dans le contexte des données structurées en graphe, Les métriques standard souvent utilisés sont "PageRank" (pour calculer le score des sommets) et le plus court chemin (pour calculer le score des chemins). Les graphes sont construits à partir d'un ensemble de chemins P. Le score d'un tel graphe est défini comme agrégation monotonique des scores de ses chemins. En particulier, CG = pi P Cpi est utilisé, où Cpi et CG dénotent des coûts. En général, le coût d'un chemin est calculé à partir du coût de ses éléments, c'est-à-dire Cpi= n pi c( n) . Sur la base des modèles proposés dans [62] pour attribuer des scores aux graphes requêtes, nous allons présenter la métrique que nous allons adoptées dans notre approche. Cette métrique représente à la fois le score de popularité et le score du c (n) mapping des éléments d’un graphe requête. CG = , où sm(n) est pi P n pi sm (n) le score du mapping d’un élément n et reflète à la fois la similarité syntaxique et sémantique de l’élément n. c(n) est une fonction de coût spécifique des éléments. En | vagg | | eagg | particulier, on définit c(v)=1- pour les sommets v et c(e)=1- pour les |V | |E| arêtes, où |V| est le nombre total de sommets dans le graphe d’exploration, |vagg| est le nombre des individus qui sont relies au sommet v, |E| est le nombre total d'arêtes et |eagg| est le nombre d’arêtes correspondant à e dans le graphe d’exploration. 4 Implémentation et expérimentation Notre système est implémenté en Java et Jena5 API. Un utilisateur saisi sa requête mots-clés et il obtient en revanche une liste classée des requêtes SPARQL. Ces requêtes SPARQL traduites peuvent ainsi être directement envoyées à moteur de recherche ARQ6 pour avoir les ressources relatives à sa requête. Nous allons maintenant discuter les expériences que nous avons réalisées pour évaluer l'efficacité et le rendement de notre approche. Pour évaluer notre approche, nous utilisons une base d’annotation RDF au sujet des publications scientifiques sur l’informatique. Notre expérience a été réalisée sur un PC avec un CPU Pentium de 3,2 GHz et 2 Go de mémoire. Afin d'évaluer l'efficacité de notre approche, nous avons demandé à des collègues de nous fournir des requêtes mots-clés avec leurs descriptions en Langage Naturel (LN). 20 requêtes différentes ont été proposées. Un exemple de requête est : "publications SmartWeb Pascal Hitzler 2002" (retrouver toutes les publications publié par Pascal Hitzler dans SmartWeb en 2002). Nous avons pris deux métriques pour l'évaluation: Rappel et MRR : Le rappel est défini comme le nombre des requêtes mots-clés correctement traduites divisées par toutes les requêtes mots-clés de l’ensemble d'évaluation (c.-à-d. 20 dans notre cas). Tandis que MRR, se concentre sur les performances globales du système. Pour 5 http://jena.sourceforge.net/ 6 http://jena.sourceforge.net/ARQ/ évaluer l'efficacité de la génération des requêtes et leur classement, une métrique standard en RI appelé Reciprocal Rank (RR), définie comme RR =1/r est utilisé, où r est le rang de la bonne requête. Selon notre définition du problème, une requête est correcte si elle correspond au besoin en information (la description LN fournie). Si aucune des requêtes générées ne correspondent à la description LN, RR est égale à 0. Nous avons calculé MRR qui est la moyenne de RR de toutes les requêtes mots-clés de notre test. Nous avons obtenus un rappel de 0.825 et un MRR de 0.745 (Fig. 6) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Rappel MRR Fig. 6. Résultats des expériences 5 Conclusion et travaux futurs Dans ce document, nous avons formalisé le problème de la construction des requêtes formelle et présenter une approche efficace pour le résoudre. Notre système vise à traduire les requêtes mots-clés en requêtes SPARQL en utilisant les connaissances disponibles dans une base de d’annotation pour réduire l'écart entre la recherche sémantique basé sur la logique formelle et les utilisateurs finaux habitué à utiliser les moteur de recherche classique basé sur les mots clé. Notre approche peut se résumé ainsi : Une fois un utilisateur entre une requête mots-clés, la première étape qui est réalisée est le mapping des mots clés aux éléments de la BC, cette étape utilise un ensemble de méthodes de mapping pour trouver les éléments correspondants dans la base de connaissances en fonction des mots-clés de l'utilisateur. Ensuite, l'étape de construction des graphes requête énumère toutes les combinaisons possibles de requête et applique un certain nombre d’algorithmes pour construire les graphes requêtes avec différents sens des éléments mots clés. Enfin, l'étape de classement des requête évalue les requêtes formelles construites à en utilisant un modèle probabiliste de classement des requêtes. Une liste de requêtes SPARQL classée sera remis à l'utilisateur final. Avec les premiers tests notre système a réalisé des résultats de traduction encourageant. La principale contribution de ce document est l’exploitation des annotations sémantiques dans la recherche d’information sur le Web. Dans les travaux futurs, nous estimons améliorer notre approche de plusieurs façons: 1) élargir la portée des requêtes par l'introduction de certains opérateurs structurés (par exemple, NOT, OR, les filtres etc.) et en améliorant le support d'interaction humaine pour traduire les besoins en informations plus complexes. 2) Les travaux futurs seront axés sur le renforcement de la performance. Nous envisageons d'exploiter la connaissance disponible dans l’ontologie pour une «exploration guidée » des liens entre les entités d'ontologie pour réduire le nombre de requêtes. 3) étendre notre approche sur une base d’annotation plus consistante et reparti sur le Web. Bibliographie 1. Miller, G.A.: Wordnet: a lexical database for english. Commun. ACM 38(11) (1995) 39– 41 2. BERNERS-LEE T., Weaving the Web, Harper Eds, San Francisco, 1998, 226 p. 3. Fensel, D. et al eds. 2003. Spinning the Semantic Web:Bringing the World Wide Web to Its Full Potential. Cambridge, Mass.: MIT Press. 4. UREN V., CIMIANO P., HANDSCHUH S., VARGAS-VERA M., MOTTA E. & CIRAVEGNA F., Semantic annotation for knowledge management: requirements and a survey of the state of the art, in Journal of Web Semantics, Science, Services and Agents on the World Wide Web, 4(1), Elsevier, 2006, pp.14-26. 5. Bray, T., J. Paoli, and C.M. Sperberg-McQueen (1998). Extensible Markup Language (XML) 1.0. W3C Recommendation, February 6. Lassila, O., and R. Swick, (1999). Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation. 7. Harmelen, F., P.F. Patel-Schneider, and I. Horrocks (2001). Reference Description of the DAML+OIL. Ontology markup language.html. 8. Ding, L., P. Kolari, T. Finin, A. Joshi, Y. Peng, and Y. Yesha (2005). On Homeland Securityand the Semantic Web: A Provenance and Trust Aware Inference Framework. AAAI Spring Symposium on AI Technologies for Homeland Security, Stanford University, CA. 9. Amardeilh, F. (2007). Web Sémantique et Informatique Linguistique :propositions méthodologiques et réalisation d’une plateforme logicielle. Thèse de doctorat. Discipline : Informatique . Université Paris X – Nanterre, Mai 2007 10. T. Tran, P. Cimiano, S. Rudolph, and R. Studer, “Ontology-based interpretation of keywords for semantic search,” in ISWC/ASWC, 2007, pp. 523–536. 11. K. S. Esmaili and H. Abolhassani. A categorization scheme for semantic web search engines. In 4th ACS/IEEE Int. Conf. on Computer Systems and Applications (AICCSA- 06), 2006. 12. Peter Scheir, Viktoria Pammer, Stefanie N. Lindstaedt,Information Retrieval on the Semantic Web - Does it exist?, 2007 13. Y Lei, V S Uren and E Motta, Avatar: A search engine for the semantic web. EKAW 2006, pp. 238–245. 14. Lei, Y., Uren, V., Motta, E.: Semsearch: A search engine for the semantic web. Lecture Notes in Computer Science : Managing Knowledge in a World of Networks (2006) 238– 245 15. Victoria Uren, Yuangui Lei, Enrico Motta , SemSearch: Refining Semantic Search ,2008 16. Karvounarakis, G., Alexaki, S., Christophides, V., Plexousakis, D., Scholl, M.: RQL: A Declarative Query Language for RDF. In: Proceedings of WWW’02, New York, NY, USA, ACM Press (2002) 592–603 17. Miller, L., Seaborne, A., Reggiori, A.: Three Implementations of SquishQL, a Simple RDF Query Language . In: Proceedings of ISWC’2002. (2002) 18. Royo, J., Mena, E., Bernard, J., Illarramendi, A.: Searching the web: From keywords to semantic queries. In: Proceedings of the Third International Conference on Information Technology and Applications (ICITA’05), IEEE Computer Society (2005) 244–249 19. Bernstein, A., Kaufmann, E., Gohring, A., Kiefer, C.: Querying ontologies: A controlled English interface for end-users. In: Proceedings of ISWC’2005. (2005) 20. Stojanovic, N., Stojanovic, L.: A Logic-based Approach for Query Refinement in Ontology-based Information Retrieval Systems. In: Proceedings of the 16th IEEE Int. Conf. on Tools with Artifical Intelligence. (2004) 21. Carlos A. Hurtado, A.P., Wood, P.T.: A Relaxed Approach to RDF Querying. In: Proceedings of ISWC’2006. (2006) 22. N Athanasis, V.C., Kotzinos, D.: Generating On the Fly Queries for the Semantic Web: The ICS-FORTH Graphical RQL Interface (GRQL). In: Proceedings of ISWC’2004. (2004) 23. Kandogan, E., Krishnamurthy, R., Raghavan, S., Vaithyanathan, S., Zhu, H.: Avatar Semantic Search: A Database Approach to Information Retrieval. In: Proceedings of SIGMOD’06, New York, NY, USA, ACM Press (2006) 790–792 24. Zhou, Q., Wang, C., Xiong, M., Wang, H., Yu, Y.: SPARK :Adapting keyword query to semantic search. In: ISWC/ASWC. (2007) 694-707 25. Thanh Tran , Haofen Wang , Sebastian Rudolph , Philipp Cimiano , Top-k Exploration of Query Graph Candidates for Efficient Keyword Search on RDF, 2008 26. Stojanovic, N., Gonzalez, J., Stojanovic, L.: Ontologer: A System for Usage-Driven Management of Ontology-Based Information Portals. In: Proceedings of L-CAP’2003. (2003) 27. Anyanwu, K., Maduko, A., Sheth, A.: SemRank: ranking complex relationship search results on the semantic web. In: Proceedings of WWW’2005, New York, NY, USA, ACM Press (2005) 117–127 28. Li, Y., Wang, Y., Huang, X.: A Relation-Based Search Engine in Semantic Web. Proceedings of IEEE Transactions on Knowledge and Data Engineering 19(2) (2007) 273– 282. 29. Toumouh, A. Lehireche, D. Widdows, M. Malki. Adapting WordNet to the Medical Domain using Lexicosyntactic Patterns in the Ohsumed Corpus: 4th ACS/IEEE International Conference on Computer Systems and Applications (AICCSA-06), , Dubai/Sharjah, UAE. 2006. 30. D. Widdows, A. Toumouh, B. Dorow, A. Lehireche. Ongoing Developments in Automatically Adapting Lexical Resources to the Biomedical Domain, International Conference On Language Resources And Evaluation, , Italy, LREC 2006.