Corese moteur de recherche sémantique [email protected] .

47
Corese moteur de recherche sémantique [email protected] http://www.inria.fr/acacia/corese

Transcript of Corese moteur de recherche sémantique [email protected] .

Page 1: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

Coresemoteur de recherche

sémantique

[email protected]

http://www.inria.fr/acacia/corese

Page 2: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

2

L’équipe de recherche ACACIA Modèles, méthodes et outils pour la gestion

des connaissances. Ingénierie des connaissances et Web

sémantique pour construire et exploiter une mémoire d’entreprise

Approche Web Sémantique d’entreprise Scénarios :

Mémoire de projet (Renault, CSTB) Veille technologique (CSTB) Gestion des compétences (Telecom Valley)

Page 3: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

3

Web Sémantique & CORESE

"The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."

Tim Berners-Lee, James Hendler, Ora Lassila,The Semantic Web, Scientific American, May 2001

Community/Corporate Semantic Web CORESE: moteur de recherche sémantique

Recherche information & Knowledge Engineering Standards W3C (langages RDF/S, OWL Lite, SPARQL) RDF Rules Utilise les structures de données Notio

Page 4: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

4

Web sémantique

Web : HTML, HTTP, URI Web sémantique :

XML, XPATH, XSLT, XQUERY RDF/S, SPARQL OWL, Rules

Page 5: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

5

Contribution Acacia

Implémentation des standards du Web sémantique en graphes conceptuels

1998 : XML 1999 : DEA sur RDF et CG 2000 : ICCS “A Conceptual Graph Model for W3C RDF” 2000-2001 : Projet européen Comma 2002 : publication workshop WWW 2002-2004 : ODL Inria 2003-2004 : RNRT KMP 2004 : publication ECAI PAIS 2005 : KMP2 Drire Paca, Ingénieur Inria

Page 6: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

6

Applications1. ESCRIRE : recherche d’information en biologie

2. Renault : mémoire projet conception véhicules

3. CSTB : mémoire de projet bâtiment

4. CSTB : web mining

5. EADS CCR : mémoire documentaire pour recherche industrielle

6. CoMMA : Projet IST mémoire distribuée veille et accueil

7. MEAT : mémoire d’expériences en Biologie

8. KmP : Projet RNRT, gestion des compétence Telecom Valley, KmP2 DRIRE PACA

9. Ligne de Vie : ACI santé collaboration dans réseau de soin

10. WebLearn : AS CNRS eLearning et Web sémantique Aim@Shape : projet européen ontologie pour la géométrie UTT : mémoire de projet

Page 7: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

7

Caractéristiques de CORESE

Développement: Depuis 1999 ~ 10 homme ans de R&D Une Opération Développement Logiciel INRIA

Deux facettes au package CORESE: Modules pour un Serveur Web Sémantique Logiciel avec API, intégré et intégrable

Page 8: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

8

Fonctionnalités de CORESE

Traiter, valider & résoudre requêtes basées sur des ontologies

Améliorer la recherche d’information avec sémantique & inférences

Portail & Serveur sémantique Interfaces dynamiques et formulaires,

mise en page et présentation Intégration XHTML + XML + XSLT + RDF

Page 9: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

9

Représenter les connaissances Ontologies:

Annotations:

Règles:

Requêtes:

Humain

Homme Femme

désignation

nom titre

Homme: #tdevaux nom Dévaux

intérêt Sujet:Génétique

Humain:?x membre Groupe:?g

Humain:?y membre

Humain:?x collègue Humain:?y

Homme:# tdevaux intérêt Sujet:?t

Page 10: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

10C

OR

ES

E

Moteur de recherche sémantique

Ontologies Documents XML

<accident> <date> 19 Mai 2000 </date> <description> <facteur>le facteur </description></accident>

Légataires

Utilisateurs

<rdfs:Class rdf:ID="thing"/><rdfs:Class rdf:ID="person"> <rdfs:subClassOf rdf:resource="#thing"/></rdfs:Class>

Schémas en RDFS

<ns:article rdf:about="http://intranet/articles/ecai.doc"> <ns:title>MAS and Corporate Semantic Web</ns:title> <ns:author> <ns:person rdf:about="http://intranet/employee/id109" /> </ns:author></ns:article>

Annotations en RDF composées d’instances des schémas RDFS

req

uêt

e

rép

on

se

sug

ges

tio

n

URI UNICODE

XML NAMESPACES

RDF

RDFS

ONTOLOGY

RULES

Pile du Web QUERIES RDFS

RDF

Requête

Règles

CG Support

CG Base

CG Requête

CG Règles CG Résultat

PROJECTION

INFERENCES

Serveur Web sémantique

RDF/S

Page 11: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

11

RDFResource Description FrameworkResource Description Framework

W3C language for the Semantic WebW3C language for the Semantic Web

Representing resources in the WebRepresenting resources in the Web

Triple model : Triple model :

resource property valueresource property value

RDF/XML SyntaxRDF/XML Syntax

RDF Schema : RDF Vocabulary RDF Schema : RDF Vocabulary Description LanguageDescription Language

Page 12: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

12

RDF vs Conceptual Graphs

rdfs:Class rdfs:Class Concept TypeConcept Type

rdf:Property rdf:Property RelationRelation

rdfs:Resource rdfs:Resource ConceptConcept

rdfs:domain rdfs:rangerdfs:domain rdfs:range SignatureSignature

RDF Graph RDF Graph CGCG

Published at ICCS 2000Published at ICCS 2000

Page 13: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

13

Ontologie (concepts / classes)

class Document

class Report subClassOf

Document

class Topic

class ComputerScience subClassOf Topic

Document

Report Memo

Topic

ComputerScience Maths

Page 14: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

14

Ontologie (relations / propriétés)

property authordomain Documentrange Person

property concerndomain Documentrange Topic

authorDocument Person

concernDocument Topic

Page 15: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

15

Ontologie RDFS / XML

<rdfs:Class rdf:ID=‘Document’/>

<rdfs:class rdf:ID=‘Report’> <rdfs:subClassOf rdf:resource=‘#Document’/>

</rdfs:Class>

<rdf:Property rdf:ID=‘author’><rdfs:domain rdf:resource=‘#Document’/><rdfs:range rdf:resource=‘#Person’/>

</rdf:Property>

Page 16: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

16

Annotation Le rapport RR-1834 a été écrit par le chercheur Olivier Corby

et porte sur le langage de programmation JAVA

Report http://www.inria.fr/RR-1834.html

author http://www.inria.fr/o.corby

concern http://www.inria.fr/acacia#Java

Researcher http://www.inria.fr/o.corby

name “Olivier Corby”

authorReporthttp://www.inria.fr/RR-1834.html

Researcherhttp://www.inria.fr/o.corby

name Olivier Corby

concern Javahttp://www.inria.fr/acacia#Java

Page 17: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

17

Langage de Requête

Exprimée dans le vocabulaire de l’ontologie, exemple :

Trouver des documents sur Java

?doc rdf:type c:Document

?doc c:concern ?topic

?topic rdf:type c:Java

concernDocument?doc

Java?topic

Page 18: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

18

Requêtes & exploitation ontologie

Les rapports et les articlessont des documents, …

Les documents ont des auteurs, qui sont des personnes, …

Les personnes ont des centres d’intérêt …

Document

Report MemoArticle

authorDocument Person

interestPerson Topic

Page 19: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

19

Langage de requête à la SPARQLselect * sort ?name where

?person rdf:type c:Person

c:Person rdfs:label ?l@fr

(?person c:hasCreated ?doc or

?person c:IsInterestedBy ?topic)

option (?person c:isMemberOf ?org

option (?org c:name ?desc))

?person ?p ?value

?person c:Property{4} c:SemanticWeb

?person c:name ?name

?name = “Olivier”@fr

?person c:age ?age

?age <= “45”^^xsd:integer

Page 20: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

20

Paramétrage

select

list liste des projections

merge tout grouper dans un seul résultat

group ?person

count ?doc

sort ?name

projection 100

result 10

where

Page 21: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

21

Recherche approchée

Rechercher la meilleure approximation en fonction de

l’ontologie.

Exemple: Requête

Rapport Technique sur Java écrit par un

ingénieur ? Réponse approchée :

Rapport Technique Support de cours

Ingénieur Equipe

Page 22: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

22

Distance dans l’ontologie

Ingénieur

Équipe

R. Technique Support C.Chercheur

Acteur

R. Recherche

Document

Objet

Personne Rapport Cours

Page 23: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

23

Distance dans l’ontologie

Ingénieur

Équipe

R. Technique Support C.Chercheur

Acteur

R. Recherche

Document

Objet

Personne Rapport Cours

1

1/2

1/4

Page 24: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

24

Calcul de distances

Calcul de la distance ontologique

Distance = somme des longueurs des chemins

entre concepts approximés

Minimiser la distance, classer résultats par

distance croissante et seuillage

Syntaxe:

select more where exp

Page 25: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

25

Inférences & RèglesExploiter des inférences (règles) pour la recherche d’information

Si un membre d’une équipe a un centre d’intérêt alors l’équipe a aussi ce centre d’intérêt

?person interestedBy ?topic?person member ?team?team interestedBy ?topic

interestedByPerson?person

Topic?topic

member Team?team

interestedBy

Page 26: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

26

Inférences & Règles Classer une ressource

Si une personne a écrit une thèse sur un sujet alors c’est un docteur et un expert du sujet.

?person author ?doc?doc rdf:type PhDThesis?doc concern ?topic?person expertIn ?topic?person rdf:type PhD

authorPhDThesis?doc

Person?person

concern Topic?topic

PhD?person

expertIn

Page 27: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

27

<cos:rule>

<cos:if>

?person author ?doc

?doc rdf:type PhDThesis

?doc concern ?topic

</cos:if>

<cos:then>

?person expertIn ?topic

?person rdf:type PhD

</cos:then>

</cos:rule>

Syntaxe RDF/XML

Page 28: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

28

Sémantique : transitivité

<cos:rule>

<cos:if>

?x c:partOf ?y

?y c:partOf ?z

</cos:if>

<cos:then>?x c:partOf ?z

</cos:then>

</cos:rule>

Page 29: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

29

Règles : transitivité<cos:rule>

<cos:if>

?p rdf:type owl:TransitiveProperty?p1 rdfs:subPropertyOf ?p?p2 rdfs:subPropertyOf ?p?x ?p1 ?y?y ?p2 ?z

</cos:if>

<cos:then>?x ?p ?z

</cos:then>

</cos:rule>

Page 30: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

30

OWL Lite Restriction

Class Human

subClassOf

Restriction

onProperty hasParent

allValuesFrom Human

Page 31: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

31

OWL Lite Restriction

?x rdf:type c:Human

?x c:parent ?p

=>?p rdf:type c:Human

Page 32: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

32

OWL Lite in Corese

owl:TransitiveProperty

owl:SymmetricProperty

owl:inverseOf

owl:Restriction owl:onProperty

owl:someValuesFrom owl:allValuesFrom

Page 33: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

33

Résultats

Réponse traduite en RDF/XML

Traitée par feuille de style XSLT

Adaptable à l’utilisateur, au contexte

Peut engendrer HTML, SVG etc.

RDFXML XSLT

XML

XHTML

JSP

SVG

JavaScript

Page 34: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

34

?

GUI Factory Formulaire de requête

Engendré par connexion avec ontologie et

graphe RDF

Requête prédéfinie éditée par l’utilisateur

Ingénieur

Équipe

R. Technique Support C.Chercheur

Acteur

R. Recherche

Document

Objet

Personne Rapport Cours

select ?doc c:title ?person where

?doc rdf:type c:Document?doc c:concern ?topic?topic rdf:type c:Java?doc c:title ?title?title ~ “web”?doc c:author ?person

Page 35: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

35

Générateur IHM Construire menu avec sous-classes de Person <select name=‘ihm_person’ title='Profession'>

<query> ?x rdfs:subClassOf c:Person</query>

</select>

Rendu JSP/HTML:

Requête adaptable associée au menu : ?p rdf:type get:ihm_person

Page 36: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

36

Intégration XHMTL+XML+XSLT+RDF

Dans une feuille de style XSLT :

Appel au moteur de recherche,

Connexion à une BD : engendrer un schéma RDF

ou des annotations

Intégration du résultat

dans le flux de sortie

XSLT

CORESE JSP

Page 37: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

37

XHTML,CSS, SVGJavaScript

JDBC

HTTPRequest

HTTP Response

Projectionengine

Joinengine

Typeinference engine

CGManager

Notio

Architecturerésumée

Page 38: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

38

Semantic Web Server

Integrate RDF processing to XML/XSLT and JSP/Servlets

Web server based on RDFS ontology and RDF metadata

RDF not only for document retrieval but for information navigation, access and presentation

RDF Query processor return RDF/XML processed by XSLT

Page 39: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

39

Integration XML/RDF

Semantic hyperlink :

<a href=‘http://server?submit=

?doc rdf:type c:TechReport?doc c:title ?t?doc s:subject s:KnowledgeEngineering’>

Title</a>

Page 40: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

40

Integration XML/RDF

Semantic query tag (XML, JSP)

<cos:query>?doc rdf:type c:TechReport?doc c:title ?t?doc s:subject s:KnowledgeEngineering

</cos:query>

Page 41: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

41

Semantic processing in XSLT

<xsl:variable name=‘res’

select=‘model:submit($model,

“?doc rdf:type c:TechReport ?doc c:title ?t ?doc s:subject s:KnowledgeEngineering”)’>

<xsl:apply-templates select=‘$res’ />

Page 42: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

42

Knowledge Management Platform (KMP Project)  Goal: Design a prototype of a Semantic Web Server

of competences for inter-firm partnership in the

telecommunication domain

& Analyse the collective uses of the prototypeExample of a query that can be asked to the KMP system:

I am seeking for an industrial partner knowing how to design integrated circuits within the GSM field for cellular/mobile phone manufacturers

Area: Telecom Valley (Sophia Antipolis)

Page 43: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

43

Corese as a basis for KMP

The KMP Semantic Web Server is based on CoreseExisting Corese functions to be exploited: Automatic Index (à la yahoo) based on the ontology Graphical navigation Conceptual and/or terminological querying Queries about the ontologies Approximate queries Answer in SVG Enrichment of metadata by applying inference rules Validation or consistency rules

Page 44: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

44

Applications CORESE (KmP) Knowledge Management Platform: Serveur

Web Sémantique comme portail de gestion des compétences pour partenariats sur Sophia

Rodige, INRIA, Latapses, Telecom Valley, GET

Page 45: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

45

Applications CORESE (Ligne de Vie) Assister collaboration médicale dans un réseau

de soin, pour la prévention, le diagnostic, la thérapie, le suivi des patients et l’éducation.

INRIA, Nautilus, SPIM

Page 46: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

46

En cours… Extensions vers langages étendus (OWL Lite

W3C) Cardinality, sameAs

Langage de requête W3C SPARQL Semantic Web Service Web Pragmatique Site de Corese :

http://www.inria.fr/acacia/corese

Page 47: Corese moteur de recherche sémantique Olivier.Corby@sophia.inria.fr .

47

CG vs RDF : Pour le OUI Les graphes conceptuels permettent d’implémenter

les standards du Web sémantique et d’assurer l’interopérabilité : XML, XSLT, XPATH, XHTML RDF/S, OWL Lite, SPARQL, RDF Rules

Performance, persistence ? Corporate Semantic Web OK Distribution, P2P Alignement Contexte, Profil, Point de vue, IHM, ergonomie Lexique, terminologie multilingue A partir de texte