Media Frames Corpus: News Framing Annotation
The Media Frames Corpus (Card et al., ACL 2015) labels U.S. news articles on immigration, smoking, and same-sex marriage with 15 general framing dimensions. This Potato config reproduces that frame-coding task.
About this dataset
The Media Frames Corpus was built by Dallas Card, Amber E. Boydstun, Justin H. Gross, Philip Resnik, and Noah A. Smith, and published at ACL-IJCNLP 2015. It pairs news framing theory from political science with computational annotation so frames can be compared across unrelated policy debates.
Version 1 of the corpus covers three policy issues chosen for their range of framing: immigration, smoking, and same-sex marriage. The articles were drawn from 13 national U.S. newspapers via Lexis-Nexis, mostly published between 1990 and 2012, and Table 1 of the paper reports 20,037 annotated articles across the three issues.
Annotators worked from 15 general framing dimensions defined by Boydstun et al. (2014): Economic; Capacity and resources; Morality; Fairness and equality; Legality, constitutionality and jurisprudence; Policy prescription and evaluation; Crime and punishment; Security and defense; Health and safety; Quality of life; Cultural identity; Public opinion; Political; External regulation and reputation; and Other. For each article they marked which dimensions appeared, highlighted the text spans that cued them, and chose a primary frame for the headline and the whole article. Annotators identified between 2.0 and 3.7 frames per article on average.
The Potato config below reproduces the per-article task: a multiselect for the framing dimensions present, a radio for the primary frame, and a text field for span-level justification, matching the multi-frame coding workflow from the original study.
- Framing dimensions
- 15 general-purpose
- Policy issues
- Immigration, smoking, same-sex marriage
- Annotated articles
- 20,037
- Newspapers
- 13 national U.S.
- Annotators
- 19 undergraduates
- Venue
- ACL-IJCNLP 2015
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Media Frames Analysis
# Based on Card et al., ACL 2015
# Paper: https://aclanthology.org/P15-1061/
# Dataset: https://github.com/dallascard/media_frames_corpus
#
# This task asks annotators to identify how news articles frame policy
# issues. Media framing refers to the way information is presented to
# influence how audiences interpret issues. The frame taxonomy covers
# 14 dimensions commonly used in political communication research.
#
# Frame Dimensions:
# - Economic: Costs, benefits, financial impact
# - Capacity and Resources: Availability of resources, infrastructure
# - Morality: Religious, ethical, or moral perspective
# - Fairness and Equality: Equal treatment, discrimination, rights
# - Legality: Legal aspects, constitutionality, court rulings
# - Policy: Specific policies, regulations, legislative proposals
# - Crime and Punishment: Criminal activity, enforcement, penalties
# - Security: National security, public safety, threats
# - Health: Public health, medical, wellness perspectives
# - Quality of Life: Well-being, lifestyle, community impact
# - Cultural Identity: Cultural values, heritage, national identity
# - Public Opinion: Polls, public sentiment, popularity
# - Political: Political strategy, partisanship, elections
# - External Regulation: International bodies, foreign policy, treaties
#
# Annotation Guidelines:
# 1. Read the news paragraph and note the topic and source
# 2. Select all applicable framing dimensions
# 3. Classify the overall stance toward the issue
# 4. Provide a brief justification for your frame selections
annotation_task_name: "Media Frames Analysis"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "text"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
port: 8000
server_name: localhost
annotation_schemes:
# Step 1: Select applicable framing dimensions
- annotation_type: multiselect
name: frame_dimensions
description: "Which framing dimensions are present in this text? (select all that apply)"
labels:
- "Economic"
- "Capacity and Resources"
- "Morality"
- "Fairness and Equality"
- "Legality"
- "Policy"
- "Crime and Punishment"
- "Security"
- "Health"
- "Quality of Life"
- "Cultural Identity"
- "Public Opinion"
- "Political"
- "External Regulation"
tooltips:
"Economic": "Discusses costs, benefits, economic impact, or financial considerations"
"Capacity and Resources": "Focuses on availability of resources, infrastructure, or logistical capacity"
"Morality": "Frames the issue in religious, ethical, or moral terms"
"Fairness and Equality": "Discusses equal treatment, discrimination, rights, or justice"
"Legality": "Addresses legal aspects, constitutionality, court decisions, or law enforcement"
"Policy": "Discusses specific policies, regulations, or legislative proposals"
"Crime and Punishment": "Frames the issue around criminal activity, enforcement, or penalties"
"Security": "Focuses on national security, public safety, or threats"
"Health": "Discusses public health, medical impact, or wellness"
"Quality of Life": "Addresses well-being, lifestyle, or community impact"
"Cultural Identity": "Discusses cultural values, heritage, or national identity"
"Public Opinion": "References polls, public sentiment, or popular support"
"Political": "Focuses on political strategy, partisanship, or electoral implications"
"External Regulation": "Discusses international bodies, foreign policy, or treaties"
# Step 2: Classify the stance
- annotation_type: radio
name: stance
description: "What is the overall stance of this text toward the issue?"
labels:
- "Pro-Issue"
- "Anti-Issue"
- "Neutral"
keyboard_shortcuts:
"Pro-Issue": "1"
"Anti-Issue": "2"
"Neutral": "3"
tooltips:
"Pro-Issue": "The text supports or advocates for the issue, policy, or position being discussed"
"Anti-Issue": "The text opposes or argues against the issue, policy, or position being discussed"
"Neutral": "The text presents the issue without clear advocacy for or against"
# Step 3: Provide frame justification
- annotation_type: text
name: frame_justification
description: "Briefly explain why you selected the frame dimensions above"
annotation_instructions: |
You will be shown paragraphs from news articles about policy issues. Your task is to:
1. Identify which framing dimensions are present. Multiple frames can co-occur.
2. Classify whether the text is pro-issue, anti-issue, or neutral.
3. Provide a brief justification for your frame selections.
Media frames shape how readers interpret issues. Look for the underlying perspective
or emphasis the article uses, not just the topic itself.
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="display: flex; gap: 8px; margin-bottom: 12px;">
<span style="background: #e0e7ff; color: #3730a3; padding: 3px 10px; border-radius: 12px; font-size: 13px;">Topic: {{topic}}</span>
<span style="background: #f3e8ff; color: #7e22ce; padding: 3px 10px; border-radius: 12px; font-size: 13px;">Source: {{source}}</span>
</div>
<div style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<p style="font-size: 16px; line-height: 1.7; margin: 0;">{{text}}</p>
</div>
</div>
allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "frames_001",
"text": "The proposed immigration reform would cost taxpayers an estimated $50 billion over the next decade, according to the Congressional Budget Office, though proponents argue it would generate $80 billion in economic activity through increased labor force participation.",
"topic": "immigration",
"source": "Reuters"
},
{
"id": "frames_002",
"text": "Gun control advocates gathered at the state capitol, demanding universal background checks after a series of mass shootings. They argued that common-sense regulations are needed to protect public safety without infringing on constitutional rights.",
"topic": "gun control",
"source": "Associated Press"
}
]
// ... and 8 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/text/computational-social-science/media-frames-analysis potato start config.yaml
Dataset & paper
Card et al., ACL 2015
Citation (BibTeX)
@inproceedings{card-etal-2015-media,
title = "The Media Frames Corpus: Annotations of Frames Across Issues",
author = "Card, Dallas and Boydstun, Amber E. and Gross, Justin H. and Resnik, Philip and Smith, Noah A.",
booktitle = "Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 2: Short Papers)",
month = jul,
year = "2015",
address = "Beijing, China",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/P15-2072",
pages = "438--444"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
FLUTE: Figurative Language Understanding through Textual Explanations
Figurative language understanding via NLI. Annotators classify figurative sentences (sarcasm, simile, metaphor, idiom) and provide textual explanations of the figurative meaning. The task combines natural language inference with fine-grained figurative language type classification.
LexGLUE: Legal Language Understanding Benchmark
LexGLUE is a benchmark of 7 legal NLP datasets in English (Chalkidis et al., ACL 2022) covering EU and US law. This Potato config reproduces its classification tasks for annotation.
MediTOD Medical Dialogue Annotation
Medical history-taking dialogue annotation based on the MediTOD dataset. Annotators label dialogue acts, identify medical entities (symptoms, conditions, medications, tests), and assess doctor-patient communication quality across multi-turn clinical conversations.