\chapter{Système de Recommandation dans AI-VT}\label{chap:RecommandationAIVT}

\section{Introduction}

L'un des principaux modules d'un EIAH est le système de recommandation visant à trouver les faiblesses de l'apprenant et à réviser la séance d'entraînement proposée initialement par celui-ci. Ce type de module permet donc au système de personnaliser les contenus et les exercices en fonction des besoins et des résultats de chacun des apprenants. Certains auteurs n'hésitent pas à considérer que l'efficacité d'un EIAH dans l'acquisition des connaissances et l'adaptation aux différents types d'apprentissage dépend de ce type de module fondé sur la recommandation \citep{Liu2023}. 

Les systèmes de recommandation dans les environnements d'apprentissage prennent en compte les exigences, les besoins, le profil, les acquis, les compétences, les intérêts et l'évolution de l'apprenant pour adapter et recommander des ressources ou des exercices. Dans ces systèmes, l'adaptation peut être de deux types : l'adaptation de la présentation qui montre aux apprenants des ressources d'étude en fonction de leurs faiblesses et/ou l'adaptation du parcours qui change la structure du cours en fonction du niveau et du style d'apprentissage de chaque apprenant \citep{MUANGPRATHUB2020e05227}.

Parmi les algorithmes les plus prometteurs pouvant aider à proposer des recommandations, nous avons identifié l'algorithme d'échantillonnage de Thompson (TS \textit{Thompson Sampling}). Il s'agit d'un algorithme probabiliste appartenant à la catégorie des algorithmes d'apprentissage par renforcement \textcolor{red}{qui est généralement utilisé pour trouver des solutions approchées au problème de bandit manchot décrit dans la section 2.2.3.6}. À l'instant $t$, TS choisit une action $a_t$ d'un ensemble $A$ d'actions possibles, et obtient une récompense pour celle-ci. À $t+1$, une action $a_{t+1}$ est sélectionnée en tenant compte de la récompense précédente. L'objectif consiste à maximiser la valeur de la récompense globale. Selon le principe bayésien, cette maximisation itérative est opérée en suivant une distribution de probabilité évoluant à chaque itération. Cette évolution peut être calculée selon la variante de Bernoulli où la récompense n'a que deux valeurs possibles 0 ou 1 (échec ou succès), ou selon une distribution \textit{Beta} définie sur l'intervalle $[0, 1]$ et calculée en fonction de deux valeurs $\alpha$ et $\beta$ \citep{9870279}.

Ce chapitre est divisé en trois parties, la première partie présente un algorithme délivrant des recommandations en fonction des résultats produits par l'apprenant en temps réel. Une partie de cette proposition est publiée dans \citep{Soto2}. Cet algorithme permet l'adaptation automatique en temps réel d'une séance prédéterminée dans l'EIAH AI-VT. Nous considérons qu'elle intervient durant la phase de révision du cycle classique du raisonnement à partir de cas (RàPC). L'algorithme proposé est stochastique et il a été testé selon trois scénarios différents. Les résultats montrent de quelle manière AI-VT peut proposer des recommandations pertinentes selon les faiblesses identifiées de l'apprenant.

La deuxième partie de ce chapitre montre l'intégration de tous les algorithmes présentés dans les chapitres précédents à AI-VT, cette proposition est publiée dans \citep{soto4}. L'algorithme intégré est appliqué au système AI-VT sur des données générées et des données réelles. Plusieurs types de test sont exécutés pour montrer que l'algorithme final permet en effet d'améliorer les capacités d'identification et d'adaptation. Les performances de ce nouvel algorithme sont comparées à celles d'autres algorithmes. Enfin, l'évolution de l'acquisition des connaissances induites par ces nouveaux algorithmes de recommandation stochastiques est analysée dans cette deuxième partie du présent chapitre.

Pour terminer, dans la troisième partie de ce chapitre, nous présentons une évolution de ce système de recommandation intégrant le processus de Hawkes publié dans \citep{soto5}. L'intérêt de ce dernier réside dans le fait qu'il utilise une courbe d'oubli, nous permettant ainsi de tenir compte du fait que certaines connaissances et certains mécanismes doivent être rappelés aux apprenants. Cette troisième partie intègre une étude des performances du système de recommandation incluant ce processus stochastique de Hawkes.

\newpage
\section{Système de recommandation stochastique fondé sur l'échantillonnage de Thompson}
\sectionmark{Système de recommandation fondé sur TS}

\subsection{Algorithme proposé}

L'algorithme proposé, en tant que système de recommandation, prend en compte les notes antérieures des apprenants pour estimer leurs connaissances et leur maîtrise des différentes compétences, sous-compétences et niveaux de complexité au sein du système AI-VT. Puis il adapte les séances pour maximiser l'acquisition des connaissances et la maîtrise des différents domaines contenus dans la même compétence définie. 

La famille de distributions de probabilité \textit{Beta} est utilisée pour définir dynamiquement le niveau de complexité (équation \ref{eqBeta}) à proposer à l'apprenant, le comportement de cette equation a été décrit dans la section du contexte 2.2.3.7. Cet algorithme permet de recommander des niveaux de complexité non contigus et dans lesquels des lacunes ont été détectées. Les paramètres initiaux des distributions de probabilité peuvent forcer le système à recommander des niveaux de complexité contigus (juste inférieur ou supérieur).

\begin{equation}
    Beta(\theta | \alpha, \beta) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1}
    \label{eqBeta}
\end{equation}

\begin{table}[!ht]
\centering
\begin{tabular}{ccc}
ID&Description&Domaine\\
\hline
$cn$&Nombre de niveaux de complexité&$\mathbb{N} \; | \; cn>0$\\
$g_m$&Valeur maximale dans l'échelle des notes& $\mathbb{N} \;|\; g_m>0$ \\
$g_t$&Seuil de notation &$]0, g_m[$\\
$s$&Nombre de parcours définis&$\mathbb{N} \; | \; s>0$\\
$s_c$&Parcours courant fixe défini&$\{1, 2, ..., s\}$\\
$\Delta s$&Pas pour les paramètres de la distribution bêta dans le parcours $s$ &$]0,1[$\\
$t_m$&Valeur maximale du temps de réponse&$\mathbb{R} \; | \; t_m>0$\\
$g_{c}$&Note de l'apprenant à une question de complexité $c$&$[0, g_m]$\\
$ng_c$&Note de l'apprenant avec pénalisation du temps &$[0, g_m]$\\
$t_{c}$&Temps de réponse à une question de complexité $c$&$[0, t_m]$\\
$ncl$&Nouveau niveau de complexité calculé&$\mathbb{N}$\\
$\alpha_{c}$&Valeur de $\alpha$ dans la complexité $c$&$\mathbb{R} \; | \; \alpha_{c}>0$\\
$\beta_{c}$&Valeur de $\beta$ dans la complexité $c$&$\mathbb{R} \; | \; \beta_{c}>0$\\
$\Delta \beta_c$&Pas initial du paramètre bêta&$\mathbb{N} \; | \; \Delta \beta >0$\\
$\lambda$&Poids de la pénalisation temporelle&$]0,1[$\\
$G_c$&Ensemble de $d$ notes dans le niveau de complexité $c$&$\mathbb{R}^d \;, d\in \mathbb{N} \; | \; d>0$\\
$x_c$&Notes moyennes normalisées&$[0, 1]$\\
$n_c$&Nombre total de questions dans une séance&$\mathbb{N} \; | \; n_c>0$\\
$ny_c$&Nombre de questions dans le niveau de complexité $c$&$\mathbb{N} \; | \; 0<ny_c \le n_c$\\
$y_c$&Proportion de questions dans le niveau de complexité $c$&$[0, 1]$\\
$r$&Valeur totale de la métrique définie pour l'adaptabilité&$[0, cn]$\\
$sc$&Valeur totale de la métrique de similarité cosinus&$[-1, 1]$\\
\end{tabular}
\caption{Variables et paramètres du système de recommandation proposé.}
\label{tabPar}
\end{table}

Le tableau \ref{tabPar} présente les variables de l'algorithme de recommandation. Nous avons considéré que les notes $g_c$ obtenues au niveau de complexité $c$ tiennent compte du temps de réponse. C'est la raison pour laquelle, nous avons défini le grade de l'apprenant $ng_c$ au niveau de complexité $c$. Ce grade calculé selon l'équation \ref{eqsGT}, tient compte d'un poids de pénalisation temporelle $\lambda$.

\begin{equation}
	ng_c=g_c- \left(g_c * \lambda * \frac{t_c}{t_m} \right)
	\label{eqsGT}
\end{equation}

Dans cet algorithme, la variable de seuil de grade $g_t$ détermine la variabilité de la distribution de probabilité pour chaque niveau de complexité. Les niveaux de complexité des exercices proposés à l'apprenant sont calculés par récompense inverse selon les équations \ref{eqgtc} et \ref{eqltc}. Chaque niveau de complexité est associé à une distribution de probabilité \textit{Beta} avec des valeurs initiales $\alpha$ et $\beta$ prédéfinies.

\begin{equation}
ng_c \ge g_t \rightarrow
\begin{cases}
\beta_c=\beta_c+\Delta_s\\
\beta_{c-1}=\beta_{c-1} + \frac{\Delta_s}{2}\\
\alpha_{c+1}=\alpha_{c+1} + \frac{\Delta_s}{2}
\end{cases}
\label{eqgtc}
\end{equation}

\begin{equation}
ng_c < g_t \rightarrow
\begin{cases}
\alpha_c=\alpha_c+\Delta_s\\
\alpha_{c-1}=\alpha_{c-1} + \frac{\Delta_s}{2}\\
\beta_{c+1}=\beta_{c+1} + \frac{\Delta_s}{2}
\end{cases}
\label{eqltc}
\end{equation}

Pour chaque niveau de complexité $c$, $Beta(\theta |\alpha_c, \beta_c)$ fournit une distribution de probabilité $p_c$. De chaque distribution de probabilité $p_c$, une valeur aléatoire est obtenue $v_c$. Le niveau de complexité recommandé $ncl$ est la valeur maximale des $v_c$, c'est-à-dire $argmax_c(v_c)$.

L'algorithme de recommandation stochastique suit les suivantes étapes :
\begin{itemize}
\item Initialisation des distributions de probabilité pour chaque niveau de complexité
\item Calcul de la note pour chaque question traitée
\item Actualisation des valeurs de $\alpha$ et $\beta$ dans le niveau de complexité associé à la question traitée et dans les niveaux de complexité contigus
\item Échantillonnage des valeurs de distributions de probabilité de tous les niveaux de complexité
\item Choix du nouveau niveau de complexité selon la valeur maximale des échantillons obtenus
\end{itemize}

%Le détail des pas d'exécution de l'algorithme proposé sont dans l'algorithme \ref{alg2}.
%
%\begin{algorithm}
%\caption{Algorithme de recommandation stochastique}
%\begin{algorithmic}
%\State Initialisation de la distribution de probabilité
%\For {\textbf{each} question $q$}
%	\State $ng_c=g_c- \left(g_c * \lambda * \frac{t_c}{t_m} \right)$ \Comment{eq \ref{eqsGT}}
%	\State Calculs des paramètres $\alpha_i$ et $\beta_i$ \Comment{eq \ref{eqgtc} et eq \ref{eqltc}}
%	\State Choisir $p_c$ selon la distribution de probabilité \textit{Beta} \Comment{$\forall c, p_c  = Beta(\theta | \alpha_c, \beta_c)$}
%	\State $ncl = max(\mathbb{E}[p_c]), \forall c$ 
%\EndFor
%\end{algorithmic}
%\label{alg2}
%\end{algorithm}

\subsection{Résultats}

Le comportement du module de recommandation a été testé avec des données générées contenant les notes et les temps de réponse de mille apprenants pour cinq niveaux de complexité différents. Ces données sont décrites dans le tableau \ref{tabDataSet}. Les notes des apprenants sont générées selon la loi de probabilité logit-normale considérée comme la plus fidèle dans ce contexte par \cite{Arthurs}.

L'ensemble de données générées résulte d'une simulation des notes obtenues par des apprenants virtuels ayant répondu à quinze questions réparties sur cinq niveaux de complexité. L'ensemble de données simule, via la distribution de probabilité logit-normale, une faiblesse dans chaque niveau de complexité pour 70\% des apprenants sur les dix premières questions. La difficulté de la complexité est quant à elle simulée en réduisant le score moyen et en augmentant la variance. La figure \ref{figData} représente la manière dont sont réparties les notes selon le niveau de complexité.

\begin{figure}
\includegraphics[width=\textwidth]{./Figures/dataset.png}
\caption{Répartition des notes générées selon le niveau de complexité.}
\label{figData} 
\end{figure}

\begin{table}[!ht]
\centering
\begin{tabular}{ccc}
ID&Description&Domaine\\
\hline
$q_{c}$&Niveau de complexité de la question $q$&$\{0, 1, 2,...,cn\}$\\
$q_{g,c}$&Note obtenue $g$ pour la question $q$ avec une complexité $c$ &$[0,g_m]$\\
$q_{t,c}$&Temps pris $t$ pour une question $q$ avec complexité $c$&$[0, t_m]$\\
\end{tabular}
\caption{Description des données utilisées pour l'évaluation.}
\label{tabDataSet}
\end{table}

Toutes les valeurs des paramètres pour tester l'algorithme sont dans le tableau \ref{tabgm1}.

\begin{table}[!ht]
\centering
\begin{tabular}{c|cccccccccccccc}
ID&$cn$&$g_m$&$t_m$&$s$&$s_c$&$\lambda$&$g_t$&$\alpha_{1}$&$\alpha_{x}$&$\beta_{1}$&$\Delta \beta_{x}$&$\Delta_1$&$\Delta_2$&$\Delta_3$\\
\hline
Valeur&5&10&120&3&2&0.25&6 & 2 & 1 & 1 & 1 & 0.3 & 0.5 & 0.7\\
\end{tabular}
\caption{Valeurs des paramètres pour les scénarios évalués.}
\label{tabgm1}
\end{table}
La figure \ref{figCmp2} permet de comparer les résultats obtenus par le module proposé, un système de recommandation déterministe et le système AI-VT initial lors d'un \textit{démarrage à froid} (c'est-à-dire sans données historiques ni informations préalables sur le profil de l'apprenant). Sur les graphiques de cette figure, les numéros des questions posées sont reportées en abscisse selon l'ordre chronologique d'apparition durant la séance d’entraînement, le niveau de complexité de chaque question posée est représenté par une couleur différente, et le nombre d'apprenants ayant eu des questions de ce niveau de complexité sont reportés en ordonnées. Ainsi, le système AI-VT initial (premier graphique de la figure) et le système de recommandation déterministe (deuxième graphique) ont tous deux proposé trois questions de niveau de complexité 0 (le plus faible) à tous les apprenants au démarrage de la séance d'entraînement. Nous pouvons remarquer que le système initial est resté sur le niveau de complexité 0 durant toute la séance (pour les 15 questions du test), tandis que le système de recommandation déterministe a progressivement mixé les complexités des questions posées. Le système de recommandation stochastique décrit dans ce chapitre a quant à lui mixé ces niveaux de complexité dès la première question.

Ainsi, les systèmes de recommandation permettent de proposer une adaptation progressive du niveau de complexité en fonction des notes obtenues. L'algorithme déterministe génère quatre grandes transitions avec un grand nombre d'apprenants dans les questions 5, 6, 8 et 12, toutes entre des niveaux de complexité contigus. La tendance est à la baisse pour les niveaux 0, 1 et 2 après la huitième question et à la hausse pour les niveaux 1 et 3. L'algorithme stochastique commence par proposer tous les niveaux de complexité possibles tout en privilégiant le niveau 0. Avec ce système, les transitions sont constantes mais pour un petit nombre d'apprenants. La tendance après la dixième question est à la baisse pour les niveaux 0 et 4 et à la hausse pour les niveaux 1, 2 et 3. 

\begin{figure}
\includegraphics[width=\textwidth]{./Figures/comp2.png} 
\caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la première séance avec un démarrage à froid (sans données initiales sur les apprenants). Gauche - RàPC, centre - recommandation déterministe (DM), droite - moyenne de 100 exécutions de recommandation stochastique (SM).}
\label{figCmp2}
\end{figure}

Après la génération de la première séance, le système peut continuer avec une deuxième liste d'exercices. Pour cette partie des tests, les trois algorithmes ont été initialisés avec les mêmes données, et des valeurs égales pour tous les apprenants. La figure \ref{figCmp3} permet de voir que la première transition du système initial n'intervient qu'entre deux séances. Les transitions sont très lentes, et tous les apprenants doivent suivre un chemin identique même s'ils obtiennent des notes différentes au cours de celle-ci. 

Pour leur part, les deux autres systèmes de recommandation testés proposent un fonctionnement différent. L'algorithme déterministe présente trois transitions aux questions 3, 5 et 12. Les tendances y sont relativement homogènes et progressives pour le niveau 3, très variables pour le niveau 2 et fortement décroissantes pour le niveau 0. L'algorithme stochastique quant à lui, propose des transitions douces mais il a tendance à toujours privilégier le niveau le plus faible. Nous pouvons observer une prépondérance du niveau 1 avec ce système. Ici, les niveaux 0 et 1 sont décroissants, le niveau 2 est statique et les niveaux 3 et 4 sont ascendants.

\begin{figure}
\includegraphics[width=\textwidth]{./Figures/comp3.png} 
\caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la deuxième séance. À gauche - RàPC, au centre - recommandation déterministe (DM), à droite - moyenne de 100 exécutions de recommandation stochastique (SM).}
\label{figCmp3}
\end{figure}

Les questions de la première et la deuxième séance étant de niveaux 0 et 1, le système a proposé des niveaux de complexité 1 ou 2 pour la troisième séance. La figure \ref{figCmp4} permet de voir que le système initial est très lent à passer d'un niveau à l'autre. La figure \ref{figCmp3} permet de voir la première transition du système initial ne réagissant qu'aux notes obtenues dans les séances précédentes et non à celles de la séance en cours.  Dans ce cas, l'algorithme de recommandation déterministe adopte la même stratégie et propose un changement brutal à tous les apprenants autour de la cinquième question. L'algorithme stochastique continue avec des changements progressifs tout en privilégiant le niveau 2. 

\begin{figure}
\includegraphics[width=\textwidth]{./Figures/comp4.png} 
\caption{Niveaux de complexité des questions posées aux apprenants par les trois systèmes testés lors de la troisième séance. À gauche - RàPC, au centre - recommandation déterministe (DM), à droite - moyenne de 100 exécutions de recommandation stochastique (SM).}
\label{figCmp4}
\end{figure}

Pour comparer numériquement le système initial, l'algorithme déterministe et l'algorithme de recommandation proposé, un ensemble d'équations a été défini (équation \ref{eqMetric1} et équation \ref{eqMetric2}). Celles-ci permettent de décrire le système de recommandation idéal si l'objectif de l'apprenant est de suivre un apprentissage standard, c'est à dire le parcours où l'objectif est d'avancer dans l'acquisition de la connaissance et les niveaux de complexité. Une valeur est calculée pour chaque niveau de complexité en fonction de la moyenne des notes et du nombre de questions recommandées dans ce niveau de complexité. L'objectif de cette mesure est d'attribuer un score élevé aux systèmes de recommandation qui proposent plus d'exercices au niveau de complexité où l'apprenant a obtenu une note moyenne plus basse. Cela permet ainsi à l'apprenant de renforcer ses connaissances pour ce niveau de complexité. De la même manière, il est attendu que le système de recommandation propose moins d'exercices aux niveaux de complexité pour lesquels les notes moyennes sont élevées, l'apprenant ayant acquis des connaissances suffisantes à ces niveaux de complexité. Les scores faibles sont attribués aux systèmes qui recommandent peu d'exercices à des niveaux de complexité dont les notes moyennes sont faibles et, inversement, s'ils proposent beaucoup d'exercices à des niveaux de complexité dont les notes moyennes sont élevées.

\begin{equation}
%r_c=x+y-2xy
%r_c=x^2+y^2-2x^2y^2
rp_c(x)=e^{-2(x_{0}+x_{1}-1)^2}; x_{0} \in [0, 1] \wedge x_{1} \in [0, 1]
\label{eqMetric1}
\end{equation}

\begin{equation}
r=\sum_{c=0}^{cn-1} rp_c
\label{eqMetric2}
\end{equation}

Les propriétés de la métrique sont : 
\begin{itemize}
    \item $\forall x \in [0,1]^2,  rp_c(x)>0$
    \item $max(rp_c(x))=1; \; si \; x_{0}+x_{1}=1$
    \item $min(rp_c(x))=0.1353; \; si \; \left ( \sum_{i=0}^1 x_{i}=0 \; \lor \; \sum_{i=0}^1 x_{i} = 2 \right )$\\
\end{itemize}

Dans l'équation \ref{eqMetric1}, $x_{0,c}$ est la moyenne normalisée des notes dans le niveau de complexité $c$ (équation \ref{eqXc}), et $x_{1,c}$ est le nombre normalisé de questions auxquelles des réponses ont été données dans le niveau de complexité $c$ (équation \ref{eqYc}). Ainsi, plus la valeur de $r$ est élevée, meilleure est la recommandation.

%\begin{equation}
%x_{0,c}=\frac{\langle g_c \rangle _{G_c}}{g_m}
%\label{eqXc}
%\end{equation}

\begin{equation}
x_{0,c}=\frac{\langle G_c \rangle}{g_m}
\label{eqXc}
\end{equation}

\begin{equation}
x_{1,c}=\frac{ny_c}{n_c}
\label{eqYc}
\end{equation}

La figure \ref{figMetric} représente la fonction $rp_c(x)$. La valeur maximale de $r$ dans un niveau de complexité spécifique étant égale à $1$, la valeur maximale globale pour les scénarios testés est égale à 5. 

\begin{figure}
\includegraphics[width=\textwidth]{./Figures/metric.png} 
\caption{Fonction d'évaluation de la qualité de la recommandation pour un parcours standard.}
\label{figMetric}
\end{figure}

Les résultats des calculs de la métrique $rp_c(x)$ établie pour le système initial et les deux algorithmes dans les trois scénarios testés sont présentés dans le tableau \ref{tabRM}.

\begin{table}[!ht]
\centering
\begin{tabular}{cccccccc}
&$c_0$&$c_1$&$c_2$&$c_3$&$c_4$&Total ($r$)&Total ($\%$)\\
\hline
Test 1\\
\hline
RàPC&0.5388&-&-&-&-&0.5388&10.776\\
DM&0.8821&0.7282&\textbf{0.9072}&\textbf{0.8759}&-&3.3934&67.868\\
SM&\textbf{0.9463}&\textbf{0.8790}&0.7782&0.7108&0.6482&\textbf{3.9625}&\textbf{79.25}\\
\hline
Test 2\\
\hline
RàPC&0.9445&\textbf{0.9991}&-&-&-&1.9436&38.872\\
DM&-&0.9443&\textbf{0.8208}&\textbf{0.9623}&-&2.7274&54.548\\
SM&\textbf{0.9688}&0.9861&0.8067&0.7161&0.6214&\textbf{4.0991}&\textbf{81.982}\\
\hline
Test3\\
\hline
RàPC&-&0.8559&0.7377&-&-&1.5936&31.872
\\
DM&-&-&0.5538&\textbf{0.7980}&-&1.3518&27.036\\
SM&0.9089&\textbf{0.9072}&\textbf{0.9339}&0.7382&0.6544&\textbf{4.1426}&\textbf{82.852}\\
\end{tabular}
\caption{Résultats de la métrique $rp_c(x)$ (RàPC - Système sans module de recommandation, DM - Module de recommandation déterministe, SM - Module de recommandation stochastique)}
\label{tabRM}
\end{table}

Les équations \ref{eqMetricS1} et \ref{eqMetricS2} permettent de caractériser un apprentissage progressif ou de révision, où l'objectif est de renforcer la connaissance de chaque niveau de complexité avant d'avancer au suivant. Dans ce cas, un score élevé est attribué aux systèmes proposant plus d'exercices dans un niveau de complexité où les notes moyennes sont légèrement insuffisantes (4/10), plus flexibles avec des notes moyennes plus basses, et un petit nombre d'exercices pour des notes moyennes élevées. Les scores faibles sont attribués aux systèmes qui recommandent de nombreuses questions dans un niveau de complexité avec des notes moyennes élevées ou faibles.

\begin{equation}
rs_c(x)=e^{-\frac{2}{100}(32x_{0}^2-28x_{0}+10x_{1}-4)^2}; x_{0} \in [0, 1] \wedge x_{1} \in [0, 1]
\label{eqMetricS1}
\end{equation}

\begin{equation}
r=\sum_{c=0}^{cn-1} rs_c
\label{eqMetricS2}
\end{equation}

Les propriétés de la métrique sont : 
\begin{itemize}
    \item $\forall x \in [0, 1]^2,  rs_c(x)>0$
    \item $max(rs_c(x))=1; \; si \; 16x_{0}^2-14x_{0}+5x_{1}-2=0$\\
\end{itemize}

La figure \ref{figMetric2} représente la fonction $rs_c(x)$. Comme pour $rp_c$, la valeur maximale de $r$ dans un niveau de complexité spécifique étant égale à $1$, la valeur maximale globale pour les scénarios testés est égale à 5.

Les résultats du calcul des métriques pour le système initial et les deux algorithmes dans les trois scénarios définis sont présentés dans le tableau \ref{tabRM2}.

\begin{figure}[!ht]
\centering
\includegraphics[width=\textwidth]{./Figures/metric2.png}
\caption{Fonction d'évaluation de la qualité de la recommandation pour un apprentissage progressif.}
\label{figMetric2}
\end{figure}

\begin{table}[!ht]
\centering
\begin{tabular}{cccccccc}
&$c_0$&$c_1$&$c_2$&$c_3$&$c_4$&Total ($r$)&Total ($\%$)\\
\hline
Séance 1\\
\hline
RàPC&\textbf{0.9979}&-&-&-&-&0.9979&19.96\\
DM&0.8994&0.1908&\textbf{0.3773}&\textbf{0.2990}&-&1.7665&35.33\\
SM&0.8447&\textbf{0.3012}&0.2536&0.2030&\textbf{0.1709}&\textbf{1.7734}&\textbf{35.47}\\
\hline
Séance 2\\
\hline
RàPC&\textbf{0.4724}&\textbf{0.7125}&-&-&-&1.1849&23.70\\
DM&-&0.6310&\textbf{0.3901}&\textbf{0.4253}&-&1.4464&28.93\\
SM&0.2697&0.7089&0.2634&0.2026&\textbf{0.1683}&\textbf{1.6129}&\textbf{32.26}\\
\hline
Séance 3\\
\hline
RàPC&-&\textbf{0.9179}&0.2692&-&-&1.1871&23.74
\\
DM&-&-&0.2236&\textbf{0.9674}&-&1.191&23.82\\
SM&0.1873&0.3038&\textbf{0.6345}&0.2394&\textbf{0.1726}&\textbf{1.5376}&\textbf{30.75}\\
\end{tabular}
\caption{Évaluation des recommandations proposées selon $rs_c(x)$ par les différents systèmes de recommandation testés : RàPC - Système sans module de recommandation, DM - Algorithme déterministe, SM - Algorithme stochastique}
\label{tabRM2}
\end{table}

En complément, le tableau \ref{tabCS} présente les similarités entre toutes les recommandations faites aux apprenants par les trois systèmes et les trois séances d'entraînement. Pour ce faire, nous avons choisi d'appliquer l'équation \ref{eqCS} permettant de calculer une similarité cosinus entre deux vecteurs $A$ et $B$.

\begin{equation}
sc=\frac{\sum_{i=1}^n A_i B_i}{\sqrt{\sum_{i=1}^n A_i^2} \sqrt{\sum_{i=1}^n B_i^2}}
\label{eqCS}
\end{equation}

\begin{table}[!ht]
\centering
\begin{tabular}{cccc}
Système de recommandation & Séance 1 & Séance 2 & Séance 3\\
\hline
RàPC&1&1&1\\
DM&0.9540&0.9887&0.9989\\
SM&\textbf{0.8124}&\textbf{0.8856}&\textbf{0.9244}\\
\end{tabular}
\caption{Moyenne de la diversité des propositions pour tous les apprenants. Une valeur plus faible représente une plus grande diversité. (RàPC - Système sans module de recommandation, DM - Module déterministe, SM - Module stochastique).}
\label{tabCS}
\end{table}

\subsection{Discussion et conclusion}
Avec la génération d'exercices par le système de RàPC initial, AI-VT propose les mêmes exercices à tous les apprenants, et l'évolution des niveaux de complexité est très lente, un changement toutes les trois ou quatre séances environ. En effet, le système ne prend pas en compte les notes obtenues pendant la séance. Les systèmes intégrant l'un des modules de recommandation testés sont plus dynamiques et les évolutions sont plus rapides. En considérant les notes des apprenants, l'algorithme déterministe suggère des changements de niveaux à un grand nombre d'apprenants de manière soudaine, tandis que l'algorithme stochastique est plus axé sur la personnalisation individuelle et les changements de niveau de complexité sont produits pour un petit nombre d'apprenants. Les deux modules de recommandation proposés ont la capacité de détecter les faiblesses des apprenants et d'adapter la séance à leurs besoins particuliers.

Les données générées ont permis de simuler diverses situations avec les notes de mille apprenants, permettant ainsi d'évaluer le comportement des systèmes de recommandation avec différentes configurations.

Les résultats numériques montrent que les distributions des questions dans une séance par les deux modules de recommandation sont différentes bien que la tendance générale soit similaire. Les modules de recommandation proposés tentent de répartir les questions dans tous les niveaux de complexité définis. Globalement, le module de recommandation stochastique a obtenu un meilleur score. En comparaison du système initial, les modules de recommandation (déterministe et stochastique) proposent 15\% à 68\% d'adaptations de la complexité pour tous les niveaux. Pour cette raison, l'approche stochastique sera préférée à l'approche déterministe dans la suite des travaux de recherche.

Selon la métrique de la similarité cosinus, le module de recommandation stochastique augmente la diversité des propositions par rapport au système initial dans les trois séances d'entraînement testées, ce qui indique qu'en plus d'atteindre l'adaptabilité, des propositions personnalisées sont générées tout en maintenant l'objectif de progression des niveaux de compétence des apprenants. La diversité des propositions est une caractéristique essentielle de l'algorithme de recommandation dans ses deux versions.

Les modules de recommandation sont un élément essentiel pour certains EIAH car ils aident à guider le processus d'apprentissage individuel. Ils permettent également d'identifier les faiblesses et de réorienter le processus complet afin d'améliorer les connaissances et les compétences. Les deux modules de recommandation proposés peuvent détecter en temps réel les faiblesses de l'apprenant et tentent de réorienter la séance vers le niveau de complexité le plus adapté. Même si l'ensemble des données générées est une simulation de temps de réponse et de notes fictives d'apprenants fictifs, les tests démontrent la flexibilité et la robustesse des modules de recommandation proposés : les données relatives aux apprenants présentent en effet une grande diversité et obligent le système à s'adapter à différents types de configuration. Par conséquent, il est possible de conclure que les modules de recommandation proposés ont la capacité de fonctionner dans différentes situations et de proposer des chemins alternatifs et personnalisés pour améliorer le processus d'apprentissage global. 

\section{ESCBR-SMA et échantillonnage de Thompson}
\sectionmark{ESCBR-SMA et TS}

La section précédente a démontré l'intérêt de l'intégration d'un module de recommandation afin de proposer des exercices d'un niveau de difficulté adapté aux besoins de l'apprenant en fonction des difficultés décelées au cours de la séance d'entraînement. Le système AI-VT initial fondé sur le cycle du raisonnement à partir de cas et ne proposant que des adaptations entre deux séances d’entraînement consécutives, a été supplanté par l'intégration de modules de recommandation utilisés durant la phase de révision du cycle classique du RàPC. Les deux modules de recommandation testés dans la section précédente étaient l'un déterministe, l'autre stochastique. 

La section précédente a également démontré qu'il était possible et intéressant que les niveaux de complexité des exercices proposés puissent suivre des fonctions permettant de les faire fluctuer de manière progressive au cours de la séance, et ce afin que les apprenants ne soient pas confrontés à des difficultés changeant de manière trop abrupte durant l'entraînement. Cette étude nous amène donc à considérer la résolution de la génération d'une séance d'exercices sous l'angle de la régression. Nous proposons donc dans cette partie de montrer de quelle manière nous avons intégré et vérifié l'intérêt des outils définis dans le chapitre précédent dans l'EIAH AI-VT.

\subsection{Concepts associés}

Cette section présente les concepts, les définitions et les algorithmes nécessaires à la compréhension du module proposé. Le paradigme fondamental utilisé dans ce travail est le raisonnement à partir de cas (RàPC), qui permet d'exploiter les connaissances acquises et l'expérience accumulée pour résoudre un problème spécifique. L'idée principale est de rechercher des situations antérieures similaires et d'utiliser l'expérience acquise pour résoudre de nouveaux problèmes. Le RàPC suit classiquement un cycle de quatre étapes pour améliorer la solution d'inférence \citep{jmse11050890}.

L'un des algorithmes les plus couramment utilisés dans les EIAH pour adapter le contenu et estimer la progression du niveau de connaissance des apprenants est le BKT (\textit{Bayesian Knowledge Tracing}), nous utilisons les notations des auteurs de l'article \citep{ZHANG2018189}. Cet algorithme utilise quatre paramètres pour estimer la progression des connaissances. $P(k)$ estime la probabilité de connaissance dans une compétence spécifique. $P(w)$ est la probabilité que l'apprenant démontre ses connaissances. $P(s)$ est la probabilité que l'apprenant fasse une erreur. $P(g)$ est la probabilité que l'apprenant devine une réponse. La valeur estimée de la connaissance est mise à jour selon l'équation \ref{eqbkt3} en considérant la réponse de l'apprenant (nommée l'évidence par les auteurs de l'article) à l'intant $t$ en utilisant l'information de l'instant $t-1$. Si la réponse de l'apprenant est correcte, l'équation \ref{eqbkt1} est utilisée, mais si la réponse est incorrecte, l'équation \ref{eqbkt2} est utilisée.

\begin{equation}
    P(k_{t-1}|Correct_t)=\frac{P(k_{t-1})(1-P(s))}{P(k_{t-1})(1-P(s))+(1-P(k_{t-1}))P(g)}
    \label{eqbkt1}
\end{equation}

\begin{equation}
    P(k_{t-1}|Incorrect_t)=\frac{P(k_{t-1})P(s)}{P(k_{t-1})(P(s))+(1-P(k_{t-1}))(1-P(g))}
    \label{eqbkt2}
\end{equation}

\begin{equation}
    P(k_{t})=P(k_{t-1}|evidence_t)+(1-P(k_{t-1}|evidence_t))P(w)
    \label{eqbkt3}
\end{equation}

Le module de recommandation proposé, associé à AI-VT, est fondé sur le paradigme de l'apprentissage par renforcement. L'apprentissage par renforcement est une technique d'apprentissage automatique qui permet, par le biais d'actions et de récompenses, d'améliorer les connaissances du système sur une tâche spécifique \citep{NEURIPS2023_9d8cf124}.  Nous nous intéressons ici plus particulièrement à l'échantillonnage de Thompson, qui, par le biais d'une distribution de probabilité initiale (distribution a priori) et d'un ensemble de règles de mise à jour prédéfinies, peut adapter et améliorer les estimations initiales d'un processus \citep{pmlr-v238-ou24a}. La distribution de probabilité initiale est généralement définie comme une distribution spécifique de la famille des distributions \textit{Beta} (équation \ref{fbeta}) avec des valeurs initiales prédéterminées pour $\alpha$ et $\beta$ \citep{math12111758}, \citep{NGUYEN2024111566}.

%\begin{equation}
%    Beta(x,\alpha,\beta)=\begin{cases}
%        \frac{(x^{\alpha -1})(1-x)^{\beta -1}}{\int_0^1(u^{\alpha -1})(1-u)^{\beta -1} du}&x \in [0, 1]\\
%        0&otherwise
%    \end{cases}
%\end{equation}

\begin{equation}
    Beta(\theta | \alpha, \beta) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1}
    \label{fbeta}
\end{equation}

En utilisant la définition formelle de la fonction $\Gamma$ (équation \ref{eqGamma1}) et en remplaçant certaines variables, une nouvelle expression de la fonction \textit{Beta} est obtenue (équation \ref{f2beta}).

\begin{equation}
    \Gamma(z)=\int_0^\infty e^{-x} x^{z-1} dx
    \label{eqGamma1}
\end{equation}

\begin{equation}
    Beta(\theta | \alpha, \beta) = \frac{\int_0^\infty e^{-s} s^{\alpha+\beta-1}ds}{\int_0^\infty e^{-u} u^{\alpha-1}du\int_0^\infty e^{-v} v^{\beta-1}dv}\theta^{\alpha-1}(1-\theta)^{\beta-1}
    \label{f2beta}
\end{equation}

En exprimant les deux intégrales du dénominateur comme une seule intégrale, l'équation \ref{f3Beta} est obtenue.

\begin{equation}
    \int_{u=0}^{\infty}\int_{v=0}^\infty e^{-u-v} u^{\alpha-1} v^{\beta-1}du dv
    \label{f3Beta}
\end{equation}

Le Jacobien est ensuite calculé en remplaçant les termes par $u=st$, $v=s(1-t)$, $s=u+v$ et $t=u/(u+v)$ dans l'équation \ref{eqJac}, menant ainsi à l'expression finale définie par l'équation \ref{f4Beta}.

\begin{equation}
    \left (
    \begin{matrix}
        \frac{\partial u}{\partial t} & \frac{\partial u}{\partial s}\\
        \frac{\partial v}{\partial t} & \frac{\partial v}{\partial s}\\
    \end{matrix}
    \right ) =
    \left (
    \begin{matrix}
        sdt & tds \\
        -sdt & (1-t)ds\\
    \end{matrix}
    \right ) = s \; dtds
    \label{eqJac}
\end{equation}

\begin{equation}
    \int_{s=0}^\infty \int_{t=0}^1 e^{-s}(st)^{\alpha-1}(s(1-t))^{\beta-1}s \; dsdt
    \label{f4Beta}
\end{equation}

Viennent ensuite les équations \ref{f5Beta} et \ref{f6Beta} en exprimant les intégrales en fonction des variables de substitution indépendantes $s$ et $t$.

\begin{equation}
    \int_{s=0}^\infty e^{-s}s^{\alpha+\beta-1}ds \int_{t=0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt
    \label{f5Beta}
\end{equation}

\begin{equation}
    Beta(\theta | \alpha, \beta) = \frac{\int_0^\infty e^{-s} s^{\alpha+\beta-1}ds}{\int_{s=0}^\infty e^{-s}s^{\alpha+\beta-1}ds \int_{t=0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt
}\theta^{\alpha-1}(1-\theta)^{\beta-1}
    \label{f6Beta}
\end{equation}

Finalement, la famille de fonctions de distribution \textit{Beta} peut être calculée selon l'équation \ref{f7Beta}. 

\begin{equation}
    Beta(\theta | \alpha, \beta) = \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{\int_{0}^1 t^{\alpha-1}(1-t)^{\beta-1}dt
    }
    \label{f7Beta}   
\end{equation}

L'évolution de l'algorithme de recommandation TS résulte du changement des distributions de probabilité. Il est à noter qu'au moment de quantifier l'évolution, le changement et la variabilité doivent être calculés en fonction du temps. Les distributions de probabilités peuvent être comparées pour déterminer leur degré de similitude. 

Par ailleurs, l'apprentissage automatique utilise la divergence de Kullback-Leibler ($D_{KL}$), qui décrit l'entropie relative de deux distributions de probabilités. Cette fonction est fondée sur le concept d'entropie et le résultat peut être interprété comme la quantité d'informations nécessaires pour obtenir la distribution de probabilité $q(x)$ à partir de la distribution de probabilité $p(x)$. Bien que largement utilisée, la divergence de Kullback-Leibler (équation \ref{dkl}) présente toutefois l'inconvénient de ne pas être une mesure symétrique, elle ne satisfait pas à l'inégalité triangulaire et n'est pas bornée \citep{Li_2024}. Pour remédier à cette difficulté, il est possible d'utiliser la divergence de Jensen-Shannon.

\begin{equation}
    D_{KL}(p(x),q(x))=\int_{-\infty}^{\infty}p(x) log \left(\frac{p(x)}{q(x)} \right)dx
    \label{dkl}
\end{equation}

La divergence de Jenser-Shannon ($D_{JS}$) est fondée sur la divergence de Kullback-Leibler. Une distribution de probabilité auxiliaire $m(x)$ est créée dont la définition est fondée sur les distributions initiales $p(x)$ et $q(x)$ \citep{Kim2024}. L'équation \ref{djs} montre la définition formelle de la divergence de Jensen-Shannon, où $m(x)$ est une distribution de mélange de probabilités fondée sur $p(x)$ et $q(x)$. Celle-ci est calculée selon l'équation \ref{djs2}. Les distributions de probabilité à comparer doivent être continues et définies dans le même domaine.

%Jensen-Shannon Divergence (equations \ref{djs}, \ref{djs2}).\\

\begin{equation}
    D_{JS}(p(x),q(x))=\frac{1}{2}D_{KL}(p(x), m(x))+\frac{1}{2}D_{KL}(q(x), m(x))
    \label{djs}
\end{equation}

\begin{equation}
    m(x)=\frac{1}{2}p(x)+\frac{1}{2}q(x)
    \label{djs2}
\end{equation}

La prédiction utilisée dans le module proposé ici a été présentée dans le chapitre \ref{ChapESCBR}. Il s'agit d'un algorithme d'empilement de raisonnement à partir de cas mettant en œuvre deux niveaux d'intégration. Le module utilise globalement la stratégie d'empilement pour exécuter plusieurs algorithmes afin de rechercher des informations dans un ensemble de données et générer des solutions à différents problèmes génériques. En outre une étape d'évaluation permet de sélectionner la solution la plus optimale pour un problème donné en fonction d'une métrique adaptative définie pour les problèmes de régression. 
	
\subsection{Algorithme proposé}
\label{Sec:TS-ESCBR-SMA}

Nous proposons ici une intégration de l'algorithme d'adaptation stochastique (fondé sur l'échantillonnage de Thompson) avec ESCBR-SMA. Ainsi, le module de recommandation révise la séance en fonction des notes de l'apprenant et ESCBR-SMA effectue une prédiction pour valider l'adaptation générée.

L'idée est d'unifier les deux modules en se fondant à la fois sur des informations locales (recommandation fondée sur l'échantillonnage de Thompson (TS) et les informations propres à l'apprenant), et sur des informations globales (cas similaires de la base de connaissances du système de RàPC en suivant le principe du paradoxe de Stein) car le RàPC combine différentes observations pour réaliser une estimation.

L'architecture de l'algorithme est présentée sur la figure \ref{fig:Amodel}, où l'on peut voir que les deux algorithmes TS et RàPC sont exécutés en parallèle et indépendamment. Des synchronisations sont faites après obtention des résultats de chaque module. Ces résultats sont unifiés via une fonction de pondération. La recommandation finale est calculée selon l'équation \ref{eqMixModels_}. Le \textit{paradoxe de Simpson} est un paradoxe dans lequel un phénomène observé dans plusieurs groupes s'inverse lorsque les groupes sont combinés \citep{10.1145/3578337.3605122}. L'unification d'ensembles de données différents peut atténuer ce paradoxe \citep{lei2024analysis}. 

\begin{figure}
    \centering
    \includegraphics[width=0.7\linewidth]{Figures/Model.png}
    \caption{Schéma de l'architecture de l'algorithme proposé.}
    \label{fig:Amodel}
\end{figure}

La première étape est l'adaptation avec l'échantillonnage de Thompson. Vient ensuite la prédiction via ESCBR-SMA. Enfin, le processus se termine par la prise de décision concernant la suite de la séance à délivrer à l'apprenant. Le système de recommandation obtient une valeur de probabilité pour tous les niveaux de complexité et l'ECBR-SMA évalue la proposition avec une prédiction pour chaque niveau de complexité. Le tableau \ref{tabvp} présente les variables et les paramètres du module proposé ainsi que les mesures employées. 

\begin{table}[!ht]
    \centering
    \footnotesize
    \begin{tabular}{c|c|>{\centering\arraybackslash}p{8cm}|c}
    ID&Type&Description&Domaine\\
    \hline
    $\alpha$&p&Paramètre de la distribution \textit{Beta}&$[1, \infty[$\\
    $\beta$&p&Paramètre de la distribution \textit{Beta}&$[1, \infty[$\\
    $t$&p&Numéro de l'itération&$\mathbb{N}$\\
    $c$&p&Niveau de complexité&$\mathbb{N}$\\
    $x_c$&p&Notes moyennes par niveau de complexité $c$&$\mathbb{R}$\\
    $y_c$&p&Nombre de questions par niveau de complexité $c$&$\mathbb{N}$\\
    $r$&f&Fonction suivie pour la recommandation&$[0,1]$\\
    $k_{t,c}$&v&Évolution de la connaissance dans le temps $t$ pour le niveau de complexité $c$&$[0,1]$\\
    $vk_{t,c}$&v&Évolution de la connaissance pour chaque niveau de complexité $c$&$\mathbb{R}$\\
    $TS_c$&v&Récompense d'échantillonnage de Thompson pour un niveau de complexité $c$&$[0,1]$\\
    $TSN_c$&v&Normalisation de $TS_c$ avec d'autres niveaux de complexité&$[0,1]$\\
    $ESCBR_c$&v&Prédiction de la note pour un niveau de complexité $c$&$\mathbb{R}_+$\\
    $p_c$&f&Fonction de densité de probabilité pour le niveau de complexité $c$&$\mathbb{R}_+$\\
    $D_{JS}$&f&Divergence de Jensen-Shannon&$[0,1]$\\
        
    \end{tabular}
    \caption{Paramètres (p), variables (v) et fonctions (f) de l'algorithme proposé et des métriques utilisées.}
    \label{tabvp}
\end{table}

Pour rappel, le processus de recommandation se fait en trois étapes. Tout d'abord, il est nécessaire d'avoir des valeurs aléatoires pour chaque niveau de complexité $c$ en utilisant les distributions de probabilité générées avec le algorithme TS (équation \ref{IntEq1_}). Une fois que toutes les valeurs de probabilité correspondant à tous les niveaux de complexité ont été obtenues, la normalisation de toutes ces valeurs est calculée selon l'équation \ref{IntEq2_}. Les valeurs de normalisation servent de paramètres de priorité pour les prédictions effectuées par ESCBR-SMA (équation \ref{eqMixModels_}). La recommandation finalement proposée est celle dont la valeur est la plus élevée.

\begin{equation}
    TS_c \sim (Beta(\alpha_c, \beta_c))
    \label{IntEq1_}
\end{equation}

\begin{equation}
    TSN_c=\frac{TS_c}{\sum_{i=0}^4TS_i}
    \label{IntEq2_}
\end{equation}

\begin{equation}
    n_c=argmax_c(TSN_c*ESCBR_c)
    \label{eqMixModels_}
\end{equation}

\subsection{Résultats et discussion}

Le principal inconvénient posé par la validation d'un tel système « en situation réelle » est la difficulté à collecter des données et à évaluer des systèmes différents dans des conditions strictement similaires. Cette difficulté est accentuée dans les contextes d'apprentissage autorégulés, puisque les apprenants peuvent quitter la plateforme d'apprentissage à tout moment rendant ainsi les données incomplètes \citep{badierhal-04092828}.

Pour cette raison, les différentes approches proposées ont été testées sur des données générées : les notes et les temps de réponse de 1000 apprenants fictifs et cinq questions par niveau de complexité. Les notes des apprenants ont été créées en suivant la loi de distribution \textit{logit-normale} que nous avons jugée proche de la réalité de la progression d'un apprentissage \citep{Data}.

Quatre séries de tests ont été effectuées. La première série a été menée sur le système AI-VT intégrant le système de RàPC pour la régression afin de démontrer la capacité de l'algorithme à prédire les notes à différents niveaux de complexité.
La deuxième série de tests a évalué la progression des connaissances avec TS afin d'analyser la capacité du module à proposer des recommandations personnalisées. Lors de la troisième série de tests, nous avons comparé les algorithmes de recommandation BKT et TS. Enfin, lors de la quatrième série de tests, nous avons comparé TS seul et TS avec ESCBR-SMA.

\subsubsection{Régression avec ESCBR-SMA pour l'aide à l'apprentissage humain}

Le SMA que nous avons implémenté utilise un raisonnement bayésien, ce qui permet aux agents d'apprendre des données et d’interagir au cours de l'exécution et de l'exploration.

ESCBR-SMA utilise une fonction noyau pour obtenir la meilleure approximation de la solution du problème cible. Dans notre cas, l'obtention de la meilleure solution est un problème NP\-Difficile car la formulation est similaire au problème de Fermat-Weber à $N$ dimensions \citep{doi10.1137/23M1592420}.

Les différents scénarios du tableau \ref{tab:scenarios} ont été considérés dans un premier temps. Dans le scénario $E_1$, il s'agit de prédire la note d'un apprenant au premier niveau de complexité, après 3 questions. Le scénario $E_2$ considère les notes de 8 questions et l'objectif est de prédire la note de la neuvième question dans le même niveau de complexité. Le scénario $E_3$ interpole la neuvième note que l'apprenant obtiendrait si la neuvième question était de niveau de complexité supérieur à celui de la huitième question. Cette interpolation est faite sur la base des notes obtenues aux quatre questions précédentes. Le scénario $E_4$ considère 4 questions et le système doit interpoler 2 notes dans un niveau de complexité supérieur.

\begin{table}[!ht]
    \centering
    \begin{tabular}{ccc}
    Scénario&Caractéristiques du problème&Dimension de la solution\\
    \hline
      $E_1$  &  5 & 1\\
      $E_2$   & 15& 1\\
      $E_3$   & 9 & 1\\
      $E_4$   & 9 & 2\\
    \end{tabular}
    \caption{Description des scénarios.}
    \label{tab:scenarios}
\end{table}

ESCBR-SMA a été comparé aux neuf outils classiquement utilisés pour résoudre la régression consignés dans le tableau \ref{tabAlgs} et selon l'erreur quadratique moyenne (RMSE - \textit{Root Mean Squared Error}), l'erreur médiane absolue (MedAE - \textit{Median Absolute Error}) et l'erreur moyenne absolue (MAE - \textit{Mean Absolute Error}).

\begin{table}[!ht]
\centering
\footnotesize
\begin{tabular}{ll|ll}
ID&Algorithme&ID&Algorithme\\
\hline
A1&Linear Regression&A6&Polinomial Regression\\
A2&K-Nearest Neighbor&A7&Ridge Regression\\
A3&Decision Tree&A8&Lasso Regression\\
A4&Random Forest (Ensemble)&A9&Gradient Boosting (Ensemble)\\
A5&Multi Layer Perceptron&A10&Proposed Ensemble Stacking RàPC\\
\end{tabular}
\caption{Liste des algorithmes évalués.}
\label{tabAlgs}
\end{table}

Le tableau \ref{tab:results} présente les résultats obtenus par les 10 algorithmes sur les quatre scénarios. Ces résultats montrent qu'ESCBR-SMA (A10) et le \textit{Gradient Boosting} (A9) obtiennent toujours les deux meilleurs résultats. Si l'on considère uniquement la RMSE, ESCBR-SMA occupe toujours la première place sauf pour $E_3$ où il est deuxième. Inversement, en considérant l'erreur médiane absolue ou l'erreur moyenne absolue, A10 se classe juste après A9.  ESCBR-SMA et le \textit{Gradient Boosting} sont donc efficaces pour interpoler les notes des apprenants.

\begin{table}[!ht]
    \centering
    \footnotesize
    \begin{tabular}{c|cccccccccc}
        &\multicolumn{10}{c}{\textbf{Algorithme}}\\
        \hline
        &  A1&A2&A3&A4&A5&A6&A7&A8&A9&A10\\
    \textbf{Scenario (Métrique)}\\
    \hline
		$E_1$ (RMSE)&0.625&0.565&0.741&0.56&0.606&0.626&0.626&0.681&0.541&\textbf{0.54}\\
        $E_1$ (MedAE) & 0.387&0.35&0.46&0.338&0.384&0.387&0.387&0.453&\textbf{0.327}&0.347\\
        $E_1$ (MAE) &0.485&0.436&0.572&0.429&0.47&0.485&0.485&0.544&\textbf{0.414}&0.417\\
        \hline
        $E_2$ (RMSE)&        0.562&0.588&0.78&0.571&0.61&0.562&0.562&0.622&0.557&\textbf{0.556}\\
        $E_2$ (MedAE)&0.351&0.357&0.464&0.344&0.398&0.351&0.351&0.415&\textbf{0.334}&0.346\\
        $E_2$ (MAE)&0.433&0.448&0.591&0.437&0.478&0.433&0.433&0.495&\textbf{0.422}&0.429\\
        \hline
        $E_3$ (RMSE)&0.591&0.59&0.79&0.57&0.632&0.591&0.591&0.644&\textbf{0.555}&0.558\\
        $E_3$ (MedAE)&0.367&0.362&0.474&0.358&0.404&0.367&0.367&0.433&\textbf{0.336}&0.349\\
        $E_3$ (MAE)&0.453&0.45&0.598&0.441&0.49&0.453&0.453&0.512&\textbf{0.427}&0.43\\
        \hline
        $E_4$ (RMSE)&0.591&0.589&0.785&0.568&0.613&0.591&0.591&0.644&0.554&\textbf{0.549}\\
        $E_4$ (MedAE)&0.367&0.362&0.465&0.57&0.375&0.367&0.367&0.433&\textbf{0.336}&0.343\\
        $E_4$ (MAE)&0.453&0.45&0.598&0.438&0.466&0.453&0.453&0.512&0.426&\textbf{0.417}\\
    \end{tabular}
    \caption{Erreurs moyennes et médianes des interpolations des 10 algorithmes sélectionnés sur les 4 scénarios considérés et obtenues après 100 exécutions.}
    \label{tab:results}
\end{table}

\subsubsection{Progression des connaissances}

L'algorithme de recommandation TS est fondé sur le paradigme bayésien le rendant ainsi particulièrement adapté aux problèmes liés à la limitation de la quantité de données et à une incertitude forte. Afin de quantifier la connaissance et de voir sa progression dans le temps avec TS, la divergence de Jensen-Shannon avec la famille de distribution \textit{Beta} en $t$ et $t-1$ a été mesurée. Le tableau \ref{tabvp} présente les variables et les paramètres du module proposé ainsi que les mesures employées. L'équation \ref{eqprog1} décrit formellement le calcul à effectuer avec les distributions de probabilité en un temps $t$ pour un niveau de complexité $c$, en utilisant la définition $m$ (équation \ref{eqprog2}).

%\begin{equation}
\begin{multline}
    k_{t,c}=\frac{1}{2}
\int_{0}^{1}p_c(\alpha_t,\beta_t,x) log \left(\frac{p_c(\alpha_t,\beta_t,x)}{m(p_c(\alpha_{t-1},\beta_{t-1},x),p_c(\alpha_t,\beta_t,x))} \right)dx
\\
+\frac{1}{2}
\int_{0}^{1}p_c(\alpha_{t-1},\beta_{t-1},x) log \left(\frac{p_c(\alpha_{t-1},\beta_{t-1},x)}{m(p_c(\alpha_{t-1},\beta_{t-1},x),p_c(\alpha_t,\beta_t,x))} \right)dx
\label{eqprog1}
\end{multline}
%\end{equation}

\begin{multline}
    m(p(\alpha_{(t-1)},\beta_{(t-1)},x),p(\alpha_{t},\beta_{t},x))=\frac{1}{2} \left( \frac{x^{\alpha_{(t-1)}-1}(1-x)^{\beta_{(t-1)}-1}}{\int_0^1 u^{\alpha_{(t-1)}-1}(1-u^{\beta_{(t-1)}-1})du} \right )\\
    +\frac{1}{2} \left (\frac{x^{\alpha_{t}-1}(1-x)^{\beta_{t}-1}}{\int_0^1 u^{\alpha_{t}-1}(1-u^{\beta_{t}-1})du} \right )
%\end{equation}
\label{eqprog2}
\end{multline}

La progression du nombre total de connaissances en $t$ est la somme des différences entre $t$ et $t-1$ pour tous les $c$ niveaux de complexité calculés avec la divergence de Jensen-Shannon (équation \ref{eqTEK}). Pour ce faire, nous évaluons la progression de la variabilité donnée par l'équation \ref{eqVarP}.

\begin{equation}
    vk_{t,c}=\begin{cases}
        D_{JS}(Beta(\alpha_{t,c},\beta_{t,c}), Beta(\alpha_{t+1,c},\beta_{t+1,c})), & \frac{\alpha_{t,c}}{\alpha_{t,c}+\beta_{t,c}} < \frac{\alpha_{t+1,c}}{\alpha_{t+1,c}+\beta_{t+1,c}}\\
        -D_{JS}(Beta(\alpha_{t,c},\beta_{t,c}), Beta(\alpha_{t+1,c},\beta_{t+1,c})),& Otherwise
    \end{cases}
    \label{eqVarP}
\end{equation}

\begin{equation}
    k_t=\sum_{c=4}^{c=0 \lor k_t \neq 0}
    \begin{cases}
    \alpha_{c-1} vk_{t,c-1};&vk_{t,c} > 0\\
    0;&Otherwise
    \end{cases}
    \label{eqTEK}
\end{equation}

\begin{figure}[!ht]
    \centering
    \includegraphics[width=\textwidth]{Figures/kEvol_TS.jpg}
    \caption{Progression des connaissances avec l'échantillonnage de Thompson selon la divergence de Jensen-Shannon.}
    \label{fig:evolution}
\end{figure}

La figure \ref{fig:evolution} affiche la progression cumulée des connaissances sur les quinze questions d'une même séance d'entraînement. L'augmentation de la moyenne du niveau de connaissance entre la première et la dernière question de la même séance montre que tous les apprenants ont statistiquement augmenté leur niveau de connaissance. La variabilité augmente à partir de la première question jusqu'à la question neuf, où le système a acquis plus d'informations sur les apprenants. À ce stade, la variabilité diminue et la moyenne augmente. 

\subsubsection{Système de recommandation avec un jeu de données d'apprenants réels}

Le système de recommandation TS a été testé avec un ensemble de données adaptées extraites de données réelles d'interactions d'apprenants avec un environnement d'apprentissage virtuel pour différents cours \citep{Kuzilek2017}. Cet ensemble contient les notes de $23366$ apprenants dans différents cours. Les apprenants ont été évalués selon différentes modalités (partiels, projets, QCM) \citep{Data}. Cet ensemble de données a pu être intégré au jeu de données d'AI-VT (notes, temps de réponse et 5 niveaux de complexité). Le test a consisté à générer une recommandation pour l'avant-dernière question en fonction des notes précédentes. Ce test a été exécuté 100 fois pour chaque apprenant. Les nombres de questions recommandées sont reportés sur la figure \ref{fig:stabilityBP2} pour chaque niveau de complexité. Celle-ci montre que malgré la stochasticité, la variance globale dans tous les niveaux de complexité est faible en fonction du nombre total d'apprenants et du nombre total de recommandations, et démontre ainsi la stabilité de l'algorithme.\\

\begin{figure}[!ht]
    \centering
    \includegraphics[width=1\linewidth]{Figures/stabilityBoxplot.png}
    \caption{Nombre de recommandations par niveau de complexité.}
    \label{fig:stabilityBP2}
\end{figure}

La précision de la recommandation pour tous les apprenants est évaluée en considérant comme comportement correct deux états : i) l'algorithme recommande un niveau où l'apprenant a une note supérieure ou égal à 6 et ii) l'algorithme recommande un niveau inférieur au niveau réel évalué par l'apprenant. Le premier cas montre que l'algorithme a identifié le moment précis où l'apprenant doit augmenter le niveau de complexité, le second cas permet d'établir que l'algorithme propose de renforcer un niveau de complexité plus faible. Puis la précision est calculée comme le rapport entre le nombre d'états correspondant aux comportements corrects définis et le nombre total de recommandations. La figure \ref{fig:precision} représente les résultats de cette métrique après 100 exécutions.\\

\begin{figure}[!ht]
    \centering
    \includegraphics[width=1\linewidth]{Figures/precision.png}
    \caption{Précision de la recommandation.}
    \label{fig:precision}
\end{figure}

\subsubsection{Comparaison entre TS et BKT}

La figure \ref{fig:EvGrades} permet de comparer la recommandation fondée sur l'échantillonnage de Thompson et celle fondée sur BKT. Cette figure montre l'évolution des notes des apprenants en fonction du nombre de questions auxquelles ils répondent dans la même séance. Dans ce cas, le TS génère moins de variabilité que BKT, mais les évolutions induites par les deux systèmes restent globalement très similaires. 

\begin{figure}[!ht]
    \centering
    \includegraphics[width=\textwidth]{Figures/GradesEv.jpg}
    \caption{Comparaison de l'évolution des notes entre les systèmes fondés sur TS et BKT.}
    \label{fig:EvGrades}
\end{figure}

Toutefois, si l'on considère l'évolution du niveau de complexité recommandé (figure \ref{fig:EvCL}), TS fait évoluer le niveau de complexité des apprenants, alors que BKT a tendance à laisser les apprenants au même niveau de complexité. Autrement dit, avec BKT, il est difficile d'apprendre de nouveaux sujets ou des concepts plus complexes au sein du même domaine. En comparant les résultats des deux figures (figures \ref{fig:EvGrades} et \ref{fig:EvCL}), TS permet de faire progresser la moyenne des notes et facilite l'évolution des niveaux de complexité.

\begin{figure}[!ht]
    \centering
    \includegraphics[width=\textwidth]{Figures/LevelsEv.jpg}
    \caption{Comparaison de l'évolution des niveaux entre les systèmes de recommandation fondés sur BKT et TS.}
    \label{fig:EvCL}
\end{figure}

\subsubsection{Système de recommandation avec ESCBR-SMA}

La troisième étape est l'association des deux algorithmes afin de combiner des observations qui ne sont pas directement liées l'une à l'autre, c'est-à-dire en utilisant l'information individuelle (recommandation avec Thomson) et le filtre collaboratif (interpolation avec ESCBR-SMA). Cette partie présente une comparaison entre le système de recommandation TS et le système de recommandation TS intégré à la prédiction ESCBR-SMA.

Les résultats proposés sont comparés après réponse des apprenants à six questions car il est nécessaire de disposer d'informations préalables pour utiliser l'algorithme ESCBR-SMA et prédire les notes dans tous les niveaux de complexité à la question suivante.

\subsubsection{Progression des connaissances TS vs TS et ESCBR-SMA}

Pour établir la différence entre le système de recommandation TS et ce même système associé à la prédiction fondée sur le raisonnement à partir de cas ESCBR-SMA, nous utiliserons la métrique de Jensen-Shannon (définie suivant les équations \ref{eqjs4} et \ref{eqjs5}). Dans ce cas la comparaison est faite sur le même niveau de complexité et dans le même temps $t$. 

\begin{multline}
    k_{t,c}=\frac{1}{2}
\int_{0}^{1}p_c(\alpha_{p1,t},\beta_{p1,t},x)
log \left(\frac{p_c(\alpha_{p1,t},\beta_{p1,t},x)}{m(p_c(\alpha_{p1,t},\beta_{p1,t},x),p_c(\alpha_{p2,t},\beta_{p2,t},x))} \right)dx
\\
+\frac{1}{2}
\int_{0}^{1}p_c(\alpha_{p2,t},\beta_{p2,t},x) log \left(\frac{p_c(\alpha_{p2,t},\beta_{p2,t},x)}{m(p_c(\alpha_{p1,t},\beta_{p1,t},x),p_c(\alpha_{p2,t},\beta_{p2,t},x))} \right)dx
\label{eqjs4}
\end{multline}
%\end{equation}

\begin{multline}
    m(p(\alpha_{p1,t},\beta_{p1,t},x),p(\alpha_{p2,t},\beta_{p2,t},x))=\frac{1}{2} \left( \frac{x^{\alpha_{p1,t}-1}(1-x)^{\beta_{p1,t}-1}}{\int_0^1 u^{\alpha_{p1,t}-1}(1-u^{\beta_{p1,t}-1})du} \right )\\
    +\frac{1}{2} \left (\frac{x^{\alpha_{p2,t}-1}(1-x)^{\beta_{p2,t}-1}}{\int_0^1 u^{\alpha_{p2,t}-1}(1-u^{\beta_{p2,t}-1})du} \right )
    \label{eqjs5}
%\end{equation}
\end{multline}

La figure \ref{fig_cmp2} présente une visualisation normalisée des différences de progression \textcolor{red}{des notes entre l'utilisation de TS seul et l'utilisation de TS intégré à ESCBR-SMA}. Cette figure illustre la même progression en moyenne et en médiane des deux algorithmes jusqu'à la question six et une rupture après la septième question. Pour toutes les questions de la même séance, en moyenne, la progression avec TS associé à ESCBR-SMA est meilleure que celle avec TS seul.

\begin{figure}[!h]
    \centering
    \includegraphics[width=1\textwidth]{Figures/Metric4.jpg}
    \caption{Différence normalisée entre la progression avec échantillonnage de Thompson seul et échantillonnage de Thompson associé à ESCBR-SMA pour 1000 apprenants.}
    \label{fig_cmp2}
\end{figure}

\subsection{Conclusion}

Cette partie montre que l'intégration du module d'échantillonnage de Thompson au module de régression ESCBR-SMA est profitable à l'EIAH AI-VT dans la mesure où leur utilisation conjointe permet de réviser une séance d'entraînement en proposant des exercices de difficulté adaptée à l'apprenant en fonction des notes obtenues aux réponses précédentes.

Le système proposé permet de générer des recommandations personnalisées pour chaque apprenant avec relativement peu de données historiques. Il permet de réviser une séance en se fondant sur des informations générales (progression standardisée) et locales (niveau acquis par l'apprenant). 
%les deux modèles se complètent mutuellement en améliorant les résultats finaux d'une manière généralisée. Le modèle proposé a été conçu pour être utilisé dans le cadre d'un projet de recherche et de développement en cours.\\\\

Toutefois, un apprentissage n'est pas linéaire et il est nécessaire de proposer des rappels de cours ou de notions à l'apprenant. La partie suivante de ce chapitre tente d'apporter une solution à cette observation pouvant limiter les performances d'AI-VT en introduisant le processus de Hawkes.

\section{ESCBR-SMA, échantillonnage de Thompson et processus de Hawkes}
\sectionmark{ESCBR-SMA, TS et Hawkes}

Dans la partie précédente, nous avons proposé un système capable de permettre à l'apprenant de suivre une progression relativement linéaire. Toutefois, certaines notions sont parfois oubliées par les apprenants et des rappels doivent être proposés afin de mieux consolider les connaissances. C'est la raison pour laquelle nous nous intéressons dans cette partie à l'intégration d'un processus de Hawkes qui permet de simuler une courbe d'oubli.

\subsection{Algorithme proposé}

L'algorithme proposé est une intégration de la recommandation stochastique (fondée sur l'échantillonnage de Thompson), du raisonnement à partir de cas (ESCBR-SMA) et du processus de Hawkes.

Le processus de Hawkes est une classe de processus ponctuels auto-excités dont le taux de saut est déterminé par leur historique. Ils sont généralement considérés comme des processus en temps continu, mais peuvent également être utilisés avec des processus en temps discret. Formellement, le processus de Hawkes peut être décrit comme indiqué dans l'équation \ref{hp1} par une fonction d'intensité $\mu$ et une fonction d'excitation $\phi$, dépendant du temps $t$ et des événements historiques $t_i$ \citep{ZHANG2025129161}, \citep{LAMPRINAKOU2024109260}. Dans ce cas, l'algorithme de recommandation produit une adaptation en fonction des notes de l'apprenant et l'ESCBR-SMA effectue une prédiction pour valider l'adaptation générée, le processus de Hawkes simule la courbe d'oubli dans le processus d'apprentissage.

L'idée de cette unification est d'obtenir des informations d'un point de vue local où une recommandation est obtenue en se fondant sur les informations des apprenants individuels (rôle de l'échantillonnage de Thompson), la prédiction globale fondée sur les expériences acquises précédemment par le système (le système de RàPC fournit des exercices ayant permis par le passé à d'autres apprenants aux profils similaires d'acquérir les connaissances visées), et le processus d'apprentissage dynamique avec le processus de Hawkes.

La figure \ref{fig:Amodel2} montre de quelle manière sont organisés ces différents modules les uns par rapport aux autres. TS et ESCBR-SMA sont exécutés en parallèle et indépendamment avec les informations extraites de la même base de connaissances. Une fois que les résultats de chaque module sont obtenus, ils sont unifiés par une fonction de pondération et une distribution de probabilité mise à jour dynamiquement selon les événements passés et le niveau de complexité sélectionné. Une dernière étape permet de consolider et d'atténuer l'effet du paradoxe de Simpson \citep{10.1145/3578337.3605122}.

\begin{figure}[!ht]
    \centering
    \includegraphics[width=0.6\linewidth]{Figures/ModelHawkes.png}
    \caption{Organisation des modules TS, ESCBR-SMA et processus de Hawkes.}
    \label{fig:Amodel2}
\end{figure}

La première étape est l'adaptation avec l'échantillonnage de Thompson et la prédiction de l'ESCBR-SMA. Celle-ci est suivie par la prise de décision pour l'envoi à l'apprenant. Le système de recommandation obtient une valeur de probabilité pour tous les niveaux de complexité pour l'apprenant et l'ESCBR-SMA évalue la proposition avec une prédiction pour chaque niveau de complexité. Le tableau \ref{tabvp} présente les variables et les paramètres du module proposé et les mesures employées.

Après la sélection du niveau de complexité, toutes les distributions de probabilité sont mises à jour selon le processus de Hawkes avec l'équation \ref{hp1} définie dans \cite{math10091413} pour chaque paramètre $\alpha$ et $\beta$.

\begin{equation}
    \lambda(t)=\mu(t)+\sum_{t_i<t} \phi(t-t_i)
    \label{hp1}
\end{equation}

Il est possible de simuler la courbe d'oubli dans la évolution de la distribution de probabilité en utilisant la fonction d'intensité constante (équations \ref{hp21} et \ref{hp22}) et la fonction d'excitation (équation \ref{hp30} avec des valeurs $\alpha=10$ et $\beta=0.02$ équation \ref{hp31}).

\begin{equation}
    \mu_{\alpha}(0,c)=\begin{cases}
        2 ,& c=0\\
        1 ,& 1\le c \le 4\\
    \end{cases}
    \label{hp21}
\end{equation}

\begin{equation}
    \mu_{\beta}(0,c)=\begin{cases}
        1,&c=0\\
        3,&c=1\\
        5,&c=2\\
        7,&c=3\\
        9,&c=4\\
    \end{cases}
    \label{hp22}
\end{equation}

\begin{equation}
    \phi_h(t)=\alpha \beta e^{-\beta t}
    \label{hp30}
\end{equation}

\begin{equation}
    \phi_h(t)=(10)(0.02)e^{-0.02t}
    \label{hp31}
\end{equation}

L'équation \ref{hpfa} montre la définition complète des processus de Hawkes pour tous les $\alpha$ et l'équation \ref{hpfb} la définition pour les paramètres $\beta$.

\begin{equation}
    \lambda_{\alpha}(t)=\mu_{\alpha,c}(t)+\sum_{t_i<t} \phi_h(t-t_i)
    \label{hpfa}
\end{equation}

\begin{equation}
    \lambda_{\beta}(t)=\mu_{\beta,c}(t)+\sum_{t_i<t} \phi_h(t-t_i)
    \label{hpfb}
\end{equation}

Et pour chaque niveau de complexité $c$, l'équation \ref{eqBetaH} décrit la distribution des probabilités fondée sue la famille de distribution Beta (équation \ref{f7Beta}) avec l'intégration des processus de Hawkes.

\begin{equation}
    P_c(x|\lambda_{\alpha}(t),\lambda_{\beta}(t))=\frac{x^{\lambda_{\alpha}(t)}(1-x)^{\lambda_{\beta}(t)}}{\int_0^1u^{\lambda_{\alpha}(t)}(1-u)^{\lambda_{\beta}(t)} du}
    \label{eqBetaH}
\end{equation}

\subsection{Résultats et discussion}

Le système de recommandation TS a été testé avec un ensemble de données adaptées extraites des données réelles des interactions des apprenants avec un environnement d'apprentissage virtuel pour différents cours \citep{Kuzilek2017}. Cet ensemble de données compte 23366 apprenants répartis dans différents cours et évalués de différentes manières \citep{Data}.

Le format de cet ensemble de données est adapté à la structure de la connaissance dans AI-VT (notes, temps de réponse et niveau de complexité), et les exercices y sont répartis en cinq niveaux de complexité. La figure \ref{fig:stabilityBP} montre le nombre de recommandations générées par un processus d'apprentissage statique et par le module dynamique associant TS au processus de Hawkes, sur les différents niveaux de complexité. Cette figure montre les moyennes obtenues avec 100 exécutions des algorithmes. La faible variance globale obtenue dans tous les niveaux de complexité montre la stabilité des recommandations.

\begin{figure}[!ht]
    \centering
    \includegraphics[width=\textwidth]{./Figures/stabilityBoxplot1.png}\hfill
    \includegraphics[width=\textwidth]{./Figures/stabilityBoxplot2.png}
    \caption{Nombre de recommandations par niveau de complexité (processus d'apprentissage statique en haut, processus d'apprentissage dynamique avec processus de Hawkes en bas).}
    \label{fig:stabilityBP}
\end{figure}

Le module incluant le processus de Hawkes recommande plus de niveaux de faible complexité car la connaissance tend à diminuer avec le temps, avant de tendre à renforcer la connaissance dans tous les niveaux de complexité. La configuration initiale privilégiant les niveaux inférieurs (grâce à une plus grande probabilité), le module tend à répéter les niveaux plus accessibles nécessaires pour atteindre les niveaux supérieurs.

Pour mesurer les performances des différents modules, nous avons utilisé le même jeu de données simulées que dans la section précédente. 
La comparaison est faite avec la métrique $r_c$ décrite dans l'équation \ref{metric1}, où $x_c$ est la moyenne des notes, $y_c$ est le nombre de questions pour chaque niveau de complexité $c$.

\begin{equation}
    r_c(x_c,y_c)=e^{-2(x_c+y_c-1)^2}
    \label{metric1}
\end{equation}

Un scénario spécifique a été défini sans données initiales (notes et temps de réponse) en simulant un démarrage à froid. Le tableau \ref{tab:my_label} montre les résultats obtenus après 10000 exécutions pour TS et TS associé au processus de Hawkes. Malgré les changements dans chaque niveau de complexité, les deux approches donnent des résultats similaires.

\begin{table}[!ht]
    \centering
    \begin{tabular}{c|ccccccc}&$r_{C0}$&$r_{C1}$&$r_{C2}$&$r_{C3}$&$r_{C4}$&Total&Pourcentage\\
    \hline
    TS&0.9695&0.7945&0.6377&0.5615&0.5184&3.4816&69.632\\%TS&0.971&0.7982&0.6315&0.551&0.5014&3.4531&69.062\\
    TS-Hawkes&0.9414&0.7175&0.6434&0.5761&0.5448&3.4232&68.464\\
    %TS-Hawkes&0.9432&0.7107&0.6253&0.5853&0.5291&3.3936&67.872\\
    \end{tabular}
    \caption{Comparaison entre ESCBR-TS et ESCBR-TS-Hawkes lors d'un démarrage à froid.}
    \label{tab:my_label}
\end{table}

La variance (figure \ref{fig:vars}) montre qu'avec le processus de Hawkes, les valeurs sont maintenues autour de la configuration initiale, ce qui permet une plus grande adaptabilité aux changements dynamiques des connaissances qui se produisent dans le processus d'apprentissage. Étant donné que la distribution de probabilité \textit{Beta} converge rapidement vers une valeur unique, plus on obtient de valeurs, plus la variance est faible et s'il y a un changement dans la valeur de convergence, la distribution a besoin de plus de données pour converger vers la nouvelle valeur. Ce dernier comportement peut être expliqué par le fait que les changements dans la moyenne sont proportionnels à la valeur de la variance avec un pas de changement constant pour les paramètres. Dans le cas de la modélisation du processus d'apprentissage, il est donc préférable de maintenir une valeur de variance relativement élevée pour faciliter l'adaptation aux changements imprévus.

\begin{figure}[!ht]
    \centering
    \includegraphics[width=1\textwidth]{Figures/Var.png}
    
    \medskip
    \hrulefill\par
    \vspace{15pt}
    
    \includegraphics[width=1\textwidth]{Figures/VarH.png}
    \caption{Variance pour la distribution de probabilité bêta et tous les niveaux de complexité (en haut : processus d'apprentissage statique. En bas : processus d'apprentissage dynamique avec processus de Hawkes).}
    \label{fig:vars}
\end{figure}

\subsection{Conclusion}

Cette partie a présenté un algorithme intégrant un système de recommandation fondé sur l'algorithme d'échantillonnage de Thompson, un algorithme de régression d'ensemble fondé sur le raisonnement à partir de cas et un système multi-agents, et une fonction d'oubli fondée sur le processus de Hawkes. 

L'algorithme de régression d'ensemble ESCBR-SMA permet d'interpoler la note qu'un apprenant aurait à la question suivante selon le niveau de complexité de celle-ci. L'échantillonnage de Thompson permet de recommander la complexité de la question suivante en fonction d'informations locales : les notes obtenues et les temps de réponses de cet apprenant aux questions précédentes. Enfin, le processus de Hawkes incite le système à proposer des rappels de compétences acquises en intégrant un modèle d'oubli.

Nous avons mesuré ces performances sur un ensemble de données générées permettant de simuler les notes et temps de réponses obtenus par 1000 apprenants sur un EIAH proposant des exercices répartis sur cinq niveaux de complexité et aussi avec une base de données réelle non-symétrique de 23366 apprenants. Ces tests ont été réalisés en vue d'une intégration à l'EIAH AI-VT. Les résultats montrent que le module final permet de réviser les séances d'entraînement, de proposer des exercices progressivement plus difficiles, tout en intégrant des rappels de notions.
