Système Expert
Pr N. Daoudi
Ingénieur de données et de connaissances ESI/Module 4.8/ S4
2020/2021
Système Expert
Les systèmes à base de connaissances sont généralement utilisés :
• lorsque les connaissances sont difficilement « codables » ( par exemple si les connaissances
sont d’origine expérimentale ou heuristique ou si le savoir-faire des experts humains
n’est pas suffisamment structuré pourque l’on dispose d’algorithmes)
• Ou lorsque les algorithmes dont on dispose sont de complexité exponentielle.
2
Qu’est un Système Expert
• « Un système informatique intelligent qui utilise des connaissances et des
inférences logiques pour résoudre des problèmes qui sont suffisamment difficiles
pour nécessiter une expertise humaine importante pour trouver une solution ».
Feigenbaum
• " Un système expert est un programme conçu pour raisonner habilement à propos
de tâches dont on pense qu’elles requièrent une expertise humaine considérable".
• Un SE est un programme capable de mettre en œuvre des connaissances pour
imiter le comportement et/ou le raisonnement des experts humains dans un
domaine d’expertise particulier.
• Il s’appui sur un volume important de connaissances généralement qualitatives et
parfois incertaines et manque de structure.
• Il effectue des tâches de résolution de problème pour lesquelles la solution
algorithmique classique est très difficile et complexe.
3
Système Expert: Objectifs
• Un SE a pour but de modéliser puis de simuler, dans un logiciel,
le savoir - ou le "savoir faire" - d'un expert humain dans un
domaine donné. Il n’est crée que pour les domaines dans lesquels
il existe des experts humains.
• Il peut assister et / ou remplacer l’homme dans une expertise
généralement pas suffisamment structurée.
• Il peut être utilisé comme outil d’analyse, de simulation et d’aide
à la décision.
• il a l’avantage par rapport à l’expert humain qu’il est duplicable et
toujours disponible. En plus, ses connaissances sont extraites de
plusieurs experts humains. 4
Domaines d’application des SE
• La finance et l'assurance
• La médecine:
• http://www.zeblogsante.com/systemes-experts-les-outils-de-la-medecine-3-0/
• https://bioinfo-fr.net/watson-un-systeme-expert-en-diagnostic
• L'agriculture
• La géologie
• L'informatique: par exemple le diagnostic de pannes matériels
• Le domaine militaire 5
Architecture d’un SE
Les principales composantes:
• Base de connaissances: BF + BR
• Moteur d’inférence
• Module Interface utilisateur
Le principe d’un SE est la séparation des
connaissances propres au domaine des
mécanismes de raisonnement.
• l'indépendance entre la base de
connaissances et le moteur d'inférence
permet de faire évoluer la base de
connaissances du système sans avoir à
agir sur le moteur d’inférence qui peut
6
être valide pour différents types de
problèmes.
Composantes d’un SE: Base de connaissances
• Base de Règles (BR) :
• Constitue la mémoire à long terme d’une base de connaissance.
• Modélise la connaissance du domaine considéré.
• L’expertise nécessaire pour résoudre un problème
• Lois permanentes du savoir faire du domaine
• Il s’agit des règles exprimées sous la forme :
Si <condition i> Alors <conséquence j>
ou Prémisse conclusion / Prémisse : ensemble de propositions.
• C’est l’ensemble des règles de production pouvant être appliquées aux FAITS
pour déduire de nouveaux FAITS que le système n’en a pas encore affecté une
valeur de vérité à partir des faits connus.
• « la BR permet au système expert de :
• établir des faits nouveaux et faire des hypothèses
• construire une/des solutions
• Prendre des décisions et Proposer des idées 7
• Donner des actions et Exécuter des procédures »
Mohamed Heny SELMI ESPRIT 2012-2013
Composantes d’un SE: Base de connaissances
• Base de Faits (BF) :
• Constitue la mémoire à court terme ou espace de travail du
système.
• C’est le dictionnaire de données contenant l’ensemble des
mots techniques spécifiés dans le domaine d’expertise étudié.
• Contient principalement
• Des faits permanents (BF initiale) : ce sont des données
connues fournies au départ .
• Un fait est une proposition évaluée à vrai.
• Des faits découverts lors du raisonnement: ce sont des
données déduites en cours. 8
Composants d’un SE: Moteur d’inférence MI / Interpréteur
• Est un système de contrôle et de raisonnement sur les
connaissances capable de simuler la réflexion de l’expert humain
et ainsi de répondre aux ‘questions’ qui seront posées par les
futurs utilisateurs du système.
• Raisonne et déduit une réponse fondée sur la base des
connaissances contenues dans la BF et dans la BR en s’appuyant
sur des algorithmes de simulation des raisonnements déductifs
ou inductif.
• Il est indépendant du domaine d'application.
• S’appui sur un cycle de base pour mettre en place le processus de
raisonnement sur la base de connaissances.
• Système de règles de production : conclusion(s) si condition(s). 9
Composants d’un SE: Une interface utilisateur/
protocole d’interrogation
• Permet d’interagir avec les utilisateurs du SE en
fournissant une interface pour
• Afficher les questions ;
• Ecrire les réponses aux questions;
10
Composants supplémentaire d’un SE
• En plus des composantes Module d’acquisition des connaissances
principales du SE, ce dernier peut
intégrer :
• Module d’acquisition des
connaissances: permet d’enrichir
la BC par de nouvelles
connaissances et de renforcer
ainsi sa capacité d’évolution en
souplesse.
• Module d’explication/
justification: permet d’expliquer
le raisonnement du moteur Module explication/justification
d’inférence à l’utilisateur et ce par
la récupération de la trace de
l’exécution de chaque fait produit. 11
Exemple SE
• Faits
• ¬moteurDémarre
• pharesFonctionnent
• Règles
• ¬ rèservoirVide ∧ pharesFonctionnent ∧ ¬ moteurDèmarre ⇒
problèmeBougie
• ¬ moteurDémarre ∧ ¬ pharesFonctionnent ⇒
problèmeBatterie
• ¬ moteurDémarre ∧ pharesFonctionnent ⇒ problèmeStarter
12
Moteur d’inférence: cycle de base
Le MI effectue plusieurs cycles tout au long de son raisonnement jusqu’à aboutir au
résultat désiré (atteindre but) ou jusqu’à saturation.
• Le cycle de base du MI est composé principalement de
deux phases:
Evaluation • Evaluation : consiste en le choix de la règle à la base
d’un ensemble d’opérations allant de la collecte des
règles qui peuvent être utiles jusqu’à la précision de
celles qui vont être effectivement exécutées.
Exécution • Exécution: Les règles sélectionnées dans la phase
précédentes seront déclenchées et les faits résultants
seront ajoutés à la BF. (c’est possible de supprimer des
faits ou d’ajouter de nouvelles règles). 13
Fin
Moteur d’inférence: cycle de base
Evaluation
Sélection/
Evaluation Ensemble de
restriction
conflits
Filtrage/génération
de conflits
Résolution de
conflits
Exécution
14
Moteur d’inférence: cycle de base
Evaluation
• Collecter l’ensemble des règles • Résolution de conflits:
déclenchables (ensemble de conflits) Sélectionner la ou les règles
• Sélection/ restriction: sélection des faits qui seront effectivement
dans la BF et des règles dans la BR qui
méritent d’être comparés (qui sont utiles exploitées lors de la phase
dans le problème). Autrement dit, travailler
uniquement dans un ensemble de règles et d’exécution. Cette phase est
de faits dans lequel il est probable de trouver
une solution.
guidée par des soucis
• Filtrage/génération de conflits: Déterminer
d’efficacité (par exemple, choix
l’ensemble des connaissances des règles les moins
potentiellement utilisables et ce par
comparaison des prémisses de chaque règle R de complexes). Dépend de la
BR avec les faits de BF. Il s’agit des règles dont
les prémisses existent dans la base de faits. Cet stratégie de résolution de
ensemble est appelé ensemble de conflits.
conflits. 15
Fin
Moteur d’inférence: cycle de base
Sélection/Restriction
Evaluation
Filtrage/ génération de
conflits
Résolution de conflits
Exécution
But atteint
16
Fin
Moteur d’inférence: caractéristiques
• Mettre en place ou programmer un MI nécessite la définition de
quatre critères:
• Stratégie de résolution de conflits
• Mode d’invocation des règles /mode de raisonnement
• Régime de contrôle
• Pérennité des faits
17
Moteur d’inférence: caractéristiques
1. Stratégie de résolution de conflits:
• choisir un critère de sélection des règles à déclencher effectivement et
ordonner les règles selon ce critère ( Première règle rencontrée, Règle
la plus complexe, Règle la moins complexe, Règle la plus prometteuse,
Règle la plus fiable, Règle la moins coûteuse, etc.).
• Parmi les stratégies utilisées: la stratégie de recherche en largeur et la
stratégie de recherche en profondeur d’abord, la stratégie basée sur les
informations heuristiques ou les métarègles.
2. Mode de raisonnement : c’est le mode d’invocation des règles
• Chaînage avant (data-driven) : raisonnement dirigé par les données.
• Chaînage arrière (query-driven) : raisonnement dirigé par les buts. 18
• le chaînage mixte.
Moteur d’inférence: caractéristiques
3. Régime de contrôle : Un MI peut être caractérisé par sa conduite dans le cas où sa
phase d’exécution déboucherait sur un échec. A ce niveau, il existe deux types de contrôle :
• Contrôle irrévocable : l’application d’une règle n’est jamais remise en
cause. Ainsi, aucun retours possibles sur la sélection des règles dans la
phase de résolution de conflits. Si le but n’est pas atteint et aucune
règles n’est applicable, le MI s’arrête et signale un échec.
• Contrôle par tentatives : possibilité de revenir à un point de déduction
précédent lors de la résolution de conflits si les règles déclenchées n’ont
pas abouti et faire ensuite un autre choix (backtracking).
• Les moteurs d’inférence qui adoptent un régime par tentatives suivent généralement des stratégies en profondeur
d'abord puisque avec une stratégie en largeur le retour arrière est, en principe, inutile.
4. Pérennité des faits : Un MI peut être basé sur une théorie logique monotone ou non.
• Logique monotone : garde les faits initiaux et ceux ajoutés lors de la
phase exécution.
• Logique non-monotone : possibilité de retirer des faits soit dans le cas 19
de backtracking ou si les faits présentent des contradictions dans la BF.
Moteur d’inférence: mode de raisonnement
• Le processus de raisonnement du moteur d’inférence consiste à
enchainer les règles c’est à dire qu’il va effectuer un chainage.
• On distingue essentiellement trois modes principaux de
fonctionnement des moteurs d’inférence :
• le chainage avant,
• le chainage arrière,
• le chainage mixte.
• Le moteur d’inférence, pour effectuer un raisonnement représente les
règles sous forme d’un Graphe de décision/production de la sorte:
Règles :
20
conclusion(s) si condition(s)
Moteur d’inférence: mode de raisonnement
Chaînage avant (data-driven)
• Raisonnement déductif à partir des faits aux conclusions
découlant de ces faits.
• Commencer à partir des faits initiaux et utiliser les règles afin
de déduire des nouveaux faits ( tirer des conclusions /
entreprendre des actions).
• Soit la règle : si A et B alors C et D
• Lorsque A et B sont des faits déjà déduits, l’ensemble A et B est le
déclencheur du chaînage avant de la règle.
• S’arrêter lorsqu’aucune règle n ’est applicable. 21
Moteur d’inférence: mode de raisonnement
Chaînage avant (data-driven)
• Le MI en chainage avant procède comme
suit :
• Il ne sélectionne que les règles dont les
conditions (prémisses) sont satisfaites au vu
de l’état de la base de faits pour arriver au but
recherché (un fait qui répond à la question
posée).
• Il applique ensuite une de ces règles afin
d’ajouter d’autres faits à la base.
• Cet enchaînement est réitéré jusqu'à ce que
plus aucun fait nouveau ne puisse être déduit
(on parle alors de saturation) ou que le but
22
soit atteint.
Moteur d’inférence: mode de raisonnement
Chaînage avant (data-driven)
• Détecter les règles dont les prémisses sont vérifiées (filtrage)
• Sélectionner les règles à appliquer
• Choisir la règle à appliquer selon la stratégie de recherche
• Appliquer la règle
• Recommencer jusqu'à ce qu'il n'y ait plus de règle applicable
23
Moteur d’inférence: mode de raisonnement
Algorithme de chaînage avant
• Entree : BF (base de faits), BR (base de règles), F (proposition à vérifier)
• DEBUT
• TANT QUE F n'est pas dans BF ET QU'il existe dans BR une règle
applicable FAIRE
• Prendre la première règle applicable R L’algorithme
• BR = BR - R (désactivation de R) dépend du régime
• BF = BF union conclusion(R) (déclenchement de la règle R, sa de contrôle et la
conclusion est rajoutée à la base de faits) pérennité de faits
• FIN TANT QUE
• SI F appartient à BF ALORS
• F est établi (succès)
• SINON
• F n'est pas établi (échec) 24
• FIN
Moteur d’inférence: mode de raisonnement
Algorithme de chaînage avant: exemple
• Base de règles :
• R1 : A et B → C Itération Règles Base de faits
appliquée
• R2 : C et D → F
1 R2 {A,C,D,F}
• R3 : F et B → E
• R4 : F et A → G 2 R4 {A,C,D,F,G}
• R5 : G et F → B 3 R5 {A,C,D,F,G,B}
• Base de faits (BF) initiale :
4 R3 {A,C,D,F,G,B,E}
{A, C, D}
• Fait à démontrer : E 25
Moteur d’inférence: Chaînage avant (data-driven)
exemple
• On peut déduire que:
J
• F est fausse,
H I
• G est fausse,
K F G • H est fausse,
• I est vraie,
A B C D E
• J est fausse.
v v f v f
Chaînage-avant 26
Moteur d’inférence: mode de raisonnement
Algorithme de chaînage avant: exercice
• Base de Faits: • R8 SI feuilles et fleur ALORS
cryptogame
• Non feuille, Chlorophylle, fleur, graine, plante, • R9 SI cryptogame et non racine ALORS
• Base de règles mousse
• R10 SI cryptogame et racine ALORS
• R1 SI fleur et graine ALORS phanérogame
fougère
• R2 SI phanerogame et graine nue ALORS sapin • R11 SI non feuilles et plante ALORS
• R3 SI phanerogame et 1-cotylédone ALORS thallophyte
monocotylédone • R12 SI thallophyte et chlorophylle
• R4 SI phanerogame et 2-cotylédone ALORS ALORS algue
dicotylédone • R13 SI thallophyte et non chlorophylle
ALORS champignon
• R5 SI monocotylédone et rhyzome ALORS
muguet • R14 SI non feuilles et non fleur et non
plante ALORS colibacile
• R6 SI dicotylédone ALORS anémone
• R7 SI monocotylédone et non rhyzome ALORS Avec les faits de BF qu'est-ce que je peux
27
lilas conclure?
Moteur d’inférence: mode de raisonnement
Chaînage arrière (query-driven)
• Un MI qui suit ce mode de chaînage, part du but et essaie de ‘remonter’ aux
faits pour le prouver (parcours guidé par le but).
• On cherche à prouver un but (exemple: démonstration de théorèmes)
• Raisonnement à l'envers d'une hypothèse aux faits qui appuient
l'hypothèse.
• Commencer par les hypothèses et rechercher les règles qui permettent de
prouver l’hypothèse.
• Les règles sélectionnées sont celles qui aboutissent au but recherché:
• Soit la règle : si A et B alors C et D
• Lorsqu’on cherche à démontrer soit le but C, soit le but D alors C et D sont deux
déclencheurs du chaînage arrière de la règle.
• Les conditions non vérifiées des règles déclenchées deviennent elles mêmes
des sous buts à vérifier. 28
• On s’arrête quand le but est atteint.
Moteur d’inférence: mode de raisonnement
Chaînage arrière (query-driven)
• Un MI en chaînage arrière procède comme suit:
• le moteur sélectionne les règles dont la partie conclusion
correspond au but recherché. Les prémisses/conditions de ces
règles deviennent elles aussi des sous buts à prouver et ainsi de
suite.
• Cet enchaînement s’arrête lorsque tous les sous buts sont prouvés
(le but est alors lui aussi prouvé) ou lorsqu’il n’est plus possible de
sélectionner des règles.
• Le chaînage arrière nécessite un régime de contrôle par tentatives.
Le MI opère alors un retour arrière (backtracking) pour remettre en
cause l'application d'une règle qui débouche sur un échec et pour 29
essayer une règle écartée précédemment
Moteur d’inférence: mode de raisonnement
Chaînage arrière (query-driven)
• But initial placé au sommet d’une pile
• Détection des règles qui concluent à ce but
• Résolution de conflits
• Application de la règles, i.e, les éléments des prémisses deviennent de
nouveau sous- buts à atteindre.
• Arrêt : pile vide ou aucune règle applicable
30
Moteur d’inférence: mode de raisonnement
Algorithme chaînage arrière (query-driven)
• Phase de filtrage
• Si l’ensemble des règles sélectionnées est vide
Alors questionner l'utilisateur
• Sinon
• TANT QUE le but n'est pas résolu ET qu'il reste des
règles sélectionnées FAIRE
• Phase de choix
• Ajouter les sous-buts (prémisse de la règle choisie)
• Si un sous-but n'est pas résolu Alors mettre le sous-but en
but à résoudre
• Fin faire 31
Moteur d’inférence: mode de raisonnement
Chaînage arrière: exemple
Chaînage-arrière
J H? •Est-il vrai que
•K ? (o/n) : o
H I •Est-il vrai que
•A ? (o/n) : o
G •Est-il vrai que
K F •C ? (o/n) : n
•Est-il vrai que
•E ? (o/n) : o
A B C D E
v! •Conclusion: H est vrai
32
Moteur d’inférence: mode de raisonnement
Chaînage arrière: Exemple
Base de règles BF • But : H ?
R1 : Si B et D et E alors F •B
R2 : Si G et D alors A •C
R3 : Si C et F alors A
R4 : Si B alors X
R5 : Si D alors E
R6 : Si X et A alors H
R7 : Si C alors D
R8 : Si X et C alors A
R9 : Si X et B alors D
33
Moteur d’inférence: mode de raisonnement
Chaînage arrière: Exercice
Base de règles Base de faits
•R1 : Si farine et beurre et œufs et •Farine
sel alors pâte •Beurre
•R2 : Si pommes et sucre alors •Sucre • But : Préparer une tarte
pommes sucrées •Sel aux cerises
•R3 : Si pommes sucrées et pâte •cerises
alors tarte aux pommes
•R4 : Si abricots et pâte alors tarte
aux abricots
•R5 : Si poires et pâte alors tarte
aux poires
•R6 : Si cerises et pâte alors tarte
aux cerises
34
Moteur d’inférence: mode de raisonnement
Chaînage arrière : exercice
• Base de Faits: • R8 SI feuilles et fleur ALORS
cryptogame
• Non feuille, Chlorophylle, fleur, graine, plante, • R9 SI cryptogame et non racine ALORS
• Base de règles mousse
• R10 SI cryptogame et racine ALORS
• R1 SI fleur et graine ALORS phanérogame
fougère
• R2 SI phanerogame et graine nue ALORS sapin • R11 SI non feuilles et plante ALORS
• R3 SI phanerogame et 1-cotylédone ALORS thallophyte
monocotylédone • R12 SI thallophyte et chlorophylle
• R4 SI phanerogame et 2-cotylédone ALORS ALORS algue
dicotylédone • R13 SI thallophyte et non chlorophylle
ALORS champignon
• R5 SI monocotylédone et rhyzome ALORS
muguet • R14 SI non feuilles et non fleur et non
plante ALORS colibacile
• R6 SI dicotylédone ALORS anémone
• R7 SI monocotylédone et non rhyzome ALORS
But : Algue? 35
lilas
Moteur d’inférence: mode de raisonnement
Chaînage arrière : exercice
Base des règles BF
Si belle ville et très bon restaurants Parcs verdoyants
alors ville méritant le voyage. Avenues larges
R2 : Si ville historique monuments
alors ville méritant le voyage. restaurants 3 toques
R3 : Si autochtones accueillants et traditions folkloriques ville ancienne
alors ville méritant le voyage.
R4 : Si monuments et végétation abondante
alors belle ville.
R5 : Si tradition culinaire
alors bons restaurants.
R6 : Si restaurants 3 étoiles
alors très bons restaurants. But :
R7 : Si restaurants 3 toques Ville méritant le voyage?
alors très bons restaurants.
R8 : Si musées et ville ancienne
alors ville historique.
R9 : Si Provence et bord de mer
alors autochtones accueillants.
R10 : Si parcs verdoyants et avenues larges
alors végétation abondante. 36
Acteurs d’un projet SE
• Informaticien
• construction du moteur d’inférences et de l’interface utilisateur
• Ingénieur de la connaissance (cogniticien)
• design, construction et débogage de la BC
• Experts du domaine
• connaissance « sémantique » du domaine en terme de relation entre faits et
événement (pas de connaissance procédurale)
• Utilisateur :
• Information sur le problème individuel à résoudre mais pas sur le domaine (il ne connaît
37
pas quelles informations sont utiles)
Méthodologie développement d’un SE
• Scénario de développement de Systèmes Experts
38
Cours Intelligence artificielle, Chapitre III: Les systèmes expert. EPSI / Montpellier - Cycle CSII 2A
Outils de développement de systèmes experts
• Langages classiques
• C, Fortran, etc.
• Langages objets
• C++, Smalltalk, java, etc.
• Langages IA
• Prolog, Lisp
• Générateurs (shell) de systèmes experts
• Clips, FuzzyClips, Kappa, etc.
39
Vers les chatbots
40
Chatbote / agent conversationnel
• Un chatbot, contraction du mot « Chat» et «Bot».
• Un chatbot est un programme informatique conçu
pour simuler la conversation et l’intercation avec
des utilisateurs humains.
• Le bot peut être intégré à un site internet, aux
réseaux sociaux ou fonctionner par SMS.
41
Premier chatbot: ELIZA
https://www.masswerk.at/elizabot
• ELIZA est une application de l’IA qui /
simule le dialogue avec un psychiatre. https://www.eclecticenergies.com/
ego/eliza
• Elle a été inventée dans les années
1960 par Joseph Wiezenbaum au
laboratoire d'intelligence artificielle du
Massachusetts Institute of Technology
(MIT).
• Elle est considérée comme le premier
chatbot conversationnel de l'histoire.
42
Chatbote / agent conversationnel
• Un chatbot dans le e-commerce est capable de :
• Donner une réponse concernant le suivi d’une commande
• Guider un internaute dans son achat
• Fournir un mode d’emploi
• Fournir un guide des tailles
• Aider dans la recherche d’un produit
• Donner des coordonnées de contact 43
Chatbote
Les chatbotes sont de deux types :
• Ceux qui s’appuient sur • Ceux qui s’appuient sur
une base de
Base de connaissances
connaissances
prédéfinie. Ils sont évolutive. Ils utilisent les
capables de répondre techniques de machine
uniquement aux learning et de
questions dont la réponse reconnaissance naturelle
est contenue dans cette du langage (NLP – Natural
base. Language Processing).
44
Quelques outils pour la création de chatbots
• https://www.journaldunet.com/solutions/dsi/1192948-8-outils-de-
creation-de-bots/
• Chatfuel : https://chatfuel.com/
• Rebot.me : https://rebot.me/fr/
• Botsify : https://botsify.com/
• Exemple : https://dorian-naaji.fr/wp-content/uploads/2017/10/Livrable-
1-Projet-Chatbot-.pdf
45
Limites des systèmes experts
• Les développeurs des systèmes experts, malgré l’évolution et les résultats
importants de leurs travaux, ont soulevé un certains nombre de difficultés relatives
particulièrement au développement et à la maintenance des bases de
connaissances.
• Dans une application complexe, les connaissances à extraire proviennent de plusieurs
personnes au sein d’un groupe où elles communiquent, échangent et collaborent pour la
réalisation d’un but commun:
• Ils ne s’agit pas d’une concaténation ou regroupement des connaissances;
• Au contraire, ces connaissances dépendent du point de vue de son propriétaire et parfois ces
visions différentes mènent à des connaissances hétérogènes et contradictoires;
• Une BC d’un système expert ne peut contenir toutes ces connaissances;
• Dans ces applications complexes, il est difficile voire impossible de créer une BC cohérente,
tenant compte de tous les points de vue experts, afin de réaliser un objectif commun:
• Besoin de communication et coopération, de discussions, des négociations pour résoudre les
conflits éventuels; 46
• Besoin de distribuer l’intelligence;