Aspect-based Sentiment Analysis vs. Plain Sentiment Analysis: SentiLecto’s NLU capabilities explained
Perhaps you have heard the term ‘sentiment analysis’ and wondered what it is all about. Perhaps you have a vague idea of what it means and would like to learn a little bit more in depth. If that is the case, please read on.
Nowadays, the amount of text that is produced around the web is enormous, so much so, that its strategic analysis for different purposes, — ranging from business analytics of various industries to political campaigns — , becomes a difficult, if not impossible task. This is when sentiment analysis comes in: in its most simple form, you can take a snippet of a text and automatically detect how positive or negative it is.
Let’s take the sentence in Spanish: yo detesté el concierto (I hated the concert).
We’re going to analyze this input by using our demo. First, go to dev.natural.do/sentilecto, then enter the input you wish to test, prove you’re not a robot, choose the output (in this case, we’ll choose Text Global Understanding & Sentiment Analysis, but feel free to explore the other types of output) and then click in analyze:
Upon clicking, you’ll find a detailed report that gives you interesting insights of many aspects of the sentence. We’re going to focus just on two parts of the report: 1. The overall text sentiment score, and 2. Entity-based Sentiment Overall report.
Let’s see what this output means:
As you can see, it correctly detects a very negative sentiment. But if you further delve into it, you’ll see that what is characterized as negative is the concert itself:
SentiLecto recognizes the entities in the sentence, and assigns them a positive or negative score. In our simple example, two are the entities we talked about: el concierto and yo. It is shown that el concierto is what was qualified as negative. If you hover with the mouse over it, you’ll see that this is the case because of the verb detestar (to hate), which clearly has a negative connotation:
As we would correctly expect, yo doesn’t have any type of score, because the speaker isn’t making any type of judgement about herself. If we tried a sentence like:
Yo, de gusto impecable, detesté el concierto.
Lit. I, of taste impeccable, hated the concert.
Trans. I, with my impeccable, hated the concert.
We get the following output:
Notice how SentiLecto detects the judgement the speaker is making about herself and her taste.
Perhaps by this point you’re beginning to infer one of the most important characteristics of SentiLecto’s sentiment analysis capabilities: It goes beyond a global, one-dimensional score. Instead, it is able to detect the sentiment associated with the different aspects of the sentence. This is known in the bibliography as Aspect-based Sentiment Analysis and comes as a tremendous advantage when you have an example like:
Detesté el concierto, aunque las sillas estaban cómodas y el disfraz de la cantante estuvo interesante. En todo caso, el precio de las entradas era muy caro.
Trans. I hated the concert, even though the seats were comfortable and the costume of the singer was interesting. In any case, the price of the tickets was very expensive.
This is what SentiLecto outputs:
Notice how, even though on a global level the score is slightly negative, SentiLecto can still detect the fine-grained scores of the aspects involved in the concert. On one hand, the concert itself and the price of the tickets is marked as negative, which is correct, and on the other, the costume and the seats are highlighted as positive, which is again correct. Imagine how useful this is when gauging the opinion of customers of a product in social media, or the political opinion present in news articles.
If you want to learn more about SentiLecto and its Aspect-based sentiment analysis capabilities, please visit our web page or try our demo yourself. If you have any questions, please contact us and stay tuned for our future posts.