Title: Syst
1Systèmes à base de connaissances
- Une introduction
- A Mille
- 2007-2011
- (Avec emprunts à N Guin et K Boukerche)
2Connaissance ? 1
- Cognition faculté de connaître -gt activités
mentales (perception, raisonnement, mémoire,
représentation, apprentissage, langage,
conscience, émotions, ) - Inférence production dune connaissance
- Avec représentation de la connaissance
(déclarative) - Sans représentation de la connaissance
(incorporée) - Raisonnement enchaînement dinférences avec un
objectif
3Connaissance ? 2
- Démontrer de la connaissance gt démontrer une
capacité à mobiliser des informations pour agir
ou produire dautres capacités à agir
(connaissances) - Connaissance information mode demploi dans
un contexte donné - En IA Connaissance Information Sémantique
- Pas de classement universel des différents types
de connaissances (voir la tentative de Porphyre)
4Objectifs, attentes dun SBC
- Inscrire les connaissances en tant que
connaissance (pas seulement en tant
quinformation) dans un système - Pour conserver des savoirs, des savoir-faire
et leur sémantique associée - Disposer dun moteur permettant denchaîner
des inférences sur ces inscriptions de
connaissances - Pour exploiter les savoirs et savoir-faire
ainsi conservés
5Architecture dun SBC
6Un SBC
- Inscrit des connaissances issues de lexpertise
ou/et de la pratique (on dit que les
connaissances sont représentées dans un
système informatique). - Est donc spécialisé sur une expertise ou une
pratique donnée - Fonde le raisonnement sur des mécanismes
dinférence logique ou analogique - Intègre une représentation symbolique
- Autorise parfois une certaine prise en compte de
lincertitude - Les heuristiques sont des connaissances
spécifiques au domaine qui guident la recherche
de solutions - Est orienté décision, résolution de problème et
doit fournir des explications
7SBC à partir de règles
- Il sagit des SBC historiques que lon appelle
systèmes experts sils sont spécialisés - Les connaissances expertes sont représentées par
des règles de la forme - Si (prémisses) Alors (conclusions)
- Prémisses conditions de déclenchement de la
règle - Conclusions effets du tirage de la règle
- Les connaissances sont déclaratives (révisables
en principe) - Lensemble des règles forme la base de
connaissances . - Les faits décrivent ce qui est vrai dans la
situation dexploitation de la base de règles
(base de faits).
8Exemple dun langage (ordre 0) de règles
- R1 Si (distance.lt.2km) Alors (aller.à.pied)
- R2 Si ((non distance.lt.2km) distance.lt.300km)
Alors (prendre.le.train ) - R3 Si (non distance.lt.300km) Alors
(prendre.l'avion) - R4 Si (acheter.un.billet avoir.le.téléphone)
Alors (téléphoner.à.l'agence) - R5 Si (acheter.un.billet (non
avoir.le.téléphone)) Alors (aller.à.l'agence) - R6 Si (prendre.l'avion) Alors
(acheter.un.billet) - R7 Si (durée.gt.2.jours être.fonctionnaire)
Alors (non prendre.l'avion)
9Base de faits
- F1 (non distance.lt.300km)
- F2 (avoir.le.téléphone)
10Moteur dinférence (1)
ça marche tant que ça marche ça ne marche pas
boucle sur les Ri boucle sur les Fj si
Ri est de la forme Si Fj Alors Fk"
ajouter Fk à la BdF ça marche
finsi finboucle finboucle fintant
Ce moteur ne sait pas gérer les prémisses de
type conjonctions de faits... Comme (acheter.un.b
illet avoir.le.téléphone)
11Moteur dinférence (2)
ça marche tant que ça marche ça ne marche pas
boucle sur les Ri boucle sur les Fj si
Ri est de la forme Si Fj Alors Fk"
ajouter Fk à la BdF ça marche sinon
boucle sur les Fl si Ri est de la forme Si Fj
Fl Alors ajouter Fm (Fj Fl) à la
BdF ça marche finsi finboucle
finsi finboucle finboucle fintant
Ce programme boucle car on ne marque pas les
règles déjà tirées
12Moteur dinférence (3)
ça marche tant que ça marche ça ne marche pas
boucle sur les Ri boucle sur les Fj non
marqués si Ri est de la forme Si Fj
Alors Fk" ajouter Fk à la BdF marquer
Fj ça marche sinon boucle sur les
Fl si Ri est de la forme Si Fj Fl Alors
ajouter Fm (Fj Fl) à la BdF
marquer Fj ça marche finsi finboucle
finsi finboucle finboucle fintant
Ce programme est correct, donne la réponse en un
temps fini et quel que soit lordre des Ri et Fj
13Gérer les contradictions ?
Solution tester la présence dun fait
contradictoire dans la BdF avant dy ajouter un
nouveau fait -gt signaler le problème à
lutilisateur.
14Fournir des explications
- Le SBC peut expliquer chaque fait produit par
la trace de son exécution. - Les règles et les faits étant exprimés à un haut
niveau dabstraction (symbolique), ces
explications sont réputées lisibles par les
opérateurs humains. -gt exemple Mycin - Certains systèmes donnent la possibilité
daccéder aux documents justifiant
linscription de telle ou telle connaissance.
15Schéma général de fonctionnement SBC / Règles
- Constituer lensemble des règles déclenchables
Sélection des faits et des règles pertinentes /
pb Filtrage par comparaison des prémisses de
chaque règle avec les faits de la BdF ? Conflict
Set - Choisir les règles à déclencher selon une
stratégie - Déclencher les règles mise à jour de la BdF
avec détection des contradictions, effectuer une
action passer le contrôle à une autre entité. - Recommencer.
16Mode dexploitation par chaînage avant, sans but,
irrévocable et monotone
- Pas de but ? déclenchement des règles jusquà
épuisement des faits possibles à produire (ou
arrêt). - Par intégration immédiate des conclusions des
règles - En largeur dabord
- Irrévocable ? déclenchement dune règle non remis
en cause - Monotone ? les faits produits ne sont pas remis
en cause. - (avec un but ? une distance au but est
calculée pour choisir la règle à appliquer)
17Chaînage arrière, par tentatives monotone
- Un but est assigné au système
- La partie conclusions des règles est unifiée
avec ce but. En cas de succès, les prémisses de
la règle unifiée sont les nouveaux buts assignés. - Il sagit donc dun arbre ET/OU de buts dont les
feuilles sont vérifiées ou non par les faits - Par tentatives ? les buts sont substitués lorsque
le chaînage arrière est infructueux. - Stratégies
- Production de buts en profondeur
- Profondeur dabord sauf si une règle conclue
immédiatement - Cas de feuilles non vérifiables
- Poser la question à lutilisateur
- Formuler une hypothèse jusquà vérification ou
contradiction.
18Chaînage mixteTentatives monotone
- Tant que des règles sont déclenchables ? chaînage
avant - Puis, on choisit une règle presque
déclenchable et on essaie de vérifier les
prémisses inconnues par chaînage arrière - En cas de succès, on repart en chaînage avant.
19Chaînage mixteTentatives, non monotonie
- La partie déclencheur de règles un but B et des
prémisses - Ex Pour prouver B quand F est vérifié, il suffit
dexécuter laction A et de prouver B - Action ajouter ou retirer un fait ?non
monotonie - Déclenchement en profondeur avec empilement et
dépilement des buts - En cas déchec, retour arrière avec restauration
du contexte initial
20Exemple de moteur avec des variables PROLOG
(standard)
- R1 papy(X,Y) - pere(X,Z), pere(Z,Y).
- F1 pere(pierre,jean).
- F2 pere(jean,rené).
- But papy(U,V).
- Chaînage arrière
- Tentatives
- Monotonie
21Meta-connaissances (Jacques Pitrat)
- Connaissances sur les connaissances
- Mécanisme de contrôle du raisonnement en
cours et de sa validité - Possibilité dorganiser progressivement les
connaissances par un mécanisme de supervision - Mécanisme empilable ? Meta-connaissances sur
des meta-connaissances - Exploitation pour contextualiser lusage dun
SBC à lindividu, à la situation, au lieu, à
linstant, à la nécessité de précision ou non,
etc
22Supervision / Meta-connaissances
23Grandes familles dinférence pour le raisonnement
- Déduction
- Si ((A -gt B est vrai) et (A est vrai) Alors B est
vrai. - Induction (généralisation)
- Si (P est vraie pour a,b,c de a,b,c,,x Alors
(P est vraie pour tout élément de lensemble) - Abduction (hypothèse)
- Si (B est vrai) et que (A-gtB est vrai) Alors A
est vrai. - Analogie (hypothèse)
- Les A sont à B ce que les A sont à B (A est
similaire à A ? B est similaire à B) - Sens commun
- Introduction des heuristiques (voir le problème
de Send More)
24En savoir plus
- http//ocw.mit.edu/courses/electrical-engineering-
and-computer-science/6-871-knowledge-based-applica
tions-systems-spring-2005/lecture-notes/