AFK.live
Pipeline · 22 h 16 Mar. 15 septembre · N° 0639
ACCUEIL · LE POIDS DES MOTS · MÉTHODOLOGIE
← Toutes les chroniques
Le poids des mots
Méthodologie

Comment ces chroniques sont fabriquées.

Ce qui est mesuré, avec quels modèles, qui signe. Un pipeline NLP en grande partie déterministe, quelques étapes bornées confiées à un modèle de langage, un brouillon Mistral, et un final cut humain qui endosse la chronique.

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 :

  1. Transcription du texte source (interview scannée, audio, PDF, article web) en un transcript exploitable.
  2. 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.
  3. 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 :

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

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.

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 :

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

Fig. 06 Exemple : Édouard Philippe à l'Adidas Arena Charge morale +0,77 σ vs 260 discours oraux de campagne (75ᵉ percentile)
Charge morale0 = discours oraux de campagne FR (n = 260)−3 σ−2 σ−1 σréf.+1 σ+2 σ+3 σz = +0,77Fondations — écart à la référence (σ), indicatifBienveillance+0,53Équiténon affirmé · sous le seuil de publication−0,31Loyauté+0,47Autorité, Pureté : non tracées — trop rares dans le corpus de référence pour être mesurées.
Sur ce discours, 171 des 216 segments sont repérés comme moraux (79 %), contre 65 % en moyenne dans les 260 discours de la référence, avec un écart-type de 19 points : d'où z = +0,77. La bande grise va de +0,59 à +0,98, le crochet de +0,48 à +1,04 — les deux restent au-dessus de zéro : le discours est plus chargé que la moyenne, quelle que soit l'incertitude qu'on retient. La bienveillance (+0,53, crochet +0,07 à +1,02) et la loyauté (+0,47, crochet +0,12 à +0,84) sont affirmées ; l'équité (−0,31, crochet −0,68 à +0,09) est grisée ; l'autorité et la pureté ne sont pas tracées. Lire la chronique →

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

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

Pour aller plus loin

← Toutes les chroniques