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

Preview:

Citation preview

Coresemoteur de recherche

sémantique

Olivier.Corby@sophia.inria.fr

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

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)

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

4

Web sémantique

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

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

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

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

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

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

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

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

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

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

13

Ontologie (concepts / classes)

class Document

class Report subClassOf

Document

class Topic

class ComputerScience subClassOf Topic

Document

Report Memo

Topic

ComputerScience Maths

14

Ontologie (relations / propriétés)

property authordomain Documentrange Person

property concerndomain Documentrange Topic

authorDocument Person

concernDocument Topic

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>

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

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

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

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

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

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

22

Distance dans l’ontologie

Ingénieur

Équipe

R. Technique Support C.Chercheur

Acteur

R. Recherche

Document

Objet

Personne Rapport Cours

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

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

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

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

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

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>

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>

30

OWL Lite Restriction

Class Human

subClassOf

Restriction

onProperty hasParent

allValuesFrom Human

31

OWL Lite Restriction

?x rdf:type c:Human

?x c:parent ?p

=>?p rdf:type c:Human

32

OWL Lite in Corese

owl:TransitiveProperty

owl:SymmetricProperty

owl:inverseOf

owl:Restriction owl:onProperty

owl:someValuesFrom owl:allValuesFrom

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

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

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

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

37

XHTML,CSS, SVGJavaScript

JDBC

HTTPRequest

HTTP Response

Projectionengine

Joinengine

Typeinference engine

CGManager

Notio

Architecturerésumée

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

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>

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>

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

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)

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

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

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

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

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

Recommended