14-16 rue Voltaire 94270 Kremlin Bicêtre Benjamin DEVÈZE Matthieu FOUQUIN PROMOTION 2005 SCIA CASE-BASED REASONING Juin 2004 Responsable de spécialité SCIA : M. Akli Adjaoute
Table des matières Table des matières 1 Introduction 1 2 État de l art 2 2.1 Commentaires liminaires.................................... 3 2.2 Bref historique.......................................... 3 2.3 Les différents modes de raisonnement............................ 4 2.3.1 Raisonnement à partir d exemples.......................... 4 2.3.2 Raisonnement à partir de la mémoire........................ 4 2.3.3 Raisonnement à partir de cas............................. 4 2.3.4 Raisonnement par analogie.............................. 4 2.4 Description générale d un CBR................................ 5 2.4.1 Principes généraux................................... 5 2.4.2 Avantages........................................ 5 2.4.3 Composantes d un système à base de cas...................... 6 2.5 Connaissances.......................................... 9 2.6 Représentation des cas..................................... 9 2.6.1 Le modèle à mémoire dynamique.......................... 9 2.6.2 Le modèle de catégories et exemples......................... 11 2.7 Construction........................................... 12 2.8 Recherche de cas........................................ 12 2.8.1 Identification de caractéristiques........................... 12 2.8.2 Recherche initiale.................................... 12 2.8.3 Sélection......................................... 13 2.9 Réutilisation de cas (Adaptation)............................... 13 2.9.1 Copie........................................... 14 2.9.2 Adaptation....................................... 14 2.10 Maintenance........................................... 14 2.11 Révision de cas......................................... 14 2.11.1 Évaluation des solutions................................ 14 2.11.2 Réparation des erreurs................................. 15 2.12 Apprentissage.......................................... 15 2.12.1 Extraction........................................ 15 2.12.2 Indexation........................................ 15 2.12.3 Intégration........................................ 16 2.13 Modèles CBR.......................................... 16 2.13.1 Modèle structurel.................................... 16 2.13.2 Modèle conversationnel................................ 17 2.13.3 Modèle textuel..................................... 18 2.14 Couplage d autres technologies et du CBR.......................... 19 2.15 Perspectives........................................... 19 3 Solutions industrielles existantes et applications 20 Case-Based Reasoning Page i
Table des matières 4 Apports du datamining au CBR 21 4.1 Nettoyage des données..................................... 21 4.2 Intégration du contexte..................................... 21 4.3 Recherche des éléments importants.............................. 22 4.4 Maintenance et amélioration du choix des classes..................... 22 5 Adaptation et généralisation 23 6 La similarité, la dissimilarité 25 6.1 Abolute Similarity........................................ 25 6.2 Relative Similarity........................................ 25 6.3 Metric Similarity........................................ 25 7 Méthode de calcul de similarité floue 27 8 Création de cas génériques par type de classe 28 9 Conclusion 29 Bibliographie 30 Case-Based Reasoning Page ii
Table des figures Table des figures 2.1 Modèle générique d un système CBR............................. 6 2.2 Cycle du CBR.......................................... 7 2.3 Décomposition du CBR par hiérarchie de tâches...................... 8 2.4 Structure des cas et des GE................................... 10 2.5 Structure du modèle de catégories.............................. 11 2.6 Exemple de structuration d un cas en CBR structurel................... 16 2.7 Exemple de cas pour le modèle conversationnel...................... 17 7.1 Illustration du principe..................................... 27 Case-Based Reasoning Page iii
Chapitre 1. Introduction Chapitre 1 Introduction Le raisonnement à base de cas (que, par un petit abus de langage, nous abrègerons CBR 1 durant la suite du rapport) diffère à bien des égards des autres approches de l intelligence artificielle. Au lieu d exploiter la connaissance générale d un domaine, le CBR vise à utiliser la connaissance spécifique et pragmatique des problèmes précédemment expérimentés (les cas). Un nouveau problème est résolu en trouvant un cas passé semblable et en le réutilisant dans la nouvelle situation. Le CBR est, de plus, une approche progressive, évolutive puisqu une nouvelle expérience est conservée chaque fois qu un problème a été résolu, la rendant immédiatement disponible pour des problèmes futurs. Le raisonnement à partir de cas est un processus qui semble très naturel et il est bien évidemment souvent employé pour résoudre des problèmes de la vie courante. On peut ici faire deux observations qui, bien qu évidentes, légitiment l utilisation du CBR : - Les problèmes similaires ont des solutions similaires - On se retrouve souvent face à un problème que l on à déjà rencontré. L étude de CBR est conduite par deux motivations principales : la première, venant des sciences cognitives, trouve sa source dans le désir de copier le raisonnement humain et la deuxième, venant de l intelligence artificielle, vise à développer des techniques d IA et de raisonnement plus efficaces. Durant ces dernières années, le CBR a pris beaucoup d importance passant de domaine de recherche spécifique et isolé, à un secteur d intérêt de tout premier plan. Cette activité croissante autour du CBR et des domaines s y rattachant se traduit par un nombre important d articles et de conférences sur le sujet, par des développements d outils commerciaux prometteurs ainsi que par un usage quotidien de telles applications. Nous dresserons un état de l art relativement précis du domaine. Cela nous conduira à évoquer l histoire du CBR, ses grands principes, ses domaines d applications, les solutions industrielles existantes, l état actuel des connaissances, les grands problèmes qui se posent, les recherches en cours et enfin les grandes perspectives d évolution. Nous verrons ensuite ce que peuvent apporter au CBR d autres technologies classiques de l informatique avancée (Datamining, Systèmes Experts...). Nous traiterons également de sujets aussi divers que la généralisation, la similarité, la différenciation entre tendance et bruit, la création de cas générique... Ces thèmes se trouvent en effet au centre de tout système de CBR se voulant utilisable et performant dans le monde industriel. Nous tenterons d agrémenter le plus possible ce rapport d observations et de réflexions personnelles pertinentes... 1 Case-Based Reasoning Case-Based Reasoning Page 1
Chapitre 2 État de l art Sommaire 2.1 Commentaires liminaires................................... 3 2.2 Bref historique......................................... 3 2.3 Les différents modes de raisonnement........................... 4 2.3.1 Raisonnement à partir d exemples.......................... 4 2.3.2 Raisonnement à partir de la mémoire........................ 4 2.3.3 Raisonnement à partir de cas............................. 4 2.3.4 Raisonnement par analogie.............................. 4 2.4 Description générale d un CBR............................... 5 2.4.1 Principes généraux................................... 5 2.4.2 Avantages........................................ 5 2.4.3 Composantes d un système à base de cas...................... 6 2.5 Connaissances......................................... 9 2.6 Représentation des cas..................................... 9 2.6.1 Le modèle à mémoire dynamique.......................... 9 2.6.2 Le modèle de catégories et exemples......................... 11 2.7 Construction........................................... 12 2.8 Recherche de cas........................................ 12 2.8.1 Identification de caractéristiques........................... 12 2.8.2 Recherche initiale.................................... 12 2.8.3 Sélection......................................... 13 2.9 Réutilisation de cas (Adaptation).............................. 13 2.9.1 Copie........................................... 14 2.9.2 Adaptation....................................... 14 2.10 Maintenance........................................... 14 2.11 Révision de cas......................................... 14 2.11.1 Évaluation des solutions................................ 14 2.11.2 Réparation des erreurs................................. 15 2.12 Apprentissage.......................................... 15 2.12.1 Extraction........................................ 15 2.12.2 Indexation........................................ 15 2.12.3 Intégration........................................ 16 2.13 Modèles CBR.......................................... 16 2.13.1 Modèle structurel.................................... 16 2.13.2 Modèle conversationnel................................ 17 2.13.3 Modèle textuel..................................... 18 2.14 Couplage d autres technologies et du CBR......................... 19 2.15 Perspectives........................................... 19 Case-Based Reasoning Page 2
2.1 Commentaires liminaires Cette partie a pour objectif de faire comprendre l utilité et le fonctionnement général des systèmes de raisonnement à base de cas. Après un bref historique, nous aborderons les grands principes des systèmes de CBR, ce qui nous permettra d appréhender les grands problèmes qui se posent dans le domaine et les techniques actuelles cherchant à y répondre. Il faudra ici s attarder sur ce qui fait tout le coeur du CBR à savoir les modes de représentation de la connaissance, l indexation, le stockage, la recherche de cas similaires à un problème donné, la réutilisation de cas, la révision de cas, les modes d apprentissage... Dans notre voyage dans le monde du CBR, nous ferons également un petit détour pour exposer les avantages que l on peut avoir à coupler certaines technologies de l IA avec les systèmes à base de CBR. Forts de ces connaissances, nous pourrons extrapoler sur les perspectives possibles de la recherche et les évolutions attendus des systèmes à base de CBR. 2.2 Bref historique Les origines du CBR en IA se situent dans les travaux de Roger Schank 1. Ces travaux ont mené à la théorie de la mémoire dynamique selon laquelle les processus cognitifs de compréhension, de mémorisation et d apprentissage utilisent une même structure de mémoire. Cette structure, les memory organization packets (MOP), est représentée à l aide de schémas de représentation de connaissance tels que des graphes conceptuels et des scripts. D autres avancées dans le domaine du CBR sont venues des études de Gentner 2 portant sur le raisonnement par analogies, ainsi que plus tôt, des études sur la formation des concepts, sur la résolution de problèmes ou encore sur l apprentissage par l expérience de Wittgenstein (1953), Tulving (1972), Smith (1981). Par exemple, Wittgenstein a observé que les concepts naturels 3 comme un oiseau, une chaise, une orange, une voiture, etc. sont polymorphes. C est à dire que leurs instances peuvent être classifiées de différentes façons, et qu il n est pas possible d en donner une définition classique, en terme d un ensemble de caractéristiques nécessaires et suffisantes. Une réponse à ce problème est de représenter un concept de manière extensive, en le définissant par l ensemble de ses instances, ou cas. L un des premiers systèmes, pouvant prendre l appellation de CBR, pourrait être CYRUS. CYRUS a été développé par Janet Kolodner (1983), à l université de Yale. CYRUS était basé sur le modèle de mémoire dynamique de Schank et sur sa théorie de résolution de problèmes et d apprentissage. Il s agissait d un système de question-réponses doté de connaissances sur les différents voyages et rendez-vous d un ancien secrétaire d état américain Cyrus Vance. Le modèle de mémoire qui fut développé pour ce système a servi de base pour un certain nombre d autres systèmes de CBR 4. Une autre base pour le CBR, et un autre ensemble de modèles, fut développé par Bruce Porter et son groupe à l université du Texas. Ils se sont d abord attaqués au problème d apprentissage de concepts par la machine pour des tâches de classification. Cela mena au développement de PRO- TOS (1989), qui vise à proposer une structure de représentation unifiée intégrant des connaissances générales d un domaine et des cas spécifiques. Cette combinaison fut poussée plus loin par GREBE (1991), une application pour le domaine juridique. Une autre contribution significative au CBR se trouve dans le travail de Edwina Rissland et son groupe du MIT. Avec quelques juristes, ils se sont en effet intéressé au rôle des précédents dans le raisonnement juridique. Les cas ne sont pas utilisés ici pour produire une simple réponse, mais pour interpréter une situation et proposer des arguments 1 Vers 1982 2 1983 3 les concepts qui font parti du monde de la nature 4 MEDIATOR (1985), PERSUADER (1988), CHEF (1989), JULIA (1992), CASEY (1989) Case-Based Reasoning Page 3
pour chacun des parties. Cela aboutit à la création du système HYPO (1990) et CABARET (1992). Phyllis Koton (MIT) étudia l utilité du CBR dans l optimisation des performances d un système à base de connaissances existant portant sur un domaine décrit par un vaste modèle causal. Ces recherches se concrétisèrent dans le système CASEY (1989). En Europe, la recherche sur le CBR commença un peu plus tard qu aux USA. Cependant le travail sur le CBR semble y avoir été plus fortement combiné avec les recherches portant sur les systèmes experts ou encore sur l acquisition de connaissances. Parmi les premiers résultats, on trouve le travail de Michael Richter et Klaus Dieter Althoff portant sur un CBR pour les diagnostics techniques complexes qui se concrétisa dans le système MOLTKE (1989). Cela mena au système PATDEX (Richter 1991). En 1990 Enric Plaza et Ramon Lopez de Mantaras développèrent un CBR pour les diagnostics médicaux. Agnar Aamodt et ses collègues s intéressèrent à l aspect apprentissage du CBR dans le contexte de l acquisition de connaissances en général et de la maintenance du savoir en général. Du côté des sciences cognitives, Mark Keane travailla sur le raisonnement par analogies. Les activités autour du CBR se développent que ce soit en Europe ou aux USA. L Allemagne joue d ailleurs un rôle de premier plan dans le domaine, ainsi que l Asie. Au début de la dernière décennie, on a assisté à un regain de popularité du domaine et de nouvelles tendances qui misent sur la simplification de la représentation des cas et sur des applications à plus grande échelle. Le CBR se révèle alors une préciseuse technique pour la mise en oeuvre d applications commerciales pour différentes tâches telles que la résolution de problèmes (ex : diagnotic, planification, design), les systèmes d aide à la décision, les help desk et la gestion de connaissances. Ceci en fait l une des techniques de l intelligence artificielle les plus largement répandues actuellement. 2.3 Les différents modes de raisonnement Le CBR fait parti d un ensemble de processus de résolution qu il est important de différencier. Il faut également constater que, loin d être cloisonnés, ces modes de raisonnement se chevauchent, on trouve ainsi par exemple des raisonnements à partir de cas qui utilisent une structure d exemples... 2.3.1 Raisonnement à partir d exemples Les concepts y sont définis comme une classe d exemples. La résolution d un problème (donc d un exemple non classifié) se résume donc à la recherche de la classe qui correspond le mieux à l exemple. L ensemble des solutions contenues dans cette classe représente la solution pour l exemple donné. Dans cette représentation, les solutions ne sont pas modifi ées en fonction des données. 2.3.2 Raisonnement à partir de la mémoire Les cas sont stockées sous forme de mémoire et les méthodes de recherche et d accès lui sont propre. La parallélisation de ces processus est la caractéristique principale de ce type de raisonnement. L accès aux données peut être fait de manière syntaxique ou par des raisonnements plus complexes. 2.3.3 Raisonnement à partir de cas Il diffère tout d abord des autres types de raisonnement de part la nature des informations stockées. Celles-ci se doivent d être suffisamment riches et complexes tout en étant en accord avec l organisation interne des cas. Ensuite, les solutions proposées peuvent être modifiées et adaptées au problème donné. Bon nombre de ces systèmes utilisent des données de la psychologie cognitive. 2.3.4 Raisonnement par analogie Il est très proche du CBR, mais il est caractérisé par la volonté de faire des analogies entre les différents cas. Il permet par exemple de ne pas tenir compte du domaine auquel appartient le Case-Based Reasoning Page 4
problème. Il est donc orienté vers le problème de la représentation des cas et les moyens de faire ces analogies (corrélations et transferts). 2.4 Description générale d un CBR 2.4.1 Principes généraux Le raisonnement à base de cas est une approche de résolution de problèmes qui utilise des expériences passées pour résoudre de nouveaux problèmes. L ensemble des expériences forme une base de cas. Typiquement un cas contient au moins deux parties : une description de situation représentant un problème et une solution utilisée pour remédier à cette situation. Parfois, le cas décrit également les conséquences résultant de l application de la solution (ex : succès ou échec). Les techniques CBR permettent de produire de nouvelles solutions en extrapolant sur les situations similaires au problème à résoudre. Cette approche est adéquate pour les domaines où la similarité entre les descriptions de problèmes nous donne une indication de l utilité des solutions antécédentes. Comme nous l avons dit le CBR est un mode de résolution de problèmes qui est relativement différent des autres approches d IA. Au lieu de se reposer seulement sur des connaissances générales d un domaine, ou de faire des associations générales entre descriptions du problème et conclusions, le CBR est capable d utiliser les connaissances spécifiques d expériences précédentes, les cas. Illustrons ces principes généraux par quelques exemples : Un médecin après avoir examiné un patient se souvient d un autre patient qu il a traité deux semaines plus tôt. Ce souvenir est causé par une similarité importante entre les symptômes des deux patients, le médecin utilise le diagnotic et le traitement du patient préc dent pour déterminer le cas du nouveau patient. Un chimiste, qui a été confronté à deux explosions dramatiques, se rappelle soudain de l une de ces situations lorsque les conditions d une expérience sont semblables à celles qui avaient provoqué les explosions. Il utilise alors son expérience d un cas passé pour éviter de provoquer un nouvel incident. etc. Comme en témoigne ces exemples, raisonner en réutilisant des cas passés est un moyen puissant utilisé fréquemment pour résoudre des problèmes. Ceci est confirmé par des expériences de psychologie et de sciences cognitives. Il est également avéré que les experts procèdent de même. Des études sur le raisonnement par analogie montrent également l utilisation fréquente des expériences passées pour la résolution de problèmes nouveaux et différents. Ceci offre une assise théorique au CBR. Comme nous l avons déjà évoqué, dans la terminologie du CBR un cas dénote un problème. Une situation précédemment expérimenté, qui a été enregistrée, apprise de façon à être réutilisée pour résoudre un problème futur, est un cas passé. Un nouveau cas ou cas non résolu consiste en la description d un nouveau problème à résoudre. Notons que le terme résolution de problème est utilisé ici dans une acception large. Il ne s agit pas nécessairement de trouver la solution concrète d un problème. Il peut également s agir de critiquer, justifier une solution proposée, d interpréter une situation, de générer un ensemble de solutions possibles... 2.4.2 Avantages L approche CBR offre de nombreux avantages. Pour certaines applications, la démarche CBR est plus simple à mettre en oeuvre que celles basées sur un modèle du domaine (ex : base de règles) ; elle permet d éviter les problèmes d acquisition de connaissance (knowledge bottleneck) qui rendent difficile la conception de bases de connaissances de taille importante. Le CBR est particulièrement bien adapté aux applications dont la tâche est accomplie par des humains expérimentés dans leur Case-Based Reasoning Page 5
domaine et dont les expériences sont disponibles dans une base de données, dans des documents ou chez un expert humain. On l utilise pour les domaines n exigeant pas de solution optimale et dont les principes sont mal formalisés ou peu éprouvés. 2.4.3 Composantes d un système à base de cas Un système CBR est une combinaison de processus et de connaissances (knowledge containers) qui permettent de préserver et d exploiter les expériences passées. Pour simplifier notre présentation, nous nous appuyons sur le modèle générique présenté ci-après : FIG. 2.1 Modèle générique d un système CBR On y note comme principaux processus la recherche (retrieval), l adaptation (reuse), la maintenance (retain) et la construction (authoring) et comme structures de connaissances le vocabulaire d indexation, la base de cas, les métriques de similarité et les connaissances d adaptation. Nous pouvons également illustrer nos propos par un modèle sous forme de cycle : Case-Based Reasoning Page 6
FIG. 2.2 Cycle du CBR Nous ne commenterons pas plus la figure ci-dessus car elle est proche de ce qui a déjà été dit. Toutefois remarquons que la connaissance générale joue un rôle dans le cycle. Ce rôle est plus ou moins important selon le domaine. Cette connaissance générale doit être entendue par une connaissance dépendante du domaine et s oppose à la connaissance spécifique qui se retrouvre dans les cas. Il est possible d offrir une vue générale du CBR en présentant une hiérarchie des tâches du CBR comme suit : Case-Based Reasoning Page 7
FIG. 2.3 Décomposition du CBR par hiérarchie de tâches Nous verrons donc successivement les différentes tâches centrales qui doivent être effectuées par un CBR. Il existe différents types de CBR et nous ne pouvons prétendre à l exhaustivité. Malgré des tentatives d unification des modèles, les méthodes restent variées et propres aux différents domaines traités. Toutefois un CBR doit suivre un certain nombre d étapes incontournables que nous traiterons successivement. Nous verrons également les grands problèmes qui se posent et les solutions qui peuvent être avancées. Case-Based Reasoning Page 8
Les étapes incontournables sont les suivantes : Identifier le problème courant Trouver le cas passé le plus similaire au problème courant Utiliser ce cas pour suggérer une solution nouvelle Évaluer cette solution Mettre à jour le système avec ce nouveau cas Les grandes difficultés qui se posent sont donc les suivantes : Représentation de la connaissance Récupération de cas similaires Réutilisation de ces cas Modification de la solution (adaptation) stockage des informations relatives au problème Notons qu il n existe pas de solutions miracles et qu un grand travail reste à faire dans le domaine. Il suffit qu un de ces points soit mal traité pour que le système complet soit bancal. Il faut impérativement adapté chaque système au domaine traité. 2.5 Connaissances Les différentes connaissances utilisées par un système CBR sont regroupées en quatre catégories (knowledge containers) : vocabulaire d indexation : un ensemble d attributs ou de traits (features) qui caractérisent la description de problèmes et de solutions du domaine. Ces attributs sont utilisés pour construire la base de cas et jouent un rôle important lors de la phase de recherche. base de cas : l ensemble des expériences structurées qui seront exploitées par les phases de recherche, d adaptation et de maintenance. mesures de similarité : des fonctions pour évaluer la similarité entre deux ou plusieurs cas. Ces mesures sont définies en fonction des traits et sont utilisées pour la recherche dans la base de cas. connaissances d adaptation : des heuristiques du domaine, habituellement sous forme de règles, permettant de modifier les solutions et d évaluer leur applicabilité à de nouvelles situations. 2.6 Représentation des cas Un système à base de CBR est très dépendant de la structure et du contenu de ses cas. Comme un problème est résolu en faisant appel à une expérience passé convenant au nouveau problème, la recherche de cas et les processus de matching doivent être efficaces et rapides. De plus, comme l expérience d un problème qui vient d être résolu doit être retenue d une façon ou d une autre, ces exigences doivent aussi être respectées pour l intégration d un nouveau cas dans la mémoire. Le problème de représentation consiste d abord à déterminer ce qui doit être stocké dans un cas, il faut aussi trouver une structure décrivant bien le contenu d un cas, décider comment organiser et indexer les cas pour une recherche et une réutilisation efficace. Nous allons décrire brièvement le modèle à mémoire dynamique et le modèle de catégories et exemples. 2.6.1 Le modèle à mémoire dynamique Comme il a été dit, le premier système qui peut être considéré comme du CBR est CYRUS qui se base sur le modèle de mémoire dynamique de Schank. La mémoire de cas dans ce modèle est une structure hiérarchique de ce qu on appelle episodic memory organization packets (E-MOPS). Ce modèle a été développé à partir de la théorie plus général de Schank. L idée est d organiser les Case-Based Reasoning Page 9
cas spécifiques qui partagent des propriétés similaires dans une structure plus générale, un GE 5. Un GE contient trois différents types d objets : des Normes, des Cas et des Index. Les Normes sont des caractéristiques communes à tous les cas indexés dans un GE. Les index sont les différences, les points discriminants entre les cas d un GE. Un index peut pointer vers un GE plus spécifique ou directement vers un cas. Un index est composé de deux termes : le nom de l index et sa valeur. La figure qui suit illustre cette structure. FIG. 2.4 Structure des cas et des GE Ce schéma montre un GE général, avec ses cas et un GE plus spécifique. La mémoire entière forme un réseau de discrimination où un noeud est un GE, un nom d index, une valeur d index ou un cas. Chaque index relie un GE à un autre GE ou à un cas. Une valeur d index ne peut pointer que vers un cas ou un GE. L indexage est redondant, il y a plusieurs chemins vers un cas particulier ou un GE (cf cas 1 dans le schéma). Quand une nouvelle description de cas est donné et que l on recherche le cas le plus proche, le nouveau cas est introduit à la racine du réseau. La procédure de recherche est semblable pour retrouver des cas et pour les stocker. Quand une ou plusieurs caractéristiques concordent une ou plusieurs caractéristiques d un GE, on discrimine le cas en se basant sur ses traits restants. On trouve alors éventuellement le cas qui a le plus en commun avec le nouveau cas 6. Lors du stockage d un nouveau cas, lorsqu un caractère du nouveau cas correspond à une donnée d un cas existant, un GE est créé. Les deux cas sont alors discriminés à partir de leurs différences en les indexant différemment sous ce GE. Si, lors de la phase de stockage, deux cas (ou deux GE) terminent sous le même index, un nouveau GE est automatiquement créé. Ce type de mémoire est dynamique, dans le sense où les parties similaires de deux cas sont dynamiquement généralisées dans un GE et que les cas sont ensuite indexés sous un GE par leurs différences. Un cas est retenu en retrouvant le GE qui a le plus de Normes en commun avec la description du problème. Les index sous ce GE sont ensuite parcours afin de trouver le cas qui contient le plus de 5 Generalized Episode 6 Ce n est pas forcément le critère de similarité le plus pertinent, le critère de similarité peut en effet favoriser certaines caractéristiques particulières... Case-Based Reasoning Page 10
caractères en commun avec le problème. Le stockage d un nouveau cas se fait de la même façon, avec en plus la création dynamique de GE lorsqu il y a lieu. Comme le système d indexation est un réseau de discrimination, un cas est stocké sous chaque index qui le différencie des autres cas. Cela peut conduire à une explosion du nombre d index. Ainsi la plupart des systèmes qui utilisent ce système d indexation mettent des limites dans le choix des index pour les cas. Les propriétés dynamiques de cette organisation peuvent être vues comme une tentative de construction d une mémoire qui intègre la connaissance de cas spécifiques et la généralise. Cette organisation permet l apprentissage de connaissance généralisée ainsi que de cas spécifiques. C est un modèle plausible bien que simplifié de l apprentissage et du raisonnement humain. 2.6.2 Le modèle de catégories et exemples Le système PROTOS (1989) propose une méthode alternative pour organiser les cas dans la mémoire. Les cas sont appelés exemples. Le fondement psychologiques et philosophiques de cette méthode est l idée selon laquelle le monde réel, les concepts naturels doivent être définis de manière extensive. Les caractéristiques sont affectées avec une importance plus ou moins grande et permettent de caractériser l appartenance d un cas à une catégorie. L ensemble des cas est stocké sous forme d un graphe comprenant des catégories, des cas et des index. Chaque cas est associé à une catégorie. Un index peut pointer sur un cas ou une catégorie. Une caractéristique est, généralement, décrites par un nom et une valeur. Les index sont de trois types : liens de rappel qui relient une description de problème à des cas ou des catégories liens d exemple qui relient les catégories aux cas associés liens de différence qui relient des cas avec des cas voisins ne différant que par un nombre réduit de caractéristiques. La figure suivante illustre cette structure, les liens reliant caractéristiques et cas aux catégories. Les exemples sont classés du plus prototypique d une catégorie au moins prototypique. FIG. 2.5 Structure du modèle de catégories Trouver le cas qui correspond le mieux à un problème donné se fait par la recherche de la catégorie dont les caractéristiques sont les plus similaires à ce problème. L exemple le plus prototypique appartenant à cette catégorie est retourné. L ajout d un nouvel exemple se fait de manière similaire à la recherche, mais cette phase est suivie par l ajout de différents liens que le système impose. Case-Based Reasoning Page 11
2.7 Construction Ce processus, en amont des activités de résolution de problèmes du système CBR, soutend la structuration initiale de la base de cas et des autres connaissances du système à partir de différentes ressources tels des documents, bases de données ou transcriptions d interviews avec des praticiens du domaine. Ce processus, souvent effectué manuellement par le concepteur du système, se prête moins bien à l automatisation car il nécessite une connaissance du cadre applicatif pour guider, entre autre, la sélection du vocabulaire d indexation et la définition des métriques de similarités. 2.8 Recherche de cas Cette phase permet de déterminer les cas de la base qui sont les plus similaires au problème à résoudre. La procédure de recherche est habituellement implémentée par une sélection des plus proches voisins (k-nearest-neighbors) ou par la construction d une structure de partitionnement obtenue par induction. L approche des plus proches voisins utilise des métriques de similarité pour mesure la correspondance entre chaque cas et le nouveau problème à résoudre. L approche par induction génère un arbre qui répartit les cas selon différents attributs et qui permet de guider le processus de recherche. La tâche commence avec une description partielle d un problème et s achève quand un cas passé proche a été trouvé. Elle se décompose en trois sous tâches à savoir : Identification de caractéristiques Recherche initiale Sélection La tâche d identification met à jour un ensemble de problèmes, le but de la phase de recherche est de retourner un ensemble de cas qui sont suffisamment proches du cas courant, la phase de sélection travaille sur cet ensemble et choisi le meilleur cas. Certains systèmes de CBR se basent surtout sur des similarités superficielles d ordre syntaxique, d autres approches privilégient les correspondances plus profondes d ordre sémantique. Afin de développer des systèmes de mise en corrélation basés sur des similarités sémantiques et d importances relatives selon les caractéristiques considérées, une connaissance importante du domaine est nécessaire. Les similarités d ordre syntaxique ont l avantage dans des domaines où des connaissances générales sont difficiles à acquérir. D un autre côté les approches orientées sémantiques sont capables d utiliser le sens contextuel de la description d un problème pour effectuer le matching dans des domaines où une connaissance générale est possible. Il faut également adapter la stratégie de recherche au but que l on se fixe. 2.8.1 Identification de caractéristiques Identifier un problème peut simplement consister à stocker ses descriptions, mais bien souvent une approche plus élaborée est nécessaire, il s agit alors de tenter de faire comprendre le problème et d analyser le contexte. Dans certains systèmes lorsque des données sont insuffisantes ou inconnues, le CBR demande des informations complémentaires à l utilisateur. Comprendre un problème implique de filtrer les entrées bruitées, de s assurer de la cohérence des données dans le contexte, de faire ressortir les caractéristiques les plus pertinentes. Les descriptions manquantes peuvent également être générées par un modèle de connaissance pour être ensuite validé par ce modèle ou par l utilisateur. 2.8.2 Recherche initiale Cette tâche est généralement séparée en deux étapes : Une recherche initiale qui retourne un ensemble de candidats plausibles Case-Based Reasoning Page 12
une recherche plus élaboré qui sélectionne le meilleur de ces candidats (Voir la partie suivante pour cette étape) Dégager un ensemble de candidats plausibles se fait en utilisant les données du problème. Il s agit soit de suivre directement les index à partir des entrées du problème soit de chercher dans un modèle général de connaissance du domaine. Des métriques de similarité globales peuvent être utilisées. Ces méthodes peuvent être combinées pour s assurer une pertinence et une cohérence maximale. Les cas peuvent être retrouvés à partir des seules données mais aussi à partir de caractéristiques dégagées à partir de cas données. Les cas qui coincident parfaitement avec les entrées sont, bien évidemment, de bons candidats, mais, selon la stratégie, les cas qui ne correspondent que pour une partie des caractéristiques du problème peuvent aussi ressortir. Des tests de cohérence sont souvent effectués, particulièrement si les cas retrouvés n ont en commun qu une sous-partie des données du cas à traiter. Il peut être utile de prondérer chaque caractère en fonction de son importance pour la résolution du problème dans un contexte donné. 2.8.3 Sélection A partir de l ensemble des candidats plausibles, le meilleur doit être choisi. Cela peut avoir été fait dès la phase de recherche mais le plus souvent elle retourne un ensemble de cas. Le meilleur cas est souvent déterminé en évaluant le degré de similitude de façon plus précise. Cela est fait en tentant de générer des explications tendant à justifier des dissimilarités entre le candidat et le problème à traiter. Si les candidats trouvés s avèrent peu pertinents, une nouvelle tentative de recherche peut être déclenchée à partir de nouveaux critères. Le processus de sélection génère souvent des conséquences et des attentes à partir de chaque cas retrouvé, et tentent de les justifier. Cela peut se faire en utilisant les connaissances générales du domaine, ou en demandant à l utilisateur des confirmations ou des informations supplémentaires. Les candidats sont éventuellement classés à partir de d autres critères supplémentaires ou de métriques de similarité alternatives. D autres caractéristiques telles que l importance relative de données ou des calculs portant sur le degré de discrimination peuvent être employés. 2.9 Réutilisation de cas (Adaptation) Suite à la sélection de cas lors de la phase de recherche, le système CBR aide l usager à modifier et à réutiliser les solutions de ces cas pour résoudre son problème courant. En général, on retrouve deux approches pour l adaptation de cas. Par l approche transformationnelle (ou structurelle), on obtient une nouvelle solution en modifiant des solutions antécédentes et en les réorientant afin de satisfaire le nouveau problème. Par l approche générative (ou dérivationnelle), on garde, pour chaque cas passé, une trace des étapes qui ont permis de générer la solution. Pour un nouveau problème, une nouvelle solution est générée en appliquant l une de ces suites d étapes. Certains travaux visent également à unifier ces différentes approches d adaptation pour une proposition de modèle général. Nous allons détailler ci-après ces méthodes. Peu de systèmes CBR font de l adaptation complètement automatique. Pour la plupart des sytèmes, une intervention humaine est nécessaire pour générer partiellement ou complètement une solution à partir d exemples. Le degré d intervention humaine dépend des bénéfices en terme de qualité de solution que peut apporter l automatisation de la phase d adaptation. La réutilisation des solutions de cas passé dans le contexte de nouveaux cas se concentre sur deux aspects : quelles sont les différences entre le cas passé et le cas présent, qu elle partie du cas retrouvé peut être transféré au nouveau cas. Case-Based Reasoning Page 13
2.9.1 Copie Dans les tâches de classification simples les différences sont ignorées, elles sont considérées comme non pertinentes par rapport aux similarités, et la solution du cas retrouvé est transféré au nouveau cas. C est une méthode triviale de réutilisation. Toutefois, d autres systèmes doivent prendre en compte ces différences et le transfert d un cas passé au nouveau cas nécessite une adaptation tenant compte de ces dissemblances. 2.9.2 Adaptation Dans l approche transformationnelle, la solution du cas passé n est pas directement la solution du cas nouveau mais il existe des connaissances, sous la forme d opérateurs transformationnels qui s applique à la solution ancienne pour la modifier en une solution pour le cas courant. Une façon d organiser ces opérateurs est de les indexer autour des différences détectées entre le cas courant et passé retrouvé. Cet approche ne s intéresse pas à la façon dont le problème est résolu mais se concentre sur l équivalence des solutions proposées. Cela nécessite cependant une connaissance solide du domaine pour produire les opérateurs transformationnels et cela n est bien évidemment pas toujours possible. L approche dérivationnelle s intéresse à la façon dont a été résolu le cas retrouvé. Ce cas contient des informations sur la méthode qui a été utilisé pour résoudre le problème associé, ce qui inclut une justification des opérateurs utilisés, des sous-buts, des alternatives, des chemins erronés qui ont été suivis, etc. La méthode dérivationnelle réinstancie la méthode retrouvée au nouveau cas et rejoue le plan passé dans le nouveau contexte. Durant cette étape, les alternatives et chemin à succès sont explorés en priorité, alors que les échecs seront évités. De nouveaux buts seront poursuivis sur la base des anciens. 2.10 Maintenance Durant le cycle de vie d un système CBR, les concepteurs doivent préconiser certaines stratégies pour intégrer de nouvelles solutions dans la base de cas et pour modifier les structures du système CBR pour en optimiser les performances. Une stratégie simple est d insérer tout nouveau cas dans la base. Mais d autres stratégies visent à apporter des modifications à la structuration de la base de cas (ex : indexation) pour en faciliter l exploitation. On peut également altérer les cas en modifant leurs attributs et leur importance relative. Cet aspect de recherche est actuellement l undes plus actifs du domaine CBR. 2.11 Révision de cas Quand une solution généré par la phase de réutilisation n est pas correcte, l opportunité d apprendre de ses échecs s offre au système de CBR. Cette phase s intitule révision et consiste en deux tâches : évaluer la solution générée par la réutilisation. Si elle est réussie, le système apprend de ce succès (voir partie suivante), sinon le système répare la solution en utilisant des informations spécifiques du domaine. 2.11.1 Évaluation des solutions La tâche d évaluation considère le résultat de l application de la solution proposé dans l environnement réel, en faisant appel à un utilisateur ou en effectuant la tâche dans le monde réel. Ces résultats peuvent prendre beaucoup de temps à apparaître selon le type d application. Dans le domaine médical, par exemple, la déterminatin du succès ou de l échec d un traitement peut prendre plusieurs mois. Le cas peut toujours être appris et servir pendant une période transitoire, mais il doit être marqué comme non évalué. Une solution peut également être appliquée à un programme de simulation capable de générer une évaluation correcte. Case-Based Reasoning Page 14
2.11.2 Réparation des erreurs La réparation de cas implique la détection des erreurs de la solution courante et la mise à disposition des explications associées. Le système CHEF, par exemple, permet de trouver pourquoi certains buts n ont pas été réalisés. Il permet également de modifier la solution afin d éviter lécueil des erreurs précédentes. 2.12 Apprentissage Le CBR est fortement couplé à la notion d apprentissage. L une des forces motrices du CBR provient d ailleurs de la communauté travaillant sur l apprentissage par les machines (dont le CBR peut être considéré comme un sous domaine). La notion de CBR ne se réduit pas simplement à une méthode particulière de résolution de problèmes qui ne se soucierait pas de comment les cas sont acquis. Le CBR comprend un apprentissage de la machine qui permet notamment de mettre à jour les cas, d apprendre de nouveaux cas et de s assurer de leur cohérence. Lorsqu un problème est résolu avec succès, l expérience est retenu afin de traiter de nouveaux problèmes du même type. Quand une tentative de résolution échoue, les raisons de l échec sont identifiées et stockées afin d éviter de commettre à nouveau la même erreur à l avenir (voir réparation des erreurs). Le CBR favorise donc l apprentissage par l expérience, c est d ailleurs souvent plus facile de retenir des cas concrets que de généraliser à partir de ces cas. Bien évidemment, comme nous l avons déjà évoqué, un apprentissage efficace nécessite un ensemble de méthodes afin notamment d extraire les connaissances pertinentes de l expérience, d intégrer un cas dans une connaissance existante, d indexer les cas pour pouvoir détecter facilement les cas les plus similaires... Ce processus permet d incorporer dans système tout ce qu il est utile de retenir de la résolution du problème courant. L apprentissage des succès et des échecs des solutions proposés est possible grâce à l évaluation et à la réparation possible de ces solutions. Cela implique de sélectionner les informations pertinentes du cas qu il faut conserver, de déterminer la meilleure façon de les stocker, la meilleure façon de les indexer afin de facilement les retrouver pour des problèmes similaires et également de trouver comment les intégrer dans la structure de mémoire choisie. 2.12.1 Extraction Dans le CBR, la base de cas est mise à jour quelque soit la façon dont le problème a été résolu. Si il a été résolu en utilisant un cas passé, un nouveau cas peut être construit ou le cas passé peut être généralisé pour traiter également le nouveau cas. Si le problème a été résolu par d autres méthodes, un nouveau cas devra être construit. Dans tous les cas, une décision doit être prise sur ce qui doit être utilisé comme source d apprentissage. Les caractéristiques pertinentes du problèmes et de la solution sont des candidats évidents. Mais une explication ou une autre forme de justification révélant pourquoi une solution est bonne peuvent être également ajoutées dans le nouveau cas. Dans le cadre de l approche dérivationnelle, il faut extraire les étapes clés du raisonnement qui a été adopté. Les échecs, i.e. les informations issues des tâches de révision, peuvent aussi être extraits et stockés dans le système. Quand un échec est rencontré, le système peut alors récupérer des cas d échecs similaires, et utiliser ces informations pour améliorer sa compréhension de l échec courant. 2.12.2 Indexation Le problème d indexation est une difficultée centrale et incontournable des CBR. Il implique de décider quel type d index utiliser pour des recherches futures, et comment structure l espace de recherche. Une solution triviale du problème consiste à utiliser toutes les caractéristiques d un problème comme index. C est un problème d acquisition de connaissance, et il doit être analysé comme faisant parti de l analyse du domaine et de la phase de modélisation. Certains systèmes, comme Case-Based Reasoning Page 15
CBR-Talk, déterminent les caractéristiques pertinentes pouvant faire office d index, en parcourant en parallèle tous les cas de la base et en éliminant les caractères communs les plus courants du cas à traiter. 2.12.3 Intégration Il s agit de létape finale de la mise à jour. Si aucun nouveau cas a été construit, en modifiant l indexation de cas existant, les CBR apprennent à améliorer l accès à des cas similaires. L importance des index pour un cas particulier est ajusté en fonction des succès et des échecs rencontrés en utilisant ce cas. Pour les caractéristiques qui ont été jugées pertinentes à la mise à jour d une solution réussie, l association est renforcée, dans le cas contraire sa force est diminuée. De cette façon, la structure d indexation a un rôle central d adaptation et d optimisation de la mémoire des cas. 2.13 Modèles CBR 2.13.1 Modèle structurel Le modèle structurel a émergé des premières vagues applicatives de systèmes CBR. Dans ce modèle, toutes les caractéristiques importantes pour décrire un cas sont déterminées à l avance par le concepteur du système. Ainsi, le concepteur élabore un modèle de données du domaine applicatif. Tel qu illustré à la figure suivante, les cas sont complètement structurés et sont représentés par des paires <attribut, valeur> (similaire à un frame ou à un objet). D un point de vue applicatif, un attribut représente une caractéristique importante du domaine d application. Les échelles de valeurs les plus fréquemment utilisées pour structurer les attributs sont les entiers/réels, les booléens et les symboles. La représentation des cas peut être sur un seul niveau ou sur plusieurs niveaux (hiérarchie d attributs). FIG. 2.6 Exemple de structuration d un cas en CBR structurel La similarité entre deux cas est mesurée en fonction de la distance entre les valeurs de mêmes attributs. Cette distance est fréquemment estimée par les mesures euclidiennes et de Hamming. La similarité globale entre deux cas est habituellement évaluée par une somme pondérée de la similarité de chacun des attributs. Comme les attributs d un cas n ont pas tous la même importance et que cette importance varie d une situation à l autre, un poids est attribué à chaque attribut de chaque cas. Ces poids permettent de pondérer la similarité globale entre deux cas en accordant un crédit plus important aux attributs les plus méritants. Tous les travaux sur l adaptation de cas sont menés dans le cadre du modèle structurel. L adaptation peut varier d une simple substitution de la valeur d un attribut jusqu à la restructuration complète d une solution. Leake identifie environ dix techniques permettant de générer des solutions par substitution, transformation partielle ou dérivation complète. Ces techniques sont habituellement mises en oeuvre par des systèmes à base de règles, ce qui nous ramène aux problèmes d acquisition de connaissance et d absence de principes généraux pour certains domaines. Pour en limiter les difficultés, certaines approches évitent l adaptation en sélectionnant, durant la phase de recherche, des cas qui nécessiteront peu d adaptation. Case-Based Reasoning Page 16
2.13.2 Modèle conversationnel Dans l approche traditionnellle (le modèle structurel), un problème doit être complètement décrit avant que ne débute la recherche dans la base de cas. Cette exigence présuppose une expertise du domaine d application permettant de bien caractériser une situation à l aide de valeurs numériques ou symboliques de sélectionner les principaux facteurs pouvant influencer la résolution de son problème. Toutefois pour certains domaines comme le service à la clientèle, ces aspects sont difficiles à déterminer à l avance, surtout pour les usagers novices de systèmes CBR. Le modèle conversationnel a donc été proposé par Inference Corporation pour surmonter ces difficultés. Il est actuellement le modèle le plus répandu parmi les applications commerciales du CBR. Comme son nom l indique, le modèle CBR conversationnel mise sur l interaction entre l usager et le système (d où la notion de conversation) pour définir progressivement le problème à résoudre et pour sélectionner les solutions les plus appropriées. Un cas conversationnel consiste en trois parties (voir figure qui suit) : un problème P : une brève description textuelle, habituellement de quelques lignes, de la nature du problème exprimée. une série de questions et de réponses Q A : des index, exprimés sous forme de questions, permettant d obtenir plus d information sur la description du problème. Chaque question a un poids représentant son importance par rapport au cas. une action A : une description textuelle de la solution à mettre en oeuvre pour ce problème. Cette description n est pas structurée. FIG. 2.7 Exemple de cas pour le modèle conversationnel Cette représentation de cas est donc une extension du modèle structurel avec des attributs de trois types bien précis : description, questions, actions. La notion de trait est étendue à la notion de question afin de pouvoir interroger l usager. Dans le schéma de résolution du CBR conversationnel, l intéraction entre le système et l usager se fait comme suit : L usager fournit au système une brève description textuelle du problème à résoudre et le système calcule la similarité entre cette description et la section problème des cas. Le système propose alors à l usager une série de questions. L usager choisit les questions auxquelles il souhaite répondre. Pour chaque réponse fournie par l usager, le système réévalue la similarité de chacun des cas. Les questions n ayant pas reçu de réponse sont présentées par ordre décroissant de priori te. Lorsqu un des cas atteint un niveau de similarité suffisamment élevé (i.e. qu il franchit un seuil), le système propose ce cas comme solution. Si aucun cas n atteint un degré de similarité suffisant et que le système n a plus de questions à poser à l usager, le problème est stocké comme étant non-résolu. Les systèmes CBR conversationnels n effectuent pas d adaptation des solutions passées. Une des raisons est que la portion solutions des cas n est pas structurée, ce qui rend difficile la formulation de connaissances d adaptation. Également, il semble que, pour les applications de type help-desk, Case-Based Reasoning Page 17
les solutions sont relativement faciles à modifier, même par un préposé inexpérimenté. De plus, l investissement en temps et en efforts consacrés à développer un système d inférence qui modifie les solutions est difficile à justifier dans ce contexte opérationnel. 2.13.3 Modèle textuel Les travaux sur le raisonnement à base de cas textuels portent sur la résolution de problème à partir d expériences dont la description est contenue dans des documents textuels. Dans cette approche, les cas textuels sont soit non-structurés ou semi-structurés. Ils sont non-structurés si leur description est complètement en free-text. Ils sont semi-structurés lorsque le texte est découpé en plusieurs portions étiquetées par des descripteurs tels que problème, solution, etc. Un cas textuel non-structuré est un cas dont le seul attribut est textuel tandis qu un cas textuel semi-structuré est un cas dont un sous-ensemble de ses attributs est textuel. Pour ce modèle, la représentation textuelle des cas joue habituellement un rôle important dans la résolution du problème. Elle peut être une finalité en soi : par exemple, obtenir le texte d un jugement légal servant de jurisprudence à une nouvelle cause. Elle peut aussi décrire une situation et une solution qui ne peuvent être facilement codifiées selon un schéma de représentation de connaissance. Cette voie de recherche est relativement récente car les premiers travaux datent du milieu des années 90. A ce jour, aucune représentation standard ne s est dégagée pour le modèle textuel. Les approches actuelles misent leurs efforts principalement sur la phase de recherche sur la base de cas et ne proposent pas de voies pour l adaptation de solutions textuelles. Nous pouvons identifier deux pôles importants dans les différents travaux en CBR textuel : structuration de cas textuels : on représente les textes selon un nombre limité de traits basés sur des caractéristiques du domaine (concepts, catégories, sujets, mots-clé, etc.). Pour ce pôle de recherche, on vise à structurer le mieux possible les cas textuels afin de tirer profit de techniques développées pour les systèmes CBR structurel. Les efforts sont déployés pour enrichir l indexation des textes à l aide de traitements relativement élaborés comme la catégorisation de texte. Cette approche est intéressante pour les applications dont le domaine est restreint. Le projet SMILE en est un exemple. extension du modèle de recherche d information : dans ce pôle de recherche, on élabore des mécanismes de recherche plus sophistiqués tout en gardant le processus d indexation le plus simple possible. Dans ce cadre, le choix des traits de cas est déterminé à partir de la fréquence de mots-clés ou de syntagmes de référence (keyphrases). Les particularités de l application se reflètent au niveau de la recherche, soit par la définition de mesures de similarité sémantique ou par des extensions au modèle vectoriel de recherche d information. Cette approche semble plutôt valide pour les applications génériques qui veulent conserver une indépendance par rapport au domaine d application. Le projet FAQFinder en est un exemple. Le CBR textuel diffère de l approche structurelle dans laquelle les textes sont tout simplement des chaînes de caractères sans syntaxe ni sémantique. De plus, cette dernière impose une structuration complète des attributs d un cas. Nous considérons également que le modèle conversationnel, présenté à la section précédente, ne fait pas partie des approches textuelles. La phase préliminaire du CBR conversationnel se limite à une comparaison, par mots-clé ou n-grammes 7 de caractères, de courtes descriptions textuelles de problèmes. Durant la phase suivante, l interaction avec l usager est guidée par une suite de questions et de réponses. Les échanges lors de l interaction ne font l objet d aucun traitement textuel. La langue y est utilisée uniquement dans le but de rendre les questions plus intelligibles à l usager du système. 7 Une représentation de type n-gramme consiste à découper un texte en séquences de n caractères. Case-Based Reasoning Page 18
2.14 Couplage d autres technologies et du CBR Le datamining peut jouer un rôle tout à fait central dans le domaine du CBR comme en témoigne la partie ultérieure du rapport qui y est consacrée. Les algorithmes génétiques peuvent être utilisés notamment pour optimiser la phase de recherche de cas similaires. L un des thèmes majeur de recherche vise à combiner les autres systèmes à base de connaissance avec le CBR et notamment les systèmes experts afin de concevoir des systèmes de connaissance homogènes, unifiés et performants. Des propositions ont été faites d architectures combinant les systèmes à base de règles et le CBR. Il s agit de traiter des domaines qui sont compris de manière a peu près correcte, mais encore imparfaitement. Ces architectures utilisent un ensemble de règles, que l on considère comme approximativement valides, afin d obtenir une réponse préliminaire à un problème donné, il se sert ensuite d analogies à partir de cas connus pour gérer les exceptions aux règles ainsi que pour confirmer les conclusions de ces règles. Cela permet également de concevoir des CBR innovants, les mêmes règles peuvent être utilisées pour gérer des composants du CBR comme par exemple des règles d indexation ou d adaptation de cas. Ces architectures ont déjà été utilisé en pratique pour créer des systèmes de prononciation de nom et fonctionnent déjà aussi bien que les meilleurs applications commerciales. Il existe d autres possibilitées que le lecteur avisé pourra approfondir en lisant le papier [4]. 2.15 Perspectives Des améliorations restent à faire dans toutes les phases clées des CBR. Une partie importante réside dans l amélioration des CBR textuels qui pourraient à terme se révéler des outils très puissants. Une partie du travail doit aussi se focaliser sur la collaboration des différentes technologies et algorithmes de l informatique et des sciences cognitives, leur association dans un système cohérent pourrait en effet pallier les points faibles de chacune prise séparément et mettre en avant leurs atouts respectifs. L avenir sera donc sans doute dans l incorporation des différentes méthodes de l IA dans des systèmes de calcul unifiés et massivement parallèles qui seront à même de répondre à de nombreux problèmes industriels encore non résolus. L importance croissante donnée à l intéraction entre la machine et l utilisateur humain pourrait donner lieu à des avancées majeures dans les domaines d aides à la décision, d apprentissage assisté par ordinateur... Case-Based Reasoning Page 19
Chapitre 3. Solutions industrielles existantes et applications Chapitre 3 Solutions industrielles existantes et applications Dressons rapidement un petit listing de quelques solutions industrielles existantes, afin de montrer l importance quantitative des projets mettant en oeuvre le CBR ainsi que la diversité des domaines concernés : Support technique (KATE, ESTEEM, k-commerce, CBR-Works, HELPDESK, RapidReasoner...) E-Commerce (KATE, CBR-Works) Diagnotics simples (RapidReasoner) Diagnostics complexes (SpotLight, ReMind, KnowMan...) Traitement des pannes (ReMind, TechMate, Case Advisor...) DataMining (ReMind, Easy Reasoner...) Assistance clientèle (ESTEEM, k-commerce...) Sélection de produits et de services (Case Advisor) Médecine, diagnostics de patient dans différents domaines Domaine juridique (HYPO...) Aviation, aérospatiale Enseignement Chimie, industrie pharmaceutique Planification Classification Robotique Conception électrique Et bien d autres... Ces solutions présentent bien évidemment des particularités, elles sont plus ou moins souples, plus ou moins performantes et plus ou moins spécifiques. Il est intéressant de constater que les techniques de CBR peuvent être exploitées à peu près partout et qu elles ont déjà fait leurs preuves dans l industrie. Case-Based Reasoning Page 20
Chapitre 4. Apports du datamining au CBR Chapitre 4 Apports du datamining au CBR Si la principale utilisation du datamining est sans nul doute d améliorer l indexation des données, cette technologie possède des applications dans de nombreuses phases de la conception d un CBR. Avant de présenter l ensemble de l apport du datamining dans les performances d un CBR, précisons que son intégration peut se révéler plus coûteuse pour les entreprises pour plusieurs raison. Tout d abord cela nécessite un développement plus important puisqu il s agit de choisir les meilleurs algorithmes, voire les classes les plus intéressantes dans le contexte sélectionné. De plus, cela pose aussi des contraintes quant à l évolution du système à base de cas. Une fois l index créé à l aide des algorithmes de datamining, il devient nécessaire pour chaque modification de relancer cet algorithme sur la base de donnée. C est pourquoi, le choix de l intégration ou non du datamining dans le développement d un système de raisonnement à base de cas doit vraiment se décider en fonction de l intérêt qu il peut représenter (taille des données, difficulté à déterminer les classes de cas etc...). Nous allons maintenant présenter l apport du datamining dans les principales étapes de la conception d un CBR. 4.1 Nettoyage des données Il est très important de s assurer de la justesse des informations que l on fournit au CBR car les informations fausses peuvent entraîner la création de cas réellement dommageables à la pertinence des solutions proposées par la suite. Même si le data cleaning n est pas un domaine très abouti aujourd hui, les techniques actuelles vont sans nul doute permettre d améliorer le nettoyage des données que l on fournit au système. Ainsi les bases de cas seront construites à partir d informations les plus justes possibles. 4.2 Intégration du contexte La principale application du datamining dans la récupération des données est de prendre en compte pleinement le contexte dans un cas. Le datamining donne la possibilité d établir quels sont les éléments les plus significatifs puis d identifier quels sont les éléments importants constituant alors un contexte. Dans ce type de traitement l avantage du datamining est d être rapide, ne nécessitant pas de parcourir les données de multiples fois, ce qui constitue un atout certain pour les bases de données très importantes. Si par exemple on se place dans le domaine médical, un système à base de cas ne sera absolument pas performant s il n est pas capable de considérer le contexte d un cas. Pour chaque cas ainsi, les données disponibles sont différentes et dans certains cas à partir d un grand nombre de données communes, deux cas pourront aboutir à des solutions extrêmement différentes en fonction du contexte. Case-Based Reasoning Page 21
Chapitre 4. Apports du datamining au CBR 4.3 Recherche des éléments importants Grâce à l intégration des techniques de datamining, il est possible de réaliser en une seule fois ce qui est fait dans les étapes de collecte et d indexation. Comme nous allons le présenter dans la section suivante, il est possible d utiliser un algorithme tel que C4.5 afin d améliorer grandement l indexation des données et l inférence des cas, particulièrement lorsque le système va intégrer de nouveaux cas. Cette méthode consiste à trouver avant tout les éléments les plus significatifs qui permettent de décrire un cas, puis de les hiérarchiser par ordre d importance sous la forme d un arbre (comme les arbres de décision que l on retrouve en datamining). Il n y a plus ensuite qu à parcourir l arbre pour retrouver rapidement un cas et sa solution associée. 4.4 Maintenance et amélioration du choix des classes Dans tout système de raisonnement à base de cas industriel fonctionnant sur de larges bases de données, des tests sont utilisés afin d évaluer les performances d un système, repérer les éventuels problèmes afin de leur trouver une solution. Le rôle du datamining va être de faciliter grandement cette tâche de façon à obtenir une maintenance du système plus efficace. Lorsque le système est trop lent, cela vient souvent d un mauvais choix des classes. La solution est tout simplement de revoir la base de données de cas qui a été utilisées en utilisant la nouvelle connaissance sur les défauts qui se sont produit les fois précédentes. Il sera utile cette fois ci d utiliser les compétences d un expert afin d éviter aux algorithmes de datamining de répéter les même erreurs. Ainsi un algorithme supervisé pourra s avérer extrêmement utile dans la résolution de ces problèmes. Case-Based Reasoning Page 22
Chapitre 5. Adaptation et généralisation Chapitre 5 Adaptation et généralisation Il existe plusieurs définition de la généralisation. La première consiste en un procédé de formulation de concepts faisant abstraction de certaines propriétés. La seconde est l utilisation d une aptitude apprise mais dans une situation différente. Pour utiliser la notion de généralisation dans le CBR nous nous intéresserons davantage à la seconde définition qui correspond davantage à ce que l on cherche à faire. En général, il y a deux genres d adaptation dans le CBR : L adaptation structurelle dans laquelle l adaptation est appliquée directement à la solution stockée dans les cas. Ce type d adaptation a par exemple été utilisé dans JUDGE et CHEF. L adaptation dérivationnelle qui réutilise les algorithmes, méthodes et règles qui ont généré la solution originale pour produire une nouvelle solution au problème courant. Dans cette méthode la séquence planifiée qui constitue la solution originale doit être stockée en mémoire avec la solution comme dans MEDIATOR. L adaptation dérivationnelle se réfère parfois à la réinstanciation et peut seulement être utilisée pour les cas qui sont bien compris. Plusieurs techniques, allant de la plus simple à des méthodes plus complexes, ont été utilisés dans le CBR pour répondre à cette nécessité. Adaptation nulle : L adaptation nulle est une méthode simple et directe qui applique toutes les solutions retrouvées au problème courant sans l adapter. L adaptation nulle est utile pour les problèmes concernant des raisonnements complexes mais des solutions simples. Par exemple, quand on utilise un CBR pour un prêt bancaire, l ensemble des données qui correspondent aux cas, aboutissent au final à une réponse très simple : accorder le prêt, refuser le prêt, ou éventuellement soumettre la demande. Ajustement de paramètres : Cette technique d adaptation structurelle compare les paramètres spécifiés des cas retrouvés et courant afin de modifier la solution dans une direction appropriée. La technique est utilisée dans JUDGE. Abstraction et respécialisation : Cette technique générale et structurelle peut être utilisée comme une façon basique de réaliser de simples adaptations et de façon plus complexe, pour générer de nouvelles solutions créatives. Le système de planification PLEXUS par exemple utilise cette technique. Adaptation basée sur la critique : Cette méthode se base sur des combinaisons d éléments qui peuvent causer problème à une solution. Ce qu il est important de noter, c est que qu une critique est liée à des corrections à effectuer pour chacun de ces problèmes. PERSUADER est un système qui utilise toutes les techniques d adaptation présentée jusqu à présent. Réinstanciation : Cette technique est utilisée pour instancier les caractéristiques d une ancienne solution. CHEF par exemple utilise la réinstanciation. Le rejouer dérivationnel : Cela consiste en une procédure permettant de dériver une ancienne solution ou une partie de solution pour l appliquer dans une nouvelle situation. Par exemple BO- GART utilise cette méthode en utilisant les plans stockés pour résoudre les nouveaux problèmes. La réparation par modèle : Cette technique utilise un modèle causal pour guider l adaptation Case-Based Reasoning Page 23
Chapitre 5. Adaptation et généralisation comme dans CELIA qui est utilisé pour le diagnostique et l apprentissage en mécanique auto, ainsi que dans KRITIK, utilisé pour la réalisation de dispositifs physiques. Substitution sur les cas : Cette méthode est utilisée pour suggérer une adaptation de solution comme dans ACBARR, un système pour la reconnaissance robotique. Case-Based Reasoning Page 24
Chapitre 6. La similarité, la dissimilarité Chapitre 6 La similarité, la dissimilarité 6.1 Abolute Similarity Il s agit de la notion de similarité la plus simple. Elle permet de spécifier si deux cas sont similaires ou non. Dans ce modèle, la similarité est une relation binaire entre deux éléments. Il n existe donc pas de graduation dans la similarité. Notons tout d abord que si cette relation est symétrique (si x est similaire à y, alors y est similaire à x), mais elle n est pas transitive (si x est similaire à y et y similaire à z, alors x n est pas forcément similaire à z). Si cela avait été le cas il aurait été possible de déduire la similarité de plusieurs cas n ayant au final rien en commun. Ce modèle a pour grand désavantage de ne pas vraiment correspondre au concept intuitif de similarité, c est pourquoi la notion de similarité relative a été développée. 6.2 Relative Similarity Ce modèle permet de définir une notion de similarité d un cas par rapport à d autres. Par exemple, un cas x est davantage similaire au cas y qu au cas z. Cela permet de calculer une valeur numérique, souvent normalisée entre 0 et 1. Si deux cas sont identiques, alors la valeur retournée par la fonction sera 1. De plus, elle doit être réflexive de façon à ce que la similarité entre deux cas x et y soit égale à celle de y et x. Il existe par contre de nombreuses méthodes pour calculer cette valeur, en se basant sur des moyennes, maximum, minimum ou produits etc... Ce modèle résout certains des problèmes posés par la similarité absolue. Dans certain cas effectivement il sera très aisé d attribuer la valeur désirée pour évaluer la similarité. Malheureusement dans beaucoup d autres, spécialement pour les attributs correspondant à des données symboliques ou structurées, leur attribuer une valeur de similarité est très souvent arbitraire et difficile à justifier de façon intuitive. De plus, le fait qu il existe plusieurs méthode de calculs de cette valeur augmente le facteur arbitraire, puisque des éléments seraient considérés plus ou moins similaire selon la fonction choisie. Pour ces raisons, le modèle de similarité relative peut être difficile à formuler et à corriger. Ceci à conduit au développement d une troisième famille de modèle de similarité. 6.3 Metric Similarity Si la notion de similarité relative est une amélioration sur la similarité absolue, elle n est toujours pas assez générale. Le principal problème du modèle précédent comme nous l avons vu est d attribuer une valeur numérique de similarité qui se révèle souvent arbitraire et non-intuitive. Une généralisation simple est de ne pas restreindre la mesure de similarité aux réels mais d ajouter des fonctions de similarité qui retourne une valeur d autres types de données. Mais cela soulève un autre Case-Based Reasoning Page 25
Chapitre 6. La similarité, la dissimilarité problème car les degrés de similarité ne doivent pas être comparables. Plusieurs métriques peuvent alors être utilisées telle que des métriques statistiques correspondant à différentes fonctions pour mesurer la distance entre les vecteurs de termes, des métriques sémantiques dont la distance peut être évaluée par un algorithme de type edge-counting ou des métriques de recouvrement. Le désavantage de cette approche est qu elle complexifie les fonctions de similarité et alourdie le développement sans pour autant avoir un résultat qui puisse paraître intuitif. Case-Based Reasoning Page 26
Chapitre 7. Méthode de calcul de similarité floue Chapitre 7 Méthode de calcul de similarité floue Les limites des modèles de similarité présentés précédemment sont nombreux. Si l on recherche les cas similaires avec le modèle de similarité relative par exemple, nous allons devoir fixer un seuil à partir duquel les cas vont être considérés comme intéressant. Si l on prend 0.8 comme exemple, un cas avec un calcul de similarité de 0.81 sera considéré comme intéressant et un cas de 0.79 comme ne l étant pas, et ce alors que le calcul n est qu une estimation pouvant difficilement approcher ce que l on considère comme similaire dans tous les cas. On se rend compte alors aisément que l application de ce modèle ne correspond plus du tout à l interprétation humaine de la similarité entre cas. Pour pallier ce problème, il nous faut introduire la logique floue dans le calcul de la similarité entre 2 cas. Ainsi il sera possible de définir des états comme «assez similaire» «peu similaire» ou «très similaire» sans qu un seuil binaire soit fixé entre ce qui est considéré comme faisant partie d un état et ce qui n en fait pas partie, ce qui permet de se rapprocher de la conception d appartenances telle qu elle est considérée par l être humain. FIG. 7.1 Illustration du principe Notons tout d abord que ce type de méthode est actuellement utilisé par un certain nombre d applications. Par exemple, pour les prédictions météo, de nombreux systèmes utilisent raisonnement à base de cas et logique floue. Dans ce cas, une similarité floue est utilisée pour repérer les k plus proches voisins de la base de données de cas. De nombreuses personnalisations sont bien sûr possible sur l algorithme knn (k-nearest neighbors). Une application courante de cet algorithme est par exemple : 1. Configuration de la fonction de similarité 2. Parcours de la base de cas pour trouver les k plus proche voisins 3. Faire une prédiction basée sur la médiane des cas retenus Case-Based Reasoning Page 27
Chapitre 8. Création de cas génériques par type de classe Chapitre 8 Création de cas génériques par type de classe Comme nous l avons vu dans les cas précédents un des grands problèmes qui se pose aux systèmes de raisonnement à base de cas de grande ampleur est la recherche de la similarité entre les cas. Nous avons pu constater que calculer une distance entre deux cas était toujours délicat, et il est de ce fait difficile d être rapide. Pourtant les problématiques industrielles faisant appel au Case Based Reasoning nécessitent souvent le traitement de milliers voire de millions de cas, alors qu un impératif de performance du système est vital dans de nombreux domaines (défense, aéronautique, médecine, finance...). Si l on prend l exemple de la finance, il n est absolument pas imaginable que les solutions proposées puissent nécessiter un long délai car les données correspondant aux cas peuvent avoir changé entre temps rendant le système CBR tout simplement inutile. L efficacité d un système CBR dépend de la vitesse et de la qualité du processus de récupération de la base de cas. Hors, dans une application classique de CBR, la base de cas croît à très grande vitesse et son contenu peut être extrêmement varié. Cela rend nécessaire de faire préalablement une partition d une large base de cas en plusieurs plus petits, ce qui permet de définir des classes de cas. Tout d abord pour résoudre ce problème, les besoins porteront sur un algorithme non supervisé afin d éviter de longues interventions d experts pour organiser les cas selon certaines classes. De plus dans certains cas il serait impossible pour eux de subdiviser les données selon des paramètres permettant de répondre aux besoins de performance du système à base de cas. Il existe plusieurs solutions qui permettre d améliorer la justesse et la performance d un système CBR quand le nombre de cas augmente de façon importante. Pour commencer, il est possible de faire appelle aux algorithmes de clustering non supervisés qui permettent de décomposer une large base en groupe de cas relativement proche. De cette manière, la structure de partitionnement réalisé par l algorithme permet d être utilisé directement pour réaliser les classes de cas. CBSCAN et GDBSCAN sont des algorithmes que l on retrouve souvent pour réaliser cette tâche. Ces derniers permettent de spécifier la notion de distance que l on souhaite utiliser et intègrent la notion de bruit dans la réalisation des classes ce qui constitue un avantage certain par rapport aux autres algorithmes de clustering. D une façon générale, les algorithmes de datamining sont susceptibles d être très efficace dans la constitution de ces classes. Il est également possible de les réaliser en passant par les algorithmes permettant de créer un arbre de décision pour arriver rapidement à un cas. Bien réalisé cela permet, à partir de quelques informations, de trouver un sous-ensemble de cas proches à un cas entré. Case-Based Reasoning Page 28
Chapitre 9. Conclusion Chapitre 9 Conclusion Le CBR a apporté un courant d air frais et un certain degré d optimisme dans le secteur de l IA en général et des systèmes à base de connaissance en particulier. Le développement des recherches et des applications impliquant le CBR a le potentiel pour mener a des percées majeures dans les méthodes de l IA et ses applications... Case-Based Reasoning Page 29
Bibliographie Bibliographie [1] Enric Plaza Agnar Aamodt. Case-based reasoning : Foundational issues, methodological variations, and system approaches. 1994. [2] Enric Plaza Agnar Aamodt. On constructing the right sort of cbr implementation. 2000. [3] Klaus-Dieter Althoff. Case-based reasoning. 1999. [4] Paul S. Rosenbloom Andrew R. Golding. Improving accuracy by combining rule-based and case-based reasoning. 1995. [5] Michel Futtersack Bernard Delforge. Raisonnement à partir de cas en IA et Droit., 1997. url : http://www.droit.univ-paris5.fr/htmlpages/recherche/griad/raiscas.html. [6] Denis Riordan Bjarne K. Hansen. Fuzzy case-based prediction of cloud ceiling and visibility. Faculty of Computer Science Dalhousie University, Denis Riordan, Faculty of Computer Science. [7] Eric Berkowitz Brian Mastenbrook. Evolutionary incremental concept development for casebased reasoning. [8] Hugh Osborne Derek Bridge. Models of similarity for case-based reasoning. [9] Rushed Kanawati Brigitte Trousse, Michel Jaczynski1. Une approche fondée sur le raisonnement à partir de cas pour l 2019aide à la navigation sur le web. INRIA. [10] Andrew Broad. Case-Based Reasoning, 1997. url : http://www.geocities.com/andrewbroad/cs/ cbr/cs3411.html. [11] Leonardo Garrido. Case-Based Reasoning Repository, 2001. url : http://www-cia.mty.itesm.mx/ lgarrido/repositories/cbr/reasoning.html. [12] Ian Harrison. Case-Based Reasoning, 1997. url : http://www.aiai.ed.ac.uk/links/cbr.html. [13] David B. Leake. Case-Based Reasoning : Experiences, Lessons, and future directions. MIT Press, 2000. [14] R.Schmidt B.Pollwein L.Filipovici L.Gierl. Adaptation and abstraction as steps towards casebased reasoning in the real medical world : case-based selection strategies for antibiotics therapy. [15] R. P. Loui. Case-Based Reasoning and Analogy, 1998. url : http://www.cs.wustl.edu/ loui/mitcs. [16] Guy Lapalme Luc Lamontagne. Raisonnement à base de cas textuels - état de l art et perspectives. 2002. [17] Brigitte Trousse Michel Jaczynski. Cbr*tools : une bibliothèque objet pour l indexation des cas par situation comportementale. 1997. [18] Bonnie Morris. Case-Based Reasoning, 1995. url : http://accounting.rutgers.edu/raw/aies/ www.bus.orst.edu/faculty/brownc/aies/news-let/fall95/casebase.htm. [19] Eric Frigot Pascal Bart. Raisonnement à partir de cas. 2002. [20] Daniel Schneider. Le raisonnement avec des cas, 1994. url : http://tecfa.unige.ch/tecfa/ publicat/schneider/these-daniel/wmwork/www/phd_45.html. [21] Harold Somers. Ebmt seen as case-based reasoning. Centre for Computational Linguistics, UMIST. [22] Rosina Weber. Fuzzy set theory and uncertainty in case-based reasoning. [23] D.B. Leake B. Smyth D. Wilson Q. Yang. Maintaining case-based reasoning systems. 2001. [24] Qiang Yang Jing Wu Zhong Zhang. Maintaining large bases using index learning and clustering. Information Service Agents Lab. Case-Based Reasoning Page 30