Assessing Humor in Edited News Headlines
Rate the funniness of edited news headlines on a 0-3 scale and judge which of two edited versions is funnier, based on SemEval-2020 Task 7 (Hossain et al.). Headlines are minimally edited by replacing a single word to create humorous effect.
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Assessing Humor in Edited News Headlines
# Based on Hossain et al., SemEval 2020
# Paper: https://aclanthology.org/2020.semeval-1.98/
# Dataset: https://cs.rochester.edu/u/nhossain/humicroedit.html
#
# Following the two SemEval-2020 Task 7 subtasks: annotators grade how funny
# each edited headline is on a 0-3 scale (Subtask 1), and judge which of two
# edited versions of the same headline is funnier (Subtask 2). Headlines have
# been minimally edited by replacing a single word to create humorous effect.
annotation_task_name: "Assessing Humor in Edited News Headlines"
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:
# Subtask 1: grade the funniness of each edited headline on the 0-3 scale
# used in the shared task (0 = Not Funny ... 3 = Funny).
- annotation_type: likert
name: funniness_edit_a
description: "Grade how funny Edit A is (0 = Not Funny, 3 = Funny)."
min_label: "Not Funny"
max_label: "Funny"
size: 4
- annotation_type: likert
name: funniness_edit_b
description: "Grade how funny Edit B is (0 = Not Funny, 3 = Funny)."
min_label: "Not Funny"
max_label: "Funny"
size: 4
# Subtask 2: given the two edited versions of the same headline, judge which
# one is funnier (or that they are equally funny).
- annotation_type: radio
name: humor_comparison
description: "Which edited version is funnier?"
labels:
- "Edit A Funnier"
- "Edit B Funnier"
- "Equally Funny"
keyboard_shortcuts:
"Edit A Funnier": "1"
"Edit B Funnier": "2"
"Equally Funny": "3"
tooltips:
"Edit A Funnier": "Edit A is more humorous than Edit B"
"Edit B Funnier": "Edit B is more humorous than Edit A"
"Equally Funny": "Both edits are equally funny (or equally unfunny)"
annotation_instructions: |
You will see an original news headline together with two edited versions (Edit A
and Edit B), each created by replacing a single word. Your task is to:
1. Read the original headline and both edited versions.
2. Grade how funny each edited version is on the 0-3 scale (0 = Not Funny, 3 = Funny).
3. Decide which of the two edits is funnier (or whether they are equally funny).
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #0369a1;">Original Headline:</strong>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
</div>
<div style="background: #fefce8; border: 1px solid #fde68a; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #a16207;">Edit A</strong> <span style="color: #a16207;">(replaced with "<strong>{{edit_word_a}}</strong>"):</span>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{edit_a}}</p>
</div>
<div style="background: #fdf2f8; border: 1px solid #fbcfe8; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #be185d;">Edit B</strong> <span style="color: #be185d;">(replaced with "<strong>{{edit_word_b}}</strong>"):</span>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{edit_b}}</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": "hh_001",
"text": "Trump says he will release his tax returns by end of month",
"edit_a": "Trump says he will release his tax returns by end of century",
"edit_word_a": "century",
"edit_b": "Trump says he will release his tax returns by end of nap",
"edit_word_b": "nap"
},
{
"id": "hh_002",
"text": "Scientists discover high levels of mercury in fish",
"edit_a": "Scientists discover high levels of mercury in politicians",
"edit_word_a": "politicians",
"edit_b": "Scientists discover high levels of mercury in cereal",
"edit_word_b": "cereal"
}
]
// ... 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/semeval/2020/task07-humor-headlines potato start config.yaml
Dataset & paper
Hossain et al., SemEval 2020
Citation (BibTeX)
@inproceedings{hossain-etal-2020-semeval,
title = "{S}em{E}val-2020 {T}ask 7: {A}ssessing {H}umor in {E}dited {N}ews {H}eadlines",
author = "Hossain, Nabil and Krumm, John and Gamon, Michael and Kautz, Henry",
booktitle = "Proceedings of the Fourteenth Workshop on Semantic Evaluation",
year = "2020",
address = "Barcelona (online)",
publisher = "International Committee for Computational Linguistics",
pages = "746--758",
url = "https://aclanthology.org/2020.semeval-1.98"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Fine-Grained Sentiment Analysis on Financial Microblogs and News
Graded sentiment analysis of financial text with topic classification, rating market sentiment from very bearish to very bullish on a 7-point scale. Based on SemEval-2017 Task 5.
MTRAGEval: Evaluating Multi-Turn RAG Conversations
SemEval-2026 Task 8 (MTRAGEval): evaluating retrieval-augmented generation (RAG) in multi-turn conversations, built on the MTRAG benchmark. Given a conversation, the retrieved reference passages, and a system-generated response, annotators judge how faithful the response is to the passages, how well it answers the user's latest question, and whether it correctly handles unanswerable, underspecified, non-standalone, or unclear questions. The shared task covers retrieval (A), generation (B), and full RAG (C).
PreTENS - Presuppositional Acceptability
Judge the acceptability of sentences whose two nominal arguments are presupposed to stand (or not) in an ordered taxonomic relation. Includes a binary acceptable/unacceptable judgment and a 1-7 acceptability rating. Based on SemEval-2022 Task 3 (Zamparelli et al.).