Conclusion



Dans notre étude, nous avons traité trois thèmes de recherche encore très peu abordés : Tout d’abord, nous présentons notre contribution pour chaque thème en faisant le bilan de la démarche suivie. Nous ébauchons alors les trois principales perspectives qui montrent la portée de nos travaux.

1 Bilan

1.1 Modèle d’indexation par situations comportementales

Durant toute notre étude, nous avons été motivés par une classe de problèmes dont la principale caractéristique est de nécessiter la prise en considération d’historiques dans la formulation du problème à résoudre. Nous avons alors étudié le problème de l’indexation qui est grandement affecté par cette spécificité au sein du cycle de raisonnement à partir de cas. Nous avons présenté dans le chapitre II, l’état de l’art des approches d’indexation par historiques et nous avons proposé le modèle d’indexation par situations comportementales. Aucun des travaux existants n’aborde de manière générale l’indexation par historiques dans le cadre d’un cycle de raisonnement à partir de cas. Notre modèle d’indexation isole cette problématique en deux parties : modèle de représentation des indices et des cas, guide d’utilisation. Dans ce modèle, nous offrons une modélisation générique pour faciliter l’analyse du RàPC dans le cadre de cette classe de problèmes, et pour constituer une compétence métier nécessaire pour aborder des problèmes complexes.
Notre modèle d’indexation permet également de dépasser les deux principales limites des approches existantes afin de permettre une meilleure indexation des cas dans la classe de problèmes visée. Premièrement, nous offrons la possibilité d’exprimer des indices à la fois sur des historiques échantillonnés et à événements. Cette possibilité est importante d’une part pour gérer des processus hybrides, et d’autre part, pour représenter des indices calculés sous forme d’événements, alors que d’autres variables restent échantillonnées par manque de connaissances.
Deuxièmement, nous proposons des solutions originales pour permettre une meilleure gestion du processus de découverte des connaissances. Ce processus est important dans notre classe de problèmes car il n’est pas possible de représenter de manière explicite tous les cas utiles issus des observations, étant donné le manque de connaissances et la quantité importante des données disponibles. L’introduction du concept de cas potentiel permet alors d’extraire des cas à partir des données d’observation. Les cas potentiels sont définis en compréhension au travers de patrons qui peuvent être instanciés. Ainsi, contrairement aux travaux existants, nous permettons l’utilisation d’hypothèses préétablies, représentées dans les patrons de cas potentiels, pour structurer cette extraction. Puis, pour pallier le manque d’apprentissage de la plupart des travaux existants, nous permettons de sauver ces instanciations sous forme de cas concrets. La nature explicite des cas concrets permet de faire évoluer leur représentation en fonction des raisonnements : par exemple, association d’informations sur leur utilisation ou modification de leurs indices. Les indices des cas concrets peuvent en effet être ajustés au cours des raisonnements par la sélection de comportements élémentaires et par l’expression de contraintes temporelles. Nous introduisons ainsi une représentation qui permet l’expression de situations simples ou complexes, proches de scénarios temporels. Enfin, les cas concrets référencent toujours les données d’observation structurées en variables et en enregistrements. Cette séparation en deux niveaux permet la création de nombreux cas et leur modification, tout en facilitant leur interprétation.

1.2 Plate-forme à objets pour le RàPC

Dans les chapitres III et IV, nous avons détaillé notre approche qui a mené à la réalisation d’un outil ouvert permettant de faciliter l’utilisation du modèle d’indexation par situations comportementales, que nous avons proposé. Plus précisément, cet outil permet la spécialisation du modèle, son intégration cohérente dans un système complet de RàPC, et la capitalisation d’objets-métier. Aucun des outils existants en RàPC ne présente une ouverture comparable. Ces outils se limitent en effet à des boîtes noires dans lesquelles uniquement certains aspects sont modifiables, et ne facilitent pas l’intégration de nouveaux composants. C’est pourquoi nous avons proposé une nouvelle approche mettant en œuvre le concept de plate-forme à objets. La plate-forme à objets réalisée repose sur une architecture abstraite de collaboration entre les concepts du RàPC et de notre modèle d’indexation (index, similarité, base de cas, indice, situation comportementale). Cette architecture intègre un ensemble de points d’ouverture qui peuvent être configurés pour obtenir les comportements adaptés à une application particulière. La conception d’une telle architecture est réputée difficile pour garantir l’objectif de réutilisabilité systématique. Nous proposons alors une structuration des points d’ouverture identifiés en trois axes de variabilité et en deux niveaux de spécificité (RàPC et indexation par situations comportementales). Cette structuration est alors détaillée sous la forme de cas d’utilisation. Nous proposons également des modèles à objets ouverts utilisant des patrons de conception. Les patrons de conception présentent des solutions typiques à des problèmes récurrents de conception de logiciels à objets, et permettent de justifier les nombreuses décisions de conception.
Sur un plan théorique, nous apportons ainsi une modélisation à objets flexible du RàPC et de l’indexation par situations comportementales, pour faciliter la réalisation de différents systèmes. Sur un plan plus pratique, nous avons réalisé la plate-forme à objets CBR*Tools dans le langage à objets Java. CBR*Tools a été utilisée dans la réalisation d’une application classique en RàPC (cf. annexe C), dans un prototype de recherche des cas pour la nutrition des plantes, et dans Broadway. Cette plate-forme offre un ensemble d’objets-métier et permet l’intégration de nouveaux composants que l’on peut assembler : indice, index, similarité, phase de raisonnement… L’utilisation de cet outil est alors facilitée par la structuration des points d’ouverture en cas d’utilisation et par l’utilisation du vocabulaire formé par les patrons de conception utilisés. Sur le plan du génie logiciel, nous donnons l’exemple de la conception d’une plate-forme modélisant les fondements du raisonnement à partir de cas. La recherche d’architectures ouvertes et réutilisables est une démarche d’actualité, étant donné le besoin de rendre interopérables les logiciels pour assembler des composants spécialisés provenant d’origines diverses. Toutefois, la conception de plates-formes à objets est une tâche difficile pour laquelle il n’existe pas encore de méthode dédiée. Cependant, nous montrons concrètement comment la notation UML ainsi que les concepts de cas d’utilisation et de patrons de conception sont utilisés à la fois pour une meilleure conception mais aussi pour une aide à l’utilisation.

1.3 Broadway : un nouveau type d’assistants à la navigation sur le Web

Dans le chapitre V, nous avons premièrement proposé une nouvelle approche d’assistance à la navigation dans un hypermédia. Nous proposons en effet d’aider un utilisateur en réutilisant, à partir d’un groupe d’utilisateurs, des comportements observés par variables. Cette observation par variables, combinée avec notre modèle d’indexation, permet la gestion de comportements détaillés dans un cadre flexible et générique. Le prototype Broadway est un exemple de cette approche et permet le calcul de recommandations en fonction d’observations sur quatre variables (adresse et contenu des pages visitées, évaluations explicite et implicite). Aucun des assistants de navigation existants fondés sur les comportements des utilisateurs ne prend en compte un ensemble de variables, ni ne permet l’ajout et le traitement unifié de nouvelles variables. Notre modèle d’indexation et notre plate-forme à objets sont ainsi mis à profit dans notre approche.
Deuxièmement, la réalisation concrète de Broadway ainsi que son évaluation expérimentale montrent la faisabilité et l’intérêt de notre approche. Broadway effectue un cycle de raisonnement à partir de cas en suivant les quatre phases classiques : recherche, réutilisation, révision et apprentissage. A partir des navigations observées, Broadway extrait des cas utiles grâce aux cas potentiels et permet de les sauvegarder sous la forme de cas concrets. Un cas représente une association issue d’une navigation, entre un comportement et un ensemble de pages proposées. A partir de la navigation courante d’un utilisateur, Broadway identifie tout d’abord un ensemble de cas qui présentent des comportements similaires. La réutilisation de ces cas consiste alors à faire la synthèse des pages proposées pour former la liste des recommandations présentées à l’utilisateur. Puis, l’utilisateur révise la solution suggérée au cours de sa navigation en évaluant, à son tour, les pages visitées. Enfin, Broadway apprend de cette interaction une nouvelle navigation et met à jour son indexation.
Broadway est également le résultat d’un travail important pour la réalisation des modules annexes au moteur de raisonnement à partir de cas. En effet, la construction d’un prototype réaliste a principalement nécessité : l’intégration de l’interface graphique dans un navigateur Web, la répartition des fonctions en huit processus communiquant par RMI (Remote Method Invocation), la spécialisation d’un proxy HTTP (serveur Jigsaw du W3C), et l’analyse de pages au format HTML pour l’extraction des mots clefs.

2 Perspectives

A partir de nos travaux, nous avons mis en évidence trois principales perspectives portant sur :

2.1 Vers l’extension et la généralisation de notre modèle d’indexation

Nous avons appliqué notre modèle d’indexation dans le cadre de la régulation de la nutrition des plantes et celui de l’assistance à la navigation sur le Web. Pour poursuivre l’évaluation du modèle, d’autres applications sont envisageables dans cette classe de problèmes. Par exemple, une étude a déjà été menée pour l’aide à l’argumentation sur Internet dans un contexte de décision collective (Karacapilidis et al., 1997). Il serait de plus intéressant d’étudier l’utilisation de notre modèle pour des systèmes existants comme REBECAS pour les feux de forêts ou RADIX pour la recherche d’information.
Aux deux types de cas proposés (concrets et potentiels), il serait également intéressant de combiner des cas abstraits (Bergman & Wilke, 1996) et de définir des techniques pour gérer le cycle de vie des cas : extraction de cas potentiels, transformation en cas concrets et abstraits, élimination des cas. Notamment, des mécanismes de création de cas abstraits permettraient de généraliser et de remplacer les cas concrets : la taille de la base de cas serait alors plus réduite. Des méthodes d’abstraction de chroniques (Shahar, 1997) et de modification automatique des indices des cas sont alors nécessaires. Dans le cadre plus précis de la navigation sur le Web, des approches de recherche de séquences récurrentes de pages (Chen & Park, 1998 ; Schechter et al., 1998) sont envisageables en s’appuyant sur les pages sélectionnées comme indices dans les cas concrets.
Enfin, avec notre modèle d’indexation, nous rejoignons les préoccupations du modèle d’indexation UIF adapté à une autre classe de problèmes. Selon Janet Kolodner (Kolodner, 1993, pages 219–220), cette démarche est prometteuse et permettra à terme de réutiliser des cas issus de domaines différents puisqu’ils utilisent une description basée sur les mêmes principes. Cette réutilisation pourra alors mener à de meilleurs raisonnements et à l’introduction d’un facteur de créativité. Nous pensons également que notre effort doit être poursuivi sur d’autres modèles d’indexation pour aboutir à une méthodologie visant à faciliter la définition de tels modèles. Le modèle d’indexation par situations comportementales et sa structuration présentent alors un point de départ novateur. Notre approche met également en valeur l’importance de l’indexation au sein du cycle de raisonnement à partir de cas, et nous pensons que les principes suivants, proposés dans notre modèle, pourraient être généralisés à d’autres classes de problèmes :

2.2 Vers des méthodes d’utilisation d’objets-métier pour le RàPC

Notre approche basée sur le concept de plate-forme à objets est une première étape vers la constitution d’un ensemble de modèles et d’objets-métier, voire des patrons-métier, facilitant la conception de systèmes de RàPC. De manière plus générale, nous pensons que ce type d’outils devrait permettre d’améliorer le processus de mise en place de systèmes RàPC. Tout d’abord, une plate-forme offre déjà un ensemble de classes abstraites et peut ainsi permettre de faciliter le passage des modèles au niveau connaissance jusqu’au niveau symbolique. Puis, une plate-forme amène des atouts qui pourraient être utilisés dans la gestion d’un projet de RàPC : prototypage rapide grâce à la réutilisation directe des composants de base, bonne stabilité aux modifications des exigences et configuration suivant les besoins des points d’ouverture. En définitive, un tel outil permet de concentrer les efforts sur les points importants et spécifiques à une application : identification des indices, acquisition des cas et des connaissances nécessaires à l’organisation de la mémoire, à l’adaptation et à l’apprentissage. C’est pourquoi l’étude de méthodes de gestion de projet RàPC (Bergmann et al., 1997 ; Bergmann et al., 1998) devrait s’enrichir d’une telle approche.
Puis, nous pensons améliorer notre plate-forme à objets en enrichissant les composants que cet outil contient. L’ajout de composants (schémas de phase de raisonnement, index) serait intéressant, comme par exemple : index par MOP (Memory Organisation Package, Kolodner, 1983 ; Schank, 1982) permettant d’indexer les cas dans une structure discriminante évolutive, index spécifiques pour les situations comportementales prenant en compte des techniques de mise en correspondance optimisées des historiques (Faloutsos et al., 1994), schémas de recherche et d’adaptation par classification hiérarchique (Lieber, 1997). Le couplage effectif avec l’outil TEMPOS permettrait finalement de stocker les historiques dans une base de données à objets. Enfin, il s’agit de poursuivre notre effort pour la description de nos composants dans le modèle standard des JavaBeans (Beans, 1997). Ce modèle permet un couplage faible entre les objets (communication par événements) et amène ainsi une plus grande flexibilité. De plus, les composants peuvent être manipulés au sein d’environnements graphiques évolués, comme dans l’outil VisualAge  de IBM. Ces composants peuvent alors être combinés avec d’autres objets qui ne sont pas liés au RàPC (base de données, interface graphique, autres objets-métier).

2.3 Vers des assistants basés sur les comportements

Une première évaluation de Broadway a été menée dans un cadre précis et montre l’intérêt de notre approche. Toutefois, les expérimentations doivent continuer pour généraliser les résultats obtenus. Dans ce but, l’ensemble des paramètres identifiés (cf. annexe D) ainsi que les outils construits (Broadway*Tools) sont des apports importants. Nous avons également commencé l’étude de l’intégration de robots de recherche dans notre architecture. Ces robots peuvent remplacer totalement ou partiellement les utilisateurs dans leurs navigations sur le Web pour leur éviter des parcours fastidieux. La réutilisation des navigations se ferait alors au niveau des robots (Golinelli, 1998 ; Taheri, 1998). Notre approche de coopération indirecte peut également être enrichie de mécanismes de coopération directe dans le cadre d’une tâche de recherche d’information (Trousse et al., 1998), et nécessite une gestion des notions de session et de profil utilisateur (Elhaddad, 1998).
Plus généralement, nous sommes à l’étude de deux applications importantes de notre approche visant des systèmes d’aide basés sur la réutilisation de comportements observés sur différentes variables : Dans ces deux applications, il s’agit d’identifier les variables d’observation des utilisateurs et de construire, grâce à notre modèle d’indexation et à CBR*Tools, des systèmes d’aides adaptés. Enfin, nous pensons que notre approche serait intéressante dans le cadre du commerce électronique pour guider des consommateurs vers les produits souhaités mais difficiles à exprimer a priori (configuration d’un micro-ordinateur par exemple).