Narrative Story Similarity
SemEval-2026 Task 4: judging narrative similarity between short stories. In the comparative setting (Track A), annotators see an anchor story and two candidate stories and decide which candidate is structurally more similar to the anchor. Narrative similarity is considered across three orthogonal dimensions: abstract theme, course of action, and outcomes. (Track B of the shared task learns story embeddings that reflect these human judgments.)
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Narrative Story Similarity
# Based on Hatzel et al., SemEval-2026 Task 4
# Paper: https://aclanthology.org/2026.semeval-1.429/
# Task page: https://narrative-similarity-task.github.io/
#
# Track A (Comparative Narrative Similarity) is a pairwise choice: given an
# anchor story and two candidate stories, decide which candidate is
# structurally more similar to the anchor. Similarity is judged across
# three orthogonal dimensions:
# - Abstract theme: the underlying idea/message
# - Course of action: the sequence of events/what the characters do
# - Outcomes: how things turn out
# (Track B of the shared task learns embeddings reflecting these judgments.)
# This showcase models Track A plus a note of which dimensions drove the
# decision.
annotation_task_name: "Narrative Story Similarity"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "anchor"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
port: 8000
server_name: localhost
annotation_schemes:
- annotation_type: radio
name: more_similar
description: "Which candidate story is more similar to the anchor story?"
labels:
- "Story A"
- "Story B"
keyboard_shortcuts:
"Story A": "1"
"Story B": "2"
- annotation_type: multiselect
name: similarity_dimensions
description: "Which dimension(s) made your chosen story more similar? (Select all that apply)"
labels:
- "Abstract theme"
- "Course of action"
- "Outcomes"
annotation_instructions: |
Read the anchor story and the two candidate stories (A and B). Decide
which candidate is structurally more similar to the anchor, considering
the abstract theme, the course of action, and the outcomes. Then indicate
which of those dimensions drove your decision.
html_layout: |
<div style="padding: 15px; max-width: 860px; margin: auto;">
<div style="background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; padding: 14px; margin-bottom: 10px;">
<strong style="color: #92400e;">Anchor story:</strong>
<p style="font-size: 15px; line-height: 1.6; margin: 6px 0 0 0;">{{anchor}}</p>
</div>
<div style="background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 14px; margin-bottom: 10px;">
<strong style="color: #1e40af;">Story A:</strong>
<p style="font-size: 15px; line-height: 1.6; margin: 6px 0 0 0;">{{story_a}}</p>
</div>
<div style="background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 14px;">
<strong style="color: #166534;">Story B:</strong>
<p style="font-size: 15px; line-height: 1.6; margin: 6px 0 0 0;">{{story_b}}</p>
</div>
</div>
allow_all_users: true
instances_per_annotator: 40
annotation_per_instance: 3
allow_skip: true
Sample Datasample-data.json
[
{
"id": "nss_001",
"anchor": "A young fox leaves its den to find food during a harsh winter, braving the cold and outwitting a hungry wolf before returning home with a rabbit.",
"story_a": "A stray cat wanders the city in a snowstorm searching for scraps, dodging a pack of dogs, and finally carries a fish back to her kittens.",
"story_b": "A wealthy merchant hosts a lavish winter feast, showing off his riches to impress the guests who fill his warm and glittering hall."
},
{
"id": "nss_002",
"anchor": "A student stays up all night studying for an exam, nearly gives up, but pushes through and passes with the highest grade in the class.",
"story_a": "A runner trains for months for a marathon, wants to quit at mile twenty, but finds a second wind and crosses the finish line.",
"story_b": "A tourist gets lost in a foreign city, asks a kind stranger for directions, and ends up discovering a beautiful hidden garden."
}
]
// ... and 6 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/2026/task04-narrative-similarity potato start config.yaml
Dataset & paper
Hatzel et al., SemEval 2026 (Task 4)
Citation (BibTeX)
@inproceedings{hatzel-etal-2026-semeval,
title = "{S}em{E}val-2026 Task 4: Narrative Story Similarity and Narrative Representation Learning",
author = "Hatzel, Hans Ole and Artemova, Ekaterina and Stiemer, Haimo Paul and Gius, Evelyn and Biemann, Chris",
booktitle = "Proceedings of the 20th International Workshop on Semantic Evaluation (SemEval-2026)",
year = "2026",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2026.semeval-1.429",
pages = "3460--3478"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Food Hazard Detection
Food safety hazard detection task requiring annotators to classify short food-incident report texts by hazard-category and product-category (coarse labels), and to identify the specific hazard and product mentions (fine-grained labels). Based on SemEval-2025 Task 9: The Food Hazard Detection Challenge.
iSarcasmEval: Intended Sarcasm Detection
SemEval-2022 Task 6 (iSarcasmEval): detecting intended sarcasm in English and Arabic. Unlike prior datasets labeled by third parties, iSarcasmEval texts are labeled by their own authors for intended sarcasm. Annotators decide whether a text is sarcastic and, if so, which category of ironic speech it expresses.
LLMs4Subjects - Subject Tagging for a Technical Library
Subject indexing of technical bibliographic records for the TIB Leibniz Information Centre's open-access TIBKAT catalog. Annotators assign subject headings and record types to English/German technical records, mirroring the library workflow SemEval-2025 Task 5 automates with LLMs. This showcase is a simplified adaptation of that task.