FAQ

NLP

Sentiment, emotion and text classification datasets

Polarity, fine-grained emotion, intent and topic labels — and why cross-domain transfer disappoints in this category.

Text classification is the most mature task in NLP and still the one where people most often pick the wrong dataset — because label schemes that look compatible are not.

The trap in this category is label-scheme mismatch. Binary positive-negative polarity, three-way with neutral, five-point star ratings, and fine-grained emotion taxonomies with dozens of categories are all called sentiment analysis, and a model trained on one does not transfer to another without remapping that loses information. Check the exact label set before the dataset size.

The second issue is domain. Sentiment models trained on product reviews perform notably worse on social media, and worse again on support tickets or clinical notes, because the vocabulary, length and conventions of expressing opinion differ. If your inference distribution is not reviews, a review dataset is a weaker starting point than its size suggests — read twenty rows and ask whether they resemble your traffic.

A dot chart of Krippendorff's Alpha (0 to 1) for 13 languages from Russian to Spanish and four application sets (Facebook(it), DJIA30, Environment, Emojis). Green self-agreement points sit highest, mostly 0.6 to 0.8; blue inter-agreement and red classifier points sit lower and close together; Albanian and Spanish are near 0.1.
Agreement on negative, neutral and positive tweet labels for 13 language datasets and four application sets: each annotator with themselves (green), annotators with each other (blue), and a trained classifier with the labels (red). The classifier tracks inter-annotator agreement; where annotators barely agree, as for Albanian and Spanish, so does the model. Image: Fig 1 of the article · CC BY 4.0 · from Mozetič et al. 2016, PLOS ONE, “Multilingual Twitter Sentiment Classification: The Role of Human Annotators”, doi:10.1371/journal.pone.0155036
DatasetModalitySizeLicenceBest for
GoEmotionsText58,000 examplesCC BY 4.0Emotion detection from text
Amazon PolarityText4M reviewsApache 2.0Sentiment classification for e-commerce
Twitter Sentiment Analysis DatasetText1.6M tweetsTwitter API termsSentiment classification on short texts
Chinese Sentiment AnalyzeText182,762 examplesMITSentiment classification in Mandarin
Sentiment Analysis for Mental HealthText51,000 textsODbLClassification of mental states from text
Women's E-Commerce Clothing ReviewsText23,486 rowsCC0Sentiment analysis or review classification
Civil Comments - Corpus of moderated comments annotated for toxicityText2M commentsCC0Toxicity detection and automated moderation
Coarse-Discourse - Annotated corpus of speeches on Reddit forumsText116,000 commentsCC BY 4.0Understand and classify speech acts
E-commerce Text ClassificationText50,425 entriesCC BY 4.0NLP models to classify products
Clickbait Title ClassificationText32,000 titlesMITShort-text binary classification
Dataset Banking77 - Banking Customer Service IntentionsText13,083 examplesCC BY 4.0NLP intent detection in banking
Resume Screening DatasetText10,174 linesMITAutomated screening systems for recruiters
Licences in this shortlist — computed from the 12 datasets below. Red marks licences that are unclear or restricted; amber marks non-commercial, share-alike or mixed terms.
An annotation card. At the top, a grey box contains the sentence 'To have faith is to trust yourself to the water.' Below it a white panel headed 'Choose text sentiment' offers three keyboard-numbered checkboxes - Positive, Negative and Neutral - with Positive ticked.
One span of text, one three-way label. That is the entire data contract behind a polarity dataset, and it is why annotator agreement matters more here than volume. Image: HumanSignal/label-studio · Apache-2.0 repository
№ 01

GoEmotions

Text
Size
Approximately 58,000 plain text examples with multi-label annotations (Parquet on Hugging Face; CSV and TSV in the original repository)
Licence
CC BY 4.0 for the data (Apache 2.0 covers the code)

About 58,000 Reddit comments with multi-label emotion annotations across 27 emotion categories plus neutral. The fine-grained taxonomy and multi-label design make it far richer than positive-negative sentiment sets.

What to train on it

Training emotion detection from text, developing empathetic chatbots or assistants, and improving automatic moderation and detection of sensitive speech.

Source: innovatiana.com

№ 02

Amazon Polarity

Text
Size
Around 4 million reviews (train + test), JSON format with title, content and binary label fields
Licence
Apache 2.0

Around four million Amazon customer reviews in JSON with title, content and binary positive-or-negative label, spanning eighteen years of commerce. Large and permissively licensed, it is the workhorse sentiment classification corpus.

What to train on it

Training sentiment classification for e-commerce, improving customer feedback analysis and recommendation, and testing NLP robustness on large real-world volumes.

Source: innovatiana.com

№ 03

Twitter Sentiment Analysis Dataset

Text
Size
Approximately 1.6 million annotated tweets, in CSV format
Licence
Use subject to the Twitter API terms of use. Verification required for commercial uses

About 1.6 million English tweets in CSV labelled positive or negative automatically, from emoticons rather than by annotators (only the 498-tweet test set adds a neutral class). Note the licence defers to Twitter's (now X's) API terms rather than granting an open licence, so commercial use needs verification.

What to train on it

Training sentiment classification on short texts, analysing trends and opinion on social networks, brand monitoring, and improving moderation or opinion summarisation.

Source: innovatiana.com

№ 04

Chinese Sentiment Analyze

Text
Size
182,762 examples of Chinese text (reviews and social posts), JSON/CSV format
Licence
MIT

182,762 Chinese-language examples in JSON and CSV, combining e-commerce product reviews with Weibo social posts, each labelled positive, neutral or negative. Covers both commercial and social registers.

What to train on it

Training sentiment classification in Mandarin, developing opinion analysis for commercial or social applications, and testing multilingual model robustness on everyday Chinese.

Source: innovatiana.com

№ 05

Sentiment Analysis for Mental Health

Text
Size
Approximately 51,000 texts (statements) annotated into 7 categories, CSV/JSON format
Licence
Open Database License (ODbL) or equivalent free license (please check before using)

Over 51,000 statements gathered from platforms such as Reddit and Twitter in CSV and JSON, each labelled with one of seven mental health states. Its catalogue page itself advises checking the licence before use.

What to train on it

Training classification of mental states from text, developing psychological support chatbots, and emotional analysis to detect mental health trends.

Source: innovatiana.com

№ 06

Women's E-Commerce Clothing Reviews

Text
Size
23,486 rows in CSV format, text and categorical data
Licence
CC0: Public Domain

23,486 CSV rows of anonymised online clothing reviews combining free text with ratings, customer ages, recommendation flags and product categories. Compact, clean and a long-standing teaching set for applied NLP.

What to train on it

Training sentiment analysis or review classification, studying customer experience by age or product category, and exploring BERT, TF-IDF or Word2Vec on real data.

Source: innovatiana.com

A horizontal bar chart of label counts in the GoEmotions training split, grouped under Positive (12 labels, from admiration 4,130 down to pride 111), Negative (11 labels, from annoyance 2,470 down to grief 77), Ambiguous (4 labels: curiosity, confusion, realization, surprise) and Neutral (14,219, the longest bar).
Label-scheme mismatch, counted: GoEmotions' own mapping folds 27 emotions into positive, negative and ambiguous, so grief and annoyance become the same 'negative'. The counts show the other trap too, a long tail in which grief has 77 training examples and pride 111, against 14,219 for neutral. Chart drawn by Dataset Finder from google-research/google-research · CC BY 4.0 (dataset) · Data: GoEmotions, Demszky et al. 2020, CC BY 4.0
№ 07

Civil Comments - Corpus of moderated comments annotated for toxicity

Text
Size
Approximately 2 million text comments in JSON format, with toxicity labels and types of abuse
Licence
CC0-1.0

Roughly two million English public comments in JSON, gathered from a news-site commenting plugin between 2015 and 2017, labelled for overall toxicity and for specific kinds of abuse. Public domain and large.

What to train on it

Training toxicity detection and automated moderation, analysing hostile online interaction dynamics, and testing multi-class and multi-label classification on long texts.

Source: innovatiana.com

№ 08

Coarse-Discourse - Annotated corpus of speeches on Reddit forums

Text
Size
About 116,000 comment annotations with Reddit IDs (no comment text), JSON, ~50 MB
Licence
CC-BY 4.0

Discourse-act annotations for about 116,000 Reddit comments in some 9,000 threads, in about 50 MB of JSON, with reply links, thread depth and subreddit metadata. The release holds annotations and post IDs, not the comment text, which you must retrieve from Reddit yourself.

What to train on it

Training models to understand and classify speech acts, analysing conversational interaction on forums, and improving moderation and discursive behaviour detection.

Source: innovatiana.com

№ 09

E-commerce Text Classification

Text
Size
50,425 text entries in CSV, 4 classes
Licence
Attribution 4.0 International (CC BY 4.0)

50,425 product text entries in CSV, each labelled with one of four e-commerce categories. Simple and well-sized for supervised text classification baselines or catalogue auto-tagging prototypes; check the per-class counts before relying on a single accuracy figure.

What to train on it

Training NLP models to classify products from descriptions, setting up automatic categorisation in an e-commerce platform, and testing supervised classification algorithms.

Source: innovatiana.com

№ 10

Clickbait Title Classification

Text
Size
32,000 press titles, CSV, binary annotation (clickbait/non-clickbait)
Licence
MIT

32,000 article headlines from various sites in CSV, each labelled 1 for clickbait or 0 for not. Short-text binary classification with a clear practical use in moderation and content ranking.

What to train on it

Training short-text binary classification, analysing linguistic strategies of online clickbait, and refining automatic detection models for moderation or SEO.

Source: innovatiana.com

№ 11

Dataset Banking77 - Banking Customer Service Intentions

Text
Size
13,083 text examples with intent labels (77 classes)
Licence
CC-BY 4.0

13,083 real banking customer service requests, each labelled with one of 77 fine-grained intent categories. The high class count over short utterances makes it the standard hard intent-classification benchmark.

What to train on it

Training NLP intent detection in banking, improving customer-service chatbots or voice assistants, and analysing user needs and frustrations in detail.

Source: innovatiana.com

№ 12

Resume Screening Dataset

Text
Size
10,174 lines, CSV and Parquet (34 MB approximately)
Licence
MIT

More than 10,000 sample resumes in CSV and Parquet, about 34 MB, annotated with relevance labels against a given position.

What to train on it

Developing automated screening systems for recruiters, training binary classification on applications, and testing NLP approaches for profile-to-offer matching.

Source: innovatiana.com

GoEmotionsgoemotions/data/train.tsv · lines 611, 108, 77
textemotion ids (decoded)
This is my favorite game of all time. Thanks for bringing back some good memories!15,17 (gratitude, joy)
Who is this Wild team? Where have they been?6,7 (confusion, curiosity)
Awesome! I’m a cradle [RELIGION], so really interesting to hear your experience. Thanks for sharing.0,13,15 (admiration, excitement, gratitude)
Three rows of GoEmotions' training file, comment-id column left out. One Reddit comment can carry several of the 27 emotions, the labels are integer ids into the dataset's emotions.txt, and names and religions arrive already masked as [NAME] and [RELIGION]. From the dataset: google-research/google-research · goemotions/data/train.tsv · CC BY 4.0

How this list was put together

Drawn from the datasets in Dataset Finder filed under this topic, then checked by hand against what this page covers. A tag is a filing decision, not a description, so records that carried the tag without being about the topic were removed, and relevant records filed elsewhere were added. The order puts the closest fit first.

Sizes and licences come from each dataset's own documentation, vague wording included. Where we found a re-upload or catalogue card stating a licence that the original release contradicts — a CC0 tag on Flickr photographs, MIT on data whose terms require a signed agreement — the entry gives the original terms and says so. The comparison table abbreviates licences; hover a cell for the full wording.

Stop hunting. Start searching.

The datasets listed on this page are in Dataset Finder, alongside tens of thousands more — searchable in plain language.

Search Dataset Finder →