1 / 88

Corese moteur de recherche sémantique

Corese moteur de recherche sémantique. Olivier.Corby@sophia.inria.fr http://www.inria.fr/acacia/corese. L’équipe de recherche ACACIA. Modèles, méthodes et outils pour la gestion des connaissances.

Download Presentation

Corese moteur de recherche sémantique

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. Les problèmes de recherche • Multi expertise, points de vue multiples • Mémoire distribuée (projet européen CoMMA) • Acquisition des connaissances à partir de textes • Recherche d’information guidée par des modèles de connaissance • Conception et évaluation suivant la méthode des scénarios

  4. 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 • Web Sémantique d’entreprise • CORESE: moteur de recherche sémantique • Recherche information & Knowledge Management • Standards W3C (langages RDF, RDFS, OWL)

  5. Caractéristiques de CORESE • Développement: • Depuis 1999 • ~ 10 homme ansde R&D • Une Opération Développement Logiciel INRIA • Deux facettes au package CORESE: • Modules pour unServeur Web Sémantique • Logiciel avec API, intégré et intégrable

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

  7. Ontologies: Annotations: Règles: Requêtes: Humain désignation Homme Femme nom titre Homme: #tdevaux nom Dévaux Sujet:Génétique intérêt Humain:?x membre Groupe:?g Humain:?y membre Humain:?x collègue Humain:?y Homme:# tdevaux intérêt Sujet:?t Représenter les connaissances

  8. <accident> <date> 19 Mai 2000 </date> <description> <facteur>le facteur </description> </accident> Ontologies Documents XML Légataires Utilisateurs <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> <rdfs:Class rdf:ID="thing"/> <rdfs:Class rdf:ID="person"> <rdfs:subClassOf rdf:resource="#thing"/> </rdfs:Class> requête réponse suggestion Schémas en RDFS Annotations en RDF composées d’instances des schémas RDFS RDFS RDF Requête Règles RDF/S Serveur Web sémantique CG Support Pile du Web QUERIES PROJECTION RULES CG Base CORESE ONTOLOGY CG Résultat RDFS CG Règles INFERENCES RDF XML NAMESPACES CG Requête URI UNICODE Moteur de recherche sémantique

  9. RDF Resource Description Framework W3C language for the Semantic Web Representing resources in the Web Triple model : resource property value RDF/XML Syntax RDF Schema : RDF Vocabulary Description Language

  10. RDF vs Conceptual Graphs rdfs:Class Concept Type rdf:Property Relation rdfs:Resource Concept rdfs:domain rdfs:range Signature RDF Graph CG Published at ICCS 2000

  11. Ontologie (concepts / classes) class Document class Report subClassOf Document class Topic class ComputerScience subClassOf Topic Document Report Memo Topic ComputerScience Maths

  12. Ontologie (relations / propriétés) property authordomain Documentrange Person property concerndomain Documentrange Topic Person Document author Topic Document concern

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

  14. Annotation Le rapport RR-1834 a été écrit par le chercheurOlivier 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” Report http://www.inria.fr/RR-1834.html Researcher http://www.inria.fr/o.corby author Olivier Corby name Java http://www.inria.fr/acacia#Java concern

  15. Exemple 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 Document ?doc Java ?topic concern

  16. 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 Article Memo Person Document author Topic Person interest

  17. Langage de requête select data where exp exp : resource property value ?x rdf:type c:Person resource operator value ?name = “Olivier”

  18. Langage de requête • Opérateurs: = <= ~ != … • XML Schema Datatypes : number, boolean, string, date, etc. • Langage utilisé: xml:lang=“en-us” • Combinaison expressions booléennesand / or • Non existence d’arc, arc optionnel, chemin • Interroger RDF Schema

  19. Interroger l’ontologie Trouver les sous-classes de Personne avec leurs labels / termes en Anglais ?x rdfs:subClassOf c:Person ?x rdfs:label ?l@en ?x rdfs:label “homme”@fr Trouver les traductions anglaises des labels de la classe homme

  20. ~ contain ^ startWith in is contained in < <= = >= > nombre ou string ! negation : != !~ <: <=: =: >=: >: type Opérateurs de requête

  21. Trouver un document : ?doc rdf:type ex:Document Le titre contient XML : ?doc ex:title ?title ?title ~ “XML” La date est antérieure à 2004 : ?doc ex:date ?date ?date <= “2004-01-01” Opérateurs

  22. Opérateurs avec variable Deux auteurs différents : ?doc ex:author ?p1 ?doc ex:author ?p2 ?p2 != ?p1

  23. Opérateurs avec variable Deux personnes de même nom : ?p1 rdf:type ex:Person ?p1 ex:name ?x ?p2 rdf:type ex:Person ?p2 ex:name ?x ?p1 != ?p2

  24. Opérateurs de type Un document de type égal à TechnicalReport ?x rdf:type ex:Document ?x =: ex:TechnicalReport Un document qui ne soit pas un Rapport technique : ?x rdf:type ex:Document ?x !<=: ex:TechnicalReport

  25. Arc absent Trouver une personne qui n’est pas l’auteur d’une thèse : ?p rdf:type ex:Person ?doc rdf:type ex:Thesis ?p not::ex:author ?doc

  26. Arc optionnel Trouver une personne auteur d’un livre, retourner l’éditeur s’il existe et son nom s’il existe : ?p rdf:type ex:Person ?p ex:author ?doc ?doc option::ex:publisher ?pub ?pub option::ex:name ?name

  27. Chemin Trouver par quel chemin deux personnes sont reliées, chemin de longueur au plus n : ?x rdf:type ex:Person ?y rdf:type ex:Person ?x ex:relation[2] ?y Essaie : (1) ?x ex:relation ?y (2) ?x ex:relation ?t ?t ex:relation ?y

  28. Tous les chemins Trouver par quels chemins deux personnes sont reliées, chemins de longueur au plus n : ?x rdf:type ex:Person ?y rdf:type ex:Person ?x all::ex:relation[2] ?y Essaie : (1) ?x ex:relation ?y (2) ?x ex:relation ?t ?t ex:relation ?y

  29. Propriété générique Ressources reliées par n’importe quelle propriété : ?x ?p ?y Ressources reliées par des propriétés différentes : ?x ?p1 ?y ?x ?p2 ?y ?p1 != ?p2

  30. Propriété générique Trouver un document dont le titre contient XML et retourner toutes ses propriétés : ?doc ex:title ?t ?t ~ “XML” ?doc ?p ?value

  31. Ou booléen ?x c:member ?y or ?y c:member ?z ?x rdf:type c:Man or ?x rdf:type c:Woman ?date = 1959-10-16 or ?date = 1992-04-24

  32. Grammaire des expressions exp ::= term ‘or’ exp | term ; term ::= fact term | fact ; fact ::= triple | test | ‘(‘ exp ‘)’ ; triple ::= resource property value ; test ::= resource oper value ;

  33. XML Schema Datatypes ?p c:name “Olivier”^^xsd:string ?p c:age 30^^xsd:float ?p c:birthDate 1959-10-16^^xsd:date ?p c:date ?d^^xsd:date

  34. Qualifiers • Distinct • Group • Count

  35. Distinct ?x c:friend ?f1 ?x c:friend ?f2 (1) Joe c:friend Jules (3) Joe c:friend Jules Joe c:friend Jim Joe c:friend Jules (2) Joe c:friend Jim (4) Joe c:friend Jim Joe c:friend Jules Joe c:friend Jim

  36. Distinct (cont) ?x c:friend ?f1 ?x c:friend ?f2 ?f1 != ?f2 (1) Joe c:friend Jules Joe c:friend Jim (2) Joe c:friend Jim Joe c:friend Jules

  37. Distinct (cont) Eliminer les réponses identiques aux permutations près ?x c:friend distinct::?f1 ?x c:friend distinct::?f2 ?f1 != ?f2 (1) Joe c:friend Jules Joe c:friend Jim

  38. Group by ?doc rdf:type ex:Document ?doc ex:author ?person ?doc ex:date ?date D1 John 1990 D2 Jack 2000 D3 John 2004 D4 Jack 2000

  39. Group by Grouper les documents par auteur et par date ?doc rdf:type ex:Document ?doc ex:author group::?person ?doc ex:date group::?date John 1990 D1 2004 D3 Jack 2000 D2 D4

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

  41. Count Ex : compter les ouvrages des auteurs count::?doc ex:author group::?person John D1 D3 (2) Jack D2 D4 (2)

  42. Paramétrage select list liste des projections merge toutgrouper dans un seul résultat projection 100 result 10 where

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

  44. Distance dans l’ontologie Objet Document Acteur Personne Équipe Rapport Cours Ingénieur Chercheur R. Recherche R. Technique Support C.

  45. Distance dans l’ontologie Objet 1 Document Acteur 1/2 Personne Équipe Rapport Cours 1/4 Ingénieur Chercheur R. Recherche R. Technique Support C.

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

  47. Inférences & Règles Exploiter 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 Person ?person Topic ?topic interestedBy interestedBy Team ?team member

  48. 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 PhDThesis ?doc Person ?person author Topic ?topic concern PhD ?person expertIn

  49. Syntaxe RDF/XML <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>

  50. Sémantique : symétrie <cos:rule> <cos:if> ?x c:brother ?y </cos:if> <cos:then> ?y c:brother ?x </cos:then> </cos:rule>

More Related