Text-Based Emotion Detection
Text-based emotion detection task requiring annotators to classify the primary emotion in text and identify expression characteristics such as explicitness, sarcasm, and mixed emotions. Based on SemEval-2025 Task 11.
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Text-Based Emotion Detection
# Based on Muhammad et al., SemEval-2025 Task 11: Bridging the Gap in Text-Based Emotion Detection
# Paper: https://aclanthology.org/2025.semeval-1.327/
# Dataset: https://github.com/emotion-analysis-project/SemEval2025-Task11
#
# This task asks annotators to identify the primary emotion expressed
# in a text and to characterize how the emotion is conveyed (explicitly,
# implicitly, sarcastically, or as a mixture of emotions).
annotation_task_name: "Text-Based Emotion Detection"
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:
- annotation_type: radio
name: primary_emotion
description: "What is the primary emotion expressed in this text?"
labels:
- "Joy"
- "Sadness"
- "Anger"
- "Fear"
- "Surprise"
- "Disgust"
- "Neutral"
keyboard_shortcuts:
"Joy": "1"
"Sadness": "2"
"Anger": "3"
"Fear": "4"
"Surprise": "5"
"Disgust": "6"
"Neutral": "7"
tooltips:
"Joy": "Happiness, delight, excitement, or positive emotion"
"Sadness": "Grief, sorrow, melancholy, or loss"
"Anger": "Irritation, frustration, rage, or hostility"
"Fear": "Anxiety, worry, dread, or apprehension"
"Surprise": "Astonishment, shock, or unexpectedness"
"Disgust": "Revulsion, contempt, or strong disapproval"
"Neutral": "No clear emotion or purely informational"
- annotation_type: multiselect
name: expression_type
description: "How is the emotion expressed? Select all that apply."
labels:
- "Explicit"
- "Implicit"
- "Sarcastic"
- "Mixed Emotion"
tooltips:
"Explicit": "The emotion is directly stated using emotion words"
"Implicit": "The emotion is conveyed indirectly through context or description"
"Sarcastic": "The text uses sarcasm or irony to convey emotion"
"Mixed Emotion": "Multiple emotions are present simultaneously"
annotation_instructions: |
You will be shown a text passage. Your task is to:
1. Read the text carefully.
2. Identify the primary emotion expressed in the text.
3. Select how the emotion is expressed (explicit, implicit, sarcastic, or mixed).
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;">Text:</strong>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
</div>
<div style="background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 12px;">
<strong style="color: #166534;">Language:</strong> <span>{{language}}</span>
</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": "emo_001",
"text": "I just got accepted into my dream university! I can't believe it, I've been working towards this for years and it finally happened!",
"language": "English"
},
{
"id": "emo_002",
"text": "My grandmother passed away last night. She was the kindest person I ever knew and the house feels so empty without her.",
"language": "English"
}
]
// ... 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/2025/task11-emotion-detection potato start config.yaml
Dataset & paper
Muhammad et al., SemEval-2025 Task 11: Bridging the Gap in Text-Based Emotion Detection, SemEval-2025
Citation (BibTeX)
@inproceedings{muhammad-etal-2025-semeval,
title = "{S}em{E}val-2025 Task 11: Bridging the Gap in Text-Based Emotion Detection",
author = "Muhammad, Shamsuddeen Hassan and Ousidhoum, Nedjma and Abdulmumin, Idris and Yimam, Seid Muhie and Wahle, Jan Philip and Lima Ruas, Terry and Beloucif, Meriem and De Kock, Christine and Belay, Tadesse Destaw and Ahmad, Ibrahim Said and Surange, Nirmal and Teodorescu, Daniela and Adelani, David Ifeoluwa and Aji, Alham Fikri and Ali, Felermino Dario Mario and Araujo, Vladimir and Ayele, Abinew Ali and Ignat, Oana and Panchenko, Alexander and Zhou, Yi and Mohammad, Saif",
booktitle = "Proceedings of the 19th International Workshop on Semantic Evaluation (SemEval-2025)",
month = jul,
year = "2025",
address = "Vienna, Austria",
publisher = "Association for Computational Linguistics",
pages = "2558--2569"
}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.