Papers
Topics
Authors
Recent
Search
2000 character limit reached

GoEmotions: Fine-Grained Emotion Dataset

Updated 4 July 2026
  • GoEmotions is a large-scale dataset for fine-grained emotion classification in English Reddit text, offering 27 emotion categories plus Neutral.
  • It employs a multi-label, crowd-annotated protocol that captures reader-perceived emotions, providing a robust foundation for affective NLP research.
  • Benchmark studies using models like BERT and RoBERTa highlight challenges such as class imbalance, lexical ambiguity, and zero-shot failure modes.

Searching arXiv for the original GoEmotions paper and recent follow-up work to support the encyclopedia entry. GoEmotions is a large-scale dataset for fine-grained emotion classification in English Reddit text, introduced to move affective NLP beyond coarse sentiment labels and toward a richer, multi-label taxonomy of 27 emotion categories plus Neutral (Demszky et al., 2020). It consists of 58k manually annotated Reddit comments and was designed both as a benchmark for multi-label emotion detection and as a transferable resource for downstream tasks and alternative taxonomies (Demszky et al., 2020). Subsequent work has treated GoEmotions not only as a supervised benchmark, but also as a source taxonomy, a pretraining corpus, a transfer-learning substrate, and a basis for derived resources such as intensity-annotated emotion corpora, cross-domain emotion recognizers, and application-specific datasets (Zhou et al., 2024).

1. Corpus scope and taxonomic design

GoEmotions is built from English Reddit comments and provides annotations for 27 discrete emotions plus a Neutral label in a multi-label setting (Demszky et al., 2020). The label inventory includes social and relational emotions such as admiration, approval, caring, gratitude, and love, as well as cognitively tinged categories such as confusion, curiosity, and realization, alongside more conventional negative emotions such as anger, disgust, fear, grief, remorse, and sadness (Demszky et al., 2020). This taxonomy was motivated by high-dimensional emotion research and was intended to capture distinctions that are usually collapsed in basic-emotion or polarity-based schemes (Demszky et al., 2020).

A concise summary of the dataset properties most commonly reported in later work is given below.

Aspect Description Source
Domain English Reddit comments (Demszky et al., 2020)
Scale 58k manually annotated comments (Demszky et al., 2020)
Labels 27 emotion categories + Neutral (Demszky et al., 2020)
Task type Multi-label emotion classification (Demszky et al., 2020)
Official BERT baseline Average F1-score of .46 across the taxonomy (Demszky et al., 2020)

Although GoEmotions is multi-label, it is structurally sparse. One later analysis reports that in the training set of 43,410 samples, 36,308, or 84%, are single-label; in the test set of 5,427 samples, 4,590 are single-label, 774 have two labels, 61 have three labels, and 2 have four labels (Zhou et al., 2024). This sparsity is one of the central empirical facts about the dataset: GoEmotions permits mixed affect, but most instances still present as a single dominant label.

2. Annotation procedure and reliability

The original corpus was crowd-annotated, with each comment receiving annotations from three crowdworkers, and the authors framed annotation quality as a central contribution of the dataset (Demszky et al., 2020). GoEmotions permits annotators to assign one or more emotions, or Neutral when no substantial emotion is expressed, which makes the task substantially different from single-label sentiment classification (Demszky et al., 2020). The dataset was explicitly positioned as a reader-perception resource: labels reflect what readers perceive in the text, not necessarily the writer’s internal state (Alvarez-Gonzalez et al., 2021).

Annotation quality was analyzed using Principal Preserved Component Analysis, which the original paper used to argue that the label space contains reproducible latent structure rather than arbitrary annotator noise (Demszky et al., 2020). Later work emphasizing the distinction between reader and writer emotion sharpened the interpretation of this design choice. In a benchmark contrasting GoEmotions with Vent, GoEmotions is treated as a reader-annotated dataset, and the broader conclusion is that predicting writer-intended emotions is systematically harder than predicting reader-perceived emotions (Alvarez-Gonzalez et al., 2021). A common misconception is therefore that GoEmotions directly encodes authorial affect. It does not; it encodes perceived emotion under a controlled annotation protocol (Alvarez-Gonzalez et al., 2021).

This reader-centered design has methodological consequences. It makes GoEmotions especially suitable for tasks such as moderation, audience-facing affect analysis, or systems that must respond to perceived user emotion, while making it less direct as a proxy for latent psychological state (Alvarez-Gonzalez et al., 2021). It also explains why some later application papers use GoEmotions as an emotion sensor for externally observable affect rather than as a clinical truth label.

3. Formal task structure and baseline modeling

GoEmotions is canonically formulated as a multi-label classification problem over a 28-dimensional binary target vector (Demszky et al., 2020). Standard implementations use one sigmoid-activated output per label and optimize binary cross-entropy:

y^k=σ(zk)\hat{y}_k = \sigma(z_k)

L=k=1K[yklog(y^k)+(1yk)log(1y^k)]\mathcal{L} = - \sum_{k=1}^{K} \left[ y_k \log(\hat{y}_k) + (1-y_k)\log(1-\hat{y}_k) \right]

with K=28K = 28 when Neutral is included (Demszky et al., 2020).

The original paper reported a BERT-based model with an average F1-score of .46 across the proposed taxonomy, explicitly leaving substantial headroom for improvement (Demszky et al., 2020). Later benchmarks have shown that the dataset is unusual in that simple lexical models remain strong on frequent emotions, while contextual models are more beneficial on rare or ambiguous labels. A 2026 comparison across classical ML, BiLSTM, and BERT on the official split found that TF-IDF logistic regression attained the highest Micro-F1 of 0.51, whereas BERT achieved the best overall balance with Macro-F1 0.49, Hamming Loss 0.036, and Subset Accuracy 0.36 (Harutyunyan et al., 26 Jan 2026). This suggests that many frequent emotions are recoverable from surface lexical cues, but rare labels and ambiguous examples require contextual modeling (Harutyunyan et al., 26 Jan 2026).

Another line of work improved on the original GoEmotions BERT baseline by changing how token representations are pooled. A BERT + Bi-LSTM pooling model reached Macro-F1 0.47 and Micro-F1 0.57 on GoEmotions, compared with the original GoEmotions BERT baseline at Macro-F1 0.46 and Micro-F1 0.51 (Alvarez-Gonzalez et al., 2021). This is a notable result because the improvement came from a relatively simple architectural change rather than a new pretraining regime.

The benchmark has also been used to study more interpretable feature integration. A RoBERTa-based system augmented with General Inquirer features via token-level early fusion achieved 55.85 ± 0.50 macro-F1 in that paper’s reporting scale, compared with a 52.75 SOTA baseline and a 49.67 reproduced BERT baseline (Lecourt et al., 4 Mar 2026). That work is important less for the absolute number than for the demonstration that explicit lexical-semantic cues can complement transformer representations on fine-grained emotions (Lecourt et al., 4 Mar 2026).

4. Empirical difficulties: imbalance, sparsity, ambiguity, and zero-shot failure modes

Class imbalance is one of the defining properties of GoEmotions. The original paper already emphasized skewed label frequencies and weaker performance on rare categories such as grief, pride, embarrassment, nervousness, relief, and remorse (Demszky et al., 2020). Later analyses made the long-tail problem more explicit. One augmentation study notes that in the training split, grief has only 39 examples, while many majority labels have far larger support, and shows that minority-focused augmentation is materially more effective than indiscriminate augmentation (Wang et al., 2024).

The strongest result in that study is that targeted augmentation of four minority labels—grief, pride, nervousness, and relief—improves macro-F1 from 0.490 to 0.517 with ProtAugment, whereas fully augmenting the entire training set degrades macro-F1 from 0.49 to 0.44 because it preserves or worsens the original imbalance (Wang et al., 2024). A separate balancing study built a new balanced training set by combining original GoEmotions data, RoBERTa-labeled Sentiment140 tweets, and GPT-4 mini-generated texts; in that setup, training with balancing plus attention increased Macro-F1 from 0.164 to 0.250 and Micro-F1 from 0.431 to 0.485 relative to the unbalanced counterpart (Su et al., 18 Nov 2025). These results jointly indicate that the main obstacle is not simply data quantity, but the distribution of emotion labels.

A second difficulty is conceptual overlap among fine-grained emotions. Labels such as annoyance versus anger, disappointment versus sadness, or joy versus amusement are often lexically adjacent and weakly separated in short Reddit comments (Harutyunyan et al., 26 Jan 2026). Later work using linguistic signatures found that explicit cues such as Hostile_GI are highly diagnostic for anger, Virtue_GI for admiration, and Need_GI for desire, but other categories remain more context-sensitive and less lexically anchored (Lecourt et al., 4 Mar 2026). This suggests that some parts of the taxonomy are lexically stereotyped whereas others are discourse-dependent.

A third difficulty is methodological: GoEmotions remains challenging for zero-shot LLM classification. In one study, GPT-4 used zero-shot on 1,000 GoEmotions examples achieved Accuracy 34.91%, Macro-Precision 10.17%, Macro-Recall 16.90%, and Macro-F1 12.54%, far below fine-tuned encoders (Wang et al., 2024). Another paper reports LLaMA 3.2 zero-shot Macro-F1 0.23 and one-shot Macro-F1 9.52 on GoEmotions, again far below supervised RoBERTa variants (Lecourt et al., 4 Mar 2026). These findings counter the assumption that contemporary generative models trivially subsume fine-grained supervised emotion classification.

5. Reinterpretations of the label space: micro-emotions, intensity, and transfer

Later work has increasingly treated GoEmotions not only as a static label set but as a substrate for richer affective structure. A prominent example is the Emotion Quantization Network, which recasts GoEmotions as a multi-output regression problem over all labels and assigns continuous energy scores in [0,10][0,10] to each emotion for each instance (Zhou et al., 2024). In that framework, manually annotated labels are initialized at 10 and unannotated labels at 0, then a regression model predicts dense energy vectors, enabling the discovery of additional low-energy “micro-emotions” beyond the original sparse labels (Zhou et al., 2024). On the GoEmotions test set, this framework improved macro-average F1 from 0.46 for the Google baseline to 0.52, with precision increasing from 0.40 to 0.56 and F1 improving in 21 out of 28 categories (Zhou et al., 2024).

This line of work is significant because it challenges the implicit assumption that GoEmotions is exhaustively categorical. The original dataset contains only binary present/absent labels, but later reinterpretations suggest that many comments plausibly encode more graded emotional structure than the sparse annotations capture (Zhou et al., 2024). The same paper reports that for single-label test samples, the hit rate rises from 0.5264 under TOP1 to 0.6922 under TOP2 and 0.7795 under TOP3, which the authors interpret as evidence that many comments plausibly contain additional secondary emotions beyond the

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to GoEmotions.