What sentiment analysis is actually doing
Sentiment analysis assigns a valence — positive, negative, or neutral — to a piece of text. The goal is not to summarize what the text is about, but to capture the emotional polarity of how it was written. A review that says "the export took three minutes and I nearly gave up" is negative. One that says "slower than I expected but the results were worth it" is mixed. One that says "works exactly as described" is positive.
That sounds straightforward, and for clear-cut cases it is. The hard part is handling everything in between: sarcasm, hedged praise, domain-specific jargon, intensifiers ("absolutely terrible" vs "terrible"), negations ("not bad at all"), and the casual abbreviated style of support tickets and in-app surveys.
Different approaches handle this complexity in different ways. Rereflect ships with VADER as its built-in engine because VADER was designed specifically for the kind of informal, short-form text that customer feedback tends to be.
How VADER scores a piece of text
VADER stands for Valence Aware Dictionary and sEntiment Reasoner. It is a lexicon and rule-based method, meaning it works from a curated list of words and phrases that have been human-rated for sentiment strength, combined with a set of grammatical rules that adjust those ratings in context.
For each token in the text, VADER looks up a valence score — a number representing how positive or negative that word tends to be. It then applies a series of modifier rules before summing up the result:
- Capitalization — "TERRIBLE" scores more negative than "terrible" because all-caps signals emphasis in informal writing.
- Punctuation — trailing exclamation marks amplify whatever valence the surrounding words already have.
- Degree modifiers — words like "very," "extremely," and "barely" scale the adjacent sentiment word up or down.
- Negations — "not good" flips the valence of "good"; VADER looks back a few tokens to catch these reversals.
- Special idioms — common phrases like "kind of" or "sort of" are handled as damping modifiers rather than parsed word-by-word.
The output is three raw scores (positive, negative, neutral proportions that sum to 1.0) plus a compound score that ranges from -1.0 (maximally negative) to +1.0 (maximally positive). Rereflect maps this compound score to the three-way label — positive, neutral, negative — using conventional thresholds, and stores both the label and the raw compound value so you can filter and sort by either.
Where VADER works well
VADER was built by researchers at Georgia Tech specifically to handle social media and user-generated text, which makes it a reasonably good fit for customer feedback. It handles:
- Short text without extensive context — support tickets, NPS comments, in-app survey responses, and app-store reviews are all squarely in VADER's design target.
- Casual punctuation and capitalization — the kinds of stylistic signals that trip up models trained primarily on formal prose.
- Common English slang and intensifiers — the lexicon includes colloquial terms and accounts for the difference between "good," "really good," and "SO good."
- Speed and zero dependencies — VADER runs entirely in-process, requires no GPU, makes no network calls, and can score thousands of items per second on a modest machine.
For teams running Rereflect without a configured LLM, VADER provides immediate, always-on sentiment scoring across all ingested feedback. That is genuinely useful even before any AI model is wired in.
Where VADER has real limits
Being honest about limitations matters more than marketing sentiment scores as universally reliable. VADER has several known weaknesses you should account for when interpreting results:
- Sarcasm and irony — "Oh great, another outage" reads as positive to a lexicon-based system because "great" has positive valence. VADER has no model of intent.
- Domain-specific language — technical terms that carry negative meaning in your product ("latency," "regression," "data loss") may be neutral in VADER's general lexicon.
- Long-form text — VADER was designed for short snippets. On a long support email, the scoring reflects a mixture of all sentences rather than the main concern being raised.
- Non-English text — VADER's lexicon is English-only. Feeding it text in other languages will produce unreliable scores.
- Nuanced mixed sentiment — "The onboarding is great but billing is a disaster" contains both strong positive and strong negative signals; the compound score will land somewhere in the middle, which may or may not reflect the practical priority.
None of these are arguments against using VADER — they are arguments for understanding what you are looking at. Sentiment scores are signals, not verdicts. A cluster of feedback that VADER labels negative almost certainly contains real problems worth investigating, even if individual scores are imperfect.
VADER vs. an LLM: when to upgrade
If you configure Rereflect with a language model, the LLM takes over the deeper categorization steps — pain point extraction, feature request classification, urgency reasoning — while VADER continues handling the basic sentiment pass. The LLM brings contextual understanding that VADER lacks: it can recognize sarcasm, infer domain-specific negativity, and reason about long-form text.
That said, LLM-based sentiment is not always better in every dimension. It is slower, it costs tokens, and it introduces a dependency on either a hosted API key or a locally running model. VADER runs instantly with no configuration and no cost.
The practical recommendation: start with VADER to establish a baseline sentiment signal across your feedback. If you find that scores on your specific type of feedback are consistently off — because your domain language is unusual, because your customers write in multiple languages, or because sarcasm is endemic to your feedback channel — that is when an LLM upgrade makes sense. The two approaches are complementary, not competing.