Sentiment Polarity

Sentiment polarity is the main metric of sentiment. Most of the services represent it by a sentiment score within some range between negative and positive ([-1,1] or [0,1]). The alternative approach is to return a set of sentiment labels with a confidence score attached to each label. Different services provide labels for a different number of steps on this scale. One important distinction is the Mixed sentiment, which may be indicated by a particular label in the latter approach but typically cannot be expressed in the former. Meaning Cloud solves that by introducing the sentiment agreement score. Google Cloud’s sentiment magnitude may refer to the same problem, if it may be high for neutral sentiment (needs testing).

Custom Models

IBM Watson, Meaning Cloud and Salesforce Einstein enable building custom models to account for specific slang or language used in some specific domain. Some other services allow for adding custom sentiment dictionaries (list of words with attached sentiment polarity scores), which we did not count as custom models here.

Aspect-Based Sentiment

Sometimes sentence-level sentiment score is not enough. One case is when the subject can be evaluated along different dimensions or aspects. An example is a restaurant review, which may combine sentiment towards service, meals, and prices in one sentence.

Aspect-based models are always domain specific. We have found aspect-based sentiment in Aylien, Meaning Cloud and Repustate, with different domain models available at each of the services.

Entity-Based Sentiment

Another way to get more details is to perform entity extraction and then to analyse sentiment towards each of the entities mentioned in the sentence. This is supported by Google Cloud Natural Language. However, it is not clear if it is augmented with the cross-sentence anaphora resolution, which should be especially important for conversational texts.

Other features

Additionally, Aylien and Meaning Cloud provide sentiment subjectivity score, measuring how subjective is the writer opinion.

Surprisingly, only Meaning Cloud provides explicit irony detection. It is not clear if it is used in other models implicitly.

Language Support

Combined, all services we compared support 23 languages, while a single service supporting 17 languages at most (Microsoft and Repustate).