Feature Update: Aspect-Based Sentiment Analysis is Now Live!
You asked for it and we’re delighted to bring it to you – our Aspect-Based Sentiment Analysis endpoint is now live within our Text Analysis API. In this post we will show you the benefits of our latest feature and run through some real-world examples from a variety of industries.
New to Sentiment Analysis? No problem. Let’s quickly get you up to speed;
What is Sentiment Analysis?
Sentiment Analysis is used to detect positive or negative polarity in text. Also known as opinion mining, sentiment analysis is a feature of text analysis and natural language processing (NLP) research that is increasingly growing in popularity as a multitude of use-cases emerge. Here’s a few examples of questions that sentiment analysis can help answer in various industries;
- Brands – are people speaking positively or negatively when they mention my brand on social media?
- Hospitality – what percentage of online reviews for my hotel/restaurant are positive/negative?
- Finance – are there negative trends developing around my investments, partners or clients?
- Politics – which candidate is receiving more positive media coverage in the past week?
We could go on and on with an endless list of examples but we’re sure you get the gist of it. Sentiment Analysis can help you understand the split in opinion from almost any body of text, website or document – an ideal way to uncover the true voice of the customer.
Aspect-Based Sentiment Analysis
While sentiment analysis provides fantastic insights and has a wide range of real-world applications, the overall sentiment of a piece of text won’t always pinpoint the root cause of an author’s opinion. When analyzing larger pieces of text an overall polarity score sometimes doesn’t give a true reflection of whether a piece of text is positive, negative or neutral.
Certain types of documents, such as customer feedback or reviews, may contain fine-grained sentiment about different aspects (e.g. a product or service) that are mentioned in the document. For instance, a review about a hotel may contain opinionated sentences about its staff, beds and location. This information can be highly valuable for understanding customers’ opinion about a particular service or product.
This is where Aspect-Based Sentiment Analysis (ABSA) comes in. With ABSA, you can dive deeper and analyze the sentiment in a piece of text toward industry-specific aspects.
The whole idea behind Aspect-Based Sentiment Analysis is to provide a way for our users to extract specific aspects from a piece of text and determine the sentiment towards each aspect individually. Our customers use it to analyze reviews, facebook comments, tweets and customer feedback forms to determine not just the sentiment of the overall text but what, in particular, the author likes or dislikes from that text.
Supported domains (industries)
To begin with we are focusing on four popular domains, for which we’ve built specific sentiment models;
Watch this space, however, as we will be increasing this list going forward.
Let’s take a look at a real-life example to show you the level of insight that can be achieved through ABSA;
Example 1: Restaurant review
As a restaurant owner, let’s say I have received 700 online reviews that result in an overall review score of 8/10. I’m quite happy with this but clearly there is room for improvement. But where exactly? By running the customer reviews through our ABSA endpoint, I can immediately start to see what my customers like, and more importantly dislike. As an example, we analyzed a 5-star restaurant review and got the following results;
Review: We visited here during our recent trip to Sydney and overall we were very impressed. We decided to make a reservation online, which was quick and easy with instant confirmation. It was nice to be able to view the table layout and select our own online. The location is spectacular with stunning views of the harbour and Opera House. It truly was amazing. Despite this, however, the restaurant was only about 25% full and so the atmosphere was a bit flat. Perhaps this was to our benefit as we received top class service from our waiter, Brandon, who was not only friendly and funny but extremely knowledgeable when it came to food and wine pairings. Speaking of wine, the list was extensive – we loved it – and it took us what seemed like an hour to eventually decide on a local Shiraz. Now on to the most important aspect, the food. Our seafood starters were delicious, as were out fillet steak mains. The one and only real disappointment was the dessert which was served with no real imagination and looked like it had been purchased yesterday at the local grocery store. All in all, my favourite Sydney restaurant so far. So many positives and really good value too. Highly recommend!
As you can see from the results above, the ABSA endpoint automatically pulls industry-specific aspects (such as food, drinks, reservations and value), performs sentiment analysis on each aspect and gives sample sentences to indicate examples of where the the score was derived.
Although this review was extremely positive and received a 5-star rating, we can still uncover certain aspects that may be in need of improvement. Our customer was clearly not impressed with their dessert and also found the general atmosphere of the restaurant to be a bit flat.
Analyze the other 699 online reviews and we will start to see clear, actionable trends emerging. Trends that would be invaluable to to the likes of restaurant owners and will help them pin-point problem areas in their service offering and give them a competitive advantage by uncovering them before they become a serious issue or before a bad reputation develops.
Example 2: Hotel Review
We found a not-so-great hotel review online and our ABSA endpoint produced the following results;
Review: 4 star, REALLY? This was the worst hotel I have ever stayed in. I wouldn’t even give it one star. Where do I start.. the staff were so rude and dismissive from the very beginning. They had no interest in actually serving us whatsoever! The bellhop, who seemed very upset when we approached him and disturbed his YouTube viewing, slammed our room door and said something angrily in Spanish when we refused to tip him (he dropped my shoes into a water fountain en route to our room!!). The view from our room was nothing like it was described to us. It was basically a building site with some overgrown grass. Bizarre location kind of in the middle of nowhere. We also requested a double room, but surprise surprise they gave us two singles. To be fair, this issue was rectified immediately and the double beds was actually very comfortable. Fool me twice, shame on me.. we decided to eat in the hotel restaurant and it was more dreadful service from the staff. The food was laughable. My 4 year old daughter could do better. For the price we paid for this hotel, I was disgusted with how badly it was ran. I just hope that my review, and those of others, will prevent people making the same mistake I did in booking this place. Oh, and they had no Wifi, unbelievable!
Again, you can see the industry-specific aspects being analyzed. In this case, the ABSA endpoints looked for hotel-related aspects such as beds, comfort, food/drinks, staff and room amenities.
Unlike our well-reviewed restaurant, our hotel has a lot more work to do than simply improving their dessert offerings! Despite the overwhelmingly negative sentiment of this review, one positive emerges – the quality of the beds. This really highlights the benefit of aspect-based sentiment analysis – it gives us a more granular analysis in comparison to the overall sentiment style of positive/neutral/negative sentiment analysis.
Example 3: Social Posts
While the ABSA endpoint works really well when analyzing it can also be effective in analyzing social posts. We all know that one of the most common places today for someone to connect with a brand is through social media. Brands and organizations know this and spend a lot of time and effort making sense of social interactions and conversations in order to understand the voice of their customers.
Take for example an airline’s Twitter feed. Diving into social posts to determine the overall sentiment of the social interactions airlines have with customers is useful, but the ability to look at these at a more granular level to understand what in particular customers like or dislike about their overall service is invaluable.
Take the following tweet as an example;
So in that short snippet of text, we managed to extract 3 different aspects that were mentioned and were able to determine that the tweeter was less than happy with the cabin crew, was disappointed about not having his luggage but was somewhat pleased with his plane arriving on time.
Naturally not every online review or social post will touch on every single aspect available. Some will be short and concise while others will be long and detailed. Thankfully, our Text Analysis API enables you to analyze text data at scale so you can see the bigger picture in terms of which aspects of your offering people are talking about and what in particular they like or dislike.
Making calls to the ABSA end point is really simple. If you’re an existing user head over to our documentation to learn about the different domains and aspects we cover and to grab some sample code. If you’re new to AYLIEN Text Analysis API, grab your free API key and start calling the API.