L'utilisation du data mining se révèle avantageuse dans l'indexation des données. L'indexation est un point très important pour le RàPC. C'est grâce à elle que le calcul de similarité est effectué. Les index font référence à différents critères et le datamining va permettre d'indiquer les critères les plus discriminants et donc les plus représentatifs pour la construction des index.
De plus, le calcul de la distance entre les cas, effectué par la fonction de similarité intervient logiquement entre le nouveau cas et tous les anciens cas de la base. Grâce au datamining, des classes vont être constituées pour ainsi directement exclure les cas qui n'ont aucun rapport avec le cas actuel. Le calcul des distances grâce à la fonction de similarité s'effectuera ainsi uniquement à l'intérieur d'une même classe, ce qui réduira considérablement le temps d'exécution.
Le datacleaning permet également d'augmenter les performances d'un système CBR. Il va faire en sorte que les données enregistrées dans le RàPC soient justes et qu'il n'y ait pas de cas inexact qui pourrait entraîner des raisonnements totalement faux. Néanmoins, il peut arriver qu'un CBR possède dans sa base des cas contradictoires mais il ne doit pas pour autant ne plus être en mesure de tirer des conclusions, des expériences contradictoires existant dans la vie réelle.
La logique floue est utilisée dans les domaines où il est difficile de classifier des objets dans un ensemble ou un autre. Utiliser cette technologie apporte de nombreux avantages aux systèmes RàPC :
Certains systèmes RàPC utilisent la logique floue dès le stockage des cas. Ils gèrent des degrés de pertinence et de confiance pour chaque cas. Mais la principale utilisation de la logique floue est faite au niveau de la recherche de cas similaires. Là aussi, les systèmes usent les degrés de confiance et de pertinence pour calculer les similarités. Enfin il est aussi possible d’optimiser l’adaptation à l’aide de cette technique.
C’est la dernière étape du cycle du RàPC. Au cours de cette phase, le nouveau cas et sa solution validée vont être ajoutés à la base de cas. Il faut donc déterminer quelles informations doivent être sauvegardées et sous quelle forme, et comment indexer ce nouveau cas dans la base.
Si le cas a été résolu sans l’aide des cas préexistants, par exemple à l’aide des connaissances d’un expert, il faut à coup sûr l’ajouter dans la base. Par contre, si la solution a été générée à partir d’anciens cas, la procédure est plus complexe. En effet il ne sera alors pas forcément nécessaire de rajouter directement le nouveau cas. On peut par exemple généraliser le cas antérieur, origine de la nouvelle solution. D’une autre manière, ce nouveau cas peut être intégré à une catégorie ou un épisode généralisé.
En ce qui concerne les informations à sauvegarder, il est évident que l’on doit sauvegarder les caractéristiques et la solution du problème. Dans certains domaines, on peut tout de même faire l’impasse sur les caractéristiques qui sont facilement déductibles ou sans intérêt pour le problème. Il est aussi possible d’enregistrer les explications du raisonnement ayant mené à la solution. Ceci va nous permettre d’utiliser l’adaptation dérivative comme nous l’avons vu précédemment. Il est aussi possible de sauvegarder les échecs comme nous l’avons vu dans le paragraphe précédent. On peut ajouter à la base les cas d’échecs ou les raisonnements incorrects.
Il s’agit ensuite de décider quel type d’index le système utilisera pour retrouver ce cas. La plupart des logiciels existants emploient la totalité des caractéristiques. D’autres méthodes vont parcourir la base pour trouver les caractéristiques les plus discriminantes avec le cas à ajouter.
Enfin il faut intégrer le nouveau cas dans la base. Au cours de cette phase, on va modifier l’indexation des cas existants pour que le système détecte plus facilement les similitudes lors de la recherche des cas similaires. Pratiquement on va augmenter le poids d’un index menant à un cas qui a permis d’atteindre un cas utile dans la construction de la solution. À l’inverse, le système va diminuer le poids d’un index menant à un cas qui conduit à un échec. En fin de compte, on privilégie certaines caractéristiques.
Il peut être intéressant à la fin de l’apprentissage de tester le système en lui reposant le problème qu’il vient de traiter. Ainsi on peut voir si le système se comporte comme on l’attend.