Académique Documents
Professionnel Documents
Culture Documents
connaissances
4 3
Représentation des connaissances
Connaissance
5/120 6 4/120 5
74/120 8 73/120 7
La notion de connaissance dans la gestion des
Les sources existantes connaissances
Modèle hiérarchique de la connaissance :
Plusieurs niveaux :
Données brutes C = Connaissance Connaissance Je suis à Orléans
C = I · U avec
I = Information Information assimilée
Informations internes, externes structurées ou pas U = Utilisation pour réaliser une action Je chaudement
Connaissances / compétences
Savoir-faire / expériences
I = Information
Plusieurs niveaux de partage I = D · k avec
D = Donn´ees Information La température est de 10o C
k = Contexte Données mises en contexte à Orléans
Individualisé
Partagé
Intégré dans un processus organisé
Données 10oC
Eléments bruts en
dehors de tout contexte
76/120 10 75/120 9
78/120 12 77/120 11
Pourquoi faire ? Modélisation des connaissances
Réalisation dans un système « intelligent »
La représentation et la modélisation des connaissances sont au
de Articifielle Recensement et
Définition de système de gestion des connaissances en Structuration les connaissances
entreprise dans une représentation schématique
Réalisation de supports pédagogiques ou de matériel
pour les rendre visibles, manipulables, compréhensibles,
didactique (MOOC)
communicables
Clarification du domaine
Structuration des connaissances abordées (Paquette, 2002a)
Identification des liens entre les connaissances On obtient un modèle de connaissances
Représentation du modèle mental relatif aux connaissances
domaine
(Basque&Pudelko, 2004)
7/120 14 6/120 13
55/120 18 50/120 17
Chapitre 2 :
Modèles de représentation de connaissance
Réseaux Sémantiques
Les ontologies Les objets structurés : schémas et scripts
Web sémantique
Ontologies
20 98/120 19
Ontologies Plan du chapitre
Motivations: Ontologies :
Constat:
22 21
Ontologies
Ontologies
Motivations: Motivations:
Plusieurs approches pour représenter : Objectifs :
- Comment représenter les informations cachées et implicites
un moyen rapide pour retrouver des informations utiles.
- Comment capturer
se basant sur des dictionnaires:
une structure plus élaborée que les mots clés
1.collecter tous les concepts et les termes de ces concepts
2.et les relations possibles entre ces concepts
utilisant les taxonomies:
plus complètes que
24 23
Ontologies
Ontologies
Motivations:
Motivations:
Plusieurs approches pour représenter :
?
Etymology & Thing
Philosophy
Essence Existence
Ontologie
ONTOS (Being) + LOGOS
Language Reason
26 25
Ontologies Ontologies
Définitions :
Définitions :
ontologie
[Uschold Une ontologie peut prendre différentes formes, mais elle
inclura nécessairement un vocabulaire de termes et une spécification de
leur signification. Cette dernière inclut des définitions et une indication (petit Larousse 1998).
de la façon dont les concepts sont reliés entre eux, les liens imposant
collectivement une structure sur le domaine et contraignant les Une ontologie est une spécification explicite
interprétations conceptualisation [Gruber 93]
[Pierra 2007]: Une ontologie est une conceptualisation d'un domaine en
termes de classes et de propriétés qui soit : [Bachimont 2000] : Comprend tout ce à quoi il faut penser dans un
- explicite domaine, tous les objets de pensée d'un domaine.
- formelle
- consensuelle Une ontologie est une convention de vocabulaire et de relations entre les
- référençable par des identificateurs universels mots de ce vocabulaire
28 27
Ontologies Ontologies
Pourquoi utiliser une ontologie? Pourquoi utiliser une ontologie?
Gilles KASSEL (les différents points de vue)
- BD: Définir un vocabulaire canonique des concepts d'un domaine.
identifiants + notions primitives {classes/propriétés/types} du domaine
Une définition, au sens large - IA : Définir des correspondances entre vocabulaires et des possibilités de
Dans un sens large, on peut adopter pour la notion la déduction.
caractérisation suivante [Uschold, 98] : {classes/propriétés/types} du domaine primitifs + Opérateurs de synonymie conceptuelle
ontologie peut prendre différentes formes, mais elle inclura
nécessairement un vocabulaire de termes et une spécification de leur - Langue Naturelle{mots } + similarités entre mots+relations mots / sens
signification. Cette dernière inclut des définitions et une indication de la
façon dont les concepts sont reliés entre eux, les liens imposant
collectivement une structure sur le domaine et contraignant les [Pierra 2007]
interprétations possibles des termes.
30 29
Ontologies Ontologies
Pourquoi utiliser une ontologie? Pourquoi utiliser une ontologie?
32 31
Ontologies Ontologies
Pourquoi utiliser une ontologie? Pourquoi utiliser une ontologie?
34 33
Ontologies Ontologies
Pourquoi utiliser une ontologie? Pourquoi utiliser une ontologie?
36 35
Ontologies Ontologies
Propriétés
Concept
40 39
Ontologies Ontologies
42 41
Ontologies Ontologies
Plusieurs formalismes proposés pour:
Un Axiome:
du système de gestion des connaissances. Permet de définir la sémantique des termes (classes, relations), leurs
propriétés et toute contrainte quant à leur interprétation.
un domaine donné.
Offrir un support formel à la composition de concepts et à leur
comparaison.
Exemples:
Logique de description.
Réseaux sémantiques.
Graphes conceptuels.
44 43
Ontologies Ontologies
La logique de description fournit trois composantes formels :
Concept :
Concept primitif possède une description incomplète et sert à construire des Logique de description (LD):
concepts définis. Créée par [Brachman 79].
Concept défini possède une description complètement spécifiée qui correspond à
des conditions nécessaires et suffisantes exprimées par des rôles. Un formalisme logique de représentation des connaissances [Kayser 97]
[Ducourneau 98].
Les rôles sont des relations binaires entre concepts,
atomiques et des rôles atomiques correspondant à des prédicats binaires
Les concepts du domaine sont organisés en une hiérarchie par la relation de et décrivant les relations entre les objets.
subsomption. Deux notions T-Box et A-Box, suivantes :
Les LD utilisent un raisonnement déductif pour expliciter les informations T-Box (Terminological Box) : permet de décrire les concepts en
implicites contenues dans une base de connaissances.
sur ces relations. T-Box renferme donc les connaissances
terminologiques.
A-Box (Assertional Box) correspond au niveau des assertions
46 45
Ontologies Ontologies
Réseaux sémantiques: Réseaux sémantiques: Structure de graphe qui encode les connaissances
des objets ainsi que leurs propriétés:
Les concepts
lui-
par un arc [Quillian 68], [Woods 75].
48 47
Ontologies Ontologies
Graphes conceptuels : Modèle de représentation de connaissances du type réseaux
Graphes conceptuels : sémantiques fondés sur la logique développée par [Sowa 06].
50 49
Tâche
Application
52 51
Ontologie de tâches
Elle est utilisée pour conceptualiser des tâches spécifiques dans les
systèmes, telles que les tâches de diagnostic, de planification, de aux rôles joués par les entités du domaine tout en exécutant une
conception, de configuration, soit tout ce qui concerne la résolution certaine activité.
de problèmes.
Elle régit un ensemble de vocabulaires et de concepts qui décrit une
structure de résolution des problèmes inhérente aux tâches et
indépendante du domaine.
54 53
cette ontologie définit des concepts génériques et centraux dans cette ontologie régit un ensemble de vocabulaires
différents domaines [Kassel 09].
et de concepts qui décrit un domaine d'application
Elle véhicule des connaissances génériques moins abstraites que
ou monde cible
pour être réutilisées à travers différents domaines.
Elle porte sur des concepts généraux qui se veulent indépendants
56 55
Exercice Exemples des ontologies
60 59
Chapitre 3 :
Correction Exercice
61
PLAN
Préambule
Cycle de vie 1996, les premières ontologies ont été développées de façon
Besoin complètement artisanale, sans suivre de méthode prédéfinie.
Conception
De ces premiers projets (ex : Mikrokosmos, Enterprise Ontology, TOVE,
Diffusion
MENELAS) sont issues des listes de recommandations constituant des
Utilisation
ébauches de méthodes, ou cadres méthodologiques.
Evaluation
Evolution Depuis 1998, on assiste à la naissance de cadres méthodologiques plus
élaborés inspirés des méthodes de des Connaissances (ex :
Exemples de Méthodologies
METHONTOLOGY) et fondés, soit sur la linguistique (ex : TERMINAE), soit
sur (ex : principes proposés par N. Guarino).
64 63
68 67
Conception : Opérationalisation Conception : Ontologisation
opérationalisation consiste à outiller une ontologie pour permettre à une
machine, via cette ontologie, de manipuler des connaissances du domaine. La permettre, à cette étape, de construire une ontologie proprement dite. Afin de
machine doit donc pouvoir utiliser des mécanismes opérant sur les respecter les objectifs généraux des ontologies, T. GRUBE R propose 5 critères
ontologisation
Cette étape revient à décider des connaissances à implanter et à opérer des
choix de représentation en fonction des constructions proposées par le
langage cible.
la cohérence (consistance logique) des axiomes ;
-à-
modification ;
la minimalité
portabilité ;
la minimalité -à-
chaque terme
70 69
Conception : Opérationalisation
Diffusion
La phase de diffusion s'intéresse au déploiement et à la mise en place de
l'ontologie. Les problèmes de cette phase sont fortement contraints par opérationalisation consiste à outiller une ontologie pour permettre à une
l'architecture des solutions. machine, via cette ontologie, de manipuler des connaissances du domaine. La
Dans un contexte d'application web, on reposera sur des technologies idoines. machine doit donc pouvoir utiliser des mécanismes opérant sur les
Pour le partage de fichiers, des architectures pair à pair ou autres
architectures distribuées peuvent être utilisées. Cette étape revient à décider des connaissances à implanter et à opérer des
choix de représentation en fonction des constructions proposées par le
Pour l'intégration d'applications, des architectures de services web peuvent langage cible.
être une solution.
Dans toutes ces architectures, la distribution des ressources (données,
modèles, applications et utilisateurs) et leur hétérogénéité (syntaxes,
sémantiques, protocoles, contextes, etc.) posent des problèmes de recherche
sur l'interopérabilité (alignement et médiation) et le passage à l'échelle (larges
bases, optimisation d'inférences, propagation de requêtes, syndication de
données, composition de services, etc.).
72 71
Gestion Utilisation
L'activité permanente de gestion et planification souligne qu'il est important La phase d'utilisation regroupe toutes les activités reposant plus ou moins
d'avoir un travail de suivi et une politique globale pour détecter ou déclencher, directement sur la disponibilité de l'ontologie, par exemple, l'annotation de
préparer et évaluer les itérations du cycle et s'assurer que l'on reste dans le ressources (traitement de la langue, rétroingénierie de base de données, etc.),
cercle vertueux des systèmes d'information (où se succèdent contribution, la résolution de requête (algorithme de projection de graphes avec
utilisation, création). contraintes), la déduction de connaissances et l'aide à la décision (moteurs
d'inférence à base de règles),
Toutes ces activités ont en commun de poser le problème de la conception des
interactions avec l'utilisateur et de leur ergonomie (interfaces dynamiques,
profils et contextes d'utilisation). Sur ce point, l'ontologie apporte à la fois de
nouvelles solutions (par exemple, les inférences exploitent les ontologies pour
la génération dynamique d'éléments d'interfaces) et de nouveaux problèmes
(par exemple, la complexification des modèles de données engendre des
problèmes pour leur représentation et l'interaction avec ces représentations).
74 73
Evolution Evaluation
-à-dire que a priori par des tests correspondants à
76 75
Exemple de Méthodologie
Grüninger
http://www.eil.utoronto.ca/tove/ontoTOC.html Ontology Uschold & King, 95]
Cette méthode est basée sur du développement de
du projet TOVE (TOrento Virtual Enterprise). Elle aboutit à la construction http://www.aiai.ed.ac.uk/project/enterprise
modèle logique de connaissance. est développée selon les
étapes suivantes : La méthode, basée sur du développement de
Identification de scénarii (problèmes) dépendants application Enterprise Ontology, repose sur de différentes étapes :
Formulation de questions informelles (basées sur les scénarii) auxquelles Identification du POURQUOI de ;
doit permettre de répondre ; Construction de (identification des concepts clef ; modélisation
Spécification terminologie à partir des termes apparaissant dans les informelle ; formalisation) et intégration existantes ;
questions.
Spécification formelle (en KIF) des axiomes et des définitions pour les termes de Evaluation et documentation de .
la terminologie. Cette méthode du développement de SBCs. Les étapes et sous-
Evaluation de la complétude de . tâches sont décrites de façon abstraite. Les techniques à utiliser pour les
La méthode reste spécifiée de façon abstraite. Ni les différentes étapes ni sous-tâches ne sont pas précisées (ex : comment identifier les concepts clef
les techniques ne sont décrites en détail. ? Quel langage de formalisation utiliser ?).
78 77
80 79
Chapitre 4 :
Une méthode linguistiquement fondée
TERMINAE [Biébow & Szulman, 99]
Cette méthode est développée au LIPN, à de Villetaneuse.
dans la problématique du groupe de recherche français TIA
(Terminologie et IA), elle propose la construction à partir de
textes en suivant quatre principales étapes :
Représentations et langages : OWL Constitution corpus (documents techniques, comptes rendus, livres de
cours, etc.), à partir analyse des besoins de visée,
Etude linguistique, pour identifier des termes et des relations lexicales, en
utilisant des outils de traitement de la langue naturelle,
Normalisation sémantique, conduisant à des concepts et des relations
sémantiques définis dans un langage semi-formel.
Formalisation et intégration des concepts au sein BC formelle.
Dans sa version actuelle, supportant la méthode intègre LEXTER
[Assadi & Bourigault, 00] pour identifier des termes candidats.
82 81
84 83
Origine de OWL Standard de web sémantique
86 85
Une ressource spécifique associée à une propriété et sa Resource Description Framework (RDF)
valeur correspondante est une expression ou déclaration Est un modèle, associé à une syntaxe, dont le but est de
(« statement »)RDF. Ces trois parties (ressource, propriété,
valeur) sont appelées respectivement sujet, prédicat et mêmes méta-données pour des ressources partagées.
objet.
Se base sur le triplet {propriété, ressource, valeur}. Le
langage de balisage XML est utilisé pour le spécifier.
associée à une ressource) peut être une autre
déclaration RDF (réification) Les propriétés peuvent être des éléments XML ou bien des
attributs XML.
88 87
Ontologie (concepts / classes)
Échanger des ontologies
Document
class Document Nommer et définir un vocabulaire conceptuel consensuel et faire des
inférences élémentaires
class Report Report Memo Nommer les classes de ressources existantes
subClassOf Document Nommer les relations qui existent entre ces classes
Donner la signature de ces relations: type de
propriété
Le domaine (d'où la relation part)
Topic
domain range
class Topic Le range (où la relation arrive)
Documenter ces notions en langue naturelle
class ComputerScience Squelette taxonomique d'une ontologie
subClassOf Topic ComputerScience Maths
Liens hiérarchiques des classes
Liens hiérarchiques des propriétés
90 89
property author
domain Document
range Person
subPropertyOf creator
92 91
OWL version 1 OWL language
OWL has more expressive power than RDF Schema, provides Web Ontology Language (OWL) - is a semantic markup
additional vocabulary along with a formal semantics language for publishing and sharing ontologies on the World Wide
Three sublanguages: Web.
OWL Lite was designed for easy implementation and to provide users with a OWL is vocabulary extension RDF and derived from DAML+OIL
functional subset that will get them started in the use of OWL.
Web Ontology Language.
OWL DL was designed to support the existing Description Logic business segment
and to provide a language subset that has desirable computational properties for
Two versions:
reasoning systems. Version 1 (W3C Recommendation Feb 2004)
More expressive Dialects: OWL-Lite, OWL-DL, OWL-Full
Based on DL (Description Logic)
Version 2 (W3C Recommendation Oct 2009)
(Almost) all features included
Still computationally complete and decidable Profiles: OWL EL, OWL QL, OWL RL
OWL Full relaxes some of the constraints on OWL DL so as to make available Uses vocabulary from RDF and RDFS
features which may be of use to many database and knowledge representation More expressive than RDFS
systems, but which violate the constraints of Description Logic reasoners.
Maximum expressiveness
Computational properties not guaranteed
94 93
OWL Full est puissant au point d'être indécidable Chaque sous-langage visant à satisfaire à plusieurs aspects des
n'offre pas de support complet (ou efficace) de raisonnement
critères
96 95
OWL Lite OWL DL
Toute restriction supplémentaire limite OWL DL à un dialecte OWL DL (Description Logic) est un sous-langage de OWL Full qui
des constructeurs de langage restreint l'application des constructeurs au départ de OWL et RDF
par ex., OWL Lite exclut les classes énumératives, les déclarations de disjonction l'application des constructeurs de OWL les uns aux autres n'est pas autorisée
et la cardinalité arbitraire correspond donc à une logique descriptive bien étudiée
Avantage de ce langage: OWL DL permet le support de raisonnement efficace
plus facile à saisir pour les utilisateurs Mais on perd alors la compatibilité totale avec RDF:
plus facile à mettre en oeuvre pour les créateurs d'outils tous les documents RDF ne sont pas forcément des documents OWL DL
Inconvénients d'une expressivité restreinte autorisés
par contre, tout document OWL DL autorisé est aussi un document RDF
autorisé
98 97
OWL 2 RL enables the implementation of polynomial time reasoning algorithms using rule-extended
database technologies operating directly on RDF triples
applications with relatively lightweight ontologies used to organize large numbers of individuals
and need to operate directly on data in the form of RDF triples
100
99
OWL OWL version 2
Additionally to three new profiles and new OWL 2 Manchester
Syntax, OWL 2 adds new functionality with respect to OWL 1:
syntactic sugar to make some common patterns easier to write (e.g., disjoint union of
classes);
property chains and keys (in order to uniquely identify individuals of a given class by
values of (a set of) key properties);
richer datatypes:
various kinds of numbers: a wider range of XML Schema Datatypes (double, float, decimal,
positiveInteger, etc.) and providing its own datatypes, e.g., owl:real;
strings with (or without) a Language Tag (using the rdf:PlainLiteral datatype);
boolean values, binary data, IRIs, time instants, etc.
datatype restrictions by means of constraining facets that constrain the range of
values allowed for a given datataype, by length (for strings) e.g., minLength,
maxLength, and minimum/maximum value, e.g., minInclusive, maxInclusive.
N-ary Datatypes;
qualified cardinality restrictions;
asymmetric, reflexive, and disjoint properties;
enhanced annotation capabilities.
102
101
OWL repose sur RDF et utilise la syntaxe XML de RDF Fondements de OWL
Langage OWL
D'autres formes de syntaxe ont été également définies pour
OWL:
la syntaxe sur base XML plus lisible
une syntaxe abstraite beaucoup plus compacte et lisible que les
langages XML
une syntaxe graphique basée sur les conventions de UML
104 103
owl:Ontology Syntaxe OWL XML/RDF: en-tête (header)
<owl:Ontology rdf:about="">
<rdf:RDF
<rdfs:comment>An example OWL ontology </rdfs:comment>
xmlns:owl ="http://www.w3.org/2002/07/owl#"
<owl:priorVersion
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf- syntax-
rdf:resource="http://www.mydomain.org/uni-ns-old"/> ns#"
<owl:imports xmlns:rdfs="http://www.w3.org/2000/01/rdf- schema#"
rdf:resource="http://www.mydomain.org/persons"/> xmlns:xsd ="http://www.w3.org/2001/ XLMSchema#">
<rdfs:label>University Ontology</rdfs:label>
</owl:Ontology> Une ontologie OWL peut commencer par une collection
d'assertions à des fins internes utilisant l'élément owl:Ontology
owl:imports est une propriété transitive
106 105
owl:equivalentClass définit l'équivalence des classes Les classes se définissent avec owl:Class
owl:Class est une sous-classe de rdfs:Class
<owl:Class rdf:ID="faculty">
La disjonction se définit par owl:disjointWith
<owl:equivalentClass rdf:resource=
"#academicStaffMember"/>
</owl:Class> <owl:Class rdf:about="#associateProfessor">
owl:Thing est la classe la plus générale pouvant tout contenir <owl:disjointWith rdf:resource="#professor"/>
owl:Nothing est la classe vide <owl:disjointWith rdf:resource="#assistantProfessor"/>
</owl:Class>
108 107
Propriétés des types de données Propriétés
OWL utilise les types de données XMLS avec OWL a deux types de propriétés
l'architecture en couches de SW propriétés objet , qui relient des objets à d'autres objets
par ex., is-TaughtBy (est enseigné par), est chef de
propriétés de type de données, reliant les objets aux valeurs des types de
<owl:DatatypeProperty rdf:ID="age"> données
par ex., téléphone, titre, âge, etc.
<owl:domain rdf:resource="#Professor"/>
<rdfs:range rdf:resource=
"http://www.w3.org/2001/XLMSchema
#nonNegativeInteger"/>
</owl:DatatypeProperty>
110 109
112 111
Restrictions des propriétés Propriétés équivalentes
114 113
116 115
owl:allValuesFrom
owl:hasValue
<owl:Class rdf:about="#firstYearCourse">
<rdfs:subClassOf>
<owl:Class rdf:about="#mathCourse"> <owl:Restriction>
<rdfs:subClassOf> <owl:onProperty rdf:resource="#isTaughtBy"/>
<owl:Restriction> <owl:allValuesFrom
<owl:onProperty rdf:resource= rdf:resource="#Professor"/>
"#isTaughtBy"/> </owl:Restriction>
<owl:hasValue rdf:resource= </rdfs:subClassOf>
"#949352"/>
</owl:Restriction> </owl:Class>
</rdfs:subClassOf>
</owl:Class>
118 117
<owl:Class rdf:about="#academicStaffMember">
On peut spécifier un nombre minimum et maximum avec <rdfs:subClassOf>
owl:minCardinality et owl:maxCardinality <owl:Restriction>
On peut spécifier un nombre précis en mettant un même nombre <owl:onProperty rdf:resource="#teaches"/>
pour minimum et maximum
Pour être pratique, OWL propose aussi owl:cardinality
<owl:someValuesFrom rdf:resource=
"#undergraduateCourse"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
120 119
Propriétés spéciales
owl:TransitiveProperty (propriété transitive)
Restrictions de cardinalité (2)
par ex. "a un grade supérieur à", "est l'ancêtre de"
owl:SymmetricProperty (symmétrie)
par ex. "a le même grade que", "a le même parent que"
<owl:Class rdf:about="#course">
owl:FunctionalProperty définit une propriété ayant au <rdfs:subClassOf>
moins une valeur pour chaque objet <owl:Restriction>
chefDirect <owl:onProperty rdf:resource="#isTaughtBy"/>
owl:InverseFunctionalProperty définit une propriété pour <owl:minCardinality rdf:datatype=
laquelle deux objets différents ne peuvent pas avoir la "&xsd;nonNegativeInteger">
même valeur 1
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
122 121
124 123
Combinations booléennes (3) Combinations booléennes (2)
<owl:Class rdf:ID="facultyInCS">
<owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:ID="peopleAtUni">
<owl:Class rdf:about="#faculty"/> <owl:unionOf rdf:parseType="Collection">
<owl:Restriction> <owl:Class rdf:about="#staffMember"/>
<owl:onProperty rdf:resource="#belongsTo"/> <owl:Class rdf:about="#student"/>
<owl:hasValue rdf:resource= </owl:unionOf>
"#CSDepartment"/> </owl:Class>
</owl:Restriction>
</owl:intersectionOf>
La nouvelle classe n'est pas une sous-classe de l'union mais
</owl:Class> bien égale à l'union
on a ainsi établi une équivalence de classes
126 125
128 127
Restriction des possibilités dans OWL DL (1)
130 129
132 131
Principe légataire dans la hiérarchie des
Récapitulation
classes
OWL est le standard proposé pour les ontologies du web Restriction d'étendue: Les cours ne peuvent être donnés
OWL repose sur RDF et RDFS: que par les membres du corps académique
on utilise la syntaxe à base XML Salah Maher est professeur
les instances sont définies par des descriptions RDF
Il "hérite" de la capacité d'enseigner via la classe des
la plupart des primitives de modélisation RDFS sont appliquées
membres du corps académique
En RDFS, ceci se fait en déterminant la sémantique de
"est une sous-classe de"
ce n'est pas le rôle de l'application (logiciel de traitement RDF)
d'interpréter "est une sous-classe de"
134 133
136 135
Exercice Correction 1/3 Exercice (Enoncé)
138 137
3/ La dernière étape concerne l'assertion qui s'agit non seulement de l'instanciation des individus, mais également de leur description par l'énonciation de
leurs propriétés. <owl:ObjectProperty rdf:ID="habiteA">
<nom>BenFoulen</nom> </owl:ObjectProperty>
<prenom>Foulen</prenom>
<DateNaissance>1990-07-14</DateNaissance> <!-- Propriétés de type de donnée -->
<habiteA rdf:resource="#Sfax" />
</Etudiant> <owl:DatatypeProperty rdf:ID="nom">
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="DateNaissance">
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="NomVille">
Introduction
Règles monotoniques: exemple
Règles non monotoniques: exemple
Un DTD pour les règles monotoniques Interrogation : logique et inférence
Un DTD pour les règles non monotoniques
142
Langage de haut niveau pour l'expression des connaissances Jusqu'à présent, on a vu ce qui concerne la représentation des
Puissance d'expression élevée connaissances
Sémantique formelle bien comprise La représentation des connaissances (KR)
Notion précise de conséquence logique La logique reste le fondement de KR, surtout sous la forme de la
logique des prédicats (logique du premier ordre)
Système de vérification capable de dériver automatiquement les
déclarations du point de vue syntaxique au départ d'un jeu de
prémisses
144 143
Spécialisations de la logique des prédicats:
Importance de la logique (2)
RDF et OWL
RDFS et OWL (Lite et DL) sont des spécialisations de la Il existe des systèmes de vérification pour lesquels une conséquence
logique des prédicats sémantique logique coïncide avec la dérivation syntaxique dans le
système de vérification
correspondant essentiellement à une logique descriptive
sûrs et complets
Elles définissent des sous-jeux raisonnables de la logique
La logique des prédicats est unique en ce sens que des systèmes de
Compromis entre puissance d'expression et complexité de vérification sûrs et complets existent réellement
calcul t pas pour une logique plus expressive (logique d'ordre supérieur)
Plus le langage est expressif, moins les systèmes de vérification Suit la vérification conduisant à une conséquence logique
correspondant sont efficaces
Logique susceptible de fournir des explications aux réponses
par traçabilité de la vérification
146 145
Règles monotonique par rapport aux règles non Règles monotonique par rapport aux règles non
monotoniques (2) monotoniques
148 147
Règles monotoniques par rapport aux règles non
monotoniques (3)
Echange de règles
Echange de règles entre différentes applications La solution avec les règles R1 et R2 fonctionne lorsqu'on a une
ex., une boutique en ligne fait la pub de ses politiques de prix, de information complète de la situation
remboursement et de confidentialité. Elle les exprime par des règles Le nouveau système de règles sera appliqué dans les cas où les
L'approche sémantique consiste à exprimer le contenu de informations disponibles sont incomplètes
manière accessible par la machine en faisant appel à l'un des est une règle non monotonique
langages web que nous avons vus
On montre comment les règles peuvent s'exprimer en
langages de type XML (langages de balisage des règles)
150 149
152 151
Sommaire Relations inférées
154 153
45 mètres carrés minimum avec au moins 2 chambres à coucher Le commerce par courtage se caractérise par
ascenseur si au troisième étage ou plus haut
animaux de compagnie autorisés l'intervention d'un tiers, le courtier
Carlos est d'accord de payer: Le rôle du courtier est de faire coïncider les exigences de
$ 300 pour un appartement de 45 m2 situé au centre l'acheteur avec les possibilités du vendeur, puis de
$ 250 pour un appartement identique en banlieue
$ 5 en plus par m2 supplémentaire
proposer une transaction lorsque les deux parties
$ 2 en plus par m2 s'il y a un jardin trouvent leur satisfaction dans l'échange commercial
il ne peut pas payer plus de $ 400 au total
La location immobilière est une activité courante souvent
S'il a le choix, il prendra l'offre la moins chère fastidieuse et qui prend beaucoup de temps
Sa deuxième priorité est le jardin
Sa dernière priorité est la surface supplémentaire
156 155
Formalisation des exigences de Carlos Règles
Formalisation des exigences de Carlos prédicats utilisés
158 157
bedrooms(a1,1) =>
size(a1,50)
central(a1) =>
floor(a1,1)
¬lift(a1) r9: offer(X,Y), price(X,Z), Y < Z => ¬acceptable(X)
pets(a1)
r9 > r1
garden(a1,0)
price(a1,300)
160 159
Détermination des appartements acceptables Représentation des appartements disponibles
(2)
pour a2, Carlos est d'accord de payer $ 300, mais le prix est plus a3 2 65 non 2 non oui 0 350
élevé (règles r7 et r9) a4 2 55 non 1 oui non 15 330
appart. a3, a5 et a7 sont acceptables (règle r1) a5 3 55 oui 0 non oui 15 350
162 161
164 163
Faits Formules atomiques
166 165
<body> <rule>
<atom><predicate>p</predicate> <head>
<term><var>X</var></term>
<atom>
<term> <const>a</const> </term>
<predicate>r</predicate>
</atom>
<atom><predicate>q</predicate> <term><var>X</var></term>
<term> <var>Y</var></term> <term><var>Y</var></term>
<term> <const>b</const></term> </atom>
</atom> </head>
</body>
</rule>
168 167
Balisage des règles en XML: un DTD
Modèle de données alternatif de RuleML
170 169
172 171
un DTD Faits et priorité en XML
176 175
Chapitre 6 :
Un DTD (2)
177
180 179
Les built-ins prédéfinis dans SWRL
Built-ins pour la comparaison
swrlb:equal, swrlb:notEqual, swrlb:lessThan, swrlb:lessThanOrEqual, swrlb:greaterThan
Soit en OWL le concept de Oncle défini ainsi :
Exemple : Person(?p) ^ hasAge(?p, ?age) ^ swrlb:greaterThan(?age, 17) -> Adult(?p) intersectionOf(SubClassOf(Homme), estfrereDe(Pere)).
Built-ins pour les opérations mathématiques
swrlb:add, swrlb:multiply, swrlb:divide, swrlb:mod, swrlb:pow, swrlb:sin, swrlb:cos
Exemple : Person(?p) ^ hasSalaryInEuros(?p, ?euros) ^ swrlb:multiply(1.9, ?euros, ?dinars) -> OWL ne permet pas de déduire les instances de la propriété
hasSalaryInDinars(?p, ?dinars)
Built-ins pour le chaînes de caractères
estOncleDe
swrlb:endsWith, swrlb:startsWith, swrlb:stringConcat, swrlb:substring, swrlb:stringLength
Exemple : Person(?p) ^ hasNumber(?p, ?number) ^ swrlb:startsWith(?number, "+") ->
hasInternationalNumber(?p, true)
Built-ins pour la négation booléenne estOncleDe et relie les instances concernées :
swrlb:booleanNot(?x, ?y) est satisfait si ?x est la négation booléenne de ?y
Built-ins pour les listes aEnfant(?x,?y) ^ estfrereDe(?z,?x) -> estOncleDe(?z,?y)
swrlb:listConcat, swrlb:listSubtraction, swrlb:members, swrlb:first, swrlb:length
Exemple : swrlb:listConcat(?l,rdf:List(1,2),rdf:List(3,4))
Built-ins pour les dates et le temps
swrlb:date, swrlb:time, swrlb:subtractDates, swrlb:subtractTimes
182 181
Les built-ins
SQWRL
Bossam, Hoolet, Jess, KAON2, Pellet, RacerPro, R2ML (REWERSE Rule Markup Built-ins connissances
Language) et Sesame. Person(?p) ^ hasCar(?p, ?c) -> sqwrl:select(?p, ?c)
Person(?p) ^ hasName(?p, ?name) -> sqwrl:selectDistinct(?name)
Built-ins
Pour compter le nombre de voitures possédés par chaque personne de
Traduire SWRL en logique du premier ordre (Hoolet) Person(?p) ^ hasCar(?p, ?c) -> sqwrl:count(?c)
Pour avoir la moyenne des ages des personnes de
Traduire OWL-DL en règles et appliquer un algorithme de chaînage avant Person(?p) ^ hasAge(?p, ?age) -> sqwrl:avg(?age)
(Bossam) Pour avoir maximal des personnes de
-DL fondé sur les Person(?p) ^ hasAge(?p, ?age) -> sqwrl:max(?age)
algorithmes des tableaux sémantiques (Pellet et Jess) Compter le nombre de fois le nom personne existe dans
Person(?p) ^ hasName(?p, ?name) -> sqwrl:select(?name) ^ sqwrl:count(?name)
Donner lees noms des personnes classées par ordre alphabétique avec le nombre de voitures
possèdent
Person(?p) ^ hasName(p, ?name) ^ hasCar(?p, ?c) -> sqwrl:select(?name) ^ sqwrl:count(?c) ^
récupérer leurs résultats : sqwrl:orderBy(?name)
On peut aussi renommer les colonnes de résultat
=> sélection de connaissances existantes ou inférées Person(?p) ^ hasName(?p, ?namer) ^ hasCar(?p, ?c) -> sqwrl:select(?name, "Number of cars") ^
sqwrl:count(?c) ^ sqwrl:columnNames("Name", "Description", "Count")
184 183
Exercice correction 1/4 Exercice - Enoncé
arbre, nous devons représenter les personnes qui peuvent être soit males soit femelles.
Une personne est caractérisée par un nom, un prénom et un âge. Une personne peut avoir
au maximum deux parents qui représentent sa mère et son père.
1. Représentez le graphe sémantique correspondant à cet énoncé
2. Transformez ce graphe en langage OWL
3. Ecrivez les règles SWRL qui permettent de déduire les relations suivantes :
3.1. aFrere
3.2. aSoeur
3.3. aOncle
3.4. aTante
6. Donnez pour chaque personne, son nom, prénom et son nombre de frères.
186 185
5)
age(?personne, ?valAge) swrlb:lessThan(?valAge
sqwrl:count(?personne)
6)
nom(?p, ?valNom) prenom(?p, ?valPrenom) aFrere(?p,
?frere sqwrl:select(?valNom, ?valPrenom)
sqwrl:count(?frere)
189