😊 AI Sentiment Analyzer
A sentiment analyzer scoring −100 to +100 sentence by sentence, so a mixed review reads as mixed. Runs in your browser; the text is never uploaded.
0 sentences · runs in this tab, the text is never uploaded
What AI Sentiment Analyzer Does
Sentiment analysis is text classification: a model that has read a great many labeled examples estimates how likely it is that a new piece of text belongs to the "positive" class. What comes back is a probability, and the single most important thing to understand about it is that a probability is a statement about the model’s confidence, not a measurement of how strongly the writer felt.
The model here is DistilBERT fine-tuned on SST-2, a corpus of film-review sentences labeled positive or negative. Two classes. There is no neutral one, and because the two probabilities are forced to sum to one, the model cannot decline to answer. Give it a sentence with no sentiment in it at all and it will still pick a side, sometimes with high confidence — "the package weighs 2.4 kilograms and measures 30 by 20 centimeters" comes back negative at 97.6%. That is not a bug in this page; it is what a two-class classifier does, and most sentiment tools simply do not mention it.
So this one reports a continuous score from −100 to +100 rather than a bare label, marks the middle band as "no clear sentiment", and shows you the result for every sentence rather than one verdict for the whole passage. The per-sentence view is not a nicety: a single label actively destroys the most useful information in real feedback, because real feedback is usually mixed.
Everything runs in your browser. The model is about 65 MB, downloaded once and then cached, and the text is never transmitted anywhere — which matters if what you are analyzing is customer feedback, survey responses or anything else you are not free to paste into a third party’s server.
How to Use AI Sentiment Analyzer
- Paste the text — a review, survey answers, comments, anything
- Run it once to download the model; it is cached afterwards
- Read the overall score, then the sentence breakdown, which is where mixed text shows itself
- Treat a confident label on a factual sentence as noise, not signal
Formula Used by AI Sentiment Analyzer
Turning a two-class probability into a symmetric score
score = (P(positive) × 200) − 100
- P(positive)
- the model’s softmax probability for the positive class, between 0 and 1
- score
- −100 for certain negative, 0 for a coin flip, +100 for certain positive
Worked example
The model returns POSITIVE with a confidence of 0.909.
- P(positive) = 0.909
- 0.909 × 200 = 181.8
- 181.8 − 100 = 81.8
Result: A score of +82. Read that as "the model is fairly sure this is the positive class", not "this sentence is 82% enthusiastic".
What the bands mean
The middle band exists because the model has no neutral class and will otherwise present a coin flip as a verdict.
| Score | Shown as | How much to trust it |
|---|---|---|
| +80 to +100 | Strongly positive | Reliable on review-like text |
| +50 to +80 | Positive | Reliable on review-like text |
| −50 to +50 | No clear sentiment | The model is near a coin flip, or the text has no sentiment |
| −80 to −50 | Negative | Reliable on review-like text |
| −100 to −80 | Strongly negative | Reliable on review-like text |
Where this model breaks, with real examples
Measured on this page. These are not hypotheticals — they are what the model actually returns.
| Text | What it returns | Why |
|---|---|---|
| "The meeting is scheduled for Tuesday at three in the afternoon." | Positive, 90.9% | No neutral class; it must choose |
| "The package weighs 2.4 kilograms and measures 30 by 20 centimeters." | Negative, 97.6% | No neutral class; it must choose |
| "This is the worst product I have ever purchased." | Negative, 100% | Correct — this is exactly its training domain |
| Sarcasm — "Brilliant. Another delay." | Usually positive | Trained on literal review text; irony is not represented |
How to Read Your Result
Mixed is not the same as neutral
A review saying the food was excellent and the service appalling averages to roughly zero, and zero here would suggest indifference — which is the opposite of the truth. When the text contains both clearly positive and clearly negative sentences the tool says so explicitly and points you at the breakdown, because the average is the one number that cannot describe it.
Use it across many texts, not on one
The honest use for a model like this is volume: run it over three hundred survey responses and the distribution tells you something real, even though any individual score might be wrong. Run it on one sentence and you have a confident-looking number with no way to know whether it is one of the ones it got wrong.
A confident label on factual text is noise
If you paste an invoice, a specification or a schedule, you will get scores. They mean nothing. This is the single most common way sentiment tools mislead people, and it is why the failure is documented on the page instead of being left for you to discover.
Limitations & Accuracy Notes
- Two classes only — positive and negative. There is no neutral class, so sentiment-free text is still scored, sometimes with high confidence.
- Trained on English film reviews. Accuracy falls away on clinical, legal, technical or heavily domain-specific writing.
- Sarcasm and irony are usually read at face value and scored backwards.
- English only. Other languages will produce output, and it should not be believed.
- It measures the model’s confidence in a class, not the intensity of the emotion. A calm "this is unacceptable" can outscore a furious one.
- About 65 MB is downloaded on first use. It is cached afterwards, but the first run needs a connection.
- Very long inputs are split into sentences; a single sentence beyond the model’s token limit is truncated rather than rejected.
Frequently Asked Questions
Can it detect neutral text?
Why score each sentence separately?
What does the −100 to +100 score mean?
How accurate is it?
Is my text sent anywhere?
How big is the download?
References & Further Reading
- DistilBERT SST-2 model card — The model used here, including its own stated bias and limitations
- SST-2 in the GLUE benchmark — The two-class film-review task this model was fine-tuned on — the reason there is no neutral output
- DistilBERT paper (arXiv:1910.01108) — The distilled architecture: around 40% smaller than BERT, which is what makes it small enough to run in a browser
- Transformers.js — The library running the model on your device