• Aucun résultat trouvé

Matériel et méthode

4. Génération des règles

Nous allons présenter dans cette section comment obtenir les règles à partir des struc- tures obtenues dans la section précédente.

4.1. Règles Si ... alors

Toutes les prémisses des règles si ... alors peuvent être obtenues en calculant tous les sur ensembles de chaque MaxSubset stocké dans la liste LM A de l’algorithme 2. Puisque toute condition d’une règle doit toujours contenir un MaxSubset, les règles à produire seront de la forme ∧imi=⇒ y où miest un MaxSubset du neurone étiquetté y.

4.2. Règles MofN

Algorithm 1 Recherche des MaxSubsets et des générateurs

Entrées: Un neurone donné, ses poids de connexion en entrée et son seuil d’activation. Sorties: Liste des MaxSubsets LM A et celle des générateurs LGA extraits de ce neu-

rone.

1: Rendre positives les connexions entrantes au neurone.

2: Trier les connexions par ordre décroissant.

3: Calculer Kmin et Kmax.

4: Initialiser V comme suit : Vi= 1 si i ≤ kmin et 0 sinon.

5: LGA ← {V } ;

6: répéter

7: Si (next(V )) n’est pas valide alors LGA ← LGA ∪ {vect}

8: V ← next(V ) ; LM A ← LM A ∪ {V }

9: jusqu’à V ne soit plus valide

10: LGA0 ← LGA

11: Tant que LGA0 6= {} faire

12: V ← le premier élément de LGA0et le supprimer de LGA0

13: V ← new_next(V ) ;

14: répéter

15: LM A ← LM A ∪ {V } ;

16: Si (next(V ) n’est pas valide LGA ← LGA ∪ {V } ; LGA0 ← LGA0∪ {V }

17: V ← next(vect)

18: jusqu’à V ne soit plus valide

19: Fin tant que

Soit L un ensemble de vecteurs bianires, V0 est le minimum de L s’il n’existe pas un élément de V ∈ L tel que V = nexti(V0) pour i ∈ [1, n].

L’algorithme regroupe les générateurs tels que chaque groupe soit formé des généra- teurs ayant la même cardinalité (même nombre de positions ayant le valeur 1). Aucun traitement n’est réalisé ici car dans l’algorithme 2, la liste des générateurs LGA est géné- rée de telle sorte que les générateurs soient classés par ordre croissant de cardinalité.

Soit V un MaxSubset et G un générateur tel qu’il existe une séquence V1, V2, ...,

Vk et V1 = next(V ), V2 = next(V1), ..., Vk = next(Vk−1) et G = Vk. G est le

minimum de la relation  définie sur V , V1, ...,Vk−1, G. Pour obtenir V à partir de la

liste des générateurs, il nous faut identifier le vecteur G et utiliser la fonction inverse de next() (next−1(V ) = V + el−1− el), nous trouvons V par la composition de fonctions

next−1() o next−1() o...o next−1().

Plus généralement la séquence V , V1, V2, ..., Vk, G dans la liste des MaxSubsets est

représentée par G dans la liste des générateurs.

Cette proposition permet de gagner en mémoire en stockant la liste des générateurs au lieu de celle des MaxSubsets.

Pour obtenir les règles MofN nous utilisons la liste des générateurs LGA. Pour trans- former la liste des générateurs en règles MofN, nous procèdons de la manière suivante :

1) Regrouper les générateurs tel que chaque groupe contient les générateurs ayant la même cardinalité (même nombre de positions à 1).

La liste des générateurs LGA obtenue de l’algorithme 2 est telle que les générateurs sont ordonnés par ordre de cardinalité. Pour transformer un générateur en règles MofN, nous procèdons par :

Etant donné un vecteur booléen V représentant un générateur, il existe les entiers posi- tifs k10, k100, k02, k200, ..., k0p, kp00avec ki0≤ k00i et k0i+1≥ ki0+ 2 tel que V =

P

i∈[k10,k001] ei+ ...+P

i∈[k0p,k00p] ei. La règle r associée à V est : r = m1of V1∧ m2of V2∧...∧ mpof Vp

où mi= k00i − k0i+ 1 et Vi= {vki00−1, ..., vki, vk0i+1, ..., vk00i} avec V1= {v1, ..., vk001} ob-

tenus du tri des connexions.

L’espace de recherche des MaxSubsets étant limité aux sous ensembles dont la cardi- nalité est compris entre kmin et kmax, le nombre de candidats (sous ensembles) dans cette portie du treillis est limité et fini ; ceci permet de concluire que l’algorithme se termine toujours. En outre, chaque MaxSubset est capable d’activer le neurone à partir duquel il a été extrait, et par conséquent tous ses sur ensembles. A partir des MaxSubsets, on peut extraire tous les prémisses (des règles) capables de produire la valeur 1 pour le neurone considéré.

4.3. Expression des sorties en fonction des entrées

Les MaxSubsets et les MinSubsets obtenus précédemment ne concernent qu’un neu- rone individuel. Pour exprimer les sorties du réseau en fonction de ses entrées, nous pro- posons l’algorithme 2.

Algorithm 2 Expression des sorties

Entrées: Forme normale disjonctive de règle décrivant un neurone de sortie y. Sorties: Expression de y en fonction des entrées du RNA.

1: Tant que ∃x, non variable d’entrée dans l’expression de y faire

2: Remplacer x par LM A(x) si x est présenté dans l’expression de y sous forme directe et par LM I(x) s’il est présenté sous forme indirecte ;

3: Fin tant que

Avec LM I la liste des MinSubsets.

5. Expérimentations

Cette approche a été testée sur les données ’monks’ disponibles sur le repertoire ICU1. Ces données comportent trois versions (monks1, monks2 et monks3) comportant chacune 432 exemples. Chaque exemple est décrit par 15 attributs. Les réseaux de neurones utilisés pour classer ces données ont construits avec l’outil Weka et étaient formés de trois couches (15 neurones en entrée, 9 neurones cachés et 2 neurones en sortie). Nous avons alors extrait à l’aide de cette nouvelle approche extraire les règles des différents RNA obtenus par Weka sur ces trois jeux de données.

Le tableau 1 présente les statistiques obtenues de ces règles. Les lignes ’MaxSubsets’ ([minimum, maximum]), ’MinSubsets’ ([minimum, maximum]) et ’Temps’ présentent respectivement le nombre de MaxSubsets, le nombre de MinSubsets obtenus des diffé- rents RNA construits pour classer les données et du temps total d’extraction de toutes les règles.

Monsk1 Monsk2 Monsk3 MaxSubsets [10,13883] [255,7000] [9,6040] LGA [3,6644] [3,4137] [2,11174] MinSubsets [5,5031] [28,18766] [9,2057] LGI [2,435] [1,5448] [2,3877] Temps (min) 16,33 25,86 36,89

Tableau 1. Variation du nombre de MaxSubsets et de MinSubsets.

Notons que la variabilité du nombre de MaxSubsets et MinSubsets est justifiée par la distribution des poids de connexion du neurone à partir duquel ces structures sont ex- traites. De plus, le nombre élevé de LMI (respectivement LMA) par rapport au nombre de LGI (respectivement LGA) se justifie dans le faite que le nombre de règles si...alors sera toujours supérieur au nombre de règles MofN.

6. Conclusion

En somme, nous avons proposé dans ce papier une nouvelle approche décomposition- nelle qui construit deux structures appelées "MaxSubsets" et "MinSubsets", qui permet d’extraire des deux formes de règles couramment présentées dans la littérature (si ... alors et MofN). Et à partir de ces structures, nous avons montré comment obtenir différentes formes de règles.

Dans la suite, nous allons étudier l’équivalence entre les règles si ... alors et les règles MofN. Une étude de l’application des méthodes de prétraitement utilisés pas les algo- rithmes existants sera aussi faite afin de définir dans quelles conditions les utiliser. Une implémentation de cette approche est également en cours, son expérimentation sur des données disponibles sur internet permettra de bien l’évaluer.

7. Bibliographie

[1] R. Andrews, J. Diederich, A. Tickle. Survey and critique of techniques for extracting rules from trained artificial neural networks, Knowledg-Based system 8(6),373-389 1995

[2] S. Bader, S. Holldobler, V. Mayer-Eichberger. Extracting Propositional Rules from Feed- forward Neural Networks - A New Decompositional Approach, IJCAI-07 Workshop on Neural- Symbolic Learning and Reasoning, NeSy’07. CEUR workshop.2007.

[3] Y. Bennani. Apprentissage Connexionniste, Ed. Hermès Sc., ISBN : 2-7462-1337-0 2006. [4] H. Kahramanli, N. allahverdi. Rule extraction from adaptive neural networks using artificial

immune systems. Expert Systems with Applications 36 1513-1522, 2009.

[5] N. Tsopzé, E. Mephu Nguifo, G. Tindo, Towards a generalization of decompositional approach of rule extraction from multilayer artificial neural network, In the proc. of the IJCNN, IEEE Press, p. 1562-1569, 2011.

SENEGAL

asom@ept.sn, aguisse@ept.sn, oniang@ept.sn

RÉSUMÉ. Dans cet article nous présentons l’architecture d’un moteur de recherche sémantique per-

mettant d’assister un médecin généraliste à réaliser son diagnostic médical devant son patient. L’ob- jectif est de considérer les informations du patient dont dispose le médecin afin de reconstituer un questionnaire qui est soumis en entrée au moteur. Celui-ci, à travers un système d’interrogation défini avec les technologies du Web sémantique, récupère dans une base de connaissances la liste des diagnostics médicaux pertinents. Cette base est composée d’une ontologie médicale et d’une base de cas qui répertorie tous les diagnostics antérieurement réussis.

ABSTRACT. In this paper we present the architecture of one semantic search engine to assist doctor

to find a relevant diagnosis when he meets his patient. Our objective is to consider patient’s informa- tions available at the doctor in order to reconstruct a medical form. This last will be submitted to the engine that integrates an interrogation system defined with semantic web technologies and recovers into one knowledge base the relevant medical diagnostics. This knowledge base is composed of one medical ontology and of one cases base containing all the previously successful diagnostics.

MOTS-CLÉS : Diagnostic Médical, Ingénierie des Connaissances, Moteur Sémantique, Web Séman-

tique, Ontologies, RàPC

KEYWORDS : Medical Diagnosis, Knowledge Engineering, Semantic Engine, Semantic Web, On-

1. Introduction

Le diagnostic médical [11] décrit le commencement de l’activité du médecin général- iste devant son patient. Un diagnostic suppose le recueil des données cliniques pertinentes sur un patient par l’interrogatoire et l’examen, la sélection et la mise en ordre des symp- tômes pour évoquer des hypothèses pouvant renvoyer à plusieurs diagnostics potentiels. Ce sont les connaissances du médecin et son expérience qui permettent de trancher et de valider un diagnostic fiable. Et cette tâche peut s’avérer tout de suite improbable pour le médecin notamment lors que cela nécessite de recourir à des informations dont il ne dispose pas, surtout avec l’évolution rapide des connaissances médicales à l’échelle inter- nationale.

Dans cette optique, nous nous intéressons ici à la mise en place d’un système d’in- formations1 d’aide à la décision pour assister le médecin. Globalement, le but est de lui permettre d’avoir accès rapidement à des connaissances médicales partagées par plusieurs médecins mais aussi de lui offrir la possibilité de partager ses propres expériences.

Dans cet article, nous présentons l’architecture d’un moteur de recherche sémantique permettant de réaliser le diagnostic médical d’un patient. L’objectif est de considérer les informations du patient dont dispose le médecin afin de reconstituer un questionnaire qui est soumis en entrée au moteur. Celui-ci, à travers un système d’interrogation défini avec les technologies du Web sémantique, récupère dans une base de connaissances la liste des diagnostics médicaux pertinents. Cette base est composée d’une ontologie qui décrit un vocabulaire médical partagé (ou commun), et d’une base de cas qui répertorie tous les diagnostics antérieurement réussis.

Dans la section 2 de cet article, nous allons donner un aperçu global du processus d’aide au diagnostic. Ensuite, dans les sections 3 et 4, nous décrivons respectivement, le processus de construction de la base de connaissances qui est interrogée par le moteur, et celui du questionnaire à partir duquel sont définies les requêtes en entrée de ce moteur. Et enfin, dans la section 5, nous présentons le modèle de données sur lequel repose le moteur, et la liste de ses fonctionnalités, avant de conclure dans la section 6.