Commit 177da4e1 authored by mlkbk's avatar mlkbk
Browse files

typos dans remerciement, ajout index de chapitres

parent 8f83b5fe
......@@ -42,7 +42,7 @@
\tableofcontents
\etocsettocstyle{\subsection*{Ce Chapitre contient:}}{\noindent\rule{\linewidth}{.4pt}}
\etocsettocstyle{\subsection*{Ce chapitre contient:}}{\noindent\rule{\linewidth}{.4pt}}
\listoffigures
\listoftables
......@@ -1201,7 +1201,7 @@ Ce chapitre détaille notre prototype \og{}~Collaviz~\fg{}, un programme qui mes
\end{figure}
La Figure \vref{fig:process} donne une vue globale du prototype.
Deux ensembles de traitements sont à distinguer: les traitements côté serveur et, ceux, côté client (ou dans le navigateur). L'étape (1) est la récupération des données à partir des \gls{lms}, la (2) celle du traitement des données pour les nettoyer et les harmoniser dans un format unique. Au stade (3) et (4) nous extrayons les mesures sous-jacentes à l'indicateur de la dynamique collective avec les technique de \gls{sna} et de \gls{tal}. En (5) les données pré-traitées sont servies au client. En (6) nous fabriquons les graphiques présentant l'indicateur et en (7) nous nous occupons de la gestion de l'interactivité et des visualisations. La partie (8) est transversale. Elle concerne le stockage des fichiers intermédiaires dans un format efficace propre à \gls{python} pour nous éviter de reprendre des calculs qui parfois duraient quelques heures sur de gros serveurs (24 c\oe{}urs, 256Go RAM).
Deux ensembles de traitements sont à distinguer: les traitements côté serveur et, ceux, côté client (ou dans le navigateur). L'étape (1) est la récupération des données à partir des \gls{lms}, la (2) celle du traitement des données pour les nettoyer et les harmoniser dans un format unique. Au stade (3) et (4) nous extrayons les mesures sous-jacentes à l'indicateur de la dynamique collective avec les techniques de \gls{sna} et de \gls{tal}. En (5) les données pré-traitées sont servies au client. En (6) nous fabriquons les graphiques présentant l'indicateur et en (7) nous nous occupons de la gestion de l'interactivité et des visualisations. La partie (8) est transversale. Elle concerne le stockage des fichiers intermédiaires dans un format efficace propre à \gls{python} pour nous éviter de reprendre des calculs qui parfois duraient quelques heures sur de gros serveurs (24 c\oe{}urs, 256Go RAM).
Les traitements côté serveur sont faits en \gls{python}. Ils s'organisent dans un ensemble de classes, de paquets et de fonctions. Leur rôle est de pré-traiter les données avant de les envoyer à l'\gls{ihm}.
......@@ -1217,7 +1217,7 @@ Les traitements côté client sont, eux, en \gls{javascript}. Ils s'organisent
Nous avons choisi le langage \gls{python} pour utiliser les bibliothèques de son riche écosystème. Nous nous sommes appuyé, en particulier, sur des bibliothèques d'analyse de données \citetitle{Pandas2011}~\cite{Pandas2011}, de \gls{tal} \citetitle{Nltk2002}~\cite{Nltk2002}, d'apprentissage automatique (ou statistique inférentielle) \citetitle{Sklearn2011}~\cite{Sklearn2011}, de \gls{sna} \citetitle{Graphtool2014}~\cite{Graphtool2014} et de programmation web \citetitle{Django2019}~\cite{Django2019}.
Un autre critère pour ce choix, est la diversité des tâches que nous souhaitons accomplir. En effet, chacune d'elle nécessite des approches de programmation différentes, et nous voulons pouvoir adopter, selon les besoins, une programmation fonctionnelle ou orientée objets. \gls{python} le permet.
Un autre critère pour ce choix, est la diversité des tâches que nous souhaitons accomplir. En effet, chacune d'elle nécessite des approches de programmation différentes, et nous voulons pouvoir adopter, selon les besoins, une programmation fonctionnelle ou orientée obje. \gls{python} le permet.
Le juste équilibre entre lisibilité et performance du code \gls{python} est une autre raison. C'est un langage dont les délimiteurs d'expressions sont des espaces invisibles, ce qui, étonnement, le rend particulièrement lisible. Il s'ensuit que le maintien de la cohérence de gros projets ou de projets, comme le nôtre, s'étalant sur plusieurs années, en est facilité. Nous avons considéré avoir plus de chance de gagner en performance en concevant des algorithmes concis et lisibles plutôt qu'en les optimisant pour une architecture matérielle. Surtout que, dans certains cas, nous avons pu utiliser une interface Python de bibliothèques \cfont{C}, aussi appelé \cfont{cpython}, par exemple avec \citetitle{Graphtool2014}. Et puis, Python nous a permis, aussi, de paralléliser des processus pour l'exploration des paramètres de \gls{tokenization} des corpus, ainsi que ceux des classifications non supervisées des messages en thèmes. Nous reviendrons dessus dans la \autoref{ssec:classification} après avoir parlé des choix techniques pour l'\gls{ihm}.
......@@ -1226,10 +1226,10 @@ Le juste équilibre entre lisibilité et performance du code \gls{python} est un
\label{ssec:ihm}
Par souci d'interopérabilité et d'accessibilité pour l'éventuel large public de notre recherche, nous avons souhaité utiliser des navigateurs comme clients de notre prototype.
La particularité de notre indicateur est sa dépendance à un observateur pour ajuster ses vues. Cela suppose de l'interactivité, or certaines données nécessitent des pré-traitements que nous ne pouvons pas demander au serveur de recalculer à chaque interaction. Aussi, parmi les bibliothèques graphiques que nous avons parcourues côté client, nous avons trouvé que \gls{d3js}~\cite{Bostock2011} était la plus aboutie en termes de gestion des interactions. Cette bibliothèque permet, en plus, un contrôle très précis de \gls{svg} intégrés dans les pages web. Interopérabilité, accessibilité et interactivité sont donc les trois critères qui nous ont fait opter pour une bibliothèque \gls{javascript}.
La particularité de notre indicateur est sa dépendance à un observateur pour ajuster ses vues. Cela suppose de l'interactivité, or certaines données nécessitent des pré-traitements que nous ne pouvons pas demander au serveur de recalculer à chaque interaction. Aussi, parmi les bibliothèques graphiques que nous avons parcourues côté client, nous avons trouvé que \gls{d3js}~\cite{Bostock2011} était la plus aboutie en termes de gestion des interactions. Cette bibliothèque permet, en plus, un contrôle très précis des \glspl{svg} intégrés dans les pages web. Interopérabilité, accessibilité et interactivité sont donc les trois critères qui nous ont fait opter pour une bibliothèque \gls{javascript}.
Le choix de \gls{d3js} a entraîné un léger changement de \gls{paradigme} dans notre façon de faire du \gls{javascript}. Ce langage, comme \gls{python}, n'est pas purement fonctionnel ni uniquement orienté objets. \citeauthor{Bostock2011}~\cite{Bostock2011}, ses auteurs, en ont profité pour proposer une approche résumée dans le triptyque de \citetitle{Bostock2011}. Il s'agit, de centrer les programmes autour des données. Celles-ci doivent être au centre des processus, c'est-à-dire que c'est leur mise à jour qui doit être le déclencheur des calculs, comme la mise à jour des données d'un tableur déclenche le calcul d'une nouvelle somme.
À ce titre, Bostock propose une interface web adaptée à la programmation de ces interfaces \glspl{reactive}. Des cellules y contiennent du code qui s'exécute en réaction à la mise à jour d'autres cellules. Cela fonctionne comme un tableur. L'application \url{observablehq.com} est la partie visible de la bibliothèque que nous avons donc utilisée pour concevoir et lier les différentes vues de notre indicateur. Nous détaillerons ces vues après avoir revu les traitements côté serveur (\autoref{ssec:cote_serveur}), mais présentons d'abord les données de notre prototype.
Le choix de \gls{d3js} a entraîné un léger changement de \gls{paradigme} dans notre façon de faire du \gls{javascript}. Ce langage, comme \gls{python}, n'est pas purement fonctionnel ni uniquement orienté objet. \citeauthor{Bostock2011}~\cite{Bostock2011}, ses auteurs, en ont profité pour proposer une approche résumée dans le triptyque de \citetitle{Bostock2011}. Il s'agit, de centrer les programmes autour des données. Celles-ci doivent être au centre des processus, c'est-à-dire que c'est leur mise à jour qui doit être le déclencheur des calculs, comme la mise à jour des données d'un tableur déclenche le calcul d'une nouvelle somme.
À ce titre, Bostock propose \url{observablehq.com}, une interface web adaptée à la programmation des interfaces \glspl{reactive}. Comme dans un tableur, des cellules contiennent du code qui s'exécute en réaction à la mise à jour d'autres cellules. L'application sur \url{observablehq.com} est la partie visible de \gls{d3js}, la bibliothèque que nous avons utilisée pour concevoir et lier les vues de notre indicateur. Nous détaillerons ces vues après avoir revu les traitements côté serveur (\autoref{ssec:cote_serveur}), mais présentons d'abord les données de notre prototype.
\section{Nos bases de données}
\label{sec:org67d53f2}
......@@ -1270,7 +1270,7 @@ L'origine diverse des données explique pour beaucoup les variétés des formats
\begin{figure}[htbp]
\centering
\includegraphics[width=.98\textwidth]{Chapitre5/Figures/code.png}
\caption{\label{fig:code} Enregistrements de messages du forum de \gls{pml}.}
\caption{\label{fig:code} Format d'enregistrement local des messages du forum de \gls{pml}.}
\end{figure}
Ainsi, nos pré-traitements commencent avec des fichiers aux formats: \gls{csv}, \gls{sql}, \gls{json}, ou un format personnalisé (Figure \vref{fig:code}).
......@@ -1329,7 +1329,7 @@ L'étape de nettoyage et de filtrage des données permet de faire correspondre c
\glsreset{at}
\glsreset{pml}
Cette étape est plus ou moins complexe, en fonction de la source des données. Dans le cas de ce prototype, nos données sont accompagnées d'une nomenclature décrivant en détail les tables et leurs champs. La granularité des données y est fine, ce qui nous permet, facilement, de faire correspondre notre modèle aux champs des tables. Cette qualité des données est particulière à cette extraction de \gls{coursera}. Nous avons traité des corpus plus simple \gls{ppl}, \gls{at}, \gls{pml} qui, eux, ont nécessité un gros travail de \gls{text_wrangling} (nettoyage, voir \autoref{ssec:expe_texte}) pour extraire: les textes, les dates des messages, les identifiants des auteurs.
Cette étape est plus ou moins complexe, en fonction de la source des données. Dans le cas de ce prototype, nos données sont accompagnées d'une nomenclature décrivant en détail les tables et leurs champs. La granularité des données y est fine, ce qui nous permet de faire correspondre notre modèle aux champs des tables. Cette qualité des données est particulière à cette extraction de \gls{coursera}. Nous avons traité des corpus plus simple \gls{ppl}, \gls{at}, \gls{pml} qui, eux, ont nécessité un gros travail de \gls{text_wrangling} (nettoyage du texte, voir \autoref{ssec:expe_texte}) pour extraire: les textes, les dates des messages, les identifiants des auteurs.
A minima, donc, nous avons besoin des informations contenues dans le \autoref{tab:model_unifie}.
......@@ -1352,15 +1352,14 @@ Concernant celles-ci, nous devons veiller à quatre choses:
Le premier point est satisfait par le présent rapport qui explique les traitements que nous effectuons sur les données.
Pour satisfaire le second point, il nous suffit de remarquer que notre prototype nécessite simplement des données pseudonymisées. Nous anonymisons, donc, au maximum les données qui sont en notre possession. De cette façon, nous supprimons les données personnelles. L'anonymisation consiste à rendre impossible l'identification d'une personne physique à partir des jeux de données. À un degré moindre, nous parlons de pseudonymisation. Pour faire la distinction utilisons comme exemple l'usage qui pourrait être fait de blockchain dans ce domaine.
Pour satisfaire le second point, il nous suffit de remarquer que notre prototype nécessite simplement des données pseudonymisées. Nous cherchons donc a anonymiser au maximum les données qui sont en notre possession afin de supprimoer les données personnelles. L'anonymisation consiste à rendre impossible l'identification d'une personne physique à partir des jeux de données. À un degré moindre, nous parlons de pseudonymisation. Pour faire la distinction utilisons comme exemple l'usage qui pourrait être fait de blockchain dans ce domaine.
\paragraph{L'anonymisation et la pseudonymisation: exemple avec blockchain}~\par
\label{sec:org68d6805}
La blockchain est une technologie qui utilise des principes de cryptographie pour maintenir un registre de transactions privées. Privé, c'est-à-dire que seuls les utilisateurs, ont le pouvoir de révéler leur identité propre. La blockchain est surtout connue pour son usage lié aux échanges mercantiles du Bitcoin, mais elle ne s'y résume pas. Il s'agit avant tout d'un registre (ou une base de données) distribuée, qui contient des transactions pseudonymisées.
Chaque participant qui souhaite publier une information, le fait en utilisant une adresse publique générée par une fonction cryptographique dont lui seul a le secret. Le secret, ou la clef privée, est un nombre quelconque dans l'immense espace des entiers de \(1\) à \(2^{160}\).
Chaque participant qui souhaite publier une information, le fait en utilisant une adresse publique générée par une fonction cryptographique dont lui seul a le secret. Le secret, ou la clef privée, est un nombre quelconque dans l'immense espace des entiers de \(1\) à \(2^{160}\). L'adresse publique est aussi un grand nombre mais il est publique et il est pratiquement impossible de savoir quelle clé la généré. L'adresse publique identifie l'utilisateur de façon unique, comme un pseudonyme, mais c'est une identité virtuelle qui n'est pas, a priori, rattachée à une identité physique.
L'adresse publique sert comme un pseudonyme. Elle identifie l'utilisateur de façon unique, mais c'est une identité virtuelle qui n'est pas, a priori, rattachée à une identité physique.
Cependant, le protocole de la blockchain Bitcoin n'oblige pas le renouvellement de ce pseudonyme virtuel, or les informations qui y sont liés sont stockées publiquement, pour toujours. Aussi, en principe, la blockchain n'est pas un service anonyme. Il est possible de recouper l'historique de toutes les transactions liées à une adresse publique et, en général, cela permet de retrouver l'identité physique d'un individu. Prenons, par exemple, les transactions suivantes du pseudonyme \og{}~Colonel Moutarde~\fg{}:
\begin{itemize}
\item paiement de frais d'avocat pour un divorce;
......@@ -1406,7 +1405,7 @@ Une statistique élémentaire, mais essentielle de l'analyse du langage, consist
\begin{description}
\item[{La détection de la langue}] notre corpus étant polyglotte, nous avons amélioré une bibliothèque existante pour détecter assez finement et automatiquement le langage des messages. Ceux-ci sont généralement écrits en anglais, français ou espagnol.
\item[{La segmentation en mots}] l'étape suivante est de segmenter les phrases en mots. Il s'agit de gérer les abréviations, les négations, les élisions. Il faut connaître la langue pour effectuer correctement cette étape.
\item[{La \gls{vedettisation}}] associons chaque mot à un mot vedette qui est représentatif. Nous réduisons ainsi les noms communs à leur forme singulière masculine et les verbes conjugués à leur infinitif, les formes éludées (n', l', s') en forme complète. Nous appelons \gls{token} les vedettes que nous obtenons.
\item[{La \gls{vedettisation}}] associe chaque mot à une vedette qui le représente. Nous réduisons ainsi les noms communs à leur forme singulière masculine et les verbes conjugués à leur infinitif, les formes éludées (n', l', s') en forme complète. Nous appelons \gls{token} les vedettes que nous obtenons.
\item[{L'étiquetage}] il s'agit d'associer une méta-information à certains tokens ou ensemble de tokens. Est-ce une marque interrogative, exclamative? Est-ce un email, un lien, une formule mathématique?
\item[{La création du vocabulaire}] Il s'agit de l'élimination de certains tokens en ce basant sur un critère qui est généralement sa fréquence d'apparition dans le corpus. Nous supprimons les tokens trop fréquents, car ils apportent peu d'informations discriminantes. À l'opposé, nous supprimons ceux spécifiques à un ou deux messages. L'ensemble des tokens qui satisfont ces critères forment notre vocabulaire ou dictionnaire.
\end{description}
......@@ -1436,7 +1435,7 @@ Soit \(X \in \R_+^{n\times p}\). La factorisation consiste à trouver \(W \in \
$$X \approx WH$$
C'est un problème d'optimisation, qui s'écrit aussi:
$$\mnm{H>0, W>0} || X - WH ||_F$$
\(F\) désigne la norme de Frobenius : \(||X||_F^2 = \sum_j^p \sum_i^n (a_{ij})^2\)
\(F\) désigne la norme de Frobenius : \(||X||_F^2 = \sum_j^p \sum_i^n (x_{ij})^2\)
\paragraph{Les thèmes via l'interprétation de la NMF}~\par
\label{sec:org46aa480}
......@@ -1446,7 +1445,8 @@ $$\mnm{H>0, W>0} || X - WH ||_F$$
\includegraphics[width=\textwidth]{Chapitre5/Figures/matrice_nmf.png}
\caption{\label{fig:matrice_nmf} Une représentation de la NMF.}
\end{figure}
Si nous prenons \(X\) comme une matrice de colonnes \((x_j)_{j\in[0;p]}\), chaque \(x_i\) représente la \gls{tfidf} d'un token du vocabulaire. Les lignes \((d_i)_{i\in[0;n]}\), elles, représentent les documents. Aussi (voir Figure \vref{fig:matrice_nmf}):
Si nous prenons \(X\) comme une matrice de colonnes \((x_j)_{j\in[0;p]}\), chaque \(x_i\) représente la \gls{tfidf} d'un token du vocabulaire. Si nous la prenons commme une matrice de lignes \((d_i)_{i\in[0;n]}\), chacune représente les documents (voir Figure \vref{fig:matrice_nmf}):
\begin{itemize}
\item $W^T = (w^T_1 \cdots w^T_k)_{k \times n}$ est la représentation dans $\R^k$ des $n$ documents.
\item quand $H^T = ( h^T_1 \cdots h^T_p)_{p \times k}$ est la base de l'espace des documents.
......@@ -1471,7 +1471,7 @@ Nous avons trouvé la seconde dimension nécessaire au calcul de notre indicateu
\label{sec:orgbd8260c}
\label{ssec:sna}
Nous sommes à l'étape (4) (voir Figure \vref{fig:process}). Nous avons stocké sur le disque des données contenant le résultat du \gls{tal}. En particulier, nous avons ajouté à notre modèle (Tableau \vref{tab:model_unifie}) deux champs. L'un contenant la thématique, l'autre contenant la représentation vectorielle complète du message dans l'espace des thèmes. L'information du premier champ est contenu dans celle du second, mais nous les gardons séparées, par commodité. L'information du premier servira directement dans une visualisation et le second est employé dans ce qui suit, pour constituer les forces du sociogramme.
Nous sommes à l'étape (4) de la Figure \vref{fig:process}. Nous avons stocké sur le disque des données contenant le résultat du \gls{tal}. En particulier, nous avons ajouté à notre modèle (Tableau \vref{tab:model_unifie}) deux champs. L'un contenant la thématique, l'autre contenant la représentation vectorielle complète du message dans l'espace des thèmes. L'information du premier champ est contenu dans celle du second, mais nous les gardons séparées, par commodité. L'information du premier servira directement dans une visualisation et le second est employé dans ce qui suit, pour constituer les forces du sociogramme.
L'objectif de notre \gls{sna} est de trouver l'ensemble des circuits du sociogramme composé par les interactions des apprenants dans le forum. Pour cela nous construisons un réseau de messages, avec lequel nous bâtissons ensuite le réseau des interactions. Et finalement, nous énumérons avec ce dernier, les circuits.
......@@ -1612,7 +1612,7 @@ Nous avons programmé le tableau de bord (Figure \vref{fig:vue_discussion_popup}
\subsection{Interactivité et réactivité}
\label{sec:org8598c66}
La programmation avec \gls{observablehq} nous a permis de concevoir des visualisations liées entre elles comme les cellules d'un tableur sont liées entre elles. La modification d'une vue modifie le contenu des autres vues. Dans le domaine de la visualisation, nous appelons cela du \emph{cross-filtering}. Cette technique permet d'aborder un jeu de données sous divers angles afin d'augmenter les chances d'y percevoir des motifs intéressants. Elle fait partie des techniques listées dans~\cite{Heer2012} (voir le Tableau \vref{tab:viewtaxo} pour la taxonomie des actions des visualisations dynamiques).
La programmation avec \gls{observablehq} nous a permis de concevoir des visualisations liées entre elles comme les cellules d'un tableur sont liées entre elles. La modification d'une vue modifie le contenu des autres vues. Dans le domaine de la visualisation, nous appelons cela du \emph{cross-filtering}. Cette technique permet d'aborder un jeu de données sous divers angles afin d'augmenter les chances d'y percevoir des motifs intéressants. Elle fait partie des techniques listées la taxonomie des actions des visualisations dynamiques~\cite{Heer2012} (Tableau \vref{tab:viewtaxo}).
L'interactivité des différents graphiques est, aussi, rendue possible par la gestion des évènements informatiques par \gls{d3js}. À l'intérieur d'un graphique, il est généralement possible d'utiliser la souris pour sélectionner un ou plusieurs éléments en cliquant ou en zoomant, avec la souris.
......@@ -1657,7 +1657,7 @@ C'est la première vue à utiliser pour sélectionner des messages car les autre
\caption{\label{fig:vue_temporelle} La vue temporelle avec les messages regroupés par jour hebdomadaire.}
\end{figure}
Elle groupe les messages selon la date, le mois ou le jour. Cette vue donne un aperçu de la distribution des messages selon le temps et elle permet aussi la sélection d'un ensemble de messages selon une plage temporelle à définir à l'aide de la souris. Sur la Figure \vref{fig:vue_temporelle}, à la différence de la \autoref{fig:vue_discussion_popup}, le regroupement est fait selon les jours de la semaine. La sélection grisée filtre les messages pour ne garder que ceux publiés un mardi, mercredi ou jeudi.
Elle groupe les messages selon la date, le mois ou le jour de leur publication. Cette vue donne un aperçu de la distribution des messages selon le temps et elle permet aussi la sélection d'un ensemble de messages selon une plage temporelle à définir à l'aide de la souris. Sur la Figure \vref{fig:vue_temporelle}, à la différence de la \autoref{fig:vue_discussion_popup}, le regroupement est fait selon les jours de la semaine. La sélection grisée filtre les messages pour ne garder que ceux publiés un mardi, mercredi ou jeudi.
\paragraph{La vue des discussions}~\par
\label{sec:org20eb453}
......@@ -1668,21 +1668,22 @@ Elle groupe les messages selon la date, le mois ou le jour. Cette vue donne un
\end{figure}
Si nous observons la Figure \vref{fig:vue_discussion_pop2}, nous voyons que les discussions y sont présentées sous forme de barres dont la longueur est proportionnelle à la durée s'écoulant entre leur premier et dernier message: leur couleur indique le pourcentage de messages collectifs ; leur position sur l'abscisse indique la période de publication.
Les discussions sont triées selon les choix dans la fenêtre \og{}~Paramètre~\fg{} (4). Ici, nous avons affiché les 10 discussions ayant le plus de messages. Au survol de la souris sur l'une des barres de discussion, ces détails s'affichent dans une fenêtre volante. Celle-ci donne un aperçu de la discussion, du nombre de messages qu'elle contient, des dates du premier et dernier messages ainsi que le taux d'activité collective.
Les discussions sont triées selon les choix dans la fenêtre \og{}~Paramètre~\fg{} (4). Ici, nous avons affiché les 10 discussions ayant le plus de messages. Au survol de la souris sur l'une des barres de discussion, les détails s'affichent dans une fenêtre volante. Celle-ci donne un aperçu de la discussion, du nombre de messages qu'elle contient, des dates du premier et dernier messages ainsi que le taux d'activité collective.
Cette vue sert aussi à sélectionner une ou plusieurs discussions dont il faut afficher le détail.
Cette vue sert aussi à sélectionner une ou plusieurs discussions pour la \og{}~vue détaillée~\fg{}(5).
\subsubsection{La vue détaillée}
\label{sec:orgf700c10}
C'est la vue centrale de notre indicateur. Nous pouvons y voir les messages, les messages collectifs, les thématiques principales, les discussions des messages et la date ou le jour de leur publication.
\begin{figure}[htbp]
\begin{sidewaysfigure}
\centering
\includegraphics[width=\textwidth]{Chapitre6/Figures/vue_detaille_etat_civil_cut2.png}
\caption{\label{fig:vue_detaille_etat_civil} \og{}~Vue détaillée~\fg{}.}
\end{figure}
Ainsi, pour un jour et une discussion donnée cette vue donne la répartition des messages selon les thématiques discutées. Par exemple, sur la Figure \vref{fig:vue_detaille_etat_civil}, partie (5), la vue détaillée montre 3 discussions: \og{}~la Violence sexu\ldots{}~\fg{}, \og{}~Présentation~\fg{} et \og{}~l'état civil~\fg{}. Les messages de trois discussions réparties selon les jours de la semaine et leurs thématiques.
\end{sidewaysfigure}
Ainsi, pour un jour et une discussion donnés cette vue répartie les messages selon les thématiques discutées. Par exemple, sur la Figure \vref{fig:vue_detaille_etat_civil}, partie (5), la vue détaillée montre 3 discussions: \og{}~la Violence sexu\ldots{}~\fg{}, \og{}~Présentation~\fg{} et \og{}~l'état civil~\fg{}. Les messages de trois discussions réparties selon les jours de la semaine et leurs thématiques.
Pour chacune, nous avons affiché les messages selon les jours de la semaine. Additionnellement, pour chaque jour nous avons séparé les messages selon leur thématique principale.
Nous voyons que la thématique dominante pour toutes les discussions est la thématique \og{}~droit, droits, homme~\fg{}. Les thématiques sont désignées par les trois \glspl{token} qui en sont les plus représentatifs. Ici nous en avons 4: \og{}~\_matheexp\_, violations, rdc~\fg{}, \og{}~certificat, réussite, cours~\fg{}, \og{}~droit, droits, homme~\fg{} et \og{}~etat, visa, danger~\fg{}.
......@@ -1702,7 +1703,7 @@ Nous signalons ici que les noms des personnes ont été transformés en pseudony
\subsubsection{Les fenêtres de contrôle}
\label{sec:orgfdf5266}
Les fenêtres principales montrent les messages en précisant ceux qui participent à des circuits (dynamique collective \emph{implicite}) par des barres rouge foncé. Mais l'intérêt de notre indicateur est de pouvoir être ajusté en fonction des besoins de l'observateur. Aussi nous fournissons deux fenêtres. \og{}~Vue des groupes~\fg{} et la fenêtre des \og{}~Paramètres~\fg{}
Les fenêtres principales montrent les messages en précisant ceux qui participent à des circuits (dynamique collective \emph{implicite}) par des barres rouge foncé. Mais l'intérêt de notre indicateur est de pouvoir être ajusté en fonction des besoins de l'observateur. Nous leur fournissons deux fenêtres pour personnaliser les vues: \og{}~Vue des groupes~\fg{} et la fenêtre des \og{}~Paramètres~\fg{}
\paragraph{La vue des groupes}~\par
\label{sec:orgcd62182}
......@@ -1712,17 +1713,17 @@ Les fenêtres principales montrent les messages en précisant ceux qui participe
\caption{\label{fig:vue_detaille_temporelle_droit} \og{}~Vue détaillée~\fg{}(5) avec un seuil temporel élevé }
\end{figure}
La vue triangulaire (2) sur les figures \vref{fig:vue_detaille_temporelle_droit} et \vref{fig:vue_detaille_etat_civil} (5) est au c\oe{}ur de notre tableau de bord. C'est elle qui filtre les circuits pour ne retenir que ceux pertinents pour l'observateur.
La vue triangulaire (2) sur les Figures \vref{fig:vue_detaille_temporelle_droit} et \vref{fig:vue_detaille_etat_civil} (5) est au c\oe{}ur de notre tableau de bord. C'est elle qui filtre les circuits pour ne retenir que ceux pertinents pour l'observateur.
Ce triangle permet de définir l'importance relative d'une des trois dimensions : thématique, sociale, ou temporelle. En déplaçant la bille rouge vers la dimension qui doit être la plus importante, l'observateur rend explicite son type de dynamique collective et les barres rouge foncé de la barre détaillée se mettent à jour en conséquence. Il y a en ici moins que sur la précédente Figure \vref{fig:vue_detaille_etat_civil} car \og{}~Vue des groupes~\fg{}(2) spécifie ici un seuil temporel est élevé.
Ce triangle permet de définir l'importance relative d'une des trois dimensions : thématique, sociale, ou temporelle. En déplaçant la bille rouge vers la dimension qui doit être la plus importante, l'observateur rend explicite son type de dynamique collective et les barres rouge foncé de la barre détaillée se mettent à jour en conséquence. Il y en a moins sur la Figure \vref{fig:vue_detaille_temporelle_droit} que sur la Figure \vref{fig:vue_detaille_etat_civil} car \og{}~Vue des groupes~\fg{}(2) spécifie ici un seuil temporel est élevé.
Par exemple, la seule chose qui diffère entre les figures \vref{fig:vue_detaille_temporelle_droit} et \vref{fig:vue_detaille_etat_civil} est la position de la bille rouge dans (2), la \og{}~vue des groupes~\fg{}. Sur la Figure \vref{fig:vue_detaille_temporelle_droit} la bille est dans le coin inférieur droit. C'est celui de la dimension temporelle. Cela indique que l'utilisateur souhaite ne visualiser que les dynamiques composées de messages proches temporellement. Si nous comparons cette situation à la situation par défaut de la \autoref{fig:vue_detaille_etat_civil} où la bille au centre n'indiquer aucune préférence, alors nous remarquons qu'il y a moins de barres rouge. Et c'est normal puisque nous préférons dans ce cas uniquement les circuits avec une faible distance temporelle entre les messages. Nous voyons d'ailleurs que les deux messages sélectionnés ont des dates de publications proches.
La seule chose qui diffère entre les figures \vref{fig:vue_detaille_temporelle_droit} et \vref{fig:vue_detaille_etat_civil} est la position de la bille rouge dans la \og{}~vue des groupes~\fg{} (2). Sur la Figure \vref{fig:vue_detaille_temporelle_droit} la bille est dans le coin inférieur droit. C'est celui de la dimension temporelle. Cela indique que l'utilisateur souhaite ne visualiser que les dynamiques composées de messages proches temporellement. Si nous comparons cette situation à la situation par défaut de la \autoref{fig:vue_detaille_etat_civil} où la bille au centre n'indiquer aucune préférence, alors nous remarquons qu'il y a moins de barres rouge. Et c'est normal puisque nous préférons dans ce cas uniquement les circuits avec une faible distance temporelle entre les messages. Nous voyons d'ailleurs que les deux messages sélectionnés ont des dates de publications proches.
Il existe une autre façon de contrôler les vues essentielles d'un point de vue ergonomique. Il s'agit de la fenêtre \og{}~Paramètres~\fg{}.
Il existe une autre façon de contrôler les vues mais d'un point de vue ergonomique avec la fenêtre \og{}~Paramètres~\fg{}.
\paragraph{La fenêtre \og{} Paramètres \fg{}}~\par
\label{sec:org2ddba05}
Cette fenêtre est celle qui contient les options d'affichage pour les différentes vues. L'exemple d'aide de la Figure \vref{fig:parametres_aide} liste les différentes options et leur utilité. Simplement, il s'agit de choisir le jeu de données à visualiser, l'unité temporelle pour le regroupement des messages dans la vue temporelle, la clef de tri pour la vue des discussions, l'ordre du tri, le nombre de discussions à afficher et, finalement l'unité temporelle de regroupement pour la vue détaillée.
Cette fenêtre est celle qui contient les options d'affichage pour les différentes vues. L'exemple d'aide de la Figure \vref{fig:parametres_aide} liste les différentes options et leur utilité. Il s'agit de choisir le jeu de données à visualiser, l'unité temporelle pour le regroupement des messages dans la vue temporelle, la clef de tri pour la vue des discussions, l'ordre du tri, le nombre de discussions à afficher et, finalement l'unité temporelle de regroupement pour la vue détaillée.
\section{Bilan}
\label{sec:orgcca88d1}
......@@ -1743,7 +1744,7 @@ Nous allons voir dans le chapitre suivant, comment nous sommes arrivé à un pro
\clearemptydoublepage
\label{chap:6}
Dans l'étude de revues du \autoref{chap:2}, la dynamique collective a été, soit repérée dans de petits groupes attachés à la réalisation d'une tâche précise, soit à plus grande échelle en gommant les spécificités du langage difficiles à réduire statistiquement. Nous n'y avons pas trouvé une façon satisfaisante de la mesurer en utilisant, seulement, les traces d'un forum.
Dans l'étude de revues du Chapitre \autoref{chap:2}, la dynamique collective a été, soit repérée dans de petits groupes attachés à la réalisation d'une tâche précise, soit à plus grande échelle en gommant les spécificités du langage difficiles à réduire statistiquement. Nous n'y avons pas trouvé une façon satisfaisante de la mesurer en utilisant, seulement, les traces d'un forum.
Nous présentons, dans ce chapitre, les expériences que nous avons mises en \oe{}uvre pour répondre à notre problématique. Il s'agit de valider, ou non, nos hypothèses. Si la dynamique collective existe, et si elle est mesurable à partir des interactions dans les forums, correspond-elle à ce qu'attendent les instructeurs et les chercheurs? Leur est-elle utile? Et si elle l'est, la visualiser avec notre tableau de bord peut-il faciliter leur travail? Est-il utilisable dans cette optique?
......@@ -1767,7 +1768,7 @@ Le but de ces premiers indicateurs est de montrer un processus dynamique avec po
\subsubsection{Les données Moodle}
\label{sec:org90ceb91}
Le premier jeu de données est d'une extraction fortement pseudonymisée d'une base de données \gls{sql} d'échanges d'un forum, ayant eu lieu en février 2009 sur \gls{moodle}. Il concerne un cours de \gls{ffl} déjà présenté dans le Tableau \vref{tab:datasets}. Sa particularité est de contenir des informations précises sur les activités de lecture des apprenants, mais, il a aussi des limites. Il est peu volumineux et ne contient pas les contenus des messages. L'avantage, c'est que sans contenu, peu volumineux et avec pour seuls identifiants des pseudonymes, ce corpus est anonyme.
Le premier jeu de données est d'une extraction fortement pseudonymisée d'une base de données \gls{sql} d'échanges d'un forum, ayant eu lieu en février 2009 sur \gls{moodle}. Il concerne un cours de \gls{ffl} déjà présenté dans le Tableau \vref{tab:datasets}. Sa particularité est de contenir des informations précises sur les activités de lecture des apprenants, mais, il a aussi des limites. Il est peu volumineux et ne contient pas les contenus des messages. L'avantage, c'est que sans contenu, avec pour seuls identifiants des pseudonymes, ce corpus est anonyme.
Techniquement, son usage a nécessité la mise en place d'une base de données \gls{mysql} associé à un serveur java pour le côté client.
......@@ -1781,7 +1782,7 @@ Techniquement, son usage a nécessité la mise en place d'une base de données \
Ce jeu de données, nous a permis de réaliser nos premières visualisations en créant un indicateur comparant les différents types d'activité pour un même apprenant. La Figure \vref{fig:dynco_temps} montre cet indicateur où le temps de connexion est tracé en jaune, et le temps d'activité \gls{effectif}, en bleu. Par activité effective, nous entendons ici, activité de lecture.
Cet indicateur le montre bien que les activités évoluent avec le temps. Il offre aussi la possibilité de modifier l'échelle de regroupement temporel. Par exemple en choisissant une unité de comptage hebdomadaire plutôt que journalière.
Cet indicateur montre bien que les activités évoluent avec le temps. Il offre aussi la possibilité de modifier l'échelle de regroupement temporel. Par exemple en choisissant une unité de comptage hebdomadaire plutôt que journalière.
\begin{figure}[htbp]
......@@ -1801,7 +1802,7 @@ Au terme de cette prise en main, nous avons vérifié être en mesure d'analyser
\subsection{Indicateurs interactifs et à plus grande échelle}
\label{sec:org7336e62}
Pour palier, aux limites du jeu de données \gls{moodle}, nous avons fait appel à l'\gls{uvci} qui était à ce moment-là notre partenaire.
Pour palier, aux limites du jeu de données \gls{moodle}, nous avons fait appel à l'\gls{uvci} qui était à ce moment notre partenaire.
\subsubsection{Données hangout de l'UVCI}
\label{sec:org486edec}
......@@ -1825,9 +1826,7 @@ En effet, avec ces technologies nous avons traité plus aisément ce nouveau cor
\caption{\label{fig:uvci_portrait} Messages de sessions \gls{hangouts} de l'\gls{uvci}.}
\end{figure}
La Figure \vref{fig:uvci_portrait} montre le tableau de bord obtenu avec les données de \gls{hangouts}.
De gauche à droite, dans la vue globale, zone supérieure (a), sont représentés le nombre de messages par auteur, les auteurs et les messages.
La Figure \vref{fig:uvci_portrait} montre le tableau de bord obtenu avec les données de \gls{hangouts}. De gauche à droite, dans la vue globale, zone supérieure (a), sont représentés le nombre de messages par auteur, les auteurs et les messages.
\paragraph{Les messages par auteur}~\par
\label{sec:org6b363b7}
......@@ -1856,7 +1855,7 @@ Ce qui est intéressant, c'est qu'avec la taille des données, émergent des mot
Cette expérience avec le jeu de données de l'\gls{uvci} semble indiquer qu'il sera possible de détecter de la dynamique collective dans des données de forum à partir du moment où celles-ci sont assez volumineuses.
La dernière étape de ce cycle de \gls{recherche_design} est de tester des variations de calculs pour notre indicateur de la dynamique collective. Pour cela nous avons besoin d'un corpus avec beaucoup de messages d'étudiants. Nous n'avons pas pu utiliser les corpus de l'\gls{uvci} pour cette tâche car notre partenariat s'était terminé.
La dernière étape de ce cycle de \gls{recherche_design} est de tester des variations de calculs pour notre indicateur de la dynamique collective. Pour cela nous avons besoin d'un corpus avec beaucoup de messages d'étudiants. Nous n'avons pas pu utiliser les corpus de l'\gls{uvci} pour cette tâche car notre partenariat était terminé.
\subsection{Expérimenter un indicateur avec TAL et SNA sur des données Coursera}
\label{sec:orgcc46b22}
......@@ -1864,7 +1863,7 @@ La dernière étape de ce cycle de \gls{recherche_design} est de tester des vari
\glsreset{tal}
\glsreset{sna}
Pour cette itération, nous avons capturé les données des forums de \glspl{mooc} auxquels nous étions inscrits. Nous les avons utilisées pour tester l'influence de divers paramètres \gls{tal} et \gls{sna} sur notre indicateur de dynamique collective. Nous avons traité les données de plusieurs cours tout en prenant en compte leur aspect longitudinal.
Pour cette itération, nous avons capturé les données des forums de \glspl{mooc} auxquels nous nous étions inscrits. Nous les avons utilisées pour tester l'influence de divers paramètres de \gls{tal} et d'\gls{sna} sur notre indicateur de dynamique collective. Nous avons traité les données de plusieurs cours tout en prenant en compte leur aspect longitudinal.
\subsubsection{Les données aspirées}
......@@ -1876,14 +1875,14 @@ D'un point de vue légal la licence accordée par \gls{coursera} stipule que :
\begin{verse}
\ldots{}Vous êtes en droit de télécharger du contenu provenant de nos Services uniquement pour votre utilisation personnelle et non commerciale,\ldots{}\\
\end{verse}
Ce qui nous semble être le cas dans le cadre de cette thèse, qui contient une clause de confidentialité. Surtout que les données téléchargées ne font pas, en elle-même, l'objet d'une publication et que nous nous référons aussi à la clause concernant la recherche et mentionnée en sous-section \vref{ssec:nettoyage_anonymisation}
Ce que cette thèse avec une clause de confidentialité et à but non commerciale, respecte. Surtout que les données téléchargées ne font pas, en elle-même, l'objet d'une publication et que nous nous référons aussi à la clause concernant la recherche et mentionnée en sous-section \vref{ssec:nettoyage_anonymisation}
\glsreset{ppl}
\glsreset{pml}
\glsreset{at}
Nous avons aspiré les cours \gls{ppl}, \gls{pml} et \gls{at} qui ont été présentés dans le Tableau \vref{tab:datasets}. Pour le plus gros, \gls{pml}, 982 utilisateurs ont publié plus de 4100 messages pendant 240 jours. C'est celui avec lequel nous avons le plus travaillé.
Nous avons sauvegardé les données tout d'abord dans un format personnalisé dont la Figure \vref{fig:code} donne deux exemples. Puis, un prétraitement rapide nous a permis d'effectuer la correspondance avec notre modèle (Tableau \vref{tab:model_unifie}).
Nous avons sauvegardé les données tout d'abord dans un format personnalisé dont la Figure \vref{fig:code} donne deux exemples. Puis, un prétraitement nous a permis d'effectuer la correspondance avec notre modèle (Tableau \vref{tab:model_unifie}).
Ce jeu de données est particulièrement intéressant, car il contient des informations sur le statut de l'utilisateur ce qui nous a permis de filtrer les tuteurs pour n'observer que les interactions des apprenants.
......@@ -1916,7 +1915,7 @@ précédent-3 & Les participants sont connectés à leurs 3 prédécesseurs avec
\end{figure}
Nous avons construit des sociogrammes testant, à l'instar de~\cite{Wise2017}, les différents modes de connexion présentés dans le tableau Tableau \vref{tab:sna_connexion}. À titre illustratif, nous avons appliqué ces modes de connexion aux fils de discussion de la Figure \vref{fig:sociogramme_full} et schématisés les sociogrammes correspondant dans la Figure \vref{fig:connexion}.
Nous nous sommes rendu compte que lorsque nous utilisions les méthodes qui connectent tous les participants d'un même fil de discussion, le nombre de circuits à parcourir pour identifier la dynamique collective devenait rapidement incalculable et, donc, inadéquat pour notre approche pragmatique. Malgré notre stratégie d'écrire sur le disque au fur et à mesure, les circuits énumérés pour alléger la mémoire, nous nous sommes parfois retrouvé avec plusieurs Go de données à devoir traiter. Ce constat nous a amené à:
Nous nous sommes rendu compte que lorsque nous utilisions les méthodes qui connectent tous les participants d'un même fil de discussion, le nombre de circuits à parcourir pour identifier la dynamique collective devenait rapidement incalculable et, donc, inadéquat pour notre approche pragmatique. Malgré notre stratégie d'écrire sur le disque au fur et à mesure des circuits énumérés, pour alléger la mémoire, nous nous sommes parfois retrouvé avec plusieurs Go de données à devoir traiter. Ce constat nous a amené à:
\begin{enumerate}
\item définir dans notre indicateur final des seuils techniques (différents de ceux définis par l'observateur) pour pouvoir énumérer les circuits
\item paralléliser notre code afin de pouvoir profiter des architectures multi-c\oe{}urs qui équipent aujourd'hui la plupart des ordinateurs et, ainsi, accélérer l'énumération, mais aussi la construction de plusieurs sociogrammes en parallèles.
......@@ -1962,7 +1961,7 @@ Nous nous sommes appuyé pour cela sur le \glspl{tal}. Ce sont des techniques st
Dans notre cas, nous avons utilisé un autre jeu de données issu de \gls{coursera}. Il s'agit de deux cours de l'\gls{unige}: \gls{ddl} et \gls{ufm}. Les contenus de ces cours sont multi-lingues et nous avons dû choisir une langue principale pour effectuer notre analyse.
L'objectif était de trouver une technique de détection automatique des thématiques des messages. Une première revue de littérature a guidé notre intérêt vers des techniques comme la \gls{lda}, \gls{lsa} ou les réseaux de neurones. Nous les présentons rapidement ci-dessous et expliquons pourquoi finalement nous avons choisi la \gls{nmf}.
L'objectif était de trouver une technique de détection automatique des thématiques des messages. Une première revue de littérature a guidé notre intérêt vers des techniques comme la \gls{lda}, \gls{lsa} ou les réseaux de neurones. Nous les présentons ci-dessous et expliquons pourquoi finalement nous avons choisi la \gls{nmf}.
\paragraph{Réseaux de neurones}~\par
\label{sec:org3b7f2c6}
......@@ -1983,7 +1982,7 @@ Nous avons dû explorer d'autres techniques.
\paragraph{Analyse sémantique latente}~\par
\label{sec:orgce60d72}
La \gls{lsa} est une méthode plus ancienne, mais moins gourmande en ressources que les réseaux de neurones. Elle permet aussi d'obtenir des représentations vectorielles des textes ou des messages qui sont souvent satisfaisantes. Par contre elle est sensible à l'étape de pré-traitement qui va déterminer les mots du vocabulaire.
La \gls{lsa} est une méthode plus ancienne et moins gourmande en ressources que les réseaux de neurones. Elle permet aussi d'obtenir des représentations vectorielles des textes ou des messages qui sont souvent satisfaisantes. Par contre elle est sensible à l'étape de pré-traitement qui va déterminer les mots du vocabulaire.
Aussi pour explorer un maximum de paramètres: type de word tokenizeur, type de sent tokenizeur, \# de ngrammes, liste de stop words, nous avons amélioré notre prototype pour qu'il puisse effectuer cette tâche, en parallèle.
......@@ -2017,15 +2016,15 @@ Au cours des expériences liées au développement nous avons employé plusieurs
\glsreset{uvci}
\label{ssec:coconstruction}
En juillet 2018, donc assez tôt dans notre processus de développement nous avons questionné 48 tuteurs de l'\gls{uvci}.
En juillet 2018, donc assez tôt dans notre recherhce nous avons questionné 48 tuteurs de l'\gls{uvci}.
L'\gls{uvci}, à cette époque, en était seulement à l'intégration de sa deuxième cohorte d'étudiants. Des cours en \gls{pdf} étaient distribués via \gls{moodle}. Les forums de la plateforme que l'université voulait utiliser pour la communication avec les étudiants, n'ont jamais été assidûment visités par les étudiants parce qu'ils n'étaient pas aussi optimisés pour les smartphones que ne l'étaient les \gls{facebook}, \gls{whatsapp} et autre services web~2.0. Aussi, l'\gls{uvci} a rapidement mis en place des chats de soutien sur \gls{hangouts} grâce à un partenariat avec Google. Une centaine de tuteurs ayant généralement un niveau bac+5 ou supérieur, mais pas forcément spécialistes de la discipline enseignée ont eu pour tâche d'animer des sessions de soutien avec les étudiants, sur hangouts.
L'\gls{uvci}, à cette époque, en était seulement à l'intégration de sa deuxième cohorte d'étudiants. Des cours en \gls{pdf} y étaient distribués via \gls{moodle}. Les forums de la plateforme que l'université voulait utiliser pour la communication avec les étudiants, n'ont jamais été assidûment visités par les étudiants parce qu'ils n'étaient pas aussi optimisés pour les smartphones que ne l'étaient les \gls{facebook}, \gls{whatsapp} et autre services web~2.0. Aussi, l'\gls{uvci} a rapidement mis en place des chats de soutien sur Google \gls{hangouts}. Une centaine de tuteurs ayant généralement un niveau bac+5 ou supérieur, mais pas forcément spécialistes de la discipline enseignée ont eu pour tâche d'animer des sessions de soutien avec les étudiants sur hangouts.
Nous leur avons adressé un premier questionnaire pour nous assurer de l'utilité de notre démarche et pour commencer à sonder les informations qu'il serait pertinent de faire figurer dans l'indicateur final.
\paragraph{Questionnaire initial avec les tuteurs de l'UVCI}~\par
\label{sec:orgca12794}
Nous avons conçu ce premier formulaire en nous inspirant du cadre \gls{coi}~\cite{Arbaugh2008} et en utilisant une échelle de Likert à 5 niveaux, demandant de se positionner, avec une affirmation. Nous l'avons distribué, via Google Forms, à l'ensemble des instructeurs. 48 ont répondu. L'objectif était ici de créer une permière interaction avec utilisateurs finaux et de vérifier l'intérêt de notre sujet d'étude.
Nous avons conçu ce premier formulaire en nous inspirant du cadre \gls{coi}~\cite{Arbaugh2008} et en utilisant une échelle de Likert à 5 niveaux, demandant de se positionner, avec une affirmation. Nous l'avons distribué, via Google Forms, à l'ensemble des instructeurs. 48 ont répondu. L'objectif était ici de créer une permière interaction avec de potentiels utilisateurs finaux et de vérifier l'intérêt de notre sujet d'étude.
Nos questions se regroupent en trois catégories: satisfaction avec l'existant, informations utiles pour le suivi des étudiants, temps et modes d'interaction. Nous les listons ci-dessous.
......@@ -2103,12 +2102,13 @@ Le formulaire est le suivant:
\item Quelles vues trouvez-vous particulièrement pertinentes pour visualiser la dynamique collective (ou les discussions collectives)?
\item Quelles informations avez-vous trouvé qui pourraient faciliter vos interventions avec les étudiants?
\item Selon vous, qu'est ce qui rend une discussion d'étudiants, dans un forum ou un chat, constructive du point de vue des apprentissages?
\end{itemize}
\end{enumerate}
La proximité temporelle des messages? La proximité thématique des messages? La proximité sociale des auteurs (ils se connaissent bien)?
\begin{itemize}
\item \begin{itemize}
\item La proximité temporelle des messages? La proximité thématique des messages? La proximité sociale des auteurs (ils se connaissent bien)?
\end{itemize}
\item Finalement, quoi d'autre serait-il intéressant de détecter et visualiser pour mesurer la qualité collective d'une discussion?
\end{itemize}
\end{enumerate}
\subsubsection{Expérience avec les experts de l'UNIGE}
......@@ -2116,7 +2116,7 @@ La proximité temporelle des messages? La proximité thématique des messages? L
Cette phase de l'expérimentation s'est déroulée dans un contexte de confinement lié à la pandémie du COVID-19. Nous avons communiqué par mail et nous avons utilisé la visio-conférence pour effectuer nos entretiens.
Dans un premier temps, nous avons pris contact avec les professeurs et les chercheurs susceptibles d'être intéressés par notre étude. Pour avoir des retours pertinents nous avons adressé nos sollicitations à des personnes connaissant bien les jeux de données.
Deux ont accepté de participer volontairement à l'entretien semi-dirigés. Nous leur avons communiqué une description du prototype et proposé un rendez-vous pour faciliter la prise en main.
Deux ont accepté de participer volontairement à l'entretien semi-dirigé. Nous leur avons communiqué une description du prototype et proposé un rendez-vous pour faciliter la prise en main.
À l'issue du premier entretien, nous avions prévu de laisser l'utilisateur manipuler le prototype avant d'effectuer un second entretien pour l'analyse d'usage. En pratique, nous n'avons retenu qu'un entretien et les réponses au questionnaire. En effet, le lien du prototype ayant été distribué aux utilisateurs lors de la présentation du prototype, l'un d'entre eux l'avait déjà pris en main au moment de l'entretien et nous avons donc fait l'évaluation dans la foulée. Le second n'a pas souhaité effectuer un deuxième entretien, mais il nous a fourni une évaluation via le questionnaire.
\paragraph{Questionnaire accompagnant les entretiens semi-dirigés}~\par
......@@ -2150,7 +2150,7 @@ Le questionnaire a une partie sur les pratiques pédagogiques pour l'animation d
\item La vue détaillée
\item La vue des messages
\end{itemize}
\item Quelles vues auriez-vous souhaitées pour mieux détecter la dynamique collective dans
\item Quelles vues auriez-vous souhaitées pour mieux détecter la dynamique collective dans vos \glspl{mooc}?
\end{enumerate}
......@@ -2171,7 +2171,7 @@ En réponse aux questions de satisfaction, 27 tuteurs sont pas ou peu satisfait
\includegraphics[width=\textwidth]{Chapitre5/Figures/utilite.png}
\caption{\label{fig:utilite} Réponses aux questions relatives à la pertinence des visualisations.}
\end{figure}
Dans la deuxième catégorie (Figure \vref{fig:utilite}), les réponses sont généralement positives. Les tuteurs n'ont pas priorisé l'importance des informations à visualiser. En réponse à la question ouverte \og{}~quoi d'autre serait-il important de visualiser pour améliorer le suivi de vos apprenants~\fg{} nous relevons beaucoup de références à des indicateurs de participation sous différentes formes: le nombre (\#) et temps de connexion, participation au chat, \# de téléchargements des cours, \# de devoirs effectués, fréquence des interactions.
Dans la deuxième catégorie (Figure \vref{fig:utilite}), les réponses sont généralement positives. Les tuteurs n'ont pas priorisé l'importance des informations à visualiser. En réponse à la question ouverte \og{}~quoi d'autre serait-il important de visualiser pour améliorer le suivi de vos apprenants~\fg{} nous relevons beaucoup de références à des indicateurs de participation sous différentes formes: le nombre (\#) et temps de connexion, de participation au chat, le nombre de téléchargements des cours, le nombre de devoirs effectués, la fréquence des interactions.
\subsubsection{Analyse des réponses du deuxième questionnaire}
......@@ -2194,7 +2194,7 @@ Lorsque nous posons nos questions d'utilisabilité du tableau de bord dans le se
Ce qui ressort des réponses, c'est que sans aide, la prise en main du tableau de bord n'est pas intuitive, malgré l'effort que nous avons fourni pour n'utiliser que des diagrammes en bâtons, qui sont à notre connaissance les diagrammes statistiques les plus connus.
Il faudrait donc, très probablement, dans nos futures recherches ajouter au prototype une des explications, soit sous forme de vidéo introductive, soit avec plus d'accompagnement au moment de l'expérimentation.
Il faudrait donc, très probablement, dans nos futures recherches ajouter au prototype des explications plus détaillés, par exemple sous la forme de vidéo introductive.
Concernant les questions sur l'utilité de l'indicateur nous avons fait une analyse plus qualitative, car ce sont des questions ouvertes.
......@@ -2219,9 +2219,9 @@ Finalement, interrogés sur les choses additionnelles à détecter pour amélior
La personne qui a évalué notre tableau de bord à l'aide du questionnaire a jugé toutes les vues \og{}~tout à fait pertinentes~\fg{}. Aussi l'analyse de l'utilité de notre tableau de bord se base principalement sur les deux entretiens que nous avons conduits avec les praticiens. Elle ne peut être définitive et marque une étape dans le processus de co-construction.
\paragraph{Le point de vue du responsable pédagogique}~\par
\paragraph{Le point de vue d'un responsable pédagogique}~\par
\label{sec:org3b73f1f}
Le premier interviewé est le responsable pédagogique du \gls{mooc} \gls{ddl}. Il nous a fait part de son souhait d'avoir \og{}~une évaluation globale du programme~\fg{} chose qui, à l'heure actuelle n'est pas faite. Les seuls retours que ce responsable pédagogique a de son cours viennent, à l'heure actuelle, des étudiants qui le suivent à la fois en présentiel et à distance. Il n'a pas de retour des étudiants suivant le cours entièrement en ligne et il n'a donc que très peu d'informations sur la façon dont ils perçoivent le matériel pédagogique. Il s'en fait, cependant, une idée grâce \emph{aux trucs} suivants:
Le premier interviewé est le responsable pédagogique du \gls{mooc} \gls{ddl}. Il nous a fait part de son souhait d'avoir \og{}~une évaluation globale du programme~\fg{} chose qui, à l'heure actuelle n'est pas faite. Les seuls retours que ce responsable pédagogique a de son cours viennent des étudiants qui le suivent à la fois en présentiel et à distance. Il n'a pas de retour des étudiants suivant le cours entièrement en ligne et il n'a donc que très peu d'informations sur la façon dont ils perçoivent le matériel pédagogique. Il s'en fait, cependant, une idée grâce \emph{aux trucs} suivants:
\begin{itemize}
\item son expérience des sujets traditionnellement intéressants pour les étudiants,
\item la transposition au virtuel, des marques d'attentions comme les contacts visuels et le bruit de la prise de notes, lors des séances en présentiel,
......@@ -2297,7 +2297,7 @@ Avec la démocratisation d'Internet, et plus récemment la pandémie du COVID-19
\paragraph{L'objectif de notre thèse}~
\label{sec:orgae61eec}
Il a été de répondre au problème de la détection et de l'observation des dynamiques collectives, en particulier celles intéressant les instructeurs et ayant lieu dans les forums des \glspl{mooc}. Nous avons cherché:
a été de répondre au problème de la détection et de l'observation des dynamiques collectives, en particulier celles intéressant les instructeurs et ayant lieu dans les forums des \glspl{mooc}. Nous avons cherché:
\boiteProblematique{}
......@@ -2334,7 +2334,7 @@ Avec la thématique, le temps et la structure sociale, nous avons établi les r
Finalement, dans notre modèle, la dynamique collective \emph{explicite}, résulte de l'interaction de l'observateur avec le tableau de bord. C'est là qu'il la définit, en jouant sur les paramètres d'un modèle mathématique sous-jacent et dont la Figure \vref{fig:fonctions} donne une illustration.
L'explicitation est, elle-même, dynamique, ce qui nous a permis de proposer un modèle s'adaptant à différents contextes, différentes échelles de jeu de données et qualité des messages. Cependant, dans la pratique, la mise en \oe{}uvre de notre modèle a nécessité un travail technique et la conception d'un prototype que nous avons détaillé au \autoref{chap:5}.
L'explicitation est, elle-même, dynamique, ce qui nous a permis de proposer un modèle s'adaptant à différents contextes, différentes échelles de jeu de données et qualité des messages. Cependant, dans la pratique, la mise en \oe{}uvre de notre modèle a nécessité un travail technique et la conception d'un prototype que nous avons détaillé au Chapitre \autoref{chap:5}.
\paragraph{Le prototype}~\par
\label{sec:org6b6ec26}
......
......@@ -8,7 +8,7 @@ Je dois énormément aussi à Madeth \textsc{May} qui tous les jours a été pr
Ma reconnaissance va également à l'endroit des équipes des deux laboratoires qui se sont mis ensemble pour rendre cette cotutelle possible.
En France, le LIUM m'a offert des conditions travail que tout étudiant saurait apprécier. Je m'y suis senti comme chez moi grâce à l'accueil des Professeurs \textsc{Meignier} et \textsc{Py}, alors que je n'étais qu'un passager. De plus, sans Gregor et Etienne, les problèmes techniques auraient probablement fait sombrer mon entreprise. Ils ont dompté les machines qui ronronnent, maintenant, sagement. Mille et un merci, aussi, à mes collèges, aujourd'hui ex-doctorants, Adrien, Antoine, Amira, Kévin, Mercèdes, Ozan, Pierre-Alexandre et Salima avec qui je partage les douleurs de l'enfantement d'une connaissance pas plus grosse qu'une tête d'épingle, à l'échelle du monde, mais probablement monstrueuse à chacune de nos échelles.
En France, le LIUM m'a offert des conditions de travail que tout étudiant saurait apprécier. Je m'y suis senti comme chez moi grâce à l'accueil des Professeurs \textsc{Meignier} et \textsc{Py}, alors que je n'étais qu'un passager. De plus, sans Gregor et Etienne, les problèmes techniques auraient probablement fait sombrer mon entreprise. Ils ont dompté les machines qui ronronnent, maintenant, sagement. Mille et un merci, aussi, à mes collèges, aujourd'hui ex-doctorants, Adrien, Antoine, Amira, Kévin, Mercèdes, Ozan, Pierre-Alexandre et Salima avec qui je partage les douleurs de l'enfantement d'une connaissance pas plus grosse qu'une tête d'épingle, à l'échelle du monde, mais probablement monstrueuse à chacune de nos échelles.
En Côte d'Ivoire, l'équipe du \gls{larit} soudée, dynamique m'a alimenté d'une énergie intarissable. Cela va sans dire que la chaleureuse, mais sérieuse, ambiance du laboratoire et la réussite de premiers Docteurs \textsc{Adepo}, \textsc{Atiampo}, \textsc{Anoh}, \textsc{Coulibaly}, \textsc{Kamagagté}, \textsc{Keupondjo} \textsc{Satchou}, \textsc{Mambé}, \textsc{Ouattara}, \textsc{Pandry} et \textsc{Saha} m'ont entrainé dans leurs sillages. Je vois bientôt venir, avec plaisir, le temps de partager avec toute l'équipe les connaissances qu'elle m'a permises d'acquérir. Je suis particulièrement reconnaissant pour la bienveillance de notre directeur de laboratoire le Professeur \textsc{Babri}. Elle n'a d'égal que celle d'un père faisant confiance à ses enfants.
......
......@@ -17,7 +17,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{these-mlk}[18/04/2018 v4.0]
\LoadClass[12pt,a4paper]{report} % notez le "twoside", essentiellement pour alterner les en-tete et pieds de page gauche et droit si on veut utliser les fancyhead.
\LoadClass[12pt,a4paper,bibliography=totoc]{report} % notez le "twoside", essentiellement pour alterner les en-tete et pieds de page gauche et droit si on veut utliser les fancyhead.
%\LoadClass[12pt,a4paper]{memoir} % notez le "twoside", essentiellement pour alterner les en-tete et pieds de page gauche et droit si on veut utliser les fancyhead.
% \definecolor{mypink1}{rgb}{Pink with rgb}
......@@ -97,9 +97,9 @@
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
% \vspace*{1\p@}%
\hrulefill
\par\nobreak
\vskip 50\p@
% \hrulefill
% \par\nobreak
\vskip 10\p@
}}
\def\@makeschapterhead#1{%
\vspace*{-50\p@}%
......@@ -109,9 +109,9 @@
\interlinepenalty\@M
\Huge \bfseries #1 \par\nobreak
% \vspace*{1\p@}%
\hrulefill
\par\nobreak
\vskip 30\p@
% \hrulefill
% \par\nobreak
\vskip 10\p@
}}
%%%%%%%%%%%%%%%%%%%% Fin en-tête de chapitre %%%%%%%%%%%%%%%%%%%
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment