780 likes | 1.05k Views
Corese Moteur de recherche s é mantique pour RDF. Olivier.Corby@sophia.inria.fr Projet ACACIA INRIA, Sophia Antipolis http://www.inria.fr/acacia « Knowledge is Power ». Corese. COnceptual REsource Search Engine Moteur de recherche RDF Resource Description Framework (W3C) . Histoire .
E N D
CoreseMoteur de recherche sémantique pour RDF Olivier.Corby@sophia.inria.fr Projet ACACIA INRIA, Sophia Antipolis http://www.inria.fr/acacia «Knowledge is Power»
Corese COnceptual REsource Search Engine Moteur de recherche RDF Resource Description Framework (W3C)
Histoire 1992 Acacia : acquisition des connaissances à partir de documents structurés avec des graphes conceptuels 1998 : XML 1999 : RDF, 1er prototype de Corese 2000 ICCS : RDF et les graphes conceptuels 2000-2001 : Moteur Corese pour Comma, projet européen
Web Sémantique Extension du Web actuel où l’information serait munie d’une signification (meaning) bien définie Pour faciliter le travail en coopération homme-machine Un Web de données et de documents
Web Sémantique Évolution du Web pour permettre le traitementautomatique des informations (par programme) Documents et données structurés (XML) Associer sémantique (sens) aux documents et aux données
Applications Préparer automatiquement un voyage, par l’Internet, en combinant des informations (hôtel, avion, voiture) Mémoire d’entreprise : web sémantique d’entreprise
XML Extensible Markup Language Langage de description et d’échange de : documents structurés données structurées W3C
XML Définit la structure (syntaxe) comme un arbre de syntaxe abstraite Mais rien sur la signification, le sens : la sémantique La sémantique permet de définir la signification des balises, donc des informations. Contraint les traitements
Sens <book> book a kind of Document <author> Documents have an author, which is a Person, <title> a title which is a Literal
Sens Décrire le sens avec un certain consensus En utilisant des vocabulaires conceptuels standardisés : ontologie
Ontologie Se mettre d'accord sur le sens des termes employés dans une organisation, une communauté, un métier Faire en sorte que les personnes et les logiciels se comprennent
Ontologie Identifier, modéliser les concepts et les relations d'un domaine, pertinents pour une/des applications Se mettre d'accord, au sein d'une communauté, sur les termes employés pour se référer à ces notions
Ontologie Identifier un domaine technique Recenser, classer les termes du vocabulaire Identifier les termes dénotant des objets des propriétés des relations Classer les objets
Ontologie Identifier les points de vue pertinents du domaine : Technique, Financier, Management Structurel, Fonctionnel
Ontologie Ontologie : modélisation des connaissances Au sens où une théorie physique est un modèle de la réalité Il peut y avoir plusieurs modèles d’une même réalité : expérience de la chute des corps théorie de la gravitation de Newton relativité générale d’Einstein
Connaissance Continuum : donnée, information, connaissance donnée : … --- … information : SOS connaissance : en cas d’alerte, déclencher les secours La connaissance permet de produire de nouvelles données, informations, connaissances : inférence
Connaissance Connaissances de résolution de problème : conception, diagnostic, évaluation, planification tâches, inférences Connaissances du domaine électronique, mécanique, médecine, etc. Concept, relation
Ontologie Composant réutilisable Réutilisation : généralité, abstraction (reuse) Partage : consensus, standardisation (sharing) Accord sur conceptualisation partagée : engagement ontologique (commitment)
RDF W3C Resource Description Framework Langage de description de meta données pour le web sémantique Modèle de triplets resource property value A l’échelle du web : utilise des URI Permet de classer les ressources
RDF Meta donnée pour décrire le contenu des documents Type de document Auteurs Origine Sujet Public cible
RDF Triples ex:doc ex:title “Theory of Justice” ex:doc rdf:type ex:Book ex:doc ex:author ex:jr ex:doc ex:subject ex:philosophy ex:jr ex:name “John Rawls” ex:jr rdf:type ex:Person
Syntaxe XML <ex:Book rdf:about=‘#doc’> <ex:author rdf:resource=‘#jr’/> <ex:title>Theory of Justice </ex:title> </ex:Book> <ex:Person rdf:about=‘#jr’> <ex:name>John Rawls</ex:name> </ex:Person>
RDF Schema Vocabulaire standard pour décrire des ressources Classes de ressources Propriétés et signatures
Classes ex:Book rdf:type rdfs:Class ex:Book rdfs:subClassOf ex:Document ex:Person rdf:type rdfs:Class ex:Person rdfs:subClassOf ex:Hominidae
Propriétés ex:author rdf:type rdf:Property ex:author rdfs:domain ex:Document ex:author rdfs:range ex:Person ex:name rdf:type rdf:Property ex:name rdfs:domain ex:Person ex:name rdfs:range rdfs:Literal
Inférence de type ex:doc ex:author ex:jr ex:author rdfs:domain ex:Document ex:author rdfs:range ex:Person ex:doc rdf:type ex:Document ex:jr rdf:type ex:Person
Typage : class Si une ressource a pour type C, alors C est une classe : rdf:type rdfs:range rdfs:Class ex:olivier rdf:type ex:Person ex:Person rdf:type rdfs:Class
Sous-propriété ex:nickName rdfs:subPropertyOf ex:name ex:jr ex:nickName “Joe” ex:jr ex:name “Joe”
RDFS XML <rdfs:Class rdf:ID=‘Person’> <rdfs:subClassOf rdf:resource=‘#Hominidae’/> </rdfs:Class> <rdf:Property rdf:ID=‘name’> <rdfs:domain rdf:resource=‘#Person’/> <rdfs:range rdf:resource=‘&rdfs;Literal’/> </rdf:Property>
Ressource anonyme Ressource intermédiaire, sans identificateur Sémantique existentielle : il existe une ressource <ns:Cours> <ns:auteur> <ns:Person> <ns:name>O. Corby</ns:name> </ns:Person> </ns:auteur> </ns:Cours>
Relation n-aire Les propriétés sont des relations binaires Pour décrire une relation n-aire, utiliser une ressource anonyme : <ns:Mobile> <ns:vitesse rdf:parseType=‘Resource’> <rdf:value>130</rdf:value> <ns:unit>km/h</ns:unit> </ns:vitesse> </ns:Mobile>
Relation n-aire <ns:Mobile> <ns:vitesse> <rdf:Description> <rdf:value>130</rdf:value> <ns:unit>km/h</ns:unit> </rdf:Description> </ns:vitesse> </ns:Mobile>
Requêtes • Trouver les cours dont O. Corby est enseignant ? • Qui enseigne le cours LOG11 ? • Y a-t-il un enseignant-chercheur ? • Y a-t-il une Personne de l'INRIA ?
Requêtes • A la OQL (Object Query Language) select c.num, p.nom from c Cours, p Personne where c.titre like ‘connaissance’ and p.institut = ‘INRIA’
Sémantique Tous les énoncés RDF sont considérés comme vrais, dans un même environnement, la conjonction des énoncés est considérée comme vrai également Il n’y a pas de contexte local (dans lequel quelque chose serait vrai) Il n’y a pas de négation RDF est monotone : ce qui est vrai reste vrai au fur et a mesure que l’on rajoute de l’information RDF est un sous-ensemble de la logique du premier ordre avec des prédicats binaires et des variables existentielles.
Graphes conceptuels Réseau sémantique Concept et relation Concepts et relations typés Hiérarchies de types de concept et de relation
GC [Book:doc]- -(author)-[Person:jr]- -(name)-[Literal:“John Rawls”] -(title)- [Literal:“Theory of Justice”]
GC - RDF Concept ressource Relation propriété Type classe Signature de relation domain, range Projection pour retrouver des ressources RDF comme format de GC
Différences RDF : relation binaire RDF : ressources peuvent avoir plusieurs types RDF distingue les littéraux et les ressources RDF est multilingue (xml:lang tag)
Literal Resource RDFS Property Class subPropertyOf domain type range subClassOf Ontologie Inanimate Entity domain employs activity subdivisionOf nationality range Country Company Person Annotation RDF subdivisionOf activity www.T-Nova.de www.DeutscheTelekom.de Telecom
Corese Construire une représentation d’un schema RDF et d’énoncés RDF Rechercher des ressources Classer des ressources par inférence de type Compléter la base de ressources par des inférences Serveur Web sémantique
Moteur de recherche Projection d’un graphe requête sur le graphe cible Opérateurs de recherche Projection approchée Groupement des résultats
Requête select d.title, p.name from d Document, p Person where d.title contains ‘XML’ and d.author = p
Requête <c:Document c:Title=‘~XML’> <c:author> <c:Person c:name=‘?x’/> </c:author> </c:Document>
Projection [Document] (author) [Creator] Trouve des occurrences spécialisées : [Paper] (author) [Person] [Report] (author) [Team]
Projection approchée Réponse tolère des concepts non spécialisés Query [TechnicalReport](author)[Person] vs Target : [ResearchReport] (author) [Team]
Distance ontologique Calcule une distanceontologique entreconcept requête et concept cible Distance = longueur du plus court chemin le long de la relation de subsomption entre concept requête et cible Distance entre réponse et requête = somme des distances des concepts approchés
Distance ontologique Distance entre des frêres : 2 Entre des cousins germains : 4
Distance De plus, la distance diminue avec la profondeur La distance entre un père et un fils de profondeur n est de 1/2n Ainsi Homme est plus proche de Chimpanzé que Vertébré de Invertébré !