What Is The Best Sentiment Analysis Approach? Document, Topic, or Aspect
Understanding people’s written emotions isn’t easy, especially on a large scale. That’s why there are different types of sentiment analysis approaches that are used to overcome this challenge. Sentiment analysis is the exercise of identifying, scoring, and classifying peoples’ feelings as positive (+1), neutral (0), or negative (-1). This helps businesses know which aspects of their product or business need improvements, what their brand perception is, and how they can manage their resources.
There are many opinion-mining tools that are used to gather reviews from people, such as voice of customer, patient voice, and voice of employee platforms. Even if a company does not have dedicated tools such as these, they can still get valuable insights by employing social media listening.
In this article, we explain the different types of sentiment analysis approaches, and we use concrete examples. This will help you identify which sentiment analysis method is the best for you. We also get to see how Repustate’s sentiment analysis API handles ambiguous answers, and what makes it the fastest, most accurate, in its field.
Table of Contents
- Types of sentiment analysis approaches
- What is document-level sentiment analysis
- What is topic-based sentiment analysis?
- What is aspect-based sentiment analysis?
- Example of sentiment analysis on restaurant reviews
- Example of sentiment analysis on healthcare data
- Which is the best way to do sentiment analysis?
- Video: Repustate’s sentiment analysis API in action
- What makes Repustate’s sentiment analysis tool the best?
What are the types of sentiment analysis approaches?
There are three types of sentiment analysis approaches that a business can employ - document-level, topic-level, and aspect-based sentiment analysis. These approaches can be applied depending on the size and complexity of the text data. Let’s explore them in detail.
What is document-level sentiment analysis?
Document-level sentiment analysis aims to classify the sentiment or emotion based on the information in a document. In basic text analytics, semantics in a document can be drawn from three areas - word representation, sentence structure and composition, and the document composition itself. It is simple as long as there is only one sentiment in the complete text. However, this approach is not very helpful if the sentence composition and word representations are complicated. In such cases, the nuances of the comment can be lost, and the results will be inaccurate.
What is topic-based sentiment analysis?
Topic-based sentiment analysis finds the sentiment related to a specific topic. This model identifies and extracts topics in the data through keywords and aggregate scoring. It also takes into account the mood reflected on the topic. A machine learning model can be trained for each of these topics and customized as per the business or industry requirement. For example, topics within healthcare can be the ER, prescription dosage, patient wait-time, etc., while in hospitality, it can be food, reservations, or service.
What is aspect-based sentiment analysis?
Aspect-based sentiment analysis (ABSA) system identifies the main aspects or features of an entity and provides an estimate of the average sentiment expressed for each aspect. For example, an entity could be a luxury watch and the aspects/features could be its battery life, design, colours, and such. In other words, aspect-based sentiment analysis is a more granular approach to analysing reviews.
Example of sentiment analysis in restaurant reviews
To better understand the different types of sentiment analysis approaches, let us take the example of restaurant reviews. Restaurant reviews can be complex, and the challenges of analyzing the language expressed in social media, mobile food apps, and hospitality websites, can be tedious. Making sense of long comments, especially those with multiple themes can be difficult when trying to score them as positive or negative. Let us examine one such review using different approaches of sentiment analysis.
Document-level sentiment analysis
Let’s begin with a simple review:
Went to Bar Chef last night and loved their drinks.
This statement can easily be analyzed and classified as positive as it is a short, composite sentence, with one obvious sentiment. In basic text analytics, most short phrases or sentences can be considered documents. If this review was longer, with many other topics and themes, document-level sentiment analysis would not be able to give the exact sentiment score. The analysis model will need to be more tailored for that.
Topic-based sentiment analysis
Let us expand the review a little bit.
Went to Bar Chef last night and loved their drinks, but the food was horrible.
In a topic-level sentiment analysis approach, this review is analyzed based on the topics mentioned (food, and drinks). “Drinks” has a positive sentiment, while there is negative sentiment for the topic “food”. Topic-based sentiment analysis isolates the sentiment for each topic and ensures that no nuance is lost. It calculates the sentiment and returns the numerical sentiment score of each topic.
Yet, even topic-level analysis can fail to capture the granularity of the database, if the reviews are longer, complicated, and more detailed. For such requirements, we need an approach that is more fine-grained, like aspect-based sentiment analysis.
Aspect-based sentiment analysis
Let’s use the same example, but increase its complexity.
Went to Bar Chef last night and loved their drinks, especially the martinis, but the food was horrible. My nacho tasted microwaved and the calamari was rubbery.
In this comment, the topic “food” has two more identified aspects, “nacho” and “calamari”. Further, the sentiment analysis model has to understand what it means if a person says that the nacho tasted “microwaved” and that the calamari was “rubbery”. Is it a good thing, or is it a bad experience? In aspect-based sentiment analysis, the machine learning model is trained to learn these contexts. Once trained, when such sets of reviews are fed into the system, the model can identify them as negative or positive, and thus assign the sentiment score to each aspect. This way, a company can know which areas of its business are good, and which need to be improved.
Example of sentiment analysis in healthcare reviews
Let us now take the example of reviews in the healthcare industry. Text analytics and sentiment analysis models analyse the data and extract and classify entities and aspects (doctors, wait times, medical staff, ER, etc.). The algorithm then assigns an aggregate score to them.
Below we examine what types of sentiment analysis approaches can be applied to reviews of the Toronto General Hospital.
Some reviews can be simple and easy to understand:
Example 1: “Wait times are ridiculous, I waited 5 hours and didn’t see anyone.”
While, others can be longer, and have multiple emotions regarding multiple topics:
Example 2: “The doctor that I saw was great and very patient with me, but I’ve been waiting here since 2:00 pm and it’s now 9:00 pm and I’m still here. Unbelievable. These wait times are outrageous
Example 3: “Toronto General’s okay. The doctors were nice but don’t dig deep enough to find the root of the problem, rather cover up the problem with a bandaid. It’s still one of the better hospitals in Toronto, but compared to the world, it’s quite lacking in the ER department.”
Since example 1 is a simple statement about a topic (wait-time) with a negative word (ridiculous), document-level sentiment analysis can easily give you the sentiment score.
However, in example 2 where multiple topics (doctor, wait-times) and aspects (great, outrageous, patient) are mentioned, a topic-level sentiment analysis approach will be able to identify the topics and match the sentiments attached to each. A document-level approach will not be enough to handle the complexity of such a review.
In example 3, we see that the review mentions negative and positive sentiments, but ultimately, in the second line, it gives a neutral outlook as well. These kinds of complex comments can be best served only by an aspect-based sentiment analysis approach.
Overall, the visualization dashboard can show a sentiment score like this:
Which is the best way to do sentiment analysis?
When it comes to sentiment analysis, there is no “best” methodology but only different approaches for various use cases. The best approach is always the one that provides the greatest degree of granular results and tangible insights that can be used to make a real difference to your business.
Our data tells us that apart from star ratings, which are not always the accurate representation of the aggregate sentiment, about 15% of hospitality reviews, for example, are complex. They demonstrate at least two or more sentiments. That is a lot of vital intelligence that requires a more sophisticated approach such as topic-driven or aspect-based.
Ultimately, aspect-based sentiment analysis is going to provide you the best results if your product or service attracts customers who tend to write long, complex, and detailed reviews. This is mostly the case in technology reviews or luxury item reviews like watches and electronic gadgets. The most important point is that you begin to apply sentiment analysis to your text data if you have not already. That is the first best step.
Video: Repustate’s sentiment analysis API in action
Analyzing reviews can be a complex task because of the complexities of analyzing the informal language users use while posting comments, especially in open-ended surveys. In this video, we show how Repustate’s sentiment analysis tool identifies topics and aspects and handles ambiguities by running each answer through a context filter. In this way, even if the answer to two questions in the survey is written the same way, the tool knows that the sentiments might differ.
For example: for the two questions, “what do you like about the restaurant?” and “what can be better about the restaurant?”, even if both answers are “better menu selection”, the tool knows that one answer is positive, while the second has a negative sentiment.
What makes Repustate’s sentiment analysis tool stand out?
Repustate’s sentiment analysis solution processes thousands of reviews per day for hundreds of clients, worldwide. It enables real-time social media sentiment analysis and even saves unforeseen PR crises. More importantly:
- Our AI-powered software provides both topic-driven and aspect-based sentiment analysis for the most accurate results in 23 languages and dialects.
- Its processing speed is 1,000 reviews per second.
- Our solution is highly customizable and scalable because we know that each business is unique, even if in the same industry.
We use AI-powered machine learning and deep learning techniques to identify and classify entities that are key in your industry so that you get the most accurate sentiment analysis scores about each aspect of your business. Additionally, our sentiment analysis visualization dashboard gives you the results in graphical representations so that you can understand your data easily and get actionable insights.