La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Lylia Abrouk Université de Bourgogne

Présentations similaires


Présentation au sujet: "Lylia Abrouk Université de Bourgogne"— Transcription de la présentation:

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

2 Les ontologies Dé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 ontologies Dé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 ontologies Dé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 ontologies Dé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 Pierre Marie Paul France Paris io io Aunliendefraternité
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 (

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 OWL est construit sur RDF et RDFS Utilise la syntaxe RDF/XML
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:owl=" xmlns:rdf=" xmlns:rdfs=" xmlns:xsd=" <owl:Ontology rdf:about=""> <rdfs:comment> Un exemple d’ontologie OWL </rdfs:comment> <owl:imports rdf:resource=" </owl:Ontology> </rdf:RDF>

32 Exemple <?xml version="1.0" encoding="UTF-8"?>
<rdf:RDFxmlns:owl= xmlns:rdf= xmlns:rdfs= xmlns:xsd=" <owl:Ontology rdf:about=""> <rdfs:comment> Un exemple d’ontologie OWL </rdfs:comment> <owl:imports rdf:resource=" </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=" 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 universelle Owl: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 existancielle Owl: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 unique Owl: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> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">3 </owl:maxCardinality> </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 classes Union
<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

51 Complément <owl:Class rdf:about="#PersonnelAdministratif">
<owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#PersonnelUniversite"/> <owl:Class> <owl:complementOf> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Enseignant"> <owl:Class rdf:about="#Technicien"> </owl:unionOf> </owl:Class> </owl:complementOf> </owl:intersectionOf>

52 Enumération <owl:Class rdf:about="#jourDeLaSemaine">
<owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Lundi"> <owl:Thing rdf:about="#Mardi"> <owl:Thing rdf:about="#Mercredi"> <owl:Thing rdf:about="#Jeudi"> <owl:Thing rdf:about="#Vendredi"> <owl:Thing rdf:about="#Samedi"> <owl:Thing rdf:about="#Dimanche"> </owl:oneOf></owl:Class>

53 instances Les instances d’une classe OWL se déclarent avec l’élément rdf:type <rdf:Description rdf:ID="1234"> <rdf:type rdf:resource="#enseignant"/> </rdf:Description> <enseignant rdf:ID="1234"/> <Owl:AllDifferent> permet de définir les inégalités des couples d’individuels d’une liste donnée.

54 Sous langages OWL Full : tous les constructeurs OWL Lite :
owl:oneof owl:disjointWith owl:unionof owl:complementOf owl:hasValue ne sont pas autorisés Cardinalité : valeurs 0 et 1 Owl:equivalentClass entre classes identifiées

55 Références Développement d’une ontologie, Natalya F Noy et Deborah L. McGuinness. Le langage d’ontologie OWL. Francis Lapique A semantic Web Primer. G.Antoniou et F. van Harmelen


Télécharger ppt "Lylia Abrouk Université de Bourgogne"

Présentations similaires


Annonces Google