Commit 8e925b0e90a6f1bc5ee87f55bf2c07e569d69ef1

Authored by dsotofor
1 parent cc9dda20fd
Exists in main

version all ok...

Showing 1 changed file with 2 additions and 2 deletions Inline Diff

chapters/Architecture.tex View file @ 8e925b0
\chapter{Architecture Globale du Système AI-VT} 1 1 \chapter{Architecture Globale du Système AI-VT}
2 2
\section{Introduction} 3 3 \section{Introduction}
4 4
Il est important de définir et décrire l'architecture logicielle d'un système complexe afin de mieux comprendre son fonctionnement. L'architecture montre les composants, les couches, les fonctionnalités et les interactions. Ce chapitre présente l'architecture modulaire proposée pour le système AI-VT. Les modules intègrent des outils issus de différents paradigmes, des modèles et des algorithmes d'intelligence artificielle permettant au système d'être plus performant. Les objectifs de l'architecture proposée sont de rendre le logiciel AI-VT (Artificial Intelligence Virtual Trainer) stable, évolutif, performant et facile à entretenir. L'architecture proposée se compose de quatre couches indépendantes, chacune dédiée à une fonctionnalité spécifique : correction automatique, identification, révision et test. Le contenu de ce chapitre a été publié dans \textit{et al.} \cite{10.1007/978-3-031-63646-2_13}. 5 5 Il est important de définir et décrire l'architecture logicielle d'un système complexe afin de mieux comprendre son fonctionnement. L'architecture montre les composants, les couches, les fonctionnalités et les interactions. Ce chapitre présente l'architecture modulaire proposée pour le système AI-VT. Les modules intègrent des outils issus de différents paradigmes, des modèles et des algorithmes d'intelligence artificielle permettant au système d'être plus performant. Les objectifs de l'architecture proposée sont de rendre le logiciel AI-VT (Artificial Intelligence Virtual Trainer) stable, évolutif, performant et facile à entretenir. L'architecture proposée se compose de quatre couches indépendantes, chacune dédiée à une fonctionnalité spécifique : correction automatique, identification, révision et test. Le contenu de ce chapitre a été publié dans \textit{et al.} \cite{10.1007/978-3-031-63646-2_13}.
6 6
Il est possible de classer les architectures selon deux catégories : les architectures monolithiques et les architectures modulaires. Dans une architecture monolithique, le système logiciel est considéré comme une entité unique et unitaire avec une seule source de code, une seule base de données et un seul déploiement pour l'ensemble du système. Ce type de système est simple à développer et à tester mais il est peu adapté à la mise à jour et à l'évolution en raison de sa rigidité. Une architecture modulaire divise le système en modules indépendants qui peuvent communiquer entre eux, chaque module contenant alors tout ce qui est nécessaire pour fonctionner. De nombreux systèmes logiciels ont été conçus avec une architecture modulaire en raison des multiples avantages qu'elle présente \cite{Auer} \cite{jmse10040464}. 7 7 Il est possible de classer les architectures selon deux catégories : les architectures monolithiques et les architectures modulaires. Dans une architecture monolithique, le système logiciel est considéré comme une entité unique et unitaire avec une seule source de code, une seule base de données et un seul déploiement pour l'ensemble du système. Ce type de système est simple à développer et à tester mais il est peu adapté à la mise à jour et à l'évolution en raison de sa rigidité. Une architecture modulaire divise le système en modules indépendants qui peuvent communiquer entre eux, chaque module contenant alors tout ce qui est nécessaire pour fonctionner. De nombreux systèmes logiciels ont été conçus avec une architecture modulaire en raison des multiples avantages qu'elle présente \cite{Auer} \cite{jmse10040464}.
8 8
L'EIAH AI-VT a ainsi évolué vers une architecture modulaire que nous présentons dans ce chapitre. Après avoir rappelé le fonctionnement et les différents composants initiaux du système AI-VT, ce chapitre présente l'architecture modulaire implémentée lors de cette thèse et permettant à AI-VT d'intégrer de nouvelles fonctionnalités. La section 5.2 décrit le système AI-VT qui a été développé et qui existait avant le début de cette thèse. 9 9 L'EIAH AI-VT a ainsi évolué vers une architecture modulaire que nous présentons dans ce chapitre. Après avoir rappelé le fonctionnement et les différents composants initiaux du système AI-VT, ce chapitre présente l'architecture modulaire implémentée lors de cette thèse et permettant à AI-VT d'intégrer de nouvelles fonctionnalités. La section 5.2 décrit le système AI-VT qui a été développé et qui existait avant le début de cette thèse.
10 10
%\textcolor{red}{penser à bien expliciter ce qui existait avant, et ce que tu as développé et ce qui est en cours} 11 11 %\textcolor{red}{penser à bien expliciter ce qui existait avant, et ce que tu as développé et ce qui est en cours}
12 12
%---------------------------------------------------------------------------------------- 13 13 %----------------------------------------------------------------------------------------
% SECTION 2 14 14 % SECTION 2
%---------------------------------------------------------------------------------------- 15 15 %----------------------------------------------------------------------------------------
16 16
\section{Description du système AI-VT} 17 17 \section{Description du système AI-VT}
18 18
Pour rappel, le système AI-VT est un outil pédagogique générique qui vise à accompagner les apprenants dans leur apprentissage en leur proposant des fiches d'exercices appelées sessions. Durant chaque session, les capacités attendues sont divisées en compétences, elles-mêmes divisées en sous-compétences. L'apprenant choisit une compétence à travailler et le système génère une session composée d'exercices associés à plusieurs sous-compétences de la compétence choisie. Le système propose une liste d'exercices au début d'une session en utilisant le paradigme du raisonnement à partir de cas avec une base de données de questions. 19 19 Pour rappel, le système AI-VT est un outil pédagogique générique qui vise à accompagner les apprenants dans leur apprentissage en leur proposant des fiches d'exercices appelées sessions. Durant chaque session, les capacités attendues sont divisées en compétences, elles-mêmes divisées en sous-compétences. L'apprenant choisit une compétence à travailler et le système génère une session composée d'exercices associés à plusieurs sous-compétences de la compétence choisie. Le système propose une liste d'exercices au début d'une session en utilisant le paradigme du raisonnement à partir de cas avec une base de données de questions.
20 20
Le système AI-VT est un EIAH générique dont la structure globale est présentée sur la figure \figref{figSys1}. Il intègre une base de données de questions. Chacune des questions est associée à un contexte, au texte de la question considérée et à un niveau de complexité. Les questions sont liées à des sous-compétences, elles-mêmes liées à des compétences. Les principaux acteurs du système sont l'enseignant et l'apprenant. L'enseignant a la capacité de configurer l'ensemble du système, le nombre de compétences, les sous-compétences d'une compétence, le nombre de questions, la complexité de chacune d'entre elles, le niveau de complexité et le temps par session. L'apprenant quant à lui, peut commencer l'entraînement d'une compétence spécifique, accéder à des ressources de soutien complémentaires et répondre aux questions de test dans les sessions proposées par le système. Le tableau \ref{tabDesc} montre les caractéristiques du système AI-VT selon les 20 descripteurs permettant de caractériser le profil de l'apprenant décrits dans \cite{Daubias2011}. 21 21 Le système AI-VT est un EIAH générique dont la structure globale est présentée sur la figure \figref{figSys1}. Il intègre une base de données de questions. Chacune des questions est associée à un contexte, au texte de la question considérée et à un niveau de complexité. Les questions sont liées à des sous-compétences, elles-mêmes liées à des compétences. Les principaux acteurs du système sont l'enseignant et l'apprenant. L'enseignant a la capacité de configurer l'ensemble du système, le nombre de compétences, les sous-compétences d'une compétence, le nombre de questions, la complexité de chacune d'entre elles, le niveau de complexité et le temps par session. L'apprenant quant à lui, peut commencer l'entraînement d'une compétence spécifique, accéder à des ressources de soutien complémentaires et répondre aux questions de test dans les sessions proposées par le système. Le tableau \ref{tabDesc} montre les caractéristiques du système AI-VT selon les 20 descripteurs permettant de caractériser le profil de l'apprenant décrits dans \cite{Daubias2011}.
22 22
\mfigure[!ht]{width=\textwidth}{./Figures/AIVT.png}{Structure du système AI-VT}{figSys1} 23 23 \mfigure[!ht]{width=\textwidth}{./Figures/AIVT.png}{Structure du système AI-VT}{figSys1}
24 24
%\begin{figure}[!ht] 25 25 %\begin{figure}[!ht]
%\centering 26 26 %\centering
%\includegraphics[width=\textwidth]{./Figures/AIVT.png} 27 27 %\includegraphics[width=\textwidth]{./Figures/AIVT.png}
%\caption{Structure du système AI-VT} 28 28 %\caption{Structure du système AI-VT}
%\label{figSys1} 29 29 %\label{figSys1}
%\end{figure} 30 30 %\end{figure}
31 31
En s'appuyant sur la philosophie du RàPC, le système global AI-TV part du principe que la création d'une session pour un apprenant peut être réalisé par analogie avec celles proposées à des étudiants ayant des acquis, besoins et capacités similaires. AI-VT propose une liste d'exercices en fonction de la compétence ou de la sous-compétence sélectionnée par similitude avec celles proposées auparavant à d'autres apprenants. 32 32 En s'appuyant sur la philosophie du RàPC, le système global AI-TV part du principe que la création d'une session pour un apprenant peut être réalisé par analogie avec celles proposées à des étudiants ayant des acquis, besoins et capacités similaires. AI-VT propose une liste d'exercices en fonction de la compétence ou de la sous-compétence sélectionnée par similitude avec celles proposées auparavant à d'autres apprenants.
33 33
L'algorithme d'AI-VT tente de tenir compte de l'équilibre entre répétitivité et variété. De plus, le nombre d'exercices par session change en fonction du domaine, de la compétence choisie et du niveau de l'apprenant. La liste d'exercices est générée au début de chaque séance et elle n'est pas modifiée au cours de la séance en fonction des réponses fournies par l'apprenant : les listes d'exercices sont statiques pendant la séance \cite{10.1007/978-3-030-01081-2_9}. 34 34 L'algorithme d'AI-VT tente de tenir compte de l'équilibre entre répétitivité et variété. De plus, le nombre d'exercices par session change en fonction du domaine, de la compétence choisie et du niveau de l'apprenant. La liste d'exercices est générée au début de chaque séance et elle n'est pas modifiée au cours de la séance en fonction des réponses fournies par l'apprenant : les listes d'exercices sont statiques pendant la séance \cite{10.1007/978-3-030-01081-2_9}.
35 35
\begin{table}[!ht] 36 36 \begin{table}[!ht]
\centering 37 37 \centering
\begin{tabular}{p{1in}p{2.5in}p{1.5in}} 38 38 \begin{tabular}{p{1in}p{2.5in}p{1.5in}}
Type&Definition&Système AI-VT\\ 39 39 Type&Definition&Système AI-VT\\
\hline 40 40 \hline
Sujet&Acteur humain concerné par le profil&Apprentissage seul et en groupe\\ 41 41 Sujet&Acteur humain concerné par le profil&Apprentissage seul et en groupe\\
Collaboration&Le rôle de la collaboration dans les activités du profil&Individuel, Collaboratif\\ 42 42 Collaboration&Le rôle de la collaboration dans les activités du profil&Individuel, Collaboratif\\
Distance&Le rôle de la distance dans les activités du profil&Présentiel, Distanciel\\ 43 43 Distance&Le rôle de la distance dans les activités du profil&Présentiel, Distanciel\\
Discipline&Discipline des informations contenues dans le 44 44 Discipline&Discipline des informations contenues dans le
profil&Générique\\ 45 45 profil&Générique\\
Niveau&Le niveau scolaire de la matière concernée par le profil &Générique\\ 46 46 Niveau&Le niveau scolaire de la matière concernée par le profil &Générique\\
Initiateur&L'acteur humain à l'origine de la décision de créer le profil de création&Professeur, Administrateur\\ 47 47 Initiateur&L'acteur humain à l'origine de la décision de créer le profil de création&Professeur, Administrateur\\
Créateur&L'acteur humain ou logiciel qui compose le profil&Professeur, Administrateur\\ 48 48 Créateur&L'acteur humain ou logiciel qui compose le profil&Professeur, Administrateur\\
Destinataire&Acteur humain ou logiciel exploitant le profil&Apprenant\\ 49 49 Destinataire&Acteur humain ou logiciel exploitant le profil&Apprenant\\
Temps&Période du profil&Asynchrone\\ 50 50 Temps&Période du profil&Asynchrone\\
Évolution&L'évolutivité du profil &Profil évolutif\\ 51 51 Évolution&L'évolutivité du profil &Profil évolutif\\
Type&Le type d'informations contenues dans le profil &Profil de l'apprenant\\ 52 52 Type&Le type d'informations contenues dans le profil &Profil de l'apprenant\\
Nature&La nature des informations contenues dans le 53 53 Nature&La nature des informations contenues dans le
profil&Connaissances et compétences\\ 54 54 profil&Connaissances et compétences\\
Évaluation&La forme sous laquelle l'information est 55 55 Évaluation&La forme sous laquelle l'information est
évaluée&Rating, Taux de maîtrise\\ 56 56 évaluée&Rating, Taux de maîtrise\\
Représentation interne&Représentation interne utilisée par le système informatique pour manipuler les profils&Tables\\ 57 57 Représentation interne&Représentation interne utilisée par le système informatique pour manipuler les profils&Tables\\
Représentation externe&Représentation utilisée pour stocker le profil &Liste de valeurs\\ 58 58 Représentation externe&Représentation utilisée pour stocker le profil &Liste de valeurs\\
Visualisation&Représentation utilisée pour présenter le profil à ses destinataires&Représentation textuel et graphique standard\\ 59 59 Visualisation&Représentation utilisée pour présenter le profil à ses destinataires&Représentation textuel et graphique standard\\
Norme&Norme ou standard éducatif & - \\ 60 60 Norme&Norme ou standard éducatif & - \\
Format&Format de stockage du profil &Base de données relationnelle\\ 61 61 Format&Format de stockage du profil &Base de données relationnelle\\
Plate-forme&plate-forme informatique compatible&Web\\ 62 62 Plate-forme&plate-forme informatique compatible&Web\\
Dispositifs&le type de dispositif d'affichage du profil &Ordinateur ou appareils connectés\\ 63 63 Dispositifs&le type de dispositif d'affichage du profil &Ordinateur ou appareils connectés\\
\end{tabular} 64 64 \end{tabular}
\caption{Un tableau décrivant les caractéristiques du système AI-VT} 65 65 \caption{Un tableau décrivant les caractéristiques du système AI-VT}
\label{tabDesc} 66 66 \label{tabDesc}
\end{table} 67 67 \end{table}
68 68
\section{Modèle d'architecture proposé} 69 69 \section{Modèle d'architecture proposé}
70 70
Cette section explicite l'architecture proposée à partir du système AI-VT déjà existante. 71 71 Cette section explicite l'architecture proposée à partir du système AI-VT déjà existante.
72 72
%\textcolor{red}{pour tous les modules dire précisément ce qui est développé ou en cours} 73 73 %\textcolor{red}{pour tous les modules dire précisément ce qui est développé ou en cours}
74 74
La nouvelle architecture proposée a pour objectif d'intégrer de nouvelles fonctionnalités complémentaires au système initial sans en modifier les fonctionnalités. L'idée consiste donc à pouvoir activer simplement le module correspondant en envoyant et en recevant les informations nécessaires à son fonctionnement. Une évolution vers une architecture plus modulaire permet ainsi d'ajouter de nouvelles fonctionnalités au système d'origine en intégrant de nouveaux modules ou en faisant évoluer les modules existants. La conception modulaire facilite également la maintenance du code, le développement et l'intégration de nouvelles extensions. De plus, le système peut être configuré et adapté module par module, réduisant ainsi les risques de pannes et les coûts de maintenance et d'évolution. La modularité permet également d'exécuter les algorithmes de chaque module de manière asynchrone, en parallèle ou en mode distribué si nécessaire.%\textcolor{red}{idem préciser ce qui était avant, le travail de floran et ton travail} 75 75 La nouvelle architecture proposée a pour objectif d'intégrer de nouvelles fonctionnalités complémentaires au système initial sans en modifier les fonctionnalités. L'idée consiste donc à pouvoir activer simplement le module correspondant en envoyant et en recevant les informations nécessaires à son fonctionnement. Une évolution vers une architecture plus modulaire permet ainsi d'ajouter de nouvelles fonctionnalités au système d'origine en intégrant de nouveaux modules ou en faisant évoluer les modules existants. La conception modulaire facilite également la maintenance du code, le développement et l'intégration de nouvelles extensions. De plus, le système peut être configuré et adapté module par module, réduisant ainsi les risques de pannes et les coûts de maintenance et d'évolution. La modularité permet également d'exécuter les algorithmes de chaque module de manière asynchrone, en parallèle ou en mode distribué si nécessaire.%\textcolor{red}{idem préciser ce qui était avant, le travail de floran et ton travail}
76 76
L'architecture se compose de deux éléments principaux représentés sur la figure \figref{sa1} : le système central AI-VT, tel qui décrit dans la section 5.2 et les modules fonctionnels proposées pour compléter et améliorer certaines fonctionnalités. Le système central gère l'ensemble du processus d'apprentissage ; il génère %\textcolor{red}{démarre?} 77 77 L'architecture se compose de deux éléments principaux représentés sur la figure \figref{sa1} : le système central AI-VT, tel qui décrit dans la section 5.2 et les modules fonctionnels proposées pour compléter et améliorer certaines fonctionnalités. Le système central gère l'ensemble du processus d'apprentissage ; il génère %\textcolor{red}{démarre?}
les séances ; il stocke les données relatives aux compétences, aux questions, aux ressources, aux apprenants, aux enseignants et aux réponses ; il contient les commandes et l'interface générale ; il gère le flux d'informations et active les modules nécessaires. Les modules sont un ensemble de fonctionnalités indépendantes mises en œuvre avec des algorithmes d'intelligence artificielle qui reçoivent et envoient des données depuis le composant central. Chaque module fonctionne selon des critères spécifiques liés à son propre objectif. Les modules sont regroupés en couches selon leur fonctionnalité : correction automatique, identification, adaptation, révision et test. L'enseignant et l'apprenant n'utilisent pas les modules directement ; ceux-ci sont appelés par le système pour compléter certaines fonctionnalités. 78 78 les séances ; il stocke les données relatives aux compétences, aux questions, aux ressources, aux apprenants, aux enseignants et aux réponses ; il contient les commandes et l'interface générale ; il gère le flux d'informations et active les modules nécessaires. Les modules sont un ensemble de fonctionnalités indépendantes mises en œuvre avec des algorithmes d'intelligence artificielle qui reçoivent et envoient des données depuis le composant central. Chaque module fonctionne selon des critères spécifiques liés à son propre objectif. Les modules sont regroupés en couches selon leur fonctionnalité : correction automatique, identification, adaptation, révision et test. L'enseignant et l'apprenant n'utilisent pas les modules directement ; ceux-ci sont appelés par le système pour compléter certaines fonctionnalités.
79 79
\mfigure[!ht]{width=\textwidth}{./Figures/Architecture AI-VT2.png}{Schème de l'architecture proposée}{sa1} 80 80 \mfigure[!ht]{width=\textwidth}{./Figures/Architecture AI-VT2.png}{Schème de l'architecture proposée}{sa1}
81 81
%\begin{figure}[!ht] 82 82 %\begin{figure}[!ht]
%\centering 83 83 %\centering
%\includegraphics[width=\textwidth]{./Figures/Architecture AI-VT2.png} 84 84 %\includegraphics[width=\textwidth]{./Figures/Architecture AI-VT2.png}
%\caption{Schème de l'architecture proposée} 85 85 %\caption{Schème de l'architecture proposée}
%\label{sa1} 86 86 %\label{sa1}
%\end{figure} 87 87 %\end{figure}
88 88
La couche de correction automatique (LC) contient les modules chargés de recevoir les réponses des apprenants et, conformément aux algorithmes et critères définis, d'établir une note cohérente avec une réponse de référence à une question spécifique. Dans cette couche, le module routeur (LC0) est chargé d'identifier le type de correction nécessaire et d'instancier le module approprié pour l'exécution de la tâche spécifique. 89 89 La couche de correction automatique (LC) contient les modules chargés de recevoir les réponses des apprenants et, conformément aux algorithmes et critères définis, d'établir une note cohérente avec une réponse de référence à une question spécifique. Dans cette couche, le module routeur (LC0) est chargé d'identifier le type de correction nécessaire et d'instancier le module approprié pour l'exécution de la tâche spécifique.
90 90
La couche d'identification (LD) contient les modules qui identifient les faiblesses ou les variables externes des apprenants lors de l'exécution des exercices proposés par le système ou après l'analyse des résultats. Ces modules aident à personnaliser le processus d'apprentissage en fonction de l'analyse des résultats obtenus par les apprenants. 91 91 La couche d'identification (LD) contient les modules qui identifient les faiblesses ou les variables externes des apprenants lors de l'exécution des exercices proposés par le système ou après l'analyse des résultats. Ces modules aident à personnaliser le processus d'apprentissage en fonction de l'analyse des résultats obtenus par les apprenants.
92 92
La couche de révision (LR) comprend les modules qui prennent les données des résultats obtenus dans la couche LC et les résultats de l'analyse de la couche LD pour modifier le parcours de l'apprenant en essayant de renforcer l'apprentissage dans les faiblesses détectées. Elle comprend également les modules qui obtiennent des informations de la part des apprenants et tentent de prédire leurs résultats en fonction des différentes compétences et des différents niveaux de complexité. 93 93 La couche de révision (LR) comprend les modules qui prennent les données des résultats obtenus dans la couche LC et les résultats de l'analyse de la couche LD pour modifier le parcours de l'apprenant en essayant de renforcer l'apprentissage dans les faiblesses détectées. Elle comprend également les modules qui obtiennent des informations de la part des apprenants et tentent de prédire leurs résultats en fonction des différentes compétences et des différents niveaux de complexité.
94 94
Pour évaluer les modules dans différents scénarios, il est nécessaire de produire des données selon différents critères et complexités. C'est la raison pour laquelle la couche de test (LT) a été définie. Les modules qui permettent de générer des données synthétiques selon des critères variables font partie de cette couche. Les modules de cette couche permettent d'obtenir des résultats numériques des modules, d'appliquer des métriques, et ainsi d'évaluer les modules selon différents critères et complexités. 95 95 Pour évaluer les modules dans différents scénarios, il est nécessaire de produire des données selon différents critères et complexités. C'est la raison pour laquelle la couche de test (LT) a été définie. Les modules qui permettent de générer des données synthétiques selon des critères variables font partie de cette couche. Les modules de cette couche permettent d'obtenir des résultats numériques des modules, d'appliquer des métriques, et ainsi d'évaluer les modules selon différents critères et complexités.
96 96
Le schéma complet de l'architecture est représenté sur la figure \figref{sa1}. Sur cette figure, les lignes pleines représentent un flux d'informations bidirectionnel, les lignes pleines terminées par une flèche représentent le flux unidirectionnel et les lignes en pointillé représentent la dépendance de l'information entre les modules. 97 97 Le schéma complet de l'architecture est représenté sur la figure \figref{sa1}. Sur cette figure, les lignes pleines représentent un flux d'informations bidirectionnel, les lignes pleines terminées par une flèche représentent le flux unidirectionnel et les lignes en pointillé représentent la dépendance de l'information entre les modules.
Les dispositifs externes qui peuvent être utilisés par les modules pour exécuter leurs fonctionnalités et les étiquettes indiquant le type d'information transmis au système central par le module sont également représentés. Certains des algorithmes d'intelligence artificielle mis en œuvre dans chaque module et le stade de développement dans lequel chacun d'eux se trouve y figurent également. Comme le montre cette figure, certains dispositifs ont besoin de données provenant de sources externes telles que le robot NAO, des capteurs, caméra vidéo ou microphone. 98 98 Les dispositifs externes qui peuvent être utilisés par les modules pour exécuter leurs fonctionnalités et les étiquettes indiquant le type d'information transmis au système central par le module sont également représentés. Certains des algorithmes d'intelligence artificielle mis en œuvre dans chaque module et le stade de développement dans lequel chacun d'eux se trouve y figurent également. Comme le montre cette figure, certains dispositifs ont besoin de données provenant de sources externes telles que le robot NAO, des capteurs, caméra vidéo ou microphone.
99 99
\subsection{Correction automatique} 100 100 \subsection{Correction automatique}
101 101
L'une des couches importantes et la couche de correction automatique. Dans cette couche, les modules ont la capacité de recevoir et d'évaluer différents types de réponses données par les apprenants en fonction du contexte et de la question que le système a proposée. Les modules représentés ont la capacité d'évaluer une réponse donnée par l'apprenant. Des études et certains programmes ont déjà été réalisés dans l'analyse de vidéo, de texte audio (langage naturel) et de code source (Java, Python). D'autres modules permettent également d'analyser des images, des expressions mathématiques, des valeurs générées par des capteurs physiques et des variables définies pour des activités sportives spécifiques. 102 102 L'une des couches importantes et la couche de correction automatique. Dans cette couche, les modules ont la capacité de recevoir et d'évaluer différents types de réponses données par les apprenants en fonction du contexte et de la question que le système a proposée. Les modules représentés ont la capacité d'évaluer une réponse donnée par l'apprenant. Des études et certains programmes ont déjà été réalisés dans l'analyse de vidéo, de texte audio (langage naturel) et de code source (Java, Python). D'autres modules permettent également d'analyser des images, des expressions mathématiques, des valeurs générées par des capteurs physiques et des variables définies pour des activités sportives spécifiques.
103 103
Le module routeur (LC0) a pour fonction d'identifier le type de réponse donnée par l'apprenant, c'est-à-dire reconnaître si la réponse donnée par l'apprenant est vidéo, audio, texte, image, etc. et de la rediriger vers le module d'analyse correspondant ; une fois que le module spécifique obtient les résultats de l'analyse de la réponse donnée, le routeur les redirige vers le système AI-VT principal. 104 104 Le module routeur (LC0) a pour fonction d'identifier le type de réponse donnée par l'apprenant, c'est-à-dire reconnaître si la réponse donnée par l'apprenant est vidéo, audio, texte, image, etc. et de la rediriger vers le module d'analyse correspondant ; une fois que le module spécifique obtient les résultats de l'analyse de la réponse donnée, le routeur les redirige vers le système AI-VT principal.
105 105
Le module vidéo (LC1) permet de capturer un flux d'images à partir d'un dispositif externe (caméra vidéo ou robot NAO) et de les analyser pour déterminer si une réponse donnée est correcte, actuellement le module est utilisé pour évaluer la réponse à la question : montrer \textit{n} nombre de doigts. L'algorithme implémenté détecte les doigts qui apparaissent sur la caméra, les compte et détermine s'il s'agit de la bonne réponse à la question donnée. 106 106 Le module vidéo (LC1) permet de capturer un flux d'images à partir d'un dispositif externe (caméra vidéo ou robot NAO) et de les analyser pour déterminer si une réponse donnée est correcte, actuellement le module est utilisé pour évaluer la réponse à la question : montrer \textit{n} nombre de doigts. L'algorithme implémenté détecte les doigts qui apparaissent sur la caméra, les compte et détermine s'il s'agit de la bonne réponse à la question donnée.
107 107
Le module audio (LC2) analyse une piste audio et convertit son contenu en texte. Une fois le texte généré, il peut être comparé à une réponse attendue à la question posée à l'aide de techniques NLP. Un score d'approximation estimé peut alors être calculé. Pour la comparaison, le module de texte (LC4) est utilisé , il permet d'établir le score de similarité entre le texte envoyé comme réponse de l'apprenant ou converti depuis une réponse audio et un texte de référence. 108 108 Le module audio (LC2) analyse une piste audio et convertit son contenu en texte. Une fois le texte généré, il peut être comparé à une réponse attendue à la question posée à l'aide de techniques NLP. Un score d'approximation estimé peut alors être calculé. Pour la comparaison, le module de texte (LC4) est utilisé , il permet d'établir le score de similarité entre le texte envoyé comme réponse de l'apprenant ou converti depuis une réponse audio et un texte de référence.
109 109
Le module d'analyse du code (LC3) génère un score après l'exécution de plusieurs étapes. En premier lieu, il détermine l'existence ou non de faiblesses dans certaines compétences prédéfinies. Il transforme ensuite la représentation du code en un vecteur numérique à comparer avec une réponse de référence : le résultat de la pondération entre les faiblesses détectées et le pourcentage de comparaison donne un score. 110 110 Le module d'analyse du code (LC3) génère un score après l'exécution de plusieurs étapes. En premier lieu, il détermine l'existence ou non de faiblesses dans certaines compétences prédéfinies. Il transforme ensuite la représentation du code en un vecteur numérique à comparer avec une réponse de référence : le résultat de la pondération entre les faiblesses détectées et le pourcentage de comparaison donne un score.
111 111
Le module d'analyse de texte (LC5) transforme le texte envoyé par l'apprenant en un vecteur numérique qui peut être comparé au vecteur numérique d'une réponse attendue. Dans ce cas, la réponse donnée ne doit pas nécessairement être exactement la même que la réponse attendue. La représentation vectorielle permet d'établir des similitudes dans l'espace, même si les termes utilisés et la longueur du texte diffèrent. 112 112 Le module d'analyse de texte (LC5) transforme le texte envoyé par l'apprenant en un vecteur numérique qui peut être comparé au vecteur numérique d'une réponse attendue. Dans ce cas, la réponse donnée ne doit pas nécessairement être exactement la même que la réponse attendue. La représentation vectorielle permet d'établir des similitudes dans l'espace, même si les termes utilisés et la longueur du texte diffèrent.
113 113
Les modules LC6, LC7, LC8 et LC9 sont capables d'analyser différents types de réponses potentielles qui peuvent éventuellement gérées par le système AI-VT. 114 114 Les modules LC6, LC7, LC8 et LC9 sont capables d'analyser différents types de réponses potentielles qui peuvent éventuellement être gérées par le système AI-VT.
115 115
Les modules LC1, LC2, LC3 ont été partiellement développés et n'ont pas été suffisamment testés pour les intégrer dans le système de façon fonctionnelle, les autres modules pour le moment sont théoriques. 116 116 Les modules LC1, LC2, LC3 ont été partiellement développés et n'ont pas été suffisamment testés pour les intégrer dans le système de façon fonctionnelle, les autres modules pour le moment sont théoriques.
117 117
\subsection{Identification} 118 118 \subsection{Identification}
119 119
Les modules de la couche d'identification visent à extraire des informations complémentaires à la note de l'étudiant pour chacune des réponses envoyées au système et ainsi affiner encore plus les recommandations générées. Ces informations complémentaires permettent d'obtenir principalement des informations sur les émotions (bonheur, dégoût, surprise, colère, peur, neutre et triste) grâce à la détection des expressions faciales et aussi les lacunes de connaissance de l'apprenant %\textcolor{red}{expression et faiblesse de quoi, comment?} 120 120 Les modules de la couche d'identification visent à extraire des informations complémentaires à la note de l'étudiant pour chacune des réponses envoyées au système et ainsi affiner encore plus les recommandations générées. Ces informations complémentaires permettent d'obtenir principalement des informations sur les émotions (bonheur, dégoût, surprise, colère, peur, neutre et triste) grâce à la détection des expressions faciales et aussi les lacunes de connaissance de l'apprenant %\textcolor{red}{expression et faiblesse de quoi, comment?}
qui peuvent se manifester dans chaque sous-compétence et niveau de complexité. Ces modules d'AI-VT sont capables d'obtenir une meilleure estimation de l'état de l'apprentissage afin de mieux adapter le parcours de l'apprenant. 121 121 qui peuvent se manifester dans chaque sous-compétence et niveau de complexité. Ces modules d'AI-VT sont capables d'obtenir une meilleure estimation de l'état de l'apprentissage afin de mieux adapter le parcours de l'apprenant.
122 122