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 identify hazards, products, and risk levels in food incident reports, and classify the type of contamination. Based on SemEval-2025 Task 9.
LLMs4Subjects - Automated Subject Tagging
Automated subject classification of academic texts, requiring annotators to assign subject categories and determine whether texts span single or multiple disciplines. Based on SemEval-2025 Task 5.
Memotion Analysis - Sentiment and Type Classification of Memes
Classify the overall sentiment of internet memes and identify their communicative types (sarcastic, humorous, offensive, motivational), based on SemEval-2020 Task 8 (Sharma et al.). Annotators analyze both text and image descriptions of memes.