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

Les personnages d’Hécube et d’Andromaque dans les Troyennes 1/4

A la lecture des Troyennes de Sénèque et d’Euripide, la position d’Hécube nous a semblé remarquable : elle ouvre et ferme les pièces tout en occupant une place textuelle relativement grande, comme si elle rythmait la pièce. De là, il a semblé intéressant d’observer plus précisément ses prises de parole afin de vérifier l’hypothèse initiale et d’en dégager des hypothèses nouvelles.

Pour étudier cela, on commence par découper les prises de parole de chaque personnage afin de faire des statistiques (nombre de prises de parole, nombre de vers, nombre de mots prononcés). Pour ce faire, on récupère les textes aux formats XML-TEI.

On ouvre les documents avec Atom et on utilise des fonctions REGEX pour supprimer le superflus (les intervenants inscrits dans le texte notamment grâce à l’entrée : “<speaker>.*”, ou dans le texte grec la présentation des personnages par exemple).

Illustration de la fonction regex dans atom

Une fois ceci fait, on utilise l’outil XPather pour transformer et exporter tout cela en fichier TXT, avoir ainsi le texte brut sans aucune mention de personnages ou annotation et ainsi obtenir les statistiques exactes du texte, le nombre de mots total notamment.

Du reste, XPather nous permet aussi d’isoler nos différents personnages dans le texte par quelques lignes de commande. Ainsi on peut exporter en autant de fichiers TXT et XML que possible (le premier format permettant d’obtenir le nombre de mots précis prononcés par le personnage, et le second permettant de bénéficier de l’apparat critique pour calculer le nombre de vers et de prises de parole) pour chacun d’entre eux.

Par exemple pour isoler le personnage d’Hécube, voici comment procéder :
On tape la commande “.//*[self::sp][@who=”#hecuba”]” pour le texte latin et “.//*[self::sp][@who=”Hecube”]” pour le grec afin de trouver les différentes interventions du personnage. Il ne reste plus qu’à tout copier au format voulu et à l’enregistrer avec l’extension désirée. On réitère l’opération pour chacun des personnages et on a 2 fichiers par personnage de chaque pièce.

Xpather

Grâce à cela, on peut procéder à des calculs. En trouvant grâce au texte complet le nombre total de mots, de vers et d’interventions, il ne reste plus qu’à faire des statistiques. Voici donc les deux tableaux qui serviront pour nos analyses ultérieures : la division en pourcentages des prises de paroles des personnages dans chacune des pièces.

Tableau de valeurs Euripide
Tableau de valeurs pour la pièce d’Euripide

 

Tableau valeurs Sénèque
Tableau de valeurs pour la pièce de Sénèque

 

Ce qu’on peut constater avec ces résultats c’est que, certes, Hécube est dominante chez Euripide (elle parle sur ⅓ de la pièce !), mais que, dans cette occupation de l’espace, elle est remplacée par Andromaque chez Sénèque. Une nouvelle hypothèse émerge alors : y a-t-il inversion des rôles des personnages d’une pièce à l’autre ? Sur les plans thématiques et celui des interventions, Hécube d’Euripide est-elle le miroir d’Andromaque de Sénèque et vice-versa ? Cette hypothèse est entérinée par la place textuelle d’Andromaque chez Euripide et d’Hécube chez Sénèque, qui sont toutes deux à environ 10% de prises de parole. Les deux personnages semblent donc être connectés (à elles deux elles occupent près de 40% de la pièce), on ne peut analyser l’un sans l’autre.


Afin de vérifier cela nous avons utilisé plusieurs approches : une approche purement quantitative afin de comparer les moments où elles parlent, une approche quantitative et qualitative en comparant les lemmes les plus utilisés par chacun des deux personnages entre les pièces dans l’espoir de trouver des thématiques identiques, et enfin une approche purement qualitative où la remise en contexte des lemmes et la relecture des pièces nous permet de mieux comprendre nos résultats et de s’approcher davantage du sens du texte.


Pour la première approche, c’est-à-dire trouver qui parle quand et dresser un tableau comparatif, il faut utiliser d’abord Xpather afin d’obtenir les vers prononcés par les personnages qui nous intéressent (Hécube et Andromaque), comme vu précédemment. Ensuite une fois les numéros de lignes séparés et mis dans des colonnes Excel grâce à la fonction REGEX (chercher <l n=“.*“> pour trouver les lignes dans les fichiers ne contenant que les interventions d’un seul personnage puis supprimer <l n=“ et “>), il faut générer les lignes restantes dans une colonne à part, la colonne des « autres personnages qui parlent ». Pour procéder ainsi, on supprime les données non numériques de nos colonnes Excel (les vers ont des variantes : 1201a, 1203b…) en utilisant la fonction REGEX (on supprime juste a et b) avant de supprimer les doublons.

Tableaux Euripide/Sénèque
La mise en forme excel achevée. Les pourcentages représentent le moment de la pièce où la ligne apparaît (par exemple, pour Andromaque chez Sénèque, le vers 409 arrive à 33% de la pièce, elle prend donc pour la première fois la parole au tiers de la pièce)


Ensuite on colle toutes les valeurs dans un éditeur de texte comme Atom et avec la fonction regex on les sépare toutes par une virgule. Grâce à un addon d’Atom on peut tout mettre sur la même ligne : nos valeurs sont prêtes.

Maintenant je crée un nouveau fichier au format PY (python) et je déclare ces valeurs comme appartenant à une liste (ici nb_list, nom arbitraire) en collant toutes les valeurs entre crochets (en n’oubliant pas d’ajouter 0, sinon on se retrouverait avec un “vers 0”) : nb_list = [0,1,2,etc.]

Il ne reste plus qu’à créer une boucle for en déclarant une valeur de plus que le nombre de vers total de la pièce. Pour Sénèque il faut donc déclarer 1213  :

for i in range(1213):

(ce qui signifie que de 0 à 1212, l’ordinateur va effectuer les actions en dessous). 

La variable i sera donc celle qui affichera les bons numéros de lignes.

De là on définit avec une boucle if sous la boucle for que dès que le nombre n’est pas situé dans la liste définie plus haut, le programme doit l’afficher : 

if i not in nb_list:
     print(i)

Il ne reste plus qu’à lancer le programme avec le terminal, sauf qu’il faut que les valeurs ne s’affichent pas dans le terminal mais bien dans un fichier texte nouvellement créé, pour cela on entre cette commande : 

python NOMDUPROGRAMME.py > NOMDUNOUVEAUFICHIER.txt

illustration python
Fichier python et commande du terminal effectuée (en bas) pour les personnages chez Sénèque.

 

récupération affichage
Contenu du fichier txt généré.


Il n’y a plus qu’à récupérer les données en les collant dans une colonne du fichier excel et à les assembler aux autres dans des graphiques.

mise en forme excel

Alors voici ce qu’on peut trouver :

Graphique Euripide

Graphique Sénèque

On remarque que :

  • Les deux personnages apparaissent à peu près au même moment entre les deux pièces.
  • Hécube occupe les premiers et derniers vers des deux pièces.
  • Hécube occupe tout l’espace verbal chez Euripide, chez Sénèque beaucoup moins : c’est Andromaque qui a plus d’ampleur.
  • Andromaque apparaît au milieu de la pièce chez Euripide et disparaît peu après, chez Sénèque elle apparaît un peu plus tôt et disparaît à la fin.

En bref : d’un point de vue quantitatif, ces comparaisons ne disent pas grand chose encore à ce stade sur nos hypothèses, mais ces graphiques ne sont que des outils qui serviront à entériner ou à nuancer les données qualitatives trouvées ultérieurement.


Les deux autres approches, quant à elles, seront développées dans les billets suivants. En effet, il est apparu que les personnages devaient d’abord être comparés au sein-même de leur propre pièce avant de les analyser ensemble (on gagne ainsi en précision), on fera donc un billet sur chacune des pièces en commençant par celle d’Euripide afin de bien les analyser, développant les deux autres approches. La deuxième approche ne peut se faire qu’avec des différences de méthode et d’outils selon la langue (grec ou latin), tandis que la troisième repose sur le texte plus précis et sur une analyse littéraire : elle complète nécessairement l’autre. Dans un dernier billet nous comparerons les résultats obtenus afin d’en tirer les conclusions qui s’imposent au vu de notre hypothèse première : ces personnages semblent reliés au sein de leur pièce et leur rôle s’inverse tout à fait d’une pièce à l’autre.


OpenEdition vous propose de citer ce billet de la manière suivante :
Zacharie (16 mai 2022). Les personnages d’Hécube et d’Andromaque dans les Troyennes 1/4. Classiques et numériques. Consulté le 13 juin 2025 à l’adresse https://doi.org/10.58079/mvqt


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This site uses Akismet to reduce spam. Learn how your comment data is processed.