Objective of this Experiment

The primary objective of this experiment is to use unsupervised learning methods and Deep Learning algorithms to extract aspects and sentiment for each identified aspect. Here, we have analysed and reviewed various embedding based algorithms to extract aspects from sentences.

Further, we will explore multiple approaches to fine-tune and visualise seed words for each category/aspect.

Business Use Cases and Applications

Aspect-based sentiment analysis is a very versatile text analysis technique that can be used across all industries and internal departments to automate business processes, gain powerful and more accurate insights, and make data-driven decisions. Some of them include:

  • Fine-Grained Product Feedback Analysis: There are huge amounts of feedback available from NPS and other surveys, on social media, online reviews, and much more. All this textual customer feedback is key to discovering and solving customer problems. Here’s how aspect-based sentiment analysis can be used to make sense of all this customer feedback:

Understand specific aspects that customers like and dislike about your brand.
Get valuable, granular-level insights from customer feedback.
Analyse service and product reviews to discover the successes and failures of your brand, and compare them to your competitor’s.
Track how customer sentiment changes toward specific features and attributes of a service or product.

  • Automating Customer Support Tasks: Customers don’t like waiting for a solution to their problems, which means customer support teams need to respond quickly and effectively. If not, chances are customers will look elsewhere. That’s why businesses need high-quality machine learning software like aspect-based sentiment analysis to:

Automate tagging of all incoming customer support queries.
Quickly find out why customers may be unhappy in real time.
Send queries and complaints to team members that are best equipped to respond.
Gain insights into how your customer support team handles customers.


We are using SemEval-2014 Task 4 dataset for restaurants domain to accomplish this task. The data, along with all downstream tasks are explained in this paper

The restaurants training data, consisting of 3041 English sentences, which included annotations for coarse aspect categories and overall sentence polarities. They have added annotations for aspect terms occurring in the sentences, aspect term polarities and aspect category polarities.

The Dataset can be found here

Environment Setup

  • Python; for Documentation, Exploratory Data Analysis and Pre-processing using reticulate package and Python regular expressions.
  • For Training – AWS Deep Learning AMI (instance type: t2.xlarge); considering high CPU required to load and fine-tune pre-trained embedding models, we have used higher RAM instance.§
  • For inference – AWS Deep Learning AMI (instance type: t2.large); loading the trained model & using it for finding aspects and sentiment