Les réseaux de personnages offrent un regard particulier sur les œuvres de fiction, permettant de prendre de la distance avec la narration, d'en proposer une vision globale et de dégager des tendances difficiles à capturer avec une approche de type close reading [7]. Mais tandis que la génération de tels réseaux peut s'avérer fastidieuse si l'on doit relever manuellement les occurrences des personnages, son automatisation [2, 3, 5] soulève des questions sur la qualité des résultats obtenus [8]. Pour contrer l'aspect « boîte noire » des algorithmes informatiques et inviter une communauté littéraire à s'en emparer, il semble ainsi primordial de mettre en perspective les deux approches, et d'aborder la notion de qualité des résultats avec des outils formels permettant d'évaluer la perte d'information résultant de l'automatisation et son incidence concrète sur le réseau engendré.
L'objectif de cette présentation est d'appliquer ce cadre formel à la question de la génération automatique d'un réseau de personnages. Ce processus étant en réalité construit comme une succession d'outils d'automatisation, il ne s'agit pas seulement d'évaluer le résultat final, mais également la performance de chacun de ces outils, afin de mesurer l'impact des différentes étapes sur le réseau engendré (qui est par définition une agrégation des informations obtenues, et dont on peut espérer qu'il soit robuste vis-à-vis de petites variations dans les étapes de la construction des données). La démarche est illustrée ici à l'aide d'un corpus constitué de romans de fiction anglophones et francophones, mais une telle approche méthodologique peut évidemment se décliner pour d'autres types de médias et de formats.
Dans le cas des romans de fiction, le premier module à considérer est celui de la reconnaissance d'entités nommées (natural language processing, NER), qui consiste en la récupération automatisée des noms propres contenus dans le texte (personnages, lieux, organisations, etc.). Cette étape est cruciale dans la création du réseau, puisqu'elle permet d'identifier les éléments à mettre en lien : un personnage qui n'aurait pas été détecté à ce stade ne figurera pas dans le réseau final. Il s'agit également d'une étape très chronophage si elle est effectuée manuellement, ce qui rend l'emploi de méthodes automatisées particulièrement tentant.
Une première évaluation systématique formelle a été mise en œuvre afin de choisir l'algorithme de NER le plus approprié pour les données choisies. La méthodologie utilisée pour départager les deux candidats les plus prometteurs [10] (spaCy [6] et Flair [1]) repose sur les éléments suivants : un référentiel commun (par exemple un texte annoté manuellement sur lequel seront testés les deux algorithmes), un protocole d'uniformisation des résultats obtenus, et enfin des scores de performance applicables aux deux algorithmes. Après comparaison desdits scores, Flair apparaît comme plus précis et plus exhaustif dans sa reconnaissance d'entités nommées. La même méthodologie peut être appliquée pour mesurer la performance d'un modèle automatisé face à une annotation entièrement manuelle, ou encore l'impact d'ajustements apportés à l'algorithme (en comparant les scores de l'ancienne et la nouvelle version du modèle).
Une approche similaire permet d'évaluer la qualité du réseau final. Si toute tentative d'établir un gold standard pour un réseau de personnages dépend nécessairement des choix de l'annotateur (type d'interactions que l'on cherche à illustrer, mais également nombre d'informations à afficher, entre autres choix tout aussi importants), il est tout de même possible de construire un réseau manuel, selon les mêmes choix et définitions que la version automatisée, et de s'en servir comme exemple à suivre, comme objectif à atteindre pour notre modèle algorithmique. Des mesures de comparaison permettent ensuite de quantifier non seulement les différences entre le réseau automatique et ce réseau de référence, mais également les différences entre deux réseaux générés automatiquement (toujours en regard du réseau de référence) et donc l'impact des changements faits en début, milieu ou fin du processus de génération sur le résultat final.
Selon la complexité des données et des informations que l'on souhaite extraire et mettre en évidence, ce type de cadre formel peut donner une bonne intuition de la quantité de personnages et d'interactions à détecter pour engendrer un réseau très proche du gold standard, ou du moins identifier les étapes les plus cruciales pour chercher à les améliorer. Le développement de ce type de méthodologie, basée sur des fondements précis et clairement énoncés, semble en tous les cas une approche intéressante en vue de démystifier les algorithmes [4], d'évaluer la faisabilité (ou non) d'une automatisation satisfaisante de la création de réseaux de personnages, et de fournir une base stable de discussion entre sciences humaines et sciences computationnelles autour de ces objets.
Bibliographie :
1. Akbik, Alan, Duncan Blythe et Roland Vollgraf. “Contextual String Embeddings for Sequence Labeling”. Dans : COLING 2018, 27th International Conference on Computationa Linguistics. 2018, p. 1638-1649.
2. Amancio, Diego R. « Network analysis of named entity co-occurrences in written texts ». EPL (Europhysics Letters) 114, no 5 (1 juin 2016). https://doi.org/10.1209/0295-5075/114/58005.
3. Celikyilmaz, Asli, Dilek Hakkani-Tur, Hua He, Greg Kondrak, et Denilson Barbosa. « The Actor-Topic Model for Extracting Social Networks in Literary Narrative ». Dans : NIPS Workshop : Machine Learning for Social Computing, 7.
4. Da, Nan Z. « The Computational Case against Computational Literary Studies ». Critical Inquiry 45, no 3 (1 mars 2019): 601‑639. https://doi.org/10.1086/702594.
5. Elson, David, Nicholas Dames, et Kathleen McKeown. « Extracting Social Networks from Literary Fiction ». Dans : Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics, 138–147. Uppsala, Sweden: Association for Computational Linguistics, 2010. https://www.aclweb.org/anthology/P10-1015.
6. Honnibal, Matthew et Ines Montani. “spaCy 2 : Natural language understanding with Bloom embeddings, convolutional neural networks and incremental parsing”. A paraître. 2017.
7. Moretti, Franco, “Network Theory, Plot Analysis”. Dans : New Left Review, 2011.
8. Labatut, Vincent, et Xavier Bost. « Extraction and Analysis of Fictional Character Networks: A Survey ». ACM Computing Surveys 52, no 5 (13 septembre 2019): 1‑40. https://doi.org/10.1145/3344548.
9. Soundarajan, Sucheta, Tina Eliassi-Rad, et Brian Gallagher. « A Guide to Selecting a Network Similarity Method ». Dans : Proceedings of the 2014 SIAM International Conference on Data Mining, 1037‑45. Society for Industrial and Applied Mathematics, 2014. https://doi.org/10.1137/1.9781611973440.118.
10. Stanislawek, Tomasz, Anna Wróblewska, Alicja Wójcicka, Daniel Ziembicki, et Przemyslaw Biecek. « Named Entity Recognition - Is There a Glass Ceiling? » Dans : Proceedings of the 23rd Conference on Computational Natural Language Learning (CoNLL), 624–633. Hong Kong, China: Association for Computational Linguistics, 2019. https://doi.org/10.18653/v1/K19-1058.