main.tex 66.8 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 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781
%% Use the standard UP-methodology class
%% with French language.
%%
%% You may specify the option 'twoside' or 'oneside' for
%% the document.
%%
%% See the documentation tex-upmethodology on
%% http://www.arakhne.org/tex-upmethodology/
%% for details about the macros that are provided by the class and
%% to obtain the list of the packages that are already included. 
 
\documentclass[a4paper,french]{spimufcphdthesis}
\renewcommand{\familydefault}{\sfdefault} % Met tout le texte en 'sans serif'.
 
%%--------------------
%% The TeX code is entering with UTF8
%% character encoding (Linux and MacOS standards)
\usepackage[utf8]{inputenc}
 
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{graphicx}

\usepackage[export]{adjustbox} % Pour aligner image à droite

\usepackage{url}
%\geometry{margin=1in}

%%-------------------
%% NATBIB is enabled by default.
%% If you would like to disable it, put the 'nonatbib' option to the class' options.
 
%%--------------------
%% Include the 'multibib' package to enable to
%% have different types of bibliographies in the
%% document (see at the end of this template for
%% an example with a personnal bibliography and
%% a general bibliography)
%%
%% Each bibliography defined with 'multibib'
%% adds a chapter with the corresponding
%% publications (in addition to the chapter for
%% the standard/general bibliography).
%% CAUTION:
%% There is no standard way to do include this type of
%% personnal bibliography.
%% We propose to use 'multibib' package to help you,
%% for example.
%\usepackage{multibib}
 
%% Define a "type" of bibliography, here the PERSONAL one,
%% that is supported by 'multibib'.
%\newcites{PERSO}{Liste de mes publications}
 
%% To cite one of your PERSONAL papers with the style
%% of the PERSONAL bibliography: \citePERSO{key}
%% To force to show one of your PERSONAL papers into
%% the PERSONAL bibliography, even if not cited in the
%% text: \nocitePERSO{key}
 
%% REMARK: When you are using 'multibib', you
%% must compile the PERSONAL bibliography by hand.
%% For example, the sequence of commands to run
%% when you had defined the bibliography PERSO is:
%%   $ pdflatex my_document.tex
%%   $ bibtex my_document.aux
%%   $ bibtex PERSO.aux
%%   $ pdflatex my_document.tex
%%   $ pdflatex my_document.tex
%%   $ pdflatex my_document.tex
 
%%--------------------
%% Add here any other packages that are needed for your document.
%\usepackage{eurosim}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{xcolor}

%%--------------------
%% Set the title, subtitle, defense date, and
%% the registration number of the PhD thesis.
%% The optional parameter is the subtitle of the PhD thesis.
%% The first mandatory parameter is the title of the PhD thesis.
%% The second mandatory parameter is the date of the PhD defense.
%% The third mandatory parameter is the location/city of the PhD defense.
%% The forth mandatory parameter is the reference number given by
%% the University Library after the PhD defense.
\declarethesis%[Sous-titre]
{Adaptation en temps réel d'une séance d'entraînement par intelligence artificielle}{17 septembre 2025}{Besançon}{XXX}
 
%%--------------------
%% Set the title in the secondary language
%% (it is in English if the PhD dissertation is written in French; it is French if the PhD dissertation is written in English)
%\declareminorthesistitle{Titre dans la langue secondaire}

%%--------------------
%% Add a member of the jury
%%
%% Two macros are provided: one without civility, one with civility.
%%
%% CAUTION 1: If a Jury member is not present during the defense,
%%            she/he must be in the list of the Jury members.
%%            Only the reviewers and the members who are present during the defense must
%%            appear in the Jyry member list. 
%% CAUTION 2: After your defense, you must assign the role "Pr\'esident" to
%%            the Jury member who have been the President of the Jury.
%% CAUTION 3: The recommended order for the Jury members is:
%%            President, Reviewer(s), Examiner(s), Director(s),
%%            Other supervisor(s), Invited person(s).
%% \addjury{Firstname}{Lastname}{Role in the jury}{Position}

%%--------------------
%% Change style of the table of the jury
%% \Set{jurystyle}{put macros for the style}
%\Set{jurystyle}{\small}
 
%%--------------------
%% Set the English abstract
\thesisabstract[english]{This is the abstract in English.}
 
%%--------------------
%% Set the English keywords. They only appear if
%% there is an English abstract
\thesiskeywords[english]{Keyword 1, Keyword 2}
 
%%--------------------
%% Set the French abstract
\thesisabstract[french]{L'objectif de ce travail de thèse est la prise en compte en temps réel du travail d'un apprenant pour une meilleure personnalisation d'AI-VT (Artificial Intelligence Virtual Trainer).
%Cet objectif comprend à la fois une correction automatique pour que le système puisse modifier la feuille d'exercice en cours de séance mais aussi l'ajout de fonctionnalités d'aide liées au profil de l'apprenant (rappel de méthode, de cours, solutions).
}
 
%%--------------------
%% Set the French keywords. They only appear if
%% there is an French abstract
\thesiskeywords[french]{Mot-cl\'e 1, Mot-cl\'e 2}
 
%%--------------------
%% Change the layout and the style of the text of the "primary" abstract.
%% If your document is written in French, the primary abstract is in French,
%% otherwise it is in English.
%\Set{primaryabstractstyle}{\tiny}
 
%%--------------------
%% Change the layout and the style of the text of the "secondary" abstract.
%% If your document is written in French, the secondary abstract is in English,
%% otherwise it is in French.
%\Set{secondaryabstractstyle}{\tiny}
 
%%--------------------
%% Change the layout and the style of the text of the "primary" keywords.
%% If your document is written in French, the primary keywords are in French,
%% otherwise they are in English.
%\Set{primarykeywordstyle}{\tiny}
 
%%--------------------
%% Change the layout and the style of the text of the "secondary" keywords.
%% If your document is written in French, the secondary keywords are in English,
%% otherwise they are in French.
%\Set{secondarykeywordstyle}{\tiny}
 
%%--------------------
%% Change the speciality of the PhD thesis
%\Set{speciality}{Informatique}
 
%%--------------------
%% Change the institution
%\Set{universityname}{Universit\'e de Technologie de Belfort-Montb\'eliard}
 

%%--------------------
%% Clear the list of the laboratories
\resetlaboratories

%%--------------------
%% Add the laboratory where the thesis was made
\addlaboratory{Laboratoire Connaissance et Intelligence Artificielle Distribu\'ees}

%%--------------------
%% The name of the university that is jointly delivering the Doctoral degree with UBFC
%\Set{jointuniversity}{Universit\'e de Ngaound\'er\'e au Cameroun}

%%--------------------
%% Clear the list of the partner/sponsor logos
%\resetpartners

%%--------------------
%% Add the logos of the partners or the sponsors on the front page
%%
%% CAUTION 1: At least, the logo of the University should appear (UFC)
%%
%\addpartner[image options]{image name}

%\addpartner{ufc}

%%--------------------
%% Change the header and the foot of the pages.
%% You must include the package "fancyhdr" to
%% have access to these macros.
%% Left header
%\lhead{}
%% Center header
%\chead{}
%% Right header
%\rhead{}
%% Left footer
%\lfoot{}
%% Center footer
%\cfoot{}
%% Right footer
%\rfoot{}
 
%%--------------------
% Declare several theorems
%\declareupmtheorem{mytheorem}{My Theorem}{List of my Theorems}

%%--------------------
%% Change the message on the backcover.
%\Set{backcovermessage}{%
%	Some text
%}

\usepackage{layout} % Add this to view current margins

\usepackage[pass]{geometry}

\begin{document}

\newgeometry{left=6cm, bottom=0.1cm}

\begin{titlepage} % Supprime headers et footers de la page
\begin{figure}[t]
	\includegraphics[width=0.4\textwidth]{images_logos/image1_logoUBFC_grand.png}\hfill\includegraphics[width=0.4\textwidth]{images_logos/logo_UFC_2018_transparence.png}
\end{figure}

\begin{center}
	
\vspace*{1.0cm}
\footnotesize{\textsf{\textbf{THESE DE DOCTORAT DE L’ETABLISSEMENT UNIVERSITE BOURGOGNE FRANCHE-COMTE\\~\\
			PREPAREE A l'UNIVERSITE DE FRANCHE-COMTE}}}

\vspace{1.0cm}
Ecole doctorale n\textsuperscript{o} <numéro de l'Ecole doctorale>\\~\\
<Nom de l'Ecole doctorale>

\vspace{1.0cm}
Doctorat de <nom de la spécialité>

\vspace{1.5cm}
Par\\~\\<Civilité> <Nom> <Prénom>

\vspace{1.5cm}
<Titre de la thèse>

\vspace{0.12cm}
<Sous-titre ou deuxième ligne du titre de la thèse>

\begin{flushleft}

\vspace{1.0cm}
Thèse présentée et soutenue à <Ville>, le <date>

\vspace{1.0cm}
Composition du Jury~:

\begin{tabbing} %Tabulations avec'\>', positions indiquées par '\='.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\=\\ % Définit les positions des tabulations
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Président\\
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Rapporteur\\
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Rapporteur\\
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Examinateur\\
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Examinatrice\\
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Directeur de thèse\\
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Codirecteur de thèse\\
<Civilité><Nom><Prénom> \> <Fonction et établissement d’exercice> \> Invité
\end{tabbing}
\end{flushleft}
\end{center}
\end{titlepage} % Fin de page de titre

\restoregeometry

%%--------------------
%% The following line does nothing until
%% the class option 'nofrontmatter' is given.
%\frontmatter

%%--------------------
%% The following line permits to add a chapter for "acknowledgements"
%% at the beginning of the document. This chapter has not a chapter
%% number (using the "star-ed" version of \chapter) to prevent it to
%% be in the table of contents
\chapter*{Remerciements}

\newpage
\hfill\begin{minipage}{0.32\linewidth}
\end{minipage}
\newpage

%%--------------------
%% Include a general table of contents
\tableofcontents

%%--------------------
%% The content of the PhD thesis
\mainmatter
 
\part{Contexte et Problématiques}

\chapter{Introduction}

\chapterintro

Ce chapitre introductif vise à expliquer les termes du sujet et à introduire la thématique principale abordée. Il présente la problématique de cette thèse, introduit les différentes contributions proposées et annonce le plan du manuscrit.\\

Comme l'indique \cite{Nkambou}, les environnements informatiques pour l'apprentissage humain (EIAH) sont des outils proposant des services devant permettre aux apprenants d'acquérir des connaissances et de développer des compétences dans un domaine spécifique. Pour fournir des services efficaces, le système doit intégrer une représentation des connaissances du domaine et des mécanismes pour utiliser ces connaissances. Il doit également être en mesure de raisonner et de résoudre des problèmes. 
%% JH : j'ai supprimé ce qui suit car je n'ai pas compris le sens : "ainsi que un module expert spécifique pour faciliter l'acquisition aux apprenants".\\

Le système \textit{Artificial Intelligence - Virtual Trainer} (AI-VT) est un EIAH générique dévéloppé au département d'informatique des systèmes complexes (DISC) de l'institut de recherche FEMTO-ST. Cet outil informatique propose un ensemble d'exercices aux apprenants dans le cadre de séances d'entrainement. AI-VT intègre le fait qu'une séance d'entraînement se situe dans un cycle de plusieurs séances. Les réponses apportées par l'apprenant à chaque exercice sont évaluées numériquement sur une échelle prédéfinie, ce qui permet d'estimer les progrès de l'apprenant et de déduire les sous-domaines dans lesquels il peut avoir des difficultés. Une séance est générée par un système multi-agents associé à un système de raisonnement à partir de cas (RàPC) \cite{doi:10.1177/1754337116651013}. Un apprenant choisit le domaine dans lequel il souhaite s'entraîner et AI-VT lui propose un test préliminaire. Les résultats obtenus permettent de placer l'apprenant dans le niveau de maîtrise adéquate. Le système génère ensuite une séance adaptée veillant à l'équilibre entre l'entraînement, l'apprentissage et la découverte de nouvelles connaissances. L'actualisation du niveau de l'apprenant est effectuée à la fin de chaque séance. De cette façon l'apprenant peut avancer dans l'acquisition des connaissances ou s'entraîner sur des connaissances déjà apprises.\\

Un certain nombre d'EIAH utilisent des algorithmes d'intelligence artificielle (IA) pour détecter les faiblesses et aussi pour s'adapter à chaque apprenant. Les algorithmes et modèles de certains de ces systèmes seront analysés dans les chapitres \colorbox{yellow}{3 et 4}. Ces chapitres présenteront leurs propriétés, leurs avantages et leurs limites.\\

Le système AI-VT initial était capable d'ajuster les paramètres de personnalisation d'une séance à l'autre, mais il ne pouvait pas modifier une séance en cours même si certains exercices de celle-ci était trop simples ou trop complexes. Chaque séance était figée et devait être déroulée jusqu'à son terme avant de pouvoir identifier des acquis et des lacunes. Les travaux de cette thèse ont eu pour objectif de pallier ce manque.

\begin{emphbox}
La problématique principale de cette thèse est
la personnalisation en temps réel du parcours d’apprentissage des apprenants dans le système AI-VT (\textit{Artificial Intelligence - Virtual Trainer})\\
\end{emphbox}

Ici \textit{le temps réel} est considéré comme étant le moment où se déroule la séance que l'apprenant est en train de suivre.  
Par conséquent, l'objectif est de rendre AI-VT plus dynamique pour l'identification des difficultés et l'adaptation du contenu personnalisé en fonction des connaissances démontrées.

La partie suivante présente une liste des principales contributions apportées par cette thèse à la problématique générale énoncée plus haut.

Ce travail de thèse a été éffectué au sein l'Université de Franche-Comté (UFC) devenue depuis le 1er janvier 2025 l'Université Marie et Louis Pasteur (UMLP). Ces recherches ont été menées au sein de l'équipe DEODIS du département d'informatique des systèmes complexes de l'institut de recherche FEMTO-ST, unité mixte de recherche (UMR) 6174 du centre national de la recherche scientifique (CNRS).\\

\section{Contributions Principales}

La problématique principale de ces travaux de recherche a été déclinée en plusieurs sous-parties. Ces dernières sont présentées ci-dessous sous la forme de questions. Pour chacune d'elles, une ou plusieurs propositions ont été faites. Voici les questions de recherche abordées et les contributions apportées :

\begin{enumerate}
    \item \textbf{Comment permettre au système AI-VT d'évoluer et d'intégrer de multiples outils ?} Pour répondre à cette question, une architecture modulaire autour du moteur initial d'AI-VT a été conçue et implémentée (ce moteur initial étant le système de raisonnement à partir de cas (RàPC) développé avant le démarrage de ces travaux de thèse).

    \item \textbf{Comment déceler qu'un exercice est plus ou moins adapté aux besoins de l'apprenant ?} Choisir les exercices les plus adaptés nécessite d'associer une valeur liée à son utilité pour cet apprenant. Les modèles de régression permettent d'interpoler une telle valeur. Pour répondre à cette question, nous avons proposé de nouveaux modèles de régression fondés sur le paradigme du raisonnement à partir de cas et celui des systèmes multi-agents.   

    \item \textbf{Quel modèle et quel type d'algorithmes peuvent être utilisés pour recommander un parcours personnalisé aux apprenants ?} Pour apporter une réponse à cette question, un système de recommandation fondé sur l'apprentissage par renforcement a été conçu. L'objectif de ces travaux est de proposer un module permettant de recommander des exercices aux apprenants en fonction des connaissances demontrées et en se fondant sur les réponses apportées aux exercices précédents de la séance en cours. Ce module de révision de la séance en cours du modèle de RàPC est fondé sur un modèle Bayésien. 

    \item \textbf{Comment consolider les acquis de manière automatique ?} Une séance doit non seulement intégrer des exercices de niveaux variés mais également permettre à l'apprenant de renforcer ses connaissances. Dans cette optique, notre modèle Bayésien a été enrichi d'un processus de Hawkes incluant une fonction d'oubli.

\end{enumerate}

\section{Plan de la thèse}

Ce manuscrit est scindé en deux grandes parties. La première partie contient trois chapitres et la seconde en contient quatre. Le premier chapitre de la première partie (chapitre 2) vise à introduire le sujet, les concepts, les algorithmes associés, présenter le contexte général et l'application AI-VT initiale. Le deuxième chapitre de cette partie présente différents travaux emblématiques menés dans le domaine des environnements informatiques pour l'apprentissage humain. Le chapitre suivant conclut cette première partie en présentant le raisonnement à partir de cas. 

Dans la seconde partie du manuscrit, le chapitre 5 explicite l'architecture proposée pour integrer les modules développés autour du système AI-VT initial et élargir ses fonctionalités. Le chapitre 6 propose deux outils originaux fondés sur le raisonnement à partir de cas et les systèmes multi-agents pour résoudre des problèmes de régression de façon générique. Le chapitre 7 présente l'application de ces nouveaux outils de régression dans un  système de recommandation intégré à AI-VT utilisant un modèle Bayésien. Ce chapitre montre de quelle manière il permet de réviser une séance d'entraînement en cours. Le chapitre 8 montre l'utilisation du processus de Hawkes pour renforcer l'apprentissage. 

Enfin, une conclusion générale incluant des perspectives de recherche termine ce manuscrit.\\

\chapter{Contexte}

\section{Notions et Algorithmes}

Dans ce chapitre sont décrits plus en détails les concepts et algorithmes utilisés dans le développement des modules. CEs modules font partie des contributions de cette thèse à l'environnement informatique pour l'apprentissage humain (EIAH) appelé AI-VT (\textit{Artificial Intelligence - Artificial Trainer}).

\subsection{Environnements Informatiques pour l'Apprentissage Humain (EIAH)}

Les EIAH sont des outils pour aider les apprenants dans le processus d'apprentissage et d'acquisition de la connaissance. Ces outils sont conçus pour fonctionner avec des stratégies d'apprentissage online et mixtes. Fondamentalement, l'architecture de ces systèmes est divisé en quatre composants comme le montre la figure \figref{figEIAH} :\\
\begin{itemize}
\item Le domaine, qui contient les concepts, les règles et les stratégies pour résoudre des problèmes dans un domaine spécifique. Ce module peut détecter et corriger les erreurs des apprenants. L'information, généralement, est organisée selon des séquences pédagogiques.
\item L'apprenant, ce module est le noyau du système car il contient toute l'information cognitive possible de l'apprenant ainsi que son évolution. Ce module doit avoir les informations implicites et explicites pour pouvoir créer une représentation de la connaissance et le processus d'apprentissage. C'est également important parce que cette information doit permettre de générer un diagnostic de l'état de la connaissance de l'apprenant, à partir duquel le système peut prédire les résultats dans certains domaines et choisir la stratégie optimale pour présenter les nouveaux contenus.
\item L'enseignant, reçoit l'information des modules précédents grâce à laquelle il peut prendre des décisions sur le changement de parcours ou sur la stratégie d'apprentissage. Il peut également interagir avec l'apprenant.
\item L'interface, est le module qui gère les configurations et les interactions entre les modules par différents moyens interactifs.\\
\end{itemize}

\mfigure[!ht]{scale=0.5}{./Figures/EIAH.png}{L'architecture générale des EIAH, les composantes et leurs interactions (\cite{Nkambou})}{figEIAH}

Le développement et la configuration de ce type de systèmes sont multidisciplinaires et impliquent plusieurs domaines de recherche comme: l'intelligence artificielle, la pédagogie, la psychologie, les sciences cognitives et l'éducation.

\subsection{Stratégies d'Apprentissage}

Dans \cite{LALITHA2020583}, l'apprentissage est défini comme une fonction du cerveau humain acquise grâce au changement permanent dans l'obtention de connaissances et de compétences par le biais d'un processus de transformation du comportement lié à l'expérience ou à la pratique. L'apprentissage implique réflexion, compréhension, raisonnement et mise en oeuvre. Un individu peut utiliser différentes stratégies pour acquérir la connaissance. Comme le montre la figure \figref{figStra}, les stratégies peuvent être classées entre mode traditionnel et mode online.

\mfigure[!ht]{scale=0.4}{./Figures/TLearning.png}{Stratégies d'apprentissage (\cite{LALITHA2020583})}{figStra}

%\begin{figure}[!ht]
%\centering
%\includegraphics[scale=0.4]{./Figures/TLearning.png} 
%\caption{Stratégies d'apprentissage (\cite{LALITHA2020583})}
%\label{figStra}
%\end{figure}

L'apprentissage traditionnel se réfère au type d'apprentissage en classe, centré sur l'enseignant où la présence physique dans le temps et l'espace est fondamentale. Ici, l'enseignement est direct de l'enseignant à l'élève, et les ressources sont généralement des documents imprimés. L'apprentissage et la participation doivent être actifs, la rétroaction est instantanée et des interactions sociales sont présentes. Par contre, il y a un manque de flexibilité en fonction du temps \colorbox{yellow}{MLB:à revoir}.\\

L'autre stratégie globale est l'apprentissage online, qui est basé sur les ressources et l'information disponible sur le web. Cette stratégie incite activement les apprenants à acquérir de nouvelles connaissances indépendamment \colorbox{yellow}{MLB:indépendantes ou indépendemment à qq chose} grâce aux vastes ressources disponibles en ligne. Les points positifs de cette stratégie sont par exemple: la rentabilité, la mise à niveau continue des compétences et des connaissances ou une plus grande opportunité d'accéder au contenu du monde entier. Pour l'apprenant, l'auto-motivation et l'interaction peuvent être des défis à surmonter. Pour l'enseignant, il est parfois difficile d'évaluer l'évolution du processus d'apprentissage de l'individu. L'apprentissage online fait aussi référence à l'utilisation de dispositifs électroniques pour apprendre (e-learning) où les apprenants peuvent être guidés par l'enseignant à travers des liens, du matériel spécifique d'apprentissage, des activités ou exercices.\\

Il existe aussi certaines stratégies mixtes qui combinent des caractéristiques des deux stratégies fondamentales, comme un cours online mais avec quelques séances en présentiel pour des activités spécifiques ou des cours traditionnels avec du matériel d'apprentissage complémentaire online.

%\subsection{Traitement du langage naturel (NLP)}
%
%Le traitement du langage naturel est un domaine de recherche interdisciplinaire qui essaie à travers de multiples méthodes analyser et faire comprendre aux machines le langage et la communication humaine. Ce domaine est catégorisé comme une branche de l'intelligence artificielle \cite{kedia2020hands}.\\
%
%Comme on peut lire dans \cite{ghosh2019natural}, le NLP est constitué de plusieurs tâches standardisées, entre elles, la tokenisation qui est la procédure qui consiste à diviser une phrase en ses mots constitutifs, par exemple le résultat de tokeniser la phrase "Je lis un livre", est "Je", "lis", "un", "livre"; avec cet exemple on a tokenisée la phrase en utilisant uni-grams, c'est-à-dire des tokens de taille un, mais on peut extraire des ensembles de tokens, si on divise la phrase en paires de tokens alors on parle de bi-grams: "Je lis", "un livre"; en général on parle de n-grams où "n" est le nombre de tokens.\\
%
%Une autre tâche fondamentale du NLP est le "PoS Tagging" qui ajoute des identificateurs à chacun des tokens d'une phrase avec le propos de faciliter l'analyse et le filtrage du contenu des phrases. Ainsi "Le ciel est bleu", est [("Le", "AR"), ("ciel", "NN"), ("est", "VBZ"), ("bleu", "JJ")], où AR: article, NN: nom, VBZ: verbe troisième personne, JJ: adjectif. Ainsi, il est possible de connaître et de filtrer les phrases par la catégorisation de leur contenu.\\
%
%La tokenisation et le "PoS Tagging" fonctionnent avec les caractères qui font partie de l'alphabet, mais les phrases communément écrites contient aussi des caractères symboliques qui représentent des aspects complémentaires du langage et qui ne sont pas considérés dans les analyses, car ils n'apportent pas d'information significative. La tâche d'effacer les symboles jugés inutiles s'appelle "cleaning text", usuellement ces symboles sont les signes de ponctuation et parfois les articles définis / indéfinis et les mots qui servent de lien comme par exemple en français: "le", "la", "les", "est", "et", etc. Il y a d'autres tâches qui sont utilisées aussi dans NLP, mais elles sont plus spécifiques comme: normalisation, correction, "stemming", "lemmatization", "NER", etc. Elles peuvent être consultées plus en détail et avec exemples de code dans \cite{ghosh2019natural}.\\
%
%L'exécution des tâches précitées est appelée prétraitement du texte, l'idée est de donner au texte un format pour l'envoyer comme donnée d'entré à un modèle chargé de l'analyser selon un certain objectif prédétermine. Les modèles de NLP se basent en algorithmes d'apprentissage automatique qui fonctionnent avec données numériques, alors les modèles doivent convertir le texte vers une représentation numérique, cette transformation s'appelle "vectorization" ou "vector embeddings". L'une des méthodes les plus simples et les plus élémentaires est le "BoW (Bag of Words) Model" qui génère un vecteur avec les fréquences de chaque mot d'un alphabet dans une phrase, comme le montre la figure \figref{figBOW}, les limitations principales du "BoW Model" sont d'abord que les vecteurs de représentation générés sont creuses, et aussi il n'y a pas de préservation de l'ordre des mots, alors on perdre contexte et signification des phrases et du texte. Une autre modèle est TF-IDF qui normalise les fréquences d'apparition et essaie d'associer une importance aux mots, ce qui évite d'analyser la pertinence de chaque mot seulement par sa fréquence d'apparition dans le texte. Autres modèles de vectorisation plus sophistiqués comme les réseaux de neurones (Word2vec, Doc2Vec, fastText) peuvent être consultés dans \cite{kedia2020hands}.\\
%
%\mfigure[!ht]{scale=0.7}{./Figures/BoW.png}{Bag of words pour une phrase}{figBOW}
%
%%\begin{figure}
%%\centering
%%\includegraphics[scale=0.7]{./Figures/BoW.png} 
%%\caption{Bag of words pour une phrase.}
%%\label{figBOW}
%%\end{figure}

\subsection{Raisonnement à partir de cas (RàPC)}

Le raisonnement à partir de cas est un type de modèle de raisonnement qui essaie d'imiter le comportement humain pour résoudre de nouveaux problèmes, en se souvenant des expériences passées. Le principe de base est que les problèmes similaires ont des solutions similaires. Si un nouveau problème arrive et que le modèle connait déjà la solution d'un problème similaire, alors la solution au nouveau problème peut être inférée des solutions déjà trouvées \colorbox{yellow}{MLB: suppr la fin de la phrase, redondant ?ou connues pour les problèmes similaires} \cite{ROLDANREYES20151}.\\

Un cas est défini comme la représentation de la description d'un problème et la description de sa solution. Dans le raisonnement à partir de cas il existe une base de cas qui permet la création de nouvelles solutions en cherchant les problèmes similaires, en utilisant les données de la description du problème et leurs solutions associées.\\

Formellement, le modèle nécessite les ensembles $P$ qui correspond à l'espace des problèmes et $S$ l'espace des solutions, alors un problème $x$ et sa solution $y$ appartiennent à ces espaces $x \in P$ et $y \in S$. Si $y$ est solution de $x$ alors, un cas dans le modèle est représenté par le couple $(x,y) \in P \times S$. Le RàPC a besoin d'une base de $n$ problèmes et de leurs solutions associées $(x^n, y^n)$, cette base est appelée base de cas. L'objectif du RàPC est, étant donné un nouveau problème $x^z$ de trouver sa solution $y^z$ en utilisant la base de cas \cite{10.1007/978-3-030-58342-2_20}.\\

\mfigure[!ht]{scale=30}{./Figures/cycle.png}{Cycle fondamental du raisonnement à partir de cas (\cite{min8100434})}{figCycle}

%\begin{figure}
%\centering
%\includegraphics[scale=30]{./Figures/cycle.png}
%\caption{Cycle fondamental du raisonnement à partir de cas %(\cite{min8100434})} 
%\label{figCycle}
%\end{figure}

Le processus du RàPC est divisé en quatre étapes qui forment un cycle, la figure \figref{figCycle} montre le cycle et le flux d'informations ainsi que les associations de chacune des étapes \cite{min8100434}: rechercher, adapter, réviser et stocker. Chacune des étapes est décrite dans \cite{Richter2013}.

\subsubsection{Rechercher}
L'objectif de cette étape est de rechercher dans la base de cas, les cas similaires à un nouveau cas donné. Cette similarité n'est pas un concept général, mais dépend du contexte, de l'objectif et du type de données. La question fondamentale qui se pose dans cette étape est: quel est le cas le plus approprié dans la base de cas qui me permet de réutiliser sa solution pour résoudre le nouveau problème donné?\\

Pour évaluer le nouveau cas avec les cas de la base de données, il est nécessaire de les comparer et ainsi trouver la similitude entre eux. La comparaison entre les cas est différente selon la représentation du cas, c'est-à-dire la structure qui contient la description du problème. Généralement, il est \colorbox{yellow}{MLB:Je ne comprends pas} employé la représentation par attributs, qui décrit le cas (problème) comme un ensemble d'attributs avec des valeurs spécifiques, cette représentation est connue comme la représentation attribut-valeur. La similitude entre deux cas attribut-valeur $c_1={a_{1,1}, a_{1,1}, ..., a_{1,n}}$ et $c_2={a_{2,1}, a_{2,1}, ..., a_{2,n}}$ mesure la somme de la distance entre les attributs individuellement avec une valeur de pondération qui détermine l'importance de chaque attribut dans le mesure global comme le montre l'équation\colorbox{yellow}{MLB:A revoir} \ref{eqSim}. Dans cette étape, il est possible aussi de sélectionner $k$ différents cas similaires au nouveau cas donné.
\

\begin{equation}
\sum_{i=1}^n \omega_i \; sim (a_{1,i}, a_{2,i})
\label{eqSim}
\end{equation}

\subsubsection{Adapter (Réutiliser)}
L'idée du RàPC est d'utiliser l'expérience pour essayer de résoudre de nouveaux cas (problèmes). La figure \figref{figReut} montre le principe de réutilisation où est utilisée la solution d'un cas (problème) ancien pour l'adapter et servir comme solution d'un nouveau cas.\\

Il existe des situations pour lesquelles le nouveau cas et un ancien cas sont très similaires alors la solution au cas ancien est aussi valide pour le nouveau cas. Cependant, le plus souvent il est nécessaire d'adapter l'ancienne solution pour arriver à une solution satisfaisante du nouveau cas. De la même manière que pour la phase 'rechercher', il existe beaucoup de stratégies d'adaptation qui dépendent de la représentation, du contexte et des algorithmes utilisés. Une des stratégies les plus utilisées est la définition d'un ensemble de règles qui permettent la transformation de la solution \colorbox{yellow}{MLB:ne comprends pas} 
 ou les solutions trouvées. L'objectif ici est d'inférer une nouvelle solution $y_z$ du cas $x_z$ à partir des $k$ cas retrouvés dans la première étape.\\

\mfigure[!ht]{scale=20}{./Figures/Reuse.png}{Principe de réutilisation dans le RàPC (\cite{Richter2013})}{figReut}

%\begin{figure}
%\centering
%\includegraphics[scale=20]{./Figures/Reuse.png} 
%\caption{Principe de réutilisation dans le RàPC (\cite{Richter2013})}
%\label{figReut}
%\end{figure}

\subsubsection{Réviser et Réparer}

Une fois que le système propose une solution au nouveau cas, cette solution doit être évaluée et révisée qu'elle soit correcte selon certains critères de validation. L'étape de révision est chargée d'évaluer l'applicabilité de la solution obtenue dans l'étape 'adaptation', cette évaluation peut être réalisée dans le monde réel ou dans une simulation.\\

Alors dans cette phase, la tâche est de valider si le couple $(x_z, y_z)$ est correct, c'est-à-dire si la solution trouvée $y_z$ résout le problème $x_z$ et satisfait les règles de validité et d'applicabilité. Si la solution n'est pas bonne en termes de qualité de la réponse, alors une nouvelle solution doit être générée en revenant à l'étape précédente. Si la solution est bonne, mais qu'elle ne satisfait pas les critères d'acceptation alors la solution doit être réparée pour corriger ses failles.\\

Le processus d'évaluation, de révision et de réparation entraine parfois un processus d'apprentissage qui permet d'améliorer la détection et la correction des failles des futures solutions générées. L'apprentissage est possible, car les modèles d'évaluation/réparation utilisent souvent des paramètres pour donner des résultats et sur ces paramètres il est possible d'appliquer des algorithmes qui vont aider à mesurer et changer les solutions selon les cas particuliers.\\

L'évaluation peut se faire soit par un expert humain qui a la capacité d'évaluer la solution selon le contexte et la pertinence, soit par un système qui fonctionne dans le monde réel renvoyant le résultat de l'application de la solution ou soit par un modèle qui utilise des simulations numériques ou données et des tests statistiques. La correction des solutions peut être automatique, mais dépend du domaine et de l'information disponible pour le faire, usuellement le conteneur du vocabulaire a un ensemble de règles qui sont appliquées aux solutions qui ont été identifiées comme non valides.

\subsubsection{Stocker (Retenir)}

Si un nouveau cas résolu est jugé pertinent, alors celui-ci peut être stocké dans la base de cas pour qu'il aide dans la résolution de futures nouveaux cas. Dans le RàPC c'est considéré comme un processus d'apprentissage, car tous les cas résolus ne sont pas retenus, seulement certains d'entre eux, ceux qui remplissent des critères prédéfinis. Cette étape a deux rôles différents, le premier est d'aider le système à améliorer sa capacité à sélectionner des cas, évaluer et corriger les solutions générées; et le second est d'optimiser la taille de la base de cas pour éviter de gaspiller l'espace de stockage et ralentir le système au moment de trouver les cas similaires.

\subsubsection{Conteneurs de Connaissance}

Pour pouvoir exécuter le cycle complet, le RàPC dépend de quatre sources différentes d'information, ces sources sont appelées les conteneurs. Les conteneurs sont: le conteneur de cas, le conteneur d'adaptation, le conteneur du vocabulaire et le conteneur de similarité \cite{RICHTER20093}:

\begin{itemize}
\item Conteneur de cas: il contient les expériences passées que le système peut utiliser pour résoudre les nouveaux problèmes. L'information est structurée comme un couple $(p, s)$, où $p$ est la description d'un problème et $s$ est la description de sa solution.
\item Conteneur d'adaptation: il stocke le ou les stratégies d'adaptation ainsi que les règles et paramètres nécessaires pour les exécuter.
\item Conteneur du vocabulaire: il contient l'information de la représentation.\colorbox{yellow}{MLB:c'est-à-dire ?les éléments... les fonctions?} Les éléments comme les entités, les attributs, les fonctionnes ou les relations entre les entités. Généralement dans le RàPC est utilisée la représentation des cas avec la structure clé-valeur.
\item Conteneur de similarité: il stoke les paramètres et la mesure de similarité $sim(p_1, p_2)$ entre les cas $p_1$ et $p_2$. \colorbox{yellow}{MLB:ne comprends pas la phrase} De plus, il est nécessaire de définir la fonction comme si le résultat est grande, alors la similitude entre $p_1$ et $p_2$ est importante ou au contraire.\\
\end{itemize}

La figure \figref{figCycle} montre les liens entre les étapes du RàPC et les conteneurs, les flèches montrent le flux de l'information, les lignes continues suivent le parcours du cycle du RàPC, les lignes discontinues sont les liens entre les étapes et les conteneurs. L'étape "Retain" peut elle interagir avec les conteneurs 2, 3 et 4 comme dans le travail de Marie \cite{Marie}.\\

\mfigure[!ht]{scale=2.5}{./Figures/CycleCBR.png}{Cycle du RàPC, les étapes, les conteneurs et leurs liens}{figCycle}

%\begin{figure}
%\centering
%\includegraphics[scale=2.5]{./Figures/CycleCBR.png}
%\caption{Cycle du RàPC, les étapes, les conteneurs et leurs liens}
%\label{figCycle}
%\end{figure}

\subsection{Systèmes Multi-Agents}

Les systèmes multi-agents sont des systèmes conçus pour résoudre des problèmes en combinant l'intelligence artificielle et le calcul distribué. Ces systèmes sont composés de multiples entités autonomes appelées agents, qui ont la capacité de communiquer entre elles et également de coordonner leurs comportements \cite{hajduk2019cognitive}.\\

Les agents ont comme propriétés:
\begin{itemize}
\item Autonomie: les agents fonctionnent sans intervention externe des êtres humains ou d'autres entités, ils ont un mécanisme interne qui leur permet de contrôler leurs états.
\item Réactivité: les agents ont la capacité de percevoir l'environnement dans lequel ils sont et peuvent réagir aux changements qui se produisent.
\item Pro-activité: les changements et réactions peuvent se produire aussi comme l'effet du processus cognitif interne, non seulement à cause des changements dans l'environnement \colorbox{yellow}{MLB:phrase à revoir}. 
\item Coopération: étant donné que les agents peuvent communiquer les uns avec les autres, ils échangent de l'information qui les aide à se coordonner et à résoudre un même problème.
\item Apprentissage: il est nécessaire qu'un agent soit capable de réagir dans un environnement dynamique et inconnu, il doit donc avoir la capacité d'apprendre de ses interactions et ainsi améliorer la qualité de ses réactions et comportements.\\
\end{itemize}

Il existe quatre types d'agent en fonction des capacités et des approches:
\begin{itemize}
\item Réactif: c'est l'agent qui perçoit constamment l'environnement et agit en fonction de ses objectifs.
\item Basé sur les réflexes: c'est l'agent qui considère les options pour atteindre ses objectifs et développe un plan à suivre.
\item Hybride agent: il combine les deux modèles antérieurs en utilisant chacun d'eux en fonction de la situation et de l'objectif. 
\item Basé sur le comportement: l'agent contient un ensemble de modèles de comportement pour réaliser certaines tâches spécifiques, chaque comportement se déclenche selon des règles prédéfinies ou des conditions d'activation. Le comportement de l'agent peut être modélisé avec différentes stratégies cognitives de pensée ou de raisonnement.
\end{itemize}

\subsection{Pensée Bayesienne}

D'après les travaux de certains mathématiciens et neuroscientifiques, toute forme de cognition peut être modélisée dans le cadre de la formule de Bayes (equation \ref{eqBayes}), car elle permet de tester différentes hypothèses et donner plus de crédibilité à celle qui est confirmée par les observations. Étant donné que ce type de modèle cognitif permet l'apprentissage optimal, la prédiction sur les événements passés, l'échantillonnage représentatif et l'inférence d'information manquante; il est appliqué dans quelques algorithmes de machine learning et d'intelligence artificielle \cite{Hoang}.

\begin{equation}
P(A|B)=\frac{P(B|A)P(A)}{P(B)}
\label{eqBayes}
\end{equation}

La formule de Bayes calcule la probabilité a posteriori $P(A|B)$ de la plausibilité de la théorie $A$ compte tenu des données $B$, et requiert trois termes: (1) une probabilité a priori $P(A)$ de la plausibilité de l'hypothèse $A$, (2) le terme $P(B|A)$ qui mesure la capacité de l'hypothèse $A$ à expliquer les données observées $B$ et (3) la fonction de partition $P(B)$ qui met en compétition toutes les hypothèses qui ont pu générer les données observées $B$. À chaque nouvelle évaluation de la formule, la valeur du terme a priori $P(A)$ est actualisée par la valeur du terme a posteriori $P(A|B)$. Ainsi, à chaque évaluation, le degré de plausibilité de chaque hypothèse est ajusté \cite{Hoang}.\\

Par la suite, nous explicitons quelques algorithmes, intègrés généralement dans l'étape "Rechercher" du RàPC,  pour la recherche des cas les plus proches d'un nouveau cas.

\subsection{Méthode des k plus proches voisins (K-Nearest Neighborhood - KNN)}

Comme est défini dans \cite{10.1145/3459665}, la méthode des 'k' plus proches voisins est une méthode pour classifier des données dans des classes spécifiques. Pour faire cela, il est nécessaire de disposer d'une base de données avec des exemples déjà identifiés. Pour classer de nouveaux exemples, la méthode attribue la même classe que celle de leurs voisins les plus proches. Généralement, l'algorithme compare les caractéristiques d'une entité avec plusieurs possibles voisins pour essayer d'btenir des résultats plus précis. 'k' représente le nombre de voisins, puisque l'algorithme peut être exécuté à chaque fois avec un nombre différent de voisins.\\

Étant donné un jeu de données $D$ constitue de $(x_i)_{i \in [1,n]}$ données (où $n = |D|$). Chacune des données est décrite par $F$ caractéristiques qui sont des valeurs numériques normalisées $[0,1]$, et par une classe de labellisation $y_j \in Y$. Le but est de classifier une donnée inconnue $q$. Pour chaque $x_i \in D$, il est possible de calculer la distance entre $q$ et $x_i$ comme l'équation \ref{eqDist}.

\begin{equation}
d(q,x_i)=\sum_{f \in F} w_f \delta(q_f, x_{if})
\label{eqDist}
\end{equation}

C'est une somme de \colorbox{yellow}{MLB:à vérifier de} toutes les caractéristiques $F$ avec $w_f$ le poids pour chaque caractéristique. \colorbox{yellow}{MLB:vérifier la suite}La fonction de distance $\delta$ peut être une métrique générique. Pour des valeurs numériques discrètes il est possible d'utiliser la définition \ref{eqMet1},

\begin{equation}
\delta(q_f, x_{if})=
\begin{cases}
0&q_f=x_{if}\\
1&q_f \neq x_{if}
\end{cases}
\label{eqMet1}
\end{equation}

et si les valeurs sont continues l'équation \ref{eqMet2}.

\begin{equation}
\delta(q_f, x_{if})= \lvert q_f-x_{if} \rvert
\label{eqMet2}
\end{equation}

\colorbox{yellow}{MLB:paragraphe A vérifier, dernière phrase incomprise}Souvent, pour décider de la classe d'une donnée inconnue, on attribue un poids plus important aux voisins les plus proches. Une technique assez générale pour y parvenir est le vote pondéré en fonction de la distance.  Les voisins peuvent voter sur une certaine classe pour attribuer à la donnée inconnue avec des votes pondérés par l'inverse de leur distance (équation \ref{eqV1}).

\begin{equation}
N(a,b)= \begin{cases} 1 & a=b \\ 0 & a \neq b \end{cases}
\label{eqV1}
\end{equation}

L'équation de vote peut être comme l'équation \ref{eqV2}.

\begin{equation}
vote(y_i)=\sum_{c=1}^{k} \frac{1}{d(q, x_c)^p}N(y_j, y_c)
\label{eqV2}
\end{equation}

une autre alternative est basée sur le travail de Shepard, équation \ref{eqV3}.

\begin{equation}
vote(y_i)=\sum_{c=1}^{k} e^{d(q, x_c)}N(y_j, y_c)
\label{eqV3}
\end{equation}

La fonction de distance peut être n'importe quelle mesure d'affinité entre deux objets, mais cette fonction doit répondre à quatre critères (équations \ref{eqCond}).

\begin{equation}
\begin{array}{l}
  d(x,y) \ge 0\\
  d(x,y) = 0, \; seulement \; si \; x=y\\
  d(x,y)=d(y,x)\\
  d(x,z) \ge d(x,y) + d(y,z)\\
\end{array}
\label{eqCond}
\end{equation}

\subsection{K-Moyennes}

Selon \cite{9072123}, K-Moyennes est un algorithme d'apprentissage utilisé pour partitionner et grouper des données. \colorbox{yellow}{MLB:il faur un verbe dans la phrase}Étant donné $X = \{x_1, . . . , x_n\}$ un ensemble dans un espace Euclidien $\mathbb{R}^d$. Et $A = \{a_1, . . . , a_c\}$ avec $c$ comme nombre de groupes. Ainsi que $z = [z_{ik} ]_{n \times c}$, où $z_{ik}$ est une variable binaire (i.e. $z_{ik} \in \{0, 1\}$) qui indique si une donnée $x_i$ appartient au k-ème groupe, $k = 1, · · · , c$. L'équation \ref{eqKM} montre la fonction objective k-moyenne.

\begin{equation}
J (z, A) = \sum_{i=1}^n \sum_{k=1}^c z_{ik} \parallel x_i - a_k \parallel ^2
\label{eqKM}
\end{equation}

\colorbox{yellow}{MLB:a discuter}L'algorithme des k moyennes est itéré à travers les conditions nécessaires pour minimiser la fonction objectif des k moyennes $J (z, A)$ avec la mise à jour des équations pour les centres du groupe (équation \ref{eqCentres}) et les appartenances (\ref{eqApp}), respectivement. 

\begin{equation}
a_k=\frac{\sum_{i=1}^n z_{ik}x_{ij}}{\sum_{i=1}^n z_{ik}}
\label{eqCentres}
\end{equation}

\begin{equation}
z_{ik}=\begin{cases}1 & if  \parallel x_i - a_k \parallel ^2=min_{1 \le k \le c} \parallel x_i - a_k \parallel ^2\\ 0,&otherwise\end{cases}
\label{eqApp}
\end{equation}

\subsection{Modèle de Mélange Gaussien GMM (\textit{Gaussian Mixture Model})}

Comme décrit dans \cite{WANG2021331}, le modèle de mélange gaussien (GMM) est un modèle probabiliste composé de plusieurs modèles gaussiens simples. Considérant une variable multidimensionnelle $x=\{x_1, x_2, ..., x_d\}$ en tant qu'entrée, GMM multivarié est défini comme dans l'équation \ref{eqGMM}.

\begin{equation}
p(x \lvert \theta)=\sum_{k=1}^K \alpha_k g(x \lvert \theta_k)
\label{eqGMM}
\end{equation}

Dans cette équation, $K$ est le nombre de modèles gaussiens uniques dans GMM, également appelés composants; \colorbox{yellow}{MLB:pas compris}$\alpha_k$ est la probabilité de mélange de la k-ème composante du modèle de mélange sujette à la condition que montre l'équation \ref{eqK}.

\begin{equation}
\sum_{k=1}^K \alpha_k=1
\label{eqK}
\end{equation}

$\theta_k$ représente la valeur moyenne et la matrice de covariance de chaque modèle gaussien unique: $\theta_k=\lbrace \mu_k, \Sigma_k \rbrace$. Pour un seul modèle gaussien multivarié, nous avons la fonction de densité de probabilité $g(x)$ (équation \ref{eqdProb}).

\begin{equation}
g(x; \mu, \Sigma)=\frac{1}{(2\pi)^{n/2} \lvert \Sigma \rvert ^{1/2}} exp \left( - \frac{1}{2} (x-\mu)^T \Sigma ^{-1} (x-\mu) \right )
\label{eqdProb}
\end{equation}

La tâche principale est d'obtenir les paramètres $\alpha_k, \theta_k$ pour tout $k$ défini dans GMM en utilisant un ensemble de données avec $N$ échantillons d'entrainement. Une solution classique et disponible pour l'estimation des paramètres requis utilise l'algorithme de maximisation des attentes (Expectation-Maximization EM), qui vise à maximiser la vraisemblance de l'ensemble de données. Il s'agit d'une approche itérative, et les paramètres sont continuellement mis à jour jusqu'à ce qu'ils répondent au critère terminal: \colorbox{yellow}{MLB:la suite est bien l'expression du critère?}lorsque la valeur delta log-vraisemblance entre deux itérations est inférieure à un seuil donné. Les paramètres du modèle de mélange peuvent enfin être obtenus après des itérations répétées, qui présentent une estimation de la distribution de l'ensemble des données et qui \colorbox{yellow}{MLB:ok qui?}sont utilisés pour une opération de génération ultérieure.

\subsection{Fuzzy-C}
Fuzzy C-Means Clustering (FCM) est un algorithme de clustering flou non supervisé largement utilisé \cite{9627973}. Le FCM utilise comme mesure de distance la mesure euclidienne. Supposons d'abord que l'ensemble d'échantillons à regrouper est $X=\{x_1,x_2,...,x_n\}$, où $x_j \in R^d(1 \le j \le n)$ dans le d-dimensionnel espace Euclidien, et $c$ est le nombre de clusters. L'équation \ref{eqFuzzy} montre la fonction objectif de FCM.

\begin{equation}
J(U,V)=\sum_{i=1}^c \sum_{j=1}^n u_{ij}^m (x_j - v_i)^T A(x_j-v_i)
\label{eqFuzzy}
\end{equation}

où $A$ est la matrice métrique, $m$ est un nombre quelconque ($m > 1$) qui dénote le degré de flou, $u_{ij}$ est le degré d'appartenance du j-ème échantillon $x_j$ qui appartient au i-ème cluster, dont le centre est $v_i$. $U=(u_{ij})$, $V=[v_1,v_2,...,v_c], 1 \le i \le c, 1 \le j \le n, 2 \le c < n$, et $u_{ij}$ satisfait les conditions de l'équation \ref{eqFCond}.

\begin{equation}
\sum_{i=1}^c u_{ij} = 1, u_{ij} \ge 0
\label{eqFCond}
\end{equation}

Pour compléter le modèle, les équations de mise à jour pour le centre du cluster $v_i$ (équation \ref{eqFV}) et des degrés d'appartenance $u_{ij}$ (équation \ref{eqFU}) sont définies.

\begin{equation}
v_i=\frac{\sum_{j=1}^n u_{ij}^m x_j}{\sum_{j=1}^n u_{ij}^m}
\label{eqFV}
\end{equation}

\begin{equation}
u_{ij}=\frac{((x_j-v_i)^TA(x_j-v_i))^{\frac{2}{m-1}}}{\left( \sum_{h=1}^c (x_j-v_h)^TA(x_j-v_h)  \right)^{\frac{2}{m-1}}}
\label{eqFU}
\end{equation}

Les algorithmes qui se trouvent dans la suite de cette section sont des algorithmes qui font partie de l'intelligence artificielle et sont utilisés dans certains EIAH pour améliorer les recommandations, essayer de corriger et de détecter les faiblesses des apprenants de façon automatique.

\subsection{Bandit Manchot MAB (\textit{Multi-Armed Bandits})}

Dans \cite{9434422} MAB est décrit comme un problème qui appartient au domaine de l'apprentissage par renforcement, celui-ci représente un processus de prise de décision séquentielle dans des instants $t$ de temps, où un utilisateur doit sélectionner une action $k_t \in K$ à réaliser dans un ensemble $K$ fini de possibles actions et chacune d'elles donne une récompense qui est inconnue pour l'utilisateur. L'objectif est de maximiser la récompense cumulée globale dans le temps. La clé pour trouver une solution au problème est de trouver l'équilibre optimal entre l'exploration (exécuter des actions inconnues pour collecter de l'information complémentaire) et l'exploitation (continuer à exécuter les actions déjà connues pour cumuler plus de gains). L'un des algorithmes utilisés pour résoudre ce problème c'est l'échantillonnage de Thompson.

\subsection{Échantillonnage de Thompson TS (\textit{Thompson Sampling})}

Comme indiqué dans \cite{9870279}, l'algorithme d'échantillonnage de Thompson est un algorithme de type probabiliste utilisé généralement pour résoudre le problème MAB.\colorbox{yellow}{MLB:ne comprends pas la suite} Il est basé sur le principe Bayesien où il y a une distribution de probabilité  a priori et avec les données obtenues est génèrée une distribution de probabilité a posteriori utilisée pour essayer de maximiser l'estimation de la valeur espérée, la distribution de base utilisée est la distribution Beta qui est définie sur $[0, 1]$ et paramétrée par deux valeurs $\alpha$ et $\beta$, c'est un cas particulier de la loi de Dirichlet comme le montre la figure \figref{figBeta}. L'équation \ref{eqBeta} décrit formellement la famille des courbes générées par la distribution Beta.\\

Chaque action de MAB a une distribution Beta dont les paramètres sont initialisés en 1. Ces valeurs changent et sont calculées à partir des récompenses obtenues : si au moment d'exécuter une action spécifique le résultat est un succès, alors la valeur du paramètre $\alpha$ de sa distribution Beta doit augmenter mais si le résultat est un échec alors la valeur du paramètre $\beta$ de sa distribution Beta doit augmenter. De ce façon, la distribution pour chacune des possibles actions est ajustée en privilégiant les actions qui génèrent le plus de récompenses sur les autres actions. A chaque nouvelle itération, toutes les distributions sont plus précises sur la valeur espérée des actions.\\

\mfigure[!ht]{scale=0.5}{./Figures/beta-distribution.png}{Comportement de la distribution Beta avec différents valeurs dans ses paramètres}{figBeta}

%\begin{figure}
%\centering
%\includegraphics[scale=0.5]{./Figures/beta-distribution.png}
%\caption{Comportement de la distribution Beta avec différentes valeurs dans ses paramètres}
%\label{figBeta}
%\end{figure}

\begin{equation}
B(x, \alpha, \beta) =
\begin{cases}
\frac{x^{\alpha-1}(1-x)^{\beta - 1}}{\int_0^1 u^{\alpha - 1}(1-u)^{\beta - 1}du} & pour x \in [0, 1] \\
0&sinon
\end{cases}
\label{eqBeta}
\end{equation}

Dans les deux chapitres suivants nous présentons les travaux récents, en rapport avec le sujet de thèse, qui utilisent les concepts et algorithmes explicités dans ce chapitre.\\

\part{État de l'art}

\chapter{Environnements Informatiques d'Apprentissage Humain}
\markboth{CHAPITRE 3. \'ETAT DE L'ART (EIAH)}{}

Dans ce chapitre sont mentionnés des travaux qui sont en rapport avec le travail de la thèse spécifiquement sur les EIAH, mais ils utilisent des approches différents, alors ici est faite une classification de ces travaux mais selon le thème principal qu'ils abordent.

\section{L'Intelligence Artificielle}

L'intelligence artificielle a été appliquée avec succès au domaine de l'éducation dans plusieurs écoles de différents pays et pour l'apprentissage de l'informatique, les langues étrangères et les sciences comme le montre le travail de \cite{ZHANG2021100025} qui analyse des articles dans la période de 1993-2020, où il est importante de voir aussi que il n'y a pas une distinction en age, ni en niveau culturel, ni en niveau éducatif. En plus, avec les différentes techniques d'intelligence artificielle qui sont appliquées il est possible d'adapter la stratégie d'apprentissage pour n'importe qui et maximiser le rendement et acquisition des connaissances. Une caractéristique assez notable est que les représentations et algorithmes peuvent changer et évoluer. Aujourd'hui il y a encore beaucoup de potentiel pour développer encore les capacités de calcul et d'adaptation.\\

Un travail plus analytique de l'utilisation de l'intelligence artificielle dans l'éducation est \cite{CHIU2023100118} qui présente une révision des travaux d'intelligence artificielle appliquée à l'éducation extraits des bases de données bibliographiques ERIC, WOS et Scopus dont la date de publication est dans la période 2012-2021, ce travail est focalisé sur les tendances et les outils employées pour aider dans le processus d'apprentissage. Après l'analyse de 92 travaux, une classification des contributions de l'IA est crée : apprentissage, enseignement, évaluation et administration. Dans l'apprentissage, est utilisée généralement l'IA pour attribuer des tâches en fonction des compétences individuelles, fournir des conversations homme-machine, analyser le travail des étudiants pour obtenir des commentaires et accroître l'adaptabilité et l'interactivité dans les environnements numériques. Dans l'enseignement, peuvent être appliquées des stratégies d'enseignement adaptatives, améliorer la capacité des enseignants à enseigner et soutenir le développement professionnel des enseignants. Dans le domaine de l'évaluation, l'IA peut fournir une notation automatique et prédire les performances des élèves. L'IA aide dans le domaine de l'administration à améliorer la performance des plateformes de gestion, à soutenir la prise de décision pédagogique et à fournir des services personnalisés. Quelques-unes des lacunes identifiées de l'IA dans le domaine de l'éducation sont : les ressources recommandées par les plateformes d'apprentissage personnalisées sont trop homogènes, les données nécessaires pour les modèles d'IA sont très spécifiques, le lien entre les technologies et l'enseignement n'est pas bien clair, la plupart des travaux sont conçus pour un domaine ou un objectif très spécifique (peu de généralité), l'inégalité éducative car les technologies ne motivent pas tous les types d'élèves et parfois il y a des attitudes négatives envers l'IA, parce qu'elle est difficile à maîtriser et a intégrer dans les cours.\\

Les techniques d'IA peuvent aussi aider à prendre des décisions stratégiques qui visent des objectifs à long échéance comme le montre le travail de \cite{Robertson2014ARO} qui analyse plusieurs publications réalisées dans le domaine de l'utilisation de l'IA en jeux stratégiques. Les jeux stratégiques sont un très bon terrain d'entrainement parce que ils contient plusieurs règles, environnements pleins de contraintes, actions et réactions en temps réel, caractère aléatoire et informations cachées. Les techniques principales identifiées sont: l'apprentissage par renforcement, les modèles Bayésiens, la recherche en arbre, le raisonnement à partir de cas, les réseaux de neurones et les algorithmes évolutifs. Ici est notable aussi comme la combinaison de ces techniques permet dans certains cas d'améliorer le comportement global des algorithmes et d'obtenir meilleures réponses.

\section{Systèmes de Recommandation dans les EIAH}

Les systèmes de recommandation dans les environnements d'apprentissage considèrent les exigences, les nécessites, le profil, les talents, les intérêts et l'évolution de l'apprenant pour s'adapter et recommander des ressources ou des exercices avec le but d'améliorer l'acquisition et maîtrise de concepts et des connaissances en général. L'adaptation de ces systèmes peut être de deux types, l'adaptation de la présentation qui montre aux apprenants les ressources en concordance avec leurs faiblesses et l'adaptation de la navigation qui change la structure du cours en fonction du niveau et style d'apprentissage de chaque apprenant \cite{MUANGPRATHUB2020e05227}. Ces systèmes montrent des effets positifs pour les apprenants comme le révèle le travail de \cite{HUANG2023104684}, qui applique l'intelligence artificielle pour personnaliser des recommandations de ressources en vidéo et ainsi aider et motiver les apprenants, les effets ont été validés avec la différence entre des test préliminaires et des test après la finalisation du cours ainsi que un groupe de contrôle qui a suivi le même cours sans le système de recommandation. La figure \ref{figArch} montre l'architecture du système où l'intelligence artificielle est utilisée dans différents étapes du processus avec les données de l'apprenant et la supervision et contrôle du professeur.\\

\begin{figure}
\centering
\includegraphics[scale=0.5]{./Figures/architecture.png}
\caption{Architecture du système de recommandation proposé dans \cite{HUANG2023104684}}
\label{figArch}
\end{figure}

Le travail de \cite{pmlr-v108-seznec20a} propose un modèle générique de recommandation qui peut être utilisé dans les systèmes de recommandation de produits ou les systèmes d'apprentissage. Ce modèle est basé sur l'algorithme par renforcement UCB (Upper Confidence Bound) qui permet de trouver une solution approchée à une variante du problème bandit manchot non stationnaire (MAB), où les recompenses de chaque action diminuent chaque fois que elle est utilisée. Pour valider le modèle une comparaison avec trois autres algorithmes sur une base de données réelle a été réalisée, les métriques employées sont la moyenne accumulée du régret et la moyenne de la récompense accumulée. Avec les deux métriques, le modèle proposé est très performant.\\

Aussi \cite{INGKAVARA2022100086}, met en évidence que les technologies et les systèmes de recommandation peuvent s'adapter à différents besoins et aspirations ainsi que favoriser l'apprentissage auto-régulé. Ce type d'apprentissage aide aux apprenants à acquérir les habilités pour améliorer leur vitesse et performance; parce que y trouvent des objectifs variables, un environnement structuré, des temps d'apprentissage variable et des ressources de support et de renforcement.\\

Comme vu précédemment, les techniques de l'intelligence artificielle sont largement utilisées dans l'apprentissage et l'enseignement; l'apprentissage adaptatif pour suggérer des ressources d'étude est l'objectif du travail de \cite{LALITHA2020583} où est proposé un système avec un module de personnalisation qui collecte l'information de l'apprenant et ses exigences, un module de classification qui compare l'information avec d'autres profiles en utilisant l'algorithme KNN et un module de recommandation chargé de identifier les ressources communs entre les profiles et d'extraire information complémentaire d'Internet avec Random Forest pour améliorer le processus d'apprentissage du nouveau apprenant. Les techniques et les stratégies sont très variées mais l'objectif est de s'adapter aux apprenants et leurs besoins; Dans \cite{ZHAO2023118535} les données des apprenants sont collectés et classifiés dans groupes avec des caractéristiques similaires, puis pour déterminer la performance de chaque apprenant est utilisée la méthode d'analyse par enveloppement des données (DEA) qui permet d'identifier les besoins spécifiques de chaque groupe et ainsi proposer un parcours d'apprentissage personnalisé.\\

Un aspect pertinent des systèmes de recommandation qu'il faut bien considérer est la représentation des données des enseignants, des apprenants et l'environnement; parce que les multiples types de structures qu'on peut utiliser et son contenu peuvent conduire vers des résultats différents et changements dans la performance des algorithmes ou techniques employées. La proposition de \cite{SU2022109547} est de stocker les données des apprenants dans deux graphes évolutifs qui contient les relations entre les questions et les réponses correctes ainsi que les réponses données par les apprenants, pour construire un graphe global de chaque apprenant avec son état cognitif et avec lequel est analysé et prédit la performance dans un contexte spécifique et ainsi pouvoir proposer un parcours personnalisé. Dans \cite{MUANGPRATHUB2020e05227} sont représentés les concepts comme trois ensembles: les objets (G), les attributs (M) et les relations entre G et M ; avec l'idée de les analyser avec l'approche FCA (Formal Context Analysis), Ce type de représentation permet de mettre en rapport les ressources, les questions et les sujets, ainsi si un apprenant étudie un sujet $S_1$ et il y a une règle qui relie $S_1$ avec le sujet $S_4$ ou la question $Q_34$, alors le système peut suggérer l'étude de ces ressources, l'algorithme complet explore la structure prédéfinie du cours pour recommander un parcours exhaustif d'apprentissage.\\

La recommandation personnalisé d'exercices est aussi une autre approche des systèmes de recommandation comme le fait \cite{Zhou2021} de forme spécifique pour l'apprentissage de l'anglais, le système contient un module principal qui représente les apprenants comme des vecteurs selon le modèle DINA où sont stockes les points de connaissance acquise, le vecteur est n-dimensionnel $K=\{k_1, k_2, ..., k_n\}$ et chaque dimension correspond à un point de connaissance, ainsi si $k_1=1$ alors l'apprenant maîtrise le point de connaissance $k_1$, et si $k_2=0$ alors l'apprenant doit étudier le point de connaissance $k_2$ car il n'a pas acquise la maîtrise dans ce point-là. Sur ce type de représentation est basé la recommandation des questions proposées par le système, il y a aussi une librairie de ressources associes à chacune des possibles questions, avec lesquelles l'apprenant peut renforcer son apprentissage et avancer dans le programme du cours.\\

Certains travaux de recommandation et personnalisation considèrent des variables complémentaires aux notes comme dans \cite{EZALDEEN2022100700}, qui lie l'analyse du comportement de l'apprenant et l'analyse sémantique. La première étape consiste en collecter les données nécessaires pour créer un profile de l'apprenant, avec le profile complet, sont associés l'apprenant et un groupe de catégories prédéfinies d'apprentissage selon ses préférences et les données historiques, puis en ayant une valeur pour chaque catégorie sont cherchés les concepts associés pour les catégories et ainsi est générée une guide pour obtenir des ressources qu'on peut recommander sur le web. Le système est divisé en quatre niveaux comme montre la figure \figref{figLevels} où chacun des niveaux est chargé de une tache spécifique dont les résultats sont envoyés au niveau suivant jusqu'à arriver aux recommandations personnalisés pour l'apprenant.\\

\mfigure[!ht]{scale=0.5}{./Figures/ELearningLevels.png}{Niveaux du système de recommandation dans \cite{EZALDEEN2022100700}}{figLevels}

%\begin{figure}[!ht]
%\centering
%\includegraphics[scale=0.5]{./Figures/ELearningLevels.png} 
%\caption{Niveaux du système de recommandation dans le travail \cite{EZALDEEN2022100700}}
%\label{figLevels}
%\end{figure}

Une limitation générale qui presentent les algorithmes d'IA dans les EIAH est que ce type d'algorithmes ne permettent pas d'oublier l'information avec laquelle ils ont été entrainés, une propiété nécessaire pour les EIAH dans certaines situations où peut se produire un disfonctionnement du système, la réévaluation d'un apprenant ou la reestructuration d'un cours.\\

Le tableau \ref{tabArts} montre un récapitulatif des articles analysés dans l'état de l'art des EIAH.\\

\begin{table}
\footnotesize
\begin{tabular}{p{4.2cm}p{10cm}}
Référence&Limites et faiblesses\\
\hline
\cite{ZHANG2021100025}&Niveau global d'application de EIAH. Analyse des effets de l'IA\\
\cite{CHIU2023100118}&Aspects non cognitifs en IA. Motivation des apprenants\\
\cite{Robertson2014ARO}&Peu de test. Pas de standard d'évaluation\\
\cite{HUANG2023104684}&Recommandation en fonction de la motivation seulement. N'est pas général pour tous les apprenants\\
\cite{pmlr-v108-seznec20a}&Le modèle n'a pas été testé avec données d'étudiants. UCB prends beaucoup de temps pour explorer les alternatives\\
\cite{INGKAVARA2022100086}&Modèle très complexe. Définition de constantes subjectif et beaucoup de variables.\\
\cite{LALITHA2020583}&A besoin de beaucoup de données pour entrainement. Ne marche pas dans le cas 'cold-start', nést pas totalement automatisé\\
\cite{SU2022109547}&Estimation de la connaissance de façon subjective. Il est nécessaire une étape d'entrenaiment\\
\cite{MUANGPRATHUB2020e05227}&Structure des règles complexe. Définition de la connaissance de base complexe\\
\cite{Zhou2021}&Utilisation d'un filtre collaboratif sans stratification. Utilisation d'une seule metrique de distance\\
\cite{EZALDEEN2022100700}&Il n y a pas de comparaison avec d'autres modèles différents de CNN. Beaucoup de variables à valeurs subjectives\\

\end{tabular}
\caption{Tableau de synthèse des articles analysés dans l'état de l'art des EIAH}
\label{tabArts}
\end{table}

%\bibliographystyle{spimphdthesis}
\bibliographystyle{apalike}
 
%% Link the GENERAL bibliogaphy to a BibTeX file.
\bibliography{main.bib}

\end{document}