Sentiment prediction can be supervised, semi-supervised or unsupervised.
Supervised approaches rely on annotated datasets. Given the strong domain specificity, it is important that a large corpus from the target domain is available. When not available, domain adaptation methods can be used, that rely on a large out-of-domain corpus and a small supplementary target-domain annotated corpus.
Unsupervised methods rely on sentiment dictionaries: large lists of words with scores quantifying their polarity. Mapping to dictionary and aggregation statistics are used to evaluate sentiment in free text.
Semi-supervised approaches rely on a small set of annotated texts or small polarity dictionaries, that are expanded by either bootstrap methods, or by using external knowledge-bases like Wordnet.
Our aim is to evaluate sentiment polarity (Negative/Positive) at several levels of granularity:
Input: a sentiment dictionary of sentiwords, i.e. words that have some polarity, together with scores that quantify how positive or how negative they are.
We assembled a sentiment dictionary from three sources:
Pipeline for document sentiment:
Pipeline for entity sentiment: