Logiques de description & ontologies
| author: | Pierre-Antoine Champin |

1
Historique
2
Logique
- Logique des propositions (Boole)
- Logique des prédicats (Frege, ...)
- Calculabilité, complexité (Turing-Church)
- Incomplétude (Gödel)
3
Règles
4
Logiques « intuitives »
5
Logiques « intuitives » (suite)
6
Remise en ordre
- graphes conceptuels (Sowa)
- représentation graphique formalisée
- logiques de description
- représentation logique simplifiée
7
Logiques de description
- Pas un langage, mais une famille de langage
- Formalisme de plus haut niveau que la LPO
- Compromis maîtrisé entre décidabilité et complexité
- Autres appellations :
- logiques descriptives
- logiques terminologiques
8
Ontologies
- Une ontologie est " une spécification explicite d'une conceptualisation " (Gruber 1993)
- Modèle de données pour pouvoir
- représenter ce qui existe dans un domaine, et
- raisonner sur ces représentation.
- Notion popularisée avec le Web sémantique et le langage OWL
- lui même basé sur les logique de descriptions
9
Syntaxe et sémantique
10
Éléments de base
L'univers du discours est constitué d'individus, appartenant à des concepts (ou classes), et reliés entre eux par des rôles (ou propriété).
| LD |
LPO |
| Individu |
Constante |
| Concept |
Prédicat 1-aire |
| Rôle |
Prédicat 2-aire |
11
Exemples
| Concepts |
Rôles |
Individus |
| Homme |
connait |
john |
| Voiture |
(a pour) père |
jane |
| Rouge |
mère |
ab-123-cd |
| Menteur |
enfant |
|
| Ferrari |
conduit |
|
12
Axiomes
| Syntaxe |
Appellation |
Sémantique |
| C ⊑ D |
subsomption de concepts |
∀ x, C(x) → D(x) |
| r ⊑ s |
subsomption de rôles |
∀ x, y, r(x, y) → s(x, y) |
NB: l'équivalence peut s'exprimer par deux subsomptions symétriques : C ⊑ D et D ⊑ C
13
Axiomes : exemples
- Crétois ⊑ Menteur
- ami ⊑ connait
14
Concepts complexes : constructeurs ensemblistes
| Syntaxe |
Appellation |
Sémantique |
| ⊤ |
concept universel (top) |
Δ |
| ⊥ |
concept absurde (bottom) |
∅ |
| ¬C |
complément |
{ x | ¬C(x) } |
| C ⊔ D |
union |
{ x | C(x) } ∪ { x | D(x) } |
| C ⊓ D |
intersection |
{ x | C(x) } ∩ { x | D(x) } |
| {a} |
extension |
{a} |
15
Constructeurs ensemblistes : exemples
- ¬Menteur
- Homme ⊔ Voiture
- Crétois ⊓ Menteur
- Voiture ⊓ (Rouge ⊔ ¬Ferrari)
- {john, paul, george, ringo}
16
Concepts complexes : restrictions
| Syntaxe |
Appellation |
Sémantique |
| ∃ r C |
qualificateur existentiel |
{ x | ∃ y, r(x, y) ∧ C(y) } |
| ∀ r C |
qualificateur universel |
{ x | ∀ y, ¬r(x, y) ∨ C(y) } |
| = n r C |
quantificateur |
{ x | #{y | r(x, y) ∧ C(y)} = n } |
| ≤ n r C |
quantificateur (max) |
{ x | #{y | r(x, y) ∧ C(y)} ≤ n } |
| ≥ n r C |
quantificateur (min) |
{ x | #{y | r(x, y) ∧ C(y)} ≥ n } |
NB : on omet généralement C lorsqu'il s'agit de ⊤ ;
par exemple : ∃ r , ∀ r , = 1 r ...
17
Restrictions : exemples
- ∃ enfant
- ∀ conduit Ferrari
- (∃ conduit) ⊓ (∀ conduit Ferrari)
- = 2 conduit Ferrari
- ≥ 2 connait (Crétois ⊓ Menteur)
18
Rôles complexes
| Syntaxe |
Appellation |
Sémantique |
| r⁻ |
rôle inverse |
{ (x, y) | r(y, x) } |
| r∘s |
rôle composé |
{ (x, y) | ∃ z, r(x, z) ∧ s(z, y) } |
| ¬r |
complément |
{ (x, y) | ¬r(x, y) } |
19
Exemples
- conduit⁻
- connait ∘ conduit
- connait ∘ connait
20
Axiomes complexes : exemples
- ∃ conduit ⊑ Adulte
- ∃ conduit⁻ ⊑ Voiture
- Personne ⊑ Adulte ⊔ Enfant
- Personne ⊑ (= 1 père Homme) ⊓ (= 1 mère Femme)
- Personne ⊑ ¬Voiture
21
Décidabilité et complexité
Chaque LD impose des contraintes sur :
- les axiomes autorisés,
- les constructeurs autorisés,
- la manière de les combiner,
afin de garantir que les mécanismes de raisonnement
- seront décidables,
- auront une complexité maximale.
→ compromis entre expressivité et complexité.
22
Raisonnement
23
Rappels
- Interprétation de F
- domaine du discours
- fonction d'interprétation
- Modèle
- Implication
- F est satisfiable si elle a au moins un modèle
- F ⊧ G ssi tous les modèles de F sont des modèles de G
- ⇒ F ⊧ G ssi F ∧ ¬G est non satisfiable
24
Méthode des tableaux
- Un tableau est un arbre, représentant une famille de modèles
- Application systématique de règles pour explorer tous les modèles possibles
(non déterministe)
- Preuve par réfutation : concept non satisfiable
25
Exemple
26
Enjeux
- Décidable : dépend du type de LD choisie
- Correct/complet : ensemble de règles de transformation
- Complexe : optimiser l'ordre d'application des règles
- Problème des modèles infinis : exemple
- Entier ⊑ (= 1 suivant Entier) ⊓ (≤ 1 suivant⁻)
- {zero} ⊑ Entier ⊓ (= 0 suivant⁻)
27
Implémentations
- Hermit
- http://hermit-reasoner.com/
- Pellet
- http://clarkparsia.com/pellet
- Racer
- http://www.racer-systems.com/
- FaCT
- http://www.cs.man.ac.uk/~horrocks/FaCT/
28
Méta-modélisation
- En théorie : séparation stricte entre les individus, les concepts et les rôles
- En pratique : pas d'ambiguïté syntaxique sur la nature d'un terme
- Punning (calembour) : autorisation d'utiliser le même terme pour des éléments de nature différente
- aucun lien sémantique entre eux
- mais intérêt pragmatique
- ⚠ pas très bien supporté par Protégé :-(
29
Annexe : Protégé
30
Installation
Téléchargement de Protégé (version ≥ 5) :
Prise en main :
31
Syntaxe de Protégé
Protégé utilise dans son IHM une syntaxe alternative
- inspirée de la syntaxe Manchester
- n'utilisant que l'alphabet latin
- donnes des phrases en pseudo-anglais → lisibilité
En interne, Protégé utilise
32
Terminologie
| OWL/Protégé |
LD |
| Individu |
Individu |
| Classe |
Concept |
| Propriété |
Rôle |
33
Concepts complexes : constructeurs ensemblistes
| Protégé |
LD |
| Thing |
⊤ |
| Nothing |
⊥ |
| C and D |
C ⊓ D |
| C or D |
C ⊔ D |
| not C |
¬C |
| {a} |
{a} |
34
Concepts complexes : restrictions
| Protégé |
LD |
| r some C |
∃ r C |
| r only C |
∀ r C |
| r exactly n C |
= n r C |
| r max n C |
≤ n r C |
| r min n C |
≥ n r C |
35
Rôles complexes
| Protégé |
LD |
| inverse(r) |
r⁻ |
| r o s |
r∘s |
36
Axiomes dans Protégé-OWL
Protégé offre des axiomes « de haut niveau » qui visent à
- améliorer la lisibilité de la base de connaissance
- optimiser le raisonnement
- contraindre l'utilisation de certains constructeurs à certaines formes d'axiome
selon les profils (e.g. Property Chain)
NB: ces axioms viennent en fait du langage OWL.
37
Sur les concepts
| Protégé |
LD |
| Equivalent class(C,D) |
C ⊑ D et D ⊑ C |
| Subclass of(C,D) |
C ⊑ D |
| Member(C,a) |
C(a) |
| Disjoint class(C,D) |
C ⊑ ¬D |
38
Sur les rôles
| Protégé |
LD |
| Functional(r) |
⊤ ⊑ (≤ 1 r) |
| Inverse functional(r) |
⊤ ⊑ (≤ 1 r⁻) |
| Transitive(r) |
r ∘ r ⊑ r |
| Symmetric(r) |
r ⊑ r⁻ |
| Asymmetric(r) |
r ⊑ ¬(r⁻) |
| Reflexive(r) |
⊤ ⊑ (∃ r self) |
| Irreflexive(r) |
⊤ ⊑ ¬(∃ r self) |
39
Sur les rôles (suite)
| Protégé |
LD |
| Domain(r,C) |
∃ r ⊑ C |
| Range(r,C) |
∃ r⁻ ⊑ C |
| Equivalent property(r,p) |
r ⊑ p et p ⊑ r |
| Super property(r,p) |
r ⊑ p |
| Inverse property(r,p) |
r ⊑ p⁻ et p⁻ ⊑ r |
| Disjoint property(r,p) |
r ⊑ ¬p |
| Property chain(r,p,q...) |
p ∘ q ∘ ... ⊑ r |
40