La Horde du Contrevent d’Alain Damasio est un roman « choral » : la narration se fait à travers une succession de points de vue attribués à des personnages différents.
Le passage d’un point de vue à un autre est marqué par des signes typographiques spécifiques à chaque personnage. Cette particularité permet d’automatiser l’analyse de l’attribution d’un passage du texte à un point de vue particulier, et donc de mesurer la place que prennent les différents personnages dans le roman.
Les dialogues sont associés au dernier personnage dont on a connaissance du point de vue.
Cartographie générale
Pour rappel, voici les différents personnages et leur signe :
Signe | Description |
---|---|
Ω | Golgoth, traceur |
π | Pietro Della Rocca, prince |
) | Sov Strochnis, scribe |
¿’ | Caracole, troubadour |
Δ | Erg Machaon, combattant-protecteur |
¬ | Talweg Arcippé, géomaître |
> | Firost de Toroge, pilier |
^ | L’autoursier, oiselier-chasseur |
‘, | Steppe Phorehys, fleuron |
)- | Arval Redhamaj, éclaireur |
ˇ• | Le fauconnier, oiselier-chasseur |
∞ | Horst et Karst Dubka, ailiers |
x | Oroshi Melicerte, aéromaître |
(·) | Alme Capys, soigneuse |
‹› | Aoi Nan, cueilleuse et sourcière |
∫ | Larco Scarsa, braconnier du ciel |
◊ | Léarch, artisan du métal |
~ | Callirhoé Déicoon, feuleuse |
∂ | Boscavo Silamphre, artisan du bois |
≈ | Coriolis, croc |
√ | Sveziest, croc |
]] | Barbak, croc |
] | Sélème, stylite |
Répartition sur l’intégralité du livre
Répartition par chapitre
Cartographie par chapitre
Répartition par genre des personnages
Méthodologie
Les calculs ont été fait par un script Python qui analyse les fichiers HTML de chacun des chapitre qui se trouvent dans l’édition numérique au format EPUB. En fonction de règles ad-hoc sur la structure et le contenu du HTML, il associe un point de vue à chaque passage du livre. Pour chaque passage, il calcule le nombre de signes, de mots et de phrases grâce à la bibliothèque textblob et la compréhension du français ajouté par textblob-fr.
Afin de pouvoir vérifier que tous les passages du livre ont pu être associé au bon point de vue, un nouvel EPUB est créé dans le processus, où le point de vue identifié pour chaque passage est explicitement marqué. Cela a permis d’affiner petit à petit les règles de détection et les différents points de vue qui composent le livre.
Le script Python génère un fichier au format CSV contenant une ligne par partie identifiée, avec le chapitre dans lequel elle se trouve, le point de vue, le nombre de signes, le nombre de mots, et le nombre de phrases.
Ces données sont ensuite analysées grâce à R, et sa bibliothèque de création de graphiques ggplot2.
Les fichiers SVG des graphiques sont ensuite remaniés à travers une feuille XSLT pour améliorer leur lisibilité.
- Code source (archive ZIP ; make, Python, R, XSLT ; sous licence WTFPL-2)
- SHA256 du fichier EPUB utilisé en entrée :
97fc5d58f75c25e615ff8aa03cb66b329b32486c95b542a34c0818c1cf623975