AI Sentiment Analyzer
AI Sentiment Analyzer reads a passage and labels it positive or negative, with a confidence score for each side. The BERT classifier runs in your browser, so the text is never uploaded. It is a binary polarity model: no neutral class, no emotion labels, and sarcasm often misleads it.
Use AI Sentiment Analyzer
Sentiment Analysis
Enter text and analyze sentiment
Read Content
What it tells you
Paste a piece of text, press Analyze, and the page reports whether it reads as positive or negative, with a score for each side. There is no neutral option: whichever score is higher becomes the headline, and the progress bar leans toward that side.
This is a polarity classifier, not a full sentiment system. It does not extract aspects, does not label emotions such as anger or joy, and does not explain which words drove the result. It answers one narrow question — does this text sound favourable or unfavourable? — and leaves the interpretation to you.
The model
| Item | Detail |
|---|---|
| Runtime | MediaPipe Tasks Text 0.10.15, WebAssembly |
| Model | BERT text classifier, float32 |
| Classes | Positive and negative |
| Output | Two scores, shown to one decimal place |
| Minimum input | Three characters before the button enables |
| Processing | Entirely in the browser |
The bundled model is a sentence-level polarity classifier in the SST-2 tradition: short English sentences, mostly film reviews, labelled positive or negative. That origin matters. It is good at opinions phrased in ordinary, evaluative language and weaker at factual text, where there is no opinion to detect at all.
The two scores normally add up to roughly one, because the underlying classifier assigns a probability to each class. The page shows both, but the large label and the bar follow only the higher one.
How the result is drawn
When positive wins, the panel shows a smiling icon, the word Positive in green, and a bar whose width is 50 percent plus half of the positive score. A 0.90 positive score therefore draws an 85 percent bar, not a 90 percent one. The bar is a visual lean away from the midpoint, not a direct plot of the score.
When negative wins, the same maths applies to the negative score, and the label turns red. If the scores are exactly equal, the code falls into the negative branch, so a perfect tie is displayed as Negative.
Below the bar, both percentages are printed side by side, labelled Negative and Positive. They are the real numbers; the bar is only a summary. The Clear button empties the textarea, resets the character count and hides the result.
Step by step
- Paste or type text into the box. The character counter updates as you type.
- The Analyze button stays disabled until there are at least three characters.
- On the first run, the browser downloads the text runtime and the BERT model. The panel names each stage.
- Press Analyze Sentiment. The result replaces the empty state.
- Edit the text and analyze again to compare; the model stays loaded.
The Load AI Model button preloads everything if you want to avoid the first-run wait. Once loaded it changes to a green "Model Ready" state.
Reading the scores honestly
A score is the classifier's confidence in a label, not a measured intensity of feeling. 0.95 positive means the model is confident the sentence belongs to the positive class; it does not mean the sentence is extremely positive. A mildly favourable review and an ecstatic one can both land near 0.99.
Small differences are noise. A result of 0.52 positive against 0.48 negative is close to a coin flip, and rewording a single word can flip it. Treat anything in the 0.45 to 0.55 band as unresolved rather than as a weak positive.
Long text is a special case. The model has a fixed input window, so a long passage is effectively truncated or summarised internally. A review that praises five features and criticises one may be classified on whichever part dominates the opening, and the displayed score will not warn you that most of the text was ignored.
Where it works
- Short opinion sentences. "The battery lasts all day" or "The app crashes constantly" are exactly the shape the model was trained on.
- Review triage. Sorting a pile of comments into broadly positive and broadly negative before reading them.
- Quick tone checks. Sanity-checking a headline, a tagline or a customer reply.
- Teaching. A compact demonstration of how a text classifier turns words into two probabilities.
- Filtering. Flagging likely complaints in a support inbox for a human to review.
Where it fails
Sarcasm is the classic failure. "Great, another delay" contains positive vocabulary and negative meaning, and the model often reads the words rather than the intent. Irony, backhanded compliments and rhetorical questions are similarly unreliable.
Negation is handled unevenly. "Not bad" and "not good" sit close together in vocabulary but opposite in meaning, and a single negation can be missed in a longer sentence. Mixed sentiment is also flattened: a paragraph that praises the product and condemns the delivery becomes one label, with no indication that both opinions exist.
Factual and neutral text is forced into a binary. A specification sheet, a news headline or a legal clause has no polarity, yet the classifier still returns a winner. Treat those results as meaningless rather than as a mild leaning.
Domain shift matters. The model learned from film-review language; product reviews, chat messages, tweets, clinical notes and non-English text all behave differently. Emoji, slang and abbreviations are largely invisible to it.
What it does not do
No neutral class, no emotion labels, no aspect-based sentiment, no per-sentence breakdown, no keyword highlighting, no explanation, no language detection, no translation and no batch analysis. It does not score intensity on a scale, and it does not tell you why a text was classified the way it was.
Privacy
The text is processed locally in WebAssembly. Nothing is sent to a server, and nothing is stored after the page is closed. The runtime and model are downloaded from public CDNs on first use, which reveals that the tool was opened but not what you typed. That makes it usable for internal notes and customer messages, subject to your own data rules.
Limits
One piece of text at a time, no file upload, no batch mode, no language selection and no adjustable threshold. The model's input window limits how much of a long document is actually considered. A modern browser with WebAssembly and network access on first load is required.
Common mistakes
- Expecting a neutral result. The model has only two classes and always picks one.
- Treating the score as intensity. It is confidence in a label, not strength of feeling.
- Analyzing a whole article. Long text is truncated, and the result may reflect only part of it.
- Trusting sarcasm detection. Irony routinely flips the apparent polarity.
- Using it on factual text. Specifications and news have no opinion to classify.
- Reading a 52 percent result as a finding. Near-ties are unstable and easily reversed.
Frequently Asked Questions
FAQ
Comments (0)
Describe the issue you encountered so we can investigate and improve the tool.