Sentiment Analysis
Goal: determine the polarity of a text at document, sentence, or feature/aspect level (01 Intro s.7). Polarity values: positive/neutral/negative or Likert scale 1-10. Examples: tweets about politicians (document level); product reviews with per-feature scores (aspect level).
Related
Concept - Text Mining | Concept - Information Extraction
Appears in
Similarity of opinions - Troll 2 tweets (02 Pre-processing s.91-96)
Motivating example: “I love Troll 2!”, “I like Troll 2.”, “I love Troll 2! I love it!!!” are similar (positive) while “Troll 2 is bad.” is different (s.91). For a whole month of Twitter traffic a computer must find similarities/differences, using Concept - Cosine Similarity (s.93-96). See 02 Pre-processing - Chunk 04 (s.91-120).
From 03 Text Classification (s.366-368)
Sentiment = author’s subjective/emotional attitude towards the central topic (reviews with 1-5 stars; political statements favorable/unfavorable). Typically a bag-of-words classifier, but negation, irrealis and “however” contrast need more (s.367). Related tasks: Concept - Sentiment Analysis Related Tasks. See 03 Text Classification - Chunk 13 (s.361-381).
As supervised classification (s.42-45) (01 Intro - Chunk 02 (s.31-48))
- Given a text, assign a class (positive/neutral/negative; or sad/happy/angry/surprised); needs training pairs <text; sentiment> (s.42).
- Labeling is expensive; web reviews with star ratings are used as labels; corpora: Amazon (McAuley, 142M reviews), WebDataCommons (70M reviews from 50,000 sites) (s.43).
- Preprocessing: keep ”!”, ”?!”, smileys, visual markup, capitalization; replace smileys/markup with sentiment words (smiley -> great, COOL -> cool cool) (s.44).
- Tricks: top-k words by correlation with label; Concept - Sentiment Lexicon (Bing Liu, AFINN) (s.45). Filter adjectives via Concept - POS Tagging (s.32). See Concept - Document Classification.