Commit cc9dda20fd01630f7a7352bafbb3e99fd2fc4457

Authored by dsotofor
1 parent ff804cc49f
Exists in main

version all ok...

Showing 5 changed files with 15 additions and 15 deletions Side-by-side Diff

No preview for this file type

chapters/Architecture.tex View file @ cc9dda2
... ... @@ -4,7 +4,7 @@
4 4  
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  
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}.
  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  
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  
11 11  
12 12  
... ... @@ -38,12 +38,12 @@
38 38 \begin{tabular}{p{1in}p{2.5in}p{1.5in}}
39 39 Type&Definition&Système AI-VT\\
40 40 \hline
41   -Subject&Acteur humain concerné par le profil&Apprentissage seul et en groupe\
  41 +Sujet&Acteur humain concerné par le profil&Apprentissage seul et en groupe\
42 42 Collaboration&Le rôle de la collaboration dans les activités du profil&Individuel, Collaboratif\\
43   -Distance&Le rôle de la distance dans les activités du profil&Presentiel, Distanciel\
  43 +Distance&Le rôle de la distance dans les activités du profil&Présentiel, Distanciel\
44 44 Discipline&Discipline des informations contenues dans le
45   -profil&Generic\\
46   -Niveau&Le niveau scolaire de la matière concernée par le profil &Generic\\
  45 +profil&Générique\\
  46 +Niveau&Le niveau scolaire de la matière concernée par le profil &Générique\\
47 47 Initiateur&L'acteur humain à l'origine de la décision de créer le profil de création&Professeur, Administrateur\\
48 48 Créateur&L'acteur humain ou logiciel qui compose le profil&Professeur, Administrateur\\
49 49 Destinataire&Acteur humain ou logiciel exploitant le profil&Apprenant\\
... ... @@ -72,7 +72,7 @@
72 72  
73 73 %\textcolor{red}{pour tous les modules dire précisément ce qui est développé ou en cours}
74 74  
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 permettra 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 pourra ê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 +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  
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?}
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  
... ... @@ -101,11 +101,11 @@
101 101  
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  
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 le module spécifique obtient les résultats de l'analyse de la réponse donnée, le router les redirige vers le système AI-VT principal.
  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  
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  
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 est utilisé le module de texte (LC4) qui 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 +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  
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  
112 112  
... ... @@ -122,13 +122,13 @@
122 122  
123 123 Les modules d'identification LD1, LD2 et LD4 tentent de détecter les comportements, les émotions et les sentiments à l'aide de dispositifs externes tels que la caméra vidéo et le microphone. Dans le cas de l'analyse vidéo, des réseaux neuronaux d'apprentissage profond sont utilisés pour capturer et analyser les images statiques obtenues à partir du flux de la caméra vidéo. Le modèle d'IA a été entraîné à détecter des émotions prédéfinies. Le module audio vise à détecter le même type d'émotions, mais à partir de l'analyse des signaux obtenus à partir d'un microphone. Il utilise également l'apprentissage profond entrainé avec des signaux qui présentent différentes émotions prédéfinies. Le module capteur est plus générique, mais il peut être subdivisé en modules spécifiques en fonction du type de capteur et du signal à analyser. Toutefois, l'idée de la détection est la même : détecter des émotions prédéfinies.
124 124  
125   -Le module Analyse des données (LD3) est différent car, en plus d'être générique, il tente d'identifier les faiblesses dans des compétences spécifiques en fonction du type d'évaluation. Ce module peut contenir différents modèles entraînés pour chaque type de cas. Pour les exercices linguistiques, les faiblesses identifiables peuvent être la conjugaison des verbes, l'utilisation des temps, le vocabulaire, la correspondance des genres de mots, etc. Si l'exercice est de type programmation le module est capable d'identifier des faiblesses liées à la syntaxe, la déclaration de variables, l'appel de fonctions, la construction de structures, etc. Ce module fonctionne sur la base d'implémentation de modèles d'apprentissage profond et de modèles collaboratifs tels que le raisonnement à partir de cas
  125 +Le module Analyse des données (LD3) est différent car, en plus d'être générique, il tente d'identifier les faiblesses dans des compétences spécifiques en fonction du type d'évaluation. Ce module peut contenir différents modèles entraînés pour chaque type de cas. Pour les exercices linguistiques, les faiblesses identifiables peuvent être la conjugaison des verbes, l'utilisation des temps, le vocabulaire, la correspondance des genres de mots, etc. Si l'exercice est de type programmation le module est capable d'identifier des faiblesses liées à la syntaxe, la déclaration de variables, l'appel de fonctions, la construction de structures, etc. Ce module fonctionne sur la base d'implémentation de modèles d'apprentissage profond et de modèles collaboratifs tels que le raisonnement à partir de cas.
126 126  
127 127 Les modules LD1 et LD3 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.
128 128  
129 129 \subsection{Révision}
130 130  
131   -Les modules qui se trouvent dans cette section sont les principales de ce travail. Dans la couche de révision, les modules utilisent les informations générées par les modules des couches de correction automatique et d'identification ainsi que les informations complémentaires de l'apprenant stockées dans la base de données du système. Ces modules valident le fait que la recommandation générée est optimale pour l'apprenant. Toutes les informations récoltées permettent d'établir la meilleure façon de guider l'apprenant vers une meilleure compréhension en surmontant les faiblesses et les lacunes qui ont été identifiées.
  131 +Les modules qui se trouvent dans cette section sont les modules principaux de ce travail. Dans la couche de révision, les modules utilisent les informations générées par les modules des couches de correction automatique et d'identification ainsi que les informations complémentaires de l'apprenant stockées dans la base de données du système. Ces modules valident le fait que la recommandation générée est optimale pour l'apprenant. Toutes les informations récoltées permettent d'établir la meilleure façon de guider l'apprenant vers une meilleure compréhension en surmontant les faiblesses et les lacunes qui ont été identifiées.
132 132  
133 133 Les ressources recommandées par le module LR1 proviennent d'une base de données déjà établie que le module consulte et suggère à l'étudiant en fonction du résultat de la comparaison de l'état d'apprentissage, du niveau et des caractéristiques et spécifications de chacune des ressources.
134 134  
135 135  
... ... @@ -140,11 +140,11 @@
140 140  
141 141 Le module LR4 utilise les informations produites par l'apprenant et les informations collaboratives pour tenter de prédire les performances futures de l'apprenant. En particulier avec la recommandation générée par les modules de la couche adaptative, la prédiction est utilisée pour valider l'adaptation recommandée et l'ajuster si nécessaire.
142 142  
143   -Le module LR1 est fonctionnelle dans le système AI-VT, mais encore il est nécessaire ajouter plus de ressources en fonction des questions configurées. L'algorithme proposé pour le module LR2 est décrit dans le chapitre 7, l'algorithme proposé pour les modules LR3, et LR4 apparait dans le chapitre 6
  143 +Le module LR1 est fonctionnelle dans le système AI-VT, mais encore il est nécessaire ajouter plus de ressources en fonction des questions configurées. L'algorithme proposé pour le module LR2 est décrit dans le chapitre 7, l'algorithme proposé pour les modules LR3, et LR4 apparait dans le chapitre 6.
144 144  
145 145 \subsection{Test}
146 146  
147   -La couche de test fonctionne en amont et en aval de la génération des séances d'entrainement. Elle permet d'évaluer chacun des modules indépendamment et de générer des données spécifiques pour divers scénarios de test qui peuvent être pris en compte lors de la validation d'un module.
  147 +La couche de test fonctionne en amont et en aval de la génération des séances d’entraînement. Elle permet d'évaluer chacun des modules indépendamment et de générer des données spécifiques pour divers scénarios de test qui peuvent être pris en compte lors de la validation d'un module.
148 148  
149 149 Les outils des différentes couches de l'architecture peuvent communiquer entre eux, car, pour que certains de leurs modules internes fonctionnent, ils ont besoin des informations générées par les modules des autres couches. La figure \figref{figLayers} montre les interactions qui peuvent se produire lorsque le système génère une séance ou l'adapte ou encore lorsqu'un module expérimental doit être évalué. La couche de test (LT) a besoin des informations générées par les modules de toutes les autres couches pour évaluer leurs performances individuelles. La couche d'identification (LD) doit obtenir les données relatives au profil des apprenants. Ces informations sont générées par le module de profil qui se trouve dans la couche de révision (LR). Pour certains modules qui ont la capacité de modifier une solution, cette couche doit connaître les résultats obtenus par l'apprenant dans chacun des tests ou exercices proposés par le système. Ces résultats sont attribués par la couche de correction automatique (LC). De plus, il est possible d'obtenir une estimation du résultat de la révision proposée avant qu'elle ne soit envoyée à l'apprenant, pour cela il faut invoquer les modules spécifiques de prédiction qui appartiennent à la couche de révision (LR).
150 150  
... ... @@ -176,5 +176,5 @@
176 176 %\textcolor{red}{remonter le terme modulaire en parler en début de conclusion}
177 177 permet une mise en œuvre plus souple et donne au système la possibilité d'évoluer rapidement et même d'ajouter des fonctionnalités complémentaires sans affecter le système et les données qui y sont stockées.
178 178 %\textcolor{red}{peut être reciter les modules principaux ou ceux utilisés par la suite}
179   -Les modules principales qui vont être développés dans cette thèse et explicités dans les chapitres suivantes sont : Optimisation du processus d'apprentissage (LR2), Profil de l'apprenant (LR3), Prédiction de la performance (LR4), Analyse de données (LD3) et Simulation (LT1).
  179 +Les modules principaux qui vont être développés dans cette thèse et explicités dans les chapitres suivants sont : Optimisation du processus d'apprentissage (LR2), Profil de l'apprenant (LR3), Prédiction de la performance (LR4), Analyse de données (LD3) et Simulation (LT1).
1   -This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex 2023.5.31) 17 JUL 2025 18:30
  1 +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex 2023.5.31) 17 JUL 2025 18:49
2 2 entering extended mode
3 3 restricted \write18 enabled.
4 4 %&-line parsing enabled.
... ... @@ -2162,7 +2162,7 @@
2162 2162 lvetic/uhvr8a.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/urw/helvetic/
2163 2163 uhvro8a.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmr8a.pf
2164 2164 b></usr/local/texlive/2023/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
2165   -Output written on main.pdf (124 pages, 5445584 bytes).
  2165 +Output written on main.pdf (124 pages, 5445611 bytes).
2166 2166 PDF statistics:
2167 2167 1853 PDF objects out of 2073 (max. 8388607)
2168 2168 1584 compressed objects within 16 object streams

No preview for this file type

main.synctex.gz View file @ cc9dda2

No preview for this file type