Sentiment analysis is the process of using natural language processing to classify a piece of text, a review, a tweet, a support ticket, as positive, negative, or neutral. Two human analysts agree on that classification only 80 to 85% of the time, according to long-standing NLP research, and a June 2026 benchmark from AIMultiple found that even the strongest large language models, tested across ten models on real Twitter data, topped out at 75% accuracy on the same three-way task. Sentiment analysis is not a solved problem. It is a genuinely hard one, and understanding where it breaks matters more than knowing the formula behind it. This guide covers how sentiment analysis actually works, three worked examples, why sarcasm and mixed sentiment still trip up even the best models, and what to do about it.
- Human analysts only agree with each other 80 to 85% of the time on sentiment labels, which sets a ceiling on how accurate any automated system can realistically be judged against.
- The best large language models score 72 to 75% on three-way sentiment classification (AIMultiple, June 2026), well below their 82 to 91% accuracy on the comparatively easier task of detecting irony.
- Sarcasm and irony account for roughly 35% of sentiment misclassifications, and unlike most errors, a missed sarcastic comment doesn't just lower accuracy, it flips an angry customer into a false positive.
- 29% of open-ended customer feedback carries mixed sentiment, praise and criticism in the same comment, and a standard single-label sentiment score flattens all of it into "neutral," losing the exact signal a product team needs most.
- Three technical eras got us here: lexicon-based dictionaries, trained machine learning classifiers, and now transformer models that read words in context rather than in isolation.
What is sentiment analysis?
Sentiment analysis assigns an emotional label, usually positive, negative, or neutral, to a piece of text. In a brand monitoring context, that means running the label across every mention a brand collects: a news article, a Reddit thread, a one-star review, a support ticket. The output is a number a team can chart over time, a sentiment trend, rather than a pile of text nobody has time to read line by line. Reputation tracking depends on getting that trend right, since a rating or review platform score is really just sentiment analysis wearing a different label.
Some systems go further than three buckets. Aspect-based sentiment analysis scores individual parts of a sentence separately, so "the app is fast but customer support never replies" comes back as positive on speed and negative on support, instead of collapsing into one confusing "mixed" label. Emotion detection goes further still, naming a specific feeling, anger, joy, sadness, rather than a simple polarity. Both are more useful and both are harder to get right than basic positive or negative scoring.
Sentiment separates a good month from a bad one in exactly the cases where a raw mention count can't tell the difference on its own. A brand can post record mention volume during a product recall. The volume chart looks like a win. The sentiment chart tells the truth.
How sentiment analysis works
Three technical approaches have carried sentiment analysis from its earliest form to where it sits today, and most production systems still use some blend of the last two.
Lexicon-based scoring came first. A predefined dictionary assigns a sentiment score to individual words, "great" is positive, "terrible" is negative, and the system sums those scores across a sentence to reach an overall label. It's fast, cheap, and fully explainable, since a human can trace exactly which words drove the score. It also breaks the moment context matters: "not great" scores as positive under a naive word-sum, because the dictionary sees "great" and stops looking.
Machine learning classifiers came next. Instead of a fixed dictionary, a model gets trained on thousands of hand-labeled examples, learning statistical patterns between word combinations and sentiment labels rather than scoring words in isolation. This handles negation and slang far better than a lexicon, but it needs a large labeled training set, and a model trained on movie reviews performs noticeably worse on financial text or medical feedback, since the vocabulary and tone shift by domain.
Transformer models, the architecture behind modern large language models, are where most serious sentiment work happens now. Self-attention lets the model weigh every word against every other word in a sentence simultaneously, so "not great" correctly reads as negative because "not" and "great" get evaluated together rather than word by word. This is also the architecture that makes aspect-based scoring practical at scale, since the model can hold multiple sub-claims in a single sentence in mind at once.
None of these three approaches fully replaced the one before it. A lot of production sentiment systems still run a fast lexicon pass for obvious cases and route only the ambiguous ones to a heavier transformer model, since running every single mention through a large model is slower and more expensive than most teams need for the easy 80% of cases.
Three worked examples
Formulas and architectures explain little on their own. Real sentences show where each method actually lands.
| Example text | Lexicon result | Correct label |
|---|---|---|
| "This update is genuinely useful." | Positive | Positive |
| "The app is not great since the redesign." | Positive (misses negation) | Negative |
| "Oh great, another outage. Love it." | Positive (misses sarcasm) | Negative |
The second and third rows are the ones that actually matter for a monitoring program. Both contain the word "great." A naive lexicon scores both positive. A context-aware transformer model correctly flips the second one on the negation and has a real, if imperfect, shot at the third if it has seen enough sarcastic training examples. The third row is exactly the kind of sentence irony-detection benchmarks are built around, and even models scoring 90%-plus on formal irony-detection tests still miss real-world sarcasm at a meaningfully higher rate, since benchmark sentences are cleaner than the actual mess of real customer text.
A fourth example worth adding, since it's the most common real-world case and rarely gets covered in tidy demos: "Support was fast but the bug is still there." That's not positive, not negative, and calling it neutral throws away both halves of the signal. Aspect-based scoring is the only approach of the three above built to handle this sentence correctly, tagging support positive and the bug negative in the same pass.
Where sentiment analysis breaks
Four failure modes account for most of the gap between a sentiment tool's marketing claims and what it actually delivers on real mention data.
- Sarcasm and irony. Roughly 35% of sentiment misclassifications trace back to a system failing to catch irony. This is the costliest failure mode of the four, since a missed sarcastic comment doesn't just get scored wrong, it gets scored backward, turning genuine frustration into a false positive nobody flags for follow-up.
- Negation. "Not," "never," "doesn't," and similar words flip the meaning of everything after them, and a model with a narrow context window can miss a negation that sits more than a few words away from the word it's modifying.
- Mixed sentiment. Across a sample of more than a million open-ended customer responses, 29% contained both praise and criticism in the same comment. Standard single-label scoring forces that into one bucket, usually neutral, which erases the exact detail a product or support team would act on.
- Domain-specific language. A model trained on movie reviews or general social text will misread financial, medical, or technical vocabulary, where words carry different weight than they do in casual conversation. "Volatile" is neutral market vocabulary in a finance context and a negative descriptor almost everywhere else.

How accurate is it, really?
Human analysts agree with each other on sentiment labels only 80 to 85% of the time, a baseline that has held up across multiple studies going back years. That ceiling matters because it means a model scoring in the low 80s isn't underperforming, it's roughly matching the disagreement rate humans have with each other on the exact same task.
A June 2026 benchmark from AIMultiple tested ten large language models, including GPT 5.5, Claude Sonnet 4.6, and Gemini 3.1-pro, against the TweetEval dataset across five separate tasks. On straightforward three-way sentiment classification specifically, the top four models tied at 75%, and the full field ranged from just 72% to 75%. The same benchmark found irony detection running from 82% to 91% across the same ten models, a meaningfully easier task by comparison. The researchers' own conclusion is worth stating plainly: none of the ten models tested were ready to run three-way sentiment classification without a human check.
That gap between irony detection and plain sentiment classification is counterintuitive at first. Irony sounds like the harder problem. It scores easier in practice because irony detection is usually framed as a binary yes-or-no question, is this ironic or not, while sentiment classification has to correctly place a sentence into one of three buckets and gets penalized for near misses in either direction. Context-aware sentiment scoring built specifically for brand mention data, rather than a general-purpose model doing sentiment as a side task, tends to close some of this gap, since it can be tuned against the exact kind of text, reviews, social posts, press coverage, a monitoring program actually needs scored.
Getting better results
None of the failure modes above are fully solvable, but each has a practical mitigation worth putting in place.
- Widen the context window. Sentiment models that look at a full comment thread, not just a single isolated sentence, catch far more negation and sarcasm than ones scoring sentences in isolation.
- Fine-tune on domain-specific text. A model tuned on the actual mix of reviews, social posts, and review platform language a brand collects will consistently outperform a generic off-the-shelf model, especially in categories with specialized vocabulary.
- Score at the aspect level, not just the sentence level. Splitting "support was fast but the bug is still there" into two scored aspects preserves signal a single-label system would flatten away entirely.
- Route ambiguous cases to a person. Human-in-the-loop review for low-confidence scores catches the sarcastic and mixed-sentiment cases models still struggle with, without requiring a person to read every single mention. Teams managing this across several brands, agencies running multiple accounts especially, usually need this review step built into the workflow rather than handled ad hoc.
- Track sentiment next to volume and share of voice, never alone. A sentiment number in isolation tells a team the mood. Paired with mention volume and competitor comparison data, it tells them whether that mood is a real trend or a single loud thread.
Common mistakes
- Treating sentiment accuracy claims at face value. A vendor advertising "95% accurate sentiment analysis" is almost certainly measuring against an easy, curated test set rather than the messy mix of sarcasm, slang, and mixed opinions real mentions actually contain.
- Using a general-purpose model with no domain tuning. A model trained on movie reviews will misread financial or medical text badly enough to make the output actively misleading rather than just imprecise.
- Reporting a single blended sentiment number with no confidence signal. Not every classification is equally certain, and treating a 51% confident guess the same as a 99% confident one hides exactly where a program should invest in human review.
- Ignoring mixed sentiment entirely. Forcing every mention into positive, negative, or neutral throws away the roughly 29% of feedback that genuinely contains both, which is often the most actionable feedback in the whole dataset.
- Never auditing the model against a hand-labeled sample. Pull 100 mentions, label them manually, and check them against what the tool reported. Most teams skip this step and never learn where their specific tool's blind spots actually sit.
Frequently asked questions
Is sentiment analysis the same as emotion detection?
No. Sentiment analysis assigns a polarity, positive, negative, or neutral. Emotion detection names a specific feeling, anger, joy, sadness, optimism, which is a harder and more granular task. The two are related but not interchangeable, and a tool built for one often performs worse than expected at the other.
Can sentiment analysis handle multiple languages?
Modern transformer models handle multiple languages reasonably well, though accuracy still varies by language based on how much training data existed for it. Sarcasm and idiom are especially language-specific, so a model trained mostly on English text will generally perform worse on sarcasm detection in other languages, even when its baseline sentiment accuracy looks comparable on paper.
Why does sentiment analysis do worse on short text like tweets?
Short text gives a model less context to work with, and sarcasm, slang, and abbreviations are disproportionately common on short-form platforms. The AIMultiple benchmark referenced above tested specifically on Twitter data for this reason, since it represents a harder, more realistic case than the cleaner product-review text many sentiment tools are originally trained and marketed against.
Should a small team build its own sentiment model or use an existing tool?
Use an existing tool. Building a competitive sentiment model requires a large labeled training set, ongoing tuning, and infrastructure most teams outside of a dedicated NLP function shouldn't take on, and even well-funded teams that try this often end up with a model that underperforms an off-the-shelf option tuned on a far larger and more diverse dataset than any single company could label in-house. The higher-leverage work for most teams is choosing a tool that scores in context rather than by keyword, confirming it handles negation and sarcasm reasonably well on a quick manual test, and then auditing its output regularly against a hand-labeled sample rather than trusting the vendor's stated accuracy number at face value. A tool that publishes its own failure modes openly is usually more trustworthy than one that claims near-perfect accuracy with no caveats attached.
How is sentiment analysis different from share of voice or mention volume?
Mention volume counts how much a brand gets talked about. Share of voice compares that volume against named competitors. Sentiment measures whether the conversation is positive or negative. All three answer different questions, and a program that tracks only one of them is missing at least two-thirds of the picture, since a spike in volume with strong competitor share of voice can still be a crisis if the sentiment underneath it has turned sharply negative.
Sentiment analysis has gotten dramatically better over the past decade, moving from simple word-counting dictionaries to models that genuinely read context. It has not gotten perfect, and the honest 72 to 75% ceiling on three-way classification, even from the strongest models available in 2026, is worth remembering the next time a vendor pitches a tool as fully automated and hands-off. Pull a sample of your own brand's mentions this week, read them yourself, and compare your read against whatever tool is currently scoring them. The gap between the two is usually smaller than people expect, and exactly where it isn't is worth knowing.
See sentiment scored on context, not keywords
Mentient scores sentiment across press, social, and reviews with context-aware AI, and flags low-confidence mentions for review instead of guessing. Start free and see how your own mentions actually classify.
Start free trial



