Ces derniers temps, les études dans le domaine de l’authorship attribution ou de la classification des textes ont pris un souffle nouveau par le biais de l’utilisation de n-grams1, ouvrant des perspectives nouvelles pour la création de modèles indépendants de la langue du texte, de modèles ne nécessitant pas de preprocessing, d’encodage syntaxique, ou de connaissances a priori sur le style des auteurs, avec des taux de réussite souvent relativement élevés. Cette tendance nouvelle mérite quelque peu d’attention et d’explication.
Que sont les n-grams ?
Comme leur nom l’indique, les n-grams sont des suites d’un nombre donné de caractères (bigrammes, trigrammes, 4 grams, etc.).Pour prendre un exemple, avec des 5 grams, la phrase suivante :
Le chat mange la souris [oui, l’originalité des exemples est notre péché mignon]
donne :
Le ch, e cha, _chat, chat_, etc.
Quelle utilité ?
Par rapport à des analyses lexicométriques réalisées sur des listes d’occurrences de mots classiques, l’utilisation de n-grams permet de capter des informations relatives à la syntaxe, des cooccurrences, en un mot des séquences répétées. Pour prendre un petit exemple, si d’un point de vue d’analyse de fréquences de mots les deux phrases :
Le chat obèse mange la souris [et oui, à force…]
Le chat mange la souris obèse [il a très faim…]
sont équivalentes (le nombre d’occurrences de chaque terme étant égal), l’utilisation de n-grams fournira deux listes relativement différentes, rendant compte d’éléments syntaxiques et sémantiques autrement ignorés.
Pour autant, cette méthode est moins lourde à mettre en place que l’utilisation d’un encodage syntaxique. En particulier, cette méthode a l’avantage de ne pas être dépendante de la langue utilisée dans le texte à analyser. Ces performances ont d’ailleurs été testées avec succès sur des textes de langues diverses : anglais, grec, chinois .
Un autre intérêt des n-grams touche à l’analyse de champs lexicaux ou au rapprochement de lemmes. Ainsi, une liste de fréquences traditionnelle, non lemmatisée, distinguera chat, chats, etc. Un trigramme identifiera l’existence d’une équivalence. De la même manière, il pourra rapprocher le chat de le chaton (séquence le chat commune).
Quelques modèles mathématiques utilisant les n-grams
Il existe un nombre élevé de modèles employant les n-grams pour l’identification des auteurs, mais un bon nombre partage la caractéristique de se fonder sur la constitution de « profils » pour chaque auteur à partir d’un corpus d’entrainement, et de la comparaison probabiliste de chaque texte à attribuer avec ce profil2. La façon dont les profils sont construits peut varier. Kešelj et al. les construisent en choisissant arbitrairement un nombre L de n-grams les plus fréquents (un profil d’auteur est alors constitué de ces L n-grams et de leurs fréquences normalisées). On peut également choisir de retirer tous les n-grams qui ne sont pas commun à au moins deux textes du même auteur. Le problème qui peut se poser dans la construction de ce type de profils est encore une fois celui de la dimensionalité : l’ensemble de n-grams différents contenus dans un texte sera la plupart du temps plus élevé que celui de mots différents (à part dans le cas de n-grams courts). Pour résoudre cette difficulté, diverses méthodes ont pu être proposées3.
Une fois ces profils constitués, il faut déterminer la probabilité qu’un texte relève d’un profil ou d’un autre, et donc qu’il ait été écrit par tel ou tel auteur. Divers modèles probabilistes ont pu être employés à cette fin, notamment la classification naïve bayésienne. Le modèle employé par Kešelj et al. quant à lui reprend un algorithme énoncé dans les années 70 par Bennett4 et utilisé par lui avec des bigrammes pour comparer deux textes. Soit M(I,J) la fréquence du bigramme composé des lettres I et J dans le premier texte et N(I,J) la fréquence du même bigramme dans le second texte :
permet de mesurer la dissimilarité entre les deux textes. Pour pondérer les variations importantes de fréquence et éviter que les n-grams les plus fréquents aient un poids trop importants, Kešelj et al. choisissent en outre de «normaliser» les différences de fréquence en les divisant par la fréquence moyenne des n-grams considérés. Ce qui donne, avec f1(n) et f2(n) étant la fréquence du n-gram n dans le profil et dans le texte à attribuer :
En utilisant cet algorithme, les auteurs obtiennent un pourcentage de réussite, variant selon la longueur des n-grams et la taille des profils, qui se situe la plupart du temps à 83%, tout en variant entre 50 et 100%. D’autres modèles ont également pu permettre d’obtenir des taux de réussite comparables, mais il serait bien trop long de les voir tous ici, et, pour épargner nos forces et celles du lecteur, réservons leur présentation à une prochaine occasion !
- Voir notamment V. Kešelj, F. Peng, N. Cercone et C. Thomas, « N-gram-based author profiles for authorship attribution », in Proceedings of the Conference Pacific Association for Computational Linguistics, PACLING, 2003, 3, p. 255–264 [en ligne] ; voir également les synthèses proposées dans Shlomo Argamon, Moshe Koppel, et Jonathan Schler, « Computational methods in authorship attribution. », Journal of the American Society for Information Science & Technology, 60 (2009), p. 9-26, aux p. 12-13 , ainsi que E. Stamatatos, « A survey of modern authorship attribution methods », Journal of the American Society for information Science and Technology, 60 (2009), p. 538–556, à la p. 541 [en ligne]. [↩]
- L’efficacité de cette approche a été soulignée par Fuchun Peng et al., « Automated authorship attribution with character level language models », in 10th Conference of the European Chapter of the Association for Computational Linguistics (EACL 2003), 2003, p. 267–274. [↩]
- J. Houvardas and E. Stamatatos, « N-gram feature selection for authorship identification », Artificial Intelligence: Methodology, Systems, and Applications (2006), p. 77–86, proposent par exemple de comparer chacune des caractéristiques d’un profil avec celles qui lui sont similaires, et, à chaque fois, de ne garder que la plus significative. [↩]
- William Ralph Bennett, Scientific and engineering problem-solving with the computer, Prentice Hall PTR, 1976. [↩]
OpenEdition vous propose de citer ce billet de la manière suivante :
Jean-Baptiste Camps (27 juillet 2011). N-grams et identification des auteurs. Sacré Gr@@l. Consulté le 19 septembre 2024 à l’adresse https://doi.org/10.58079/p423