Framing by Wording, Framing by Selection: A Large-Scale Two-Dimensional Audit of French News Headlines, 2022-2025
Organizations: Le French News Lab
Abstract
News headlines frame public issues both by what they select and by how they word it, yet computational framing work typically collapses these operations into a single score. We introduce a two-dimensional framework that separates salience framing, measured through four wording devices (loaded vocabulary, blame attribution, threat framing, rhetorical question), from selection framing, measured through outlet-level story-form and high-charge distributions. We build a 10,000-headline French supervision set using three LLM annotators with majority-vote resolution and human arbitration, validate the labels against two annotator-independent blind human studies, and apply the strongest classifier to 902,111 deduplicated headlines from 25 French outlets (2022-2025). Three main findings emerge. First, salience and selection divergence are positively correlated yet leave nearly half of outlet-level variance unexplained, populating interpretively distinct off-diagonal cells in a four-cell outlet typology. Second, default classification thresholds systematically inflate corpus-level salience estimates; a precision-floor recalibration protocol corrects this distortion. Third, group-mention analysis reveals sharply unequal salience contexts: headlines mentioning Jews, the Far-right, and Muslims carry the highest detected salience rates, which broad event-context composition does not fully explain (residuals are descriptive, not same-event causal estimates; per-group lexicon precision is reported alongside). To our knowledge, this is the largest framing-focused French headline audit to date; we release the supervision set, lexicons, and analysis code.
Figures & tables
| Measure | Operational definition |
|---|---|
| Loaded vocabulary | Evaluative or emotionally charged wording whose neutral paraphrase would preserve the core event claim. |
| Blame attribution | Wording that assigns causal responsibility for a problem or negative outcome to an actor or group. |
| Threat framing | Wording that casts an actor, event, or situation as danger, invasion, crisis, or security risk. |
| Rhetorical question | Headline posed as a question. Operationalised by interrogative form, not by whether the question is judged rhetorical. |
| Us-vs-them | Explicit ingroup/outgroup contrast through naming, pronouns, identity markers, or oppositional structure. |
| Story form | 10-class event/action category: POLICY, PARLIAMENT, CONFLICT, CRIME, SCANDAL, ELITE, SOCIAL, LAW, ELECTIONS, OTHER. |
| Head | MinP | Thr. | P | R | F1 |
|---|---|---|---|---|---|
| loaded | .70 | .67 | .733 | .698 | .715 |
| blame | .70 | .83 | .719 | .650 | .683 |
| threat | .60 | .84 | .723 | .712 | .718 |
| rhet. q. | .85 | .89 | .957 | .809 | .877 |
| us-vs-them ‡ | .60 | .89 | .600 | .625 | .612 |
| charge | .70 | .64 | .779 | .785 | .782 |
| Model | Loaded | Blame | Threat | Rhet.Q | UvT ‡ | Charge | Story (macro-F1) |
|---|---|---|---|---|---|---|---|
| TF-IDF + Logistic Regression | .518 | .468 | .429 | .491 | .381 | .572 | .543 |
| CamemBERT-base | .770 | .657 | .642 | .900 | .617 | .769 | .723 |
| XLM-RoBERTa-large † | .758 | .672 | .749 | .841 | .633 | .801 | .731 |
| Device | H–H | Maj–LLM | F1 | Prec. | Rec. |
|---|---|---|---|---|---|
| Loaded vocabulary | .542 | .608 | .768 | .644 | .951 |
| Blame attribution | .601 | .718 | .675 | .579 | .809 |
| Threat framing | .613 | .668 | .564 | .420 | .857 |
| Rhetorical question | .894 | .869 | .862 | .820 | .909 |
| Us-vs-them † | .510 | .596 | .471 | .369 | .649 |
| Any salience ‡ | .680 | .463 | .780 | .646 | .984 |
| Cell | Sal.JS | Sel.JS | Sal.% | |
|---|---|---|---|---|
| Double-distinctive | 9 | 0.027 | 0.081 | .484 |
| Salience-dominant | 3 | 0.017 | 0.018 | .358 |
| Selection-dominant | 3 | 0.008 | 0.046 | .510 |
| Low-distinctiveness | 10 | 0.004 | 0.014 | .376 |
| Group | N | Sal% | Exp% | Res. | Top form |
|---|---|---|---|---|---|
| Jews | 4,646 | 78.7 | 49.6 | +29.1 | CRIME |
| Far-right | 3,981 | 77.7 | 50.0 | +27.7 | CONFLICT |
| Muslims | 4,720 | 66.4 | 46.6 | +19.8 | CRIME |
| Migrants | 9,606 | 58.4 | 40.7 | +17.7 | CRIME |
| Police | 14,313 | 57.6 | 46.5 | +11.1 | CRIME |
| Unions | 6,877 | 53.8 | 50.3 | +3.6 | CONFLICT |
| Component | Count | Share |
|---|---|---|
| Politics | 3,339 | 33.4% |
| Economy | 3,335 | 33.4% |
| Society | 3,326 | 33.3% |
| Any salience | 4,093 | 40.9% |
| Loaded vocabulary | 2,391 | 23.9% |
| Blame attribution | 1,435 | 14.4% |
| Group | Terms | Prec. | Rec. | F1 |
|---|---|---|---|---|
| Migrants | 26 | 1.000 | .674 | .805 |
| Police | 29 | .873 | .674 | .761 |
| RN | 14 | .831 | .736 | .780 |
| LFI | 9 | .691 | 1.000 | .818 |
| Workers | 14 | .860 | .491 | .625 |
| Farmers | 40 | .877 | .934 | .904 |
| (a) Reliability summary ( ) | ||
|---|---|---|
| Field | 3-way agree. | Mean |
| Loaded vocabulary | 81.1% | .661 |
| Blame attribution | 85.4% | .639 |
| Threat framing | 90.0% | .623 |
| Rhetorical question | 94.8% | .770 |
| Us-vs-them | 88.3% | .408 |
| Device (context) | Example and rationale |
|---|---|
| Loaded vocabulary (Jews) | “Au Dîner du Crif, François Bayrou dénonce «la bête délirante et meurtrière» de l’antisémitisme” (“At the Crif dinner, François Bayrou denounces the ‘deranged and murderous beast’ of antisemitism”) — Le Figaro , id 3789940 , test split: the noun phrase bête délirante et meurtrière is an evaluative monstrosity metaphor with no neutral paraphrase of the same event. The loaded lexicon is voiced by a quoted speaker rather than by the outlet, illustrating the attribution limit of the headline unit noted in § 3 . |
| Blame attribution (Police) | “Mort de Blessing Matthew : les gendarmes mis en cause” (“Death of Blessing Matthew: the gendarmes implicated”) — Mediapart , id 3561734 , validation split: causal responsibility for a death is assigned to a named institutional actor in the outlet’s own voice, with no attributing source. |
| Threat framing (Migrants) | “«Impression de submersion» migratoire : Yaël Braun-Pivet «gênée» par les propos de François Bayrou” (“Migratory ‘sense of submersion’: Yaël Braun-Pivet ‘uncomfortable’ with François Bayrou’s remarks”) — Le Parisien , id 1454100 , train split: the submersion/overload lexicon reframes a demographic process as a security emergency, consistent with the threat-device definition in Table 1 ; as above, the phrase is quoted rather than asserted. |
| Rhetorical question | “Dépenses de santé : faut-il rembourser les soins en fonction des revenus ?” (“Health spending: should care be reimbursed according to income?”) — Le Point , id 436456 , validation split: an interrogative headline that advances an evaluative proposition rather than seeking information. |
| Story form vs. topic (immigration) | “Immigration : vers plus de contrôle des mariages des personnes étrangères en situation irrégulière” (“Immigration: towards greater scrutiny of marriages of irregular foreign nationals”; La Croix , id 1376080 ) is POLICY; “Naufrage de migrants dans la Manche : quatre personnes mises en examen et incarcérées” (“Migrant shipwreck in the Channel: four charged and jailed”; JDD , id 2310601 ) is CRIME. Both are train-split rows. Same subject domain, different journalistic action. |
| Outlet | N | Sal.JS | Sel.JS | High-Chg% | Typology |
|---|---|---|---|---|---|
| Fdesouche | 16,124 | 0.038 | 0.147 | 82.1 | Double-distinctive |
| Slate.fr | 3,907 | 0.051 | 0.071 | 23.1 | Double-distinctive |
| Causeur | 3,056 | 0.033 | 0.099 | 30.4 | Double-distinctive |
| Blast † | 646 | 0.025 | 0.095 | 57.9 | Double-distinctive |
| Ouest-France | 90,423 | 0.021 | 0.082 | 4.6 | Double-distinctive |
| Mediapart | 7,092 | 0.016 | 0.075 | 48.7 | Double-distinctive |
| Domain | Case | N | Any-Sal% 95% CI | High-Chg% 95% CI |
|---|---|---|---|---|
| Outlet | Fdesouche | 16,124 | 72.6 [71.9, 73.3] | 82.1 [81.5, 82.6] |
| Outlet | Blast † | 646 | 67.3 [63.6, 70.8] | 57.9 [54.1, 61.6] |
| Outlet | Causeur | 3,056 | 59.1 [57.4, 60.9] | 30.4 [28.8, 32.1] |
| Outlet | Le Figaro | 108,307 | 33.2 [32.9, 33.5] | 31.2 [30.9, 31.5] |
| Group | Jews | 4,646 | 78.7 [77.5, 79.9] | 79.8 [78.6, 80.9] |
| Group | Far-right | 3,981 | 77.7 [76.3, 78.9] | 65.8 [64.3, 67.2] |
| Group | N | Corpus% | Any-Sal% | Y Story exp.% | Resid. pp | Dominant context |
|---|---|---|---|---|---|---|
| Jews | 4,646 | 0.52 | 78.7 | 49.6 | +29.1 | CRIME 32.5% |
| Far-right | 3,981 | 0.44 | 77.7 | 50.0 | +27.7 | CONFLICT 44.3% |
| Muslims | 4,720 | 0.52 | 66.4 | 46.6 | +19.8 | CRIME 23.4% |
| Migrants | 9,606 | 1.06 | 58.4 | 40.7 | +17.7 | CRIME 42.4% |
| Police | 14,313 | 1.59 | 57.6 | 46.5 | +11.1 | CRIME 56.7% |
| Unions | 6,877 | 0.76 | 53.8 | 50.3 | +3.6 | CONFLICT 56.8% |
| Head | Type | Headline | Error source |
|---|---|---|---|
| Loaded | FP | Nationalisons la dette ! ( Nationalize the debt! ) | Surface-form political imperative over-triggers on the charged verb; annotators classified this as advocacy rather than framing rhetoric. |
| Loaded | FN | Pour Macron (et pour que rien ne change), bienvenue dans la commune la plus riche de France ( For Macron (and so that nothing changes), welcome to the richest municipality in France ) | Sarcastic loaded expression ( pour que rien ne change ) requires discourse-level reading beyond surface form; ironic register under-represented in training. |
| Blame | FP | Nîmes : l’homme armé qui s’est suicidé au tribunal recherchait «des magistrats mafieux» ( Nîmes: the armed man who killed himself at the courthouse was looking for “mafia judges” ) | Reported speech containing explicit blame language is attributed to a third party; model does not distinguish endorsed from reported blame frames. |
| Blame | FN | Chez TotalEnergies, détruire la planète continue de rapporter gros ( At TotalEnergies, destroying the planet is still highly profitable ) | Implicit blame through an agentive nominalized construction; model under-weights non-explicit accusation patterns relative to overt subject-verb-object blame frames. |
| Threat | FP | Que risquent les Français qui partent faire le djihad ? ( What do French people who leave to wage jihad risk? ) | Co-occurrence of risquent and djihad triggers the threat surface pattern; the actual frame is a juridical inquiry about legal consequences, not a threat directed at an audience. |
| Threat | FN | Explosion de l’immigration en France : les demandes d’asile ont bondi de plus de 30 % en 2022, les régularisations de clandestins en hausse de 8 % ( Explosion in immigration in France: asylum applications jumped by more than 30% in 2022, regularizations of undocumented migrants up 8% ) | Threat metaphor ( explosion ) combined with quantitative surge framing; the statistical register suppresses the model’s threat signal relative to the metaphor. |
| Device | H–H | Interp. | A1–LLM | A2–LLM | Maj–LLM | Interp. | F1 | Prec. | Rec. |
|---|---|---|---|---|---|---|---|---|---|
| Loaded vocabulary | .699 | substantial | .638 | .523 | .682 | substantial | .766 | .629 | .980 |
| Blame attribution | .772 | substantial | .568 | .559 | .648 | substantial | .653 | .510 | .907 |
| Threat framing | .588 | moderate | .664 | .409 | .685 | substantial | .746 | .623 | .930 |
| Rhetorical question | .974 | almost perfect | .895 | .923 | .920 | almost perfect | .917 | .930 | .904 |
| Us-vs-them | .564 | moderate | .717 | .588 | .845 | almost perfect | .769 | .833 | .714 |
| Any salience | .636 | substantial | .735 | .511 | .715 | substantial | .909 | .864 | .959 |
| Field | Mistral–human | Ensemble–human | |
| Loaded vocabulary | .553 | .684 | .131 |
| Blame attribution | .351 | .379 | .028 |
| Threat framing | .517 | .614 | .097 |
| Rhetorical question | .324 | .400 | .076 |
| Us-vs-them | .298 | .546 | .248 |
| Any salience | .435 | .559 | .124 |
| Group | 2022 | 2023 | 2024 | 2025 |
|---|---|---|---|---|
| Jews | 74.6% ( 2.35) | 75.3% ( 2.26) | 77.2% ( 2.21) | 84.1% ( 2.21) |
| Far-right | 74.3% ( 2.34) | 74.7% ( 2.24) | 79.6% ( 2.27) | 81.4% ( 2.14) |
| Muslims | 63.8% ( 2.01) | 66.7% ( 2.00) | 65.5% ( 1.87) | 67.9% ( 1.78) |
| Police | 58.4% ( 1.84) | 52.9% ( 1.59) | 58.0% ( 1.66) | 63.1% ( 1.66) |
| Migrants | 53.2% ( 1.68) | 59.4% ( 1.78) | 58.7% ( 1.68) | 62.3% ( 1.64) |
| Group | UvT lift | UvT rate | Interpretation |
|---|---|---|---|
| Far-right | 10.60 | 56.0% | elevated directional signal only; not a primary prevalence estimate |
| Muslims | 6.83 | 36.1% | elevated directional signal only; explicit mentions only |
| LFI | 2.97 | 15.7% | weaker directional signal in party/mobilisation coverage |
| Hyperparameter | CamemBERT-base | XLM-RoBERTa-large |
|---|---|---|
| Pretrained model | camembert-base | xlm-roberta-large |
| Max sequence length (tokens) | 48 | 48 |
| Per-device batch size | 16 | 8 |
| Gradient accumulation steps | 2 (eff. batch = 32) | 4 (eff. batch = 32) |
| Learning rate | ||
| Weight decay | 0.01 | 0.01 |
| Device | Definition (YES) | Canonical YES examples | Canonical NO examples |
|---|---|---|---|
| Loaded vocabulary | Strong emotional, exaggerated, metaphorical, or value-laden wording beyond neutral reporting | catastrophe, chaos, désastre, submersion, effondrement ; metaphorical or dramatic phrasing | Neutral descriptive wording: réforme, mesure, discussion |
| Blame attribution | An actor is clearly presented as causing harm, failure, or a negative outcome | Explicit causation: provoque, entraîne, aggrave ; responsibility: responsable de, à cause de ; accusation: accusé de, mis en cause | Simple criticism or opposition without causation: X critique Y , X s’oppose à Y |
| Threat framing | Wording casts an actor, event, or situation as dangerous, destabilizing, or harmful | menace, danger, risque, fait craindre ; escalation: au bord de, sous pression ; metaphorical threat: déferlante, explosion de, submerge | Neutral reporting of events without danger framing |
| Rhetorical question | A question that implies judgment, criticism, or suspicion | Implies evaluation: Faut-il craindre ? Macron a-t-il échoué ? Jusqu’où ira… | Neutral informational questions: Que dit la loi ? Que sait-on ? |
| Us-vs-them † | Explicit opposition between two distinct groups, both holding social, political, ethnic, national, class, or institutional identity | La France face aux migrants ; class opposition: les 1% vs le reste du monde ; institutional: gouvernement vs syndicats | Politician vs. politician (CONFLICT); commercial competition; one actor + vague target; crime report victim/perpetrator |
| Charge band (HIGH) | HIGH = strong emotional intensity, crisis, violence, confrontation, or scandal | Crisis, attack, scandal, strong confrontation | Routine, neutral reporting (LOW) |
| Metric | Value | N |
| Cohen’s (nominal) | .654 | 642 |
| Cohen’s (linear) | .666 | 642 |
| Krippendorff’s | .653 | 642 |
| % raw agreement | 69.9% | 642 |
| By primary annotator confidence | ||
| HIGH | .729 | 318 |
| Outlet | Default cell | Perturbed cell(s) | Triggering perturbation(s) |
|---|---|---|---|
| Valeurs actuelles | double-distinctive | selection-dominant | raise salience median by 10% or 20% |
| Le HuffPost | low-distinctiveness | selection-dominant | lower salience median by 10% or 20%; any-salience-only perturbation except raising selection median |
| Marianne | selection-dominant | double-distinctive | lower salience median by 10% or 20%; any selection-only perturbation |
| Libération | low-distinctiveness | selection-dominant | lower selection median by 20% |
| BFMTV | salience-dominant | double-distinctive; low-distinctiveness | lower selection median by 10% or 20%; raise salience median by 20% |
| L’Humanité | selection-dominant | double-distinctive | lower salience median by 10% or 20% |
| Outlet | N | Full Any-Sal% | RQ-excl Any-Sal% | pp | Sal.JS |
|---|---|---|---|---|---|
| Fdesouche | 16,124 | 72.6 | 72.2 | 0.5 | |
| Slate.fr | 3,907 | 49.6 | 31.9 | 17.7 | |
| Causeur | 3,056 | 59.1 | 50.0 | 9.1 | .002 |
| Blast † | 646 | 67.3 | 65.9 | 1.4 | |
| Ouest-France | 90,423 | 7.2 | 5.8 | 1.4 | |
| Mediapart | 7,092 | 58.8 | 56.8 | 2.0 |
| Head | Threshold | Val. Prev. | Val. Prec. | Prod. Prev. | Est. Prec. | pp |
|---|---|---|---|---|---|---|
| Loaded vocabulary | 0.67 | 23.9% | 73.3% | 17.0% | 64.3% | 9.0 |
| Blame attribution | 0.83 | 14.7% | 71.9% | 13.6% | 70.1% | 1.8 |
| Threat framing | 0.84 | 8.8% | 72.3% | 8.5% | 71.5% | 0.8 |
| Rhetorical question | 0.89 | 7.3% | 95.7% | 4.4% | 92.9% | 2.8 |
| Us-vs-them | 0.89 | 6.4% | 60.0% | 5.3% | 55.0% | 5.0 |
| Any-salience | OR | 41.1% | 83.8% | 33.7% | 79.0% | 4.8 |
| Min. headlines | N cells | SE | ||
|---|---|---|---|---|
| 5 | 1,197 | 0.8793 | 0.0637 | .001 |
| 10 | 1,184 | 0.7582 | 0.0660 | .001 |
| 20 | 1,161 | 0.8552 | 0.0689 | .001 |
| 30 | 1,151 | 0.9218 | 0.0684 | .001 |
Political Discourse Analysis
Political discourse analysis studies how language expresses ideology, frames issues, persuades audiences, and shapes political debate.
See all 64 papers