Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Édition numérique des Métamorphoses d’Ovide : le rôle des divinités

Introduction

Dans le cadre de mon mémoire, je travaille sur les quinze livres des Métamorphoses d’Ovide, en tentant de dérouler le fil rouge des divinités et de leur rôle dans les épisodes de métamorphoses. Ce travail fait suite à mon mémoire de première année de master, intitulé « Exploration numérique de la structure des métamorphoses dans les Métamorphoses d’Ovide », dans lequel j’avais effectué un première exploration numérique sur l’ensemble des quinze livres des Métamorphoses afin d’y détecter des structures internes entre les épisodes et en leur sein. J’ai repris ce corpus pour ma deuxième année en m’intéressant cette fois-ci aux divinités, personnages récurrents et majeurs des épisodes de métamorphoses.

Pour mon projet personnel, mais aussi afin de créer un support concret de mes travaux, témoin de mes balayages successifs du texte et support pour des lectures indexées, j’ai souhaité réaliser une édition numérique du corpus qui permet de cibler les mentions des divinités dans les Métamorphoses, et ainsi avoir une vue plus globale de leur présence et actions dans les récits. 

⚙️ Outils

Les deux outils numériques que j’ai exploité pour la réalisation de l’édition ont été Visual Studio Code et Edition Visualization Technology 3 (EVT 3). Les éditions papiers de mon corpus initial, à savoir les trois tomes des Métamorphoses d’Ovide publiés aux éditions Les Belles Lettres, avec un texte établi par Georges Lafaye entre 1965 et 1966,  m’accompagnent dans la vérification des informations que j’encode. Mon édition numérique ne part pas de zéro, et prend pour point de départ l’admirable travail de Nadine Rakosky, étudiante de ce master il y a quelques années, qui a réalisé un travail sur le genre d’Iphis dans le livre IX des Métamorphoses. Résulte de son travail un fichier en XML-TEI, construit à partir du texte disponible dans le dépôt GitHub de la Perseus Digital Library, encodé avec des balises séparant les épisodes et indiquant les vers associés aux différents narrateurs, avec des éléments d’analyses nécessaires à son projet.

Visual Studio Code

J’ai repris ce fichier dans Visual Studio Code, éditeur de code développé par Microsoft que j’utilise depuis le début de l’année, dans sa version 1.81.1. L’éditeur m’a permis de dupliquer le fichier de Nadine Rakofsky et de l’éditer selon mes propres besoins, en XML-TEI.

Edition Visualization Technology 3

EVT est une application web open source, développée pour l’édition numérique de textes encodés en XML-TEI. Elle permet de visualiser de manière ergonomique et personnalisable des documents structurés selon les standards des humanités numériques, tout en facilitant la navigation, l’annotation et la mise en relation des entités textuelles. Mon objectif était de proposer une édition à explorer à travers le fil rouge des divinités. Sur les conseils de monsieur Berra, j’ai également rendu l’édition navigable par épisode, en utilisant le découpage effectué par Nadine sous l’encodage de unit=”tale”.

👩🏾‍💻 Méthode d’encodage

Je cherche à observer les mentions de divinités et leur rôle dans des épisodes de métamorphoses. Je dois donc pouvoir identifier, à n’importe quel endroit du texte, la divinité dont il est question, dans quel genre de passage elle se situe et, dans le cas d’un passage de métamorphoses, quel rôle y joue la divinité.

Je décide donc d’encoder toute nomination directe de divinité, c’est-à-dire leurs noms, ceux de leurs avatars et les périphrases les désignants. Je ne prends pas en compte les pronoms de rappel et les pronoms personnels, en raison des contraintes temporelles et considérant que ces mentions pronominales sont généralement présentes dans des passages contenant au moins une mention directe à la divinité concernée.

Dans le balisage TEI je récupère la balise <persName> qui contient généralement « un nom propre ou un groupe de noms propres faisant référence à une personne, incluant éventuellement un ou plusieurs prénoms, noms de famille, titres honorifiques, noms ajoutés, etc. de la personne » (description tirée des lignes directrices de la TEI). J’ai voulu créer une balise explicitement dédiée aux divinités, mais la balise <persName>, avec les bons attributs, permettait très efficacement  d’encoder les divinités et présentait l’avantage d’être déjà intégrée dans la TEI.

Je lui ajoute donc les attributs ref, role et ana, qui reprennent les trois caractéristiques mentionnées plus haut que je cherche à identifier dans mon texte.

L’attribut ref me permet de passer un premier filtre sur toutes les mentions d’une divinité, désignée par les trois premières lettres de leur nom latin.

L’attribut role me permet de distinguer les types de passage, que j’ai catégorisé selon leur nature d’évènement impliquant une métamorphose ou non : ainsi, les deux valeurs de cet attribut sont “metamorphosis” ou “narrative”. Je m’appuie pour cela sur la classification réalisée l’année dernière à partir du travail de Gilles Tonchet dans sa thèse La métamorphose à l’œuvre: recherches sur la poétique d’Ovide dans Les Métamorphoses (1997). 

Enfin, l’attribut ana indique quel rôle joue la divinité dans la métamorphose qui se joue au sein de l’épisode dans lequel elle est mentionné, que cela soit directement dans des vers décrivant une métamorphose ou non. L’attribut accueille quatre valeurs :

  • « obj » pour désigner un objet de métamorphose,
  • « act » pour désigner un acteur de métamorphose,
  • « auto » pour désigner un objet de sa propre métamorphose,
  • « NA » pour indiquer que la divinité n’est pas impliqué de quelque façon dans la métamorphose dans l’occurrence relevée.

Ainsi pour une nomination de Minerve, un exemple de ligne de code ressemble à ça : 

📖 L’édition numérique

L’édition numérique poursuit son cours sur l’interface proposée par EVT 3. 

L’encodage est pour le moment réalisé uniquement pour Minerve et Apollon. Un encodage est en cours pour Jupiter. Le format de l’édition permet de rajouter les autres divinités au fur et à mesure de leur encodage dans le fichier XML.

Indices homériques, vérité et mensonge chez Lucien de Samosate

Introduction

Lucien de Samosate est un écrivain de la Seconde Sophistique, un courant culturel et littéraire qui s’est épanoui au deuxième siècle de notre ère. Les figures de ce mouvement, qui s’en revendiquent plus ou moins explicitement, ont pour point commun une culture littéraire approfondie et une maîtrise avancée de l’art rhétorique, fruits d’une éducation longue et exigeante. Ces hommes “formés et éduqués” (πεπαιδευμένοι) connaissent souvent par cœur l’Iliade, l’Odyssée et les grands classiques, et sont rompus aux exercices rhétoriques qui leur ont appris à faire parler dieux et héros, à présenter le pour et le contre de chaque cause, à réécrire des épisodes de mythes et de légendes. Par jeu autant que par habitude ou encore par volonté de montrer leur érudition, ces nouveaux sophistes émaillent leurs écrits de références à Homère.

Mon mémoire porte notamment sur la présence de l’univers homérique dans l’oeuvre de Lucien, entre allusions, citations, et jeu avec les notions de mythes, de vérité et de mensonge.

De nombreuses études ont recensé les vers homériques dans les écrits de Lucien. La plupart des éditions soulignent, au moyen de notes et de renvois, des termes manifestement homériques, utilisés exprès par Lucien, comme clins d’oeil, allusions, ou plus largement dans une démarche d’imitation (μίμησις) de l’oeuvre homérique. Toutefois, il n’y a pas, à ma connaissance, d’éditions numériques de tels recensements. La recherche exhaustive des termes liés aux notions de vérité, de mensonge, de réalité et de mythes, ou encore de vraisemblance, ne semble pas non plus disponible sur des plateformes publiques.

Le logiciel R semble tout indiqué pour une telle analyse textuelle, difficile à effectuer manuellement du fait de l’ampleur des œuvres de Lucien. Repérer des “indices homériques” prédéfinis, quantifier et présenter les résultats de manière organisée permettrait à la fois d’orienter mes recherches sur le mémoire et d’étayer des constats déjà établis à l’issue de mes lectures préparatoires.

Pour mener à bien ce travail, il est tout d’abord nécessaire d’identifier et préparer le corpus et les outils de recherche. Au terme de cette préparation, une triple détection sera effectuée: 1. vers ou hémistiches homériques, 2. autres “indices homériques” (éléments de phonétique, de morphologie, de syntaxe et de vocabulaire propre à Homère), 3. champ lexical de la réalité/vérité, du mensonge et du mythe.

1. Travail préparatoire

Il serait possible d’effectuer l’analyse sur l’intégralité du corpus de Lucien, qui comporte environ soixante-dix œuvres (selon les éditions, et notamment selon l’exclusion d’oeuvres jugées apocryphes). Une sélection semble utile au regard du thème du mémoire, qui se focalise davantage sur les rapports de confiance et de méfiance vis-à-vis de l’oeuvre homérique, via les notions de mensonge, de vérité, de réalité, de mythes, etc. On se concentre donc sur quelques dialogues comico-philosophiques, des récits et quelques pièces diatribiques où ces thèmes semblent davantage abordés. Une telle sélection est bien sûr arbitraire et on pourrait étendre l’analyse à tous les textes attribués à Lucien, disponibles en ligne.

La sélection porte sur les pièces suivantes: Alexandre ou le faux ProphèteLa Double accusation ou les JugementsCharon ou les ContemplateursSur les sacrificesDialogues des dieuxDialogues des mortsDiscussion avec HésiodeHistoires vraiesIcaroménippe ou le Voyage aérienJupiter confonduJupiter tragiqueMénippe ou la NécyomancieNigrinus ou le Portrait d’un philosophePhilopseudès ou l’IncréduleComment il faut écrire l’histoire.

Ces discours sont disponibles en ligne sur le site Perseus/Scaife notamment, en format txt ou xml. Il est plus facile de télécharger les textes bruts, mais la numérotation est perdue; or celle-ci s’avérera nécessaire pour le traitement des résultats de recherche. Il semble donc indispensable d’utiliser les fichiers en format xml qui, eux, ont une architecture détaillée (par sections, sous-sections, paragraphes, lignes, etc.).

La première étape consiste à télécharger les fichiers xml, à les enregistrer sur son dossier de travail et à préparer leur utilisation sur R (extraction et traitement des racines). La deuxième étape consiste à parcourir chaque fichier xml pour copier son contenu, afficher le titre en majuscule, extraire le contenu de chaque paragraphe, l’épurer des caractères latins (commentaires d’éditeur dans les fichiers xml), les doubles espaces résiduels, les doubles sauts de lignes, les signes de ponctuation, pour éviter de perturber les opérations ultérieures de recherche. Par “paragraphes”, on entend en réalité “sections de référence” des oeuvres de Lucien: il existe une numérotation conventionnelle, chaque section pouvant comprendre plusieurs “paragraphes” au sens où nous l’entendons de sections de texte délimitées par des retours à la ligne. Ces sections sont repérables aux balises “< div >< / div >” dans les fichiers xml.

2. Recherche des citations homériques (hémistiches)

2.1. Création de la liste des hémistiches de l’Iliade et de l’Odyssée

Il est tout d’abord nécessaire de télécharger les 24 chants de l’Iliade, puis ceux de l’Odyssée, en format xml sur le site de Perseus/Scaife. En raison de l’ampleur de ces fichiers, il faut procéder par groupes de chants (le site ne pouvant supporter des requêtes trop importantes). Ces fichiers sont ensuite fusionnés en un seul fichier xml. La même chose est faite pour l’Odyssée.

Après nettoyage des textes de l’Iliade et de l’Odyssée, il faut maintenant générer la liste des hémistiches. Il aurait été possible de créer la liste des vers entiers, mais il semble plus intéressant d’avoir à disposition la liste des hémistiches, pour deux raisons: la première est que toute recherche d’hémistiches aboutira a minima aux mêmes résultats que la recherche de vers homériques; la deuxième raison tient au fait que les hémistiches homériques présentent souvent une unité sémantique qui justifie leur citation indépendamment de leurs correspondants.

Cette étape est la plus délicate. Il est en effet très difficile d’établir des règles automatiques pour la détection des hémistiches homériques, puisque leur détermination repose sur la prosodie grecque, indétectable en tant que telle dans le texte brut. Il est possible de découper chaque vers en deux, en arrondissant au nombre supérieur de mots, afin d’éviter un découpage au milieu des mots. Il faut néanmoins avoir conscience du caractère approximatif de cette démarche, qui fonctionnera uniquement lorsque la césure homérique véritable correspond au découpage ainsi paramétré. La même chose est faite pour l’Odyssée.

Une méthode plus précise (mais toujours imparfaite) consiste à retranscrire dans un script R les règles paramétrables de la métrique grecque afin de constituer un compteur qui attribue un temps à chaque caractère et permet de scinder chaque vers. La logique est la suivante: concernant le premier caractère, soit il s’agit d’un espace, d’une apostrophe ou d’une consonne, et le compteur métrique n’est pas incrémenté, soit il s’agit, avec le caractère suivant, d’une diphtongue, en quel cas le compteur est incrémenté de 2 et le rang de 2 également (pour passer au caractère après la diphtongue et éviter ainsi de passer de nouveau en revue la deuxième lettre), soit il s’agit d’une voyelle qui est nécessairement longue (compteur +2, rang +1). Pour les caractères suivants, la boucle est un peu plus complexe, puisque les diphtongues peuvent être longues ou courtes (si certaines sont situées en fin de mot) et que les voyelles brèves peuvent être longues si elles sont suivies d’une double consonne ou de deux consonnes.
A chaque fois qu’un caractère est traité, le rang a été incrémenté d’un ou de deux unités, et on passe ainsi à l’examen du caractère suivant ou de celui d’après. Le résultat est une matrice contenant le caractère, son rang et le compteur métrique associé. 

La quantité des voyelles n’obéit pas entièrement à des règles (absolues ou liées à la métrique): il est parfois nécessaire de consulter un dictionnaire. Typiquement, un “α” final peut être long ou court: long dans “μῆνιν ἄειδε θε Πηληϊάδεω Ἀχιλῆος”, court dans “αἰδεῖσθαί θʼ ἱερῆα καὶ ἀγλαὰ δέχθαι ἄποινα”. De plus, comme les vers se divisent rarement en deux groupes égaux de mots correspondant à la fois à deux groupements métriques équilibrés et à deux unités de sens, il est nécessaire d’effectuer un choix: soit le mot contenant la lettre à laquelle le compteur est arrivé à sa moitié doit être rattaché au premier hémistiche, soit il doit l’être au second. Aucune de ces deux règles ne convenant à tous les vers, il semble préférable de conserver les deux options et de créer deux paires d’hémistiches possibles. Il devient alors extrêmement probable qu’une des deux paires correspondent au bon découpage. 

2.2. Détection des hémistiches

Afin de détecter les hémistiches homériques dans les oeuvres sélectionnées de Lucien et d’organiser les résultats de manière organisée, il faut que le script parcoure, pour chaque hémistiche (première boucle), chacune des oeuvres sélectionnées (deuxième boucle), et, en cas de correspondance, mémorise le titre de l’oeuvre et l’hémistiche concerné, pour enfin restituer les résultats sous forme d’un tableau.

Cette opération représente un nombre très élevé de calculs (au moins cinquante cinq mille hémistiches recherchés dans les chaînes de caractère d’une quinzaine d’oeuvres de plusieurs milliers de caractères chacune).

2.3. Conclusion

Une centaine d’hémistiches de l’Iliade et de l’Odyssée est détectée dans le corpus de recherche. Une analyse de ces résultats permettra de distinguer les “véritables” emprunts homériques de possibles coïncidences: par exemple, “δὲ καὶ ἄλλα” n’est sans doute ni un véritable hémistiche homérique (trop court) ni une particularité homérique (la combinaison de ces trois est très courante); à l’inverse “τε καὶ ἀνέρες ἱπποκορυσταὶ” est très probablement une citation homérique. Il sera également intéressant de vérifier si ces citations sont relevées par les éditions de référence, ou si certains hémistiches détectés par le script ne sont pas signalés.

extrait des résultats obtenus dans les écrits Alexandre, La Double Accusation et Les Observateurs.

3. Détection des “indices homériques”

3.1. Définition des “indices homériques”

La langue homérique présente de nombreuses particularités, tant phonétiques que morphologiques, syntaxiques, sémantiques et stylistiques. Ces particularités sont dues à l’ancienneté de ces chants, ainsi qu’à la diversité des dialectes dont est issu le texte homérique canonique. La langue ayant évolué depuis les temps archaïques jusqu’à la période de la Seconde Sophistique, la présence de ces particularités ou “indices” homériques dans les oeuvres de Lucien ne peut normalement résulter d’une coïncidence, mais bien illustrer une allusion homérique de l’écrivain.

Nous distinguons deux catégories d’indices.

La première regroupe des particularités phonétiques, morphologiques, syntaxiques et sémantiques énumérées sur le site Hypothèses et qui peuvent faire l’objet d’un codage univoque. Par exemple, la recherche “\b\wῃσι\b” est bien univoque, dans le sens où elle cherche tous les mots s’achevant par les caractères ”ῃσι”, une désinence de datif archaïque que l’on retrouve dans l’Iliade et l’Odyssée mais pas en prose attique classique.
A l’inverse, la recherche”\b\w*θι\b” est équivoque, puisque si elle vise à repérer les adverbes archaïques en “θι”, elle aboutira également à la détection de toutes les formes d’impératifs en “θι” qui relèvent de l’attique classique.

La deuxième catégorie regroupe un certain nombre d’épithètes dites “traditionnelles” ou “homériques”, qui servent à caractériser certains dieux ou héros (source: Wikipedia par exemple).

3.2. Détection et restitution

Les deux recherches sont effectuées de manière séquentielle. Pour chacune, le script parcourt chaque terme. Pour chacun d’eux, il balaie toutes les lignes du tableau de données créé précédemment à partir des fichiers txt, et, à chaque fois qu’un terme est détecté dans une ligne, le script extrait le mot correspondant. La liste des paragraphes ainsi que le nombre total de correspondances est ensuite mis à jour, avant de poursuivre la recherche.

matching_paragraphs <- list()
total_matches <- 0

# boucle correspondant à la 1ere recherche
for (term in search_terms_homerismes) {
  for (i in 1:nrow(combined_df)) {
    paragraph <- combined_df$paragraph[i]
    if (grepl(term, paragraph)) {
      words_found <- grep(term, unlist(strsplit(paragraph, "\\s+")), value = TRUE)
      for (word in words_found) {
        matching_paragraphs[[length(matching_paragraphs) + 1]] <- data.frame(
          source = combined_df$source[i],
          paragraph = paragraph,
          search_type = "homerismes",
          word_found = word,
          stringsAsFactors = FALSE
        )
      }
      total_matches <- total_matches + length(words_found)
    }
  }
}

# boucle correspondant à la 2e recherche
for (term in search_terms_epithetes) {
  for (i in 1:nrow(combined_df)) {
    paragraph <- combined_df$paragraph[i]
    if (grepl(term, paragraph)) {
      words_found <- grep(term, unlist(strsplit(paragraph, "\\s+")), value = TRUE)
      for (word in words_found) {
        matching_paragraphs[[length(matching_paragraphs) + 1]] <- data.frame(
          source = combined_df$source[i],
          paragraph = paragraph,
          search_type = "epithetes",
          word_found = word,
          stringsAsFactors = FALSE
        )
      }
      total_matches <- total_matches + length(words_found)
    }
  }
}

df <- do.call(rbind, matching_paragraphs)

output_file <- "XXX/resultats/indices_homeriques_lucien.xlsx"
write.xlsx(df, output_file)
print(df[, c("source", "word_found", "search_type")])
##                     source   word_found search_type
## 1            alexander.txt       ἔσσεαι  homerismes
## 2            alexander.txt       Δίζεαι  homerismes
## 3             nigrinus.txt       γένηαι  homerismes
## 4            alexander.txt      πελάζεο  homerismes
## 5            alexander.txt           φι  homerismes
## 6      historiae_verae.txt    μακάρεσσι  homerismes
## 7     quomodo_historia.txt      Πέρσῃσι  homerismes
## 8            alexander.txt   τεκμαίροιο  homerismes
## 9            alexander.txt      Πόντοιο  homerismes
## 10           alexander.txt      βιότοιο  homerismes
## 11           alexander.txt      νούσοιο  homerismes
## 12           alexander.txt   Ἀμφιλόχοιο  homerismes
## 13           alexander.txt      Ἴστροιο  homerismes
## 14       contemplantes.txt     ἠϋκόμοιο  homerismes
## 15   dialogi_mortuorum.txt       γένοιο  homerismes
## 16       icaromenippus.txt    αἰγιόχοιο  homerismes
## 17  iuppiter_tragoedus.txt     καθέζοιο  homerismes
## 18            nigrinus.txt      ἠελίοιο  homerismes
## 19           alexander.txt          μιν  homerismes
## 20    quomodo_historia.txt          μιν  homerismes
## 21     historiae_verae.txt      εἴδομεν  homerismes
## 22     historiae_verae.txt      εἴδομεν  homerismes
## 23     historiae_verae.txt      εἴδομεν  homerismes
## 24     historiae_verae.txt      εἴδομεν  homerismes
## 25     historiae_verae.txt      εἴδομεν  homerismes
## 26  iuppiter_tragoedus.txt      εἴδομεν  homerismes
## 27           alexander.txt     Τιέμεναι  homerismes
## 28           alexander.txt    πλωέμεναι  homerismes
## 29     historiae_verae.txt   προϊέμεναι  homerismes
## 30 iuppiter_confutatus.txt          κεν  homerismes
## 31  iuppiter_tragoedus.txt          κεν  homerismes
## 32    quomodo_historia.txt          κεν  homerismes
## 33           alexander.txt         δῶμα  homerismes
## 34  iuppiter_tragoedus.txt        μῆτις  homerismes
## 35      dialogi_deorum.txt          ἰδέ  homerismes
## 36           alexander.txt    ἀλεξίκακε   epithetes
## 37    quomodo_historia.txt   ἀλεξίκακος   epithetes
## 38      de_sacrificiis.txt  κυανοχαίτην   epithetes
## 39           alexander.txt       Φοῖβος   epithetes
## 40      de_sacrificiis.txt    γλαυκῶπιν   epithetes
## 41      dialogi_deorum.txt    γλαυκῶπις   epithetes
## 42  iuppiter_tragoedus.txt    γλαυκῶπις   epithetes
## 43  iuppiter_tragoedus.txt  τριτογένεια   epithetes
## 44      dialogi_deorum.txt ῥοδοδάκτυλος   epithetes
## 45   dialogi_mortuorum.txt  καλλίσφυρον   epithetes

Il est intéressant de connaître la fréquence d’apparition des “homérismes” dans les œuvres de Lucien, leurs types, et ceux qui en sont absents. Pour cela, on crée un tableau avec deux colonnes: la première recense les différents termes recherchés, et l’autre recense le nombre de correspondances trouvées. Ces dernières sont déterminées au moyen d’une fonction “term” appliquée à chaque terme de recherche et qui renvoie des valeurs boléennes (1 pour chaque correspondance), qui sont ensuite sommées.

# calcul du nombre de correspondances pour chaque terme de recherche
results <- data.frame(
  search_term = c(search_terms_homerismes, search_terms_epithetes),
  matches = sapply(c(search_terms_homerismes, search_terms_epithetes), function(term) {
    sum(grepl(term, combined_df$paragraph))
  }),
  stringsAsFactors = FALSE
)

output_file_results <- "XXX/resultats/resultat_recherches_indices_homeriques_lucien.xlsx"
write.xlsx(results, output_file_results)

4. Détection du champ lexical de la vérité, du mensonge et du mythe

L’attitude des intellectuels (rhéteurs, philosophes, historiens notamment) vis-à-vis de l’oeuvre homérique et plus précisément des récits merveilleux ou “mythes” qu’elle contient, est complexe: beaucoup critiquent les “mensonges” d’Homère et n’y ajoutent pas foi, tout en professant non seulement un attachement profond au poète et à son oeuvre (qu’ils ont tous longuement étudiés pendant leur cursus scolaire), mais aussi la reconnaissance d’une “imitation” (μίμησις) réussie de la réalité, ainsi que la croyance dans le caractère historique des cadres de l’épopée (guerre de Troie, vie des héros).

L’analyse de ces rapports complexes est rendue plus difficile encore par les différences de vocabulaire entre le français et le grec ancien: il n’y a pas d’équivalent en grec ancien des mots, pourtant fondamentaux, de “vérité” et de “mensonge”, puisque ἀλήθεια et ψεῦδος signifient à la fois respectivement “réalité” et “vérité”, “mensonge” et “inadéquation avec la réalité”.

Lucien est un érudit: il connaît les reproches adressés à Homère et plus largement aux poètes, leur fondement intellectuel et philosophique (on pense notamment à la République de Platon), mais aussi la critique littéraire, de la Poétique d’Aristote aux études alexandrines. Dans ses oeuvres, il joue avec les notions employées par ces critiques, et l’on retrouve de nombreuses occurrences de termes liées à la réalité, au mensonge, à la tromperie, à la croyance, à la crédibilité ou la crédulité, et bien sûr aux mythes et à Homère lui-même.

4.1. Constitution de la liste des termes recherchés

Nous cherchons les champs lexicaux de la réalité/vérité (ἀλήθειαἔτυμος), du mensonge/inadéquation à la réalité (ψεῦδος), de la “forgerie” (πλάσμα), de la crédibilité (πιθανός) et de son contraire (παράδοξος), des apparitions (φαντασίατέρασμα), de la confiance (πίστις), du mythe (μῦθος, mais aussi ὡς φασι et ὡς φησι qui introduisent usuellement l’énoncé de récits mythologiques), ainsi que les mentions du poète Homère lui-même.

En raison des déclinaisons et de l’accentuation grecques, il est nécessaire de définir des chaînes de caractère sufisamment longues pour ne capturer que les notions désirées (ou du moins, minimiser les résultats non voulus), mais suffisamment courtes pour englober le maximum de formes fléchies.

Voici la liste de chaînes de caractères recherchées:

search_terms <- c(  "ἀλήθ", "ἀληθ", "ψεῦ", "ψευ", "ψεύ", "μῦθ", "μύθ", "μυθ", "ἔτυμ", "ἐτύμ", "ἐτυμ",  "πίθα", "πιθά", "πιθα", "πλάσμ", "πλασμ", "πλασά", "πλάττ", "πλαττ", "Ὅμηρ", "Ὁμήρ",  "Ὁμηρ", "τέρατ", "τεράτ", "τερατ",  "τέρασμ", "τεράσμ", "τερασμ", "τέραστ", "τεράστ",  "τεραστ", "ὡς φασι", "ὡς φησι",  "φάντασμ", "φαντάσμ", "φαντασμ", "πίστ", "πιστ",  "παράδοξ", "παραδόξ", "παραδοξ")

4.2. Détection et restitution

La première étape consiste simplement à appeler les fichiers à traiter, à définir les termes de la recherche et à initialiser le compteur.

Vient ensuite la recherche elle-même. Une boucle passe en revue chacun des textes du corpus. Une deuxième boucle interne passe en revue chacun des termes de la recherche, et la fonction grep détecte ces chaînes de caractères dans le texte, et renvoie la ligne correspondante. Une troisième boucle interne s’applique à chaque correspondance trouvée, détecte le mot contenant la chaîne de caractères en question (paste0("\\b\\w*", term, "\\w*\\b")). Une quatrième boucle crée, pour chaque mot détecté, une nouvelle entrée dans la liste “matching_paragraphs” avec le nom du fichier où le mot a été trouvé (“source”), la chaîne de caractères recherchée (“term”), le mot trouvé (“word”) et le texte du paragraphe où se situe de mot (“paragraph”).

A noter: malgré l’encodage UTF-8, une vérification manuelle montre qu’en de rares occasions, des termes ne sont pas trouvés. C’est notamment le cas, semble-t-il, de mots commençant par “ἀ”. Une recherche séparée est faite pour ces mots, avec des résultats mitigés (quelques mots détectés, mais “ἀπίθανον” de La double accusation n’est pas relevé).

La troisième étape consiste à restituer les résultats sous forme de deux fichiers Excel, afin de poursuivre mes recherches pour le mémoire. Le premier fichier Excel (“verites&mensonges_lucien.xlsx”) restitue les quatre informations décrites plus haut: fichier, chaîne recherchée, mot, paragraphe. Le deuxième (“resultats_recherches_verite&mensonge_lucien”) restitue le nombre de mots trouvés par chaîne de caractères recherchée.

4.3. Analyse de texte et visualisation

Le texte des paragraphes où se situent les mots trouvés en lien avec les notions de réalité, de vérité, de mensonge, de fiction, de croyance et de mythes a été sauvegardé au terme de ces recherches. Il peut être intéressant de détecter les mots les plus fréquents dans cette compilation de textes, afin de dégager, éventuellement, des nouveaux champs sémantiques.

Le première étape est de combiner les textes des mots et des paragraphes trouvés en un vecteur unique, de nettoyer le texte d’éventuelles scories (ex: caractères latins) et des signes de ponctuation, et d’éliminer les “stop words”, ces mots très fréquents sans valeur sémantique forte. Pour la détermination de cette liste de “stop words”, on repart de celle utilisée au premier semestre et on la complète de termes présents dans le corpus de Lucien. Cette liste est enregistrée dans le dossier “outils”. On crée ensuite un tableau, avant de classer les mots par fréquence décroissante. On garde en mémoire les cent mots les plus fréquents et on affiche les vingt mots les plus fréquents.

df_excel <- read_excel("XXX/resultats/verite&mensonges_lucien.xlsx")

paragraphs <- df_excel$paragraph
words <- df_excel$word
combined_text <- c(paragraphs, words)

stopwords_file <- "XXX/outils/stopwords_greek.txt"
stopwords <- readLines(stopwords_file, warn = FALSE)
combined_text <- gsub("[[:punct:]]", " ", combined_text)
combined_text <- gsub("[a-zA-Z]", " ", combined_text)
words <- unlist(strsplit(combined_text, "\\s+"))
words <- words[!tolower(words) %in% stopwords]

# création d'une liste de mots, conversion en tableau de fréquence et tri
word_freq <- table(words)
word_freq_df <- as.data.frame(word_freq)
word_freq_df <- word_freq_df[order(-word_freq_df$Freq), ]

# affichage
top_100_words <- head(word_freq_df, 100)
top_20_words <- head(word_freq_df, 20)
print(top_20_words)
##         words Freq
## 5649 Μένιππος   86
## 8486 Τυχιάδης   83
## 392     ἀληθῆ   81
## 3576    Ἑρμῆς   80
## 3927     Ζεύς   64
## 6259     ὅλως   63
## 399    ἀληθῶς   62
## 9164   ψεῦδος   59
## 6265   Ὅμηρος   58
## 9005    Χάρων   53
## 6365     ὁρᾷς   46
## 377  ἀληθείας   45
## 6264   Ὅμηρον   45
## 6175    οἶμαι   43
## 9058      χρὴ   43
## 6236   ὀλίγον   42
## 8485  Τυχιάδη   42
## 2303    δοκεῖ   39
## 8834 Φιλοκλῆς   39
## 2577    εἶδον   37

Vient ensuite l’étape de la visualisation. On choisit le graphique “cirrus” qui a l’avantage de présenter de manière esthétique les mots les plus fréquents en modulant leur taille.

set.seed(1234) 
wordcloud(words = top_100_words$words, freq = top_100_words$Freq, min.freq = 2, scale = c(3.5, 0.15),
          colors = colorRampPalette(brewer.pal(9, "Set1"))(100), random.order = FALSE, rot.per = 0.1, 
          use.r.layout = TRUE, fixed.asp = TRUE, max.words = 100)

Logiquement, ce graphique fait apparaître des mots correspondant aux chaînes de caractères recherchées. Cela est intéressant dans la mesure où l’on aperçoit la fréquence relative de ces termes, mais par définition, leur proportion est sur-représentée par rapport aux autres termes contenus dans les paragraphes, puisque ceux-ci n’ont pas fait l’objet d’une recherche explicite. Il semble donc nécessaire de renouveler l’opération, cette fois-ci en supprimant les mots de la colonne “word” du fichier Excel.

set.seed(1234) 
wordcloud(words = top_100_words$words, freq = top_100_words$Freq, min.freq = 2, scale = c(3.5, 0.15),
          colors = colorRampPalette(brewer.pal(9, "Set1"))(100), random.order = FALSE, rot.per = 0.1, 
          use.r.layout = TRUE, fixed.asp = TRUE, max.words = 100)

On remarque la présence de nouveaux mots liés à la vraisemblance, comme εἰκότως, à la vue et/ou au savoir (ὁρᾷςεἰδέναιοἶδʼοἶσθα), à l’opinion (οἴονταιδοκεῖ), aux hommes et aux dieux, à la parole (λόγων), également au plaisir (τερπνὸν). Une lecture plus approfondie de ces extraits et du corpus permettra de préciser s’il s’agit de coïncidences ou si ces constats peuvent mener à de nouvelles pistes de recherche.

Le De Inventoribus Rerum : une première OCR.

Le De Inventoribus Rerum, un ouvrage controversé pour un auteur hors-normes.

En 1499 paraît un ouvrage singulier : encyclopédique avant l’heure, couvrant mille sujets allant de l’origine des dieux ou celle des lois à l’apparition de l’argent, l’architecture, et même la prostitution, il s’intitule De Inventoribus Rerum, et comporte trois tomes.

Plus que le sujet lui-même, c’est l’auteur qui rend cet ouvrage si remarquable : trésorier du pape, évêque de Bath, évêque et archidiacre de Wells, il est aussi commandité par le roi Henri VIII d’Angleterre pour rédiger une histoire complète de son pays. Plus tard, enfermé par ce même roi, il sera libéré à l’insistance de nombre de ses amis et protecteurs, dont Catherine de Médicis, et le pape Léon X. Entièrement oublié aujourd’hui, Polydore Virgile était une des plus éminentes figures politiques de son temps.

C’est d’ailleurs peut-être pour cela qu’un travail, d’apparence tout d’abord inoffensive, sur l’origine de toutes choses, a été si vite condamné par les milieux catholiques bien-pensants pour de multiples hérésies. Il faut dire que, né dans la deuxième moitié du Quattrocento, et formé à Bologne, Polydore Virgile avait de la pensée et des institutions catholiques une opinion pour le moins contradictoire. Ardent défenseur du Saint-Siège, il n’en demeurait pas moins d’accord avec le fondement de certains arguments des intellectuels protestants tels que Jacques Lefebvre d’Étaples ou Luther, et exprimait plus ou moins subtilement cet accord dans ses pages.

Or, en guise de réponse à ces accusations, Polydore Virgile publie en 1521 une nouvelle version de son ouvrage, augmenté de cinq nouveaux volumes, concernant l’apparition et la formation des institutions chrétiennes. Ses positions quant aux dogmes et aux règles catholiques y sont encore plus explicites ; en revanche, il ne renie pas le Saint-Siège pour autant, se rangeant par conséquent plutôt aux côtés des évangélistes de Marguerite de Navarre que dans les rangs des protestants de Luther.

Cependant, ces révisions font interdire l’ouvrage, et il demeure à l’Index Librorum Prohibitorum jusqu’en 1576, après sa mort, année durant laquelle paraît un De Inventoribus Rerum expurgé par le pape Grégoire XIII.

Malgré ces périples éditoriaux, l’ouvrage de Polydore Virgile eut à son époque un succès retentissant. Originalement écrit en latin, il fut traduit en français en 1521, en allemand en 1537, en anglais en 1546, et en espagnol en 1551. Le De Inventoribus Rerum a d’ailleurs continué à influencer la pensée des lettrés jusqu’à tard, et il est même mentionné dans Don Quichotte.

Un ouvrage oublié.

Or, aujourd’hui, cet ouvrage est ignoré par le monde de la recherche, et les cinq derniers volumes, qui étaient les plus controversés, n’ont plus été traduits depuis les dates mentionnées ci-dessus. Le De Inventoribus Rerum n’est plus étudié, plus traduit, plus publié, et il n’est même plus mentionné dans l’univers de la recherche, à tel point qu’il n’existe même pas dans la plupart des banques de données numériques sur notre héritage culturel de langue latine. L’objectif de ce bref travail a donc été de préparer le chemin pour la mise en place d’une édition numérique adéquatement transcrite du cinquième des huit livres de cet ouvrage, afin de simplifier tout futur travail académique le concernant.

Première tentative d’OCR.

Pour ce faire, il a fallu partir de scans propres des 35 pages du volume en question (libres de droits bien entendu, puisqu’il s’agissait d’une édition de 1528), et les placer dans un repository  GitHub (https://github.com/AlgernonNormanONyme/Numerisation_Polydore_Virgile) séparées en moitiés afin d’alléger le document. Il a ensuite été question d’en faire une OCR, ou Optical Character Recognition, une reconnaissance de caractères optiques réalisée par un programme destiné spécifiquement à ce genre de tâches. La difficulté de cette opération résidait notamment dans la nature du texte imprimé : les pages étaient jaunies par l’âge, certaines lettres étaient mal imprimées, ou partiellement effacées, et les conventions éditoriales de l’époque ont fait que de nombreux mots étaient abbréviés. Par exemple, un 9 en exposant à la fin d’un mot représentait la syllabe «-bus» ; un macron au-dessus d’une voyelle représentait un «n» ou un «m» situé à sa suite ; un «q» qui aurait l’air d’avoir un «B» majuscule attaché à sa barre tenait lieu du suffixe «-que» ; enfin, parmi d’autres singularités graphiques, il y avait aussi cet ancien «s» si semblable à un «f», «ſ». Tout autant d’éléments qui auraient pu rendre une OCR imprécise et fastidieuse. D’ailleurs, le premier programme qui y a été appliqué par le moyen de RStudio n’a su produire que des messages d’erreur concernant certains caractères qu’il était incapable de reconnaître.

 

 

 

La solution : Transkribus.

C’est le logiciel d’OCR mis en place par Transkribus qui a enfin servi pour ce travail. Ce site, spécialisé dans l’OCR, propose de nombreux modèles de reconnaissance selon la langue du document, l’époque ou la région où il a été écrit ou publié, et fonctionne à partir de reconnaissances précédentes. Le modèle particulier utilisé pour la reconnaissance du De Inventoribus Rerum s’appelle «Transkribus Print M1». Entraîné sur différents textes imprimés, il a fonctionné presque parfaitement. Malgré une moyenne d’une cinquantaine d’erreurs par page numérisée, ce nombre est négligeable par rapport aux erreurs potentielles : la capacité du programme à distinguer les «ſ» des «f» est étonnante, et il parvient à recomposer des lettres partiellement occultées par des taches, ou mal imprimées. Un autre avantage considérable de Transkribus est la division des espaces sur la page. En fait, le texte du De Inventoribus Rerum est doté d’un certain nombre de références en marge du texte principal, qui précisent la nature des citations bibliques faites par Polydore Virgile au cours de son exposé. Or le logiciel de Transkribus parvient à séparer automatiquement en deux «régions» le texte principal et les notes en marge. L’interface permet ensuite de corriger les erreurs directement sur Transkribus, puis de télécharger les versions TXT et Prima Page XML, une interprétation PDF de l’interface Transkribus, ainsi qu’une version du travail effectué codée entièrement selon les directives TEI, afin de pouvoir les exploiter par la suite. De cette façon, le système de Transkribus simplifie amplement le travail d’encodage. La version PDF notamment est tout à fait intéressante, puisqu’elle est presque identique au texte imprimé. Il y a une certaine déformation des notes en marge, mais elles sont bien placées face à la ligne de texte qui leur correspond, ce qui laisse présager que cette particularité est bien encodée dans le document XML TEI fourni par la plateforme.

 

Considérations finales.

La relative complexité d’une édition EVT a fait qu’elle ait malheureusement été laissée en dehors du spectre de ce travail, qui s’est contenté de paver le chemin pour une future édition numérique de cet ouvrage. Ainsi, on trouvera dans le repository suivant (https://github.com/AlgernonNormanONyme/Numerisation_Polydore_Virgile), tous les éléments mentionnés ci-dessus, prêts à l’usage.

Il est dommage qu’un texte d’une telle importance, écrit avec une telle verve, une telle érudition, et un esprit si étonnamment contemporain, ait été perdu dans les méandres de l’histoire. Mais la mémoire a trouvé dans le développement du monde numérique un précieux allié : si le texte original est retranscrit en un format aisément exploitable par un monde académique de plus en plus numérisé, et mis à la disposition de tous dans un espace facile d’accès, peut-être ce cinquième livre saura-t-il enfin attirer l’attention que mérite le De Inventoribus Rerum.

Analyse lexicale et thématique des hymnes du Peristephanon de Prudence

Le Peristephanon de Prudence, est un recueil d’hymnes en vers latins dédiés à la gloire des martyrs chrétiens. Il constitue un corpus poétique riche en images corporelles et en symboles liés à la matière. Ce projet vise à explorer les occurrences et cooccurrences lexicales relatives au corps et aux éléments, à partir d’une analyse automatique des textes encodés en XML selon le standard TEI. L’objectif est double : observer la présence récurrente de certains termes (comme le sang, la main, ou le feu), et en proposer une première interprétation.

L’intégralité des script R permettant ce travail ont été réunis sur le Rmarkdown hn4-rmarkdown.rmd disponible sur mon github public : https://github.com/JinaneRrguiti/HN4-etudes-et-analyses-sur-le-Peristephanon-Jinane-RRGUITI.

 

Constitution et traitement du corpus

Quatorze hymnes ont été récupérés depuis mon dépôt GitHub où les fichiers sont encodés en XML. Chaque fichier contient les strophes du poème balisées par des éléments tels que `<l>`, `<lg>`, `<head>`, etc. Une fonction d’extraction a permis de reconstituer, pour chaque hymne, le titre et le texte intégral.

Une phase de nettoyage du texte a ensuite été appliquée : mise en minuscules, suppression de la ponctuation et des chiffres, puis tokenisation, c’est-à-dire découpage en unités lexicales. L’output résultant de la tokenisation donne le tableau suivant qui permet de voir tous les tokens du corpus :

 

Des listes de mots vides (stopwords) latins ont permis d’éliminer les mots-outils les plus fréquents afin de conserver uniquement les termes significatifs pour l’analyse.

La lemmatisation et les annotations grammaticales

Afin de disposer d’une base linguistique fiable, les textes ont été lemmatisés à l’aide du modèle latin du logiciel UDPipe. Cette opération a permis d’associer à chaque mot sa forme canonique (lemme) ainsi que sa catégorie grammaticale (nom, verbe, etc.). Une première sélection a permis d’extraire tous les mots appartenant à un champ lexical ciblé : le corps humain (manus, caput, sanguis…) et les éléments naturels caractérisés par leur matérialité (igne, ferro, lapis…). 

Un tableau interactif listant tous les mots ainsi extraits a été généré, incluant le poème d’origine, la forme observée, le lemme, et la catégorie grammaticale. Cette table constitue la base des analyses suivantes :

Analyse quantitative : fréquences absolues

L’analyse des fréquences permet de mettre en évidence les lemmes les plus récurrents du corpus. Un diagramme en barres verticales a été généré, montrant les 10 lemmes les plus fréquents parmi les termes du corps et de la matière. On observe sur le corpus complet notamment une forte présence de mots comme christi, deus, manus, membra ou encore ore.

Ces fréquences absolues traduisent une insistance thématique sur le corps martyrisé, les éléments de torture, et la matière comme vecteur de transcendance.

J’ai analysé la fréquence par hymne dans un output graphique interactif.

Analyse contextuelle : KWIC et cooccurrences

Une analyse KWIC (Keyword in Context) a été menée pour dégager les contextes immédiats des mots clés. Pour chaque lemme, les deux mots précédents et suivants sont extraits et affichés dans un tableau. Cela permet d’identifier des motifs récurrents (« manus sancta », « igne flagrant »…) et de poser des hypothèses sur leur valeur symbolique.

Cette analyse est enrichie par un graphe de cooccurrences qui montre les liens lexicaux entre les mots-clés du corpus. Le réseau sémantique révèle des proximités entre sanguis et cruor, igne et lapis, ferro et corpus, suggérant des chaînes poétiques construites sur la souffrance et la matière sanctifiée.

Analyse thématique : modélisation LDA

Une analyse, fondée sur la Latent Dirichlet Allocation (LDA), a été appliquée au corpus lemmatisé. Elle permet d’identifier des thèmes latents sans supervision. Le modèle a détecté quatre topics dominants, chacun caractérisé par les 10 termes les plus significatifs.

On observe que certains topics gravitent autour de la figure divine (deus, dominus, gloria), d’autres autour du corps souffrant (cruor, ferro, manus), et d’autres encore autour de la matière et de l’espace (éléments, lieux, objets).

Cette segmentation thématique permet d’isoler des noyaux sémantiques cohérents et d’approcher une lecture structurée des hymnes sans passer par l’analyse littérale.

Analyse TF-IDF

Ce script applique une analyse TF-IDF (Term Frequency–Inverse Document Frequency) pour identifier les mots spécifiques à chaque hymne du corpus. Contrairement aux fréquences absolues, le score TF-IDF prend en compte l’occurrence d’un mot dans un poème par rapport à sa rareté dans l’ensemble du corpus. Plus un mot est fréquent dans un hymne et rare ailleurs, plus son score TF-IDF est élevé.

Le rapport généré liste les 5 mots les plus distinctifs par hymne, accompagnés de leurs scores et d’un court commentaire d’interprétation lexicale. Le poème sur le Baptistère, très différent des autres poèmes, se détache visiblement dans l’analyse TF-IDF.

J’ai procédé à une analyse TF-IDF en deux temps d’abord en tableau puis en barplot :

Conclusion

Ce travail montre l’intérêt des méthodes d’analyse textuelle appliquées à un corpus antique encodé en XML. L’association d’une lemmatisation morphologique précise (via UDPipe) même si ce n’est pas  le meilleur outil pour les textes en latin, de visualisations interactives (tableaux, diagrammes, réseaux) et de modélisation thématique (LDA) permet d’exhumer des récurrences lexicales et des structures symboliques que l’analyse littéraire pourra approfondir. Le champ sémantique du corps et de la matière, dans ce contexte martyrologique, se révèle comme un vecteur privilégié de la poétique de Prudence.

Etude comparative de deux œuvres portant sur l’empereur Claude

Introduction

La figure de l’empereur Claude a suscité de nombreux récits, tant dans l’Antiquité qu’à l’époque contemporaine. Ce projet se propose de comparer deux représentations textuelles majeures : celle de Suétone, historien latin du Ier siècle, et celle de Robert Graves, romancier britannique du XXe siècle, auteur de I, Claudius. À travers une analyse lexicale et lemmatisée des deux corpus, l’objectif était de comparer la différence de traitement d’un auteur antique et d’un auteur moderne sur un seul et même sujet, à savoir la figure de Claude. 

Outils utilisés

Cette étude comparative a mobilisé plusieurs outils numériques complémentaires, chacun jouant un rôle spécifique dans la constitution et le traitement des corpus. Parmi eux, RStudioDeucalion et VSCode ont constitué la base du travail méthodologique.

Rstudio

Rstudio, et le langage R plus spécifiquement, a été l’outil principal pour l’analyse des textes. Grâce à des bibliothèques spécialisées comme tidytext ou encore ggplot2, il a été possible de transformer les textes en corpus analysables, de nettoyer les données, de construire des tableaux de fréquence, et de générer des visualisations comme des graphes comparatifs. 

deucalion

Développé par l’École nationale des chartes, ce logiciel dispose d’un rôle crucial en ce qui concerne la lemmatisation des textes. Cela a donc permis  une comparaison lexicale plus pertinente et cohérente des textes par le recours aux lemmes. 

Visual studio code

Utilisé à la suite de Deucalion, VS code m’a notamment permis de gérer les données obtenus quant à la lemmatisation des textes et d’en faire un fichier TSV plus simple a utiliser ensuite.

Préparation des données textuelles

Suétone

Dans un premier temps, l’objectif a été de structurer le texte de La Vie de Claude de Suétone, à la fois dans sa version française et dans sa version originale en latin. Les deux textes sont lus ligne par ligne, puis nettoyés. Ce nettoyage inclut notamment la suppression des balises inutiles, l’élimination des espaces superflus et la fusion de toutes les lignes pour former un texte unique. Une expression régulière identifie les chiffres romains, qui correspondent aux différentes sections du texte dans l’édition choisie. Le texte est alors découpé en fonction de ces chiffres pour isoler chaque section.

Ensuite, à chaque section identifiée est associé un titre explicite, précédemment défini, stocké dans un vecteur nommé titles. Ce couplage a pour but de mieux contextualiser l’analyse ultérieure. Un tableau est ensuite créé, dans lequel chaque ligne contient le numéro de section, son titre, le texte en français et le texte en latin correspondant. La mise en parallèle des textes latin et français permet un rapport direct au texte original et à sa traduction en regard, facilitant le travail de recherche. 

Une fois le corpus structuré, une phase de nettoyage approfondie a dû être appliquée à chaque texte. En effet, mon but était d’obtenir les données les plus propres possibles pour faciliter mes analyses. Cette étape a ainsi veillé à supprimer la ponctuation superflue en début de texte, à enlever les parenthèses et leur contenu, ou encore à corriger certains caractères parasites dans le but d’obtenir un texte aussi propre et uniforme que possible pour éviter que des éléments de forme n’introduisent de biais dans l’analyse lexicale.

L’étape suivante est celle de la tokenisation, c’est-à-dire la découpe du texte en unités lexicales, ici en mots. Cette opération est réalisée indépendamment pour le texte français et pour le texte latin, sans prendre en compte les titres. Chaque mot devient une ligne dans une nouvelle table, ce qui permet ensuite de compter leur fréquence d’apparition dans le texte.

Les mots les plus fréquents sont comptés pour chaque langue. Cette analyse brute met en lumière les mots les plus utilisés dans le texte, mais elle peut être faussée par la présence de mots grammaticaux fréquents (articles, pronoms, etc.). Pour affiner l’analyse, une liste de stopwords est utilisée pour chaque langue, afin de supprimer ces mots sans intérêt analytique. Une nouvelle table de fréquence est alors produite avec uniquement les mots significatifs. Pour une meilleure lisibilité, on peut visualiser les mots les plus fréquents après suppression des stopwords sous forme de diagrammes en barres horizontales.

Afin de dépasser les limites d’une analyse basée uniquement sur les formes des mots, une lemmatisation est appliquée au texte latin. Cela signifie que les formes fléchies des mots sont ramenées à leur forme canonique, ou lemme. Par exemple, les mots amicumamici, et amicus sont tous ramenés au lemme amicus. Cette opération est rendue possible grâce à un fichier Lemma_Suetone.tsv généré grâce à Deucalion et VSCode.

 

Le tableau issu de Deucalion est à son tour nettoyé pour supprimer les chiffres, les doublons, et les mots vides. La fréquence des lemmes est ensuite calculée, ce qui permet une analyse sémantique plus robuste que l’analyse de surface. Enfin, les dix lemmes les plus fréquents sont extraits et affichés, offrant une synthèse claire du vocabulaire essentiel du texte latin.

Graves

Le processus pour le second texte, celui de Graves, a été assez similaire dans l’ensemble. Cependant, si je disposais d’un fichier avec le texte brut pour Suétone, ce n’était pas le cas ici. En effet, mon premier objectif et la première difficulté que j’ai rencontré ici, après avoir réussi à me procurer le texte, a été celle de lire et de nettoyer des fichiers HTML et XHTML contenant le texte de Robert Graves. Pour ce faire j’ai dû créer une fonction pour nettoyer et extraire le texte brut afin de créer un nouveau document avec le texte brut exclusivement. Comme pour Suétone, les chapitres du texte ont été associés à des titres prédéfinis.

Cependant, là encore il a fallu procéder à un nettoyage pour obtenir les données les plus propres possibles. Cependant puisque les différents chapitres venaient à l’origine de 3 livres différents avec des formats différents, le nettoyage s’est révélé plus difficile que prévu. En effet, si jusqu’au chapitre 33 j’ai pu me contenter de retirer tout ce qui se trouvait avant la première majuscule, pour les chapitres suivants j’ai dû définir des conditions plus précises et complexes. 

J’ai ensuite fait le choix, avant d’entamer l’analyse lexicale, de remplacer les apostrophes par des espaces dans le but de faciliter la tokenisation. Puis de même que pour Suétone, j’ai eu recours aux stopwords avant de passer à la lemmatisation du texte avec Deucalion. 

Mise en parallèle des textes et analyse

Comparaison des lemmes

J’ai tout d’abord choisi de commencer par analyser les lemmes les plus fréquents dans les textes de Suétone et de Graves en générant un graphique. Cette approche permet de voir d’un coup d’œil les termes les plus utilisés dans les deux œuvres. De plus, les graphiques sont placés côte à côte pour faciliter la comparaison entre les deux auteurs. Le graphique ci-dessous présente ainsi les 10 lemmes les plus fréquents chez chaque auteur, mais la comparaison peut évidemment porter sur plus ou moins de lemmes en fonction de la nécessité.

Cela m’a ainsi permis de voir les lemmes les plus fréquents chez chaque auteur et de les comparer. Ainsi, chez Graves on peut remarquer que les lemmes les plus fréquents semblent être en lien avec la politique et le pouvoir impérial mais surtout qu’il se concentre en grande partie sur les personnes ayant partagés la vie de Claude. Chez Suétone, l’accent est mis sur des aspects plus administratifs et institutionnels du pouvoir romain. De plus, si l’empereur Auguste semble majeur des deux côtés, la première différence notable est la mention d’Hérode chez Graves.

Etude des noms propres

J’ai ensuite choisi d’accès mon analyse sur les noms propres. pour ce faire j’ai procédé à l’extraction de ces derniers en commençant par filtrer les mots qui commencent par une majuscule puis en calculant la fréquence de chaque nom dans les deux corpus. Pour chaque texte les noms propres sont extraits et triés en fonction de leur fréquence d’apparition. Ces fréquences sont ensuite utilisées pour créer des graphiques qui comparent visuellement l’importance des noms propres dans chaque œuvre.

La différence de langue entre les deux textes ne me permettait cependant pas de les comparer de façon rapide et immédiate. J’ai ainsi réfléchi à un moyen de contourner ce problème en créant un dictionnaire de correspondance entre les noms latins et français. L’objectif est ainsi de rendre les noms cohérents entre les deux textes, en particulier lorsqu’un même nom peut être écrit différemment dans les deux œuvres. Le code utilise cette liste pour remplacer les noms latins par leurs équivalents français dans les deux corpus, afin de faciliter la comparaison. Il a malgré tout fallut manuellement vérifier les données à partir des lemmes et des possibilités d’erreurs qui y sont liées.

Une fois la normalisation effectuée, les données sur les noms propres sont fusionnées pour créer une comparaison directe entre les deux textes. Le code permet de comparer la fréquence de chaque nom dans les œuvres de Suétone et de Graves, en mettant en parallèle les résultats pour chaque texte. 

Suite à cela j’ai ainsi pu obtenir les noms les plus répandus chez l’un et l’autre auteurs, mais aussi ceux les plus répandus chez les deux auteurs en même temps. Ce qui permet une visualisation directe des différents personnages dans les deux textes.

Suite à cela, je me suis interrogée sur les noms uniques chez l’autre et l’autre auteurs comme cela semblait le cas pour Hérode.

La présence significative de Caligula et d’Hérode chez Graves et leur absence encore plus significative chez Suétone me donne ainsi des pistes de réflexion intéressante pour mon mémoire sur la réception moderne de l’empereur Claude. En effet, l’omission total d’Hérode par Suétone pousse à s’interroger sur son rôle dans la vie de l’empereur.

Fréquences relatives

La taille des deux corpus s’est avéré un autre problème puisqu’il semblait absurde de prendre en compte le nombre d’occurence étant donné la différence de taille entre les deux œuvres. J’ai ainsi décidé de procéder à une nouvelle normalisation sous forme de fréquence relative ce qui m’a permis de neutraliser l’effet de la différence de taille entre les textes. Ce graphique montre ainsi les fréquences relatives des noms propres pour chaque auteur, permettant une comparaison plus fine et plus logique des deux corpus. 

Visualisation de l’évolution lexicale

J’ai ensuite voulu pouvoir visualiser la distribution des noms propres au sein des différents chapitres des œuvres pour pouvoir m’y référer rapidement au besoin.

Pour ce faire, j’ai dû comme auparavant, séparer les textes en fonctions des chapitres, les tokeniser et les lemmatiser en fonction de leur chapitre tout en supprimant les données parasites vu précédemment.

J’ai ensuite crée une liste des noms à “surveiller” pour chaque œuvre qui contient des noms définis manuellement. J’obtiens ainsi par exemple ce graphique pour l’un et l’autre corpus ce qui me permet de repérer rapidement la répartition des personnages dans le texte et de pouvoir comparer des passages.

Conclusion

En résumé, ce code fournit une analyse détaillée des noms propres dans les textes de Suétone et de Graves, en commençant par une exploration des lemmes les plus fréquents et en allant jusqu’à une comparaison des noms propres normalisés. Chaque étape vise à extraire et à comparer les éléments clés de ces œuvres, tout en prenant en compte les variations de langue et la longueur des textes. Les graphiques générés tout au long de ce processus permettent de visualiser facilement les résultats et d’obtenir des insights sur les différences et similitudes entre les deux auteurs.

Achille, une reprise du personnage homérique par Platon

Version numérique 

Le personnage d’Achille, héros emblématique de l’Iliade, est repris par Platon dans plusieurs dialogues, où il devient tantôt un modèle, tantôt un contre-exemple philosophique. Ce projet numérique, en lien direct avec mon travail de recherche pour cette année universitaire, propose une analyse comparative de ce personnage dans l’épopée homérique et les dialogues de Platon. À travers l’étude de textes comme le Banquet, la République, l’Hippias mineur, l’Apologie et le Criton, et grâce à des outils d’analyse textuelle comme Voyant Tools, ce travail met en lumière les continuités et transformations du personnage, révélant les enjeux de sa réinterprétation platonicienne.

Orientation du projet 

Le but de mon projet était d’explorer mon corpus à l’aide d’outils numériques tout en restant dans la continuité de mon mémoire. Pour cela, j’ai constitué un corpus de textes récupérés sur la plateforme Perseus, comprenant des dialogues de Platon (La République, Le Banquet, L’Apologie, L’Hippias mineur et Le Criton), ainsi que les extraits de l’Iliade qu’il y cite. J’ai également ajouté mes propres traductions des passages platoniciens sélectionnés ainsi que les traductions françaises des extraits homériques. Ce travail m’a permis d’établir une base textuelle cohérente pour analyser la manière dont Achille est repris et transformé par Platon.

Outils et méthodes

Pour mener à bien mon projet, j’ai utilisé plusieurs outils numériques. J’ai d’abord exploré Voyant Tools afin d’analyser l’Iliade dans son intégralité. Cependant, la plateforme fragmentant automatiquement le texte sans respecter la division en chants, il m’a été difficile d’obtenir une analyse fluide. J’ai donc choisi de basculer sur Obsidian, où j’ai pu organiser mon corpus en fichiers Markdown interconnectés, facilitant ainsi le suivi de mon travail textuel. Une fois mon corpus prêt, j’ai testé les possibilités d’analyse sur Obsidian, mais celles-ci se limitaient à la recherche du terme Achille en français ou en grec, sans classement de colocations. Pour affiner mon étude, je suis finalement retournée sur Voyant Tools, qui permet ce type de traitement. J’ai ainsi pu relever les termes pertinents et établir deux listes distinctes selon le corpus analysé. 

Sur la capture d’écran ci-dessous, on peut voir la structure de mon projet dans l’application Obsidian. À gauche, la barre de recherche, accessible via l’icône en forme de loupe, permet d’effectuer des requêtes textuelles. Cependant, cette fonctionnalité reste basique et similaire à celle que l’on trouve dans d’autres applications, ce qui ne m’a pas apporté l’analyse approfondie que je recherchais.

 

 

J’ai donc poursuivis mes recherches et voici ce que mes recherches sur Voyant Tools ont donné : 

Ci-dessous, capture d’écran du traitement de texte Voyant Tools sur le corpus de Platon :

Ci-dessus, capture d’écran du traitement de texte Voyant Tools sur le corpus d’Homère. 

 

Résultats obtenus

Grâce à l’outil “collocations” de Voyant Tools, j’ai pu établir d’abord deux listes des termes en lien avec le physique et le caractère d’Achille dans l’Iliade et chez Platon :

Dans l’Iliade

  • la nature d’Achille
    –> est le meilleur, “aux pieds rapides”
    –> beau
    –> fils de Pélée et d’une déesse, Thétis
    –> sensible à la musique
  • Achille et Patrocle
    –> Patrocle est son ainé
    –> est décrit comme au dessus de Patrocle (par le père de ce dernier)
  • la querelle
    –> Achille et le changement qu’il peut avoir selon son interlocuteur
  • Achille et la mort
    –> peu soucieux de son destin et du danger
    –> se montre pieu à la mort de Patrocle (les funérailles)

Chez Platon : 

  •  sincère
  • simple
  • le meilleur
  • menteur 

 

Enfin, toujours à partir de l’outil “collocations”,  j’ai pu établir deux listes sur les émotions d’Achille dans l’Iliade et dans les dialogues de Platon : 

Chez Homère : 

– le chagrin 
–> pleure 
–> sanglote 
–> ressent la douleur 
– la colère 
–> s’irrite 
–> est humilié
– le cœur (lié à la façon dont il ressent ses émotions, lui viennent du cœur)
– le regret (de sa vie humaine dans l’Odyssée)

Chez Platon, le seul ajout à cette liste est qu’il affirme clairement dans Le Banquet que Patrocle est l’amant d’Achille.  

Conclusion 

Étudier un corpus et réaliser des comparaisons intertextuelles sur un même personnage dans deux œuvres différentes, comme l’Achille de l’Iliade et des dialogues de Platon, nécessite une organisation rigoureuse et une approche méthodique. Ce projet m’a permis de découvrir qu’une analyse comparative efficace repose sur la capacité à naviguer entre les textes, à repérer les récurrences et les variations. L’application Obsidian s’est révélée précieuse pour organiser mon corpus et établir un réseau de fichiers, facilitant ainsi la gestion de mon travail. Toutefois, pour des analyses plus détaillées sur les termes et colocations, j’ai dû revenir à Voyant Tools, qui m’a permis de réaliser des analyses plus fines. Cette combinaison d’outils m’a permis d’établir une base solide pour ma réflexion sur la manière dont Platon reprend et transforme la figure d’Achille en fonction de sa pensée et ses objectifs philosophiques.

 

Une édition numérique des fragments d’Archestrate de Géla

Mon mémoire de master, en humanités classiques et humanités numériques, a pour objectif d’éditer les fragments d’Archestrate, un poète grec du IVe siècle avant notre ère, originaire de Géla, une ville située au sud de la Sicile, qui appartenait alors à la Grande Grèce. Nous possédons aujourd’hui 339 vers du poème d’Archestrate, soit soixante-deux fragments. C’est un poème gastronomique qui traite des plaisirs de la table et de la préparation du pain, de quelques viandes, mais surtout de celle des poissons, mollusques et crustacés – des mets de luxe ! Les aliments évoqués sont associés à un lieu de la Méditerranée, là où ils sont les meilleurs à trouver à un moment précis de l’année. À travers ces recettes, se dessine ainsi un véritable voyage culinaire. Ce poème hexamétrique est à la fois une œuvre didactique parce qu’il cherche à transmettre la façon de trouver et de préparer un grand nombre de produits de la mer, mais c’est aussi un pastiche parce qu’il imite les grands poèmes épiques. Poète, gastronome et voyageur : voici une esquisse d’Archestrate de Géla.

Malheureusement, ce poème ne nous est pas parvenu dans son entièreté, et de plus, il nous est arrivé indirectement, cité dans une autre oeuvre : les Deipnosophistes (Δειπνοσοφισταί, Le Banquet des sophistes) d’Athénée de Naucratis. Et, en même temps, quelle aubaine pour Archestrate, qui a survécu au naufrage de la littérature antique ! Les Deipnosophistes, composés de quinze livres, ont été écrits vers l’an 200 de notre ère et rapportent des propos de tables, tenus à Rome, par une vingtaine d’érudits, sur toutes sortes de sujets : politique, philosophie, médecine, mais aussi gastronomie, boissons, poissons, etc. C’est dans ces circonstances qu’un nombre considérable d’œuvres antiques, en vers mais aussi en prose, sont citées de mémoire par les convives.

Présentation des manuscrits

Nous possédons trois manuscrits des Deipnosophistes, que j’ai longuement parcourus afin de repérer les fragments d’Archestrate : 

Le manuscrit A, gr. Z. 447 qui se trouve à la bibliothèque Marciana de Venise, datant du Xe siècle, a été copié par Jean Le Calligraphe à Constantinople. Il est rédigé en minuscule. Pour retrouver le manuscrit sur le site de la Marciana, cliquez ici.

Image 1 – Fragment 54 (Ath. 7. 326b) tel qu’il se trouve dans le manuscrit A.
Image 1 – Fragment 54 du manuscrit A

καὶ νεαροῦ μεγάλου τ’ αὐλωπία ἐν θέρει ὠνοῦ
κρανίον, ἂν Φαέτων πυμάτην ἁψῖδα διφρεύῃ.
καὶ παράθες θερμὸν ταχέως καὶ τρῖμμα μετ’ αὐτοῦ.
ὄπτα δ’ ἀμφ’ ὀβελίσκον ἑλὼν ὑπογάστριον αὐτοῦ.

Et, quant au jeune et grand aulopias, achète, en été,
La tête, lorsque Phaéton conduit son char à l’extrémité de la voûte,
Et, sers-le chaud, sur le champ, et la sauce qui va avec.
Fais-le griller à la broche, après avoir pris son ventre.

Le manuscrit C, supplément grec 841, appartenant à la Bibliothèque Nationale de France, a été rédigé par Demitrios Damilas entre 1476 et 1506, en écriture humaniste. La numérisation de ce manuscrit est disponible sur le site de la BNF (ici).

Image 2 – Fragment 54 du manuscrit C

Enfin, le manuscrit E, Pluteus 60.02, qui se trouve à la Bibliothèque Laurentienne de Florence, a été transcrit, lui aussi, en écriture humaniste par Jacob Questenberg, vers 1490. La numérisation est visible en cliquant ici

Image 3 – Fragment 54 du manuscrit E

Après avoir trouvé les fragments d’Archestrate de Géla dans les manuscrits A, C et E, je les ai transcrits un à un, puis je suis passée à leur traduction. Au terme de ce travail, l’idée d’une édition numérique a émergé. En effet, un site compagnon qui hébergerait mon travail faisait sens dans la mesure où il permettrait l’accès direct aux manuscrits – ce qui n’est pas le cas dans les éditions imprimées comme les Belles Lettres, par exemple. Cela faciliterait aussi la comparaison entre les trois manuscrits et donnerait ainsi tout son sens à l’apparat critique. Ce site compagnon serait enfin enrichi d’un index nominum et d’un index locorum.

Langage XML et TEI

Pour cela, j’ai utilisé le logiciel Oxygen pour encoder le texte d’Archestrate de Géla en langage XML, ou « extensible markup language », tout en suivant les recommandations de la TEI, « text encoding initiative », un format de balisage international que les universitaires et les chercheurs utilisent dans le champs des humanités numériques pour l’encodage de ressources. La TEI est un ensemble normalisé de balises que l’on applique aux textes littéraires afin de ne pas porter atteinte à leur intégrité.

Après la déclaration XML qui permet de spécifier la version de XML et le type d’encodage du document, il faut préparer le <teiHeader> : un en-tête qui rassemble toutes les métadonnées du texte que l’on encode. Plusieurs balises sont alors utilisées pour préciser :

– le titre <title> </title> ;

– le nom de la personne responsable de l’édition <respStmt><resp></resp><name></name></ respStmt> ;

– les sources utilisées (titre et auteur) : <sourceDesc><bibl><title></title><author></author></bibl></sourceDesc>

– les manuscrits : <listWit></listWit>

– l’index nominum : <listPers></listPers>

– l’index locorum : <listPlace></listPlace>

Après la préparation du <teiHeader>, il faut encoder le poème avec des balises, qui structurent le texte, comme l’élément <div> qui m’a permis de diviser le texte en fragments, la balise <head> qui indique le titre de chaque fragment et, enfin, l’élément <l> qui répartit le texte en vers.

Enfin, les variantes textuelles peuvent être spécifiées, grâce à des balises propres à créer l’apparat critique. Cela permet de reconstruire l’histoire des versions d’un même texte et de fournir de façon détaillée ses différentes leçons. On documente ainsi les différences textuelles entre les manuscrits. L’élément <app> est l’élément racine où l’on regroupe les différentes variantes d’un texte, l’élément <lem> indique la lecture principale ou reconstituée d’un passage. Quant à l’élément <rdg>, il indique les autres versions du texte, qui diffèrent de la lecture principale.

 

Image 4 – Fragment 54 encodé. On y voit les différentes balises : <div>, <head>, <l>, <app>, <lem>, <rdg>

Pour l’édition numérique des fragments d’Archestrate de Géla, j’ai utilisé des balises assez courantes. Cliquez ici pour avoir une vision plus détaillée des TEI Guidelines.

Le fichier XML a ensuite été transféré sur GitHub, une plate-forme open source qui aide les développeurs à stocker et à gérer leurs données, leurs codes mais aussi à suivre et à contrôler les modifications faites sur leurs fichiers par d’autres utilisateurs. J’ai créé un repository ou dépôt que j’ai appelé : classnum/evt-1.3_archestratus. Ce dépôt m’a permis de regrouper mon fichier XML, les captures d’écran des fragments prises dans les manuscrits A, C et E, au format .png. Monsieur Berra a été désigné administrateur de ce dépôt afin de m’aider à gérer les problèmes au fur et à mesure.

Github et EVT

Le transfert sur GitHub était indispensable afin de terminer la préparation des données et de les déployer sur EVT (Edition Vizualisation technology), une plateforme créée par l’université de Pise, pour l’édition, la visualisation et la publication numérique. L’utilisation de GitHub Desktop me permettait de modifier mon fichier sur Github : en effet, en encodant directement sur Visual Studio Code, je pouvais ensuite envoyer, grâce à la fonction Push, les modifications sur mon fichier en ligne. La fonction Pull, quant à elle, me permettait de recevoir les corrections et les recommandations de Monsieur Berra. Mais, malgré les ressources que possède EVT, la version 1 n’est pas réellement prévue pour publier des éditions critiques. J’ai dû m’accommoder des possibilités du système pour l’encodage de l’apparat critique avec les balises suivantes : <choice></choice>, <corr></corr> (apparat), <sic></sic> (leçon retenue). C’est alors que j’ai dû réviser mon code afin qu’il soit compatible avec EVT.  Enfin, j’ai eu recours à une connexion Python, qui, grâce un http server, permet de transférer mes données de GitHub sur EVT. Un problème s’est alors posé pour les captures d’image des manuscrits. Parfois, un fragment se trouvait sur deux pages de manuscrit et j’ai dû faire deux captures d’écran. Malheureusement, sur EVT, il n’était possible de ne mettre qu’une image par page. On a essayé de trouver des solutions. C’est ainsi que Monsieur Barra m’a proposé de lier deux images d’un même fragment ensemble, au sein d’un même fichier, mais cela demandait une manipulation délicate. C’est alors que l’on a choisi une option plus simple, celle de mettre l’image qui contenait le plus de texte en ligne.

L’édition numérique et son mode d’emploi

Image 5 – Capture d’écran de la page d’accueil de l’édition numérique

Cliquez ici pour accéder à l’édition numérique.

Voici quelques conseils pour consulter cette édition en ligne :

  • Passer tout d’abord sur l’interface francophone. Pour cela, cliquer sur les trois petites lignes en haut à droite de votre écran.

  • Consulter ensuite l’édition “interprétative” soit avec les images, soit avec la transcription ou la traduction.

  • Cliquer sur le petit triangle en haut, à gauche ou à droite de l’écran, pour n’avoir que l’image ou la transcription ou la traduction.

  • Sélectionner le numéro du fragment en déroulant l’ascenseur.

  • Survoler les mots en rouge de la transcription pour voir les notes éditoriales.

  • Cliquer sur la fenêtre ‘informations’ en haut à droite de l’écran pour trouver l’introduction et le commentaire.

  • Enfin, consulter les index nominum et locorum en cliquant sur “listes” en bas de l’écran.

    AVANCEES et Perspectives

    En cette année de master 2, et au terme d’une révision de ma transcription et de ma traduction, mon objectif est d’améliorer cette édition numérique. Je souhaiterais, en effet, la rendre plus interactive. Cela est devenu possible grâce à la version 3 d’EVT, qui permet une meilleure lisibilité de l’apparat critique. Cette version semble aussi plus souple à utiliser qu’EVT1 grâce aux fichiers .json, un format de données utilisé en alternative au langage xml, pour échanger des données entre un serveur et une application web.

    Pour cette nouvelle édition, un nouveau repo a été créé : classnum/evt-3.0_archestratus. Pour faire des modifications sur le fichier .xml, le principe est toujours le même : j’ai travaillé sur Visual Studio Code, avec les fonctions Push et Pull, pour modifier mon fichier sur GitHub.

    Si l’apparat critique est beaucoup plus lisible, la traduction, quant à elle, n’a pas d’emplacement prédéfini. Les développeurs, en effet, n’ont pas encore prévu un affichage pour la mettre en valeur. Une solution pourrait être la suivante : placer en-dessous de chaque transcription sa traduction. Des tests sont en cours. Cela est rendu possible grâce à l’installation du plugin Live Server, qui permet de visualiser, à partir de Visual Studio Code, l’éditeur de textes et de voir les modifications, que l’on effectue, en local.

    De son côté, monsieur Berra a construit tout le framework, c’est-à-dire tout le squelette du programme. Je le remercie vivement. Je lui suis aussi reconnaissante d’avoir lever plusieurs obstacles : la publication ne peut se faire que dansSafari ou Chrome et les images ne peuvent apparaître qu’au format .png.

    Cette édition numérique est un outil de travail personnel très précieux. Elle permet, en effet, de regrouper tout mon travail et de le mettre à jour au fur et à mesure de mes avancées. C’est un work in progress, qui s’enrichira, au cours des prochains mois, d’un index des aliments cités par Archestrate et, notamment, des animaux aquatiques, très nombreux. La présentation des images sera aussi améliorée, en liant deux captures d’écran, lorsque c’est le cas, grâce à un logiciel spécialement conçu pour cela.

    Si Archestrate de Géla est un poète méconnu, l’édition numérique de ses fragments, par son accessibilité, contribuera, je l’espère, à sa diffusion et à sa connaissance. À terme, il serait fructueux de faire une édition des poètes gastronomes de Sicile : Mithaicos, Héraclide, Dionysios et Agis. Cela permettrait de comparer leur style d’écriture, les aliments qu’ils mettent en avant et la façon dont ils les apprêtent, mais aussi ceux dont ils ne parlent pas. Ainsi, l’édition numérique pourrait faciliter la comparaison avec d’autres textes similaires et, peut-être, d’apercevoir leur filiation. Cliquez ici pour la consultation en ligne.

    Image 6 – Capture d’écran du fragment 54 avec sa transcription et son apparat critique que l’on obtient en cliquant sur le mot surligné en bleu pâle.

Grâce à l’édition des fragments d’Archestrate, j’ai pu parcourir toute l’histoire du livre : du papyrus aux technologies les plus récentes. Une histoire passionnante.

Lemmatisation, analyse et tentative d’interprétation d’une déclamation latine par des outils informatiques

Introduction

   Dans ce billet, nous essaierons de montrer les possibilités ainsi que les difficultés que l’on peut rencontrer lors de l’étude d’un long texte ou d’un corpus de textes, au moyen d’outils numériques. Le but est d’extraire d’un texte, ici d’un poème, le plus d’informations possibles, plus que ce que l’œil humain, même après plusieurs lectures, peut obtenir devant la quantité de vers et de mots qui le composent. Pour cela, sont nécessaires trois étapes: la préparation des données, le codage, et l’interprétation. C’est donc ce plan que nous suivrons dans cet exposé.

   Il apparait nécessaire maintenant de faire une brève présentation du poème que nous allons analyser et qui fait partie du corpus de déclamations que j’étudie dans le cadre de mon mémoire. Il s’agit d’une controverse datant du Ve-VIe après J.C couramment intitulée “Le pêcheur sacrilège” ou AL 21 Riese. Cette pièce poétique est aussi un plaidoyer contre un pêcheur ayant volé l’or contenu dans le temple de Neptune et l’ayant ensuite ramené sous la forme d’un poison doré avec l’inscription “De tuo tibi Neptune”. Le déclamateur cherche à prouver sa culpabilité.

   Le travail réalisé va être présenté et commenté ci-dessous. Mais la version Pdf à la fin du billet permet d’avoir un aperçu plus détaillé des lignes de codes qui seront abordées plus loin.

Préparation des données

Accéder au texte

   Notre travail reposant sur un texte, il nous donc commencer en premier lieu par entrer en possession de ce matériau fondamental. Il y a, selon moi, trois manières de procéder, sachant que notre étude sera d’autant plus aisée que nous aurons un texte débarrassé des caractères non alphanumériques. La méthode la plus simple est de l’exporter, au format souhaité, directement depuis un des nombreux entrepôts de textes en ligne comme Perseus Digital Library. La deuxième, la plus fastidieuse, est de recopier l’intégralité du texte. La troisième, celle que nous suivrons, consiste à simplement à réaliser un copier-coller à partir d’un site qui donne accès à notre poème. 

   Il convient de préciser que la pièce 21 de l’Anthologie Latine est très tardive et, par conséquent, ne se retrouve pas facilement sur internet et sur les sites spécialisés dont nous venons de parler. C’est pourquoi, nous choisissons cette option. Dans tous les cas, pour tout projet de ce genre, la préparation des données est très souvent impérative et relativement aisée grâce aux outils que l’on verra plus tard. Quoiqu’il en soit, c’est sur le site Musisque Deoque, répertoriant tout particulièrement des œuvres poétiques latines, que nous retrouvons notre texte. 

Nettoyer le texte

   Pour cela, on peut soit passer par VS Code, soit directement par RStudio, le but étant de ne conserver que les mots d’AL 21 séparés par un seul espace pour pouvoir l’exploiter par la suite. Dans RStudio, les fonctions stringr sont les plus utiles pour cela. Mais, étant donné le procédé auquel nous avons recouru et l’état particulièrement dégradé des éléments copiés, il convient davantage de travailler avec VS Code et sa fonction Replace. Le fichier ainsi nettoyé se nomme AL_21.txt.

   J’en profite ici, mais nous y reviendrons plus loin, pour mentionner l’outil OpenRefine et son utilité dans le traitement des fichier csv et tsv. En effet, son rôle est salutaire et parfois mieux adapté que RStudio lorsqu’il s’agit de trier des informations contenues dans un tableau de données. Grâce à la fonction fwrite, il est ainsi possible de demander à R d’exporter un tableau au format voulu et de l’exploiter ensuite avec OpenRefine. 

Le codage dans R

La distribution des principaux termes

   Notre travail s’articule en deux parties : une étude de la distribution des mots les plus fréquents d’Al 21 ainsi qu’une étude grammaticale et syntaxique de l’œuvre. Nous aborderons d’abord la distribution avec le fichier R AL_21_distribution_termes. Notre démarche ici obéit à deux objectifs : obtenir les dix mots les plus fréquents et observer la manière dont ils se répartissent dans notre déclamation.

Un texte non lemmatisé

   Après avoir installé le package pacman, nous insérons notre fichier AL_21.txt dans R qui en fait une liste unlist(). Notre texte étant nettoyé, il n’est pas utile de recourir aux stringr. Puis, la suite de mots doit être mise dans un tableau tibble et en faire des tokens pour qu’ils puissent par la suite être dénombrés avec la fonction count. On se rend compte que la plupart des occurrences obtenues ne sont pas intéressantes pour l’interprétation à venir, car il s’agit de termes courants et que l’on peut retrouver dans la majorité des écrits latins.

   Il nous faut donc être plus précis dans notre recherche. Dans notre cas de figure, une solution peut être d’insérer une liste préétablie de termes parmi les plus fréquents (stopwords_latin_v2_6) et de la faire fusionner avec nos résultats (fonction anti_join) afin de ne faire apparaitre que les termes les plus représentatifs de notre déclamation. 

   Le graphique construit à partir de la fonction ggplot nous donne des résultats bien plus spécifiques que plus haut. Les dimensions religieuse et criminelle semblent les plus caractéristiques. Cependant, remarquons que le texte n’est pas lemmatisé et que notre liste comprend plusieurs termes pour un même lemme (aurum /auro).  Notre représentation n’est donc pas optimale. Pour résoudre ce problème il nous faudrait un texte qui soit lemmatisé au préalable.

Lemmatisation d’AL 21

   Les contraintes rencontrées nous obligent à aborder cette étape nécessaire dans la distribution mais dont notre étude grammaticale et syntaxique bénéficiera également. Pour cela, nous utilisons le service de lemmatisation Deucalion. Le procédé est relativement simple, il suffit de coller notre texte dans un espace dédié et le site sort une page où les données, séparées par des tabulations, peut être copié. 

   Il ne reste plus qu’à sélectionner les données ou plutôt la ou les colonnes qui nous intéressent. La suite de l’étude de la distribution ne requiert que la colonne “lemme”. Donc, nous ne conservons que celle-là avec OpenRefine et nous l’exportons dans R. 

Un texte lemmatisé

   Maintenant, nous pouvons reprendre les étapes déjà mentionnées et observer la nouvelle représentation graphique.

   Cette fois-ci, les différentes formes d’un même mot sont regroupées et viennent grossir le nombre d’occurrences de termes déjà présent sur le graphe précédent. Cependant, de nouvelles entrées ont été ajoutées comme rapio, donum ou furtum. Nous verrons comment interpréter cela plus tard. 

Répartition des principaux termes

   Une fois que nous connaissons les lemmes les plus caractéristiques de ce texte, nous pouvons maintenant nous intéresser à la répartition d’un terme donné au sein de la déclamation. Nous ne nous concentrerons que sur un exemple précis, celui d’aurum, le lemme le plus fréquent et le plus représentatif des potentialités de la distribution dans R

   Il faut commencer par indexer (fonction seq) le texte lemmatisé mais non fusionné à la liste de stopwords, car la distribution serait alors biaisée, des lemmes ayant été retirés. Ensuite, la fonction which intègre le lemme choisi. Et, on attribue le résultat NA à toutes les occurrences autres que aurum et la valeur 1 sinon. La fonction plot, enfin, nous permet de visualiser ceci.

Interprétation de la distribution des principaux termes

   Il convient maintenant d’exploiter nos recherches en commençant par la liste des dix mots les plus fréquents. Comme nous l’avons déjà dit, les aspects criminel (scelus, crimen, facinus) et sacré (templum) dominent dans la déclamation. Mais, les autres résultats semblent montrer que le déclamateur insiste et intensifie la portée du crime. Le terme aurum (or) revient le plus. Il s’agit en effet de l’objet volé mais, la qualité de l’objet ainsi accentuée, fait apparaitre par synecdoque le vol du métal précieux comme plus important que le vol lui-même. De plus, la répétition de magnus (grand) et ars (art) par hyperbole aggrave le forfait du pêcheur. De même que les antithétiques donum (don) et furtum (vol) tendent à exciter le sentiment d’injustice de l’auditoire. La distribution spécifique du lemme aurum tend à confirmer cette interprétation. En effet, le déclamateur rappelle fréquemment que l’or a disparu du temple, mais c’est surtout vers la fin du texte, peu avant le 1500e mot que ce terme est comme martelé. Or, cela correspond à peu près aux parties “preuve” et “réfutation”, parties venant avant l’épilogue, comme si l’auteur de ce procès à charge souhaitait que ses auditeurs aient davantage en tête la valeur considérable du larcin, avant la fin de son discours.

L’étude grammaticale et syntaxique

Présentation de la méthode

   Cette partie s’appuie largement sur les fonctionnalités du package Tidyr, car nos recherches nous amènent à extraire du tableau généré par Deucalion des données bien précises. Contrairement à l’étude précédente, nous ne traitons plus de lemmes mais de classes grammaticales et de syntaxe. Pourtant, le procédé est assez similaire, sauf que nous ne donnons à R non pas la colonne des lemmes mais celles qui contribuent à leurs caractérisations comme le temps pour les verbes ou les cas pour les formes déclinables. Cela nous donne accès à des données chiffrées portant sur la langue.

Limites de Deucalion

   Le rôle de Deucalion, comme on a pu le voir, est important dans notre étude. Cependant, afin d’en exploiter tout son potentiel, il convient d’avoir à l’esprit ces trois inconvénients, plus ou moins problématiques, qu’il est préférable de résoudre. D’une part, bien que Deucalion parvienne très souvent à une lemmatisation complète, certaines lignes demeurent incomplètes. Outre le fait qu’il faut en tenir compte pour l’interprétation, cela entraine des décalages dans les colonnes, créant des colonnes hétérogènes avec des informations propres aux colonnes voisines venant s’y insérer. D’autre part, Deucalion sort dans la colonne “Dis”, dans une même cellule, un ensemble de caractéristiques relatives au lemme comme le genre pour le nom ou le mode pour le verbe. Le problème est que, selon que ce soit un nom ou un verbe, ces marques non seulement ne viennent pas dans le même ordre, mais encore diffèrent à cause de la nature propre de l’élément lemmatisé (un nom ne peut pas avoir de temps ou de personne). Enfin, d’un point de vu formel, certaines cases présentent une forme un peu lourde du type telle caractéristique est égale à telle chose.

   A cela, nous pouvons apporter deux solutions. La première est la plus fastidieuse. Elle consiste vérifier et à corriger les lignes et les colonnes une par une. La deuxième a l’avantage d’être plus rapide car automatisée par R, mais elle ne permet pas de tout modifier ou, du moins, de le faire de manière plus aisée que manuellement. Dans notre cas, il parait nécessaire de combiner ces deux approches, car notre travail n’implique pas d’étudier toutes les propriétés des lemmes, mais seulement leur nature et leur fonction (répertorier tous les mots masculins ou tous les pluriels sort du cadre de notre étude). Or, on peut constater que pour toutes les catégories, hormis les verbes, la lemmatisation de la nature et du cas est correcte. Donc, ceux-là peuvent être directement traités dans R. Pour les verbes, au contraire, il faut passer par VS Code et OpenRefine afin de corriger au cas par cas en ajoutant des NA là où la lemmatisation a échoué.

Etude de la nature des lemmes

   Comme mentionné précédemment, on fait lire notre tableau csv à R et on utilise les fonctionnalités de Tidyr pour y rechercher des informations précises. Les fonctions group_by et arrange permettent d’organiser la colonne “nature”. Puis, la fonction count dénombre le tout. On s’aperçoit alors que Deucalion a procédé à une sous-catégorisation des natures, distinguant par exemple les noms propres (NOMpro) des noms communs (NOMcom). Ce degré de précision étant superflu ici, nous utilisons, pour chaque nature, un filtre filter afin de regrouper chaque classe grammaticale. Nous unifions ces catégories en une seule avec mutate. Cela fait, il ne reste plus qu’à compter (count) séparément chaque nature et à former un tableau (tibble). Ce dernier doit être “retourné” avec pivot_longer afin de le visualiser correctement avec ggplot

   Le graphe obtenu montre assez clairement la répartition à laquelle nous souhaitions aboutir. Néanmoins, le nombre d’occurrences demeure relativement flou pour l’interprétation. Il est alors conseillé de l’échanger pour des fréquences. Le procédé est plutôt rapide. Il faut dégroupé ungroup les éléments, comptabiliser le nombre total d’occurrences avec summarise et sum, joindre cross_join le résultat au tableau et ne sélectionner select que les colonnes nature et fréquence. 

Les traits grammaticaux (verbes)

   Nous reviendrons sur l’interprétation de ces résultats. Passons maintenant à l’étude plus spécifique des verbes et de leurs traits grammaticaux. Contrairement aux autres classes grammaticales, comme on l’a vu plus haut, leur analyse requiert un nettoyage préalable et distinct selon leur mode (un participe est déclinable, un verbe conjugué non). Nous allons donc recourir de nombreuses fois à la fonction separate_wider_delim et ne sélectionner (select) que les colonnes d’intérêt, afin de clarifier la présentation des résultats. Il faut également transférer nos données à VS Code pour combler et replacer correctement les valeurs dans leur colonne propre. La fonction filter nous permet de trier et ainsi de choisir les modes, que nous aborderons d’abord. Une fois purifiées, les données sont dénombrées (count), puis placées dans un tableau et enfin réorganisées. Nous présenterons ici les résultats sous forme de fréquences, pour la même raison que plus haut. 

   Pour l’étude de la répartition des temps et des voix, nous procédons d’une manière différente car nous avons maintenant une colonne fixe “mode”. Il suffit de sélectionner (select) les colonnes mode et temps ou mode et voix et de les rassembler dans un même tableau avec full_join. Une fois dénombrés (count) et réorganisés reorder selon un ordre décroissant decreasing, on obtient les graphes suivants : 

   Concernant l’étude des personnes du verbe, une étape doit précéder le processus que l’on a suivi pour le temps et la voix. En effet, les colonnes “personne” et “nombre” sont séparées dans notre tableau. La fonction unite permet de les faire fusionner, nous employons comme séparateur sep la formule “ème du ” pour rendre la fusion plus esthétique. Il est à noter que le participe et l’infinitif étant des modes non personnels, il ne seront ici pas pris en compte.

L’étude syntaxique

   Nous aborderons dans cette partie la répartition des cas des mots déclinables. Il est évident que certaines catégories grammaticales, n’admettant pas de déclinaisons, seront mises de côté lors de notre tri préalable (select(cas)). De déclinables et identifiés comme tels par Deucalion nous trouvons les noms, les adjectifs et les participes. Le fait que les participes fassent partie de cette catégorie explique pourquoi nous nous intéressons aux cas en dernier. En effet, il nous fallait d’abord les purifier avant de pouvoir les étudier. Pour le reste, nous suivons le même procédé que précédemment. 

Interprétation

   La forte proportion de noms est à mettre en relation avec l’écrasante majorité de nominatifs dans le texte. Le fait d’avoir une quantité si élevée de noms au nominatif, ou plutôt de noms sujets et de noms attributs du sujet traduit une volonté manifeste de catégorisation du sujet. En effet, le déclamateur insiste davantage sur l’état du sujet que sur l’objet d’une action, puisqu’il y a environ deux nominatifs pour un accusatif, complément naturel et régulier du verbe transitif. En outre, rappelons que l’occurrence qui arrive en tête dans le texte non lemmatisé est le verbe être (est, 46 occurrences). Cela implique que l’auteur de la déclamation livre un véritable procès à charge contre l’accusé, appuyant moins sur les circonstances du crime que sur leur auteur lui-même (la troisième personne du singulier, c’est-à-dire le pêcheur, est sept à huit fois plus usitée que les autres). D’ailleurs, la lecture du texte nous le confirme, les attaques ad personam et ad hominem font légion. De même, les autres documents vont dans ce sens. L’indicatif, cinq fois plus important que le subjonctif, place le discours dans le domaine du factuel et non dans de l’hypothèse. Fait ou plutôt méfait qui poursuit le pêcheur même dans le présent (trois fois que le passé) et pour lequel il est directement responsable (quatre fois plus de verbes actifs que le passifs). 

Conclusion

   Pour finir, grâce à des processus automatisés, nous sommes parvenus à caractériser un texte latin de manière plutôt intéressante. Cela a été rendu possible par le formidable outil qu’est Deucalion et qui nous permet d’analyser autant des termes que leur nature, leurs traits grammaticaux ou leur syntaxe. Le nettoyage des données, rendu possible par VS Code et OpenRefine, est, néanmoins, souvent nécessaire. Les multiples fonctionnalités de R et du package Tidyr ont contribué à l’exploitation des informations fournies par Deucalion. Notre déclamateur a une propension à l’exagération du crime de l’inculpé (prédominance d’aurum). Il s’inscrit dans une stratégie rhétorique de l’attaque personnelle, visant à expliquer le forfait par la prédisposition (ars) du pêcheur au larcin (furtum).

   Sources
Fichiers partagés

Portraits robots /Grandeur et décadence de Rome: empereurs du IIIe siècle de notre ère. . .

Histoire Auguste des deux Valérien à Numérien

1.  Mon  document de référence

L’Histoire Auguste (en latin : Historia Augusta) est le nom que l’on donne couramment  à un recueil constitué d’une suite de biographies d’empereurs romains et d’usurpateurs des IIe et IIIe siècles. Il a été composé en latin prétendument au début du IV siècle par une série d’auteurs inconnus(=scriptores). Les faits  relatés s’ étendent de 117 à 285  avec une lacune de seize années entre 244 et 260.

2.  Mon  sujet de mémoire ( Master 2)

 

La section étudiée par mes soins s’étend plus précisément de la Vie des deux Valérien à la fin. Mon champ d’investigation a trait à I’analyse de la grandeur et de la décadence de Rome au travers des caractéristiques physiques, morales, comportementales des empereurs concernés, selon les dires d’autrui, ou bien,d’après leurs propres propos. Pour ce faire, j’utilise, en tant que source, le document en langue latine

 

L’attribut alt de cette image est vide, son nom de fichier est histoire-auguste-tome-4-3e-partie-vies-des-trente-tyrans-et-de-claude-500x500.jpg.

2.  Mon ( mes?) corpus

Mon  principal  outil de travail  est  l’oeuvre en version papier:Histoire auguste :les empereurs romains des IIe et IIIe siècles / traduction du latin par André [et Jacqueline] Chastagnol ; édition établie par André Chastagnol Paris : Robert Laffont; 1994. Chapitre XXII-XXX,pp.777-116

J’utilise  également les corpus numériques  de The   Latin  Library=

https://www.thelatinlibrary.com/sha.html

et de la Bibliotheca Augustana=  

https://www.hs-augsburg.de/~harsch/Chronologia/Lspost05/HistoriaAugusta/hia_vi00.html

https://www.dropbox.com/home/HCHN/hn4_projets_personnels/deubras_myriam?preview=02-G2-EAD+deubras1704.docx   (notes et espace de travail sur  l’ Histoire Auguste)

3. Projet numérique HN4

Mon projet numérique portait sur l ‘ élaboration  de portraits robots relatifs à l’ ensemble des empereurs qu’ englobe mon champ de recherche. Il consiste  en le repérage, pour chacun d ‘eux, de caractéristiques, définies puis choisies selon une série de critères préalables :  Portrait physique et moral parenté filiation statut social modalités d’ exercice de leurs fonctions( art de vivre et de gouverner). Pour ce faire, j ‘ai eu recours à divers outils en ligne et d ‘ analyse textuelle.

 

 

  

Lire la suite : Portraits robots /Grandeur et décadence de Rome: empereurs du IIIe siècle de notre ère. . .
4. Éléments de méthodologie

Après avoir lu plusieurs fois mon texte d ‘appui en français, j’ai procédé à une lecture juxtaposée en « petit latin» pour  essayer de saisir l’ enjeu de chaque  Vie d ‘empereur.Suite à cela, j ‘ ai réalisé un premier corpus de l’ Histoire Auguste  dans Voyant Tools mais étant donné l ‘étendue du texte de travail, j’ai pris l‘option, sur avis de M. Berra, de créer des sous corpus en format . txt.  Certes cela engendrait un plus grand nombre de documents, mais de densité plus réduite  donc plus aisés à envisager.A la fin de cette première étape, j’ ai opéré dans la mesure du possible, un léger «toilettage» de mes sources.

Ensuite j’ ai tenté de déterminer  dans les grandes lignes les angles d’approche de ces corpus: champs lexicaux et objets d’étude dans la mesure du possible,  comme par exemple les fonctions, les qualités… J ‘ai aussi songé le cas échéant à des critères d’ analyse textuelle: nombres de mots, occurrences, rang , fréquences…..  J ‘ ai principalement recouru aux outils suivants: Voyant tools( termes, tendances, liens, contextes), Anatext(type de lemmes, rang fréquences, contextes  et coocurrences), etc… . J’ ai ainsi  pris en compte les termes qui  comportaient le plus d’ occurrences, en étant  attentive à leurs variantes. En outre , grâce  aux fonctions Liens et  Contextes, j ‘ai pu  regrouper  autour de chaque nom d’ empereur, les  divers éléments qui le caractérisent.

5. Premières impressions

Les sous-corpus sont de tailles variées. Quand  la vie de certains  empereurs s’ étend sur trois ou quatre pages, dans d’autres cas, elle se résume à quelques lignes. L’Histoire Auguste, en particulier, mon corpus initial  présente  la particularité de posséder de nombreux espaces lacunaires / abréviations ( rem p.= rem publicam,  conss= consulibus, etc…. ). La  présence de personnages féminins ayant été à la tête de  l ‘ Empire romain,  Zénobie et Victoria/ Vitruvia, est aussi à noter. À la lecture de L’Histoire Auguste, j’ai remarqué que les fils empereurs ont une vie plus brève que celle de leurs parents  au sens temporel mais également textuel. Quant à la langue utilisée, elle se rapproche, globalement du latin classique, la compréhension n’ apparaît au premier abord , pas  insurmontable.  Enfin le nombre de personnages évoqués, protagonistes ou autres est très flagrant.

 

6. Analyse de corpus : exemple de  Salonin Gallien/ observations

Portrait de  Salonin Gallien :

– Dans cette sous- partie, apparaissent 13 occurrences du nom « Gallien», pour Gallien fils(formes variées du nom gentilice Gallienus ),

-Comment le lecteur  de l’ Histoire Auguste le découvre-t-il? Ce personnage est abordé au moyen de son ascendance, de sa bonne naissance.( 4 occurrences).

 

Bien qu ‘il ne soit pas l‘auteur  de res gestae, – son histoire ne contenant rien de remarquable, dixit, le narrateur va donc saisir l’occasion de s’ apesantir sur des anecdotes, au premier abord  insignifiantes mais riches de sens.    L’écrivain et ses confrères  historiens semblent exprimer un profond désaccord au sujet de son nom. L’emploi des verbes de dénomination et d‘affirmation amèneraient le lecteur à penser qu’il s’ agit de rumeurs rapportées puis consignées par le scriptor . Mais il convient de ne pas omettre le travail des historiens . Comme lors de  la tenue d ‘un conseil scientifique, dans l ‘acception d’ expertise d’une discipline, le narrateur consulte, analyse  et critique, au sens  étymologique, les apports de ses confrères. La fin du passage évoque une légère modification du statut de l’écrivain. Ce dernier devient chroniqueur, puisqu’il se soucie de la chronologie relative à l’existence de Salonin Gallien, par un questionnement, nécessitant des recherches complémentaires.

– De plus le narrateur, en esquissant le  portrait de Salonin  Gallien, saisit l’occasion de vanter les mérites liés à sa production. Selon lui, c’est le moment opportun d ‘annoncer la parution de son prochain ouvrage.  Ce livre,  équivalent d’un horssérie, dit -il  traitera des Trente tyrans , titre du chapitre suivant.  Des informations sur ces  individus   sont disséminés dans les deux Vies précédentes. Le narrateur, par l’ emploi de formes et de tournures impératives, souhaite marquer un temps de pause,  tout en montrant qu’il désire  se contenter d’ indices essentiels. Tel un spécialiste maître de son sujet, il n ‘oublie pas de citer des références bibliographiques, si jamais le lecteur voulait en savoir davantage.

– Le portrait de Salonin Gallien s ‘avère  émaillé de détails en relation avec sa généalogie. Il est originaire de Saline et de haut rang , fils de Galien et petit fils de Valérien.. D’un point  de vue moral et intellectuel, il semble avoir hérité des qualités et défauts de ses deux parents. Avec humour , le  narrateur montre que les seuls exploits accomplis par Salonin Gallien son des actes de débauche, démontrant une vie dissolue. et des larcins, dont il  était coutumier,. Cette attitude   justifie  l’emploi d’ un imparfait duratif, associé à des adverbes temporels de fréquence.

7. Apports et perspectives possibles

L’ esquisse de ces portraits robots, relatifs aux empereurs issus de mon corpus , me permet d’  effectuer un travail préparatoire à la réalisation  de mon  mémoire. En effet , un grand nombre de renseignements a été réuni sur chacun d’eux. Cela  facilitera une étude comparative  des divers personnages, afin de définir les traits du bon prince et ceux du mauvais prince . Dans les deux situations, leur attitude est à l’image de la grandeur et /ou de la décadence de Rome. De plus, généralement, une figure d’ empereur ne s’avère jamais totalement “bonne” ou ” mauvaise”: il faut considérer que leur portrait  se fonde sur une sorte de diptyque rassemblant,  qualités et défauts. Avec le langage R, par exemple,  et ses fonctions statistiques, il sera sans doute aisé       d ‘obtenir des données plus vastes et des éléments applicables à l ‘ ensemble de L’Histoire Auguste. Des prolongements peuvent   être réalisés avec les sources grecques ( Dion Cassius…) et latines ( Aurélius Victor…) , de L’Histoire Auguste,  pour enrichir cette ébauche.

Abbon, poète du IXème siècle et ami de Virgile : héritier du Moyen-Age ou continuateur de l’Enéide ?

Le fil conducteur de mon projet a été de cerner par des données chiffrées, le rapport entretenu entre l’œuvre d’Abbon, ses collègues médiévaux d’une part, et d’autre, les auteurs classiques qui demeuraient alors la base de l’apprentissage des lettres. Cela dans le but de justifier dans le cours de mon mémoire la mobilisation de tel ou tel autre auteur, ainsi que de cerner lequel se prêterait le plus à une étude comparée pour tel ou tel thème particulier (l’emploi d’un terme ou d’une expression par exemple). Bien entendu, chacune des recherches entreprises et relatées ci-après a été opérée en dialogue et sur les conseils de notre professeur M. Berra.

Choix du corpus, récupération des données exploitables

La première étape fut l’établissement du corpus étudiable. Il me parut opportun de sélectionner les œuvres classiques ayant le plus de lien avec Abbon ; à ce titre furent retenues la Thébaïde et l’Enéide ainsi que les Bucoliques et les Georgiques, mon auteur confessant avoir approché au moins les églogues.  Son œuvre était heureusement disponible en ligne, sur le site Itinera electronica. Virgile et Stace furent quant à eux récupérés depuis la Latin library. Les auteurs médiévaux étant nombreux et ne bénéficiant pas d’une édition en liœœgne, furent de ce fait laissés un temps de côté. Après avoir purifié les textes latins de tout leur apparat sur VScode grâce à une série de recherches par expressions régulières, je procédai à une analyse stylographique, à partir d’un script R. Les résultats certifièrent l’opposition stricte entre Abbon et les classiques, et appelèrent à un nécessaire enrichissement du corpus devenu par-là stérile.

La deuxième étape consista donc en la récupération des textes médiévaux. Ne furent retenus des poètes du IXème siècle, c’est-à-dire de peu antérieurs à mon auteur, seuls les textes qui partageaient soit la teneur épique du Bella Parisiacae urbis (c’est là le nom de l’œuvre d’Abbon): Ermold le Noir, Poèmes sur Louis le Pieux, Angilbert, Karolus magnus et Leo papa (poème à teneur épique quant à Charlemagne et le pape Léon III) ; soit son attachement aux récits miraculeux (Alcuin, De patribus regibus et sanctis euboricensis ecclesiae, récit des prélats du diocèse d’York). Ces derniers se trouvaient en une version numérisée (« Poetae Aevi Carolini »), dont il fallut télécharger les images des pages. L’inspecteur de page donnait justement l’adresse de récupération desdites images jpg, lesquelles demeuraient accessibles. En fonction des numéros de page recherchés, je créai sur VScode une liste d’adresses, chacune correspondant à une page. Puis, ayant téléchargé l’outil wget et procédé aux ajustements nécessaires, je téléchargeais automatiquement ces fichiers. La chose faite, je continuai par l’utilisation d’un script R permettant par OCR de détecter et créer des fichiers textes à partir de l’image. Il fallut à nouveau les purger de leur apparat et des confusions fréquentes entre les c, les o et les e par exemple. Pour ce faire, j’utilisai VScode. Pour Abbon, l’outil diff me permit par comparaison avec la première version trouvée sur Itinera electronica, d’identifier rapidement les erreurs de forme, chose qui permit ensuite de faire aisément des recherches ciblées sur les mots concernés pour chacun des autres textes médiévaux.

Analyses des textes aux lemmes

Ceci étant fait, la majeure partie du travail l’était aussi. Du reste, il s’agissait de remployer le script R relatif à la stylographie, afin de pouvoir désormais situer plus précisément mon texte. L’arbre ainsi obtenu permet plusieurs interprétations :

Si nous y constatons toujours la distinction entre classiques et médiévaux, la présence d’Angilbert démontre combien l’imitation de ceux-là se montre efficace. En effet, après de nouveaux tests étendant le nombre de mots employés pour établir l’arbre d’analyse de groupes (des 100 aux 1000 premiers), les résultats se sont confirmés. Quant à Abbon lui-même, nous pouvons remarquer que, des deux chants composant son œuvre, le second apparaît plus proche des sources médiévales. Afin de mettre en relief ces résultats, je produisis un nouvel arbre en divisant cette fois le texte en groupes de mots via l’option n-grams. Voici l’arbre obtenu pour 3 n-grams (celui pour deux étant très semblable) :

Quoique les résultats soient très sensiblement divergents, nous observons la confirmation de l’originalité d’Abbon par rapport au tout, et de son chant II par rapport à l’ensemble.

C’est néanmoins à partir du premier graphique que je cherchai à déterminer avec quel auteur il serait le plus opportun de lier Abbon. Ermold et Alcuin se situant sur un pied d’égalité, je dressai à nouveau un arbre d’analyse de groupes, mais à partir des lemmes et non-plus des mots (tableaux des lemmes extraits grâce à l’outil Deucalion, réduits à la colonne « lemmes » grâce à VScode). Le résultat obtenu témoignant d’une plus grande proximité avec Alcuin, je choisis de poursuivre mes analyses avec ces deux seuls auteurs.

Le script R frequencies correlation me fut d’une aide singulière. Par ce dernier, je pus comparer par les présents tableaux les mots d’une part et les lemmes de l’autre, les plus couramment attestés chez chacun d’eux. Les résultats que voici montrent toutefois que, hors des procédés d’écriture que renseigne l’étude des lemmes, les deux œuvres sont très différentes l’une de l’autre. Praesul et rex qui font le lien entre les deux s’expliquent davantage par les realia partagés de l’époque.

En outre, la différence de préoccupations des deux écrivains apparaît évidente à la lecture de ce graphique basé sur le calcul des scores TF-IDF des poèmes : ressortent ici les mots distinguant le plus les deux ouvrages. Paris, décrit par son titre urbs, ses lieux et ses défenses se distingue de la patria d’Alcuin, illustrée quant à elle par ses prélats et ses mœurs.

Cet état de fait invitait à repenser la proximité entre Abbon et Alcuin, et à interroger le texte d’Ermold à son tour, bien plus empreint de récits de bataille. De nouveau, seuls deux termes sont identiques : arma et rex. Cela renvoie en fait à la situation décrite dans notre premier arbre : Abbon se distingue de tous ces auteurs avec lesquels il ne semble pas entretenir une relation de continuité.

Analyses des lemmes aux textes

De cette série de test ressort la difficulté posée par la différence de taille des corpus, les épopées classiques étant considérablement plus grandes, et la seule recherche de mots pour déterminer la proximité entre écrivains étant très limitée. Pour enrichir la chose, je cherchai donc sur les conseils de M. Berra, la liste des termes déterminants à la construction des arbres d’analyse de groupe.

Nous voyons ici que le premier substantif exploitable est arma. Or, grâce au script R frequencies correlations nous pouvons faire ressortir pour chaque auteur les mots les plus employés hors stop-words. Les résultats obtenus indiquent, en observant pour chacun la position de arma, combien différemment il est employé par les uns et les autres. En particulier, nous constatons que, en tant que mot, arma relie plutôt les pratiques d’Abbon et d’Angilbert (emploi relativement fréquent qui se différencie de son omniprésence chez les classiques et Ermold, et de son absence chez Alcuin). En tant que lemme toutefois, il isole Alcuin de tous les autres.

Cette méthode de travail peut s’avérer très utile dans le cours de mon mémoire, afin de pouvoir cerner rapidement, dans l’étude d’une expression particulière, quel auteur a le plus de chance d’offrir des éléments de comparaison intéressants. Pour affiner encore les recherches, le script R distribution permet, en visualisant les occurrences d’un terme, ici arma, dans chaque œuvre, d’identifier lesdites occurrences offrant le plus de similarités (ici les trois finales). La distribution de ce genre de termes saillants peut s’avérer tout à fait pertinent pour mettre en relief et distinguer des épisodes particuliers ; ici de batailles. Par exemples, nous voyons que nos deux auteurs utilisent surtout arma à l’ouverture et à la conclusion de leur poème, ce qui peut correspondre à la convocation de topoi semblables d’incipit et d’excipit de récits de bataille.

Pour finir, une dernière idée fut d’employer le TF-IDF afin de montrer l’originalité d’Abbon par rapport à tous les autres poètes médiévaux sélectionnés regroupés en un document unique :

Cela donne quelques indications, dans l’étude d’expressions chez cet auteur, quant aux termes les plus propres à son écriture (Odo par exemple, nom d’un personnage), et ceux ayant le plus de chance d’avoir été empruntés à tel ou tel autre (Ordine, munera), eu toutefois égard au fait que les corpus demeurant relativement brefs, ces résultats ne sont que relatifs et fournissent au mieux des axes de recherche ultérieure.

 

En conclusion, nous pouvons dire que les différentes études que permettent les outils numériques invitent à la prudence : les corpus sont en effet très différents et par la langue et par la taille, ce qui invite sans cesse à affiner les observations. Dans le cadre de mon mémoire, toutefois, cela permet d’orienter des études de vocabulaire et d’expressions afin d’avoir accès plus immédiatement aux bons textes. Quant aux essais de rapprocher Abbon, soit plutôt des Antiques, soit plutôt des poètes médiévaux, nous sommes contraints dans l’état actuel de notre utilisation des ressources sus-dites de le faire mot à mot, sur des cas bien précis. Cependant, nous pouvons tout de même certifier qu’il faut envisager toutes les œuvres médiévales épiques comme autant de manifestations du génie particulier de poètes qui faisaient chacun une œuvre assez novatrice pour leur époque, avec un rapport particulier et propre aux classiques qu’ils étudiaient.

Les noms divins dans les traités de magie attribués à Salomon. Edition numérique du Liber Hynotheon (ADIV 5fb 1)

         Dans le cadre de mon master HCHN, j’ai pour objectif d’éditer un manuscrit de magie encore inédit, le Liber Hynothéon, conservé au sein des Archives départementales d’Ille-et-Vilaine sous la côte 5 Fb 1. L’auteur indique que ce livret serait la traduction en latin d’un ouvrage plus ancien écrit en chaldéen et recèlerait la magie du très sage Salomon, mais à en juger par son écriture, il a dû être rédigé au XVII-XVIIIe siècle et saisi par la justice avant la Révolution française. La source principale de ce texte semble être l’Almadel. Ce traité de magie rituelle est fameux : il servait à invoquer et à conjurer les anges. Il tirerait ses origines de l’Iran ancien et de l’Extrême Orient, mais ses versions médiévales ont été tout à fait christianisées. Cependant, tout comme l’Almadel avait fait l’objet d’un profond processus de réécriture et d’acculturation à partir d’un prototype arabe, l’élaboration de ce manuscrit s’apparente par de nombreux côtés à un « bricolage » au sens de C. Levi-Strauss. L’auteur s’est arrangé avec les « moyens du bord » pour construire son texte. Il a eu recours à des éléments recueillis et conservés au cours de ses lectures : des extraits des différents livres de la Bible, – Genèse, Psaumes ou Apocalypse -, des notes prises à partir de textes de magie rituelle, ou bien encore des concepts empruntés à Aristote. À terme, l’édition numérique en ligne de notre manuscrit, devrait permettre de faciliter la comparaison avec d’autres textes similaires, et ainsi déterminer comment les traités de magie se construisent, et d’une certaine manière, préciser les modalités de transmission et d’innovation des connaissances.

         L’élaboration d’une édition diplomatique et interprétative de ce manuscrit a nécessité tout d’abord un travail de toilettage et de préparation minutieux. À l’issu de la transcription du manuscrit, il était tout d’abord nécessaire d’encoder la texte en langage XML, ou « extensible markup language » et suivant les règles de la TEI (Text Encoding Initiative). Dans l’en-tête, représenté par élément <teiHeader>, sont rassemblés les métadonnées qui décrivent le document : taille, origine, lieu de conservation… Le texte lui-même a ensuite été structuré et encodé selon un certain nombre de balises relativement courantes. L’élément <div> nous a notamment permis de diviser le texte selon un certain nombre de « livre » et de « chapitre » qui n’existaient pas à l’origine, mais que nous avons défini afin de faciliter le repérage au sein du Liber. La particularité du texte nous a amené à repérer plus spécifiquement les noms qualifiés dans le texte de « divins ». Sur le modèles des « noms barbares » des formules magiques, du type abracadabra ou hocus pocus, ces noms correspondent en théorie aux noms secrets des anges ou de Dieu. La plupart du temps, ils n’ont aucun sens véritable et leur étymologie est la plus souvent fantaisiste, du moment qu’ils résonnent à l’oreille comme des vocables d’origine hébraïque, grecque, ou arabe. Sur le modèle de la théurgie, leur prononciation permettrait à l’opérant d’entrer en communion avec les puissances divines. La balise <name type= « divin »> les signale tout au long du texte, ce qui permettra à terme l’élaboration d’un lexique, et une comparaison avec les manuscrits magiques qui ont recours à ce même type de vocable.

      Sur les conseils de M. Berra, j’ai commencé à utiliser GitHub, une plate-forme open source qui permettait d’héberger en ligne sur un certain nombre de dépôts ou repositeries, tels que le ‘HN4-Liber-Hynotheon’ qui regroupait les images du manuscrit en format jpeg, la version du texte en format hmtl et xml. Monsieur Berra a ensuite été désigné comme administrateur afin qu’il puisse m’aider à résoudre les principaux problèmes rencontrés. L’utilisation de l’application open-source GitHub Desktop me permettait d’interagir directement avec GitHub : sur mon ordinateur personnel, je pouvais organiser et encoder progressivement le Liber Hynotheon à l’aide du logiciel Visual Studio Code, et ensuite, à l’aide de la fonction Push, envoyer directement les modifications sur le dépôt en ligne. Inversement, grâce à Pull, il m’était possible de mettre à jour mes fichiers en fonction des corrections proposées par Mr Berra. Une fois que le manuscrit a été encodé, j’ai pu poursuivre le même travail sur les versions parallèles de l’Almadel accessibles sur le site de Jospeh H. Peterson, Esoteric archives. De plus, deux versions françaises de l’Almadel sont conservées au sein de de la Cabale Divine ou la Stéganographie. Ces manuscrits sont actuellement à la Bibliothèque Wellcome (Wellcome 4666) à Londres, et à la Bibliotheca Philosophica Hermetica (BHP 277) à Amsterdam. Sur les sites de ces deux bibliothèques, le chercheur a accès à leur reproduction en format jpg ou pdf, ce qui m’a permis de les transcrire et de les encoder ensuite sous le format xml-tei. GitHub m’a donc permis de mettre en œuvre un travail collaboratif particulièrement efficace et de rassembler sur un même espace l’ensemble des données nécessaires.

       Afin de mettre directement en ligne l’édition du Liber Hynotheon en XML-TEI, il a finalement été décidé de recourir à l’outil EVT (Edition Visualization Technology). Ce logiciel en open source est relativement aisé d’utilisation : l’administrateur peut notamment modifier l’apparence de n’importe quel élément portant une certaine balise TEI, et agir sur la présentation de l’apparat critique, les corrections réalisées par le scribe, les annotations marginales, et les propositions de correction. À l’aide d’EVT, GitHub peut ensuite mettre en ligne l’édition du manuscrit rennais. Ceci offre plusieurs avantages. L’Almadel jouit en effet d’une certaine popularité sur Internet : on peut acheter un autel portatif destiné à invoquer les anges sur Amazon, des groupes de rock présentent certains clips sous ce nom sur Youtube, mais le texte français n’est pas directement accessible. Par rapport à une édition classique, de style Belles Lettres, ou par rapport à l’édition en ligne proposée par Jospeh H. Peterson, cette édition numérique a l’avantage de faciliter de l’inclusion des images et de mettre en œuvre un traitement automatisé des index. Les changements de configuration proposés par M. Berra permettent de plus de travailler tout aussi bien sur une édition diplomatique qu’interprétative. J’ai fait le choix de présenter aussi sur le même site la traduction du texte, ainsi qu’un ensemble de notes qui facilitent la compréhension du manuscrit. C’est un travail relativement agréable à réaliser car il donne rapidement  des résultats : afin de se rendre compte des conséquences des modifications et des choix effectués, il est notamment possible de visualiser le site en local sur Google Chrome, en transmettant les commandes adéquates par le biais de l’application  Terminal.

       L’édition numérique du Liber Hynotheon est en voie d’achèvement. Par contre, l’intégration de la traduction en français et des autres manuscrits transcrits est plus complexe que prévue et nécessite encore des aménagements d’EVTViewer. A terme, j’ai encore bon espoir de pouvoir comparer directement le Liber Hynotheon avec les différentes versions de l’Almadel (latines, anglaises et françaises). Mon hypothèse est que cela permettrait, au-delà de la diversité des langues, d’établir des généalogies ou plus exactement d’un manuscrit à l’autre. Sur une base aussi étroite d’un point de vue quantitatif, il ne s’agira pas de prouver scientifiquement quoi que ce soit, ou de mettre en œuvre automatiquement un stemma. Par exemple, la citation de la Donation de Constantin porte uniquement sur deux mots accolés diadema corona. De plus, la comparaison s’effectue sur des textes en langues étrangères. Pour l’instant, quelques analyses telles que l’établissement de lexiques des noms divins et la comparaison entre les différentes représentations de l’autel d’invocation devraient souligner des liens de parenté à travers le temps et l’espace européen. Comme il n’est pas possible de lemmatiser ces « noms divins » et comme chaque scribe les comprend à leur manière, il est encore nécessaire de recourir à l’intuition humaine pour penser par exemple que Hynotheon correspond à l’Honoyteon retrouvé sur un manuscrit italien du XVe, ou à d’autres noms bizarres tels qu’Onoytheon, Onaypheon ou Onayefeon. D’une certaine manière, c’est réconfortant à l’heure où l’IA commence à s’implanter dans tous les domaines de la recherche.

Nicolas CORRE

Vers un repérage automatique des émotions dans un corpus latin

Le projet 

L’objectif de recherche de mon Master 2 est de repérer et d’identifier automatiquement les émotions présentes dans un corpus épique latin composé de la Thébaïde de Stace, de la Pharsale de Lucain, de l’Enéide de Virgile et des Argonautes de Valerius Flaccus. Cette recherche a pour but de réaliser une étude comparative des émotions dans chaque œuvre. Mon analyse prend en compte à la fois des émotions dites (mots-concepts) et des émotions montrées (manifestations). Je m’appuie pour cela sur un lexique référentiel constitué en M1 recensant l’ensemble des mots qui renvoient à des émotions. Ce lexique a été construit à partir d’une recherche de cooccurrences de surface réalisée sur le corpus latin du LASLA à partir des émotions répertoriées par Cicéron. Je dispose donc d’une liste de termes, associée à une base de données regroupant l’ensemble des formes fléchies de chaque entrée du dictionnaire. Ces données sont, de plus, regroupées par racine lexicale (par exemple, pavor, pavidus, paveo sont identifiés sous le code « 101 »).

Extrait du lexique des émotions dites
Extrait du lexique des émotions montrées

Identifier automatiquement les émotions dites ne pose pas de problème particulier, car il s’agit d’une simple recherche par chaîne de caractère. L’association entre le mot et l’idée étant presque systématique, un simple script de recherche lexicale a suffi. Cependant, c’est beaucoup plus problématique dans le cas des émotions montrées, faisant appel à un lexique qui est occasionnellement associé à des émotions, notamment par connotation. Si certains termes sont non ambigus, comme lacrima, d’autres ne permettent pas une annotation systématique (comme flamma qui peut aussi bien renvoyer aux flammes de l’amour qu’à celles de l’incendie). Par conséquent, mon projet HN4 avait pour objectif de construire un script capable de repérer automatiquement et efficacement les manifestations d’émotion. Mon hypothèse de départ était qu’en prenant en compte le contexte du mot cible, il devait être possible de décider s’il s’agissait effectivement d’une manifestation émotionnelle ou non. Cette hypothèse découle d’une expérience de lecteur où l’on comprend que le mot relève de l’expression de l’émotion grâce au contexte qui l’entoure. C’est pourquoi j’ai tenté de mettre au point un script R qui prenait en compte le contexte avant d’annoter et d’identifier le mot cible. L’objectif de mon projet est de fournir un outil efficace pour aider à l’annotation des émotions et voir s’il est possible d’automatiser cette annotation.

La méthode :

A. Préparation du corpus

Afin d’expérimenter mon script, j’ai choisi un corpus restreint par rapport à mon projet de mémoire, et ai donc travaillé sur les Argonautiques de Valerius Flaccus. En effet, je dispose d’une version de ce texte encodée manuellement à l’aide d’Oxygen, avec laquelle je pourrai comparer les résultats de l’analyse automatique.

Capture d’écran du texte des Argonautiques encodé manuellement

 

Mon corpus numérique est issu de l’édition de Ehlers (1980), en format numérique, obtenu à partir de la Bibliotheca Teubneuriana en ligne, que j’ai nettoyé dans l’éditeur de texte Notepad++ (que j’ai l’habitude d’utiliser et qui permet un usage facile des expressions régulières, notamment). J’ai entré le texte en format TXT dans R. A partir de l’édition papier, j’ai créé des variables pour chaque chant avec les numéros de vers (je ne pouvais pas procéder à une numérotation totalement automatique car certains vers sont manquants, et je voulais respecter au maximum l’édition de Ehlers). Ces vecteurs ont été transformés en dataframes, puis fusionnés, ce qui m’a permis d’avoir un ensemble de données avec le numéro des chants et le numéro des vers. 

Ensuite j’ai transformé le texte de Valerius Flaccus en tibble, avec une ligne par vers (numérotés grâce aux variables manuellement définies). Enfin, j’ai opéré une tokenisation (avec pour unité le mot), grâce à des fonctions du package tidytext vues lors des cours HN3. Je dispose ainsi de données où pour chaque ligne j’ai le vers, le chant, le numéro de vers, la position du vers dans l’œuvre, le mot cible, et la position du mot dans l’œuvre.

Capture d’écran du début du texte dans le dataframe

 

 

b. Préparation des données des émotions

J’ai dû ensuite formater ma banque de données lexicales recensant les formes des mots pouvant renvoyer à des émotions. L’idée initiale était de constituer des dictionnaires en dataframes et d’opérer ensuite une fusion à partir de la variable [word], ce qui permettait une identification du lexique commun au lexique référentiel et au texte. Cette méthode fonctionne pour les émotions dites, quoiqu’elle nécessite de nombreuses manipulations de données (et génère assez facilement des erreurs, notamment des dédoublements de lignes). Surtout, cela ne peut pas être appliqué pour les émotions montrées car cela ne permet pas de prendre en compte le contexte. De plus, je devais enregistrer dans une même variable des ensembles de données de longueurs différentes, ce qui était impossible dans des dataframes. Il fallait aussi que l’extraction de données depuis le lexique référentiel soit automatisable, car cela aurait été trop coûteux de reproduire 254 fois (pour le nombre d’entrées du lexique) la même opération. Grâce aux conseils d’A. Berra, j’ai donc constitué des listes, et entré chaque ensemble de formes, correspondant à des racines lexicales, dans une liste référence. J’ai créé une fonction permettant de récupérer l’ensemble des formes associées à chaque code chiffré depuis la base de données, et indexé chaque ensemble de formes dans le dictionnaire. 

Capture d’écran du script permettant de stocker les données du lexique référentiel des manifestations dans une liste

C. Repérage automatique des émotions

J’ai ensuite préparé mon dataframe pour l’accueil de nouvelles données en créant des nouvelles variables correspondant au repérage la présence de l’émotion d’une part et à l’identification du type d’émotion d’autre part (peur, colère, joie, etc.). J’ai d’abord exécuté le script pour le repérage des émotions dites, qui ne posent a priori pas de difficultés particulières, avant de lancer la requête sur les émotions montrées. Pour celles-ci, j’ai d’abord effectué un repérage simple sans condition des mots dans le corpus qui trouvaient une correspondance dans le dictionnaire de référence.

Capture d’un extrait du script R permettant de repérer et d’identifier les émotions d’après le contexte

 

J’ai récupéré une liste de ligne à tester, enregistrée dans un vecteur, à partir de laquelle j’ai construit un script pour analyser le contexte. En effet, pour chaque élément du vecteur, j’ai vérifié si dans une plage de -5mots ; +5mots il y avait des mots déjà encodés comme étant des émotions. Si c’était le cas, le mot cible était identifié comme une émotion, la variable correspondante était modifiée. De plus, selon la catégorie d’émotion présente dans le contexte, le mot cible était étiqueté comme appartenant à cette même catégorie. J’ai ainsi enrichi mon jeu de données.

D. Test de réussite

Pour juger de la validité de ce processus, j’ai réalisé une phase de test visant à comparer les résultats de l’annotation automatique avec les données du corpus annoté manuellement. Je dispose en effet d’une annotation manuelle des Argonautiques dans laquelle chaque mot renvoyant à une émotion est identifié, balisé et complété par des attributs indiquant s’il s’agit d’un concept ou d’une émotion, et de quelle catégorie d’émotion il s’agit (colère, tristesse, etc.). J’ai dû modifier mon document XML-TEI afin de pouvoir l’exploiter efficacement dans R. L’objectif était d’obtenir un dataframe issu du XMLque je pourrais fusionner avec le jeu de données que j’avais généré. Or, la fusion s’effectuant par une variable contenant les mots du texte, il a fallu que je singularise chaque token par une balise <w> et que je modifie et simplifie mon encodage pour ne garder que les informations nécessaires au test contenues dans des attributs à cette même balise. J’ai effectué ces manipulations à l’aide d’expressions régulières dans Oxygen. 

Grâce au package xml2, et aux conseils d’A. Berra, j’ai extrait les données et les ai mises dans un dataframe. J’ai donc récupéré les mots du corpus et indiqué automatiquement dans une variable la présence d’émotion. J’ai dû nettoyer les données afin de rendre possible la fusion (quelques erreurs de tokenisation causées par des erreurs dans le fichier source posaient notamment problème). J’ai ensuite fusionné les données, et ai lancé un petit script permettant de comparer les données de la variable d’annotations issue du XMLavec les annotations issues du script R. J’ai entré les résultats dans de nouvelles variables, distinguant les succès, les faux-positifs et les faux-négatifs, et ai lancé un décompte du total de chacun. J’ai également généré deux dataframes issus de la fonction filter() pour les faux-positifs et faux-négatifs, afin d’analyser les erreurs et d’améliorer le script par la suite.

E. Résultats

e.1 Emotions dites :

La recherche des émotions dites ne posant pas de problème particulier, le repérage automatique permet assez rapidement d’obtenir des résultats utiles pour l’analyse de la présence des émotions dans les œuvres. R a permis une automatisation de la recherche dans des corpus que je n’avais pas encodés manuellement et donc permet d’effectuer des comparaisons facilement. J’ai généré des graphiques à l’aide de ggplot afin d’obtenir des visualisations de ces données obtenues.

Emotions dites dans l’Enéide
e.2 Emotions montrées:

Le repérage automatique des émotions montrées étant le plus complexe, j’ai procédé à des tests de réussite plus poussés afin d’appréhender la réussite réelle de la manipulation avant de réaliser une analyse des émotions en elles-mêmes. 

J’ai effectué plusieurs tests, notamment en faisant varier le contexte pris en compte pour le repérage automatique.

Contexte(mots)

OK

Faux positif

Faux négatif

Taux de réussite

% émotions trouvées

3

1217

497

907

46,43

55,09

5

1317

690

807

46,80

59,62

10

1551

1172

573

47,06

70,21

0

1800

2067

324

43

81,5

 

On constate qu’il reste un grand nombre d’erreurs dans l’annotation automatique, et ce quelle que soit l’échelle. On peut établir plusieurs conclusions quant au script établi :

  • Il y a un problème au niveau du repérage, car même sans prendre en compte le contexte, toutes les occurrences ne sont pas repérées. Cela signifie qu’il manque des éléments dans le lexique référentiel, ou du moins qu’il y a un décalage entre celui-ci et ce qui est considéré comme une émotion dans le corpus annoté
  • Le fait de prendre en compte le contexte permet de restreindre le nombre de faux positif de manière évidente : cela permet bien, a priori, d’éliminer certains mots identifiés à tort comme relevant d’une émotion.
  • Plus le contexte est large, plus le nombre d’émotions trouvées augmentent. Les erreurs également mais le taux de réussite ne change que peu (inférieur à 50% dans tous les cas).

Après une analyse des erreurs faux négatifs, j’en suis arrivée au constat que certains mots étaient éliminés, alors qu’ils renvoyaient presque toujours à l’expression d’une émotion (les larmes, les plaintes, le deuil). J’ai donc modifié mon script pour différencier, parmi les manifestations, celles qui étaient ambiguës et nécessitaient une recherche dans le contexte, et celles qui étaient presque à coup sûr des expressions émotionnelles. J’ai relancé le script de recherche et l’analyse de réussite.

Contexte (mots)

OK

Faux positif

Faux négatif

Taux de réussite

% émotions trouvées

3

1382

538

742

            51,92

            62,56

5

1474

756

650

            51,18

            66,73

10

1538

1205

486

            47,63

            69,62

 

Le taux de réussite est plus élevé. Ce script est plus performant pour trouver les émotions, mais laisse encore passer de nombreuses erreurs. 

En analysant les faux positifs et faux négatifs, j’identifie deux causes pour les faux-négatifs :  

  • Soit la forme n’est simplement pas dans le lexique référentiel, qui est donc à compléter et à améliorer.
  • Soit les mots sont pourtant dans la liste du lexique référentiel mais pas identifiés comme des émotions. Cela veut dire qu’ils ont été éliminés par le script R par erreur, et que celui-ci peut être amélioré. Sur les 486 faux-positifs dans un contexte -10 + 10, 257 sont dus à cette erreur.

Et deux causes essentielles pour les faux positifs :

  • L’ambiguïté lexicale : le script prenant en compte des chaînes de caractères, il y a des erreurs d’identification. C’est inévitable sur un corpus non lemmatisé. Pour réduire ces erreurs, on pourrait modifier le lexique et voir si la suppression des éléments problématiques est pertinente et joue sur le taux de réussite
  • Une collocation fortuite

En récupérant les termes les plus souvent annotés comme faux positifs on voit nettement que certaines entrées du lexique créent des erreurs presque systématiquement, pour un taux de réussite très faible.

Termes les plus associés à des résultats faux positifs

J’ai malgré tout essayé de comparer une visualisation obtenue avec les émotions dites et celles prenant en compte en plus les émotions montrées.

Emotions dites et montrées dans les Argonautiques
Emotions dites dans les argonautiques

On observe que les tendances générales ne se trouvent pas bouleversées par la prise en compte des émotions montrées, sauf dans l chant VI où la tristesse prend finalement le pas sur la peur, ou dans le chant 7 où l’amour occupe une place plus importante (ce qui nous semble cohérent avec notre expérience de lecture).

De plus, si l’on compare avec une visualisation issue de l’encodage manuel du document XML, il apparaît que la prise en compte des émotions montrées permette d’obtenir des résultats plus proches de la réalité, malgré les nombreuses erreurs que nous avons signalées. La peur et la tristesse notamment semblent plutôt bien repérées. En revanche, notre analyse automatique manque clairement de précision concernant la colère et la fureur, largement sous-représentées dans nos résultats par rapport à ce qu’on s’attendrait à trouver, et la joie au contraire sur-représentée. Le tableau ci-dessous vient confirmer ces premiers constats visuels :

Comparatif des émotions trouvées par type d’émotion et par chant.

En effet, la joie est largement sur-représentée dans l’analyse automatique (qui va au-delà de la tendance du script automatique à générer de nombreux faux-positifs). On note aussi des problèmes d’identification importants dans les chants 2, 5 et 6 qui semblent être le lieu de confusions entre la colère, la douleur et la fureur. Cela vient du fait que les émotions sont fortement entremêlées dans ces chants, et que le script n’a pas su choisir à quel mot-concept rattacher telle manifestation.

F. Perspectives

Pour améliorer les résultats, je propose plusieurs pistes à tester :

  • Evaluer la pertinence de l’association des manifestations avec certaines émotions comme la joie. On trouve 178 occurrences de la joie dans le XML, 163 avec la recherche d’émotions dites, et 341 avec les émotions montrées. Ici l’ajout de données crée trop d’erreurs, car c’est une émotion qui est peu associée à des manifestations physiques.
  • Modifier la condition de validation en prenant en compte le fait que certaines émotions montrées ne sont pas accompagnées d’un concept, afin de réduire le nombre de faux négatifs. On pourrait vérifier également s’il n’y a pas une autre manifestation à proximité. Cependant, cela risque d’augmenter les faux-positifs à cause de cooccurrences fortuites et non liées à l’expression d’une émotion.
  • Ajouter une condition pour la validation de l’émotion. Dans la configuration actuelle du script de recherche, il suffit d’une cooccurrence pour valider le fait que la forme cible relève de l’expression de l’émotion. On pourrait ajouter comme condition qu’il y ait au moins deux cooccurrents (concepts ou manifestations) pour valider.
  • Voir si le lexique référentiel mérite d’être enrichi, et si cela ne provoque pas plus d’erreur que cela n’en résout.
  • Réduire le lexique référentiel en éliminant raisonnablement les entrées qui créent trop d’erreur.

Conclusion

La recherche automatique des émotions semble malgré tout un outil utile comme support à l’analyse des émotions. S’appuyer sur l’analyse du contexte pour repérer automatiquement les émotions montrées semble pertinent et permet de réduire considérablement les erreurs provoquées par une simple recherche d’occurrences, sans condition. Cependant, par rapport à notre hypothèse de base, il apparaît qu’une validation à partir de la présence d’un autre terme émotionnel dans le contexte proche n’est pas suffisant. Il faudra encore préciser les conditions d’identification des termes cibles comme relevant du domaine émotionnel et améliorer les ressources à notre disposition. 

 

Les sens et la maternité dans l’Hécube d’Euripide

Mon mémoire de recherche de M2 s’intitule “Une approche sensorielle de la maternité dans les Troyennes, Hécube et Andromaque d’Euripide”. Il s’agit donc de s’intéresser à la question des sens dans un contexte de maternité, dans ces trois pièces qui mettent en scène deux figures maternelles majeures de l’œuvre d’Euripide: Andromaque et Hécube.

Définition du projet

Au premier semestre, dans le cadre du cours humanités numériques 3, nous avons appris à nous familiariser avec le langage R et l’interface de RStudio. C’est dans cette continuité que s’inscrit le projet personnel du cours humanités numériques 4, qui consiste à mener un travail en lien avec notre sujet de mémoire et les compétences acquises au premier semestre. Pour ma part, j’avais d’abord pour ambition de traiter l’ensemble de mon corpus, puis j’ai décidé de me focaliser uniquement sur la pièce Hécube.

L’une des questions que je me posais dans le cadre de mon mémoire était la suivante: le lexique des sens est-il davantage employé dans le contexte de la maternité, ou bien est-il spécifique aux textes et personnages d’Euripide de manière plus générale? Il me semblait que les outils à notre disposition me permettrait de tenter de répondre à cette question.

 

Préparation des données

Tout d’abord, j’ai récupéré le texte brut (plain text) dans la base de données de DraCor. Il a fallu ensuite vérifier qu’il n’y avait pas de différences majeures entre ce texte et celui dans l’édition Budé que j’utilise pour mon mémoire. Cette étape était un peu laborieuse, mais nécessaire, au final il y avait peu de différences (quelques δε parfois abréviés, parfois non selon l’édition…) 

Une fois le texte vérifié, j’ai fait le choix de le lemmatiser, afin que l’étude des termes soient plus pertinentes. J’ai utilisé le service de lemmatisation Deucalion, qui m’a fourni un tableau d’analyse de la totalité des mots de la pièce. Après diverses manipulations infructueuses j’ai finalement réussi à ne conserver que la colonne des lemmes, que j’ai enregistré dans un fichier .csv qui contient donc plus de 7000 termes.

 

Travail préalable

Afin de rechercher les termes en lien avec les sens dans la pièce Hécube, je me suis servie des passages que j’ai relevé pour mon mémoire, concernant les sens dans un contexte de maternité. J’ai relevé les termes précis (verbes et noms) en lien avec les sens et les ai copiés dans un fichier .txt, voici la liste:

Script R dans RStudio

J’ai ensuite crée un script dans RStudio, qui m’a permis de tester le document contenant le texte lemmatisé d’Hécube, afin de voir combien d’occurrences des termes liés aux sens et à la maternité l’on retrouve dans la pièce. Pour ce faire j’ai crée une boucle qui compte le nombre d’occurrences et l’ajoute à une liste si le terme a été trouvé au moins une fois. J’ai obtenu comme résultat le tableau suivant:

Interprétation des résultats

Nous pouvons maintenant interpréter ces résultats. Des verbes comme ὀράω, λαμβάνω, φέρω, πέμπω ou ἀκούω sont très fréquents dans la langue grecque, comme le substantif Χείρ, il n’est donc pas surprenant qu’ils apparaissent au moins une dizaine de fois, si ce n’est une vingtaine. En revanche, il est intéressant de voir que d’autres termes apparaissent très peu dans le reste de la pièce, ou même une seule fois. C’est le cas de κατοράω, τυφλοώ et ἔνυμνοσ pour la vue; ἀείρω, ἀναρπαστόσ et λούω pour le toucher; ou encore ὁδυρμοσ pour l’ouïe.

 

Conlusion

Grâce à ce résultat, nous pouvons conclure que, dans la pièce Hécube d’Euripide, les mots liés aux sens qui n’apparaissent qu’une seule fois, sont uniquement employé dans un contexte lié à la maternité et à la figure maternelle.

Pour aller plus loin…

Il serait intéressant, d’approfondir ce résultat, en regardant par exemple à quel moments du texte apparaissent les lemmes qui sont employés assez régulièrement dans la pièce, afin de voir ensuite, en contexte, s’il est possible de comparer cet emploi du lexique sensoriel avec l’emploi dans un contexte maternel.

L’usage des mots scatologiques dans l’œuvre d’Aristophane

Contexte et mise au point du projet

Mon mémoire portant sur l’injure scatologique chez Aristophane, le R semblait bien être un moyen de mettre en avant de façon pertinente certains aspects de mon texte.

Au départ, je voulais ainsi analyser et étudier de nombreux éléments : les fréquences des mots scatologiques, leur répartition par vers dans les pièces, leur nombre d’utilisation, le pourcentage d’insultes scatologiques au sein de toutes les insultes d’Aristophane, voir si on pouvait prédire

Finalement, après de nombreux écrémages, j’ai décidé de m’intéresser, dans toutes les pièces : 

  • au nombre de mots scatologiques
  • à leur fréquence
  • aux endroits de la pièce où ils apparaissent (à quels vers)

Et, pour mon corpus spécifiquement (Les femmes à l’Assemblée, les Cavaliers, les Nuées, la Paix), j’ai décidé de voir plus en détail :

  • les mots à caractère insultant (ou plutôt, d'”exposure” = mettre à nu une personne, l’humilier publiquement)
  • ceux qui dévalorisent leur locuteur.

Préparation des données

Pour ce faire, il a fallu d’abord faire du repérage dans les 11 pièces d’Aristophane pour trouver les mots à caractère scatologique : entre recherches dans le dictionnaire, lectures des oeuvres et de certains critiques, d’autres mots se sont ajoutés grâce aux recherches dans les textes-mêmes lors des corrections des lemmatisations (dont nous reparlerons ci-après).

Au total, c’est 76 mots qui se répartissent dans un tableau csv dont voici un aperçu (les valeurs numériques et la traduction correspondent à un point du mémoire qui n’est pas nécessaire pour ce tableau) :

 

Pour que cela soit utile, il faut ensuite lemmatiser les différents textes afin de pouvoir faire des recherches rigoureuses des différents mots qui nous intéressent. On doit donc prendre toutes les pièces d’Aristophane en xml sur le projet Perseus. En ne gardant du xml que les numéros de lignes et les vers, mis en plain text après diverses manipulations sur Visual Studio, on peut lemmatiser le texte sur Deucalion. 

Une fois ceci fait, il faut corriger les lemmes grâce à Pyrrha : les mots scatologiques sont rares et donc assez mal analysés pour certains, notamment les verbes qui se trouvent assimilés à d’autres : la recherche permet même d’identifier de nouveaux mots scatologiques que je ne connaissais pas. Cela fait donc une première série de 11 textes lemmatisés.

Le problème réside maintenant dans le fait qu’on a alors une analyse uniquement lemme par lemme. Si cela nous sera utile également, notre but est d’avoir aussi une analyse vers par vers pour des statistiques plus poussées dans chaque pièce. Grâce à un programme en R réalisé avec l’aide de M. Berra, on peut alors mettre ensemble les lemmes pour les grouper en vers derrière leur numéro dans un tableau csv. On a donc 11 nouveaux fichiers prêts à être utilisés. Par exemple, pour les oiseaux, le fichier ressemble à ça :

 

Méthodes d’analyses et résultats

Maintenant, on utilise un fichier R dans lequel on programme différentes parties : 

  • La première phase, d’initialisation, dans laquelle on programme les différentes fonctions et convoque les différents textes
  • La deuxième phase, de statistiques et de décomptes (combien de fois prononce-t-on de mots scatologiques ?)
  • La troisième phase, de distribution par mot
  • La quatrième phase, de distribution par vers
  • La cinquième et dernière phase, qui permet de définir si les mots sont des insultes ou non, et, si oui, si elles dévalorisent leur locuteur ou non.

Ainsi, avec la première partie, on crée les différentes variables de textes qu’on nettoie de toutes les dernières impuretés tout en mettant le tout sous forme de dataframe. On met aussi sous forme de dataframe la liste des lemmes scatologiques afin de les comparer aux textes.

Avec la deuxième partie, on obtient des décomptes sur les différents textes du nombre de mots scatologiques : on peut ainsi obtenir un tableau par pièce, trié de la plus forte occurrence à la plus faible. On rajoute également une ligne “TOTAL” au bout. 

On en fait également un général, dans lequel on voit le décompte total des mots de ce type chez Aristophane, et un général axé davantage sur les 4 pièces de mon corpus. Voici un aperçu du tableau des pièces de mon corpus, à savoir qu’il y a en tout, sur 217 mots scatologiques au total dans les 11 pièces, 124 mots de ce type dans ces 4 pièces.

On peut donc voir ici que dans mon corpus, le mot qui ressort le plus est πρωκτός qui signifie simplement “cul”, tandis que les verbes les plus employés sont χέζω (chier) et πέρδομαι (péter). On peut déjà déceler la première insulte directe qui est également la plus employée dans ce registre: εὐρύπρωκτος (enculé / large-cul). 

 

La troisième partie nous permet d’obtenir des résultats bien utiles également : l’ordre d’apparition des mots scatologiques et leur place précise dans le texte. Cela fonctionne exactement comme la partie suivante, mais nous est moins intéressant, donc on détaillera la méthode avec cette dernière. Cette partie était un premier essai, et se fait remplacer complètement en réalité par la quatrième. Cependant, elle a permis d’obtenir un tableau isolant les lemmes dans l’ordre, ce qui reste pratique.

La quatrième partie nous donne une représentation graphique des différentes occurrences scatologiques dans une pièce : c’est un graphique de distribution.

Pour obtenir ces résultats, on demande au programme de comparer les textes lemmatisés par ligne avec la liste des lemmes scatologiques trouvés. On ajoute à la dataframe la colonne “scat”, qui prend la valeur “1” si un des mots du vers au moins est dans la liste, et “0” autrement. Ensuite il suffit de regrouper dans deux variables les données obtenues : la première en ne conservant que les lignes ayant pris la valeur “1” dans la colonne “scat” (afin de faire un tableau permettant de voir toutes les occurrences par ligne dans l’ordre, sans s’embarrasser de lignes non-scatologiques), et la deuxième contenant toutes les données afin de permettre la visualisation : chaque vers où la valeur “scat” est 0 est donc représentée par du vide, et chaque vers où elle est égale à 1 se voit représenté par une barre. Ainsi on peut facilement identifier le profil d’une pièce, déceler les clusters scatologiques dans la pièce et au contraire les moments où ces motifs sont totalement absents.

Voici l’exemple de ce qu’on obtient pour la Paix :

Dans l’exemple ci-dessus, on peut expliquer aisément le cluster de début : c’est le bousier qui est à Athènes et qui dévore des galettes d’excréments servies par des koprologoi, et la situation, qui est “merdique”, est relatée par Trygée et ses esclaves. De plus, pour préparer son envol vers l’Olympe, il a besoin que chacun “ferme son anus” pour éviter que le bousier ne veuille redescendre sur terre. La seule occurrence scatologique entre les vers 200 et 700 environ vient du choeur qui se dit “péter de joie”, ce qui le dégrade quelque peu et le rend grossier et ridicule certes, mais marque une seule occurrence, anomalie, dans ce passage chez les dieux, marqué bien davantage par des plaisanteries positives autour de la sexualité (puisque la sexualité engendre, là où l’excrément est pure excrétion de matière morte et digérée). Ensuite, le retour de ces motifs provient du retour sur terre, puis le nouveau cluster est l’utilisation abusive par Trygée de la scatologie pour dégrader la guerre : faire d’une armure des toilettes notamment. Il est donc aisé de voir les schémas de la pièce et l’utilité des motifs scatologiques pour l’intrigue via ces graphiques.

 

Enfin, la cinquième phase permet d’obtenir trois données : ceux qui sont visés par des insultes dans les pièces (et donc, s’il s’agit d’insulte ou non), s’il s’agit d’auto-dérision ou non, et qui prononce le plus de propos scatologiques. Il suffit pour cela de regarder les textes directement afin d’avoir le contexte, et d’ajouter des colonnes supplémentaires aux dataframes ne conservant que les occurrences scatologiques de la distribution par vers. 

Ici par exemple, on voit que sur les 127 lemmes scatologiques relevés dans les pièces qui nous intéressent, 121 sont utilisés de façon dégradante, 90 “exposent” quelqu’un d’autre que le locuteur, et 31 sont employés afin de se moquer de la personne qui parle.

Conclusion

Ces données sont donc précieuses pour analyser le fonctionnement de l’insulte scatologique dans l’oeuvre d’Aristophane. Elles m’ont permis de découvrir des aspects de mon corpus, de mettre en lumière facilement les choses qui m’intéressaient, et me permettront d’illustrer mon mémoire et de nourrir sa réflexion.

 

Projet personnel : encodage numérique d’un manuscrit des Variae de Cassiodore

Mon mémoire de recherche de M2 consiste en la transcription d’un manuscrit portant une leçon du livre II des Variae de Cassiodore. Afin que ce projet numérique me soit le plus utile, j’avais d’abord songé à élaborer un code qui m’aurait permis de relever les différences entre ma transcription et le texte qui me sert de référence, celui de l’édition de Mommsen. Cette entreprise, se révélant trop importante en termes de charge de travail, et dont l’efficacité des résultats aurait été de surcroît incertaine, j’ai finalement opté pour un projet plus simple et plus accessible.

 Mon projet a donc consisté, sur suggestion de Monsieur Berra, à transcrire de façon numérique le manuscrit. En effet, mon intention initiale étant de reporter les notes d’apparat critique indiquant les variantes d’une leçon à l’autre en bas de page, il a paru plus commode d’utiliser à cette fin le langage XML, et plus particulièrement la convention TEI, qui permet de générer automatiquement un apparat à partir des variantes encodées à même le texte. 

Pour ce faire, ainsi qu’il a été convenu dans le cadre de mon mémoire, j’ai pris pour base le texte de Mommsen. Afin de pallier l’impossibilité de le copier-coller, je me suis rabattu sur le texte de la Bibliotheca Augustana. Il a fallu ensuite procéder à une lecture comparée pour m’assurer que le texte copié était bien conforme au texte de référence de Mommsen. A l’issue de cette étape, j’avais donc concrètement sur un fichier Word, le texte de référence d’un côté, et le texte issu de ma transcription du manuscrit, de l’autre côté.

L’étape suivante fut celle de l’encodage, que j’ai pu réaliser, grâce à l’aide de Monsieur Berra, directement dans l’interface du logiciel Oxygen. Ce logiciel est celui recommandé par le projet DARIAH Teach, dont les guides vidéos me furent utiles dans cette entreprise. Ce projet, qui nous fut présenté dans le cadre du premier semestre du master afin de nous aider à concevoir un début d’édition critique numérique, a été, cette fois encore, ma principale ressource, afin de me remémorer les bases du langage XML et de la convention TEI. Les guides m’instruisirent sur la procédure à suivre, consistant à baliser le texte de référence afin d’y incorporer les variantes que présente le texte du manuscrit que j’ai transcrit. Il s’agit ensuite, pour chacun des mots qui varient d’une source à l’autre, de faire bon usage des balises <app> (pour apparatus), <lem> (pour lemma), <rdg> (pour reading), et <wit> (pour witness). Ces balises ont suffi à indiquer si un mot ou un groupe de mot a manqué, a été ajouté, modifié, ou bien déplacé d’une source à l’autre. 

Pour intégrer ce travail à mon mémoire, j’escomptais « transformer » le code en fichier PDF. Or, l’exécution des scripts XSLT de la TEI, intégrés à Oxygen, qui m’aurait permis de rendre possible cette conversion, ne semblait pas être compatible avec les notes de bas de page sous la forme desquels se présente l’apparat critique. Afin de générer le fichier PDF final, j’ai donc été contraint de passer par la Critical Edition Toolbox, une option alternative qui me permit d’obtenir le même résultat.

A cette contrainte vient également s’ajouter le fait que certaines informations ne s’affichent pas exactement de la meilleure des façons, bien qu’il semblerait que ces contraintes ne soient pas nécessairement imputables au fait que l’édition soit numérique. A titre d’exemple, un ajout du manuscrit transcrit par rapport au texte de base sera traduit dans l’apparat par un espace seul suivi d’un crochet puis de la leçon, rendant impossible en pratique de déduire où cet ajout se situe, sans autre indice que le numéro de la ligne de l’ajout. Fournir automatiquement davantage de contexte, par exemple en indiquant entre quels mots l’ajout se situe, aurait été bienvenu. Mais c’est un problème que l’on peut facilement contourner manuellement, en encodant les mots entre lesquels l’ajout se trouve, plutôt que d’encoder l’espace situé entre ces mots.

De plus, l’encodage en XML ne semble pas être « nativement » adapté à la nuance lors de la saisie des variantes. On peut rappeler que l’apparat critique ne se limite pas en temps normal à indiquer telle ou telle leçon, mais peut aussi préciser le degré de certitude de cette leçon, notamment grâce à l’emploi de mots latins venant la moduler. Or, la balise <rdg> ne semble être optimisée que pour accueillir la leçon brute sans aucun complément, ce qui est regrettable. Encore une fois, ce problème peut être contourné en explorant les options de personnalisation d’impression proposées par la Critical Edition Toolbox.

A noter enfin qu’il semble également être impossible d’user d’exposants dans Oxygen (du moins n’y suis-je pour ma part pas parvenu), dont l’utilisation aurait pu s’avérer utile pour noter Qa ou Q1. Plusieurs mains étant intervenues lors de la copie du manuscrit, ces notations permettent d’en rendre compte. Ainsi, lorsqu’un mot a été écrit puis corrigé par le scribe principal, Q1 aurait signalé ce qu’il avait écrit dans un premier temps, et Q2 aurait indiqué la version révisée par lui-même. Dans le cas d’une correction apportée par un tiers, QA aurait indiqué la version du scribe premier, et QB, la version corrigée par cet autre scribe. On se limitera donc, dans un premier temps, à les noter QA et Q1. Si ces imperfections persistent, on pourra éventuellement chercher à les corriger manuellement à l’aide d’un éditeur de fichiers PDF.