diff --git a/Conclusion/Bilan.md b/Conclusion/Bilan.md index cf2615d8e77dfdc368d46b0624cb1eb87ed86166..29e584e3137562e36c0d3e4b3aeac4db52056824 100644 --- a/Conclusion/Bilan.md +++ b/Conclusion/Bilan.md @@ -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 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 -existants, et seuls quelques scripts sont nécessaires pour mettre en forme les -données, charger des librairies ou extraire leurs résultats. L'avantage majeur -de la démarche suivie réside dans la modularité qu'elle offre: en séparant les -différentes représentations des textes et les métadonnées qu'elle leur associe, -elle permet une grande liberté pour les combiner et formatter les données en vue -de nouvelles analyses, parfois propres seulement à un sous-corpus. Enfin, au -niveau des discours qui composent les articles, la spécificité de la méthode -utilisée se situe dans la mise en regard d'études quantitatives et qualitatives, -là 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 -en terme de volume et de complexité théorique et se distingue plutôt en -réutilisant et en combinant les outils déjà disponibles. L'ensemble des scripts -produits, écrits dans les langages python et haskell, font assez peu -d'hypothèses sur le système utilisé. Les représentations intermédiaires des -textes utilisent des formats ouverts tels que des dialectes du XML, du texte -encodé en UTF-8 ou encore du CoNLL-U pour lesquels des outils existent sur la -plupart des plateformes et qui restent faciles à implémenter sinon. 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. +existants, et des scripts servent à mettre en forme les données, charger des +librairies ou extraire leurs résultats. L'avantage majeur de la démarche suivie +réside dans la modularité qu'elle offre: en séparant les différentes +représentations des textes et les métadonnées qu'elle leur associe, elle permet +une grande liberté pour les combiner et formatter les données en vue de +nouvelles analyses, parfois propres seulement à un sous-corpus. Enfin, au niveau +des discours qui composent les articles, la spécificité de la méthode utilisée +se situe dans la mise en regard d'études quantitatives et qualitatives, là +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 remplit donc +essentiellement trois fonctions: il modélise la structure du corpus pour +faciliter la manipulation des fichiers, il convertit des formats pour servir de +liant entre les différents logiciels utilisés et il produit des visualisations +pour l'analyse comme celles présentes dans ce manuscrit. Il se répartit +principalement entre sept dépôts de code (voir la section \ref{repos_links} +p.\pageref{repos_links}) dont la taille totale avoisine 200 fichiers pour 10 000 +lignes de code écrites en quatre langages différents. La plus large partie est +en haskell, qui a servi à implémenter le programme `soprano` et la librairie de +modélisation `ghc-geode` mais aussi une partie des scripts d'analyse et de +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} diff --git a/Corpus/Application.md b/Corpus/Application.md index 277f33380cfbb4a73b587dedc13857bcc5d51634..1928cce7a4c918d66807ff7efd06c3035eb33863 100644 --- a/Corpus/Application.md +++ b/Corpus/Application.md @@ -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 apporter la reproductibilité des logiciels. -Si des «instantanés» de *LGE* à plusieurs étapes clefs des traitements sont -distribués via Nakala pour faciliter la prise en main des données, toutes -peuvent être regénérées localement (et donc vérifiées) en appliquant les mêmes -traitements sur les pages [@=OCR]isées au format XML-ALTO, seules réelles -entrées de toute la partie du corpus qui concerne cette œuvre. Le logiciel -`soprano`[^soprano] utilisé pour extraire les articles et les encoder en format -texte ou en XML est distribué sous licence libre (BSD 3) et empaqueté pour le -gestionnaire de paquets reproductible Guix[^guix]. Un autre dépôt[^outillage] -contient tous les outils utilisés pour les différentes analyses et la production -des formats enrichissant les données (classification, annotation syntaxique, -etc.). Le développement de ces outils a aussi donné lieu à plusieurs librairies -qui sont bien sûr elles aussi distribuées sous licence libre (GNU GPL v3 pour -`ghc-geode`[^ghc-geode] et `geopyck`[^geopyck]). Les outils spécifiques à -l'*EDdA*, développés antérieurement au projet GEODE sont pour rappel (voir la -section \ref{sec:corpus_preprocessing_edda}) aussi disponibles[^edda-clinic]. -L'ensemble de ces logiciels est empaqueté pour Guix et ces paquets sont -distribués dans un canal Guix spécifique au projet[^geode-packages] afin de les -regrouper et de faciliter leur installation. Enfin, les mêmes efforts de -reproductibilité ont été appliqués à ce manuscrit lui-même. Ses sources sont -ouvertes et disponibles[^manuscrit] (sous licence GNU GPL v3). Le dépôt permet -de recompiler une version PDF du texte que vous êtes en train de lire mais -surtout, il contient les données utilisées pour tracer la plupart des tableaux -et figures (celles utilisant un thème de couleur mauve ou une palette -arc-en-ciel pour les domaines de connaissance). Il est ainsi possible de -vérifier les résultats annoncés et d'étudier les codes utilisés pour les -générer. +\label{repos_links}Si des «instantanés» de *LGE* à plusieurs étapes clefs des +traitements sont distribués via Nakala pour faciliter la prise en main des +données, toutes peuvent être regénérées localement (et donc vérifiées) en +appliquant les mêmes traitements sur les pages [@=OCR]isées au format XML-ALTO, +seules réelles entrées de toute la partie du corpus qui concerne cette œuvre. Le +logiciel `soprano`[^soprano] utilisé pour extraire les articles et les encoder +en format texte ou en XML est distribué sous licence libre (BSD 3) et empaqueté +pour le gestionnaire de paquets reproductible Guix[^guix]. Un autre +dépôt[^outillage] contient tous les outils utilisés pour les différentes +analyses et la production des formats enrichissant les données (classification, +annotation syntaxique, etc.). Le développement de ces outils a aussi donné lieu +à plusieurs librairies qui sont bien sûr elles aussi distribuées sous licence +libre (GNU GPL v3 pour `ghc-geode`[^ghc-geode] et `geopyck`[^geopyck]). Les +outils spécifiques à l'*EDdA*, développés antérieurement au projet GEODE sont +pour rappel (voir la section \ref{sec:corpus_preprocessing_edda}) aussi +disponibles[^edda-clinic]. L'ensemble de ces logiciels est empaqueté pour Guix +et ces paquets sont distribués dans un canal Guix spécifique au +projet[^geode-packages] afin de les regrouper et de faciliter leur installation. +Enfin, les mêmes efforts de reproductibilité ont été appliqués à ce manuscrit +lui-même. Ses sources sont ouvertes et disponibles[^manuscrit] (sous licence GNU +GPL v3). Le dépôt permet de recompiler une version PDF du texte que vous êtes en +train de lire mais surtout, il contient les données utilisées pour tracer la +plupart des tableaux et figures (celles utilisant un thème de couleur mauve ou +une palette arc-en-ciel pour les domaines de connaissance). Il est ainsi +possible de vérifier les résultats annoncés et d'étudier les codes utilisés pour +les générer. [^guix]: [https://guix.gnu.org/](https://guix.gnu.org/)