Knowledge Management - Gestion des Connaissances

Case Based Reasoning : Cas et Base de Cas

LAURENT Jean-Marc - Méthode OCSIMA Audit - Conseil - Développement - Formation

Case Based Reasoning (and Analogical Reasoning) Définition(s)Définition(s)

Case Based ReasoningCase Based Reasoning

Case Based Reasoning - Recensement d'une Base de CasRecensement des Cas


Case Based Reasoning - Cas et Base de Cas

II.1 Qu'est ce qu'un cas ?

Un cas est une représentation structurée d'une histoire (passée ou imaginée) composée de trois parties principales: les prémisses, le contexte et le développement avec sa conclusion.

Cette histoire doit bien sûr être lisible et affichable par la machine. De plus elle doit paraître intéressante pour l'utilisateur: d'une part elle doit lui permette d'apprendre quelque chose et d'autre part elle doit lui être présentée sous un format et une écriture qu'il comprenne et apprécie.

Le raisonnement basé sur les cas (RBC) est une technique de raisonnement utilisée principalement dans les domaines du contrôle de système (diagnostic/thérapie, surveillance, maintenance, ...), de la conception et de l'élaboration de plan. Les systèmes développés à partir de cette technique sont destinés à apporter une aide à l'utilisateur dans ces différents domaines.

Ces systèmes permettent également de capitaliser l'expertise d'une entreprise . Ils mettent à la disposition de toute personne habilitée l'expertise accumulée par cette entreprise.

Il faut noter également qu'un cas peut être la représentation d'une connaissance superficielle (par exemple le résultat d'une compilation d'autres connaissances) ou au contraire d'une connaissance profonde (il se peut par exemple que pour le domaine étudié ce soit le seul type de connaissance disponible: il n'existe aucun modèle mathématique, qualitatif, etc.).

II.2 Que doit-il contenir ?

La base de cas (BC) peut être considérée comme une bibliothèque dans laquelle il n'y aurait pas nécessairement de rangement ni de classement thématique ou autre. Les cas doivent donc inclure le moyen de les retrouver facilement. C'est la contrainte principale concernant la constitution d'un cas: il doit contenir des index.

Plus généralement un cas doit être composé au minimum des trois parties suivantes :

  • la description de la fonction à assumer, du problème à résoudre, ou du but à atteindre. C'est cette partie qui doit être enregistrée dans un format tel qu'elle serve d'index. Dans le cas de systèmes dédiés au diagnostic / thérapie au sens large, cette partie ne contient généralement que des symptômes, symptômes apparaissant lors de la présence du dysfonctionnement décrit par le cas. La fonction suivante est sous-entendue: "Agir sur le système (sous contrôle) de manière à faire disparaître la liste des symptômes décrits".
  • une prise en compte de l'état initial ou du contexte (dont le système RBC devra également vérifier la similitude avec la situation courante). Toujours dans le domaine du diagnostic, ce contexte permet de préciser les valeurs des paramètres extérieurs qu'il faudra vérifier. Appliqué au diagnostic médical il sera ainsi possible de décrire les antécédents ou le contexte familial, économique ou social. Concernant le domaine de la conception architecturale, cette partie permettra de prendre en compte différentes contraintes esthétiques, financières ou légales.
  • une proposition de solution qui devrait être applicable au problème rencontré. Ce champ peut également contenir une présentation des risques éventuels de cette solution, une prévision des obstacles pouvant survenir avant, après et/ou au cours de son application.

Il se peut aussi que le problème représenté par ce cas n'ait jamais été résolu de manière satisfaisante: il faut alors l'indiquer en précisant les actions qui ont été entreprises et les résultats obtenus jusqu'alors.

Puisque l'on accepte (et/ou que l'on est obligé d'accepter) qu'il n'y ait pas parfaite concordance entre le cas mémorisé et retrouvé par le système, et le problème courant à résoudre, il peut être nécessaire de modifier, d'adapter la solution, figurant dans le cas retrouvé à la situation courante. Cette adaptation peut être automatique lorsque l'on peut utiliser les techniques du raisonnement approximatif [KOS, 92] (ex.: utilisation d'inférences graduelles: plus .... plus ... [LAU, 90]) ou un ensemble de règles de production. Lorsque cette automaticité ne peut pas être atteinte, il est souhaitable d'inclure dans ce champ une aide pour guider l'utilisateur dans cette adaptation, gardant à l'esprit la complémentarité entre les capacités respectives de mémorisation de l'ordinateur et d'adaptation de l'être humain.

Pour les systèmes automatiques ou non interactifs, il est possible de limiter la composition des cas à ces trois parties, les cas étant indexés par la première partie ou fonction à assumer. Pour les systèmes interactifs d'aide à la décision, il est préférable d'adjoindre une quatrième partie narrative: l'explication destinée à l'utilisateur.

En effet la résolution de problème fondée sur le RBC n'inclut pas le déclenchement d'un enchaînement de règles de productions. La génération automatique d'une explication, par sélection intelligente des règles utilisées, est donc impossible. Cette explication, nécessaire si l'on veut préserver l'aspect formateur ou pédagogique, doit être incluse dans le cas.

D'autre part cette explication devrait être adaptable à la demande de l'utilisateur ou à son niveau d'expérience, et pouvoir consister soit en un simple rappel théorique ou pratique, soit en une description précise, complète et détaillée.

Contraintes sur le domaine et les index

L'histoire racontée par un cas décrit généralement la résolution d'un problème déjà rencontré. Pour que le système développé présente un intérêt, la première condition portant sur le domaine est que les problèmes, mis sous forme de cas et mémorisés, surviennent de nouveau.

Il faut également que le domaine présente une continuité dans le temps et l'espace. En effet deux problèmes similaires (par exemple un ancien et un nouveau problème) doivent accepter pour solutions des solutions similaires.

Ce sont les index qui doivent permettre une mesure fiable de la similitude entre cas. Ces index ne doivent ni être trop stricts (le "matching" ne sera que rarement obtenu) ni au contraire trop abstraits (ils représentent alors une contrainte de similitude trop lâche).

Un exemple d'étude de constitution des cas

Strube & al [STR, 95] ont mené une étude intéressante permettant la compréhension de la composition des cas dans le domaine de la conception architecturale, étude résumée ci-après.

Strube & al ont demandé à deux groupes d'architectes de concevoir un centre de conférences. Le premier groupe (practioner group), appartenant à un cabinet d'architectes, était constitué de deux architectes qui possédaient une expérience de plusieurs dizaines d'années dans la conception de maisons et de bâtiments, et d'un plus jeune architecte moins expérimenté. Le deuxième groupe (academic group) était constitué quant à lui de trois architectes universitaires dont la principale expérience était plus théorique que pratique, et orientée vers la conception assistée par ordinateurs.

Par observation des étapes et des techniques étudiées par les deux groupes, Strube & al ont abouti au tableau de résultats suivants :

Input category

Practioner group

Academic group

examples

2

18

cases

16

0

schemata

20

14

scripts

20

16

rules

11

12

norms

10

20

principles

7

29

requirements

40

67

prior results

53

99

Dans ce tableau, examples signifie solutions d'autres personnes (ex. catalogues), cases sont des solutions imaginées antérieurement par les mêmes architectes, schemata sont des structures de cas général, qui représentent une connaissance abstraite et complexe, scripts sont des schemata représentant une connaissance de séquences d'actions et stratégies, rules sont des prescriptions abstraites et indépendantes du contexte, norms réfèrent aux lois, standards, ou prescriptions administratives, principles désignent des valeurs personnelles, des standards et des principes d'esthétisme, requirements sont les demandes figurant dans le cahier des charges, prior results sont des solutions d'étapes de travail précédentes.

Leur conclusion est la suivante: "We may conclude that cases do not have the significance which CBR theory suggests. Compared to other kinds of input they are used rather infrequently and mostly in connection with schemata and norms. However, even a single case may be used extensively, and guide much of the design process."

On peut tout de suite remarquer concernant cette conclusion que si les deux groupes avaient eu à leur disposition un système RBC, particulièrement le groupe d'académiciens, le nombre d'appels à ce type d'aide aurait été certainement beaucoup plus important.

Mais on peut surtout déduire de ce tableau que, dans ce domaine de la conception, plus synthétique qu'analytique, certains cas doivent contenir des connaissances abstraites pour répondre aux utilisations de schemata, rules, norms et principles, et d'autres des propositions de startegies.

II.3 Quelle doit être sa taille ?

La troisième question évoquée à laquelle il est relativement aisé d'apporter une réponse concerne la taille que doit avoir un cas.

Un cas doit représenter un sous problème auquel l'utilisateur est typiquement confronté. Par exemple dans le domaine de la conception de bâtiments, si le cas représente tout le bâtiment, sa réutilisabilité et son intérêt seront beaucoup plus faibles que si le bâtiment est décomposé en l'ensemble de ses parties et de ses fonctions.

Une réponse pertinente à cette question proposée entre autres par Kolodner [KOL, 93] consiste à attribuer au cas la taille d'une leçon, concernant le domaine, telle que celle-ci soit aisée à enseigner et à apprendre.

II.4 Comment Collecter un Cas ?

Qu'est-ce qu'un bon cas ?

En effet il faut commencer par déterminer ce que peut être un "bon cas" avant de chercher comment le collecter. Un bon cas est un cas qui satisfait aux deux conditions suivantes :

  • être retrouvé par le système RBC quand il correspond au problème posé par l'utilisateur, et uniquement à ce moment là;
  • proposer la meilleure solution possible à ce problème.

Ces conditions correspondent en fait aux activités de test habituelles du génie logiciel (remarque: c'est le premier parallélisme entre l'activité de recensement d'une base de cas et les activités du génie logiciel) :

  • validation : le cas sélectionné est-il le cas correct ? (le système répond-il aux spécifications de l'utilisateur ?);
  • vérification : le cas est-il correct ? (le système répond-il correctement ?)

Ces tests peuvent être effectués en faisant entrer par l'expert des symptômes simulés, en lui présentant les résultats, en lui demandant d'étudier les réactions d'un utilisateur non expert placé devant la même situation, et en lui demandant de certifier le cas, ou de le modifier.

Comment le Collecter ?

Un cas peut être obtenu par extraction et structuration de données déjà enregistrées sous une autre forme, et/ou le plus souvent par dialogue avec l'expert (les techniques d’interview sont rappelées au paragraphe suivant).

Il peut être intéressant d’interviewer plusieurs experts, en même temps ou successivement, mais on risque de se retrouver face à des désaccords entre experts, désaccords concernant généralement une interprétation de symptômes ou de contexte, et désaccords qu'il faudra résoudre (ex.: utilisation des techniques de raisonnement approximatif pour tenter de remédier aux différences d'interprétation, nomination de l'expert "final", etc.).


Case Based Reasoning (and Analogical Reasoning) Définition(s)Définition(s)

Case Based ReasoningCase Based Reasoning

Case Based Reasoning - Recensement d'une Base de CasRecensement des Cas


LAURENT Jean-Marc - Consultant Gestion des Connaissances - OCSIMA Conseil Knowledge Management

Dernière révision janvier 06

Plan du site OCSIMA

Pour nous écrire, cliquez ici :