1 / 55

Les ontologies

Les ontologies. Lylia Abrouk Université de Bourgogne Lylia.Abrouk@u-bourgogne.fr. Les ontologies Définitions.

Download Presentation

Les ontologies

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. Les ontologies Lylia Abrouk Université de Bourgogne Lylia.Abrouk@u-bourgogne.fr

  2. Les ontologiesDéfinitions • Un vocabulaire est une liste de termes définis généralement par une communauté afin de pouvoir décrire du contenu, et de rechercher l'information. Il est souvent utilisé pour les documents techniques ou plus généralement dans un domaine spécialisé. L'utilisation d'un vocabulaire contrôlé pour la description des documents facilite l'accès à l'information pour les utilisateurs par la rapidité et la délimitation d'un domaine de connaissances. Les résultats d'une recherche sont plus précis et pertinents par rapport à une description libre car un sujet sera décrit avec les mêmes termes. • Un vocabulaire contrôlé est utilisé dans les thésaurus, les ontologies, les réseaux sémantiques, ainsi que toute autre ressource décrivant un domaine avec des termes préférentiels. L'organisation du vocabulaire est traitée à différents niveaux par exemple (relations entre les termes ou le multilinguisme).

  3. Les ontologiesDéfinitions • La structure la plus simple d'un vocabulaire contrôlé est la taxonomie. Il s'agit d'une hiérarchie de termes, organisée généralement avec la relation de spécialisation / généralisation. D'autres relations sont utilisées comme la composition mais dans une taxonomie, un seul type de relation est représenté. • Exemple : • Division du monde

  4. Les ontologiesDéfinitions • Les termes d'un thésaurus servent à représenter ou à annoter des documents. Le thésaurus utilise un vocabulaire contrôlé, structuré et souvent restreint à un domaine particulier. En plus des relations de spécialisation (relation verticale) présentes dans une taxonomie, un thésaurus élargit le contexte d'un terme en ajoutant d'autres relations : terme interdit, terme préféré (relations horizontales). • Exemple : thésaurus multilingue de l’environnement (GEMET) • Terme faune • TG(Terme général) organisme • TS(Terme spécifique) faune marine • TT(Thème) biologie

  5. Les ontologiesDéfinitions • Gruber 1993: « Une ontologie est une spécification explicite d'une conceptualisation d'un domaine. » • Studer 1998 : « Une ontologie est une spécification formelle et explicite d’une conceptualisation partagée. » • conceptualisation = Modèle abstrait de phénomènes réels, • Ensemble des concepts importants caractérisant un domaine, • Point de vue, une perception limitée du monde • explicite : les types de concepts utilisés et les contraintes sur leurs usages sont explicitement définis. • formel : compréhensibles par la machine. • partagé : connaissances consensuelles, acceptés par un groupe.

  6. Pourquoi créer une ontologie? • Partager la compréhension commune de la structure de l’information entre les personnes ou les fabricants de logiciels. (site e-commerce) • Permettre la réutilisation du savoir sur un domaine • Expliciter ce qui est considéré comme implicite sur un domaine • Distinguer le savoir sur un domaine du savoir opérationnel • Analyser le savoir sur un domaine

  7. Ontologie : Exemple • Une ontologie est une description formelle explicite des concepts dans un domaine • Classes (concepts) • Attributs (rôles ou propriétés) • Facettes (restrictions de rôles) • Instances de classes • Ex : Ontologie de vin • Classe vin : tous les vins • Vin de Bordeaux est une instance de la classe des vins • Sous classes (blancs, rouges, rosés) • Les attributs décrivent les propriétés des classes et des instances

  8. Ontologies : Types • Ontologies légères (lightweight ontologies) • Des termes: un vocabulaire normalisé • Des concepts/classes/types de concepts: donne le sens de termes par des définitions en langages naturelles. • Des relations entre concepts • Une taxonomie de concepts • Des propriétés/attributs de concepts • Ontologies lourdes (heavyweight ontologies) • Des définitions formelles dans un langage de représentations des connaissances • Des axiomes/contraintes d’intégrités • Des fonctions (pour calculer une valeur) • Des règles (si X alors Y) • Des instances/individus

  9. Exemple Homme io Pierre io Aunliendefraternité Marie EstMarieA Paul Habite_a Habite_a France SeTrouveEn Paris

  10. Ontologie : Exemple • Les différentes étapes de manière générale: • Définir les classes dans l’ontologie • Arranger les classes en une hiérarchie taxonomique (sous-classe, super-classe) • Définir les attributs et décrire les valeurs autorisées pour ces attributs

  11. Création de l’ontologieÉtape 1 • Définition du domaine et de sa portée • Quel domaine va couvrir l’ontologie ? • Dans quel but utiliserons nous l’ontologie ? • A quels types de questions l’ontologie devra t-elle fournir des réponses ? • Qui va utiliser et maintenir l’ontologie • Exemple projet : • Gestion des salles? • Coût des films? • Relations entre les acteurs?

  12. Création de l’ontologieÉtape 2 • Réutilisation des ontologies existantes • Affiner des sources existantes • Existence de bibliothèques d’ontologies réutilisables • Ontolingua • Bibliothèque des ontologies DAML (http://www.daml.org/ontologies)

  13. Création de l’ontologieÉtape 3 • Énumérer les termes importants dans l’ontologie • Définir une liste • Ex: film, acteur, titre, origine, etc.

  14. Création de l’ontologieÉtape 4 • Définir les classes et la hiérarchie de classes • De haut en bas • De bas en haut : regroupement de classes en concepts plus généraux • Combiné • L’approche dépend du domaine et du point de vue personnel • Organiser les classes dans une taxonomie hiérarchique • Si une classe A est une sous classe d’une classe B, alors toute instance de B est également une instance de A.

  15. Création de l’ontologieÉtape 4 • Vérifier la hiérarchie de classes • Est-un (ex : un avion est un engin) • Est-sorte-de (ex : un avion de ligne est une sorte d’avion) • Transitivité des classes • Maintenir une hiérarchie cohérente • Les noms de classes : Les synonymes pour le même concept ne représentent pas de classes différentes • Fratries : structure de livre • Éviter les boucles de classes

  16. Création de l’ontologieÉtape 4 • Héritage multiple • Héritage des attributs et des facettes des parents • Introduire une nouvelle classe : Les sous-classes d'une classe • possèdent habituellement des propriétés complémentaires que ne possède pas la superclasse, ou • des restrictions différentes de celles de la superclasse, ou • entretiennent des relations différentes de celles que les superclasses peuvent entretenir • Classe ou valeur de propriété Ex : côtes dans l’anatomie humaine (position latérale, ordre) • Classe ou instance • Les instances individuelles sont les concepts les plus spécifiques représentés dans une base de connaissance.

  17. Création de l’ontologieÉtape 4 • Limiter la portée • L'ontologie ne doit pas contenir toute l'information possible sur le domaine : vous ne devez pas spécialiser (ou généraliser) plus que de besoin pour votre application (au maximum un niveau supplémentaire de chaque coté). • L'ontologie ne doit pas contenir toutes les propriétés possibles des classes et toutes les distinctions entre les classes dans la hiérarchie. • Sous-classes disjointes • Les classes sont disjointes lorsqu’elles ne peuvent pas avoir d’instances en commun

  18. Création de l’ontologieÉtape 5 • Il reste les propriétés de classes !! • Pour chaque propriété déterminer la classe qu’elle décrit • Les propriétés deviennent des attributs rattachés aux classes • Les propriétés • Intrinsèques, ex:odeur • Extrinsèques, ex:nom • Parties de • Relations avec d’autres individus • Toutes les sous-classes d’une classe héritent les attributs de cette classe • Rattaché à la classe la plus générale pouvant avoir cette propriété

  19. Création de l’ontologieÉtape 5 • Attributs inverses : relations inverses • Ex : producteur/produit • Valeurs par défaut • Lorsqu’une valeur particulière d’un attribut est la même pour la plupart des instances d’une classe, nous pouvons désigner cette valeur comme étant la valeur par défaut pour l’attribut.

  20. Création de l’ontologieÉtape 6 • Définir les facettes des attributs • Les attributs peuvent avoir plusieurs facettes. Les facettes décrivent : • le type de la valeur des attributs : (chaîne de caractères, numérique, booléen, énumération, instance, etc.) • les valeurs permises pour l’attribut • le nombre de valeurs permises pour l’attribut : (cardinalité : simple, multiple, minimale, maximale) • le domaine de l’attribut : les classes auxquelles il est attaché • - la gamme de l’attribut (pour un attribut de type instance): liste de classes d’où peut provenir l’instance.

  21. Création de l’ontologieÉtape 7 • Créer les instances • Définir une instance individuelle d’une classe exige de : • choisir une classe, • créer une instance individuelle de cette classe, et • remplir les valeurs des attributs de l’instance créée. Instance de couleur : rouge

  22. OWL Web Ontology Language

  23. Historique • 1990 : création du World Wide Web par Tim Berners Lee • HTML 1 • Permet de « faire des pages web simples » • Jusqu'en 1998 : « balkanisation du Web » • Explosion du nombre de pages Web disponibles • Versions successives de HTML • Balises propriétaires introduites par Microsoft et Netscape • 1998 : XML devient une Recommandation du W3C • 2004 : OWL (Web Ontology Language) devient une Recommandation du W3C

  24. RDFS (Rappel) • Exemple : Un Livre est une sorte de Publication, et un Magazine aussi. Toute Publication a un titre, un Livre a un ou plusieurs auteurs, . . . • RDF Schema permet de décrire des classes et des propriétés.

  25. Limitations RDFS • rdfs:range définit le domaine de valeurs d’une propriété quelle que soit la classe (ne permet pas : les vaches ne mangent que de l’herbe et d’autres animaux mangent de la viande) • Ne permet d’exprimer que deux classes sont disjointes • Ne permet de créer des classes par combinaison ensembliste d’autres classes (intersection, union, complément) • Ne permet pas de définir de restriction sur le nombre d’occurrences de valeurs que prend une propriété (une personne a deux parents) • Ne permet de définir certaines caractéristiques des propriétés : transitivité, propriété inverse, unicité

  26. Pourquoi OWL ? • RDF et RDFs seuls sont trop limités : • Impossibilité de préciser la nature des relations entre ressources (réflexivité, etc.) • Aucune capacité de raisonnement • Logique très limitée • D'où la nécessité de OWL : • Découle de RDF + RDFS • Connecteurs logiques entre classes (union, intersection, etc.) • Cardinalité sur les propriétés • Caractérisation des propriétés (transitivité, inverse, etc.) Logique OWL RDF+RDF Schema Métadonnées XML + XML Schema Syntaxe

  27. Web Ontology Language • un dialecte XML basé sur une syntaxe RDF qui fournit les moyens pour définir des ontologies Web structurées • est basé sur la recherche effectuée dans le domaine de la logique de description • permet de décrire des ontologies, c'est-à-dire qu'il permet de définir des terminologies pour décrire des domaines concrets • constitue une avancée importante dans la représentation et l'organisation des connaissances disponibles sur le Web • est conçu comme une extension de Resource Description Framework (RDF) et RDF Schema (RDFS) 

  28. Les avantages d’OWL • apporte une meilleure intégration, une évolution, un partage et une inférence plus facile des ontologies • ajoute les concepts de classes équivalentes, de propriété équivalente, d'égalité de deux ressources, de leurs différences, du contraire, de symétrie et de cardinalité • grâce à sa sémantique formelle basée sur une fondation logique largement étudiée, permet de définir des associations plus complexes des ressources ainsi que les propriétés de leurs classes respectives • est adéquat pour le Web sémantique, car il offre une syntaxe définie strictement, une sémantique définie strictement et selon le niveau peut permettre des raisonnements automatisés sur les inférences et conclusions des connaissances • le partage et l'échange dans ses formats est facile

  29. Trois sous-langages

  30. Trois sous langages • OWL Lite : répond à des besoins de hiérarchie, de classification et de fonctionnalités de contraintes simples de cardinalité 0 ou 1. (ex : une personne a plusieurs prénoms!!) • OWL DL : une expressivité maximum sans sacrifier la complétude de calcul (toutes les inférences sont sûres d'être prises en compte) et la décidabilité (tous les calculs seront terminés dans un intervalle de temps fini) des systèmes de raisonnement • OWL Full : une expressivité maximum et la liberté syntaxique de RDF sans garantie de calcul

  31. OWL <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> <owl:Ontology rdf:about=""> <rdfs:comment> Un exemple d’ontologie OWL </rdfs:comment> <owl:imports rdf:resource="http://www.inapg.fr/Personnes"/> </owl:Ontology> … </rdf:RDF> • OWL est construit sur RDF et RDFS • Utilise la syntaxe RDF/XML

  32. Exemple <?xml version="1.0" encoding="UTF-8"?> <rdf:RDFxmlns:owl=http://www.w3.org/2002/07/owl# xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema# xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> <owl:Ontology rdf:about=""> <rdfs:comment> Un exemple d’ontologie OWL </rdfs:comment> <owl:imports rdf:resource="http://www.inapg.fr/Personnes"/> </owl:Ontology>… </rdf:RDF> Tous les fichiers OWL doivent compter une référence à l’espace de nommage.

  33. Éléments Classe • Owl:Thing et owl:Nothing deux classes prédéfinies • Toute classe d’owl est une sous classe de Owl:Thing et super classe de owl:Nothing • Classes définies avec owl:Class <owl:Class rdf:ID="ProfesseurAssistant"> <rdfs:subClassOf rdf:resource="#Enseignant"/> </owl:Class>

  34. Disjoint • Exprimer qu’une classe est disjointe owl:Class Man owl:disjointWith Woman <owl:Class rdf:about=" ProfesseurAssistant "> <owl:disjointWith rdf:resource="#Professeur"/> <owl:disjointWith rdf:resource="#Ingenieur"/> </owl:Class>

  35. Equivalence • On peut définir des équivalences entre les classes <owl:Class rdf:ID="Enseignant"> <owl:equivalentClass rdf:resource="#Intervenant"/> </owl:Class>

  36. Éléments de propriétés • Exprimer des faits au sujet de ces classes et de leurs instances. • la couleur d’un vin, son corps, sa teneur en sucre sont des propriétés d’une classe Vins. • OWL fait la distinction entre deux types de propriétés: • les propriétés d’objet qui permettent de relier des instances à d’autres instances • is-TaughtBy, supervises • les propriétés de type de donnée qui permettent de relier des individus à des valeurs de données. • phone, title, age

  37. Éléments de propriétés <owl:ObjectProperty rdf:ID="estEEnseignePar"> <rdfs:domain rdf:resource="#cours"/> <rdfs:range rdf:resource="#enseignant"/> <rdfs:subPropertyOf rdf:resource="#implique"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="Age"> <rdfs:range rdf:resource="http://www.w3.org/2001/ XMLSchema#nonNegativeInteger"/> </owl:DatatypeProperty>

  38. Inverse • p1 owl:inverseOf p2 • X p1 Y  Y p2 X • hasParent owl:inverseOf hasChild • John hasParent Jim  Jim hasChild John <owl:ObjectProperty rdf:ID="Enseigne"> <rdfs:domain rdf:resource="#enseignant"/> <rdfs:range rdf:resource="#cours"/> <rdfs:inverseOf rdf:resource="#estEnseignePar"/> </owl:ObjectProperty>

  39. Équivalence • p1 owl:equivalentProperty p2 • X p1 Y  X p2 Y <owl:ObjectProperty rdf:ID="faitCours"> <rdfs:equivalentProperty rdf:resource="#Enseigne"/> </owl:ObjectProperty>

  40. Qualification universelleOwl:AllValuesFrom <owl:Class rdf:about="#cours1ereAnnee"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#estEnseignéPar"/> <owl:allValuesFrom rdf:resource="#professeur"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Chaque instance de cours de 1ere année ne peut être enseignée que par un enseignant professeur

  41. Qualification existancielleOwl:SomeValuesFrom <owl:Class rdf:about="#Enseignant"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#enseigne"/> <owl:someValuesFrom rdf:resource="#coursMaster"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Un enseignant doit enseigner au moins un cours de master

  42. Valeur uniqueOwl:hasValue <owl:Class rdf:about="#mathCourse"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isTaughtBy"/> <owl:hasValue rdf:resource="#949352"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

  43. Cardinalité • Cardinality : nombre de valeurs sémantiquement distinctes d’une propriété owl:Class Human rdfs:subClassOf owl:Restriction owl:onProperty parent owl:cardinality 2

  44. Cardinalité <owl:Class rdf:about="#cours"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#estEEnseignePar"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1 </owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#estEEnseignePar"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">3 </owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

  45. Transitivité • owl:TransitiveProperty • X p Y  Y p Z  X p Z • ex:hasAncetor rdf:type owl:TransitiveProperty

  46. Symétrie • p rdf:type owl:SymmetricProperty • X p Y  Y p X • ex:frère rdf:type owl:SymmetricProperty

  47. Propriété fonctionnelle • ex:mari rdf:type owl:FunctionalProperty • Une valeur unique pour une ressource donnée Fabien ex:husband Julie Fabien ex:husband Béné  Julie = Béné • Si on déclare Julie et Béné comme deux individus différents, on obtient un exemple d’inconsistance

  48. Propriété fonctionnelle inverse • ex:mèrede owl:InverseFunctionalProperty • Une ressource unique pour une valeur donnée Véro ex:mèrede Luc Nathalie ex:mèrede Luc  Véro = Nathalie

  49. Combinaisons de classesUnion <owl:Class rdf:about="#PersonneUniversite"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Enseignant"/> <owl:Class rdf:about="#Etudiant"/> </owl:unionOf> </owl:Class>

  50. Intersection owl:Class femmes owl:intersectionOf owl:Class humains owl:Class femelles • Définit une équivalence entre femmes et l’intersection de humains et femeles • humains Femelles Femmes

More Related