Cognitive AI is different from most markets business leaders will experience. It’s a dynamic landscape, with similar-looking services and providers coming in at vastly different price points.
The quality of the service depends on the data used by the vendor to train its model, and how similar it is to the data that is being processed. In light of this, detailed comparison and evaluation is a must for those that want to make an informed decision. However, evaluation is pricey, not to mention difficult to accomplish due to steep divides in service APIs. Intento simplifies the process by bringing all services under the same roof. In this overview, we’ll share some insights that we’ve uncovered through our continuous integration of the latest Sentiment Analysis services, providing a bird-eye view of the modern landscape, and giving businesses the knowledge to navigate the waters successfully.
Today, there’s an even greater need for a solid understanding of the marketplace due to the exponential growth of the field. Where a couple of years ago we were comparing 15 Cloud Sentiment Analysis services — we now are comparing 52, supporting up to 100+ languages via neural translation. The prices vary depending on the policy and unit of reference. We show the difference between paid plans, splitting all services into 4 price groups: $1-$3, $4-$10, $15-$30, and > $50 per 10,000 API calls. Some services offer free access as a part of their trial and marketing programs, but in such cases one needs to thoroughly check their ToS as the privacy terms may be different from commercial plans.
Download your full Cloud Sentiment Analysis: 2022 Overview here.
• • •
We have compared 52 Cloud Sentiment Analysis services with pre-built models, provided via public APIs. A notable change from the last report is the absence of Algorithmia offerings. Algorithmia’s SaaS offering was discontinued in November 2021 and will no longer be supported. It was acquired by DataRobot and is being integrated into DataRobot’s product offering.
Here is the list in alphabetical order:
- Amazon Web Services Comprehend
- AI Applied Text Analysis API
- Aylien Text Analysis
- Bitext Sentiment Analysis API
- Boson NLP Sentiment Analysis
- BytesView Sentiment Analysis
- Dandelion API
- Eureka Engine
- FuxiAPI by Insider
- Daniel Soper Sentiment Analyzer
- Google Cloud Natural Language
- IBM Watson NLU
- Intellexer Sentiment Analyzer
- ISPRAS API Texterra
- Komprehend Sentiment Analysis
- Lexalytics Semantria
- MeaningCloud Sentiment Analysis
- Meltwater Sentiment Analysis API
- Microsoft Cognitive Services Text Analytics
- Neticle Text Analysis API
- NetOwl Sentiment Analysis
- NLP Cloud Sentiment Analysis
- NLP REST API
- OpenText Magellan Text Mining
- Prompt API Sentiment Analysis API
- Repustate Text Analytics
- Rosette Sentiment Analyzer
- Salesforce Einstein Language
- Sentiment 140
- Sentiment Analysis by Added Bytes
- Sentiment Analysis by Alexandre Bardiaux
- Sentiment Analysis API by Marek Koncewicz
- Sentiment Analysis Industrial API by Metatext.io
- Sentiment Analysis Multi-language by Metatext.io
- Sentiment Analysis Portuguese BR by Metatext.io
- Symbl AI Sentiment API
- Text2Data Sentiment Analysis
- TextProbe API
- Text Processing API by japerk
- Text Sentiment Analysis Method by fyhao
- Twinword Sentiment Analysis
- Webit Sentiment Analysis API
- Zia Sentiment Analysis
Sentiment analysis aims to determine the attitude of a speaker, writer, or other subjects with respect to some topic or the overall contextual polarity or emotional reaction to a document, interaction, or event.
Here we focus on the services that analyze the expressed attitude towards an object, however, we also include new, innovative areas of growth evaluating the emotional state of the writer, such as Irony Detection and Emotion Analysis.
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. MeaningCloud solves this by introducing the sentiment agreement score.
A much larger group of services enable building custom models to account for specific slang or language used in some specific domain. MeaningCloud, Salesforce Einstein, Lexalytics Semantria, Text2Data, Rosette, and NLP Cloud offer this service. Custom models are also offered by GoogleCloud via Vertex AI AutoML, and IBM Watson via Watson Knowledge Studio.
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.
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 the aspect-based sentiment in Aylien, MeaningCloud, Repustate, Lexalytics, Symanto, Sentistrength, ISPRAS, Sentiment140, and NetOwl with different domain models available at each of the services.
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 Aylien (at 3x the pricing), Google (only in English, Spanish, and Japanese), as well as IBM Watson, MeaningCloud, Repustate, Lexalytics, Text2Data, Rosette, Radarr, Intellexer, Meltwater, SentiStrength, Eureka, NetOwl, and TextProbe on Rapid API. It is not clear if it is augmented with the cross-sentence anaphora resolution, which should be especially important for conversational texts.
Additionally, Aylien, MeaningCloud, Text2Data, OpenText, ISPRAS, Text Analysis and Text Processing API on RapidAPI all provide sentiment subjectivity scores, measuring the subjectivity of the writer’s opinion.
Surprisingly, only MeaningCloud provides explicit irony detection. It is not clear if it is used in other models implicitly.
Emotion Analysis is now offered by IBM Watson (exclusively English), BytesView, Komprehend, Symanto, and Textprobe on RapidAPI.
Combined, all services we compared support 100+ languages, chiefly empowered by Webit’s neural translation. Two Metatext services also claim to be multilingual.
Of the rest, English is obviously the most supported language (47 vendors), followed by Spanish (20 vendors), then French (18 vendors).
2 vendors, Boson NLP and FuxiAPI exclusively deal in Chinese, and one vendor works only with Brazilian Portuguese.
Sentiment Analysis services are typically priced per amount of API calls. Two important exclusions are:
- Amazon Comprehend is billed for “NLP units”, one unit per 100 symbols processed with a minimum of 3 units per request. We count it as 3 units per request.
Many providers don’t publish prices, so we don’t include them in our comparison.
Overall, the pricing models differ a lot, from true pay-as-you-go to flat monthly payments with quotas and overage. Many providers offer free trials, with a limited number of requests. We have estimated a volume-based price per 10,000 API calls for each of the services. Generally, prices decrease for bigger text volumes. However, after a certain point, the price may increase again — most likely, this should incentivize clients to contact sales as a bigger volume discount requires some commitment.
We split all services in 4 price groups: $1-$3, $4-$10, $15-$30 and > $50 per 10,000 API calls.
This huge 100x price difference is probably because the least expensive services perform only Sentiment Analysis, while others bundle it with different amounts of other Text Analytics services.
Here, we do not account for document length limits imposed by different services, which may significantly change the per-call price for a specific use.