DEDICACES
A mon cher père BONGENDA BAYINIAMA Evariste
A ma chère mère ENGWELE NYANDIMO Christine
A la famille BONGENDA
A tous mes amis
REMERCIEMENTS
En tout premier lieu, je remercie mon Dieu, tout
puissant, qui a éclairé le bon chemin et qui m'a aidé
à réaliser ce travail dans les meilleures conditions.
J'exprime ma profonde gratitude et
mon respect à mon directeur Mr le Professeur Docteur
Eugène MBUYI MUKENDI, qui m'a
guidé avec patience et gentillesse et m'a fait profiter de sa grande
expérience ainsi que ses précieuses remarques qui ont grandement
contribué à améliorer la qualité de ce
mémoire.
Je tiens aussi à remercier
mon encadreur Mr le Chef de travaux Pierre KAFUNDA, pour sa
volonté de m'aider dans ce travail, malgré toutes ses
préoccupations, que ma reconnaissance lui soit accordée.
Je tiens à remercier sincèrement l'ensemble
des membres du Jury qui me font grand honneur d'accepter que cet humble travail
leur soit présenté.
Je tiens à exprimer toute ma reconnaissance
à Monsieur l'assistant BEPOUKA pour avoir
accepté d'être consulté dans l'élaboration de ce
travail et pour le temps qu'il a investi à l'évaluer
malgré ses nombreuses obligations.
Je tiens à remercier la Docteur Joyce KABWE
pour nous avoir donné son temps dans l'obtention des
éléments nécessaires dans le domaine d'ophtalmologie pour
la réalisation du système expert SEDADOPHTA.
Je tiens tout particulièrement à remercier
tous les professeurs de la faculté des sciences parmi lesquels nous
citerons Professeur Léonard MANYA NDJADI, Professeur
MUBENGA KAMPOTU.
Je remercie tous mes collègues de la promotion
Poste graduation, et toutes les personnes qui ont contribué de
près ou de loin à l'élaboration de notre travail et tout
particulièrement à l'ingénieur Norbert
TSHIYOYO.
Merci infiniment à toutes mes soeurs et frères,
mes collègues du travail.
LISTE DES FIGURES
Fig. 1 : Architecture d'un système expert
Fig.2 : Réseaux sémantiques
Fig. 3 : Graphe ET/OU d'un SE fonctionnant en chainage
arrière
Fig.4 : Composition de l'oeil
Fig.5 : Orgelet
Fig.6 : Blépharite
Fig.7 : Cataracte et cataracte congénital
Fig.8 : Conjonctivite gonocoque et conjonctivite
viral
Fig.9 : Chalazion
Fig.10 : Glaucome
Fig.11 : Kératite à candida
Fig.12 : Diagramme de cas d'utilisation
Fig.13 : Diagramme de séquence pour
initialisation du système
Fig.14 : Diagramme d'activité pour initialisation du
système
Fig.15 : Diagramme de séquence mettre à jour
les connaissances
Fig.16 : Diagramme d'activité mettre à
jour les connaissances
Fig.17 : Diagramme de séquence diagnostique de
la maladie
Fig.18 : Diagramme d'activité diagnostique de la
maladie
Fig.19 : diagramme de séquence pour la
prescription
Fig.20 : Diagramme d'activité pour la
prescription
Fig.21 : Diagramme de classes
LISTE DES ABREVIATIONS
BF : Base des faits
SEDADOPHTA : Système expert diagnostic d'aide
à la décision ophtalmologique
SE : Système Expert
IA : Intelligence Artificielle
0. INTRODUCTION GENERALE [1]
Ce mémoire s'inscrit dans le contexte de
l'émergence des nouvelles technologies informatiques sur des
systèmes experts dans notre environnement quotidien. Un système
expert est un système capable d'imiter les comportements ou les
méthodes de résolution des problèmes utilisées par
les experts. Les années antérieures les premiers systèmes
experts ont été développés dans des
universités tels que : université de Stanford, dans le but
de résoudre les problèmes qui se posait dans des diverses
domaines que nous connaissons bien tels que la médecine, la chimie, la
biologie etc. Après ce fut des entreprises industrielles pour le
diagnostic des pannes. Des années plus tard, ces applications ont
été vulgarisées dans des domaines bancaires et financiers.
De nos jours, ces innovations ingénieuses sont sans doute des moyens
efficaces de perpétuer les connaissances de l'expert dans des domaines
précis. Et cela, grâce à leurs capacités d'expliquer
le raisonnement réel de l'expert, des nombreuses entreprises
préfèrent ces systèmes en vue d'obtenir des solutions
très efficaces et sûres dans la résolution des
problèmes qui se présentent. A présent nous constatons
que le système expert peut remplacer l'expert dans des tâches
exigeant une compétence intellectuelle qui d'autres part échappe
l'expert à cause de sa nature humaine.
0.1. PROBLEMATIQUE
Tenant compte des énormes besoins
spécifiques que connaissent certaines de nos institutions
médicales ou hospitalières, pour la mise en disponibilité
des différents problèmes qu'elles organisent (diagnostic,
traitement, consultation et prescription etc.). Donc cela, nous disons que les
connaissances d'un expert ophtalmologue est un élément essentiel
dans la résolution des problèmes de son domaine. Cependant,
l'expert ophtalmologue est une personne rare et qu'il est difficile de
résoudre un bon nombre des problèmes posés par les
patients.
Nous nous sommes ainsi posé trois questions :
Comment faire pour faciliter les mécanismes de traitement rapide pour
résoudre les différents problèmes et quels sont les en
jeux mis en place ?
Ø Le nombre de problèmes traités est-il
important pour subir un traitement par systèmes expert ?
Ø Les méthodes actuelles de résolution de
problèmes posés par le patient kinois sont elles
efficaces ?
Ø Y-a-t-il une possibilité de passer de la
résolution humaine à une résolution par système
expert ?
0.2. INTERET DU SUJET
L'intérêt de ce sujet, en particulier sur le plan
académique ou professionnel, est de permettre à une
multitude tels que : savoir concevoir un système expert qui
permettrait à des nombreuses institutions hospitalières de
satisfaire, d'une manière efficace et rapide le patient kinois atteint
d'une maladie de l'oeil, savoir concevoir et de réaliser un
système expert en vue de perpétuer les idées ou
connaissances de l'expert ophtalmologue à cause de sa rareté et
de sa nature humaine , afin bien comprendre les notions apprises au cours de
notre processus en intelligence artificielle, intelligence approfondie,
programmation, génie logiciel etc.
0.3. METHODOLOGIES
UML est la méthode que nous avons utilisée pour
la modélisation de notre système expert, la technique d'interview
et technique documentaire pour l'extraction des connaissances dans le
domaine de l'ophtalmologie.
0.4. DELIMITATION DU TRAVAIL
Dans le présent travail, nous avons opté
présenter les notions essentielles des systèmes experts et de
l'ophtalmologie.
0.5. SUBDIVISION DU TRAVAIL
Notre travail est subdivisé en quatre chapitres
hormis l'introduction et la conclusion.
Le Chapitre I
intitulé « Intelligence
artificielle », donne un bref aperçu sur les aspects
théoriques de l'intelligence artificielle.
Le Chapitre II intitulé «
Systèmes experts », présente les concepts
essentiels du système expert et la procédure à suivre
pour acquérir les connaissances auprès d'un expert.
Le Chapitre III
intitulé «
Généralités sur l'ophtalmologie »,
présente les différents symptômes et pathologies en
ophtalmologie.
Le Chapitre IV intitulé «
Conception et réalisation du système expert SEDADOPTHA
», présente la modélisation et l'application du
système expert.
CHAP.I. INTELLIGENCE ARTIFICIELLE [7], [10]
I.1. INTRODUCTION
Le terme intelligence artificielle date de 1956, lors de la
conférence de Darmouth par John McCarthy, Marvin Lee Minsky, Shannon,
Allen Newell, Hebert Simon et Rochester. Cela étant, l'IA tire
naissance d'une fusion d'idées provenant de plusieurs disciplines
(Philosophie, Mathématique, Logique, Psychologie, Ophtalmologie,
Cybernétique, Linguistique, etc). L'intelligence artificielle a connu le
succès de ce qu'il énonce une problématique
fondamentale : la possibilité de concevoir une machine
intelligente. En quoi consiste La machine intelligente ? Pour pouvoir
répondre à cette question, nous allons utiliser deux
approches :
Première approche : Une machine est dite
intelligente lorsqu'elle est capable de reproduire le comportement humain dans
un domaine spécifié ou non.
Deuxième approche : Une machine est dite
intelligente lorsqu'elle est capable de modéliser le fonctionnement d'un
être humain.
I.2. DEFINITIONS
D'après Richard ATKINSON ;
l'intelligence est la capacité de comprendre un contexte
nouveau, et à réagir à cette nouvelle situation de
façon adaptée.
D'après le LAROUSSE ;
l'adjectif artificiel se dit de tout ce qui est produit par une
technique humaine.
En dépit de ces définitions, la
définition de l'intelligence artificielle n'est universelle car chaque
auteur a une compréhension propre de ce terme.
1. D'après FEIGENBAUM ;
L'intelligence artificielle est la partie de l'informatique
consacrée à la conception de systèmes informatiques
intelligents.
2. D'après BUCHAMAN ;
L'intelligence artificielle est le domaine de l'informatique qui effectue
les traitements symboliques et qui emploie des méthodes non
algorithmiques.
3. D'après BONNET ; L'intelligence
artificielle est une discipline qui vise à comprendre la nature de
l'intelligence en construisant des programmes d'ordinateurs imitant
l'intelligence humaine.
4. D'après RICH, l'intelligence
artificielle est le domaine qui étudie comment faire exécuter par
l'ordinateur des tâches pour lesquelles l'homme est encore toujours le
meilleur.
5. D'après WINSTON, L'intelligence
artificielle est une étude des concepts qui permettent de rendre les
machines intelligentes.
6. D'après MARVIN Lee Minsky,
L'intelligence artificielle est la construction de programmes
informatiques qui s'adonnent à des tâches qui sont, pour
l'instant, accomplies de façon plus satisfaisante par des êtres
humains car elles demandent des processus mentaux de haut niveau tels
que : l'apprentissage perceptuel, l'organisation de la mémoire et
le raisonnement critiqué.
En vertu de ces définitions, nous disons que
l'intelligence artificielle est la science qui étudie les moyens
nécessaires permettant la substitution de l'homme par la machine dans
l'accomplissement des tâches nécessitant des capacités
intellectuelles.
I.3. AMBITIONS DE L'INTELLIGENCE ARTIFICIELLE
Il existe deux ambitions de l'intelligence
artificielle :
ü L'intelligence artificielle forte
ü L'intelligence artificielle faible
I.3.1. L'intelligence artificielle forte
Le concept de l'intelligence artificielle forte fait
référence à la construction des machines capables non
seulement de produire un comportement humain intelligent, mais aussi
d'éprouver une impression d'une réelle conscience de soi, de
vrais sentiments et une compréhension de ses propres raisonnements.
Bref, on cherche à égaler l'homme, voire même le
dépasser.
I.3.2. L'intelligence artificielle faible
Le concept de l'intelligence artificielle faible fait
référence à la construction des machines capables de
simuler l'intelligence humaine en vue d'aider l'homme dans l'accomplissement de
ses tâches tel que le système expert. Bien que ces machines
puissent produire le comportement humain, elles sont inconscientes de ce
comportement et n'éprouvent aucun sentiment humain. Il s'agit d'une
approche pragmatique de l'ingénieur.
I.4. LES DOMAINES DE L'INTELLIGENCE ARTIFICIELLE
Quelques domaines de l'intelligence artificielle sont
:
· Les systèmes experts : un
système expert est un logiciel capable de simuler le comportement d'un
expert humain effectuant une tâche précise. Il s'agit là
d'un domaine où le succès de l'intelligence artificielle est
incontestable et cela est sans doute dû au caractère très
ciblé de l'activité que l'on demande de simuler. Le logiciel
MYCIN (1974) par exemple est capable de fournir un très bon diagnostic
dans la mesure où il est spécialisé dans certains types de
leucémies.
· La représentation des
connaissances : si l'on veut qu'un logiciel soit capable de manipuler
des connaissances, il faut savoir les représenter symboliquement. C'est
là un des secteurs les plus importants de la recherche en intelligence
artificielle.
· La simulation du raisonnement humain.
Les hommes sont capables de raisonner sur des systèmes incomplets,
incertains et même contradictoires. On tente de mettre au point des
logiques qui formalisent de tels modes de raisonnement (logiques modales,
temporelles, floue, non monotones, etc.).
· Le traitement du langage naturel.
Qu'il s'agisse de traduire un texte dans une autre langue ou de le
résumer, le problème crucial à résoudre est celui
de sa compréhension. On pourra dire qu'un logiciel comprend un texte
lorsqu'il pourra le représenter sous une forme indépendante de la
langue dans laquelle il est écrit : c'est une tâche très
difficile mais, bien que l'on soit très loin des enthousiasmes des
premiers temps, des progrès significatifs ont d'ores et
déjà été réalisés. On commence
à trouver des traducteurs automatiques d'autant meilleurs qu'ils
traitent d'un domaine spécialisé et des logiciels documentaires
non triviaux.
· La résolution de
problèmes : représentation, analyse et résolution
de problèmes concrets. Les jeux fournissent une bonne illustration de ce
domaine : le champion du monde de Backgammon est un programme depuis quelques
années déjà et cela sera vraisemblablement aussi le cas
pour le jeu d'échecs dans peu de temps. Le jeu de Go résiste
beaucoup plus aux efforts des programmeurs de jeux.
· la reconnaissance de la parole : les
progrès sont beaucoup plus lents qu'on ne l'imaginait mais constants. On
est encore loin de pouvoir produire un logiciel capable de reconnaître
les paroles d'un locuteur quelconque et cela essentiellement parce que la
compréhension d'un mot, d'une phrase requiert beaucoup d'informations
extra-langagières (le contexte, la connaissance du monde dans lequel
nous vivons interviennent de manière fondamentale). Un Dictaphone
automatique a malgré tout été proposé dans le
commerce en 1994 mais il ne fonctionne que si le locuteur sépare chacun
des mots et n'effectue aucune liaison.
· La reconnaissance de l'écriture
: même la reconnaissance de l'écriture dactylographiée
n'est pas un problème facile (bien qu'on commence à trouver sur
le marché des logiciels très performants). L'écriture
manuscrite pose des problèmes autrement plus ardus : cela n'est pas
étonnant dans la mesure où cette tâche peut nous poser
à nous aussi des problèmes insolubles. Certains chercheurs
essaient de reconstituer le mouvement de la main à partir du texte
qu'elle a écrit afin de comprendre ce qui a été
écrit.
· La reconnaissance des visages :
longtemps considéré comme un des problèmes les plus
difficiles de l'intelligence artificielle, il semble que l'on obtienne des
résultats intéressants en utilisant des réseaux neuronaux.
· la robotique. Il y a
déjà longtemps que des robots industriels ont fait leur
apparition dans les usines. On appelle robot de la première
génération, ceux qui sont capables d'exécuter une
série de mouvements préenregistrés. Un robot de la
deuxième génération est doté de moyens de
perception visuelle lui permettant de prendre certaines décisions. Un
robot de la troisième génération, objet des recherches
actuelles, doit acquérir une plus grande autonomie comme se
déplacer dans un environnement inconnu. On est encore loin du robot
domestique ou ménager.
· l'apprentissage. L'idée est
d'avoir un logiciel qui devrait avoir des capacités d'apprentissage
autonome pour pouvoir être véritablement qualifié
d'intelligent.
· les réseaux neuronaux. Un
réseau de neurones formels est un modèle rudimentaire du cerveau
humain, chaque cellule neuronale étant décrite comme une fonction
à seuil possédant une sortie et dont les entrées sont
reliées à d'autres neurones. Il est pourtant possible d'effectuer
des tâches non triviales à l'aide de tels réseaux (la
reconnaissance des formes et en particulier des visages en étant
l'exemple le plus frappant). Ces réseaux partagent plusieurs
propriétés importantes avec le cerveau humain :
répartition de l'information sur l'ensemble du réseau (où
se trouve la mémoire dans le cerveau ?), programmation non explicite
(nous ne savons pas non plus ce que nous savons), etc.
· les systèmes complexes
adaptatifs : on regroupe sous ce vocable les algorithmes
génétiques et les modèles de vie artificielle. Il s'agit
là, énoncé de manière abusivement succincte,
d'étudier comment des populations soumises à des lois simples et
naturelles convergent naturellement vers des formes organisées.
I.5. LES PRINCIPAUX LANGAGES DE L'INTELLIGENCE
ARTIFICIELLE
ü Lisp (1960, J. McMathy)
ü Prolog (1973, A.Columerauer)
ü SMALLTALK (1972, A.Kay)
ü JAVA (1994), C++, Schème
ü Docteur schème.
I.6. AVANTAGES DE L'INTELLIGENCE ARTIFICIELLE
· L'avantage premier de l'intelligence artificielle est
la limitation d'erreurs.
· Grâce à l'IA, l'homme est dispensé
de certains travaux difficiles, répétitifs ou pénibles
(exemple des robots domestiques, système expert etc.).
· Les machines n'ont pas de contraintes physiques, ni
besoin de manger.
I.7. INCONVENIENTS DE L'INTELLIGENCE ARTIFICIELLE
D'après plusieurs auteurs, les perspectives de
l'intelligence artificielle peuvent avoir des inconvénients dans la
mesure où les machines devenaient plus intelligentes que les hommes et
incontrôlées. Si tel est le cas, elles peuvent prendre le
contrôle des hommes, voire même les exterminer. De la même
manière que la conception de ces machines faisait partie des
activités intellectuelles de l'homme, elles peuvent aussi à leur
tour créer des machines beaucoup plus intelligentes qu'elles
mêmes.
CHAP.II. LES SYSTEMES EXPERTS [1], [6], [7], [10],
[14]
II.1. INTRODUCTION
En 1965, une équipe de l'université de Stanford
se mit à travailler sur la résolution d'un problème pour
lequel on ne connaissait pas de solution algorithmique. Edward Feigenbaum avait
pour objectif d'aider le chimiste à trouver la structure d'un
composé organique à partir de la donnée de son
spectrogramme de masse et de sa formule chimique. De là le premier
système expert connu sous le nom de Dendral est né. Cependant,
les règles de ce système expert étaient
mélangées au moteur.
C'est ainsi que par la suite, Feigenbaum et ses
collègues ont eu l'idée de séparer explicitement les
connaissances spécifiques du domaine et les mécanismes
d'interprétation, il fut alors modifier de manière à
extraire le moteur d'inférence. Ce qui a donné naissance au
système expert nommé Metal - Dendral. Le plus connu de tous
était Mycin (Université de Stanford, 1976), Système de
diagnostic des maladies du sang et de prescription de médicaments.
L'idée était de rendre les ordinateurs intelligents en
introduisant la connaissance d'un expert et un moteur d'inférence qui
devait raisonner à partir de cette connaissance. Cette connaissance
traduisait un mode de raisonnement et pouvait s'exprimer par des règles
de la forme : « SI telle condition vérifié ALORS
effectuer telle action ».
Aujourd'hui, un système expert est l'expression d'un
savoir sous forme de connaissances qui généralement
résultent d'une expérience dans un domaine précis.
II.2. DEFINITIONS
Définition 1
Un Système Expert est un
programme informatique intelligent qui utilise de connaissances et des
procédures d'inférences dans le but de résoudre des
problèmes d'une difficulté telle qu'ils requièrent une
expertise humaine conséquente. Les connaissances nécessaires pour
y'arriver ainsi que les procédures d'inférence utilisées
peuvent être assimilées à une modélisation de
l'expertise des meilleurs spécialistes du domaine
considéré.
Définition 2
Un Système Expert est aussi un
système d'aide à la décision basé sur un moteur
d'inférence et une base de connaissances. Il est la transcription
logicielle de la réflexion d'un expert dans un domaine donné. Il
est capable de déduction logique et de produire une solution qui semble
la plus juste. Il reste toutefois un outil d'aide à la décision
et est loin de pouvoir remplacer l'intelligence de l'expert.
Définition 3
Un Système Expert est encore une
application capable d'effectuer dans un domaine précis des raisonnements
logiques comparables à ceux que feraient des experts humains de ce
domaine.
Définition 4
Un Système Expert est un
système informatique qui utilise une représentation de
connaissance d'un expert dans un domaine spécialisé dans le but
d'effectuer des fonctions similaires à celles d'un expert
humain.
Définition 5
Un Système Expert est un
système informatique qui fonctionne par application d'un
mécanisme d'inférence sur une représentation de la
connaissance d'un expert.
En vertu de toutes ces définitions nous disons qu'un
Système Expert est un programme informatique
capable d'effectuer des tâches intellectuelles nécessitant des
connaissances dans un domaine bien spécifique qui permet aux non-experts
d'arriver aux mêmes déductions que celle d'un expert et qui vient
en aide à l'expert en cas d'oublie de prendre une décision bien
précise.
II. 3. LES APPORTS DES SYSTEMES EXPERTS
Les motivations pour une entreprise de réaliser un
système expert sont regroupées en 3 catégories :
- La gestion de l'expertise
- L'augmentation de la capacité de l'expert
- La diffusion de la connaissance
II.3.1. La gestion de l'expertise
Un expert est une personne de grande importance dans une
entreprise car toutes les décisions d'une entreprise face à des
situations relatives au domaine dont il possède le savoir émanent
de lui.
En effet, les experts sont des hommes rares, très
chers et difficiles à remplacer. D'où la nécessité
pour une entreprise de s'approprier de la technique de systèmes experts
et de conserver ainsi l'expertise (le savoir et savoir faire de l'expert) sous
une forme aussi claire et accessible à tous. Le système expert
devient alors un moyen de formation.
II.3.2. l'augmentation de la capacité de
l'expert
A cause de la nature humaine l'expert peut donc être
sujet à la fatigue, à l'oublie, etc. Alors que le système
expert est insensible à des telles considérations. Cela
étant un système expert peut trouver plus rapidement une solution
à un problème en donnant accès à la connaissance
des autres experts du domaine. Un système expert peut donc assister un
spécialiste du fait que sa connaissance provient de plusieurs experts.
II.3.3. la diffusion de la connaissance
Vu la nature humaine de l'expert il est souvent
nécessaire pour une entreprise que leur expertise soit diffusée
à des nombreux services afin de décentraliser les prises de
décision et d'accroître ainsi la rapidité et
l'homogénéité. Ainsi, la diffusion permet aux utilisateurs
de disposer à tout moment de l'expertise.
ü La diffusion de l'expertise dans le
temps
Elle consiste à une mise à jour des
règles d'un métier. Le système expert doit être
adéquat à l'évolution des connaissances car les
connaissances d'un spécialiste dans un système expert peuvent
être accessibles aux autres spécialistes qui peuvent les mettre
à jour. Ce qui permet à toute personne nouvelle dans l'entreprise
de disposer de connaissances par ses prédécesseurs.
ü La diffusion de l'expertise dans
l'espace
Elle consiste à unifier les méthodes de travail.
On distingue deux types de diffusion :
1. La diffusion horizontale
2. La diffusion verticale
On parle de la diffusion horizontale : lorsque plusieurs
personnes de l'entreprise réalisent les mêmes travaux et adoptent
les mêmes méthodes de travail.
On parle de la diffusion verticale lorsque les
non-spécialistes peuvent effectuer des tâches
réservées aux experts.
II.4. LES SORTES DE SYSTEMES EXPERTS
Selon la complexité des variables et du langage
d'évaluation les systèmes experts sont classés en 3
principaux types :
1. Système Expert d'ordre 0 : Faits
booléens sans variable.
Exemple : Si la voiture ne
démarre pas et les phares ne s'allument pas
alors il n'y a plus de batterie.
Il s'agit ici d'une version primaire des systèmes
experts qui n'est capable que d'évaluation binaire. Ses capacités
sont limitées mais ses performances sont en général
excellentes.
2. Système Expert d'ordre 0+ : Symboliques,
Réels, Priorités.
Exemple : Si Age >
17 Alors statut = « Majeur
».
Ce type de systèmes experts assimile la notion de
priorité qui permet de faire passer certains tests ou évaluations
avant d'autres, leurs importances étant plus grande. Il intègre
aussi l'arrivée de nombres réels et les évaluations
symboliques (<, >, =, !=).
3. Système Expert d'ordre 1 : Variables et
Quantificateurs.
Exemple : Si Commutateur [M].status
= libre alors Exec(PriseEnCharge, M).
A ce niveau, les systèmes experts savent gérer des
variables (donc stocker des informations pendant une évaluation) et
peuvent utiliser des quantificateurs (évaluation des connaissances
incertaines) ou états (ex : libre, occupé,
transféré, en attente...).
Selon le type d'activités, on distingue 3 types de
système experts :
1. Les systèmes experts dédiés
: ce sont des systèmes experts orientés vers la
résolution des problèmes spécifiques à un
domaine.
2. Les Shell : ce sont des systèmes
experts possédant un Moteur d'Inférence incorporé et un
formalisme de représentation des connaissances
3. Les systèmes experts globaux : ce sont
les environnements de constructions des systèmes experts.
II.5. LES COMPOSANTS DE BASE D'UN SYSTEME EXPERT
Le système expert se compose de :
ü Une base de connaissances
ü Une base de faits
ü Un moteur d'inférence
II.5.1. la Base de Connaissances (BC)
Elle rassemble le savoir et le savoir-faire de l'expert, dans
le domaine concerné. Il s'agit donc de connaissances qui sont
permanentes et qui sont exprimées sous forme de faits ou de
règles. Les faits constituent des connaissances factuelles et les
règles constituent des connaissances opératoires.
II.5.2. la Base des Faits (BF)
Elle contient en tout instant ce que le système expert
sait sur le cas étudié. Toutes ces informations sont fournies
d'une part par les utilisateurs qui dialogue avec le système et d'autre
part par le système lui-même au travers des déductions
qu'il a pues faire en exploitant la base de connaissance. C'est pourquoi la
base des faits constitue la mémoire de travail du système expert
c'est - à - dire l'état du processus de résolution du
problème.
II.5.3. Le Moteur d'Inférence
Le moteur d'inférence consistez à
l'élaboration de la solution en faisant le choix des règles de
production et leur séquence d'utilisation. C'est lui qui simule le
raisonnement de l'expert. Lorsque le raisonnement est fondé sur des
faits connus on parle de chaînage avant ou mode déductif.
Lorsqu'il est régressif on parle de chaînage arrière ou
mode inductif.
Le cycle de base du moteur d'inférence est
généralement divisé en quatre grandes étapes :
ü La sélection
ü Le filtrage
ü La résolution de conflit
ü L'exécution
Phase de sélection :
Elle a pour but de trier et de rassembler en un sous-ensemble,
les faits et les règles de la connaissance qui mérite plus
d'attention que d'autres. Elle consiste à sélectionner des
règles ayant au moins un fait connu dans leurs parties
prémisses.
Phase de filtrage
Au cours de cette phase, le moteur d'inférence compare les
faits de la base de faits(le problème posé ou les informations
qui décrivent la situation initiale) pour déterminer l'ensemble
des règles applicables.
Phase de la résolution des conflits
Elles se contredisent par le choix de la règle à
appliquer
Phase d'exécution
Elle consiste à appliquer ou à activer la
règle choisie lors de l'étape de la phase de résolution
des conflits. Elle se termine généralement par une modification
de la base de fait c'est - à - dire par l'ajout d'un ou de plusieurs
faits nouveaux (provenant de la déduction) à l'ancienne base des
faits.
II.6. ARCHITECTURE D'UN SYSTEME EXPERT
L'architecture de base d'un système expert comprend au
moins les éléments ci- après :
ü Moteur d'inférence
ü Base de connaissances
ü Module d'acquisition de connaissances
ü Interface utilisateur
ü Module explicatif
BASE DE CONNAISSANCES
MODULES D'ACQUISITION DE CONNAISSANCES
MOTEUR D'INFERENCE
MODULES EXPLICATIF
INTERFACE UTILISATEUR
Base de Règles
Base de Faits
EXPERT
UTILISATEUR
SYSTEME EXPERT
Fig. 1. Architecture d'un système expert
II .6.1.Moteur d'inférence
Le moteur d'inférence est un mécanisme qui
permet d'inférer des connaissances nouvelles à partir de la base
de connaissances du système. Il est basé sur des règles
d'inférence qui régissent son fonctionnement. Il a pour fonction
de répondre à une requête de la part d'un utilisateur ou
d'un serveur afin de déclencher une réflexion
définie par ses règles d'inférence qui utiliseront la
base de connaissance. Il peut alors fonctionner en chaînage
avant, chaînage arrière ou chaînage mixte.
II .6.2.Base de connaissances
Elle contient en tout instant ce que le système expert
sait sur le cas étudié. Toutes ces informations sont fournies
d'une part par les utilisateurs qui dialogue avec le système et d'autre
part par le système lui-même au travers des déductions
qu'il a pues faire en exploitant la base de connaissance. C'est pourquoi la
base des faits constitue la mémoire de travail du système expert
c'est - à - dire l'état du processus de résolution du
problème.
La base des faits est ainsi variable au cours de
l'exécution et est vidée lorsque l'exécution se
termine.
II .6.3.Module d'acquisition de connaissances
Ce module consiste à l'acquisition de façon
aisée de différentes unités de l'expertise et offre
à l'expert une facilité des modifications de la base de
connaissances. Sa fonction est de faciliter la consultation et la gestion de la
base de connaissance c'est un outil précieux qui est donc le concepteur
lors de l'élaboration de la base de connaissance.
II .6.4.Interface utilisateur
Il permet une bonne utilisation d'un système expert en
facilitant le dialogue entre le système expert et l'utilisateur.il peut
être sous forme de menu, de question-réponse ...
II .6.5.Module explicatif
Il permet de retracer le raisonnement qui a conduit à
la résolution du problème.il permet de juger la validité
de la base de connaissance et la fiabilité du système expert.
II.7. REPRESENTATION DES CONNAISSANCES
Cette phase vient après celle d'acquisition de
connaissances, En effet, à l'issue de l'interview, l'ingénieur de
connaissance, dans son rôle, doit traduire l'expertise informelle en un
langage formel adapté au mode du raisonnement du système.
Plusieurs points doivent être soulevés concernant
l'acquisition des connaissances :
1. La compétence humaine n'est pas souvent accessible
via la conscience. Avec l'expérience acquise, la compétence et la
performance d'un expert s'installe et opère dans l'inconscient.
Par conséquence, il est difficile aux experts
d'expliciter son savoir-faire.
2. L'expertise humaine prend souvent la forme du savoir
comment plus que la forme du savoir quoi.
3. L'expertise humaine représente un modèle
individuel ou un modèle de communauté. Ces modèles sont
soumis aux conventions et aux procédés sociaux.
4. L'expertise change et peut subir des reformulations
radicales. A cause de l'ambiguïté posée par le
problème de l'acquisition de connaissances, l'ingénieur de
connaissances doit avoir un modèle conceptuel lui permettant de faire la
liaison entre l'expertise humaine et le langage de programmation, ce
modèle constituera ce qu'on appellera représentation de
connaissances.
Plusieurs formalismes sont utilisés pour
représenter les connaissances, entre autre, nous avons la règle
de production, les objets, les frames, les réseaux sémantiques
...
II.7.1. Faits
Sont la manière la plus élémentaire de
représenter la connaissance. Ils peuvent être fournis par
l'utilisateur, une base de données, des capteurs etc. ou voire
même déduits par le système à partir d'un
raisonnement. Ils sont représentés par les formalismes
ci-dessous :
Dans la logique des propositions pures ou d'ordre 0, ils sont
souvent représentés par un symbole c'est-à-dire un mot ou
un ensemble de mots.
Exemple :
Femme_en_risque
Christine est la mère d'Esther.
Le professeur MBUYI est le superviseur de l'étudiante
BONGENDA.
Dans la logique des propositions avec variables globales ou
logique d'ordre 0+, ils sont représentés par le triplet <
objet comparateur valeur >
Exemple :
L'ampoule allumée = normale
Prix voiture > 3500$
En logique des prédicats ou logique d'ordre 1, ils sont
représentés par le couple < prédicat variable>
Exemple
Est_ directeur_ de (MBUYI, Esther)
Est_ mère_ de (ENGWELE, Esther)
II.7.2 Règles de production
Montrent le savoir faire de l'expert dans un domaine bien
précis. Elles décrivent les diverses conséquences ou
conclusions à tirer devant une situation. Elles sont de la
forme :
Si < condition>
Alors <action ou conclusion>
Nous constatons que la partie < condition>
représente l'ensemble des faits (prémisses) qui permettent
l'établissement de < action> lorsqu'ils sont tous
vérifiés c'est à dire lorsqu'ils sont tous vrais. Dans
ces conditions, la règle est déclenchée sinon elle est
abandonnée. La partie < action> représente ce que l'on est
sensé faire lorsque la règle est déclenchée les
règles sont représentées par les formalismes
ci-dessous :
En logique des propositions pures ou logiques d'ordre 0 :
Si Junior est le fils de Norbert
Si Jean est le fils de Junior
Alors Norbert est le grand père de Jean.
En logique des propositions avec variables globales ou
logiques d'ordre 0+
Si marque_ laptop= DELL
Si indice de performance > 2 GHZ
Alors prix laptop= très couteux
En logique des prédicats ou logique d'ordre 1
Si est_fils_de (Junior, Norbert)
Si est_fils_de (Jean, Junior)
Alors est_grand père_de (Norbert, Jean)
II.7.3. Objets structurés
Cette manière représentative peut être
considérée comme une extension des réseaux
sémantiques, en admettant que le noeud peut correspondre à une
structure complexe qui représente un objet encapsulant des attributs,
des valeurs et encore des procédures pour effectuer des tâches
données. On parlera des scripts des frames et des objets.
Les objets structurés nous permettent, en fait de
représenter plus finement la connaissance.
II.7.4. Réseaux sémantiques
Dans cette partie nous remarquons que les réseaux
sémantiques présentent les connaissances comme étant une
structure de graphe. Les noeuds correspondent aux objets ou aux concepts tandis
que les arcs représentent les relations ou les associations entre ces
concepts.
Femme
Etre vivant
Esther
Est un
Enceinte
Est une
Est
Fig. 2. Réseaux sémantiques
II.8. LES ACTEURS D'UN SYSTEME EXPERT
La construction d'un système expert repose
essentiellement sur trois personnes à savoir, l'expert, le cogniticien
et l'informaticien.
Chacun à un rôle particulier à jouer dans
la manière suivante : le cogniticien recueille et analyse la
connaissance fournie par l'expert, ensuite l'informaticien choisit l'outil de
développement et structure les données pour les entrer en
machine.
Le développement d'un système expert est un
processus d'ingénierie de connaissance qui impliquent plusieurs
personnes dont :
II.8.1. L'Expert
Un expert est une personne qui a longuement travaillé
dans un domaine et qui connaît tous les rouages. Il est différent
d'une personne novice.
Les experts constituent le point clé du
développement d'un système expert. Ils doivent donc être
suffisamment disponibles lors de la phase de l'extraction de la connaissance et
lors du suivi de l'application. C'est l'expert qui détient le savoir et
le savoir-faire du domaine d'expertise. C'est l'expert du domaine qui fournit
les connaissances nécessaires liées au problème.
II.8.2. L'Ingénieur de la connaissance ou
cogniticien
L'ingénieur de la connaissance c'est une personne qui
est chargée de l'extraction de la connaissance auprès des experts
et de proposer plusieurs modèles de bases de connaissances reproduits le
plus fidèlement possible.
C'est une personne qui permet de définir le champ
d'application du système expert à concevoir. Elle permet aussi
d'incorporer l'information extraite dans la base de connaissances sous une
forme rationnelle, de tester et de valider le système expert ainsi
produit.
L'ingénieur de connaissance a pour rôle de
trouver les outils et les logiciels nécessaire pour l'accomplissement
du projet, d'aider l'expert du domaine à expliciter sa connaissance et
d'implanter cette connaissance dans la base de connaissances.
Les qualités requises pour un bon cogniticien sont les
suivantes :
Ø Il doit être capable de conduire une
interview
Ø Il doit connaître les différents modes
de représentation des connaissances
Ø Il doit faire preuve de diplomatie afin de gagner la
participation des autres intervenants
Ø Il doit travailler en étroite collaboration
avec les experts, et à ce titre il doit se familiariser au vocabulaire
utilisé dans le domaine concerné.
II.8.3. Les Développeurs
C'est sont des personnes qui devront traduire l'application en
employant un outil de développement approprié tel qu'un langage
de programmation. Naturellement ces personnes sont des informaticiens.
II.8.4. Les Utilisateurs
C'est sont des personnes qui devront utiliser l'outil
conçu. En effet, les utilisateurs doivent travailler en collaboration
avec les développeurs, afin que ces derniers puissent inclure leurs
desiderata dans la conception des interfaces utilisateurs.
Le rôle de l'utilisateur final est de spécifier
l'application et de déterminer les contraintes de la conception.
II.8.5. Les Managers
C'est sont des personnes pour qui on développe le
système expert.
II.9. NATURE DE SYSTEMES EXPERTS REALISABLES
Dans cette partie du cours, nous essayons de définir la
nature des prototypes réalisables en termes d'efficacité, de
temps de développements, les problèmes pour lesquels le
système apporte une réponse.
Prototype de démonstration
C'est un système expert qui ne traite qu'une partie du
problème et qui sert à montrer la faisabilité de
l'approche. Il nécessite un temps de développement allant de 1
à 3 mois.
Prototype de recherche
C'est un système expert de taille moyenne et qui a des
performances crédibles sur un certain nombre de tests. Il peut se
tromper si l'on sort du cadre des problèmes qu'il sait résoudre
et de fois sur des cas prévus. Il nécessite un temps de
développement allant de 1 à 2 ans.
Prototype du domaine
C'est un système expert de taille moyenne ou grande et
qui a été suffisamment testé sur des cas réels. Il
est assez fiable et possède une interface pratique et servant aux
utilisateurs et résout correctement un grand nombre de problèmes
classiques. Il nécessite un temps de développement allant de 2
à 3 ans.
Prototype de production
C'est un programme de démonstration, très
largement testé, réimplanté dans un langage rapide et en
optimisant le stockage. Il résout correctement un grand nombre de
problèmes classiques. Il nécessite un temps de
développement allant de 2 à 3 ans.
Système commercial
Ce sont des systèmes experts dits « prototypes de
production » utilisés en milieu commercial. Il nécessite de
5 à 6 ans de développement intensifs.
II.10. ACQUISITION DES CONNAISSANCES
Etant donné nous percevons beaucoup des
problèmes dans un domaine quelconque pour sa résolution, il est
important de prendre ou capturer la connaissance de l'expert du
problème. Cette approche est une tâche complexe où
l'ingénieur de la connaissance (cogniticien) doit interagir avec
l'expert pour acquérir, organiser et étudier la
méthodologie de la connaissance de problème. L'acquisition des
connaissances reste le plus grand défi dans le développement
d'un système expert. Le but poursuivi dans l'acquisition de connaissance
réside dans la complication d'un corps de la connaissance sur un
problème quelconque qu'un système expert peut résoudre en
le codifiant. Pour y parvenir il faut une étape de discussion
interactive au cours de laquelle a lieu un échange de connaissance qui
aboutit à la constitution de ce corps d'où le nom
de « méthode d'interview » qui est le
modèle le plus employé pour acquérir la connaissance.
II.10.1. Processus d'acquisition des connaissances
Ce processus contient de tâches suivantes :
ü Collecte des connaissances
ü L'interprétation
ü L'analyse
ü La conception des méthodes pour rassembler des
connaissances additionnelles.
a. La collection
Cette phase permet d'acquérir le savoir faire de
l'expert et elle exige donc des qualités suivantes :
- Posséder une certaine connaissance technique
d'interview ;
- Posséder des bonnes qualifications interpersonnelles
de communication ;
- Posséder un esprit coopératif
b. L'interprétation
A cette phase, on interprète les informations
collectées en identifiant des morceaux principaux de la connaissance,
telles que les règles.
c. L'analyse
Elle nous permet après localisation des
différents morceaux lors de la tache d'interprétation, de les
étudier en vue d'avoir un aperçu sur la matière dont
seront organisées les connaissances et les stratégies de
résolution des problèmes.
d. La conception
Cette tache est une étape préparatoire de la
prochaine séance avec l'expert car elle permet d'éclairer les
tâches effectuées antérieurement en élucidant de
mieux en mieux la compréhension du problème. Elle aura
préalablement mis en exergue des nouveaux concepts qu'il faut
d'avantage explorer. Cela exige des techniques d'inspiration des
connaissances choisies pour obtenir l'information d'éclaircissement
au cours de la prochaine séance.
1. Technique d'entrevue
Cette technique fait partie des techniques d'informations de
la connaissance ; par un jeu de questions visant à
découvrir des connaissances, elle implique une interaction directe
entre l'expert et le cogniticien.
La gestion de l'entrevue doit être efficace en vue de
rendre cette démarche productrice. Elle exige que les points suivants
soient adressés :
- La préparation de l'ordre du jour ;
- Savoir comment efficacement, conduire et finir une
entrevue ;
- Le tact dans la manière de poser des questions pour
extraire l'information souhaitée ;
- L'esprit coopératif.
a) Types de question
La question est le moyen de base de la technique d'interview.
Elle est d'autant plus utilisée dans le but d'obtenir des
informations sur le problème à résoudre. En effet,
chacune présente un intérêt dans l'interview. Seulement il
s'agit d'étudier une bonne façon de la poser correctement.
Question directe
Ces types de question sont posés quand
l'ingénieur de connaissance voudrait extraire des informations
spécifiques sur une certaine question précédemment
découverte. Ces questions ont la forme suivante :
- « Qu'est ce qui... dire ? »
- « Est -ce que .....vrai ? »
Question indirecte
Considérées comme exploratoires, les questions
indirectes permettent à l'expert de donner une réponse selon
son appréhension de la question et sa capacité de
répondre.
Ces questions se présentent sous la forme
suivante :
- « Quelles apports
donnez-vous... ? »
- « Comment débrouiller vous ...
? »
- « Que cherchez vous
quand.... ? »
- « Comment vous ... ? »
Les questions indirectes donnent lieu à un
aperçu de la connaissance procédurale générale en
incluant des stratégies générales de résolution des
problèmes ainsi que des règles générales.
b) Bonne conception des questions
La meilleure formulation des questions est un autre facteur
important dans l'obtention d'une certaine information et même pour
réussir une entrevue. Une question qui n'atteint pas son but est
traitée de mauvaise. Voici quelques préalables qui permettent
d'annoncer une bonne question :
- Décider précisément sur l'information
à rechercher
- Penser à la concision de la question, de telle
sorte qu'étant courte qu'elle soit cependant précise de
réflexion ou de débat.
N.B : une question très bien conçue produit
la connaissance cherchée et clarifie l'entrevue.
2. Analyse de la connaissance
Après la série d'étapes qui ont abouti
à l'inspiration de la connaissance auprès d'un expert, les
informations ainsi obtenues et rassemblées doivent être
analysées afin de dégager par identification les principaux
concepts, règles, faits...qui après analyse formeront des
théories sur l'organisation de connaissances.
3. Problématique de l'acquisition des
connaissances
Nous pouvons rencontrer plusieurs problèmes lors de
l'acquisition des connaissances, l'extraction de la connaissance auprès
de l'expert constitue la majorité des ennuis rencontrés dans
cette phase.
Ainsi, nous pouvons évoquer les difficultés
ci-après :
Incapacité par l'expert de la
connaissance
La difficulté de l'expert à ce niveau
réside dans la description de ses propres méthodes de
résolution de problèmes provenant de son expérience en
négligeant dans ses descriptions les issues importantes.
Incapacité d'exprimer des
connaissances
Ayant appris certaines tâches observant un autre
individu les accomplissant, l'expert peut éprouver beaucoup de
difficultés à exprimer ses connaissances. Ceci arrive très
souvent quand les connaissances à exprimer découlent d'un travail
manuel.
Fourniture des connaissances non pertinentes
Nous disons après une multiple séance d'entrevue
avec l'expert lors de l'acquisition des connaissances au bénéfice
du projet, la quantité d'information récoltée devient
abondante si bien que dans ce lot, certaines sont non pertinentes. D'où
il est impérieux de tamiser.
Fourniture des connaissances incomplètes
Cette contrainte débute lorsque l'expert fournit une
description incomplète de sa manière de raisonner ou de
travailler pour résoudre un problème. Cette description peut
être assimilée à une omission (dans ce cas, la situation
peut être améliorée).
Fourniture des connaissances de contradictoire
Dans l'explication de ses stratégies de
résolution des problèmes, un expert peut fournir des
déclarations durant les entretiens avec le cogniticien.
II.11. PROCESSUS DE RAISONNEMENT
C'est lorsque nous avons acquis les connaissances, et nous
devons chercher une bonne manière de représenter toutes ces
connaissances.
Des nombreux formalismes ont été
évoqués pour le faire. Une fois que les connaissances
sont représentées, l'étape suivante concerne son
exploitation. Cette exploitation est assurée par un programme
informatique appelé Moteur d'Inférence. Ce mécanisme
d'exploitation des connaissances est une procédure qui utilise
la méta connaissance pour trier la connaissance utilisable, et
choisir la connaissance à utiliser.
Ou en outre le moteur d'inférence est une
procédure destinée à extraire les connaissances
utilisables et précise la connaissance dont on a besoin d'utiliser pour
un pour cas que nous avons à faire.
Comment représenter la méta-connaissance ?
La méta-connaissance correspond à la connaissance ayant
comme objectif de traiter les formalismes de représentation de
connaissances sur le domaine. Puisque les données
traitées sont des connaissances, on appelle ce type de connaissances
méta-connaissance.
a. le Moteur d'Inférence
Quant au moteur d'Inférence, c'est l'un
d'élément constitutif du système expert qui
représente le coeur même du système. Son rôle
permet de raisonner sur la base de connaissances en exploitant le
formalisme de la représentation des connaissances retenu. Donc le
moteur d'inférence est alimenté par la base de connaissances et
constitue dynamiquement la solution au problème posé en
décidant par exemple de quelles règles de production
déclencher.
Parmi les caractéristiques d'un Moteur
d'Inférence nous avons :
Ø Un cycle de base
Ø Une méthode de chaînage
Le cycle de base
Il comprend 4 phases que nous citons :
ü Phase de sélection
ü Phase de filtrage
ü Phase de la résolution des conflits
ü Phase d'exécution
Toutes ces phases sont bien expliquées dans la partie
ci-dessus au point 3.
Méthode de chainage
D'une manière générale, le moteur
d'inférence d'un système expert fonctionne selon deux
modes :
- Chaîne avant
- Chaîne arrière
Chaînage avant (mode
déductif)
Dans ce mode, le moteur d'inférence raisonne à
partir des faits dont il dispose. Ce raisonnement implique une déduction
de nouveaux faits à partir des faits et des règles connus. On dit
que le système expert fonctionne en chaînage.
La règle :
Si Junior est le fils de Norbert,
Si Norbert est le père de Gérard
Alors Junior est frère de Gérard
Ne peut être en chaînage avant que si les deux
prémisses sont connues et ont pour valeur de vérité vraie
(true). En conséquence, le fait déduit (Junior est le
frère Gérard) est ajouté à la base de faits. Le
processus doit se poursuivre jusqu'à ce que la base de faits soit
saturée c'est-à-dire qu'il n'y ait plus de faits à
déduire.
Soient la base de règles :
R1: a, b - > e
R2: b, d, f - > g
R3: c, b - > d
R4: c, g, i -> j
Et la base de faits initiale :
Faits connus et vrais {a, b, c, i, f}
Le but à atteindre {j}
Si nous considérons dans la phase de résolution
des conflits que les règles sont déclenchées selon l'ordre
d'apparition dans la base de règles, on a la situation
suivante :
Premier cycle
Toutes les règles sont sélectionnées
(chaque règle a au moins un fait connu). Cependant, seules les
règles R1 et R3 ont toutes les prémisses vérifiées.
Elles seront donc déclenchées en tenant compte de l'ordre
d'apparition dans la base de règle. De ce qui précède, on
a :
Sélection : R1, R2, R3,
R4
Filtrage : R1 et R3 constituent
l'ensemble des conflits
Résolution de Conflits : R1 est
déclenchée
Exécution : ajout de e dans la
base de faits. La base de faits devient donc
BF= {a, b, c, i, f, e}
La règle R1 est désactivée afin
d'éviter son déclenchement lors du prochain cycle.
Deuxième cycle
Sélection : R2, R3, R4
Filtrage : R3
Résolution des conflits : R3 est
déclenchée
Exécution : ajout de la
conclusion d dans la base de faits. La base de faits devient
BF= (a, b, c, i, f, e, d)
La règle R3 est désactivée
Troisième cycle
Sélection : R2, R4
Filtrage : R2
Résolution des conflits : R2 est
déclenchée
Exécution : ajout de g dans la
base de faits. La base de faits devient
BF = {a, b, c, i, f, e, d, g}
La règle R2 est désactivée
Quatrième cycle
Sélection : R4
Filtrage : R4
Résolution des conflits : R4 est
déclenchée
Exécution : ajout de j dans la
base de faits. La base de faits devient
BF = {a, b, c, i, f, e, d, g, j}
La règle R4 est désactivée
Le but est atteint et le système s'arrête.
Chaînage arrière (mode
inductif)
Dans ce mode, le moteur d'inférence raisonne à
partir des objectifs (buts, hypothèses) fixés. Ce raisonnement
implique la vérification de ces objectifs c'est-à-dire que le
système évalue les valeurs de vérité des buts. On
dit alors que le système expert fonctionne en chainage
arrière.
Le système expert choisit la règle concluant sur
le but à atteindre. Après que la règle ait
été choisie, le système vérifie ses
prémisses. Le but est prouvé ou atteint que si ces
prémisses sont connues c'est-à-dire que ces prémisses
appartiennent à la base de fait, sinon le système
considère ces prémisses inconnues et comme étant des sous
buts qu'il devra prouver. Le processus se poursuit jusqu'à ce que le but
initial soit établi. Notons que ce processus est exprimé par le
graphe « ET/OU » où les noeuds
« OU » représentent l'ensemble des règles
pouvant déduire par un même fait et les noeuds
« ET » représente la conjonction des
prémisses d'une règle.
Ce raisonnement nécessite au préalable un fait
à prouver appelé « but » ou
« hypothèse ». En considérant que le but est
j, le chaînage consiste à évaluer les valeurs de
vérité des faits (prémisses) des règles concluent
sur ces but. Si toutes ces prémisses sont vérifiées, alors
le but est atteint.
Lors du chainage, on peut constater dans certains cas qu'au
moins une prémisse de règle dont la conclusion est le but
nécessite aussi une preuve de la même manière que le but.
Dans ce conditions, ce fait est appelé « sous-but ».
En considérant l'exemple donné en chaînage avant, voyons
à présent comment se présente la situation lors du
chaînage arrière :
Première cycle
Filtrage : l'ensemble de conflits ne
contient qu'une seule règle R4.
Car c'est la seule règle qui conclue sur ce but.
Résolution des conflits : Etant
donné que l'ensemble de conflits ne contient qu'une seule règle,
la règle R4 est choisit. Au cas contraire, on choisit la règle
ayant plus de prémisses connues.
Exécution : Etant donné
que les faits c et i appartiennent à la base de faits initiale, donc ils
sont vrais. Cependant, le but j n'est pas encore prouvé car le fait g
est inconnu. En conséquence, g devient le sous-but à prouver au
prochain cycle.
Deuxième cycle
Filtrage : R2
Résolution des conflits : R2
Exécution : les faits b et f sont
vrais. Ce pendant le fait d est inconnu. D'où il devient le sous-but au
prochain cycle.
Troisième cycle
Filtrage : R3
Résolution des conflits : R3
Exécution : les faits c et b sont
vrais. Donc le sous-but d est prouvé.
Comme le sous-but d est prouvé, donc le sous-but g
prouvé.
Comme le sous-but g est prouvé, donc le but j est
prouvé.
Succès et arrêt du système.
R4
ET
j
i
f
b
c
b
R3
ET
ET
d
R2
g
c
Fig. 3. Graphe ET/OU d'un SE fonctionnant en chainage
arrière
Signalons qu'il existe aussi des systèmes qui
fonctionnent en utilisant ces deux modes de raisonnement. Lorsqu'un
système fonctionne en utilisant ces deux modes de raisonnement, on dit
qu'il fonctionne en chaînage mixte.
CHAP.III.GENERALITES SUR L'OPHTALMOLOGIE
[2], [8], [12], [13]
III.1. INTRODUCTION
En raison de l'importance de l'oeil dans la perception humaine
et du rôle de l'oeil dans l'esthétisme du visage, l'ophtalmologie
est une science très ancienne. Plusieurs techniques se sont
développées dans de nombreux endroit du monde de façon
indépendante : Chine, Japon, Amérique centrale, Europe,
Égypte et Inde depuis l'Antiquité. Un des documents les plus
anciens parlant d'ophtalmologie et d'obstétrique est le papyrus de
Carlsberg. Il date, pour sa partie la plus ancienne, du 2ème
millénaire avant Jésus-Christ.
III.2. DEFINITION
L'ophtalmologie est la branche de la médecine
chargée du traitement des maladies de l'oeil et la correction des
troubles de la vision.
III.3. OEIL
Définition
L'oeil est un organe qui perçoit les ondes
émises par une source lumineuse.
Rôle de l'oeil
Il a pour rôle de diriger les rayons lumineux vers la
rétine. Afin de visualiser plus profondément.
La composition de l'oeil
Fig.4. Composition de l'oeil
Comme chez la plupart des mammifères, oiseaux, reptiles
et poissons, l'oeil humain est constitué d'un globe
oculaire, formé de 3 enveloppes : la
sclèro-cornée, l'uvée, et la rétine (de dehors en
dedans).
La composition de l'oeil se présente comme
suit :
· Segment antérieur
Ø La cornée, partie antérieure du globe
oculaire, est une lentille transparente dont le rôle est de capter et de
focaliser la lumière sur la rétine.
Ø L'uvée, composée de l'iris, muscle
délimitant la pupille zone "virtuelle" située au centre de
l'iris, et permettant la modification de la luminosité entrante, de la
choroïde et du corps ciliaire.
Ø le cristallin, lentille biologique servant à
l'accommodation (« mise au point » sur l'objet à visualiser
permettant d'obtenir d'un point objet un point image focal sur la
rétine) est relié au corps ciliaire par l'intermédiaire de
la zonule de Zinn; C'est cette lentille qui, en s'opacifiant, occasionne la
cataracte.
Ø l'humeur aqueuse, liquide située entre la face
postérieure de la cornée en avant et le cristallin en
arrière. Elle est sécrétée par le corps
ciliaire.
· Segment postérieur
Ø la rétine, membrane regroupant des cellules
nerveuses photoréceptrices appelées cônes ou des
bâtonnets, servant à la transformation de l'onde lumineuse en
impulsions électriques, pour traitement des images par le système
nerveux.
Ø la choroïde, membrane nourricière de la
rétine et véritable « éponge vasculaire » qui
tapisse la face interne de la sclère.
Ø le corps vitré, sorte de gel qui remplit la
cavité située en arrière du cristallin et en avant de la
rétine.
· Annexes de l'oeil
Au nombre de quatre :
L'orbite, les muscles, la paupière et la glande
lacrymal.
Fonctionnement de l'oeil
La cornée oriente les rayons lumineux
vers le centre de l'oeil. L'image sera mise au point et retournée par le
cristallin. L'iris quant à lui va
permettre de recevoir la quantité de lumière en se
rétrécissant ou en s'agrandissant. Plus il fait sombre, plus
l'iris sera grand. La rétine transforme les rayons
lumineux en excitations physiologiques qui sont transmises au nerf optique par
l'intermédiaire de liaisons nerveuses.
La rétine est formée de trois couches
distinctes.la première est composée de cônes et des
bâtonnets. Les bâtonnets permettent de distinguer les
lumières de faible intensité. Les cônes quant à eux,
la lumière vive, ce sont eux qui vont permettre la reconnaissance des
couleurs. La seconde couche est appelé tâche jaune ou
fovéa, c'est elle qui va permettre de déterminer le mouvement et
les détails de couleurs. La troisième couche est formée
d'un grand nombre de cellules ganglionnaires terminées par des fibres
nerveuses reliées entre elles, il s'agit du nerf optique. Le
nerf optique apporte l'influx au cerveau où il est
transformé en sensation chromatique qui donne naissance au
phénomène de la vie. Le cerveau à son tour reconstitue la
sensation visuelle en couleur de propagation.
III.4. SYMPTOMES
Les symptômes dominants cités par les patients
peuvent être classés en deux catégories :
ü Les symptômes visuels d'une part et
ü Les symptômes non visuels d'autre part.
III.4.1. LES SYMPTOMES VISUELS
Parmi les symptômes visuels on peut citer :
1. Amblyopie : Baisse de la vue, une vue
brouillée ou floue soit de loin, soit de près.
2. Myodésopsies : Perception
d'une ombre, d'une tache noire, des mouches volantes ou d'une toile
d'araignée.
3. Photopsie : Perception d'un
éclair unique ou des éclairs répétés devant
l'oeil.
4. Métamorphopsie : Les objets
sont vus soit plus petits (microscopie), soit plus grand (macropsie) que
normalement.
5. Photophobie : Crainte de la
lumière d'intensité habituellement tolérable.
6. Héméralopie :
Difficulté de voir et de se conduire dans une salle obscure ou la nuit.
7. Diplopie : est la sensation de voir
double en vision.
III.4.2. LES SYMPTOMES NON VISUELS
Parmi les symptômes non visuels on peut citer :
1. Sensation de corps étranger :
La présence d'un corps étranger introduit
accidentellement dans l'oeil peut éveiller pareille sensation.
2. Picotement : Il peut être
dû à la sécheresse de l'oeil par insuffisance de
sécrétion lacrymal. Certaines affections inflammatoires de la
conjonctive et/ou de la cornée peuvent s'accompagner de picotement.
3. Prurit : Ce symptôme est
d'observation fréquente chez les enfants et personnes présentant
une affection oculaire avec une composante allergique.
4. Strabisme : Il s'agit d'une
déviation des axes visuels avec perte d'alignement sur l'objet
fixé. Ce signe traduit le plus souvent soit un
déséquilibre de la vision binoculaire, soit une paralysie de
l'oeil.
5. Nystagmus : C'est un trouble de la
statique oculaire consécutif à un déséquilibre des
couples musculaires.
6. Céphalées : Les
céphalées d'origine ophtalmologique se manifestent sous
l'influence de la lecture, du travail sur écran avec une
fatigabilité, un flou visuel, une baisse d'acuité visuelle.
7. Néoformation sur l'oeil : Il
s'agit de l'observation d'une structure anormale sous forme d'une excroissance,
d'une néoformation du siège palpébral, conjonctival.
III.5. EXAMEN OPHTALMOLOGIQUE
Un examen ophtalmologique complet comprend l'interrogatoire du
malade, et un examen physique.
ü Acuité visuelle
L'acuité visuelle est le terme qui désigne la
mesure de l'angle de résolution minimum. L'acuité visuelle
normale est de 10/10 à chaque oeil.
ü Examen du segment antérieur
Il est effectué à l'aide d'une lampe à
fente ou biomicroscope, c'est un examen indolore et non invasif permettant
d'étudier le segment antérieur et les annexes de l'oeil.
ü Examen du segment postérieur
C'est l'examen du fond d'oeil, on visualise ainsi de
façon directe ou indirecte (elon le matériel employé) la
rétine et ses composants : papille (lieu de naissance du nerf optique),
macula (zone de la rétine responsable de la vision précise),
veines, artères, rétine périphérique.
ü Examens complémentaires en
ophtalmologie
Échographie oculaire
Radiographie de l'orbite (dans le cas des pathologies
traumatiques, ou de certaines tumeurs)
Scanner orbitaire et rétro-orbitaire
Électrorétinogramme
Électro-oculogramme
III.6. LES TROUBLES DE LA VISION
ü Myopie : trouble de la vision
caractérisé par une baisse de l'acuité visuelle de loin.
L'image se forme en avant de la rétine : vision de loin floue.
ü L'hypermétropie : trouble
de la vision caractérisé par une baisse de l'acuité
visuelle à toute distance, mais prédominant dans la vision de
près. l'image se forme en arrière de la
rétine : vision de près floue.
ü L'astigmatisme : trouble de la
vision associé à la myopie et à hypermétropie et
faisant partie comme ces dernières des troubles de la réfraction
de l'oeil, ou amétropies. Il est dû en général
à une anomalie de forme de la cornée, soit congénitale,
soit due à une affection cornéenne.
ü La presbytie : modification de la
vision liée à l'âge et caractérisée par une
baisse de l'acuité visuelle de près, la vision
de loin est bonne.
III.7. LES PATHOLOGIES DE L'OEIL
ü L'orgelet : est la nécrose
purulente d'un follicule pilo-sébacé, c'est un petit furoncle du
cil et de la glande de Zeis. Le staphycoccus aureus et le streptocoque sont le
plus souvent incriminés dans la genèse de l'infection.
Fig.5.orgelet
ü La Blépharite : est une
atteinte inflammatoire ou infectieuse du bord libre des paupières. La
blepharite se manifeste par des paupières rouges, oedémateuses et
s'accompagne de démangeaisons. La blépharite peut être
d'origine microbienne, mycosique ou surtout allergique.
Fig.6.blepharite
ü La cataracte : se
caractérise par une opacification du cristallin entraînant une
baisse de vue.D'évolution généralement lentement
progressive, elle est la cause d'une baisse de vision de plus en plus
gênante. Au début, le sujet est gêné par une
sensibilité anormale à la lumière (photophobie), surtout
marquée sous forte lumière (éblouissement au soleil ou
lors de la conduite de nuit) pouvant s'accompagner de larmoiement
réflexe. Progressivement, la baisse de vision devient de plus en plus
pénible et entrave les gestes les plus courants de la vie, ce qui
entraîne l'indication d'une intervention chirurgicale.
Fig.7. cataracte
ü la Conjonctivite : Il s'agit des
atteintes inflammatoires ou infectieuses de la conjonctive. Elles se traduisent
par des rougeurs de l'oedeme et parfois des sécrétions plus ou
moins purulentes. Elles peuvent être dues à des germes banaux
(pneumocoque, streptocoque, staphylocoque) ou par des germes plus rares comme
le gonocoque, ou par des virus (souvent adénovirus). Celles-ci sont
très contagieuses.
On peut aussi trouver des conjonctivites dans certaines
maladies comme la rougeole, la rubéole ou la mononucléose
infectieuse.
Fig.8.conjonctivite gonocoque
ü Le chalazion : est un kyste
(petite tuméfaction) de l'épaisseur des paupières dû
à l'obstruction d'une glande appelée "glande de Meibomius." Le
chalazion est en général peu douloureux, mais il peut se
surinfecter.
Fig.9. chalazion
ü Le glaucome : est l'une de causes
majeures de la cécité et de la malvoyance dans le monde en
général, particulièrement dans le pays en
développement dont notre pays. Le processus glaucomateux aboutit, par
des mécanismes d'ischémie chronique au niveau de la tête du
nerf optique (papille), à la détérioration puis à
la destruction des fibres visuelles.
Fig.10.glaucome
ü Keratite à candida :
pathologie cornéenne chronique, avec utilisation de corticoïdes au
long cours. Présence d'une infiltration stromole focalisée
surélevée
Fig.11. kératite à candida
Le chapitre qui vient nous allons essayer d'aborder une grande
partie pour concrétiser notre travail, et cela nous avons choisi la le
modèle UML qui est un langage de modélisation la plus rependue et
beaucoup plus utilisé dans de domaine plus complexe.
CHAP IV : CONCEPTION
ET REALISATION DU SYSTEME EXPERT SEDADOPTHA. [3], [4]
Dans cette dernière partie, nous avons opté
de faire une mise en oeuvre d'un système expert qui pourrait bel et
bien répondre à quelques problèmes que nos hôpitaux
affrontent dans la vie sociale ou professionnelle. Donc, nous devons avoir
déjà une image générale de quelques concepts qui
ont été décrit et expliqué en profondeur à
la première partie, tels que : les méthodes de chainage
avant et arrière, la base des connaissances, le moteur
d'inférence, la base de règle, etc.
Signalons que ce système expert permettra
principalement :
Ø Le diagnostic des maladies des patients
Ø L'ordonnance de traitement aux patients.
IV.1. STADES DE DEVELOPPEMENT
Concernant ce point, nous allons montrer les
différentes étapes ou processus pour la réalisation de
notre mini système expert qui est tout un système mis en place.
Donc, nous procéderons par le recensement des acteurs, le recensement
des messages entre le système expert et ses acteurs, la
spécification initiale, l'analyse, la description des
éléments qui pourraient intervenir dans le système et la
mise en oeuvre.
IV.1.1. Recensement des acteurs
Comme vu dans le cours d'UML, un acteur représente une
abstraction d'un rôle joué par plusieurs entités externes
qui doivent interagir directement avec le système
considéré. Il est capable de consulter, modifier directement
l'état du système en émettant ou en recevant des
messages.
Pour notre travail nous avons recensé les acteurs
ci-dessous :
- L'utilisateur
C'est celui qui consulte le système expert pour le
diagnostic et la prescription.
- L'expert (ou le médecin)
C'est une personne dotée d'un pouvoir de mises à
jour du système. Il peut donc faire des mises à jour si cela
est nécessaire.
IV.1.2. Recensement des messages entre le système et
les acteurs
Ici un message montre une communication particulière
entre plusieurs objets. Parmi ces différents messages qui existent nous
pouvons citer :
Pendant l'émission du système nous avons :
Prescription de traitement
Message d'échec d'opération
Message de succès d'opération
La description de la pathologie
Message de validation
Risques d'une maladie, etc.
Et pendant la réception du système nous
avons :
Les symptômes et les maladies
Confirmation ou non d'un symptôme
Les créations et les modifications des causes,
d'une prescription et de des risques associés au fait (maladie)
Les créations et les modifications des fichiers
détaillant les maladies.
IV.1.3. La spécification initiale
Elle permet de décrire une application et formuler des
contraintes provisoires. Et par la suite nous allons faire la rédaction
de l'énoncé comme :
« Le problème consiste à faire une
conception et mettre en place un mini système expert dans une
institution médicale ou autres qui prenne en charge les
différents problèmes ou cas, effectués par cette
institution. Il est constitué de toutes informations nécessaires
qui aideront les médecins ou autres personnes
bénéficiaires. Ce mini système expert est installé
dans la direction de chaque médecin, dans laquelle toutes
opérations d'échanges peuvent se réaliser. Il doit
être en mesure de fournir les informations sur les diagnostics, la
consultation, et pourquoi pas de prescrire un traitement final
c'est-à-dire donner une ordonnance. En effet, lorsque les
médecins veulent avoir des diagnostics concernant un cas quelconque, ils
lancent ce mini système et ce système déclenche les
processus d'interaction avec ce médecin, en lui demandant quels types de
traitement il veut effectuer ; une fois le traitement choisi, le mini
système génère les résultats de chaque traitement
jusqu'à l'aboutissement d'informations utiles aux médecins.
IV.1.4. Analyse
Ce point d'analyse du
domaine a pour objectif d'obtenir un modèle précis, concis,
compréhensible et correct du monde réel. Donc, lors de l'analyse,
nous construirons des modèles et nous commencerons à comprendre
plus clairement les exigences.
IV.1.4.1. Le modèle d'interactions
Il permet d'exprimer la façon dont les objets
interagissent pour produire des résultats utiles à l'application.
Il comporte trois diagrammes qui sont le cas d'utilisation, séquence et
d'activité. Au point suivant nous faisons une description de chaque
diagramme.
IV.1.4.1.1. Cas d'utilisation d'un système expert
Mettre à jour
Initialisation du système
Diagnostic
Obtenir une Prescription
« include»
Traitement
Utilisateur
Médecin
Patient
Fig.12. Diagramme de cas d'utilisation
C'est une partie cohérente des fonctionnalités
qu'un système peut fournir en interagissant avec les acteurs.
Ø Initialisation du système :
Ce cas d'utilisation est très important pour les acteurs du
système ça leurs permettent d'initialiser le système au
besoin de l'utilisation c'est à dire lancer le mini système
expert pour pouvoir explorer toutes les fonctionnalités en introduisant
votre nom et mot de passe requis.
Ø Mettre à jour la base de
connaissance : A pour comme effet d'actualiser notre base des
connaissances, cette base comporte deux parties qui sont la base des faits et
base des règles. Cette actualisation permet à l'expert d'ajouter,
de supprimer et de modifier un fait ou une règle dans le cas
d'acquisition des nouvelles connaissances.
Ø Diagnostique de malade : le cas
d'utilisation diagnostiqué permet à l'expert ou à
l'utilisateur de faire une consultation générale par rapport
aux contraintes posées chez le patient afin de déterminer une
maladie. Cela s'effectue que, si l'expert ou l'utilisateur aient introduit les
différents symptômes.
Ø Prescrire une ordonnance : Ce
cas d'utilisation intervient quand l'expert ou l'utilisateur ont fini le
diagnostic, elles permettent aux patients de suivre un traitement
nécessaire.
IV.1.4.1.2. Diagramme de séquence pour initialisation
du système
Ce diagramme montre les interactions qui se passent entre
l'expert et le système avant l'utilisation de l'application pour
commencer le diagnostic ou les mises à jour de certains faits ou
règles.
Expert
Système
Utilisateur
Ouverture de session
Afficher boite de connexion
Saisie de nom et mot de passe
Validation de session
Message de succès
En cas d'erreur message d'erreur
Retour à l'écran d'accueil
Ouverture de session
Afficher boite de connexion
Saisie de nom et mot de passe
Validation de session
Message de succès
En cas d'erreur message d'erreur
Retour à l'écran d'accueil
Fig.13. Diagramme de séquence d'initialisation du
système
IV.1.4.1.3. Diagramme
d'activité pour initialisation du système
Ici dans ce diagramme les acteurs sont appelés de
s'authentifier pour utiliser le système, c'est-à-dire donc saisir
le nom et le mot de passe que l'administrateur avait configuré selon le
niveau des tâches à chacun.
Saisie de nom et de mot de passe
Exécution de l'application
Choix de l'opération à effectuer
Retour à l'écran de saisie
De user et password
Sortie du système
Si valide
Si non valide
Fig.14. Diagramme d'activité cas d'initialisation du
système
IV.1.4.1.4. Diagramme de
séquence mettre à jour les connaissances
Il permet de montrer les participants à une
interaction et la séquence des messages qu'ils échangent.
: Médecin
: Système
Lancement du système
Menu de sélection des opérations
Choisir modifier
Sélectionner le fait ou la règle
Saisir le numéro du fait ou de règle
Valider la sélection
Afficher l'interface correspondant
Saisir le fait ou la règle
Valider
Afficher le message de succès ou d'échec
Choisir ajouter fait ou règle
Supprimer la sélection
Choisir supprimer
Sélectionner le fait ou la règle
Afficher le message de succès ou d'échec
Cliquer sur le bouton ajouter
Afficher l'interface correspondant
Fermer la session
Afficher le message de succès ou d'échec
Fig.15. Diagramme de
séquence mettre à jour les connaissances
IV.1.4.1.5. Diagramme
d'activité pour mettre à jour les connaissances
Cette étape de diagramme montre comment l'expert et
l'utilisateur vont procédés pour modifier, ajouter et supprimer
un fait ou règle selon le type d'opération choisie jusqu'à
l'aboutissement des résultats.
Choix de type d'opération
Sélection opération faits ou règles
Continuer
Valider
Modifier les prémisses
Afficher sélectionner les faits ou règles
Ajouter
Modifier
Modifier les règles
Règle
Fait
Base des faits modifiés
Annuler
Ok
Si non
Si non
Si oui
Saisie des faits
Saisie des règles
Validation
Règle ajouté dans la BR
Fait ajouté dans la base BF
Choisir faits ou règles
Fait
Règle
Ok BF
Fin de l'exécution
Sortie
Ok BR
Sélectionner numéro fait
Supprimer
Valider
Opération réussie
Sélectionner numéro règle
Supprimer
Valider
Sortie
Ok fait
Ok règle
Fig.16. Diagramme d'activité mettre à jour les
connaissances
IV.1.4.1.6. Diagramme de
séquence pour diagnostique de la maladie
A ce niveau nous constatons
les interactions entre le système et les acteurs, les acteurs
procède aux différentes phases de sélectionner des faits
ou règles en se basant sur des méthodes de raisonnement
très efficaces tels que le chainage avant et arrière ou
mixte.
Système expert
Expert
Choix du raisonnement avant ou arrière
Valider le choix
Sélection du raisonnement avant
Lecture des faits constatés
Valider la lecture des faits
Résultat du diagnostic
Sélection du raisonnement arrière
Sélection de la maladie
Listes de faits susceptibles de provoquer la maladie
La reconnaissance de faits
Confirmation de la maladie
Un de faits n'est pas constaté
Quitter la session
Vous ne souffrez pas de cette maladie
Fermeture de la session
Fig.17. Diagramme de séquence diagnostique de la
maladie
IV.1.4.1.7. Diagramme
d'activité pour diagnostique de la maladie
Ce diagramme décrit une succession des étapes
pour un processus complexe, donc il est fait voir la confirmation d'une maladie
en procédant par les méthodes de raisonnement du chainage avant
ou arrière.
Choix du raisonnement avant ou arrière
Chainage arrière
Chainage avant
Lecture d'une maladie
Lecture d'un fait
Ajouter fait
Ajouter fait
Renvoi les faits concernant la maladie
Exécution du chainage
Fait confirmé
Fait non confirmé
Sortie du résultat
Malade confirmé
Malade non confirmé
Fin de l'exécution
Fig.18. Diagramme d'activité diagnostique de la
maladie
IV.1.4.1.8. Diagramme de
séquence pour la prescription
Ce cas permet à l'expert de fournir chez le patient une
liste de traitement qu'il va suivre jusqu'à la guérison de sa
malade.
Expert
Patient
Donner l'ordonnance
Suivre les instructions
Terminer le traitement
Fig.19. Diagramme de séquence pour la prescription des
maladies
IV.1.4.1.9. Diagramme
d'activité pour la prescription
Nous constatons ici que, l'expert remet une ordonnance chez le
patient pour suivre son traitement médicale. Et donc, cette ordonnance
contient tous les examens nécessaires à faire.
Donner la prescription
Fin du traitement
Prendre et suivre le traitement
Sortie
²
Fig.20. Diagramme d'activité pour la prescription des
maladies
IV.1.4.2. Diagramme de classe
FAIT
- Numéro : int
-Prémisse : Boolean
- Conclusion: Boolean
+ Modifier()
+Ajouter()
+supprimer()
REGLE
- Numéro : int
-Prémisse : string
- Conclusion: string
- Active: Boolean
+ Modifier()
+Ajouter()
+supprimer()
1...*
1
1...*
· 1...*
BASE DE REGLES
- Numéro : int
-Prémisse : string
- Conclusion: string
- Active: Boolean
+ Modifier()
+Ajouter()
+supprimer()
BASE DE FAITS
- Numéro : int
-Prémisse : string
- Conclusion: string
- Active: Boolean
+ Modifier()
+Ajouter()
+supprimer()
PRESCRIPTION
- Numéro : int
-Prémisse : string
- Conclusion: string
- Active: Boolean
+ Modifier()
+Ajouter()
+supprimer()
1
1
1...*
Fig.21. Diagramme de classes
IV.1 .5. Conception de la base de connaissance et du
moteur d'inférence
La conception de ce système est subdivisée en 2
parties :
ü Conception de la base des connaissances
ü Conception du moteur d'inférence
IV.1.5.1. Conception de la base de connaissances
La base de connaissances étant l'ensemble de la base de
faits et de la base de règles, sa conception consiste à la
conception de ces deux dernières. Elles ont été mises en
place grâce à l'extraction de connaissances. Compte tenu de
la liste exhaustive de faits et de règles que nous détenons, Nous
ne citerons que quelques uns :
IV.1.5.1.1. Présentation de la base de
faits
1. Prurit
2. Hyperplasie des papilles
3. Infiltrat limbique cornéo conjonctival
4. Concrétions calcaires s
5. Hyperpigmentation de la conjonctivite bulbaire
6. Démangeaison
7. Larmoiement
8. Brûlure
9. Hypersécrétion des mucus
10. Photophobie
11. Blépharospasme
12. Rougeur oculaire
13. Un oedème palpébral
|
14. Période d'incubation de 2 à 3 jours
15. Secrétions conjonctivales abondantes, purulentes et
verdâtres
16. Accolement des paupières
17. Forte hyperhémie
18. Chemosis
19. OEil sec
20. Xérosis conjonctival
21. Tache de bilot
22. Picotement
23. Naévus
24. Larmes sanguinolentes
25. Vascularisation anormale
|
26. Tendance hémorragique
27. Masse bourgeonnante près du limbe
28. Couleur jaunâtre
29. Nodule rouge et bosselée
30. Télangectasique de surface bosselée
31. Exophtalmie
32. Malaise
33. Abcedation
34. Fièvre
|
35. Myosite
36. Thrombophlébite orbitaire
37. Pertes de cils
38. Mauvaise vision
39. Baise de la vision
40. Cécité
41. Strabisme
42. Nystagmus
43. Megalocornée
44. Dacryo - adénites
|
IV.1.5.1.2. Présentation de la base de
règles
Règle 1 :
Si megalocornée
Si oedème de la cornée
Si buphtalmie
Si larmoiement
Si photophobie
Si mauvaise vision
Alors Glaucome congénital
Règle 3 :
Si mauvaise vision
Si cecité
Si une tâche dans l'air pupillaire
Si strabisme
Si nystagmus
Si photophobie
Alors Cataracte congénital
Règle 5 :
Si douleur oculaire
Si hémicrânie homolatérale
Si photophobie
Si plephorasme
Si trouble de la vision
Si sécrétion conjonctivale
Si hyperémie
Si chemosis
Alors Kératite ulcéreuse
Règle 8 :
Si douleur oculaire
Si larmoiement
Si photophobie
Si vision trouble
Si ulcération superficielle linéaire
Si hypoesthésie
Alors kératite superficielle
Règle 10 :
Si exophtalmie
Si chemosis
Si dacryo - adenites
Si myosites
Si thrombophlébites orbitaires
Alors pseudo - tumeurs inflammation
Règle 12 :
Si sécrétion lipidique anormale de l'orifice
tubulaire de la glande
Si l'existence d'une inflammation chronique
Si la surinfection du staphylococcus aureus
Alors chalazion
Règle 14 :
Si debut brutal avec douleurs violentes
Si oèdeme palpébral
Si chémosis
Si exophtalmie
Si fièvre
Si prostration
Si abcedation
Alors phlegmon orbitaire
Règle 16 :
Si purit
Si hyperplasie de papille
Si concrétion calcaire
Si hyperpigmentation de la conjonctivite bulbaire
Si démangeaison
Si larmoiement
Si hypersécrétion de mucus
Alors Conjonctivite allergique
Si photophobie
Si blephorasme
Alors Conjonctivite allergique
|
Règle 2 :
Si un sujet adulte
Si l'âge avancé
Si baisse progressive de la vision
Eblouissement
Photophobie
Tâche blanche dans l'air pupillaire
Alors Cataracte acquise
Règle 4 :
Si rougeur
Si douleur oculaire
Si formation violacée ou pourpre
Alors Sclérite
Règle 6 :
Si inflammation superficielle à l'episclère
Si douleur
Si photophobie
Si rougeur du paractaute à la phenylephire
Alors Episclerite
Règle 7 :
Si infiltration stromole
Si pisciforme
Si entouré d'un anneau necrotique
Alors Kératite parasitaire
Règle 9 :
Si oedème palpébral
Si hyperhémie
Si douleur localisée en un point précis du bord de
la paupière
Si un petit abcès visible
Alors orgelet
Règle 11 :
Si sensation de brûlure ou de cuisson
Si purit
Si hyperhémie
Si squames cutanées blanchâtres
Si sécrétions sèches
Si desquamation cutanée exagérée
Si perte des cils
Si petite ulcération surinfectée adjacente à
la racine des cils
Si syndrome du triple S
Alors blépharite
Règle 13 :
Si présence de nodule rouge et douloureuse
Si télangectasiques de surface bosselée
Si VIH/Sida
Alors angio sarcorme de kaposi
Règle 15 :
Si naévus
Si tumeur siège près du limbe s'étend aux
paupières
Alors tumeurs naéviques
Règle 17 :
Si masse bourgeonnante près du limbe
Si vascularisation anormale
Si tendance hémorragique
Alors carcinome
Règle 18 :
Si couleur jaunâtre
Si picotement
Si hyperhémie au niveau de pingueculite
Alors pinguecula
|
IV.1.5.2. Conception du moteur d'inférence
Concevoir un moteur d'inférence consiste à la
conception du raisonnement. Signalons que ce raisonnement est soit
déductif (chainage avant), soit inductif (chainage arrière). Dans
le cadre de notre travail, nous allons mettre en place un moteur
d'inférence qui fonctionnera en chainage avant.
IV.1.5.2.1. Le raisonnement
Cette étape consiste à une bonne analyse en
vue d'en dégager une suite d'étapes (Algorithme)
nécessaires à la résolution du problème
posé.
a) Chainage avant
Chainage avant
Si la base des règles est vide
Alors échec
Sortir
Fin si
Parcourir la base de règles
Si la règle est active
Alors tester la règle
Sinon passer à la règle suivante
Fin si
Si aucune règle n'est déclenchée
Alors chainage arrière
Fin si
Fin chainage avant
Tester la règle
Parcourir les prémisses de la règle
Pour chaque prémisse de la règle
Si prémisse est présente dans la base de faits
Alors passer à la prémisse suivante
Sinon échec
IV.2. Application
Sortir
Fin si
Si toutes les prémisses de la règle sont
vérifiées
Alors la règle est déclenchée
Placer l'action dans la base des faits
Succès
Sinon échec
Fin si
Fin Tester règle
b) Chainage arrière
Chainage arrière
Si le fait correspondant au but est vrai
Alors succès
Sortir
Fin si
Si l'état de vérité du fait reste à
déterminer
Alors parcourir la base de règles
Pour chaque règle concluant sur le but
Si on peut prouver la règle
Alors succès
Sortir
Sinon prendre la règle suivante
Fin si
Fin si
Si le fait est inconnu ou non demandable
Alors échec
Sortir
Fin si
Demander l'état de vérité du fait
correspondant
Si l'état de vérité du fait correspondant
n'est pas celui attendu pour vérifier le but
Alors échec
Sinon succès
Fin si
Fin chainage arrière
IV.2. APPLICATION
Nous avons opté dans le cadre ce mémoire,
réaliser un système expert qui permettra aux experts de bien
analyser tous les traitements. Et nous présentons quelques interfaces
qui guideront tout acteur de bien parcourir l'application.
IV.2.1.INTERFACES
a) Le menu fichier
Cette fenêtre aide l'expert d'effectuer l'opération
d'ajout dans notre base des connaissances. Ce sous menu contient
l'onglée maladie, faits, règles et prescription médicale.
Avant tout l'utilisateur ou l'expert doit s'authentifier.
b) Le menu édition
Ce menu permet à l'expert de faire toutes sortes des
mises à jour sur chacune des parties du système telles que la
modification, la suppression et la construction de règles.
Ø Présentation de l'interface de
modification ou suppression pour la maladie
Ø Modification de faits dans la base de
faits
Cette phase donne à l'expert la possibilité de
modifier un fait qui est était déjà enregistré dans
la base de faits ou de le supprimer.
Ø Construction et ajout de règles dans la
base de règles
Ici l'expert possède le pouvoir de construire les
différentes règles à ajouter dans la base de
règles.
Ø Modification ou suppression de règles
dans la base de règles
Cette interface permet l'expert de visualiser et de
sélectionner la règle qu'il voudra modifiée ou supprimer
pour que cette base de règles soit à jour.
c) Le menu traitement
Ce menu est la base pour notre système parce que c'est
ici que le moteur d'inférence opère le processus de traitement
suivant le raisonnement du chainage avant à partir des symptômes
sélectionnés ou introduites par l'utilisateur.
Ce traitement génère une maladie si tous les
faits sont valides. Comme pour ce cas, nous remarquons que la maladie ayant
pour symptômes oedème de la cornée, larmoiement,... est le
Glaucome congénital.
IV.2.2. CODE
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.Odbc;
using System.Windows.Forms;
namespace SEDADOPHTA
{
public partial class FPrincipale : Form
{
ClassConnexion pconect = new ClassConnexion();
OdbcCommand command;
OdbcDataReader reader;
string a, b, c, d, e;
string zcdmal,zcdfait,point;
int i, j,k,l,x,nligne,ncolone,nbrligne,nbrcol;
string[] tab; string[] t;
string[] t1; string[] t2; string[] t3; string[] t4;
string[] tas; string[] tes;
string[] tf; string[] tr; string[,] filter;
Boolean etat;
public FPrincipale()
{
InitializeComponent();
PCreerUser.Visible = false; PAutres.Visible =
false;
POuverture.Visible = false; PFait.Visible = false;
PMaladie.Visible = false; PRegle.Visible = false;
PPrescription.Visible = false; PGmodifier.Visible =
false;
PTavant.Visible = false;
//CONTROLE DE MODIFICATION
zcode.KeyPress+=new
KeyPressEventHandler(zcode_KeyPress);
}
private void zcode_KeyPress(object sender, EventArgs
e)
{
if (((KeyPressEventArgs)e).KeyChar ==
(int)Keys.Enter)
{
}
}
private void BYes_Click(object sender, EventArgs e)
{
string user = zuser.Text.ToUpperInvariant();
string password =
zpassword.Text.ToUpperInvariant();
if (user == "ADMIN" & password=="SYSTEME")
{
PCreerUser.Visible = true;
PAcces.Hide();
}
private void BCancel_Click(object sender, EventArgs e)
{
zuser.Clear(); zpassword.Clear();
}
private void BModifier_Click(object sender, EventArgs
e)
{
a = zcode.Text.ToUpperInvariant();
b = znom.Text.ToUpperInvariant();
c = zpasword.Text.ToUpperInvariant();
ClassAuthentification p = new
ClassAuthentification(a, b, c);
p.modifier();
zcode.Clear(); znom.Clear(); zpasword.Clear();
BModifier.Visible = false; BSave.Visible = true;
BSupprimer.Visible = false;
}
private void BSupprimer_Click(object sender, EventArgs
e)
{
a = zcode.Text.ToUpperInvariant();
b = znom.Text.ToUpperInvariant();
c = zpasword.Text.ToUpperInvariant();
ClassAuthentification p = new
ClassAuthentification(a, b, c);
p.supprimer();
zcode.Clear(); znom.Clear(); zpasword.Clear();
BModifier.Visible = false; BSave.Visible = true;
BSupprimer.Visible = false;
}
}
private void suppmaladie()
{
DialogResult repons = MessageBox.Show("Voulez vous
supprimer cette information
?","Alerte",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(repons==DialogResult.Yes)
{
pconect.conect.Open();
int index = Data.CurrentCell.RowIndex;
string res = "delete from t_maladie where
id_malade="+Data.Rows[index].Cells["dnumero"].Value+"";
command = new OdbcCommand(res);
command.Connection = pconect.conect;
command.ExecuteNonQuery();
pconect.conect.Close();
}
}
{
tf = new string[1000];
tr=new string[1000]; //libelle
faits
//MessageBox.Show("auto=" + t1[l]);
pconect.conect.Open();
string ras1 = "select nom_faits from t_faits
where id_faits="+t3[l]+"";
command = new OdbcCommand(ras1);
command.Connection = pconect.conect;
reader = command.ExecuteReader();
while(reader.Read())
{
tas=new string[reader.FieldCount];
for (i = 0; i < reader.FieldCount;i++
)
{
tas[i]=reader[i]+"";
}
}
pconect.conect.Close();
//libelle malade
pconect.conect.Open();
string ras2 = "select nom_maladie from
t_maladie where id_malade=" + t4[l] + "";
command = new OdbcCommand(ras2);
command.Connection = pconect.conect;
reader = command.ExecuteReader();
while (reader.Read())
{
tes = new string[reader.FieldCount];
for (i = 0; i < reader.FieldCount;
i++)
{
tes[i] = reader[i] + "";
}
}
pconect.conect.Close();
a = "Si \t" + tas[0];
Datar.Rows.Add(new string[] { t1[l], t2[l],
a, "" });
}//fin libelle
b = "Alors";
Datar.Rows.Add(new string[] { "", "Conclusion",
b, tes[0] });
}//FIN FOR DISTINCT
}
private void suppregle()
{
DialogResult repons = MessageBox.Show("Voulez vous
supprimer cette information ?", "Alerte", MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (repons == DialogResult.Yes)
{
pconect.conect.Open();
int index = Datar.CurrentCell.RowIndex;
string res = "delete from t_regle where id_auto="
+ Datar.Rows[index].Cells["idauto"].Value + "";
command = new OdbcCommand(res);
command.Connection = pconect.conect;
command.ExecuteNonQuery();
pconect.conect.Close();
}
}
private void BUCancel_Click(object sender, EventArgs
e)
{
rdbmaladie.Checked = false; rdbfait.Checked = false;
rdbregle.Checked = false; rdbprescription.Checked = false;
Data.Rows.Clear(); PGmodifier.Hide();
Datar.Rows.Clear(); grbregle.Visible = false;
trid.Clear(); combrfait.Items.Clear(); combrmaladie.Items.Clear();
Affecter.Visible = false;
}
private void Bdelete_Click(object sender, EventArgs e)
{
if(point=="maladie")
{
suppmaladie();
Data.Rows.Clear(); rdbmaladie.Checked = false;
}
else if (point == "fait")
{
suppfait();
Data.Rows.Clear(); rdbfait.Checked = false;
}
else if (point == "prescription")
{
suppprescrire();
Data.Rows.Clear(); rdbprescription.Checked =
false;
}
else if(point=="regle")
{
suppregle();
Datar.Rows.Clear(); rdbregle.Checked = false;
Affecter.Visible = false; trid.Clear();
combrfait.Items.Clear(); combrmaladie.Items.Clear();
grbregle.Visible = false;
}
}
private void Affecter_Click(object sender, EventArgs
e)
{
affecteregle();
}
private void affecteregle()
{
int index = Datar.CurrentCell.RowIndex;
a =(string)
Datar.Rows[index].Cells["id_regle"].Value;
trid.Text = a;
}
private void combrfait_SelectedIndexChanged(object
sender, EventArgs e)
{
pconect.conect.Open();
string res = "select id_faits from t_faits where
nom_faits='" + combrfait.Text + "'";
command = new OdbcCommand(res);
command.Connection = pconect.conect;
reader = command.ExecuteReader();
while (reader.Read())
{
tab = new string[reader.FieldCount];
for (i = 0; i < reader.FieldCount; i++)
{
zcdfait = reader[i] + "";
}
}
pconect.conect.Close();
}
private void combrmaladie_SelectedIndexChanged(object
sender, EventArgs e)
{
pconect.conect.Open();
string res = "select id_malade from t_maladie where
nom_maladie='" + combrmaladie.Text + "'";
command = new OdbcCommand(res);
command.Connection = pconect.conect;
reader = command.ExecuteReader();
while (reader.Read())
{
tab = new string[reader.FieldCount];
for (i = 0; i < reader.FieldCount; i++)
{
zcdmal = reader[i] + "";
}
}
pconect.conect.Close();
}
private void SChainageAvant_Click(object sender,
EventArgs e)
{
PTavant.Visible = true;
PMaladie.Hide(); PFait.Hide(); PRegle.Hide();
PPrescription.Hide();
PGmodifier.Hide();
}
private void ztraiter_TextChanged(object sender,
EventArgs e)
{
a = ztraiter.Text.ToUpperInvariant();
if (a != "")
{
recherchetraiter();
}
else if (a == "") { datatraiter.Rows.Clear(); }
}
private void recherchetraiter()
{
pconect.conect.Open();
string res = "select nom_faits,id_faits from t_faits
";//where nom_faits like '"+a+"%'
command = new OdbcCommand(res);
command.Connection = pconect.conect;
reader = command.ExecuteReader();
while(reader.Read())
{
tab=new string[reader.FieldCount];
for (i = 0; i < reader.FieldCount;i++ )
{
tab[i]=reader[i]+"";
}
if(tab[0]!="")
{
datatraiter.Rows.Add(new object[] {
tab[1],tab[0],false });
}
}
a = "";
pconect.conect.Close();
nligne = datatraiter.Rows.Count;
ncolone = datatraiter.Columns.Count;
}
private void button2_Click(object sender, EventArgs e)
{
datatraiter.Rows.Clear();
PTavant.Hide();
}
private void trtreche_Click(object sender, EventArgs
e)
{
traitement();
}
private void traitement()
filter=new string[1000,1000];
j = 0;
for (i = 0; i < nligne-1;i++ )
{
etat=(Boolean)datatraiter.Rows[i].Cells["Cnetat"].Value;
if(etat==true)
{
a =
(string)datatraiter.Rows[i].Cells["idref"].Value;
tf[j] = a;
j++;
//MessageBox.Show("cdfait="+a);
}
//FILTRAGE DE LA SELECTION
for (x = 0; x <nbrligne ;x++ )
{
//MessageBox.Show("ligne=" + x);
for (k = 0; k < nbrcol; k++)
{
//MessageBox.Show("data=" + filter[x,k]);
if(filter[x,k]==filter[x+1,k])
{
b=filter[x,k];
}
else if(filter[x,k]!="")
{
c=filter[0,0];
}
//MessageBox.Show("k=" +k);
}
}//Fin filtrage*/
if (b != "")
{
pconect.conect.Open();
string res = "select id_malade from t_regle where
id_regle='"+b+"'";
command = new OdbcCommand(res);
command.Connection = pconect.conect;
reader = command.ExecuteReader();
while(reader.Read())
{
tab=new string[reader.FieldCount];
for (i = 0; i < reader.FieldCount;i++ )
{
tab[i]=reader[i]+"";
}
d = tab[0];
}
pconect.conect.Close();
//AFFICHE NOM MALADE A PARTIR DE REGLE
pconect.conect.Open();
string req = "select nom_maladie from t_maladie
where id_malade=" + d + "";
command = new OdbcCommand(req);
command.Connection = pconect.conect;
reader = command.ExecuteReader();
while (reader.Read())
{
tab = new string[reader.FieldCount];
for (l = 0; l < reader.FieldCount; l++)
{
tab[l] = reader[l] + "";
}
}
pconect.conect.Close();
MessageBox.Show("La maladie est "+tab[0]+",
merci" );
}}}}
CONCLUSION
Nous voici au terme de notre travail, où il a
été question de parler de la conception et la réalisation
d'un Système expert diagnostic d'aide à la décision
médicale : Cas de l'ophtalmologie.
Nous avons dans ce travail, épinglé l'importance
de l'intelligence artificielle dans la vie humaine, de même nous avons
parlé des apports des systèmes experts dans la vie quotidienne.
L'ophtalmologie était le domaine de la médecine
où nous avons opté réaliser un système expert qui
pourra apporter la précision dans la prise de décision du
médecin et de l'utilisateur formé.
L'application que nous avons présentée dans ce
travail est une solution au problème dû à la nature humaine
de l'expert qui peut commettre des erreurs et aussi au fait que l'expert peut
être en déplacement. Le système pourra alors venir en aide
pour palier à ce problème.
Ce travail est une bouteille jetée
à la mer pour tous ceux qui voudront s'en servir afin de contribuer au
développement de la science.
BIBLIOGRAPHIE
I. OUVRAGES
[1] FROT Pierre, Trois systèmes experts en
Turbo pascal, Edition Sybex, 1987
[2] KANSKI Jack, Précis d'ophtalmologie
clinique, Edition Française, 2005
[3] ROQUES Pascal, UML2 en action - de l'analyse
des besoins à la conception, Eyrolles,
4ème édition, 2007
[4] SERGE Tahé, Apprentissage du langage
Csharp, 2002
II. NOTES DE COURS
[5] DJUNGU Saint jean, Génie
logiciel, Unikin, 2010 - 2011
[6] KASORO Nathanaël , Système
expert et temps réel, Unikin, 2011 - 2012
[7] KASORO Nathanaël , Intelligence
artificielle, Unikin, 2010 - 2011
[8] KAYEMBE Lubeji, Cours
ophtalmologie, Unikin, 2005 - 2006
[9] MBUYI MUKENDI Eugène, Intelligence
artificielle approfondie, Unikin, 2011 - 2012
III. MEMOIRES
[10] BALUSA Jack, Conception et réalisation
d'un système expert d'aide à la décision
médicale (cas de la neurologie),
Unikin, 2009 - 2010
IV. LIENS
[12]
http://fr.wikipedia.org/wiki/ophtalmologie,
le 05 Août 2012
[13]
http://www.ophtasurf.free.fr,
le 20 Août 2012
[14]
http://www.eisti.fr/mma/Html-SE/Cours/SEO3.pdf,
le 26 Septembre 2012
[15]
http://www.grappa.univ-lille3.fr/torre/Enseignement/Cours/Intelligence-Artificielle/,
le 28 Août 2012
TABLE DES MATIERES
DEDICACES................................................................................................................................................
i
REMERCIEMENTS....................................................................................................................................
ii
LISTE DES
FIGURES.................................................................................................................................
iii
LISTE DES
ABREVIATIONS........................................................................................................................
v
0.INTRODUCTION GENERALE [1]
............................................................................................................
1
0.1. PROBLEMATIQUE
1
0.2. INTERET DU SUJET
2
0.3. METHODOLOGIES
2
0.4. DELIMITATION DU TRAVAIL
2
0.5. SUBDIVISION DU TRAVAIL
2
CHAP.I. INTELLIGENCE ARTIFICIELLE [7], [10]
.................................................................................
4
I.1. INTRODUCTION
4
I.2. DEFINITIONS
4
I.3. AMBITIONS DE L'INTELLIGENCE ARTIFICIELLE
5
I.3.1. L'intelligence artificielle
forte..................................................................................................
5
I.3.2. L'intelligence artificielle
faible..........................................................................................
6
I.4. LES DOMAINES DE L'INTELLIGENCE
ARTIFICIELLE
6
I.5. LES PRINCIPAUX LANGAGES DE L'INTELLIGENCE
ARTIFICIELLE
8
I.6. AVANTAGES DE L'INTELLIGENCE ARTIFICIELLE
8
I.7. INCONVENIENTS DE L'INTELLIGENCE
ARTIFICIELLE
8
CHAP.II. LES SYSTEMES EXPERTS [1], [6], [7], [10],
[14]
...........................................................................
9
II.1. INTRODUCTION
9
II.2. DEFINITIONS
9
II. 3. LES APPORTS DES SYSTEMES EXPERTS
11
II.3.1. La gestion de
l'expertise...................................................................................
11
II.3.2. l'augmentation de la capacité de
l'expert ............................................................
11
II.3.3. la diffusion de la
connaissance.....................................................................
11
II.4. LES SORTES DE SYSTEMES EXPERTS
12
II.5. LES COMPOSANTS DE BASE D'UN SYSTEME
EXPERT
13
II.5.1. la Base de Connaissances (BC)
.............................................................................................
14
II.5.2. la Base des Faits (BF)
...........................................................................................................
14
II.5.3. Le Moteur
d'Inférence.................................................................................................................................
14
II.6. ARCHITECTURE D'UN SYSTEME EXPERT
15
II .6.1.Moteur
d'inférence.................................................................................................................................
16
II .6.2.Base de
connaissances.........................................................................................................
16
II .6.3.Module d'acquisition de
connaissances..............................................................................................................................
17
II .6.4.Interface utilisateur
...............................................................................................................
17
II .6.5.Module
explicatif...............................................................................................................
17
II.7. REPRESENTATION DES CONNAISSANCES
17
II.7.1. Faits
.............................................................................................................................................
18
II.7.2 Règles de
production............................................................................................................
19
II.7.3. Objets
structurés............................................................................................................
20
II.7.4. Réseaux
sémantiques.........................................................................................................
20
II.8. LES ACTEURS D'UN SYSTEME EXPERT
21
II.8.1.
L'Expert..............................................................................................................................
21
II.8.2. L'Ingénieur de la connaissance ou
cogniticien..................................................................
21
II.8.3. Les Développeurs
.................................................................................................................
22
II.8.4. Les Utilisateurs
.................................................................................................................
22
II.8.5. Les Managers
.................................................................................................................
22
II.9. NATURE DE SYSTEMES EXPERTS REALISABLES
22
II.10. ACQUISITION DES CONNAISSANCES
24
II.10.1. Processus d'acquisition des
connaissances
............................................................................
24
II.11. PROCESSUS DE RAISONNEMENT
28
CHAP.III.GENERALITES SUR
L'OPHTALMOLOGIE.................................................................................
34
III.1. INTRODUCTION
34
III.2. DEFINITION
34
III.3. OEIL
34
III.4. SYMPTOMES
36
III.4.1. LES SYMPTOMES
VISUELS............................................................................................
37
III.4.2. LES SYMPTOMES NON VISUELS
....................................................................................
37
III.5. EXAMEN OPHTALMOLOGIQUE
..............................................................................................
38
III.6. LES TROUBLES DE LA VISION
38
III.7. LES PATHOLOGIES DE L'OEIL
39
CHAP IV : CONCEPTION ET REALISATION DU
SYSTEME EXPERT SEDADOPTHA. [3], [4]
43
IV.1. STADES DE DEVELOPPEMENT
43
IV.1.1. Recensement des
acteurs.............................................................................
43
IV.1.2. Recensement des messages entre le
système et les acteurs ............................
44
IV.1.3. La spécification
initiale................................................................................
44
IV.1.4.Analyse.............................................................................................................
45
IV.1.4.1. Le modèle
d'interactions........................................................................
45
IV.1.4.1.1. Cas d'utilisation d'un système
expert................................................
46
IV.1.4.1.2. Diagramme de séquence pour
initialisation du système...............
47
IV.1.4.1.3. Diagramme d'activité pour
initialisation du système..............
47
IV.1.4.1.4. Diagramme de séquence mettre
à jour les connaissances............
48
IV.1.4.1.5. Diagramme d'activité pour mettre
à jour les connaissances...
49
IV.1.4.1.6. Diagramme de séquence pour
diagnostique de la maladie...........
51
IV.1.4.1.7. Diagramme d'activité pour
diagnostique de la maladie.................
52
IV.1.4.1.8. Diagramme de séquence pour la
prescription...........................
53
IV.1.4.1.9. Diagramme d'activité pour la
prescription.................................
53
IV.1.4.2. Diagramme de
classe..............................................................................
54
IV.1 .5. Conception de la base de connaissance
et du moteur d'inférence......
55
IV.1.5.1. Conception de la base de
connaissances............................................................
55
IV.1.5.1.1. Présentation de la base de
faits...........................................................................
55
IV.1.5.1.2. Présentation de la base de
règles..................................................................
57
IV.1.5.2. Conception du moteur
d'inférence
........................................................................
60
IV.1.5.2.1. Le
raisonnement...................................................................................................
60
IV.2. APPLICATION
63
IV.2.1.INTERFACES
.................................................................................................................
63
IV.2.2.
CODE.................................................................................................................
68
CONCLUSION.................................................................................................................
74
BIBLIOGRAPHIE
.................................................................................................................
75
TABLE DES
MATIERES.................................................................................................................
77
|