CBR.tex
23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
\chapter{\'Etat de l'art (Raisonnement à Partir de Cas)}
\section{Raisonnement à partir de cas (RàPC)}
Le raisonnement à partir de cas est une approche fondée sur la connaissance. Il s'agit d'une technique d'intelligence artificielle dont l'idée est de résoudre un nouveau problème grâce aux connaissances déjà acquises par le système et en tenant un raisonnement fondé sur l'analogie. Le RàPC est apparu comme une alternative pour améliorer les systèmes experts. Shank et Abelson \cite{schank+abelson77} ont initialement mené des travaux sur l'organisation hiérarchique de la mémoire pour imiter le raisonnement humain. Ceux-ci ont servi de fondement aux travaux de Janet Kolodner \cite{KOLODNER1983281} et ont abouti à l'implémentation un système fondé sur ces principes en 1983. Le terme \textit{raisonnement à partir de cas} est utilisé pour la première fois en 1989 par Riesbeck et Shank \cite{Riesbeck1989}.
\colorbox{yellow}{Il manque un rappel rapide (un paragraphe)des différents concepts de base du RàPC : }\\
\colorbox{yellow}{les conteneurs de connaissances, les phases. Cela peut être un rappel de quelques}\\
\colorbox{yellow}{phrases : les concepts du RàPC ont été présentés dans la section --ref--. }\\
\colorbox{yellow}{Mais il faut rappeler le carré d'analogie,}\\
\colorbox{yellow}{les conteneurs de connaissances et les phases d'un cycle avant de présenter les}\\
\colorbox{yellow}{originalités de certains travaux pour améliorer chacune des phases}.\\
\colorbox{yellow}{D'autant que les références me semblent assez anciennes (avant 2020)}.
---RàPC et réseaux de neuronnes
Plusieurs travaux combinent le RàPC avec les réseaux de neurones (Deep Learning) avec l'objectif d'améliorer les réponses générées et optimiser les performances de chaque algorithme. Mais ce n'est pas une idée très récente comme par exemple dans \cite{JUNG20095695} les auteurs développent un système fondé sur l'hybridation du RàPC avec des réseaux de neurones pour concevoir des produits. Le système se focalise uniquement dans les phases "rechercher" et "réutiliser" du RàPC dans lesquelles sont exécutés les algorithmes implémentés. Le système détermine de façon automatique les valeurs pour les paramètres nécessaires à la conception d'un produit particulier en suivant le cycle traditionnel du RàPC. Avec l'algorithme de k-moyennes, est extrait un cas représentatif de la base de cas et l'adaptation des solutions des voisins trouvées est faite avec le réseau de neurones RBFN (Radial Basis Function Network). L'évaluation du système est faite en utilisant une base de données contenant 830 tests.
\colorbox{pink} {je ne comprends pas la phrase qui suit} \colorbox{yellow}{idem} les nouveaux cas très similaires aux cas de la base initiale est obtenu un bon design en 99.4\% des cas, pour les cas dissemblables le pourcentage est de 94.8\%. Le RàPC à été utilisé comme outil secondaire pour aider d'autres algorithmes à trouver la bonne configuration.
Dans \cite{10.1007/978-3-642-15973-2_50} un réseau de neurones classique est implémenté pour définir la géométrie d'une matrice pour l'extrusion de l'aluminium. En effet, actuellement c'est un processus qui se fait manuellement et par essai et erreur. Le RàPC est alors utilisé pour aider à déterminer les valeurs optimales des paramètres du réseau.
Aussi le travail de \cite{PETROVIC201617} où les auteurs proposent un système de raisonnement à partir de cas pour calculer la dose optimale de radiation pour le traitement du cancer. Dans ce domaine particulier de la radiothérapie, administrer une dose nécessite de connaître avec précision le nombre de faisceaux et l'angle de chacun d'eux. L'algorithme proposé tente de trouver la combinaison de valeurs optimales pour ces deux paramètres en utilisant les réseaux de neurones. L'utilisation des réseaux de neurones intervient lors de l'adaptation des cas connus : ils modifient le nombre et les angles des faisceaux. La validation de l'algorithme est évaluée avec une base de 80 cas réels de cancer du cerveau extraits de l'hôpital de Nottingham City. Le nombre de neurones et de couches ont été définis de façon empirique. Les résultats montrent que l'utilisation des cas historiques et la construction des solutions à partir des solutions déjà connues permet une amélioration de 12\% concernant la décision du nombre de faisceaux et de 29\% concernant la décision liée leur angle.
\cite{10.1007/978-3-319-61030-6_1} s'intéressent quant à eux à la génération de recettes de cuisine originales. Son approche intègre un modèle probabiliste qui considère les préférences des utilisateurs, un indicateur de curiosité et un composant (\colorbox{pink}{qui synthétise tout le design ??} . Une fois que toutes les exigences sont renseignées, la recette est créée via un réseau d'apprentissage profond.
Plus récemment se trouvent travaux comme ..., ...
--- Modifications du cycle fondamental
Certains travaux ont appliqué le raisonnement à partir de cas à un problème spécifique en proposant des représentations des cas et des solutions différentes, d'autres ont modifié le cycle conceptuel comme le montre la figure \figref{figMCBR2} extraite de \cite{10.1007/978-3-319-47096-2_11}. Dans cette proposition, un cycle complémentaire incluant un outil d'apprentissage profond (\textit{Deep Learning}) est ajouté pour améliorer le résultat du processus du RàPC. Dans \cite{10.1007/978-3-642-15973-2_50}, la phase de stockage est modifiée en retenant les cas dont les résultats n'ont pas eu de succès, pour guider le processus dans la fabrications de nouvelles pièces. Enfin, dans \cite{Robertson2014ARO}, les auteurs proposent d'ajouter à chaque cas une valeur d'utilité espérée selon chaque action possible. Cet ajout s'accompagne d'une prédiction probabiliste des actions que l'application engendrera en réponse. Cette prédiction probabiliste dépend bien entendu de l'état initial du système avant mise en oeuvre de l'action.
\colorbox{yellow}{Cette partie est intéressante, mais elle semble déconnectée du reste de l'état de l'art.}\\
\colorbox{yellow}{Cela me conforte dans l'idée que la classification par domaine d'application n'est pas}\\
\colorbox{yellow}{la meilleure et qu'il vaudrait mieux classer par "originalité" des approches.}
Plusieurs travaux appliquent le RàPC avec succès en proposant des modifications dans chacune des phases ou en combinant différents algorithmes. Certains systèmes de RàPC appliqués au domaine de la conception de produits sont remarquables à ce titre. Dans \cite{ROLDANREYES20151} les auteurs proposent, comme le montre la figure \figref{figMCBR1}, un algorithme pour produire le propylène glycol dans un réacteur chimique. Dans ce cas, la phase de réutilisation du RàPC est couplée à la recherche des états qui satisfassent le nouveau problème (\textit{Constraint satisfaction problems CSP}) en utilisant l'information des cas de base déjà résolus. Les solutions trouvées sont évaluées selon le nombre de changements réalisés sur les solutions déjà connues (parcimonie), le nombre de solutions possibles trouvées (précision), l'évaluation de commentaires faits par des experts et la complexité des transformations réalisées.
Dans \cite{10.1007/978-3-319-47096-2_11}, les auteurs ajoutent un nouveau cycle au cycle traditionnel du RàPC. Le premier cycle génère des descriptions abstraites du problème avec un réseau de neurones et des algorithmes génétiques; le second cycle prend les descriptions abstraites comme des nouveaux cas, cherche les cas similaires et adapte les solutions rencontrées. L'exécution des deux cycles prend en compte certains critères prédéfinis par l'utilisateur. En comparant le même problème avec le cycle traditionnel du RàPC, les auteurs mesurent une amélioration de la qualité des recettes proposées et montrent que celles-ci sont plus en accord avec les critères définis.
--- Techniques de génération / transformation de solutions
La représentation des cas peut permettre également d'améliorer les résultats d'un système de RàPC. La performance d'un système de RàPC dépend de la quantité d'informations stockées, mais également des algorithmes implémentés. C'est le cas dans \cite{Muller} où les recettes sont codées comme un processus de transformation et mélangent des ingrédients en suivant une suite d'étapes ordonnés. Pour créer des recettes innovantes, une mesure de distance est utilisée entre les ingrédients. Cette mesure permet de trouver une recette en substituant certains ingrédients par d'autres, similaires ou aux qualités et/ou caractéristiques similaires. De la même manière, il est possible de créer des recettes plus proches des exigences des utilisateurs. Les étapes de transformation appelées aussi opérateurs sont stockées et catégorisées grâce à une métrique permettant de les échanger afin d'obtenir une nouvelle recette.
La génération, analyse et correction de texte constitue également un domaine d'application intéressant du RàPC. Pour la réalisation de ces tâches il est parfois nécessaire de transformer le texte en représentation numérique ou de mesurer la proximité sémantique de mots. Le travail de \cite{10.1007/978-3-319-24586-7_20} utilise le RàPC pour générer des histoires en utilisant le texte d'autres histoires. Le système décrit explore les transformations possibles afin que la nouvelle histoire ne soit pas très similaire aux histoires déjà connues mais que elle soit cohérente. Le travail est plus focalisé sur la phase de révision, car les résultats de celle-ci déterminent si l'histoire générée correspond aux critères spécifiés ou si le cycle d'adaptation doit recommencer; l'adaptation se fait en recherchant les personnages, les contextes, les objets dans la base de cas, et en les unifiant avec des actions; la plupart des histoires générées sont cohérentes mais elles sont constituées de paragraphes très courts.
Dans \cite{10.1007/978-3-030-58342-2_20} les phrases écrites en langue française sont corrigées. Ce travail n'utilise ni la transformation numérique des phrases, ni de connaissances linguistiques, mais retrouve les phrases similaires en utilisant l'algorithme LCS (\textit{Longest Common Subsequence}) et en calculant une mesure de distance avec les phrases correctes et incorrectes de la base de connaissances. Si les phrases similaires sont incorrectes, le système peut proposer une correction en changeant certains mots selon le contexte et recalculer les distances afin de mesurer \colorbox{yellow}{la justesse ?} de la phrase proposée.
--- Prédiction avec RàPC
L'objectif du travail de \cite{10.1007/978-3-030-01081-2_25} est la prédiction du temps de course pour un athlète. Un KNN recherche les cas similaires. Le système interpole un temps final grâce au calcul d'une moyenne pondérée des meilleurs temps des cas similaires retrouvés dans la première étape du RàPC.
Dans \cite{10.1007/978-3-030-58342-2_8}, les auteurs essaient de prédire le meilleur temps d'un patineur par analogie avec ceux des patineurs ayant des caractéristiques et une histoire de course similaires. Cependant parfois, calculer une moyenne des temps similaires trouvés ne suffit pas. Certaines caractéristiques liées au contexte, à l'environnement et à la nature de la course (le type de course, le type de piste, la distance à parcourir, etc.), peuvent en effet influencer de manière importante la performance du patineur. L'algorithme a été testé avec une base de données contenant les informations de 21 courses de 500m, 700m, 1000m, 1500m, 3km, 5km and 10km réalisées entre Septembre 2015 et Janvier 2020.
Un système multi-fonctionnel est décrit dans \cite{10.1007/978-3-030-58342-2_5}. Celui-ci permet d’obtenir une prédiction du temps de course, de suggérer un plan du rythme de la course et il recommande également un plan d'entraînement pour une course donnée. Les trois fonctionnalités sont implémentées en utilisant le RàPC. Les calculs de la similarité sont fondés sur un historique et des caractéristiques physiques des coureurs. Les plans d'entraînement sont génériques et sont proposés sur les 16 semaines précédant le début du marathon ciblé (selon les auteurs, c'est en effet le temps usuel pour une préparation à ce type d'épreuve). Le système a été évalué avec une base de données constituée de caractéristiques de 21000 coureurs des marathons de Dublin, Londres ou New-York pour la période de 2014 à 2017.
--- Systèmes de recommandation
Les systèmes de recommandation et le RàPC peuvent aussi être combinés comme dans le système proposé par \cite{8495930} montre les bénéfices de l'utilisation du RàPC dans les environnements informatiques pour l'apprentissage humain (EIAH). Le modèle proposé suit le cycle traditionnel du RàPC en combinant les modèles d'apprentissages traditionnels et numériques. Les principales contributions sont la représentation des cas et la recommandation des parcours d'apprentissage personnalisés selon les informations issues des autres apprenants. Une base de cas initiaux a été créée pour mesurer l'efficacité du modèle. Celle-ci stocke la recommandation du parcours de 120 apprenants. Des examens \colorbox{yellow}{?} réalisés avant et après avoir suivi le parcours recommandé par le système permettent de mesurer l'efficacité de la recommandation proposée.
\cite{Obeid}. Le système décrit dans cette étude présente la particularité d'être capable d'analyser des données hétérogènes et multidimensionnelles. Dans ce travail, un parcours de carrière et les universités/collèges est recommandé aux élèves du secondaire en fonction de leurs intérêts. Ce travail montre également une taxonomie des techniques algorithmiques généralement utilisées dans les systèmes de recommandation pour les EIAH (figure \figref{figTax}).
--- Méthodes d'ensemble
Uysal et al. [...] mettent en œuvre un CBR avec une méthode d'agrégation bootstrap (bagging) pour améliorer la précision du CBR et réduire la variance.
Un modèle d'ensemble fondé sur le raisonnement à partir de cas est proposé par Yu et al. [...] appliqué à la prédiction financière et au remplissage des données manquantes. Dans ce cas, pour retrouver les plus proches voisins, le modèle utilise trois mesures de distance différentes et une étape de vote pour l'intégration. Le modèle a été testé avec une base de données comportant onze dimensions d'informations financières provenant de 249 entreprises. La comparaison est faite avec deux objectifs. Premièrement, le remplissage des données manquantes avec d'autres algorithmes tels que KNN ou RandomForest, et deuxièmement, la comparaison de la prédiction avec des algorithmes uniques utilisant une métrique de distance spécifique. En effet, les résultats montrent une meilleure performance dans le remplissage des données manquantes et les meilleurs résultats dans la prédiction.
----------------------------------
Le raisonnement à partir de cas a été utilisé dans différents domaines parmi lesquels figurent la médecine, la conception de produits, les sports ou encore les systèmes de recommandation. En médecine, le RàPC a par exemple été appliqué pour aider la prise de décision des médecins concernant les traitements qui requièrent l'administration de doses précises.
\colorbox{yellow}{Tu prends cet exemple parmi toute la biblio hyper-abondante du RàPC pour la médecine.}\\
\colorbox{yellow}{Il faut expliquer pourquoi tu choisis cet exemple, en quoi est-il important de le décrire}\\
\colorbox{yellow}{dans ta thèse ?}\\
\colorbox{yellow}{Est-ce parce qu'il couple RàPC et RNA ? Ce n'est pas le seul. Pourquoi lui ?}\\
\colorbox{yellow}{Est-ce le premier ?}\\
\colorbox{yellow}{Pourquoi un exemple d'application à la médecine alors que ta thèse est sur les EIAH ?}\\
\colorbox{yellow}{Si tu prends un exemple d'un autre domaine d'application, il faut qu'il soit singulier }\\
\colorbox{yellow}{et que tu expliques en quoi il est singulier.}\\
\colorbox{yellow}{En quoi est-il différent de Petrovic et al. 2016}\\
\colorbox{yellow}{Peut-être que plutôt d'organiser en domaine d'application, il vaudrait mieux organiser en}\\
\colorbox{yellow}{originalité du point de vue RàPC. Par exemple, regrouper les travaux couplant RàPC et }\\
\colorbox{yellow}{RNA dans la première phase, puis RNA en seconde phase, puis les métriques de mesure de}\\
\colorbox{yellow}{performances, etc.}\\
\mfigure[!ht]{width=\textwidth}{./Figures/ModCBR1.png}{Cycle du RàPC modifié. (Traduit de \cite{ROLDANREYES20151})}{figMCBR1}
L'utilisation du RàPC pour la création de recettes de cuisine à partir d'une base d'ingrédients et d'un ensemble de recettes déjà connues a été un cas d'application que les chercheurs du domaine ont trouvé intéressant à explorer. Malgré l'apparente simplicité de ce problème, celui-ci a permis de tester différentes approches et de concevoir différents modèles.
%Le RàPC a également été mis en oeuvre dans différents travaux liés à la génération, l’analyse et la correction de textes écrits. Pour la réalisation de ces tâches, il est parfois nécessaire de transformer le texte en représentation numérique ou d’établir une fonction ou mesure qui va indiquer quels mots ont une proximité sémantique. Le travail de \cite{10.1007/978-3-319-24586-7_20} utilise le RàPC pour générer des histoires en utilisant le texte d'autres histoires. Le système décrit dans ce travail explore les transformations de forme possibles afin que la nouvelle histoire ne soit pas similaire aux histoires déjà connues tout en étant cohérente. Le travail est plus focalisé sur la phase de révision, car les résultats de la révision déterminent si l’histoire générée correspond aux critères spécifiés ou si le cycle d'adaptation doit être recommencé. L'adaptation se fait en cherchant dans la base des cas, les personnages, les contextes, les objets et en \colorbox{pink}{unifiant tout avec des actions ??}. Les résultats montrent que la plupart des histoires générées sont cohérentes mais qu'elles sont constituées de paragraphes très courts. Dans \cite{10.1007/978-3-030-58342-2_20}, les phrases écrites en langue française sont corrigées, ce travail n'utilise ni la transformation numérique \colorbox{yellow}{?} des phrases, ni des connaissances linguistiques. Le système conçu retrouve des phrases similaires en utilisant l'algorithme LCS (\textit{Longest Common Subsequence}) et en calculant la distance entre toutes les phrases \colorbox{yellow}{lesquelles ?} pour savoir \colorbox{pink}{je ne comprends pas la suite }si elle est bien écrite ou pas. Si la phrase n’est pas bien écrite, le système peut proposer une correction en changeant certains mots selon le contexte et calculer à nouveau les distances mesurant la cohérence et pertinence de la phrase.
Le sport fait également partie des domaines explorés par le RàPC. Dans ce domaine, le RàPC est généralement employé pour suggérer des routines d'entraînement, prédire des temps de course, ou encore évaluer et améliorer la performance des athlètes.
\mfigure[!ht]{width=\textwidth}{./Figures/taxonomieEIAH.png}{Taxonomie des techniques algorithmiques employées pour des modules de recommandation dans les EIAH (Traduit de \cite{Obeid})}{figTax}
%\begin{figure}
%\centering
%\includegraphics[scale=21]{./Figures/taxonomieEIAH.png}
%\caption{Taxonomie des techniques algorithmiques employées pour des modules de recommandation dans les EIAH (\cite{Obeid})}
%\label{figTax}
%\end{figure}
\mfigure[!ht]{width=\textwidth}{./Figures/ModCBR2.png}{Ajout d'un cycle complémentaire avec \textit{Deep Learning} au RàPC (Traduit de \cite{10.1007/978-3-319-47096-2_11})}{figMCBR2}
Le tableau \ref{tabArts2} montre un récapitulatif des articles analysés dans l'état de l'art du RàPC.
\begin{table}
\footnotesize
\begin{tabular}{p{4.2cm}p{9cm}}
Ref&Limites\\
\hline
\cite{PETROVIC201617}&Grande quantité de données pour que l'algorithme fonctionne correctement. Recommandation limitée à un problème très spécifique.\\
\cite{ROLDANREYES20151}&Une seule méthode d'adaptation est utilisée. Le modèle n'exploite pas les cas qui présentent une erreur.\\
\cite{JUNG20095695}&Le modèle d'adaptation proposé fonctionne seulement avec des cas très proches. L'apprentissage dans le RàCP se limite à stocker les nouveaux cas.\\
\cite{10.1007/978-3-642-15973-2_50}&Le RàPC n'est pas modifié ou amélioré. La révision dans le RàPC n'est pas automatique\\
\cite{10.1007/978-3-319-47096-2_11}&Beaucoup de données sont nécessaires pour entrainer le modèle de 'Deep Learning'. Les solutions générées n'ont pas été validées.\\
\cite{10.1007/978-3-319-61030-6_1}&L'évaluation des solutions générées n'est pas automatique. Les solutions sont produites avec un seul point de vue.\\
\cite{Muller}&Une seule approche pour adapter les cas dans le RàPC. La révision dans le RàPC n'est pas automatique.\\
\cite{10.1007/978-3-319-24586-7_20}&Les solutions générées peuvent présenter des incohérences. Il n'y a pas une métrique objective pour mesurer la qualité des réponses.\\
\cite{10.1007/978-3-030-58342-2_20}&Les résultats ne sont pas très bons. Le modèle n'a pas de connaissances linguistiques.\\
\cite{10.1007/978-3-030-01081-2_25}&Les prédictions n'ont pas été testées dans le monde réel. Les données sont très spécifiques et peu variées.\\
\cite{10.1007/978-3-030-58342-2_8}&Les prédictions sont pour des cas limités. Le modèle est entrainé pour un type d'utilisateur spécifique.\\
\cite{10.1007/978-3-030-58342-2_5}&Seulement une technique de sélection de solutions. Les données nécessaires pour le modèle sont complexes.\\
\cite{Obeid}&L'ontologie peut être \colorbox{pink}{limitée?}limitée pour évaluer plusieurs cas inconnus ou imprévus. Il est nécessaire d'avoir une forte connaissance du domaine.\\
\cite{8495930}&Le modèle a été validé avec peu de données. Les recommandations se basent seulement sur l'information des autres apprenants.\\
\end{tabular}
\caption{Tableau de synthèse des articles analysés dans l’état de l’art du RàPC}
\label{tabArts2}
\end{table}
%\begin{figure}
%\centering
%\includegraphics[scale=0.4]{./Figures/ModCBR2.png}
%\caption{Addition d'un cycle complémentaire avec \textit{Deep Learning} au RàPC (\cite{10.1007/978-3-319-47096-2_11})}
%\label{figMCBR2}
%\end{figure}
\colorbox{yellow}{Cette partie me semble déconnecté du reste : Il manque une transition.}\\
\colorbox{yellow}{Et il faudrait ajouter des références d'articles mettant en lumière ces deux limitations.}\\
Deux problèmes très communs des systèmes de recommandation sont : (1)le \textit{cold-start} qui se produit au début d'une recommandation lorsque il n'y a pas suffisamment de données pour calculer ou inférer une recommandation appropriée. Et (2) le \textit{gray-sheep} qui se produit lorsqu'un utilisateur présente un comportement très différent de ceux qui sont stockés dans la base de données. Le système ne peut donc pas générer des recommandations en se basant sur l'information disponible.