Pourquoi cette page
La chronique Le Poids des Mots mêle des chiffres produits par un pipeline d'analyse automatique, un brouillon rédigé par un grand modèle de langage, et une édition humaine. Cette page expose les trois étapes : ce qui est mesuré et comment ; ce qu'apporte le modèle de langage ; et le final cut humain qui signe la chronique.
Vue d'ensemble du pipeline
Trois étapes, dans cet ordre :
- Transcription du texte source (interview scannée, audio, PDF, article web) en un transcript exploitable.
- Analyse NLP : sept indicateurs sont calculés à partir du transcript et donnent six graphiques. L'objectif est un pipeline déterministe et reproductible — quatre des sept indicateurs (réseau d'entités, radar thématique, Latouromètre, lisibilité) sont strictement reproductibles d'un run à l'autre. Trois indicateurs (polarité par entité, carte d'arguments, fondations morales) font appel à un modèle de langage pour une étape précise et bornée — c'est documenté dans les sections concernées. Aucun de ces sept indicateurs n'est rédigé par le modèle de langage : tous sont des chiffres, calculés à partir du texte.
- Brouillon de synthèse par le modèle de langage Mistral Large, à partir de ces chiffres et de ces graphiques — puis édition et signature par un humain.
Le modèle ne réécrit jamais les chiffres ; il les commente. Et c'est l'humain qui décide, in fine, ce qui est publié.
Les sept indicateurs
1. Réseau d'entités — qui parle de qui ?
On extrait les personnes, organisations et lieux cités, puis on relie deux entités quand elles apparaissent dans la même phrase. Le graphe qui en sort fait apparaître les noyaux d'attention : qui est central dans le discours, qui n'est mentionné qu'en marge.
Modèle de reconnaissance d'entités :
cmarkea/distilcamembert-base-ner.
2. Polarité par entité — chaque nom est-il évoqué positivement ou négativement ?
Pour chaque personne ou organisation citée, on regarde le contexte de ses mentions et on évalue si la tonalité est plutôt positive, plutôt négative, ou neutre. La couleur des nœuds du graphe d'entités encode ce résultat (rouge à vert).
L'idéal aurait été d'utiliser de l'Aspect-Based Sentiment Analysis (ABSA) — une famille de modèles entraînés à dire, pour chaque entité mentionnée dans une phrase, si elle est évoquée positivement ou négativement (voir les revues de la littérature ABSA). Mais il n'existe pas, en français et en open-source, de modèle ABSA suffisamment robuste pour du discours politique.
Nous avons donc construit une approche « pseudo-ABSA » : pour chaque transcript, un appel au modèle de langage Mistral extrait verbatim dix phrases du texte (cinq évaluatives positives, cinq négatives), qui servent ensuite de règle d'étalonnage pour mesurer la polarité de chaque entité par similarité sémantique. Les embeddings sont produits par le modèle sentence-CamemBERT large. Le modèle de langage ne note rien lui-même — il sélectionne des phrases-repères, et c'est le modèle d'embeddings (déterministe) qui compare. Conséquence assumée : la polarité est calibrée dans le registre propre du locuteur (« adaptive seeds »), mais les valeurs absolues d'une chronique à l'autre ne sont pas directement comparables.
3. Radar thématique — sur quoi parle le texte ?
Cinq thèmes politiques de référence (économie, immigration, écologie, institutions, social) sont définis par des phrases-amorces. On mesure à quel point le texte « ressemble sémantiquement » à chaque thème, et on en fait un radar.
Méthode : similarité cosinus entre embeddings du texte et embeddings des amorces, dans la lignée de Sentence-BERT (Reimers & Gurevych, 2019).
4. Latouromètre — la grille des quatre attracteurs
Indicateur original d'AFK.live, traité dans la section dédiée ci-dessous.
5. Lisibilité Kandel-Moles — l'effort de lecture
Une formule classique mesure la difficulté de lecture d'un texte français à partir de la longueur des phrases et de la complexité des mots. Plus le score est élevé, plus le texte est facile à lire.
On positionne le score du texte analysé sur une échelle ancrée par quatre textes de référence qui balisent le spectre : un arrêt du Conseil d'État (29,8 — texte juridique très dense), un extrait du Discours de Rome de Jacques Lacan (37,4 — registre savant), une plaquette Facile à lire et à comprendre du FRAC Bretagne (72,0 — destinée à l'accessibilité cognitive), et la comptine Promenons-nous dans les bois (100,3 — phrases très courtes, mots familiers). Les baselines sont calculées à partir de textes intégraux et stockées dans le pipeline ; l'arbitrage entre un repère technique et un repère grand public sert à donner une intuition, pas à distribuer des bons points.
Référence : Kandel & Moles, L'Année Psychologique, 1958.
6. Fondations morales — quel registre de valeurs est mobilisé ?
Cinq grands axes de la morale politique : Bienveillance, Équité, Loyauté, Autorité, Pureté. Indicateur refondu en 2026, traité dans la section dédiée ci-dessous — avec le détail de ce qu'il mesure et de ce qu'il ne mesure pas.
7. Carte d'arguments — quelles affirmations, étayées par quoi ?
On extrait jusqu'à sept couples (affirmation, justification) du transcript. Pas un graphique : ces couples sont listés en fin de synthèse, pour qu'on puisse vérifier d'un coup d'œil sur quoi le locuteur appuie ses thèses.
Méthode : un appel unique à Mistral en mode JSON, dans la lignée des travaux d'argument mining — voir la revue de Lawrence & Reed (2020).
Le Latouromètre
Pourquoi cet indicateur ?
L'axe gauche-droite est devenu insuffisant pour situer un discours politique contemporain. Quand un homme de droite parle d'écologie populaire, quand un homme de gauche défend les frontières, quand un libertarien de la Silicon Valley promeut une « cité-réseau » sans territoire, le clivage gauche-droite ne dit rien de leur rapport au monde habité. C'est notre conviction : la grille proposée par le philosophe Bruno Latour saisit mieux la texture politique réelle de l'époque.
Les quatre attracteurs de Latour
Dans Où atterrir ? Comment s'orienter en politique (La Découverte, 2017), Latour dessine une géométrie politique à quatre pôles :
- Local — l'attachement au sol, aux traditions, à un terroir. Latour distingue un Local-plus (ancrage légitime, ouvert) d'un Local-moins (identitaire, défensif, qui se replie sur la frontière).
- Global — l'horizon de la mondialisation, du progrès, de l'universel. Là aussi un Global-plus (multiplication des points de vue, ouverture aux cultures) et un Global-moins (uniformisation néolibérale, dérégulation).
- Hors-Sol — l'horizon de ceux qui n'appartiennent plus à une terre qui réagirait à leurs actions : paradis fiscaux, climato-négationnisme organisé, fantasmes de sécession technologique (vivre sur Mars, fonder des cités-réseaux, fusionner avec la machine). Latour identifie ce pôle à partir de l'élection de Trump et du retrait de l'Accord de Paris.
- Terrestre — le sol comme acteur politique, pas comme décor. Hérité des mouvements écologiques, mais distinct du Local : il ne se replie pas sur l'identité, il accepte la cohabitation entre humains et non-humains sur un sol qui réagit.
Ces définitions sortent du livre — nous nous en tenons strictement à Où atterrir ? pour ne pas mélanger avec d'autres concepts latouriens (Gaïa, acteur-réseau, Anthropocène).
Comment on mesure
Pour chacun des quatre pôles, nous avons constitué un corpus de textes archétypaux — 21 textes au total, calibrés à la main : François Ruffin pour le Local-plus, Marine Le Pen et Éric Zemmour pour le Local-moins, Emmanuel Macron à la Sorbonne et la Charte du Forum social mondial pour le Global, Peter Thiel et Marc Andreessen pour le Hors-Sol, les Soulèvements de la Terre et Aurélien Barrau pour le Terrestre, et d'autres.
Chaque texte à analyser est projeté dans un espace sémantique (les mêmes embeddings CamemBERT que pour la polarité), puis on mesure sa proximité aux quatre pôles. Le résultat se lit sur un radar à quatre branches qui reproduit la figure publiée par Latour. Sur le corpus de calibration v3 (mai 2026), la précision est de 18 textes correctement classés sur 21.
Ce que le Latouromètre ne fait pas
- La méthode est encore en construction. Trois textes du corpus de calibration restent mal classés — typiquement les inversions sujet-position, comme une tribune anti-écologique qui parle abondamment de la Terre pour mieux l'attaquer.
- Le Latouromètre est une lecture sémantique du lexique, pas une lecture politique de l'intention. Un discours peut être Hors-Sol au sens de Latour — par exemple le discours de Trump retirant les États-Unis de l'Accord de Paris — et Local-moins au sens lexical (« nos travailleurs », « Pittsburgh, pas Paris »). C'est une limite que nous assumons et que nous signalons quand le cas se présente dans une chronique.
- Pour la discussion technique détaillée (calibration des amorces, désambiguïsation entre Local et Terrestre, choix de l'embedder), un article dédié arrivera sur sylvain.artois.io. Article technique à venir.
Les fondations morales
Pourquoi cet indicateur ?
Deux discours peuvent défendre la même mesure et ne pas invoquer les mêmes valeurs pour la justifier. La Moral Foundations Theory de Jonathan Haidt et Jesse Graham propose cinq registres — le soin, l'équité, la loyauté, l'autorité, la pureté — pour décrire cet écart. Ce que nous en publions n'est pas un portrait moral du locuteur : c'est une mesure de charge morale, c'est-à-dire la part d'un discours qui argumente en termes de valeurs plutôt qu'en termes de faits, de procédures ou de gestion.
Comment on mesure
Le texte est découpé selon un grain fixé (turn-token-v1/t45-f30-c65-p40-m12) qui vise environ 45 tokens par segment et respecte les tours de
parole ; ce découpage est versionné, parce qu'un changement de grain
change la mesure. Chaque segment est soumis à un modèle de langage
(claude-opus-5) sous un prompt gelé et empreinté
(A1-rule-only-20260904), qui répond à une seule question :
ce passage argumente-t-il en termes moraux, et sur quelle fondation ?
La quantité publiée (gated_document_share_v1) est la part
des segments d'un document dont la réponse est positive. Elle n'est
jamais publiée telle quelle : elle est centrée-réduite contre un
corpus de référence de 337 textes politiques français (25 269 segments),
séparé en deux populations qui ne se comparent pas entre elles — 260
discours oraux de campagne et 77 entretiens de presse. Ce qui apparaît
dans une chronique est donc un z : la position de ce
texte dans la distribution de ses semblables, jamais une valeur absolue.
En clair : on découpe le discours en petits morceaux, on demande à une machine, morceau par morceau, « est-ce qu'on parle ici de bien et de mal ? », et on compte. Puis — c'est le point important — on ne publie pas ce compte. On publie sa position parmi les textes du même genre : 260 discours de campagne pour un discours, 77 entretiens de presse pour un entretien. Dire « ce discours est chargé à 34 % » ne veut rien dire ; dire « ce discours est plus chargé moralement que huit discours de campagne sur dix » veut dire quelque chose.
Ce que valent ces chiffres
La fidélité de rang du dispositif — sa capacité à classer des documents dans le même ordre qu'un lecteur humain — est mesurée à ρ = +0,408 (IC95 [+0,101 ; +0,662]) sur 45 documents codés à la main, soit une validité de rang d'environ 0,59 une fois corrigée de la fiabilité de l'étalon humain lui-même. Cet étalon a un α de Krippendorff intra-codeur de 0,930, mesuré sur un re-codage à l'aveugle de 60 lignes quatre jours après le premier passage. Et une réserve voyage avec ce chiffre : le prompt retenu a gagné sa sélection partiellement sur cette même mesure, sur ces mêmes 45 documents. Il n'existe pas de tirage réservé derrière ce +0,408, qui doit donc se lire comme le haut d'une fourchette plausible, pas comme une estimation non biaisée. Au niveau du segment isolé, la précision population est de 0,4715 (IC95 [0,315 ; 0,610]) : un peu plus d'un segment signalé sur deux est un faux positif.
En clair : l'indicateur classe correctement les textes entre eux, à peu près à mi-chemin entre le hasard et un lecteur attentif. Il ne sait pas dire de façon fiable qu'un passage précis est moral — sur ce point il se trompe un peu plus d'une fois sur deux. C'est pourquoi la chronique publie un classement et jamais une liste de passages. Et le chiffre de 0,408 est mesuré sur les textes qui ont servi à choisir la méthode : c'est le meilleur cas, pas la moyenne.
Ce qu'on publie, ce qu'on grise, ce qu'on retire
La règle de publication a été fixée avant de regarder quelle fondation la franchissait — c'est la seule chose qui en fasse une règle plutôt qu'un commentaire. Une fondation n'est affirmée que si elle est présente dans au moins 10 des 45 documents de l'étalon codé à l'aveugle, si le classement que le moteur en tire sur le texte entier a un intervalle de confiance qui exclut zéro, et si la chronique en cours contient au moins 5 segments positifs pour elle.
- Loyauté (ρ +0,491 [+0,222 ; +0,692]) et Bienveillance (+0,484 [+0,197 ; +0,709]) sont publiées comme des mesures relatives et indicatives : elles autorisent « ce texte mobilise ce registre plus que la moyenne des textes du même médium », jamais « ce passage parle de loyauté ». La bienveillance porte une réserve : le moteur y dépasse le plafond que l'étalon humain permet d'atteindre, ce qui dit surtout que cet étalon distingue mal les textes sur ce registre — la preuve côté humain est faible.
- Équité est grisée — elle apparaît, nommée, marquée comme non affirmée. Le détail ci-dessous : c'est le cas le plus intéressant du lot.
- Autorité et Pureté ne sont pas dessinées du tout. Dans l'étalon codé à la main (45 documents), elles pèsent 2,2 % et 1,3 % des segments, présentes dans 7 et 3 documents seulement. C'est un résultat, pas une panne : la théorie des fondations morales a été construite sur du discours américain, et ses deux fondations « liantes » ne se retrouvent presque pas dans le discours politique français majoritaire que nous analysons. Le signal apparent de l'autorité est un artefact de registre — les cinq familles de moteurs testées, y compris un simple dictionnaire, lui attribuent à peu près le même score (+0,35 à +0,45) sur une fondation dont la variance entre documents est mesurée à zéro.
En clair : sur cinq registres moraux annoncés par la théorie, deux tiennent debout sur du discours français, un est indécidable en l'état, et deux sont quasi absents. Nous affichons les deux qui tiennent, nous affichons le troisième en grisé pour ne pas laisser croire qu'il n'existe pas, et nous retirons les deux derniers en disant pourquoi — parce qu'une absence expliquée est une information, alors qu'une case vide ressemble à un oubli.
Lire le graphique
Chaque chronique porte le même graphique, en deux étages. En haut, la jauge de charge morale : l'axe est gradué en écarts-types (σ), de −3 à +3, autour de la moyenne des textes du même médium dans le corpus de référence (« réf. »). La barre part de zéro et s'arrête au z du texte. Deux incertitudes y sont dessinées, parce qu'elles n'ont pas la même source :
- La bande grise — l'intervalle dû à la référence. La moyenne et l'écart-type de la référence sont eux-mêmes estimés sur un nombre fini de textes (260 discours, 77 entretiens), chacun avec son intervalle de confiance à 95 %. La bande croise les bornes de ces deux intervalles et retient le z le plus bas et le plus haut : une enveloppe volontairement prudente, plus large qu'une estimation conjointe. Elle s'élargit à mesure que le texte s'éloigne de la moyenne, et elle est plus large pour les entretiens de presse (de 0,6 à 0,8 σ sur les chroniques publiées) que pour les discours oraux (de 0,3 à 0,5 σ) : sur un entretien, c'est la bande qu'il faut lire, pas le point.
- Le crochet noir — l'intervalle dû aux segments. Le texte n'est lui-même qu'un nombre fini de segments ; le crochet est l'intervalle de confiance à 95 % du z obtenu en rééchantillonnant ces segments (bootstrap), la référence restant fixe. Il s'élargit quand le texte est court : de 0,5 σ pour un entretien de 400 segments à 1,4 σ pour une interview écrite de 38.
En bas, les fondations, sur le même principe : une barre par fondation, son z face à la référence et son crochet. Une fondation affirmée est tracée en plein. Une fondation qui n'est pas affirmée est tracée en pointillés, estompée, avec la mention « non affirmé » et sa raison — sous le seuil de publication (aujourd'hui l'équité), ou moins de 5 segments positifs dans ce texte. L'autorité et la pureté ne sont pas tracées ; une note le rappelle sous le graphique.
Deux informations ne figurent pas sur le graphique, parce qu'elles valent
pour toutes les chroniques. D'abord, le triplet (moteur,
configuration, médium) n'est pas validé : la charge morale est
publiée comme une mesure indicative, en cours de validation. Ensuite,
toutes les chroniques sont mesurées contre la même référence,
moral_reference_fr_v1, construite le 9 septembre 2026 avec
le moteur claude-opus-5-A1-rule-only-20260904, dont
l'empreinte du corpus (corpus_hash) est :
1696d05baf3617a908caa085bb6bab39916d652b4650d00f8f8090017e3016ec
En clair : la barre dit où se situe le texte parmi ses semblables ; la bande grise et le crochet disent de combien ce chiffre pourrait bouger. Tant qu'aucun des deux ne franchit zéro, le sens de l'écart tient.
Le cas de l'équité, en détail
L'équité est la fondation que notre étalon permet le mieux de mesurer, et celle où le moteur est le plus faible — c'est précisément pour cela qu'elle n'est pas affirmée. Côté étalon, c'est la fondation qui varie le plus d'un texte à l'autre : sept segments codés par document suffisent à classer les 45 documents mieux que sur toute autre fondation, et un moteur parfait y atteindrait une fidélité de rang de 0,710, le meilleur plafond du jeu. Ce plafond suppose toutefois que le codage humain est juste — et c'est sur l'équité que ce codage est le moins stable (voir plus bas). Côté moteur, elle est passée de +0,137 (intervalle contenant zéro) à +0,344 [+0,044 ; +0,615] après refonte du prompt — un franchissement du seuil de 0,044. Trois choses retiennent la publication. Le franchissement est marginal. La réserve de la section précédente — pas de tirage réservé — mord le plus fort sur la fondation qui a le plus bougé. Et l'α intra-codeur de l'équité est de 0,784, le plus bas des cinq, avec 2 des 6 positifs du premier passage retirés au re-codage — six positifs, c'est trop peu pour un chiffre de fiabilité ferme (IC95 [0,379 ; 1,000]) : un signal d'alerte plutôt qu'une mesure. La mesure qui trancherait est identifiée et chiffrée : un second codeur, humain, indépendant, sur 40 lignes. Elle n'a pas été payée. Tant qu'elle ne l'est pas, l'équité reste grisée.
En clair : c'est le registre qui sépare le mieux les textes entre eux, mais celui où notre propre relecture est la moins stable, et celui que la machine reconnaît le moins bien. La machine s'en est approchée de justesse après une refonte — assez pour que ce soit troublant, pas assez pour qu'on l'affirme. Il manque une expérience précise pour trancher — une quarantaine de lignes relues par quelqu'un qui n'est pas nous — et elle n'a pas encore été faite. Nous préférons le dire que publier un chiffre que nous ne saurions pas défendre.
Ce que les fondations morales ne font pas
- Elles ne notent pas le locuteur. Une charge morale élevée n'est ni un mérite ni un défaut : c'est une façon d'argumenter. Un discours gestionnaire n'est pas moins sincère qu'un discours moral, il justifie autrement.
- Un passage du seuil n'est pas une publication. L'autorité et la pureté franchissent le critère du signal sur le texte entier et restent pourtant hors du panneau : elles échouent à celui de la couverture, et le signal de l'autorité est un effet de registre. C'est la règle qui fonctionne, pas une incohérence d'affichage.
- Les deux populations ne se comparent pas. Un discours oral se situe contre 260 discours, un entretien de presse contre 77 entretiens. Une phrase qui compare un discours à un entretien compare deux nombres calculés contre deux distributions différentes. Sur les entretiens, l'incertitude due à la référence — estimée conjointement sur la moyenne et l'écart-type à la construction du corpus — vaut environ 0,44 écart-type, contre 0,24 pour les discours : assez pour déplacer un texte d'un palier à l'autre. Nous ne franchissons donc pas le demi-écart-type dans le texte d'une chronique d'entretien sans citer son intervalle. Sur le graphique, cet intervalle est la bande grise, calculée de façon plus prudente et donc un peu plus large.
- La métrique est coupée sur les textes programmatiques écrits — plaquettes, livrets, programmes. Le corpus de référence n'en contient pas et le genre n'est pas comparable : aucune charge morale n'y est calculée. Les deux chroniques programmatiques déjà publiées gardent l'ancienne mesure lexicale, signalée sur leur page comme non comparable.
- Nous avons déjà publié un chiffre faux avec cet indicateur. En 2026, un bug de comptage a surévalué l'autorité d'environ 60 % et retourné la fondation dominante de 5 chroniques publiées sur 11. Rien ne l'avait signalé — c'est ce qui a motivé la refonte décrite ici, et la règle qui veut que toute chronique publiée soit recalculée quand la métrique change. En septembre 2026, le passage à la mesure décrite ici a recalculé les 11 chroniques concernées : la fondation mise en avant a changé pour 9 d'entre elles, et les phrases qui ne tenaient plus ont été corrigées.
La synthèse éditoriale et le final cut humain
Le modèle de langage Mistral (mistral-large-2512) reçoit
le fichier de mesures, les graphiques et la métadonnée éditoriale
(titre, source, date). Il produit un brouillon de synthèse en cinq
sections. Il ne réécrit jamais les chiffres, il les
commente.
Cette synthèse est un brouillon. Chez AFK, on la relit intégralement, on l'édite, on tranche les ambiguïtés, on coupe ce qui sur-interprète, on ajoute le contexte que les chiffres ne portent pas — l'histoire du locuteur, la séquence politique, ce que les graphiques ne peuvent pas dire. C'est AFK, en tant que publication, qui signe la chronique et en endosse la responsabilité éditoriale.
Cette précision n'est pas une caution rhétorique pour rassurer le lecteur sur l'usage du modèle de langage. C'est le point d'arrivée du dispositif. Sans final cut humain, ces sept indicateurs resteraient une note de calcul. La chronique commence quand l'humain en fait quelque chose.
Reproductibilité
Les modèles locaux (embeddings, classification) sont publiquement
accessibles sur Hugging Face, la configuration tient en quelques fichiers YAML, et le code Python du
pipeline (répertoire words-weight/) sera publié en logiciel libre après cinq ou six chroniques, le temps de stabiliser l'API et la documentation.
À ce moment-là, toute personne munie d'une clé d'API Mistral et d'une clé
d'API Anthropic pourra rejouer une chronique sur la même source et obtenir,
aux marges du non-déterminisme des modèles de langage près, les mêmes chiffres.
Pour la charge morale, deux choses rendent ce rejeu possible sans nous : le
prompt gelé sera publié avec son empreinte (A1-rule-only-20260904),
et les statistiques du corpus de référence — moyennes et écarts-types par
médium — sont livrées avec le code. Les 337 textes eux-mêmes ne sont pas
tous redistribuables ; leurs statistiques le sont.
Limitations générales
-
Les modèles d'embeddings utilisés sont monolingues français (
sentence-camembert-large). Un discours en anglais ou en italien serait analysé séparément avec des modèles différents (all-mpnet-base-v2pour l'anglais). - L'essentiel de l'analyse tourne sur CPU et reste compatible avec une machine standard. Deux étapes font exception : la transcription audio (Whisper), qui demande un GPU, et le repérage des segments moraux, qui appelle un modèle de langage distant.
Pour aller plus loin
- Bruno Latour, Où atterrir ? Comment s'orienter en politique, La Découverte, 2017 — fiche éditeur.
- Discussion technique détaillée à venir sur sylvain.artois.io — calibration du Latouromètre, choix d'embedder, désambiguïsation des amorces.