vader-sentiment-analysis
VADER Sentiment Analysis
Overview
VADER (Valence Aware Dictionary and sEntiment Reasoner) is a lexicon-and-rule-based sentiment tool optimized for social media and informal text. It produces four scores per text: positive, negative, neutral (proportions summing to 1.0), and a compound score normalized to [-1, +1]. The core principle: VADER reads sentiment signals that traditional NLP preprocessing destroys -- capitalization for emphasis, punctuation for intensity, emoticons for affect -- so preprocessing must preserve these signals, not strip them.
Compound score normalization formula:
S_compound = sum(V_i) / sqrt(sum(V_i)^2 + alpha)
Where V_i are the valence scores of each token after rule-based adjustments (negation, degree modifiers, capitalization boost, punctuation amplification), and alpha = 15 is the normalization constant. This bounds the score to [-1, +1] with diminishing sensitivity at extremes.