Skip to content
Snippets Groups Projects
Commit 760343e4 authored by Alice Brenon's avatar Alice Brenon
Browse files

Take Frédérique's feedback about being more objective about the code into...

Take Frédérique's feedback about being more objective about the code into account (gave birth to a huge amount of discussion)
parent d31c0052
No related branches found
No related tags found
No related merge requests found
...@@ -37,27 +37,56 @@ la plus complexe du système. L'encodage de *LGE* en particulier a demandé un ...@@ -37,27 +37,56 @@ la plus complexe du système. L'encodage de *LGE* en particulier a demandé un
effort important de traitements géométriques et de repérage de motifs dans des effort important de traitements géométriques et de repérage de motifs dans des
chaînes de caractères avec du bruit causé par l'OCR. Au niveau des articles chaînes de caractères avec du bruit causé par l'OCR. Au niveau des articles
eux-mêmes, l'essentiel des annotations et analyses est réalisé par des outils eux-mêmes, l'essentiel des annotations et analyses est réalisé par des outils
existants, et seuls quelques scripts sont nécessaires pour mettre en forme les existants, et des scripts servent à mettre en forme les données, charger des
données, charger des librairies ou extraire leurs résultats. L'avantage majeur librairies ou extraire leurs résultats. L'avantage majeur de la démarche suivie
de la démarche suivie réside dans la modularité qu'elle offre: en séparant les réside dans la modularité qu'elle offre: en séparant les différentes
différentes représentations des textes et les métadonnées qu'elle leur associe, représentations des textes et les métadonnées qu'elle leur associe, elle permet
elle permet une grande liberté pour les combiner et formatter les données en vue une grande liberté pour les combiner et formatter les données en vue de
de nouvelles analyses, parfois propres seulement à un sous-corpus. Enfin, au nouvelles analyses, parfois propres seulement à un sous-corpus. Enfin, au niveau
niveau des discours qui composent les articles, la spécificité de la méthode des discours qui composent les articles, la spécificité de la méthode utilisée
utilisée se situe dans la mise en regard d'études quantitatives et qualitatives, se situe dans la mise en regard d'études quantitatives et qualitatives, là
là encore en utilisant des logiciels répandus en analyse textuelle des données. encore en utilisant des logiciels répandus en analyse textuelle des données.
Dans l'ensemble, le code produit dans le cadre de cette thèse reste donc modeste Dans l'ensemble, le code produit dans le cadre de cette thèse remplit donc
en terme de volume et de complexité théorique et se distingue plutôt en essentiellement trois fonctions: il modélise la structure du corpus pour
réutilisant et en combinant les outils déjà disponibles. L'ensemble des scripts faciliter la manipulation des fichiers, il convertit des formats pour servir de
produits, écrits dans les langages python et haskell, font assez peu liant entre les différents logiciels utilisés et il produit des visualisations
d'hypothèses sur le système utilisé. Les représentations intermédiaires des pour l'analyse comme celles présentes dans ce manuscrit. Il se répartit
textes utilisent des formats ouverts tels que des dialectes du XML, du texte principalement entre sept dépôts de code (voir la section \ref{repos_links}
encodé en UTF-8 ou encore du CoNLL-U pour lesquels des outils existent sur la p.\pageref{repos_links}) dont la taille totale avoisine 200 fichiers pour 10 000
plupart des plateformes et qui restent faciles à implémenter sinon. Cet aspect lignes de code écrites en quatre langages différents. La plus large partie est
de la méthodologie suivie accroît son utilité potentielle pour de futurs en haskell, qui a servi à implémenter le programme `soprano` et la librairie de
travaux, en ne rajoutant pas de nouvel outil tout-en-un difficile à supporter modélisation `ghc-geode` mais aussi une partie des scripts d'analyse et de
sur un grand nombre de plateformes. conversion. Le reste consiste en des scripts, surtout en python mais aussi en
bash pour quelques uns. La description des paquets et de leurs dépendances est
écrite en guile et occupe un peu plus de 10% du volume de code pour assurer le
contrôle des environnements logiciels à l'aide de `guix`.
L'usage de cet outil pour la reproductibilité représente la seule brique
logicielle complexe de la méthodologie suivie. Ce choix restreint nécessairement
un peu la portabilité mais même cette contrainte est moins forte qu'il n'y
paraît. D'abord, `guix` peut être utilisé seulement comme gestionnaire de paquet
et installé sur de nombreux systèmes linux, pas seulement sur le système
d'exploitation `guix`. Ensuite, d'autres implémentations comme `nix` donnent
accès aux mêmes techniques de reproductibilité et ont déjà été portées sur
davantage de plateformes. En outre, ces technologies nouvelles permettent de
générer des environnements sous de nombreux formats comme des archives portables
ou des conteneurs qui peuvent être déployés sur la plupart des plateformes
existantes, sans que `guix` ou `nix` eux-même n'aient besoin d'y être installés.
Enfin, les formats aussi suivent cette logique de réemploi et de modularité. Les
représentations intermédiaires des textes utilisent des standards ouverts comme
les dialectes du XML, le JSON, le texte encodé en UTF-8 ou encore le TSV pour
lesquels des outils existent sur la plupart des plateformes et qui restent
faciles à implémenter sinon. Le choix du TSV pour stocker les métadonnées plutôt
que de véritables bases de données s'est avéré payant en termes de flexibilité
grâce à un petit outillage vaste et polyvalant capable d'exploiter ce format
(des programmes de recherche et de remplacement comme `grep`, `sed` ou même
`csvsql` pour écrire des requêtes d'une complexité intermédiaire). Cet aspect de
la méthodologie suivie accroît son utilité potentielle pour de futurs travaux,
en ne rajoutant pas de nouvel outil tout-en-un difficile à supporter sur un
grand nombre de plateformes mais en encourageant au contraire à utiliser ce qui
est disponible.
### Les facettes de la disciplinarisation {.unnumbered .unlisted} ### Les facettes de la disciplinarisation {.unnumbered .unlisted}
......
...@@ -569,32 +569,32 @@ utilisé. Cela permet de valider une amélioration et de garantir qu'il n'y a pa ...@@ -569,32 +569,32 @@ utilisé. Cela permet de valider une amélioration et de garantir qu'il n'y a pa
de régression dans la qualité des données. C'est ce type de garanties que peut de régression dans la qualité des données. C'est ce type de garanties que peut
apporter la reproductibilité des logiciels. apporter la reproductibilité des logiciels.
Si des «instantanés» de *LGE* à plusieurs étapes clefs des traitements sont \label{repos_links}Si des «instantanés» de *LGE* à plusieurs étapes clefs des
distribués via Nakala pour faciliter la prise en main des données, toutes traitements sont distribués via Nakala pour faciliter la prise en main des
peuvent être regénérées localement (et donc vérifiées) en appliquant les mêmes données, toutes peuvent être regénérées localement (et donc vérifiées) en
traitements sur les pages [@=OCR]isées au format XML-ALTO, seules réelles appliquant les mêmes traitements sur les pages [@=OCR]isées au format XML-ALTO,
entrées de toute la partie du corpus qui concerne cette œuvre. Le logiciel seules réelles entrées de toute la partie du corpus qui concerne cette œuvre. Le
`soprano`[^soprano] utilisé pour extraire les articles et les encoder en format logiciel `soprano`[^soprano] utilisé pour extraire les articles et les encoder
texte ou en XML est distribué sous licence libre (BSD 3) et empaqueté pour le en format texte ou en XML est distribué sous licence libre (BSD 3) et empaqueté
gestionnaire de paquets reproductible Guix[^guix]. Un autre dépôt[^outillage] pour le gestionnaire de paquets reproductible Guix[^guix]. Un autre
contient tous les outils utilisés pour les différentes analyses et la production dépôt[^outillage] contient tous les outils utilisés pour les différentes
des formats enrichissant les données (classification, annotation syntaxique, analyses et la production des formats enrichissant les données (classification,
etc.). Le développement de ces outils a aussi donné lieu à plusieurs librairies annotation syntaxique, etc.). Le développement de ces outils a aussi donné lieu
qui sont bien sûr elles aussi distribuées sous licence libre (GNU GPL v3 pour à plusieurs librairies qui sont bien sûr elles aussi distribuées sous licence
`ghc-geode`[^ghc-geode] et `geopyck`[^geopyck]). Les outils spécifiques à libre (GNU GPL v3 pour `ghc-geode`[^ghc-geode] et `geopyck`[^geopyck]). Les
l'*EDdA*, développés antérieurement au projet GEODE sont pour rappel (voir la outils spécifiques à l'*EDdA*, développés antérieurement au projet GEODE sont
section \ref{sec:corpus_preprocessing_edda}) aussi disponibles[^edda-clinic]. pour rappel (voir la section \ref{sec:corpus_preprocessing_edda}) aussi
L'ensemble de ces logiciels est empaqueté pour Guix et ces paquets sont disponibles[^edda-clinic]. L'ensemble de ces logiciels est empaqueté pour Guix
distribués dans un canal Guix spécifique au projet[^geode-packages] afin de les et ces paquets sont distribués dans un canal Guix spécifique au
regrouper et de faciliter leur installation. Enfin, les mêmes efforts de projet[^geode-packages] afin de les regrouper et de faciliter leur installation.
reproductibilité ont été appliqués à ce manuscrit lui-même. Ses sources sont Enfin, les mêmes efforts de reproductibilité ont été appliqués à ce manuscrit
ouvertes et disponibles[^manuscrit] (sous licence GNU GPL v3). Le dépôt permet lui-même. Ses sources sont ouvertes et disponibles[^manuscrit] (sous licence GNU
de recompiler une version PDF du texte que vous êtes en train de lire mais GPL v3). Le dépôt permet de recompiler une version PDF du texte que vous êtes en
surtout, il contient les données utilisées pour tracer la plupart des tableaux train de lire mais surtout, il contient les données utilisées pour tracer la
et figures (celles utilisant un thème de couleur mauve ou une palette plupart des tableaux et figures (celles utilisant un thème de couleur mauve ou
arc-en-ciel pour les domaines de connaissance). Il est ainsi possible de une palette arc-en-ciel pour les domaines de connaissance). Il est ainsi
vérifier les résultats annoncés et d'étudier les codes utilisés pour les possible de vérifier les résultats annoncés et d'étudier les codes utilisés pour
générer. les générer.
[^guix]: [^guix]:
[https://guix.gnu.org/](https://guix.gnu.org/) [https://guix.gnu.org/](https://guix.gnu.org/)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment