Vous êtes sur la page 1sur 10

Représentation de connaissances et raisonnements

à base de graphes

FMIN 329

Marie-Laure Mugnier mugnier@lirmm.fr

Jean-François Baget baget@lirmm.fr

Equipe GraphIK :

http://www.lirmm.fr/graphik

« Knowledge Representation and Reasoning »

(Le domaine de recherche)

Etude/définition des langages informatiques de représentation de connaissances et de raisonnement :

Quels types de connaissances peut-on exprimer? Avec quelle expressivité? Quels types de raisonnement peut-on faire ? Quelle est la sémantique logique des connaissances représentées et des mécanismes d’inférence?

Quelle est la complexité des problèmes fondamentaux? Trouver des algorithmes efficaces

Ex: Call for Papers KR 2012

Page 1

Systèmes à base de connaissances

Base de connaissances K

Systèmes à base de connaissances Base de connaissances K Ontologie (« terminologie ») : Connaissances générales

Ontologie (« terminologie ») :

Connaissances générales sur le domaine modélisé :

concepts (classes d’objets) sortes de relations entre objets propriétés de ces concepts/relations

Base de faits (données) [ …]

Services de raisonnement Inférences à partir de K Nouvelles connaissances,
Services de
raisonnement
Inférences
à partir de K
Nouvelles connaissances,

réponses à une question,

Un problème clé : interrogation de bases de

connaissances (« ontological query answering »)

1. Cadre

Réponse(s) ?

Base de connaissances Ontologie Faits
Base de connaissances
Ontologie
Faits
Requête
Requête

Challenge version bases de données :

prendre en compte l’ontologie

Challenge version systèmes à base de connaissances :

interroger de grandes bases de faits

Page 2

Exemple d’application : recherche de documents

Ressources

Exemple d’application : recherche de documents Ressources Documents : textes, segments vidéos, pages web, … Base

Documents : textes, segments vidéos, pages web, …

Base de connaissances Annotation « sémantique » Base d’annotations AAAA = ensemble de « faits
Base de connaissances
Annotation
« sémantique »
Base d’annotations AAAA = ensemble de « faits »
Ontologie OOOO

Trouver les ressources pertinentes pour une requête Q i.e. fondamentalement : ressources d’annotation A AAAA t.q. Q peut-être inféré à partir de OOOO et A

Principaux partenaires : INA (Institut National de l’Audiovisuel) ABES (Agence Bibliographique de l’Enseignement Supérieur)

Les faits

BD relationnelle ParentDe H F A B B A A C x … C x
BD relationnelle
ParentDe
H
F
A
B
B
A
A
C
x
C
x
… …
ex:parent RDF (web sémantique) F H H rdf:type rdf:type rdf:type ex:parent ex:A ex:B ex:C ex:parent
ex:parent
RDF (web sémantique)
F H
H
rdf:type
rdf:type
rdf:type
ex:parent
ex:A
ex:B
ex:C
ex:parent

Graphes

conceptuels

de base

2 F : A 1 parent H : B 1 2 1 parent T :
2
F : A
1 parent
H
: B
1 2
1
parent
T
: C
parent
2 H : *

Abstraction en logique du premier ordre

(T = type universel)

1 parent H : B 1 2 1 parent T : C parent 2 H :

Page 3

Vue logique d’un fait

Vue logique / vue graphe

F = x (ParentDe(A,B) ParentDe(A,C)

ParentDe(C,x)

Vue graphes d’un fait

F(A)

H(B)

H(x))

F H 2 A 1 P B H 1 2 1 2 P C P
F
H
2
A
1 P
B
H
1
2
1 2
P
C
P
Concepts Humain Homme Femme Adulte Père Mère
Concepts
Humain
Homme
Femme
Adulte
Père
Mère

+ propriétés sur les concepts et relations :

Ontologie (1)

Relations (binaires ici) MêmeFamille AncêtreDe OncleDe ParentDe FrèreOuSoeur … PèreDe FrèreDe
Relations (binaires ici)
MêmeFamille
AncêtreDe
OncleDe
ParentDe
FrèreOuSoeur
PèreDe
FrèreDe

La relation AncêtreDe est transitive L’inverse de la relation PèreDe est fonctionnelle Les concepts Homme et Femme sont disjoints

Définition de concepts ou de relations (ex: OncleDe)

Page 4

Abstraction par des « règles » logiques

Ontologie (2)

1. Cadre

• Liens de spécialisation entre concepts / relations

x (Homme(x) Humain(x))

« Ancêtre est transitive »

x y (ParentDe(x,y) AncêtreDe(x,y))

x y z ( AncêtreDe(x,y) AncêtreDe (y,z) AncêtreDe(x,z) )

« L’inverse de PèreDe est fonctionnelle »

x

y

z ( PèreDe(y,x)

PèreDe (z,x) y = z )

« Homme et Femme sont disjoints »

x ( Homme(x)

Femme(x) )

Définition de la relation OncleDe x y z ( ParentDe(x,y) FrèreDe(z,x) OncleDe(z,y) ) x y ( OncleDe(x,y) z ParentDe(z,y) FrèreDe(x,z) )

Vue logique / vue graphe

Vue logique d’une règle

R =

x

Vue logique / vue graphe Vue logique d’une règle R = x FrèreDe(z,x) y z (

FrèreDe(z,x)

y z ( ParentDe(x,y)

OncleDe(z,y))
OncleDe(z,y))

Vue graphe d’une règle

2 2 1 P 2 O 1 1 F
2
2
1 P
2
O
1
1
F

Page 5

Le fragment logique considéré

Forme générale des règles existentielles X Y ( H[X, Y] Z C[X, Z] ) Hypothèse
Forme générale des règles existentielles
X Y ( H[X, Y]
Z C[X, Z] )
Hypothèse
Conclusion

1. Cadre

X, Y, Z :

tuples de variables

conjonction

quelconque

x y ( OncleDe(x,y) z ParentDe(z,y) FrèreDe(x,z) )

Forme générale des faits et des requêtes

X conjonction[X]

Reformulation du problème d’interrogation

Base de connaissances Faits -Règles
Base de connaissances
Faits
-Règles

1. Cadre

conséquence ? Requête
conséquence ?
Requête

Problème de base Données : une base de connaissances K = (F, R) et une requête Q

Question : K |

Q

(Q est-elle conséquence de K) ?

Dans ce sous-ensemble de la logique, on peut faire du raisonnement « structurel » (raisonner en utilisant directement la structure des objets)

Page 6

Homomorphisme

Vue logique

Homomorphisme

Q = u v (ParentDe(u,v) H(v)) ? H 2 1 P
Q = u v (ParentDe(u,v)
H(v)) ?
H
2
1 P

Q’ = u v Oncle(u,v) ?

H(v)) ? H 2 1 P Q’ = u v Oncle(u,v) ? F = x (ParentDe(A,B)

F = x (ParentDe(A,B) ParentDe(A,C)

v Oncle(u,v) ? F = x (ParentDe(A,B) ParentDe(A,C) ParentDe(C,x) F(A) H(B) H(x)) Vue graphe F H
v Oncle(u,v) ? F = x (ParentDe(A,B) ParentDe(A,C) ParentDe(C,x) F(A) H(B) H(x)) Vue graphe F H

ParentDe(C,x) F(A) H(B) H(x))

Vue graphe

F H
F
H

Homomorphisme

2 A 1 P B H 1 2 1 2 P C P
2
A
1 P
B
H
1
2
1 2
P
C
P

F |

Q ssi il existe un homomorphisme de Q dans F

Prendre en compte les règles

Application de règle

R =

x

1. Cadre ParentDe(x,z) FrereOuSoeur(y,z))

règle R = x 1. Cadre ParentDe(x,z) FrereOuSoeur(y,z)) y z ( ParentDe(x,y) 2 1 1 P
règle R = x 1. Cadre ParentDe(x,z) FrereOuSoeur(y,z)) y z ( ParentDe(x,y) 2 1 1 P

y z ( ParentDe(x,y)

2 1 1 P 1 F-S 2 2 P F h F H F-S 1
2
1
1 P
1
F-S
2
2
P
F
h
F
H
F-S
1
1
2
A
P
B
H
2
1
2
1
2
P
C
P

R: H C est applicable à F s’il y a un homomorphisme

h de H dans F

Résultat de l’application :

F’ = F

h(C)

F,

R |

Q ssi il existe un homomorphisme de Q dans un fait dérivé

de F par une suite d’applications de règles deR

Page 7

Mécanisme de chaînage avant

1. Cadre

F RRRR con hyp con hyp F1 F2
F
RRRR
con
hyp
con
hyp
F1
F2

Trouver de nouvelles applications de règles

Jusqu’à ce que :

Fi |

Q

ou Fi+1 Fi

Le chaînage avant peut ne pas se terminer

R = Humain(x) Humain(y) ParentDe(y,x)

(quantificateurs implicites)

Humain Humain 2 1 x ParentDe F B ParentDe ParentDe Humain Humain Humain
Humain
Humain
2
1
x ParentDe
F
B ParentDe
ParentDe
Humain
Humain
Humain

Il n’existe pas d’algorithme qui s’arrête pour toutes les K et Q :

le problème n’est pas décidable (en général)

16

Page 8

KR&R à base de graphes

Les connaissances sont vues sous forme de graphes tout en ayant une traduction logique

on adoptera tantôt la vue « graphe », tantôt la vue « logique »

Les raisonnements sont « structurels »

basés sur l’homomorphisme de graphes ou de formules

On travaille à un niveau abstrait de façon à ce que les résultats puissent « s’instancier » dans de nombreux langages :

RDF (RDFS)

Graphes conceptuels

Bases de données relationnelles

Datalog et son extension Datalog+ (bases de données)

Certaines logiques de description

Contenu du module

1.

Notions fondamentales (logique et graphes)

Le noyau :

Logique existentielle conjonctive positive Vision graphes de cette logique Déduction (conséquence logique) par homomorphisme

2.

Application à des langages spécifiques :

Bases de données et requêtes dites « conjonctives »

[Equivalence entre test d’homomorphisme et consistance d’un réseau de contraintes]

Graphes conceptuels (de base) RDFS

On commence à prendre en compte une ontologie « légère »

Page 9

=>

3.

4.

Extensions de ce noyau pour prendre en compte des connaissances plus complexes

Règles Problème : indécidabilité des problèmes de raisonnement => Trouver des cas décidables et intéressants du point de vue de la représentation des connaissances

Négation

Différentes sortes de négation

5. Synthèse : un cadre de travail pour l’interrogation de bases de connaissances (« ontological query answering »)

Cadre « graphes » et son équivalent en bases de données « Datalog+/ - »

Page 10