Conclusion
Dans notre étude, nous avons traité trois thèmes
de recherche encore très peu abordés :
-
la représentation d’indices pour le RàPC dans le cadre d’une
classe de problèmes,
-
la modélisation d’outils ouverts pour le RàPC,
-
la réutilisation de comportements pour l’assistance à la
navigation sur le Web.
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 :
-
l’extension et la généralisation de notre modèle d’indexation,
-
l’intégration des caractéristiques d’une plate-forme à
objets dans des méthodes de gestion de projet RàPC,
-
la conception de systèmes d’aide basés sur notre approche
de réutilisation de comportements utilisateurs.
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 :
-
séparation des données brutes et des cas dont la représentation
est dépendante de la tâche du système et doit nécessairement
intégrer des informations supplémentaires (sélection
des indices, poids d’importance, qualité du cas).
-
extraction de cas potentiels guidée par les raisonnements et leur
sauvegarde sous la forme de cas concrets pour modifier leurs indices et
leurs informations.
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 le cadre d’une collaboration entre l’INRIA et le centre de recherche
européen de Xerox (Meylan, France), nous étudions la réutilisation
de comportements utilisateurs alliant des étapes d’exécution
de requêtes dans un moteur de recherche, et des étapes de
navigation sur le Web. Les objectifs sont de guider l’utilisateur dans
son processus de reformulation de requête et de lui proposer des
documents ou des bases documentaires à consulter en se basant sur
des comportements passés.
-
Dans le cadre d’un contrat de recherche avec le CNET (centre de recherche
de France Télécom), nous visons l’assistance à un
important groupe d’utilisateurs au sein d’un hypermédia délimité.
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).