Daejeon, July 27–31
This paper uses a colonial crisis as a case study to address a stubborn research question: how can we identify “propaganda” in historical newspapers without reducing ideology to sentiment or constraining interpretation into benchmark-shaped boxes? To try and answer this question, the paper presents an evidence-based methodology for detecting colonial propaganda, combining a new hierarchical taxonomy with a multi-step LLM workflow, tested on 360 newspaper items covering the 1904 Perdicaris Affair. This crisis began on May 18, 1904, when Ion Perdicaris, a Greek-American resident of Tangier, was kidnapped by Moroccan chieftain Mulai Ahmed er Raisuni (Raissouli). The event, lasting several weeks, became a transnational media spectacle in which Morocco was repeatedly portrayed as a country plagued by disorder, danger, and political failure.
This study investigates the consistent patterns in how European newspapers built threats, legitimized intervention and normalized colonial hierarchy. It also exposes the limits of computational detection: mechanisms using explicit vocabulary are identified more reliably than those operating through silence and assumption. This is treated as both a potential technical limitation and a finding that confirms how colonial propaganda achieved its effects through what went unsaid.
Current approaches to computational propaganda detection in the field of NLP have produced advanced taxonomies for contemporary text, including fine-grained technique classification (Da San Martino et al. 2019), multilingual persuasion detection (Piskorski et al. 2023) and news framing analysis (Card et al. 2016). While effective on modern news and social media, these models have been developed around ahistorical assumptions about genres, audiences and counter-discourses that are ill-fitted for the colonial context.
Postcolonial discourse analysis offers a basis for understanding colonial representation. Said's (1977) concept of Orientalism, Mudimbe's (1988) “invention of Africa” through European knowledge systems, and Fanon's (1963) work on colonial psychology can help understand how colonial discourse constructed its subjects. Recent work in postcolonial digital humanities (Risam 2019) has further argued that computational work must remain accountable for colonial legacies embedded in archives and infrastructures. However, these traditions remain qualitative and resistant to systemization.
Historical research on colonial propaganda examined specific campaigns and media: French colonial exhibitions (Chafer et al. 2001), imperial cinema (Bouchard 2023), and colonial imagery (Bancel et al. 2022; Moumni, 2025). Yet these works often refer to propaganda without defining it and rarely engage with propaganda theory developed in communication studies.
Meanwhile, digital humanities approaches to historical press have demonstrated the computational potential of large-scale newspaper analysis, notably through projects offering access to searchable and semantically enriched collections (Ehrmann et al. 2020; Bunout, Ehrmann & Clavert 2023) and techniques like topic modeling, named entity recognition, and discourse-based clustering (Viola & Verheul 2020). DH theorists have also emphasized the need to balance computational approaches with interpretive nuance (Underwood 2019). This study responds to this need by integrating the traditions of propaganda detection, postcolonial theory, and historical press analysis into a single operational framework.
The framework separates three analytic levels so that “propaganda” is not collapsed into a single label.
Level-1 (Ideological Frames) captures the function of discourse. Building on Ellul’s distinction between agitation and integration propaganda (Ellul 1965), three frames are identified: Legitimization (manufacturing consent), Demonization (constructing threat) and Naturalization (colonial hierarchy treated as inevitable or self-evident).
Level-2 (Rhetorical Mechanisms) specifies nine operations:
Level-2 complies with technique-based taxonomies (Da San Martino et al. 2019; Piskorski et al. 2023) while adapting it to the colonial context.
Level-3 (Historical Tropes) captures period-specific vocabulary. Rather than fixing an exhaustive lexicon, the workflow extracts trope candidates and links them to verbatim evidence spans.
This framework is tested on a corpus built exclusively from the Impresso-Media Monitoring of the Past Web App. The initial retrieval used a single keyword query (“Perdicaris”) and returned 360 items (305 French, 55 German) spanning 20 May 1904 to 2 March 1909, drawn from 18 newspapers across France, Switzerland, and Luxembourg (see Table 1). This broad query was deliberate: corpus refinement was performed by the LLM pipeline itself, not through manual pre-selection. In Stage 1, the model assigns each item a relevance category (CORE / RELATED / PERIPHERAL / UNRELATED). Of the 360 retrieved items, 305 were classified as CORE or RELATED and retained for analysis; 33 were flagged as PERIPHERAL or UNRELATED (false positives typical of keyword search on digitized historical press) and excluded. French and German language articles were processed in their original languages; and the LLM instructed to quote all verbatim evidence spans in the source language. The corpus is intentionally “small” in a DH sense: large enough to compare sources and periods, but small enough to keep interpretive rigor.
| Country | Lang. | Newspaper | Items |
| France | FR | Le Petit Parisien | 64 |
| FR | Le Matin | 60 | |
| FR | Le Gaulois | 43 | |
| FR | Ouest-Éclair (Rennes) | 13 | |
| FR | Le Journal des débats politiques et littéraires | 3 | |
| FR | L’Oeuvre | 2 | |
| Switzerland | FR | Journal de Genève | 39 |
| DE | Neue Zürcher Zeitung | 34 | |
| FR | Gazette de Lausanne | 20 | |
| FR | La Liberté | 18 | |
| FR | L’Express | 16 | |
| FR | L’Impartial | 11 | |
| FR | Le Confédéré de Fribourg | 1 | |
| FR | La Tribune de Fribourg | 1 | |
| Luxembourg | FR | L’Indépendance luxembourgeoise | 14 |
| DE | Luxemburger Wort | 12 | |
| DE | Obermosel-Zeitung | 4 | |
| DE | Bürger- und Beamtenzeitung | 5 | |
| Total | 18 newspapers (305 FR, 55 DE) — 33 excluded (PERIPHERAL/UNRELATED) | 360 |
Table 1 Corpus overview by country, language, and newspaper
The pipeline is implemented in four stages using a single model (OpenAI GPT-4o) with structured JSON output. All prompts use temperature 0.2. For this paper, we chose to rely on GPT-4o to prioritizes framework demonstration over model benchmarking. To support output reliability, detection results were subject to iterative close reading against source texts, and a manual review of a sample of non-propaganda items.
Figure 1 Hierarchical framework and pipeline for colonial propaganda detection
Stage-1 of the pipeline performs binary detection and article relevance classification. Colonial propaganda is defined in the prompt as “discourse that systematically constructs, legitimizes, or naturalizes colonial power relations through rhetorical strategies.” Outputs: label, confidence (0–100), article relevance (CORE/RELATED/PERIPHERAL/UNRELATED), and short justifications for non-propaganda items.
Stage-2 scores intensity on three 1–10 dimensions with supporting evidence: Density (D, mechanism variety per article), Explicitness (E, overt rhetoric vs euphemism), and Emotional Impact (I, affective appeal). These are combined into a composite rating: Weak (1.0–3.9), Moderate (4.0–6.9), Strong (7.0–10.0).
Stage 3 assigns Level-1 frames and Level-2 mechanisms using the full taxonomy definitions structured in the prompt. The model extracts verbatim evidence spans (original language), provides confidence scores, and records mechanism subtypes (e.g., Authority Appeal via treaties vs expert voice).
Stage-4 extracts historical tropes, expands a seed list with period terms, links them to frames/mechanisms, and adds short contextual notes (historical context, rhetorical strategy, target audience, ideological framework).
The analysis is iterative: aggregate outputs guide where to read closely, and close reading is used to interpret, qualify, and sometimes challenge what the model flags.
Across the corpus, the model detects at least one propaganda mechanism in 88.1% of items; 11.9% are classified as non-propaganda. Close reading confirmed that the 11.9% figure largely corresponds to brief dispatches or factual updates rather than misclassifications. The 88.1% measure does not mean that “88% of the corpus is propaganda” in a binary sense, but that most texts use at least one mechanism (labeling, authority appeal, or state failure framing) that performs ideological work within a crisis narrative.
Figure 2 Propaganda detection results | Figure 3 Frame distibution |
At the frame level, Demonization (D) dominates (85.5% of propaganda items), followed by Legitimization (L) (62.5%), with Naturalization (N) lower but present (31.2%). Looking closely at the corpus, Demonization is explained by the frequent use of terms like “bandit” or “brigand”. A series of articles published in Le Petit Parisien about the crisis appear under the headline “LES BRIGANDS MAROCAINS,” Labeling before the article even begins.
It can be argued that this is a period-specific rhetoric rather than propaganda. When newspapers called Raisuni a "brigand," they described someone who had kidnapped a man and demanded ransom, criminal acts by most definitions. However, the consistent choice of criminalizing vocabulary (brigand, bandit, chef de bande) over contemporarily available alternatives (chef de tribu, rebelle, opposant), combined with the systematic absence of Moroccan political perspectives, forms a pattern that construct a colonial reality where intervention becomes thinkable, desirable, necessary.
Co-occurrence analysis reveals a recurring “grammar” of colonial persuasion: Labeling + State Failure Framing is the strongest pair (150 co-occurrences), along with Labeling + Authority Appeal (132 co-occurrences). The pairing produces a double justification: Moroccan actors are criminalized and the state is portrayed as incapable, while colonial “authority” voices then define what action is reasonable. Close reading supports this logic in longer items that describe Morocco as “anarchie” and present the Makhzen as refusing responsibility or as unable to act, thus the necessity for European intervention.
Figure 4 Mechanism frequency | Figure 5 Mechanism co-occurence |
Temporal analysis suggests a shift in discourse. During the kidnapping-to-release phase (May 18–June 24, 1904), propaganda prevalence reaches 90.5% and a frame profile of L=55%, D=85%, N=14%. After release, prevalence remains high (81.9%), while Naturalization rises sharply (L=66%, D=71%, N=42%). This pattern is consistent with Ellul’s agitation/integration propaganda (Ellul 1965). Early reporting emphasizes urgency and danger, and thus the need for action. Once the crisis passes, coverage moves from immediate threat narration to generalized explanations of how “the country” works, tainted with the taken-for-granted quality of colonial hierarchy.
Figure 6 Detection asymmetry
This is also reflected in the asymmetry of mechanism distribution: the model detects explicit mechanisms (Labeling, Authority Appeal) more often than implicit ones (Normalization, Selective Framing). This can be attributed to model limitations in detecting silences and assumptions, but also to historical reality: this limitation in itself reflects computationally what postcolonial theory argues about colonial discourse's pervasiveness.
In other words, the model is strongest where ideology is explicit in vocabulary and weakest where ideology does its deepest work by becoming common-sense. Thus, the suggested framework in this paper should be taken as a loop between model-assisted distant reading and source-aware close reading.
The paper proposes a digital history approach to colonial propaganda that keeps interpretation visible. By separating frames, mechanisms, and tropes, and linking outputs to evidence spans, the workflow supports structured comparison while inviting return to the source. It also demonstrates that small, curated data can support rigorous computational interpretation when workflows are designed for transparency and evidence than scale for its own sake.