Skip to content
intermediatetext

How to annotate Media Frames

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.

Get This Design

View on GitHub(opens in a new tab)

Clone or download from the repository

Quick start:

bash
git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/text/computational-social-science/media-frames-analysis
potato start config.yaml

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 File

This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.

yaml
# Media Frames Analysis
# Based on Card et al., ACL 2015
# Paper: https://aclanthology.org/P15-2072/
# 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
# 15 dimensions from Boydstun et al. (2014).
#
# 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
# - Other: Any coherent group of frames not covered by the categories above
#
# Annotation Guidelines:
# 1. Read the news paragraph and note the topic and source
# 2. Select all applicable framing dimensions
# 3. Choose the single primary (dominant) frame for the article
# 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"
      - "Other"
    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"
      "Other": "Any coherent group of frames not covered by the other categories"

  # Step 2: Select the primary (dominant) frame
  - annotation_type: radio
    name: primary_frame
    description: "Which single framing dimension is the primary (dominant) frame of the article?"
    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"
      - "Other"

  # 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. Select the single primary (dominant) frame for the article.
  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 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 items

Dataset & paper

Card et al., ACL 2015

Citation (BibTeX)

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

multiselectradiotext

Domain

NLPComputational Social ScienceMedia Studies

Use Cases

Media FramingPolitical CommunicationDiscourse Analysis

Tags

media-framesframingnews-analysispolicyacl2015

Found an issue or want to improve this design?

Open an Issue(opens in a new tab)