Voici le deuxième épisode de la série de billets consacrée à la stylométrie. Nous en étions restés sur un résultat peu satisfaisant et sur la conclusion qu’il était idiot de considérer les fréquences d’apparition de deux mots seulement… mais comment visualiser conjointement les fréquences de 10 mots, de 20 mots, de 150 mots, ou même de l’ensemble des 8743 mots distincts qui apparaissent dans nos quatre textes ?
L’analyse en composantes principales
Heureusement, nous avons à notre disposition une technique statistique pour nous venir en aide : l’analyse en composantes principales (ACP). L’idée de celle-ci est de résumer un grand nombre de variables en un plus petit nombre de nouvelles variables de manière efficace. Le résumé est optimal en termes de l’explication de la variabilité des données sur lesquelles on travaille, c’est-à-dire en termes de l’information que ces données contiennent. Dans le cas qui nous occupe, la variabilité des données est très importante, puisque c’est ce qui permet de distinguer les différents paquets de lemmes les uns des autres.
De plus, le résumé prend une forme particulièrement agréable. En effet, alors que les anciennes variables sont corrélées entre elles, ce qui signifie que l’information qu’elles transportent est « partiellement redondante », les nouvelles variables sont décorrélées entre elles : l’information qu’elles transportent n’est pas redondante.
Pour mieux comprendre comment l’ACP fonctionne, considérons le cas particulier d’un résumé de deux variables en une variable. Ce résumé peut être vu géométriquement comme une projection de l’ensemble du plan (dimension 2) sur une droite (dimension 1). Ainsi, nous partons de deux variables, ici, les fréquences des lemmes et et qui :

Avant toute chose, nous centrons ces variables, c’est-à-dire que nous leur soustrayons leur moyenne, histoire qu’elles soient situées « au centre des axes » ; le nuage de points ne change pas de forme, il est seulement translaté (déplacé) :

Nous pouvons maintenant projeter le nuage de points sur une droite quelconque, de la même manière que le soleil projette l’ombre d’un objet sur un mur. Commençons avec l’exemple d’une projection sur une droite horizontale, plus facile à visualiser :


Les petits carrés oranges constituent la projection des points noirs sur la droite horizontale. On peut donc se débarrasser des deux anciens axes et ne considérer que la droite horizontale sur laquelle la projection a été effectuée :

Celle-ci est une nouvelle variable, qui résume les deux variables dont nous sommes partis. Il est bien entendu possible d’effectuer des projections sur d’autres droites, pas forcément horizontales :




Conceptuellement, les deux projections (la première sur la droite horizontale, la seconde sur la droite à pente positive) sont très similaires. Cependant, elles ne sont pas aussi efficaces l’une que l’autre du point de vue du « résumé de l’information de départ » qu’elles produisent :
Les points de la première projection (à gauche ci-dessus) sont plus espacés que ceux de la deuxième (à droite) : elle a « mieux résumé » l’information de départ (qui consiste en des points présentant des différences entre eux) et elle est donc plus efficace. En termes techniques, la variance des points résultant de la première projection est supérieure à celle des points résultant de la seconde.
Le choix des deux droites présentées ci-dessus est bien entendu arbitraire, et il est possible d’effectuer des projections sur n’importe quelle droite du faisceau de droites du plan :

Quand on a compris l’idée des projections, le principe de l’analyse en composantes principales est clair : cette technique sélectionne la droite qui est optimale en termes de « résumé de l’information », c’est-à-dire en termes de variance des points projetés. Sans rentrer dans les détails techniques, mentionnons simplement que la direction en question est celle du premier vecteur propre de la matrice de corrélation (ou de la matrice de covariance) des données originales.
Dans le cas du nuage de points considéré en exemple, la droite sélectionnée, qu’on appelle première composante principale, est la suivante :




La seconde composante principale est ici la droite perpendiculaire à la première composante principale :

C’est cette seconde composante principale qui transporte « le reste de l’information », que la première composante principale n’a pas capté. On peut quantifier la proportion de « résumé de l’information » transporté par chacune d’elle :

Presque 85% de l’information est donc portée par la première composante. Puisque celle-ci est optimale de ce point de vue, nous sommes assurés de ne pas pouvoir trouver de projection qui transporte plus d’information. Ce pourcentage est très important, puisqu’il nous dit que nous ne perdons que 15% de l’information si nous ne considérons que la première composante et oublions la seconde, c’est-à-dire si nous résumons nos deux variables en une.
Cette première composante principale est une sorte de « mélange » des deux variables de départ. Dans notre cas, pour savoir où un point du nuage de points initial est situé sur la première composante, il suffit d’appliquer la règle
PC1 = -0,93 ∗ freqCentr(et) + 0,34 ∗ freqCentr(qui)
Cette équation exprime en termes mathématiques que PC1 est un mélange (ou, pour être plus rigoureux, une combinaison linéaire) de freqCentr(et) et freqCentr(qui).
Par exemple, le point situé aux coordonnées (-0,84 % ; 1,84 %) dans le système des deux variables de départ (et qui correspond donc à un paquet de mots — ou, pour être plus précis, de lemmes — au sein duquel la fréquence centrée de et est égale à -0,84 % et la fréquence centrée de qui est égale à 1,84 %) sera situé à
PC1 = -0,93 ∗ (-0,84 %) + 0,34 ∗ 1,84% = 1,4 %
sur la première composante principale.

Que se passe-t-il lorsqu’on projette non pas deux variables sur une, mais par exemple trois variables sur deux ? Cette opération est elle aussi aisément visualisable : nous effectuons maintenant la projection d’un nuage de points de dimension trois sur un plan de dimension deux. Par exemple, dans le cas du plan horizontal :

Résultats
L’analyse en composantes principales que nous mettons en œuvre pour effectuer notre analyse stylométrique des récits de croisade est bien plus difficile à visualiser, puisque nous projetons cette fois 8743 variables (c’est-à-dire les fréquences relatives à l’ensemble des lemmes qui apparaissent dans les quatre textes) sur deux variables1 ! Cela signifie donc que nous résumons un espace de dimension 8743 à l’aide d’un espace de dimension 2. Inutile de dire que le processus ne peut cette fois pas être représenté graphiquement.
Néanmoins, on peut représenter son résultat, dans un plan (donc en dimension 2) puisque nous avons choisi de projeter sur deux variables (c’est d’ailleurs la raison de ce choix) :

Dans ce cas, la première composante principale porte 27 % de l’information, et la seconde 11 %. Nous avons donc « oublié » 62 % de l’information contenue dans nos données de départ, mais un coup d’œil rapide au graphique ci-dessus permet de se rendre compte que notre but est atteint.
En effet, on voit que, même en négligeant presque 2/3 de l’information de départ, nous pouvons affirmer que les triangles mauves, qui représentent les paquets de lemmes du texte orphelin, sont situés « loin » des disques rouges et des carrés verts, qui représentent respectivement les paquets de lemmes de Guillaume de Tyr et d’Albert d’Aix. Cette observation nous permet de conclure, en faisant l’hypothèse que l’auteur du texte orphelin est forcément parmi les trois candidats-auteurs sélectionnés, que c’est à Raoul de Caen qu’il faut attribuer la paternité de notre fragment-mystère. Et c’est effectivement le cas : pour les besoins de l’exemple présenté ici, j’ai « fabriqué » le texte orphelin en allant piocher quelques chapitres de l’œuvre de ce chroniqueur et en les réunissant sous l’étiquette « auteur inconnu ».
Il me semble nécessaire d’insister ici sur ce qui peut passer pour un détail méthodologique mais qui revêt une importance capitale : nous ne concluons pas que le texte est de Raoul de Caen parce que les triangles mauves sont situés au même endroit que les carrés turquoises, mais bien parce qu’ils sont éloignés des disques rouges et des carrés verts et que notre liste ne compte que trois candidats-auteurs. En effet, comme nous avons perdu une partie de l’information en résumant nos variables, et comme cette information consiste en les différences entre nos points, nous ne pouvons pas nous fier aux similitudes. Deux points situés tout près l’un de l’autre dans le résumé sont peut-être situés loin l’un de l’autre dans les données de départ. Par contre, si deux points sont situés loin l’un de l’autre dans le résumé, ils le sont aussi dans les données de départ. Il est donc bon de garder en tête cette règle d’or de l’analyse en composantes principales :
Avec une ACP, on peut se fier aux dissemblances, mais pas aux similitudes.
On pourrait traduire celle-ci en termes stylométriques :
L’ACP ne permet d’identifier l’auteur d’un texte qu’en éliminant tous les éléments d’une liste exhaustive de candidats-auteurs, à l’exception d’un seul.
Cela implique qu’il est nécessaire de disposer, pour effectuer une attribution stylométrique parfaitement rigoureuse, d’un ensemble d’auteurs potentiels pour le texte étudié, au sein duquel le véritable auteur se trouve forcément. Dans énormément de cas, une telle liste n’existe tout simplement pas, et il faut donc faire preuve de circonspection. J’espère avoir l’occasion de discuter ce point précis sur ce carnet dans le futur.
Dans le prochain billet, nous explorerons certains des « paramètres » de l’ACP que nous avons mise en œuvre ici, comme la taille des paquets de mots considérés.
La suite au prochain épisode…
Notes
- Ce choix n’est certainement pas optimal : non seulement il est souvent mieux de choisir un nombre limité de lemmes parmi ceux qui apparaissent le plus fréquemment, mais d’autres critères de choix interviennent aussi, comme la nature grammaticale de ces lemmes. Il est en effet souvent plus intéressant de ne pas considérer les lemmes qui portent un sens en eux-mêmes, comme les noms, les adjectifs, les verbes ou les pronoms, et de se restreindre aux stop words. Nous aurons l’occasion de discuter plus en détails cet aspect de l’analyse dans un billet prochain (retour).
Pour en savoir plus
- Neat, T. et al, “Surveying Stylometry Techniques and Applications”, in ACM Computing Surveys 50, n° 6 (2017), p. 1-36.
- Stamatatos, E., “A survey of modern authorship attribution methods”, in Journal of the American society for information science and technology 60 (2009), p. 538-556.