Théorie des bases de connaissances : notions de
base
Marie-Laure Mugnier
Résumé
Ces notes de cours sont à compléter avec les exemples traités en cours.
1 Introduction
Ce cours se situe dans le cadre d’un domaine de recherche appelé "representation
de connaissances et raisonnements" (Knowledge Representation and Reasoning", KR),
qui étudie des langages /formalismes permettant de représenter des connaissances et
d’effectuer des raisonnements sur ces connaissances. Les questions que l’on se pose
sont notamment les suivantes :
Quelle est l’expressivité d’un formalisme (quel type de connaissances permet-il
de représenter ? quels types de problèmes permet-il de résoudre ?)
Peut-on donner une sémantique logique à ce formalisme, de façon à ce que les
raisonnements puissent s’exprimer en termes de conséquence sémantique dans
cette logique ?
Les problèmes fondamentaux sont-ils décidables ? Si oui, quelle est leur com-
plexité théorique ?
Trouver des algorithmes "efficaces" étant donnée cette complexité.
Ce cours s’intéresse donc aux aspects théoriques essentiellement. Il n’aborde pas
les problèmes de modélisation, c’est-à-dire le passage d’un problème concret à une
formalisation de ce problème.
Un système à base de connaissances est composé (1) d’une base de connaissances
encodant des connaissances sur une application particulière, et (2) de services de rai-
sonnements. Une base de connaissances est composée d’une base de faits et d’une
ontologie, qui encode des connaissances générales sur le domaine d’application. Les
connaissances factuelles et ontologiques sont exprimées en logique du premier ordre.
Toutefois, nous considérerons des fragments particuliers de la logique du premier ordre,
qui permettent de résoudre les problèmes considérés avec une complexité "raison-
nable".
Dans ce cours, nous intéresserons principalement à deux problèmes fondamentaux
sur les bases de connaissances :
Consistance : La base de connaissances est-elle consistante / cohérente / satis-
fiable, c’est-à-dire admet-elle un modèle (une interprétation logique qui la rend
vraie) ?
Interrogation : Quel est l’ensemble des réponses à une requête sur la base de
connaissances ?
Ce deuxième problème fait partie de la problématique appelée Ontology-Based
Data Access (OBDA) ou Ontology-Mediated Query Answering (OMQA), c’est-à-dire
1
accès à des données en exploitant les inférences rendues possibles par une ontologie,
problématique qui suscite actuellement beaucoup d’intérêt dans plusieurs domaines de
recherche : KR, web sémantique, bases de données. Vu du côté des bases de données,
on peut dire qu’une base de connaissances est une base de données (la base de faits) à
laquelle on a ajouté une ontologie.
Prenons un exemple simple en médecine : supposons qu’un hôpital gère des don-
nées sur ses patients. Les informations stockées concernent notamment le type d’af-
fection dont souffre le patient et le traitement qu’il suit. Un administrateur de l’hôpital
effectuant une requête sur cette base de données pour retrouver les patients atteints
d’un cancer ne trouvera vraisemblablement rien si les connaissances du domaine co-
dées dans l’ontologie ne sont pas exploitées. En effet, les données sur les patients uti-
lisent des termes plus spécifiques que "cancer" : le dossier d’un patient souffrant d’un
lymphome ne sera retrouvé qu’à l’aide d’une inférence à partir de la connaissance "tout
lymphome est un cancer" codée dans l’ontologie. Si de plus la requête concerne les pa-
tients atteints d’un cancer et présentant un risque cardiaque, précision non forcément
explicitement présente dans le dossier, il faudra éventuellement faire des inférences à
partir des médicaments que prend le patient, de ses antécédents familiaux connus, etc.
L’ajout de cette couche ontologique "au-dessus" des données a plusieurs intérêts :
Enrichir le vocabulaire des données, ce qui permet à l’utilisateur de poser des
requêtes avec le niveau de précision qui lui convient ("cancer" par exemple), en
faisant abstraction de la façon dont les données sont stockées dans la base (le
terme/concept "cancer" n’apparaissant pas forcément dans la base) ;
Relier le vocabulaire de plusieurs sources de données et permettre leur interro-
gation de façon unifiée (interroger les données de plusieurs hôpitaux qui n’uti-
lisent pas forcément le même vocabulaire pour décrire leurs données) ;
Inférer de nouveaux faits, ce qui permet de décrire les données de façon incom-
plète, les connaissances implicites étant codées dans l’ontologie.
2 Le niveau "base de faits"
On définit ici le formalisme de base, qui permet de représenter des faits et des re-
quêtes conjonctives, et de raisonner sur ces objets. On se placera ici dans un fragment
de la logique du premier ordre (FOL, First Order Logic) : le fragment existentiel, posi-
tif, conjonctif, sans symbole fonctionnel, noté FOL(,).
2.1 Le fragment FOL(,)
Un vocabulaire logique est noté V= (P,C)avec Pensemble des prédicats ou
relations (chaque prédicat a une arité, ou nombre d’arguments, supérieure ou égale à
0) et Censemble des constantes. Pest fini, mais Cpeut être infini (par exemple il peut
inclure l’ensemble des entiers).
Un terme (sur un vocabulaire V) est une variable ("une entité inconnue") ou une
constante ("une entité précise") c∈ C.
Un atome (sur V) est de la forme p(e1. . . ek)pest un prédicat d’arité kde Pet
les eisont des termes (sur V).
Une formule fdu fragment FOL(,)sur un vocabulaire Vest de la forme
x1. . . xn(A1. . . Ap)
2
où les Ajsont des atomes sur Vet les xisont des variables apparaissant dans les Aj.
Il s’agit d’une formule logique positive, conjonctive, où le seul quantificateur est exis-
tentiel. On dit qu’une formule est fermée si chacune de ses variables est dans la portée
d’un quantificateur (existentiel ici). Dans la suite, on considérera qu’une formule de
FOL(,)est fermée par défaut (c’est-à-dire s’il n’est pas précisé qu’elle ne l’est pas).
Pour les formules fermées de FOL(,), on peut sans ambiguïté adopter une notation
ensembliste :{A1...,Ap}. Petit bémol, les formules x(p(x)p(x)) et xp(x)se
codent toutes les deux par le même ensemble p(x), mais ce n’est pas grave car ces
deux formules sont trivialement équivalentes.
Que peut-on représenter avec ce fragment dans le cadre des problèmes qui nous
intéressent ?
des faits : un fait est une formule de FOL(,)fermée ; remarquer qu’un
ensemble de faits peut se coder comme un seul fait. Les faits permettent no-
tamment de représenter les tables d’une base de données relationnelle ("une
instance de base de données"), un ensemble de triplets RDF, ou une base de
graphes. En particulier, une instance de BD relationnelle peut être vue comme
une conjonction d’atomes complètement instanciés si elle ne contient pas de
valeur manquante (sinon, les valeurs manquantes sont représentées par des va-
riables quantifiées existentiellement).
des requêtes conjonctives : une requête conjonctive est une formule de FOL(,),
pas forcément fermée. Les variables libres (non quantifiées) correspondent à
des variables distinguées qui constituent la partie “réponse” de la requête : par
exemple, la requête qui consiste à "trouver tous les patients atteints d’un cancer"
pourrait s’exprimer par la formule y(patient(x)atteint(x, y)cancer(y))
(on attend en réponse toutes les valeurs trouvées pour x). Une requête conjonc-
tive est booléenne si elle est fermée ; par exemple la requête qui consiste à de-
mander "s’il existe un patient atteint d’un lymphome" pourrait s’exprimer par
la formule xy(patient(x)atteint(x, y)lymphome(y)) (ici, la réponse
attendue est oui/non).
Notez que nous adopterons par la suite la notation Datalog pour les requêtes conjonc-
tives, avec le prédicat spécial "answer" pour désigner la partie réponse (parfois on uti-
lise aussi la notation qpour query). Soit, avec les exemples ci-dessus :
answer(x)patient(x), atteint(x, y), cancer(y).
answer() patient(x), atteint(x, y), lymphome(y).
En cours, nous avons détaillé le lien avec les bases de données relationnelles.
Nous avons en particulier vu que les requêtes conjonctives correspondent à des requêtes
SQL de la forme “SELECT ... FROM ... WHERE", où la partie WHERE est composée
d’une conjonction d’égalités. En termes d’algèbre relationnelle, les opérateurs utilisés
sont la restriction, la jointure et la projection.
Définissons maintenant ce qu’est une réponse à une requête conjonctive.
Rappelons qu’une susbtitution d’un ensemble de variables Vpar un ensemble de
termes Test une application de Vdans T. Etant donnée une formule fde FOL(,),
appliquer une subsitution Sàfconsiste à remplacer chaque variable xde fqui ap-
partient au domaine de Spar son image S(x)(et à supprimer les quantificateurs exis-
tentiels qui portent sur des variables remplacées par des constantes). On note S(f)la
formule obtenue.
Soit Fune base de faits (qui peut être vue comme un seul fait) et Qune requête
conjonctive booléenne. La réponse à Qdans Fest oui s’il existe un homomorphisme
3
hde Qdans F, c’est-à-dire une substitution de l’ensemble des variables de Qpar l’en-
semble des termes de Ftelle que : pour tout atome p(e1. . . ek)de Q,p(h(e1). . . h(ek))
est un atome de F. Autrement dit, h(Q)F.
Si Qn’est pas une requête booléenne : soient (x1. . . xq)la liste de ses variables
distinguées ; une réponse à Qest un tuple (h(x1). . . h(xq)) de constantes de Ftel
que hest un homomorphisme de Qdans F. Remarquer que cette définition s’applique
aux requêtes booléennes : comme il n’y a pas de variables distinguées, l’ensemble des
réponses est {()}s’il existe un homomorphisme de Qdans F, et {} sinon.
Nous allons voir que ce mécanisme de réponse à une requête conjonctive est fondé
d’un point de vue logique :
Pour Qbooléenne : la réponse à Qest oui si et seulement si Qest conséquence
logique de F(notation F|=Q).
Pour Qnon booléenne, avec liste de variables distinguées (x1. . . xq): la liste
(d1. . . dq), où chaque diest une constante de F, est une réponse à Qsi et
seulement si la requête obtenue à partir de Qen remplaçant chaque xipar di
est conséquence logique de F.
2.2 Rappels de logique du premier ordre
Une interprétation (d’un vocabulaire V) encode un “monde possible”, qui donne
une signification aux symboles de V. Une formule construite sur Vpourra être vraie
ou fausse dans ce monde. Plus précisément, une interprétation Id’un vocabulaire V=
(P,C)est composée d’un ensemble non vide D, appelé le domaine de I(ensemble des
entités) et d’une définition du sens des symboles de V:
Iassocie à chaque constante cde C un élément de D:I(c)D
Iassocie à chaque prédicat pde Pd’arité kun ensemble de k-tuples sur D:
I(p)Dk
Autre notation courante Une interprétation se note souvent I= (∆, .I), où est
le domaine et .Iest la fonction d’interprétation des symboles de V. Dans ce cas, pour
un symbole s,I(s)se note sI.
En représentation de connaissances, on fait souvent l’hypothèse que deux constantes
différentes représentent des individus différents ("hypothèse du nom unique" : "unique
name assumption"). On a donc : pour toutes constantes distinctes c1et c2de C,I(c1)6=
I(c2). De plus, il est commode de considérer que toutes les constantes d’un vocabu-
laire s’interprètent de la même façon dans toutes les interprétations de ce vocabulaire :
autrement dit, tout domaine inclut un ensemble en bijection avec C. Pour simplifier
encore les choses, on va commettre un petit abus de notation et supposer que Cest car-
rément inclus dans chaque domaine. A partir de maintenant on suppose donc que : tout
domaine a Ccomme sous-ensemble, et chaque constante s’interprète par elle-même.
Une formule fde FOL(,)est vraie pour Isi et seulement si il existe une appli-
cation vdes termes de fdans Dtelle que :
Pour toute constante c,v(c) = I(c)(c’est-à-dire c, vue l’hypothèse faite ci-
dessus) ;
Pour tout atome p(e1. . . ek)de f,(v(e1), v(ek)) I(p).
Par la suite, on appellera une telle application vune “bonne affectation” de fdans
I(avec l’idée intuitive que cette affectation prouve que fest vraie pour I).
4
On remarque que cette notion est similaire à celle d’homomorphisme (mais un
homomorphisme est une notion qui relie deux structures de “même nature”). On peut
aussi considérer une interprétation comme un ensemble d’atomes : les éléments du
domaine qui ne correspondant pas à des constantes sont traduits en des variables, et
les tuples de l’interprétation d’un prédicat psont traduits en des atomes de prédicats p.
Dans ce cas, une bonne affectation de fdans Iest exactement un homomorphisme de
l’ensemble des atomes de fdans l’ensemble des atomes associé à I.
Lorsque fest vraie dans I, on dit que Iest un modèle de f. On dit qu’une formule
fest conséquence (ou conséquence sémantique) d’une formule get on note g|=fsi
tout modèle de gest un modèle de f(“à chaque fois que gest vraie, fl’est aussi”).
On pourra aussi dire que fse déduit de g(la déduction, habituellement notée `, est
une notion syntaxique, basée sur un système de dérivation de formules ; en logique du
premier ordre, il existe plusieurs systèmes déductifs qui correspondent exactement à
la conséquence sémantique — on dit qu’ils sont adéquats et complets par rapport à la
conséquence sémantique ; on peut donc écrire |=ou `). Les notions de conséquence
sémantique et de déduction sont fondamentales en logique.
2.3 Calcul de la conséquence logique dans FOL(,)
La notion fondamentale pour raisonner dans le fragment FOL(,)est l’homomor-
phisme, comme nous le verrons dans cette section. Rappelons qu’un homomorphisme
hd’un ensemble d’atomes fdans un ensemble d’atomes gest une application des va-
riables de fdans les termes de gtelle que h(f)g. On peut aussi considérer que le
domaine de l’homomorphisme est l’ensemble des termes de f, auquel cas pour toute
constante cde f, on a h(c) = c. L’homomorphisme définit un préordre (c’est-à-dire une
relation réflexive et transitive) sur l’ensemble des formules de FOL(,)construites
sur un même vocabulaire, que l’on note :fg(fest “plus générale” que g) s’il
existe un homomorphisme de fdans g.
Dans le fragment FOL(,), il n’est pas nécessaire d’argumenter sur tous les mo-
dèles de gpour prouver que g|=f. On montrera en effet que g|=fssi il existe un
homomorphisme de fdand g.
Exemple 1
f1=xyz(p(x, y)p(y, z)r(x, z, a))
f2=u(p(u, b)p(b, u)r(u, u, a)p(b, a))
aet bsont des constantes. h={(x, u),(z, u),(y, b)}est un homomorphisme de f1
dans f2, et c’est le seul.
Parmi les modèles d’une formule fde FOL(,), nous allons distinguer un modèle
particulier, qui a la même structure que f: nous l’appelerons le modèle isomorphe à f
ou modèle canonique de f.
Soit fconstruite sur le vocabulaire V= (P,C). On considère Vf= (Pf,Cf)
la restriction de Vaux prédicats et constantes qui apparaissent dans f. Le modèle
isomorphe àfest une interprétation Mude Vfqui vérifie :
son domaine Duest l’ensemble des termes de f(on devrait dire qu’il est en
bijection avec les termes de f; mais pour alléger les notations, nous considérons
qu’un terme de fet l’élément du domaine qui lui correspond ont le même
nom) ;
pour tout c∈ Cf,Mu(c) = c;
5
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !