EmoContext - Contextual Emotion Detection in Text
Contextual emotion detection in 3-turn conversations, classifying the emotion of the final turn given conversational context. Based on SemEval-2019 Task 3 (EmoContext).
ملف الإعدادconfig.yaml
# EmoContext - Contextual Emotion Detection in Text
# Based on Chatterjee et al., SemEval 2019
# Paper: https://aclanthology.org/S19-2005/
# Dataset: https://www.humanizing-ai.com/emocontext.html
#
# This task asks annotators to classify the emotion expressed in the
# third turn of a 3-turn conversation. The conversational context
# (turns 1 and 2) provides important clues for interpretation.
#
# Emotion Labels:
# - Happy: The speaker expresses joy, excitement, or positive emotion
# - Sad: The speaker expresses sadness, disappointment, or grief
# - Angry: The speaker expresses anger, frustration, or irritation
# - Others: No clear emotion or a different emotion not covered above
#
# Annotation Guidelines:
# 1. Read all three turns to understand the conversational context
# 2. Focus on the emotion expressed in the third (final) turn
# 3. Consider how the preceding turns influence emotional interpretation
# 4. Select "Others" when the emotion is neutral or does not fit the three categories
annotation_task_name: "EmoContext - Contextual 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: emotion
description: "What emotion is expressed in the third turn of the conversation?"
labels:
- "Happy"
- "Sad"
- "Angry"
- "Others"
keyboard_shortcuts:
"Happy": "1"
"Sad": "2"
"Angry": "3"
"Others": "4"
tooltips:
"Happy": "The speaker expresses joy, excitement, or positive emotion"
"Sad": "The speaker expresses sadness, disappointment, or grief"
"Angry": "The speaker expresses anger, frustration, or irritation"
"Others": "No clear emotion or a different emotion not covered above"
annotation_instructions: |
You will be shown a 3-turn conversation. Your task is to identify the emotion
expressed in the third (final) turn, considering the full conversational context.
Choose from: Happy, Sad, Angry, or Others (for neutral or other emotions).
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; margin-bottom: 12px;">
<strong style="color: #64748b;">Turn 1:</strong>
<p style="font-size: 15px; line-height: 1.6; margin: 6px 0 0 0;">{{turn_1}}</p>
</div>
<div style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; margin-bottom: 12px;">
<strong style="color: #64748b;">Turn 2:</strong>
<p style="font-size: 15px; line-height: 1.6; margin: 6px 0 0 0;">{{turn_2}}</p>
</div>
<div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #0369a1;">Turn 3 (classify this):</strong>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 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": "emocontext_001",
"text": "That's amazing! I'm so thrilled for you!",
"turn_1": "Guess what happened today?",
"turn_2": "I got the promotion I've been working towards for two years!"
},
{
"id": "emocontext_002",
"text": "I can't believe they did that to you. That's really unfair.",
"turn_1": "Hey, how was your day?",
"turn_2": "Terrible. My boss took credit for my entire project in front of the CEO."
}
]
// ... and 8 more itemsاحصل على هذا التصميم
Clone or download from the repository
بدء سريع:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/semeval/2019/task03-emocontext potato start config.yaml
التفاصيل
أنواع التوسيم
المجال
حالات الاستخدام
الوسوم
وجدت مشكلة أو تريد تحسين هذا التصميم؟
افتح مشكلةتصاميم ذات صلة
Character Identification on Multiparty Dialogues
Identification and linking of character mentions in TV show dialogue, combining span annotation with entity resolution for the main cast of Friends. Based on SemEval-2018 Task 4.
Emotion Discovery and Reasoning its Flip
Emotion discovery and flip reasoning task requiring annotators to identify the current emotion in a dialogue turn, and locate trigger spans and flip points where emotions change. Based on SemEval-2024 Task 10.
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.