La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Corese Moteur de recherche sémantique pour RDF

Présentations similaires


Présentation au sujet: "Corese Moteur de recherche sémantique pour RDF"— Transcription de la présentation:

1 Corese Moteur de recherche sémantique pour RDF
Projet ACACIA INRIA, Sophia Antipolis «Knowledge is Power»

2 COnceptual REsource Search Engine
Corese COnceptual REsource Search Engine Moteur de recherche RDF Resource Description Framework (W3C)

3 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 : Moteur Corese pour Comma, projet européen

4 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

5 Web Sémantique Évolution du Web pour permettre le traitement automatique des informations (par programme) Documents et données structurés (XML) Associer sémantique (sens) aux documents et aux données

6 W3C

7 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

8 XML Extensible Markup Language
Langage de description et d’échange de : documents structurés données structurées W3C

9 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

10 Sens <book> book a kind of Document
<author> Documents have an author, which is a Person, <title> a title which is a Literal

11 Sens Décrire le sens avec un certain consensus
En utilisant des vocabulaires conceptuels standardisés : ontologie

12 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

13 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

14 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

15 Ontologie Identifier les points de vue pertinents du domaine :
Technique, Financier, Management Structurel, Fonctionnel

16 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

17 Connaissance Continuum : donnée, information, connaissance
information : SOS connaissance : en cas d’alerte, déclencher les secours La connaissance permet de produire de nouvelles données, informations, connaissances : inférence

18 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

19 Ontologie Composant réutilisable
Réutilisation : généralité, abstraction (reuse) Partage : consensus, standardisation (sharing) Accord sur conceptualisation partagée : engagement ontologique (commitment)

20 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

21 RDF Meta donnée pour décrire le contenu des documents Type de document
Auteurs Origine Sujet Public cible

22 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

23 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>

24 RDF Schema Vocabulaire standard pour décrire des ressources
Classes de ressources Propriétés et signatures

25 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

26 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

27 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

28 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

29 Sous-propriété ex:nickName rdfs:subPropertyOf ex:name
ex:jr ex:nickName “Joe” ex:jr ex:name “Joe”

30 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>

31 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>

32 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>

33 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>

34 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 ?

35 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’

36 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.

37 Graphes conceptuels Réseau sémantique Concept et relation
Concepts et relations typés Hiérarchies de types de concept et de relation

38 GC [Book:doc]- -(author)-[Person:jr]- -(name)-[Literal:“John Rawls”]
-(title)- [Literal:“Theory of Justice”]

39 GC - RDF Concept  ressource Relation  propriété Type  classe
Signature de relation  domain, range Projection pour retrouver des ressources RDF comme format de GC

40 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)

41 RDFS Ontologie Annotation RDF
subClassOf range domain type subPropertyOf Property Resource Class Literal Ontologie Country Company Person employs subdivisionOf activity Inanimate Entity nationality domain range Annotation RDF subdivisionOf activity Telecom

42 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

43 Moteur de recherche Projection d’un graphe requête sur le graphe cible
Opérateurs de recherche Projection approchée Groupement des résultats

44 Requête select d.title, p.name from d Document, p Person
where d.title contains ‘XML’ and d.author = p

45 Requête <c:Document c:Title=‘~XML’> <c:author>
<c:Person c:name=‘?x’/> </c:author> </c:Document>

46 Projection [Document] (author) [Creator]
Trouve des occurrences spécialisées : [Paper] (author) [Person] [Report] (author) [Team]

47 Projection approchée Réponse tolère des concepts non spécialisés Query
[TechnicalReport](author)[Person] vs Target : [ResearchReport] (author) [Team]

48 Distance ontologique Calcule une distance ontologique entre concept 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

49 Distance entre des frêres : 2 Entre des cousins germains : 4
Distance ontologique Distance entre des frêres : 2 Entre des cousins germains : 4

50 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é !

51 Opérateurs ~ contain ^ startWith = < <= >= >
< <= >= > ! negation : != !~ | boolean or : ~XML | ~ RDF <: <=: =: >=: >: type

52 Opérateurs Document ?x =: TechnicalReport
Un document de type égal à TechnicalReport

53 xsd:string xsd:float xsd:integer xsd:date Xsd:boolean
XML Schema Datatypes xsd:string xsd:float xsd:integer xsd:date Xsd:boolean

54 RDF Datatype <!ENTITY xsd ”http://www.w3.org/2001/XMLSchema#” >
<c:Person> <c:age rdf:datatype=‘&xsd;integer’>43</c:age> <c:name rdf:datatype=‘&xsd;string’>Laurent </c:name> </c:Person>

55 Groupement Une requête a pour réponse G1 .. Gn
On peut grouper les graphes : distinct x1 .. xn group by x1 .. xn group by connex x1 .. xn count x (by y)

56 Distinct Une requête a pour réponse G1 .. Gn distinct x1 x2
G1 : x1=Jules, x2=Jim G2 : x1=Jim, x2=Jules Ne garder qu’un seul graphe

57 Group by Une requête a pour réponse G1 .. Gn group by x1 x2
Joindre les graphes qui ont même x1 et même x2 Ex : grouper les documents par auteur et par année

58 Group by connex Une requête a pour réponse G1 .. Gn
group by connex x1 x2 Joindre les graphes qui ont même valeur pour x1 et/ou x2

59 Count Une requête a pour réponse G1 .. Gn Count x
Compter les occurrences différentes de x dans le graphe résultat Ex : compter les ouvrages d’un auteur

60 Extensions OWL owl:TransitiveProperty owl:SymmetricProperty
owl:inverseOf owl:intersectionOf owl:disjointWith

61 Intersection owl:Class Woman owl:intersectionOf owl:Class Human
owl:Class Female Définit une équivalence entre Woman et l’intersection de Human et Female Human  Female  Woman

62 Inverse p1 owl:inverseOf p2 X p1 Y  Y p2 X
hasParent owl:inverseOf hasChild John hasParent Jim  Jim hasChild John

63 Symétrie p rdf:type owl:SymmetricProperty X p Y  Y p X
ex:sibling rdf:type owl:SymmetricProperty John ex:sibling Jack  Jack ex:sibling John

64 Transitivité owl:TransitiveProperty X p Y  Y p Z  X p Z
ex:partOf rdf:type owl:TransitiveProperty ex:axis ex:partOf ex:engine ex:engine ex:partOf ex:car ex:axis ex:partOf ex:car

65 Règles CG1  CG2 Si CG1 alors compléter l’occurrence de CG1, trouvée par projection, par CG2 [Person:?x] -(member)-[Team] -(participate)-[Consortium:?c] [Participant:?x] –(participate)-[Consortium:?c]

66 Inférences Préciser le type d’un concept :
[Person: ?x] -> [Participant: ?x] Relation entre concepts : [Participant: ?x]-(participate)-[Consortium :?c]

67 Règle de graphe règles de graphe conceptuel
Pour appliquer une règle CD sur un graphe G : 1. Trouver C’, une occurrence de C dans G par projection : C’ C 2. Joindre la conclusion D au graphe G sur les concepts de C’ trouvés par projection

68 Syntaxe RDF <cos:rule> <cos:if>
<c:Person rdf:about=‘?p’> <c:member> <c:Team> <c:participate> <c:Consortium rdf:about=‘?c’/> </c:participate> </c:Team> </c:member> </c:Person </cos:if>

69 Syntaxe RDF <cos:then> <c:Participant rdf:about=‘?p’>
<c:participate rdf:resource=‘?c’/> </c:Participant> </cos:then> </cos:rule>

70 Serveur Web sémantique
Moteur Corese intégré dans un serveur web Ontologie structure l’information

71 Applications 2000-2001 : Comma 2002 Corese pour Samovar avec Renault
: Corese pour KMP, projet RNRT Cartographie des compétences sur Sophia Antipolis Version de distribution : ODL Inria

72 Comma O’Comma : Corporate Memory Management through Agents
Système multi agents (Jade) Ontology en RDF : Document, Entreprise, Domaine, Utilisateur Moteur de recherche Corese : RDF en graphe conceptuels Règles de graphe

73 Comma Méthode: Recueil, Phase terminologique, Structuration, Validation, Formalisation en RDFS Résultat: 470 concepts, 80 relations, 13 niveaux de profondeur

74 Comma Haut niveau médian Niveau spécifique Aspects Entreprise Document
Utilisateur Domaine

75 KMP KMP : Knowledge Management Platform
Cartographie des compétences en Télécom sur Sophia Antipolis Serveur Web sémantique de compétence Favoriser les partenariats Ontologie en RDF : Compétence, Organisation, Domaine

76 Projets Futurs eLearning, mémoire d’entreprise, génie civil,
documentaire, web sémantique pour l’ énergie

77 Références http://www.inria.fr/acacia/cours/utt/corese.ppt

78 Démo


Télécharger ppt "Corese Moteur de recherche sémantique pour RDF"

Présentations similaires


Annonces Google