Post on 04-Apr-2015
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