Empathetic Dialogue Annotation
Annotate emotional situations and empathetic responses in conversations. Based on EmpatheticDialogues (Rashkin et al., ACL 2019). Classify the emotional context and evaluate response empathy.
About this dataset
EmpatheticDialogues is a conversation dataset built to train and evaluate models that respond with empathy. Rashkin and colleagues introduced it at ACL 2019.
Each conversation is grounded in a specific feeling. A crowdworker 'speaker' was given one of 32 emotion labels, wrote a short personal situation about feeling that way, then chatted about it with a 'listener' who responded.
The dataset has about 25,000 such conversations, spread evenly across the 32 emotions from proud and grateful to anxious and devastated. The grounding in a named emotion and a real situation is what separates it from generic chit-chat data.
The Potato config below reproduces the annotation with a radio for the grounding emotion, a Likert scale for how empathetic a response is, and a radio for response strategy. Use it to label emotional support in your own dialogues or to extend the emotion set.
- Released
- ACL 2019
- Conversations
- ~25,000
- Emotion labels
- 32 (evenly distributed)
- Grounding
- one emotion + a self-written situation
- Roles
- speaker + empathetic listener
- Domain
- open-domain, multi-turn
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Empathetic Dialogue Annotation
# Based on Rashkin et al., ACL 2019
# Paper: https://aclanthology.org/P19-1534/
# Dataset: https://github.com/facebookresearch/EmpatheticDialogues
#
# This task annotates emotional situations and evaluates empathetic responses.
# The goal is to train conversational agents that respond appropriately to
# users' emotional states.
#
# Emotion Categories (32 situations grouped):
# Positive: Joyful, Excited, Proud, Hopeful, Grateful, Content, Confident, Trusting
# Negative: Sad, Anxious, Angry, Afraid, Disgusted, Guilty, Lonely, Embarrassed
# Surprise: Surprised, Impressed, Curious
# Other: Nostalgic, Sentimental, Anticipating, Jealous, Devastated, Disappointed
#
# Empathy Components:
# - Emotional Reactions: Expressing appropriate emotions in response
# - Interpretations: Showing understanding of the situation
# - Explorations: Asking questions to understand better
#
# Annotation Guidelines:
# 1. Identify the emotional situation the speaker describes
# 2. Evaluate if the response acknowledges the emotion
# 3. Rate the response's empathy level
# 4. Consider: Does the response make the speaker feel heard?
annotation_task_name: "Empathetic Dialogue Annotation"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "dialogue"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
annotation_schemes:
# Step 1: Emotional situation classification
- annotation_type: radio
name: emotion
description: "What emotion is the speaker experiencing in this situation?"
labels:
# Positive emotions
- "Joyful"
- "Excited"
- "Proud"
- "Grateful"
- "Hopeful"
- "Content"
# Negative emotions
- "Sad"
- "Anxious"
- "Angry"
- "Afraid"
- "Lonely"
- "Embarrassed"
- "Disappointed"
- "Devastated"
# Other
- "Surprised"
- "Nostalgic"
- "Jealous"
tooltips:
"Joyful": "Feeling happy, delighted, or cheerful"
"Excited": "Feeling enthusiastic, eager, or thrilled"
"Proud": "Feeling accomplished or pleased with achievements"
"Grateful": "Feeling thankful or appreciative"
"Hopeful": "Feeling optimistic about the future"
"Content": "Feeling satisfied and at peace"
"Sad": "Feeling unhappy, sorrowful, or down"
"Anxious": "Feeling worried, nervous, or uneasy"
"Angry": "Feeling frustrated, irritated, or mad"
"Afraid": "Feeling scared, fearful, or terrified"
"Lonely": "Feeling isolated, alone, or disconnected"
"Embarrassed": "Feeling self-conscious, ashamed, or awkward"
"Disappointed": "Feeling let down when expectations weren't met"
"Devastated": "Feeling extremely upset or heartbroken"
"Surprised": "Feeling astonished or caught off guard"
"Nostalgic": "Feeling wistful about the past"
"Jealous": "Feeling envious of others"
# Step 2: Empathy rating
- annotation_type: likert
name: empathy_level
description: "How empathetic is the RESPONSE to the speaker's emotional situation?"
min_value: 1
max_value: 5
labels:
1: "Not empathetic"
2: "Slightly empathetic"
3: "Moderately empathetic"
4: "Very empathetic"
5: "Extremely empathetic"
tooltips:
1: "Response ignores or dismisses the emotion"
2: "Response shows minimal acknowledgment"
3: "Response acknowledges the emotion appropriately"
4: "Response shows genuine understanding and care"
5: "Response is deeply understanding and supportive"
# Step 3: Empathy type
- annotation_type: radio
name: empathy_type
description: "What type of empathetic response is this?"
labels:
- "Emotional Reaction"
- "Interpretation"
- "Exploration"
- "Mixed"
- "Not Empathetic"
tooltips:
"Emotional Reaction": "Expresses emotions in response (e.g., 'That's wonderful!' or 'I'm so sorry')"
"Interpretation": "Shows understanding of the situation (e.g., 'That must have been hard')"
"Exploration": "Asks questions to understand better (e.g., 'What happened next?')"
"Mixed": "Combines multiple empathy strategies"
"Not Empathetic": "Response doesn't demonstrate empathy"
allow_all_users: true
instances_per_annotator: 100
annotation_per_instance: 3
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "emp_001",
"dialogue": "Speaker: I just found out I got the scholarship I applied for! I've been working so hard for this.\nResponse: That's amazing news! You must be so proud of yourself. All that hard work really paid off!"
},
{
"id": "emp_002",
"dialogue": "Speaker: My dog passed away yesterday. We had her for 14 years.\nResponse: I'm so sorry for your loss. Losing a pet is incredibly hard - they really become part of the family."
}
]
// ... and 8 more itemsTry it live — no install
Boot the real Potato server in your browser (WebAssembly) and annotate with this exact config. Nothing leaves your machine.
▶ Run live in your browserGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/text/emotion-sentiment/empathetic-dialogues potato start config.yaml
Dataset & paper
Rashkin et al., ACL 2019
Citation (BibTeX)
@inproceedings{rashkin-etal-2019-towards,
title = "Towards Empathetic Open-domain Conversation Models: A New Benchmark and Dataset",
author = "Rashkin, Hannah and Smith, Eric Michael and Li, Margaret and Boureau, Y-Lan",
booktitle = "Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics",
month = jul,
year = "2019",
address = "Florence, Italy",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/P19-1534",
pages = "5370--5381"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Conversation Quality Attributes
A generic dialogue-quality annotation template. Annotators classify each conversation turn's engagement level, rate its overall quality on a 5-point scale, and select applicable attributes (interesting, repetitive, coherent, informative, empathetic, generic). It is a reusable rubric for chatbot and conversational-AI evaluation and does not reproduce a specific published dataset's label set.
News Headline Emotion Roles (GoodNewsEveryone)
Annotate emotions in news headlines with semantic roles. Based on Bostan et al., LREC 2020. Identify emotion, experiencer, cause, target, and textual cue.
AnnoMI Counselling Dialogue Annotation
Annotation of motivational interviewing counselling dialogues based on the AnnoMI dataset. Annotators label therapist and client utterances for MI techniques (open questions, reflections, affirmations) and client change talk (sustain talk, change talk), with quality ratings for therapeutic interactions.