Sentiment Analysis
Automatically determine the sentiment expressed in text
The following demonstration uses Microsoft's Azure Text Analytics, Amazon's AWS Comprehend, IBM's Watson NLU services and Google's Sentiment Analysis Language Tool; to analyse the sentiment of some text.
Instructions
- Enter some text in the box below, or select from one of the example texts.
- Click the Analyse button.
- Select the Azure, AWS and IBM tabs to view the sentiment analysis results.
More information about this demo
The Azure Text Analytics service provides sentiment analysis results for each sentence of the input text. The sentiment can either be "positive", "negative" or "neutral".
AWS Comprehend analyses the text as a whole and only provides a single, overall sentiment result, which could be "positive", "negative", "neutral" or "mixed".
IBM's Natural Language Processing API assesses the sentiment at a document level, identifying the highest scoring sentiment within the text. It also provides the ability to identify the sentiment of entities within the text. Displayed here beneath the text; green identifying a positive entity, red identifying a negative entity.
Google's sentiment analysis provides sentence level analysis, similar to Azure.
Things to consider
Sentiment Analysis has a wide range of potential uses. An organisation that values public sentiment or attitude towards them could use sentiment analysis tools to analyse social media, blog posts or discussions on online forums. Or universities could use sentiment analysis to analyse student feedback and comments, either from their own surveys or from online sources such as social media.
However, sentiment analysis tools have difficulty recognising more subtle and complex aspects of language like sarcasm, irony, negations and jokes. For example, a sentiment analysis system could mistakenly classify the phrase "I wasn't disappointed" as negative, when it should be classified as positive. And short sentences may not provide enough context for a sentiment analysis system to provide a reliable result.