Sentiment API Technical Documentation


The aim is to evaluate sentiment polarity (Negative/Positive) at several levels of granularity:

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 approach (for English)

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.

Sentiment dictionary

We assembled a sentiment dictionary from three sources:

Sentiment evaluation algorithms

Pipeline for document sentiment:

  1. Sentiment mapping

Pipeline for entity sentiment:

  1. Concept tagging
  2. Segmentation
  3. Sentiment mapping
  4. Sentiment evaluation