shadcn.io is not affiliated with official shadcn/ui
Sentiment Analyzer AI Block for Vue
Paste or pick a sample text and press Analyse to see matched words marked in the text, a verdict in words, five emotion counts with bars that add to 100, and the words found, all from a typed list of 62 words that says it is not a model.
Installation
Overview
Count the feeling in a piece of writing and show the working, with this tone checker for Vue with Ark UI. Tonemill, a tone checker, puts a Textarea beside a readout, with three sample chips (a product review, a support ticket, a launch note) and the Shine Button Analyse. The text is shown again with every matched word marked, a plus or minus beside it and the emotion read out for screen readers. A verdict in words (Mostly positive: 4 positive words, 3 negative) sits over five emotion rows with a count and a bar, and the words found are listed with how often each came up. It says on the page that it matches words from a typed list of 62 and is not a model. For feedback tools, review dashboards and writing aids.
FAQ
What stays in the page, and how do I make it real?
The word list, the three samples and the matching are all in the file. The marks, the verdict, the counts and the shares are worked out from the text you analyse; nothing leaves the page. To wire it for real, send the text to your model or service and map its labels to the same five emotions.
How does the matching work?
The text is split into words and each word is looked up, whole and in lower case, in a typed list of 62 words in five emotions: Joy, Anger, Sadness, Surprise and Fear. Each emotion has a polarity, positive, negative or neutral for Surprise. It does not stem words, read sentences or understand negation.
What does it get wrong?
Plenty. "Not good" counts as positive, sarcasm reads as the opposite of what is meant, and any word that is not on the list is ignored. That is why the page calls itself a word counter and the report says it is not a model.
Why do the bars add to 100?
The five shares are rounded by largest remainder, so they always sum to 100 when at least one word matched. With no matches every bar is empty and the verdict says that no feeling words were found.