Team ACACIA

Members
Overall Objectives
Scientific Foundations
Application Domains
Software
New Results
Contracts and Grants with Industry
Other Grants and Activities
Dissemination
Bibliography
Inria / Raweb 2002
Project: ACACIA

Project : acacia

Section: New Results


Keywords : acquisition de connaissances , ingénierie de connaissances , gestion de connaissances , mémoire d'entreprise , environnement de programmation , serveur de connaissances , World Wide Web , Web sémantique , XML , RDF , CommonKADS , graphes conceptuels , ontologie , recherche d'information .

Recherche d'information dans un Web sémantique d'entreprise

Nous étudions les problèmes liés à la diffusion des connaissances à travers un serveur de connaissances via un réseau Intranet ou Internet : nous considérons le Web, et en particulier le Web sémantique, comme un moyen privilégié pour l'aide à la gestion des connaissances distribuées intra-entreprise ou inter-entreprises. Un serveur de connaissances permet la recherche d'informations dans une mémoire d'entreprise hétérogène, cette recherche étant intelligemment guidée par des modèles de connaissances ou des ontologies. Il permet également la dissémination proactive d'informations par des agents intelligents. Nous approfondissons le cas d'une mémoire matérialisée sous forme d'un Web sémantique d'entreprise, c'est-à-dire sous forme de ressources (telles que des documents) annotées sémantiquement par des énoncés RDF relatifs à une ontologie.

Moteur RDF Corese

Keywords : gestion de connaissances , mémoire d'entreprise , environnement de programmation , serveur de connaissances , Web sémantique , XML , RDF , graphes conceptuels , ontologie , recherche d'information .

Participants : Olivier Savoie, Olivier Corby [correspondant], Francis Avnaim.

L'objectif de ces travaux est de concevoir un moteur de recherche sémantique basée sur une ontologie RDFS.

Cette année a été consacrée à optimiser le logiciel Corese de manière à pouvoir traiter un graphe RDF d'un million de relations. Des systèmes de caches et d'indexation de graphes ont été développés.

Nous avons intégré les aspects terminologie multilingue de telle manière qu'un concept puisse être accessible par des termes dans différentes langues. L'interface graphique prend ces termes en compte.

Nous avons intégré les évolutions récentes de RDF : sémantique conjonctive de « domain » et « range », range multiple, datatype.

Nous avons enfin développé une fonction de recherche approchée. Cette fonction permet de fournir une réponse approchée à une requête au cas où aucune réponse exacte n'existe. De plus le moteur classe les réponses par ordre de pertinence. Pour cela nous avons implanté dans Corese la proposition de la thèse de Fabien Gandon utilisant une distance sémantique basée sur l'ontologie. La distance entre concepts est basée sur la longueur des chemins entre les concepts et cette longueur varie avec la profondeur. Ainsi, deux frères de profondeur n+1 sont plus proches que deux frères de profondeur n. Ainsi, RapportTechnique et RapportDeRecherche sont deux concepts frères plus proches que les concepts frères Entité et Evènement. Le moteur prend également en compte les énoncés seeAlso de RDFS définis sur les classes pour calculer la proximité entre concepts.

Corese fait l'objet d'une opération de développement logiciel (ODL) destinée à améliorer la qualité de l'implémentation afin d'en favoriser la diffusion. Ces travaux se déroulent dans le cadre de l'ODL Corese depuis juin 2002. L'objectif principal est d'augmenter la qualité du logiciel du point de vue de l'architecture (modularité, documentation, test, évolution), de l'interface de programmation et de l'utilisabilité (interface utilisateur). En effet Corese est la plate-forme de nos expérimentations et sert de base aux collaborations du projet ACACIA. Corese est donc amené à évoluer et à être diffusé.

Les travaux se situent à trois niveaux différents :

Architecture de Corese

Ces travaux se sont déroulés en plusieurs phases avec d'abord une analyse de l'architecture existante de Corese, pour délimiter des composants distincts et la répartition des classes dans ces composants. Ensuite nous avons modélisé la nouvelle architecture de manière à optimiser les dépendances entre composants, la réutilisabilité potentielle des composants en étudiant des interfaces de programmation de chaque composant, et l'intégration de Corese sous forme de serveur Web ou intranet. Ces différentes études nous ont amenés à la modélisation UML de l'actuel Corese, puis de la nouvelle architecture proposée, de l'écriture d'un rapport de conception intégrant les diagrammes UML et des explications textuelles (en anglais), ceci afin de représenter de manière visuelle l'architecture et le fonctionnement dynamique de Corese et d'avoir une base pour les développements futurs. La modélisation UML s'est appuyée sur des schémas de conception normalisés (Design Pattern) dont nous avons effectue l'étude (ex : façade, proxy).

Code Java de Corese

Les études architecturales de Corese nous ont amenés à appliquer des modifications au niveau du code en modifiant la structure des packages et en limitant les dépendances entre composants internes mais aussi externes. Ceci permet une meilleure intégration de Corese dans d'autres projets de collaboration ou de diffusion.

Méthodes de développement

Pour systématiser les procédures de développement Java (édition du code Java, compilation, tests unitaires, archivage), nous avons mis en place un environnement de développement intégré autour d'une plate-forme d'édition Java, à laquelle plusieurs fonctionnalités ont été ajoutées après configuration. Cet environnement comprend donc l'éditeur, une fonctionnalité de compilation (makefile XML), une fonctionnalité de tests unitaires, et une fonctionnalité de développement collaboratif (CVS), le tout accessible depuis les fenêtres de JBuilder. Cet environnement permet un gain de temps substantiel lors des différentes étapes de développement, notamment au niveau des tests unitaires et une approche méthodique de l'évolution de Corese (archivage méthodique).

Recherche d'information guidée par des ontologies

Keywords : graphe conceptuel , XML , RDF , Web sémantique , recherche d'information .

Participants : Carolina Medina-Ramírez, Rose Dieng, Olivier Corby.

L'objectif de ces travaux est de comparer plusieurs langages de représentation des connaissances pour représenter des ontologies ainsi que le contenu de documents et permettre une recherche guidée par ces ontologies.

Ces travaux se sont déroulés dans le cadre de la thèse de Carolina Medina-Ramírez .

Nous avons proposé le système EscrireServer : un serveur de connaissances basé sur le formalisme de graphes conceptuels pour la recherche d'information dans une mémoire documentaire, en utilisant une ontologie et des annotations représentées en langage ESCRIRE . Dans EscrireServer, nous proposons une méthode de traduction du langage ESCRIRE vers le langage RDF(S) ainsi qu'un outil pour la génération de documents virtuels à partir des réponses à une requête posée. Ces documents virtuels sont générés en exploitant la requête de l'utilisateur et des informations contenues dans les annotations constituant la mémoire d'entreprise.

Notre approche s'appuie sur les langages RDF et XML proposés par le World Wide Web consortium pour représenter respectivement n'importe quelle ressource du Web et pour structurer les informations (par exemple des informations qui se trouvent dans un document), sur le langage RDFS pour exprimer l'ontologie ESCRIRE et sur le langage XSLT pour implémenter notre traducteur (langage ESCRIRE langage RDF(S)).

Nous utilisons pour la recherche d'information la plate-forme Corese développée par l'équipe Acacia.

Le processus de traduction utilisé se passe en deux temps :

Pour mener à bien la construction du système EscrireServer, nous avons mené des travaux sur les points suivants :

  1. Base de requêtes test : Pour tester le prototype développé, nous avons proposé un ensemble de requêtes pour chaque élément du langage ESCRIRE. En particulier, nous avons des requêtes pour évaluer :

    • l'ontologie : les relations binaires (substage, subpart) ainsi que leur propriétés (symétrie...), les objets globaux.

    • les annotations : relations, objets.

  2. Le langage de requêtes : Pour implementer les opérateurs établis par le langage ESCRIRE : AND, OR, NOT, Member, type, EQ, les quantificateurs existentiel et universel, ainsi que l'orderby.

  3. Base de règles : Pour améliorer la recherche d'information et enrichir l'ontologie d'ESCRIRE, nous avons proposé une base de règles pour découvrir des connaissances implicites dans les annotations. Ces connaissances sont différentes de celles extraites par l'application des propriétés de symétrie, transitivité ou réflexivité, et elles permettent d'étendre la base de graphes faits.

  4. Génération de documents virtuels : Nous avons ajouté au prototype EscrireServer un module pour la génération de documents virtuels à partir des réponses à une requête posée. Ces documents virtuels sont générés en exploitant la requête de l'utilisateur et des informations contenues dans les annotations constituant la mémoire documentaire.

En conclusion, les principales contributions de ces travaux à la recherche d'information guidée par des ontologies sont un outil dédié à l'exploitation d'une mémoire documentaire constituée d'articles scientifiques en génétique (projet ESCRIRE), un outil pour la génération des documents virtuels à partir d'une requête ESCRIRE posée et un mécanisme de traduction entre plusieurs langages de représentation des connaissances (en particulier, le langage ESCRIRE appuyé sur une syntaxe XML, le langage RDF(S) et le formalisme des graphes conceptuels) : ces langages permettant de représenter d'une part les ontologies et d'autre part les annotations sur le contenu des documents constituant la mémoire d'entreprise.

Ontologies et Web Mining pour la diffusion des connaissances dans le domaine médical

Keywords : ontologie , ingénierie linguistique , acquisition de connaissances à partir de textes , TALN , XML , RDF , Web , recherche d'information .

Participants : Laurent Alamarguy, Laurent Berthelot, Rose Dieng-Kuntz.

L'objectif de ces travaux est de proposer des aides méthodologiques et logicielles pour la construction semi-automatique d'une ontologie à partir d'un corpus textuel et pour la construction d'une mémoire communautaire dans le domaine médical.

Ces travaux se déroulent dans le cadre de la thèse de Laurent Alamarguy. A ce jour, la recherche en génétique a donné lieu à une quantité importante de résultats générés à partir d'expériences effectuées plus ou moins en fonction des données déjà existantes, et l'une des tâches nécessaires à présent serait de capitaliser ces connaissances disponibles sur le Web. L'objectif est d'aider à l'élaboration d'une mémoire de communauté recensant des corrélations entre gènes et maladies du système nerveux central. Pour ce faire les techniques basées sur des ontologies utilisées par le moteur de recherche sémantique CORESE facilitera la Recherche d'Information ; le développement de méthodes linguistiques d'acquisition des connaissances à partir de textes permettrait d'améliorer l'automatisation de la construction (ou de l'enrichissement) de l'ontologie ainsi que l'automatisation de l'annotation de documents textuels.

Dans un premier temps, nous avons fait un état de l'art sur la méthodologie de la construction d'ontologies de manière générale (les principes) ainsi que sur les ontologies du domaine médical, mettant en avant la nécessité de développer la diversité des types de relations ontologiques. Parallèlement, l'état de l'art sur les outils et méthodes linguistiques nous a conduit à comparer différents outils d'extraction de connaissances à partir d'un corpus test d'extraits d'articles médicaux provenant de la base de données MEDLINE.

Comment enrichir une ontologie existante ? Le domaine choisi est l'activité biomédicale et les ontologies associées « Gene Ontology » et « Mesh ». Nous avons choisi comme corpus de test les citations MedLine disponibles en XML sur le site du National Library of Medicine. Ce corpus est composé de 30.000 citations bibliographiques que nous avons nettoyées et transformées en texte brut pour le rendre analysable. Ensuite, nous avons testé des outils existants. Le premier fut l'outil d'analyse lexicale Gate, qui était censé découper les phrases en groupes lexicaux. Gate n'étant encore qu'un prototype, il n'offrait pas toutes les fonctionnalités nécessaires. Néanmoins, il mérite d'être testé à nouveau, lorsqu'il implémentera toutes ces fonctionnalités. L'analyseur Nomino a été testé sur une partie du corpus MedLine (5000 citations). Les résultats permettent de retrouver un certain nombre de concepts, mais les erreurs sont en trop grand nombre pour en tirer des informations de façon automatique. Enfin, nous avons testé les produits UMLS. Ils comprennent un outil d'analyse lexicale se basant sur un réseau sémantique construit à partir de Mesh et de Gene Ontology, ainsi qu'un thésaurus. Cependant, les résultats sont trop dépendants du thésaurus, et l'analyse lexicale reste souvent mauvaise.

Agents pour la gestion des annotations sémantiques distribuées dans CoMMA

Participants : Fabien Gandon, Laurent Berthelot.

L'objectif de ces travaux est de développer un système multi-agents permettant la distribution d'annotations sémantiques et la distribution du traitement de requêtes, dans le cadre d'un Web sémantique d'entreprise.

Ces travaux se sont déroulés dans le cadre de la thèse de Fabien Gandon et du projet CoMMA. L'enjeu de la société d'agents à développer est de trouver des mécanismes pour décider où stocker les annotations nouvellement soumises et comment distribuer une requête pour ne pas laisser échapper des réponses simplement parce que l'information nécessaire est dispersée entre plusieurs bases d'annotation. Ces deux facettes de la distribution sont liées puisque le processus de résolution distribuée d'une requête dépend étroitement du choix fait pour la distribution des annotations. Dans cette société le médiateur d'annotation (AM) est responsable de la gestion de la dispersions des annotations ; ces annotations étant réparties entre des archivistes d'annotation (AAs) .

Pour allouer une annotation nouvellement soumise, l'AM émet un appel à proposition à l'attention des AAs. Un protocole d'interaction correspondant à un 'contract-net' imbriqué est utilisé pour déterminer lequel des AAs gagnera l'annotation nouvellement soumise. En réponse, chaque AA mesure la proximité sémantique entre l'annotation et les types des concepts et de relations actuellement dans ses archives. L'AA le plus proche gagne le contrat. Ce protocole permet de spécialiser les bases d'annotations sémantiques de la mémoire et d'entretenir cette spécialisation .

Pour ce protocole, nous avons donc défini une pseudo-distance en utilisant la hiérarchie de l'ontologie et une distance lexicographique pour les valeurs littérales. La distance utilisant la hiérarchie est basée sur le chemin entre deux notions, passant par le plus proche commun supertype ; les supertypes communs représentent ce que deux notions ont en commun. Nous l'employons pour comparer les offres des différents AAs. L'ontologie est ainsi utilisée comme un espace commun permettant de définir des (pseudo-)distances communes dont les résultats sont comparables. Le consensus ontologique fournit donc une base pour d'autres consensus (ex : un consensus sur le calcul d'une métrique partagée). L'objet 'ontologie' est donc la pierre de touche de tous les mécanismes distribués d'une gestion intelligente des connaissances dispersées.

La résolution d'une requête peut impliquer plusieurs bases d'annotations réparties entre plusieurs AAs ; le résultat est une fusion de résultats partiels. Pour déterminer si et quand un AA doit participer à la résolution d'une requête, les AAs calculent le recouvrement entre la liste des notions actuellement utilisées dans leur base et la liste de celles utilisées dans la requête (en prenant en compte les liens de subsomption dans l'ontologie). En utilisant ces descriptions de recouvrement, l'AM peut identifier à chaque étape de son algorithme de décomposition et pour chaque requête intermédiaire qu'il produit, les AAs à consulter. L'ontologie partagée fournit ici les primitives permettant de décrire des connaissances allouées à chaque agent et permet ainsi de statuer sur la pertinence d'une participation d'un agent à une tâche donnée. Un deuxième algorithme plus performant a été partiellement implanté et testé .

Une fois que les rôles d'AA et d'AM ont été spécifiés avec leurs interactions, des modules de CORESE ont été intégrés dans les types d'agent implantant ces rôles afin de leur fournir les compétences nécessaires .

Exploitation des techniques de la fouille du Web et d'ontologie pour l'intégration des sources externes dans une mémoire d'entreprise gérée par un système multi-agents.

Participants : Tuan-Dung Cao, Fabien Gandon, Rose Dieng-Kuntz.

L'objectif de ces travaux est de proposer des aides méthodologiques et de développer des outils pour la fouille du Web par des agents logiciels et pour la génération automatique des annotations RDF à partir des pages Web bien structurées.

Ces travaux se sont déroulés dans le cadre du stage de Tuan-Dung Cao . Les annotations jouent un rôle important dans les applications de Web Sémantique, elles décrivent le contenu des documents dans la mémoire d'entreprise. Se basant sur une ontologie, elles sont destinées à permettre une recherche d'information intelligente. Mais un gros problème d'annotation se produit quand un grand ensemble de documents Web sont découverts, le travail d'annotation manuelle devient pénible et répétitif.

Nous avons proposé une méthode d'extraction des données semi-structurées pour générer des annotations RDF à partir du contenu des pages Web. Cette méthode est basée sur des techniques de la galaxie XML et guidée par une ontologie (O'CoMMA). Notre approche consiste à extraire automatiquement des informations dans les pages Web bien structurées (le contenu peut changer souvent mais la structure de la page Web ne change pas beaucoup) : de telles pages sont souvent disponibles sur le Web comme des catalogues, des bibliothèques de documents... Il s'agit de recueillir d'abord un documents Web exemple et de le convertir en format XHTML (syntaxe XML). Donc on peut manipuler la structure hiérarchique des documents XHML en utilisant le modèle DOM. Par l'outil graphique WebAG que nous avons développé, les annotateurs peuvent spécifier des données à extraire et les termes concernés dans l'ontologie pour générer une règle d'extraction en langage XSLT. L'annotation RDF de ce document est générée en utilisant un processeur XSLT pour transformer le document XHTML en RDF.

En se basant sur cette méthode d'extraction, un système multi-agents dédié à la tâche de « wrapper » les sources Web, a été conçu et implémenté. Ces agents « wrapper » sont ajoutés dans le système CoMMA, permettant d'annoter automatiquement les sites Web bien structurés comme la base des rapports de recherche de l'INRIA, la National Library of Medicine PubMed, CompuScience WWW-Database, etc. JADE a été choisi comme plate-forme de développement des agents. Les annotations résultats seront directement utilisées par le système CoMMA pour la recherche sémantique des documents d'une entreprise. .

En annotant des ressources disponibles sur le Web ouvert, la mémoire organisationnelle sort des murs de l'organisation. Dans CoMMA, des agents assistaient le processus d'annotation et d'archivage mais l'annotation d'une ressource était essentiellement un processus manuel. Même si cela était acceptable dans CoMMA du fait que des personnes impliquées dans les scénarios avaient des rôles incluant la tâche d'annotation (veilleur, documentaliste, etc.), il est évident que des outils sont nécessaires pour assister ce travail en aidant, par exemple, l'exploitation d'indices structurels dans les ressources, en soulageant l'utilisateur de la répétition de tâches semblables et fastidieuses, en automatisant les mises à jour lorsque les ressources changent, etc. C'est pour cela que nous avons introduit une nouvelle société d'agents : la société des extracteurs.

Le Web ouvert est destiné aux humains et un grand nombre de ressources sont non structurées ou semi-structurées. L'extraction d'annotations sémantiques fournissant à l'organisation des pointeurs internes vers des ressources externes, pose le problème du développement d'extracteurs spécifiques pour chaque source d'information jugée pertinente. Les agents de cette société automatisent l'extraction d'informations pertinentes et leur intégration à la mémoire de l'organisation. Le système assiste la production d'un modèle d'extraction basé sur l'ontologie O'CoMMA. Nous utilisons XSLT pour décrire les règles d'extraction dans le document XML, en employant des chemins XPath pour localiser les données à extraire. Les modèles d'annotation XSLT sont ensuite appliqués aux sources en HTML pour établir une base d'annotation. La société des extracteurs est hiérarchique, avec un rôle de gestionnaire d'extraction (WM) responsable de créer et de contrôler les extracteurs archivistes (AWA) responsables de l'extraction pour une source d'information ciblée. Cette société permet aux utilisateurs de développer et de lancer une population d'AWA, chacun d'eux surveillant la source à laquelle il est affecté.

Modélisation en RDF les aspects sémantiques des formulaires XForms

Participants : Nicolas Duboc, Olivier Corby.

Ces travaux se sont déroulés dans le cadre du stage de DEA de Nicolas Duboc .

Le W3C travaille actuellement sur un nouveau langage XML de définition de formulaires : XForms. Ces travaux s'inscrivent dans la démarche d'harmonisation des standards du Web autour des technologies XML.

Cette spécification propose de définir un formulaire en deux parties :

Dans le contexte du Web sémantique, ce stage propose d'étudier le couplage des annotations sémantiques avec les formulaires du Web.

L'objectif est double : il s'agit, d'une part d'envisager des utilisations d'annotations sémantiques de formulaires et d'autre part de d'étudier le degré d'intégration de RDF avec XForms pour aboutir aux cas d'utilisations précédemment définis.

L'ontologie des formulaires a été développée pour être applicable à tout type de formulaires. Elle se concentre donc sur la structure d'un formulaire, sa fonction, le type de résultat de sa soumission et ses éléments constitutifs. La fonction d'un formulaire est une abstraction du service proposé. Plusieures fonctions récurrentes sont prédéfinies : recherche, réservation, achat en ligne. Elle définit également les propriétés liant ces concepts entre eux ou liant ces concepts à des concepts d'une autre ontologie.

RDF permet d'annoter des ressources identifiées par des URI. Dans le cas des annotations de formulaires globales il faut donc un identifiant pour le formulaire. Dans le cas des annotations locales, il faut pouvoir identifier un sous-élement du formulaire. La solution retenue repose sur XPointer. Cette recommandation du W3C propose un mécanisme de référencements de fragments de documents XML. Ces références peuvent être relatives au document courant (ce qui sera utilisé pour les annotations internes) ou relatives à un document identifié par un URI (pour les annotations externes).


previous
next