Sentiment Analysis / Opinion Mining
Natural Language Processing (NLP)
Identifying, extracting and quantifying emotional states, polarised opinions and subjective information
Single (e.g. text-based)
Multi-modal (e.g. with audio and visual data)
Model as a classification problem
Opinion / Experiences (Subjective)
Techniques to classify subjectivity & polarity
A dictionary of positive & negative opinion words and expressions
Sentiwords (~155,000 English words associated with a sentiment polarity score)
VADER (Valence Aware Dictionary and sEntiment Reasoner) lexicon and rule-based sentiment analysis tool
NLTK (Natural Language Toolkit)
Basic lexicon approach - count the score of each word and the most common score wins
Classic NLP - parsing, tokenisation, part-of-speech tagging, stemming
No training data required
Easy to debug
Automated (Machine Learning)
Input is the text - preprocessed into word embeddings/vectors
Output is a prediction of the score/polarity
Naive Bayes - probabilistic to predict a category
Support Vector Machines (SVMs) - non-probabilistic; mapping categories into multidimensional space
Requires large amount of training data
Types of opinions
Direct opinions - specifically give a judgement/perspective in an up-front, straightforward manner
Comparative opinions - express similarities of, or differences between entities
Sentiment is expressed on whole entities/subjects, or individual features/aspect
Ways opinions can be expressed
Explicitly (expressed in a subjective sentence)
"the holiday was fantastic"
Implicitly (expressed in an objective sentence, saying without saying, and metaphors).
"the oysters gave us food poisoning"
The aspect of "size" can be implied from usage of the adjective "bulky"
The aspect "price" can be implied from usage of the adjective "expensive"
Applied at different levels
Types of sentiment analysis
Comparative sentence analysis
Feature/aspect based - expressed on whole entities/subjects or individual parts
Intent analysis - understanding the underlying intent or intended action which may require contextual information
Handling negations or double negatives (e.g. do not dislike)
Adverbials changing the meaning/intensity of the sentiment
Tonality, irony and sarcasm
Emojis and special characters
Multiple entities/subjects are named - which one does the sentiment apply to?
Typical negative terms being used positively in certain contexts
Opposing opinions provided, that create an unclear sentiment