Text Analysis Lab

Text Analysis VADER · NRC · VAD

Qualitative data—customer reviews, survey open-ends, social posts, interview excerpts—carries meaning that goes far beyond a simple positive/negative label. This lab gives you three complementary methods for quantifying that meaning: sentiment (the overall positive–negative charge of a text), emotion profiling (which of eight discrete emotions are present), and dimensional affect (how pleasant, activated, or dominant the language feels). Run one method at a time to go deep, or run all three at once and compare what each lens reveals—and what it hides.

👨‍🏫 Professor Mode: Guided Learning Experience

New to text analysis? Enable Professor Mode for step-by-step guidance through sentiment scoring, emotion profiling, and dimensional affect analysis!

OVERVIEW & WHAT THIS TOOL SOLVES

Reducing thousands of customer reviews or social posts to a single "positive vs. negative" average hides critical marketing nuance: a 2-star review fueled by high-arousal anger and disgust demands an immediate PR response, whereas one driven by low-arousal sadness or disappointment calls for product or service recovery. The Sentiment & Affect Lab analyzes unstructured text through three complementaryValidated lexicons—VADER (rule-aware overall valence), NRC EmoLex (eight discrete Plutchik emotions), and NRC-VAD (Valence, Arousal, and Dominance dimensions).

🎯 Questions It Answers

  • Overall Polarity (VADER): How positive, negative, neutral, or ambivalent is each customer comment after accounting for negation, caps, and intensifiers?
  • Discrete Emotions (NRC): Which specific emotions—anger, fear, disgust, sadness, joy, trust, anticipation, or surprise—dominate our brand mentions?
  • Energy & Control (VAD): Does customer language feel calm vs. activated (Arousal) and empowered vs. powerless (Dominance)?

📂 What Data You Need

  • Text CSV or Preset Case Study: Customer reviews, social posts, survey verbatims, or ad copy.
  • Optional Grouping Column: Brand, competitor, product tier, or campaign wave to compare profiles across segments.
  • Analysis Mode Selection: Run VADER, NRC Emotions, VAD Circumplex individually, or all three side by side.

💡 What You'll Discover

  • Token-Level Rule Highlighting: Exact inspection of how boosters, negations, and "but" flips alter each review's score.
  • 8-Emotion Radar & Bar Profiles: Normalized Plutchik emotion shares across documents and segments.
  • Russell's Circumplex Map: 2D Valence × Arousal scatter and Dominance comparisons across brands.
🔍 Key Nuances: VADER's 6 Rule Layers, NRC Emotions & Russell's Circumplex
📊

Sentiment Analysis (VADER)

How positive or negative is this text, overall?

Scores each token against 7,500+ lexical entries (−4 to +4), then applies six rule layers—boosters ("very"), negation ("not", ×−0.74), contrastive "but" (×0.5 before, ×1.5 after), ALL CAPS, punctuation ("!"), and bigram dampeners ("kind of")—to produce a normalized compound score.

VADER · Hutto & Gilbert, 2014
🎭

Emotion Profiling (NRC EmoLex)

Which discrete emotions does this text carry?

Maps 14,000+ English words onto Plutchik's eight primary emotions (anger, anticipation, disgust, fear, joy, sadness, surprise, trust) normalized by matched-token count so short and long reviews compare fairly.

NRC EmoLex · Mohammad & Turney, 2013
🧭

Dimensional Affect (NRC-VAD)

How pleasant, energized, and in-control does the language feel?

Rates 20,000 words from 0 to 1 on Valence (pleasure), Arousal (activation), and Dominance (control), placing every document in Russell's circumplex (e.g., high-V high-A = excitement; low-V high-A = rage/anxiety).

NRC-VAD · Mohammad, 2018
📐 Under the Hood: Model Equations & Variable Definitions
1. VADER Compound Normalization, Ambivalence Index & Lexicon Averages
\[ \text{compound} = \frac{S}{\sqrt{S^2 + \alpha}} \quad (\alpha = 15), \qquad \text{ambivalence} = \frac{2 \cdot \min(\text{pos},\, \text{neg})}{\text{pos} + \text{neg}}, \qquad E_m = \frac{1}{M} \sum_{t=1}^{M} \mathbb{1}[w_t \in L_m] \]
💬 Read it in plain English: VADER sums rule-adjusted word valences into S and normalizes it onto [−1, +1]; the Ambivalence score separates genuinely neutral text from mixed reviews where strong praise and strong complaints cancel out; and NRC/VAD normalize matched token scores across the M recognized words in the document.
S, α
Rule-Adjusted Valence Sum & Normalization Constant OUTPUT ⓘ
Total summed sentiment valence (S) after applying boosters, negations, caps, and punctuation rules, scaled by constant α = 15.
compound, pos, neg
Normalized Compound Score & Tone Proportions INFERENCE ⓘ
Overall polarity score in [−1, +1] and proportions of positive, negative, and neutral token weight.
ambivalence
Mixed-Sentiment Ambivalence Index OUTPUT ⓘ
Distinguishes a flat, emotionless review (0) from a conflicted review containing equal parts praise and criticism (1).
Em, M, Lm
Normalized Emotion Share & Matched Tokens OUTPUT ⓘ
Proportion of the M matched lexicon tokens in a document that evoke emotion or affect dimension m.

DATA SOURCE

📚

Use a Case Study

📊 Pre-loaded Text Datasets

Use these case studies to practice reading text analysis outputs before uploading your own data. Each scenario comes with a suggested analysis method—but you're always free to run any or all three engines on any dataset.

📤

Upload Your Data

Drag & Drop CSV file (.csv, .tsv, .txt, .xls, .xlsx)

The first row should be column headers. One column should contain your text data.

CONFIGURE YOUR DATA

Choose which column contains the text you want to analyze.

Optional: compare results across groups (e.g., brand, source, product rating).

Selects a column to use as row labels in output tables and inspectors.