Skip to main content
Analytical Framework — Topics and Frames
Purpose
Identify and track recurring topics, themes, and frames across the speech corpus to understand:
- What the speaker talks about (topic distribution)
- How the speaker frames each topic (frame analysis)
- When topics emerge and decline (longitudinal coverage)
- For whom topics are emphasized (audience-stratified analysis)
- Why specific framings recur (frame consistency, escalation, drift)
Topic Modeling
Approach Selection
- BERTopic (recommended for modern Trump corpus): Transformer-embedding-based topic modeling; handles short and long texts; produces coherent topic clusters
- LDA (Latent Dirichlet Allocation): Classical topic modeling; well-understood; baseline comparison
- Top2Vec: Embedding-based; alternative to BERTopic
- Hierarchical topic modeling: For nested topic structure (e.g., “immigration” → “border wall”, “ICE”, “asylum policy”)
Topic Extraction Workflow
- Preprocessing: Lemmatize, remove stopwords; preserve named entities
- Embedding: Use sentence-transformers (e.g.,
all-mpnet-base-v2) for semantic embeddings - Clustering: HDBSCAN or k-means; tune for desired topic granularity
- Topic representation: c-TF-IDF (BERTopic default) or LLM-generated topic names
- Topic stability assessment: Run topic model on bootstrap samples; assess topic-stability score
Output Schema
{
"topic_id": 0,
"label": "Border / Immigration",
"top_terms": ["border", "wall", "illegal", "immigrants", "mexico", "ice", "deportation", "caravan"],
"representative_speeches": ["...id...", "...id..."],
"speech_count": 234,
"first_observed": "2015-06-16",
"last_observed": "2026-04-30",
"trend": "stable_high"
}
Frame Analysis
Frames are how a topic is presented — the perspective, attribution, and evaluative loading. For each speech-topic instance, code:
Frame Dimensions
- Problem definition: What is the problem? Who is responsible?
- Causal interpretation: What caused the problem?
- Moral evaluation: How is the situation morally framed?
- Treatment recommendation: What is the proposed solution?
(Following Entman’s frame-analysis framework; widely used in political-communication research.)
Common Trump-Era Frames (illustrative, not exhaustive)
- Crisis-and-rescue frame: A specific group/situation is destroying America; only the speaker can fix it
- Reverse-victim frame: Trump or in-group is the real victim, despite holding power
- Conspiracy-of-elites frame: A small group of elites conspires against the in-group
- Witch-hunt frame: Investigation or oversight reframed as politically-motivated persecution
- Lawlessness frame: Out-group activities reframed as criminal even when lawful (asylum-seekers as “invaders”)
- Patriot frame: In-group activities reframed as patriotic even when illegal (J6 as “patriots”)
- Strength-vs-weakness frame: Policy positions framed as strong/weak rather than effective/ineffective
- Loyalty-vs-betrayal frame: Officials, family, and allies framed by loyalty rather than competence
- America-First-zero-sum frame: Other countries’ gains framed as American losses
- Fake-news frame: Critical reporting reframed as fabricated
- Deep-state frame: Career civil servants reframed as adversarial conspiracy
Frame Consistency and Drift
For each frame, track:
- Frame consistency: Does the same frame recur across speeches?
- Frame escalation: Does the frame become more extreme over time?
- Audience-targeted framing: Does the frame vary by audience type?
- Frame substitution: When does Frame A get replaced by Frame B?
- Co-occurrence patterns: Which frames co-occur in the same speech?
Recurring Phrases / Slogans / Memes
Track specific recurring linguistic units:
- Slogans: “Make America Great Again”, “Drain the Swamp”, “Lock Her Up”, “Build the Wall”, “Stop the Steal”, “America First”, “Witch Hunt”
- Epithets: “Sleepy Joe”, “Crooked Hillary”, “Pocahontas”, “Lyin’ Ted”, “Little Marco”, “Crazy Nancy”
- Catchphrases: “Believe me”, “Many people are saying”, “We’ll see what happens”, “Nobody knows X better than me”, “I have the best X”
- Conspiracy keywords: “Deep state”, “Fake news”, “Witch hunt”, “Hoax”, “Rigged”
- Apocalyptic phrasing: “Destroying our country”, “Last election”, “End of America”, “Country we won’t recognize”
For each recurring item:
- Track first appearance, frequency by year, audience-stratification
- Note any morphological variants (e.g., “fake news” → “fake news media” → “fake news enemy of the people”)
- Document evolution: how did the phrase change over time?
Methodological Stack
- BERTopic for topic modeling
- spaCy for NER and lemmatization
- scikit-learn for n-gram extraction
- NLTK / spaCy phrase matchers for slogan tracking
- Manual coding for frame analysis (with inter-rater reliability)
- Streamlit / Dash for interactive frame-and-topic exploration
Output Products
The framework produces:
- Topic dashboard: Topic distribution over time, by audience, by event
- Phrase-frequency tracker: Daily/weekly/monthly phrase frequency
- Frame database: Coded frame instances with context and evidence
- Comparative reports: Trump vs. baseline (other speakers; Trump 2016 vs Trump 2025)
- Alert pipeline: New phrases / new frames flagged for editorial review
Limitations
- Topic-modeling stability: Topic boundaries depend on hyperparameters; document the model version
- Frame-coding subjectivity: Frame analysis involves judgment; document coding criteria and inter-rater reliability
- Out-of-vocabulary terms: New events introduce new vocabulary; topic models drift
- Audience effects: Topics shift by audience; stratify when comparing
- Concept-vs-term ambiguity: Same concept may be expressed in different terms; same term may refer to different concepts
See Also
sc-overview.md- Analytical Framework — Rhetorical Analysis (overlapping marker taxonomy)
- Analytical Framework — Linguistic Features
sc-framework-claim-tracking.md- Narcissstic Staff, Narcissistic President (Patriot KB)
