Sentiment analysis is the process of mining subjective information from text data sources and categorizing it based on polarity. Classifying opinions as positive or negative is useful to gauge public sentiment towards a certain topic or to understand how customers feel about a product or service.
On a daily basis, people use online platforms to express their ideas, experiences, and feelings about all kinds of topics. Social media users alone create 448,800 tweets, 3.3 million Facebook posts, and 65,972 Instagram posts every 60 seconds, which gives you an idea of the colossal amount of raw digital data out there (and how it keeps growing).
Sentiment analysis makes it possible to analyze this kind of text data on a large scale, to find out the nuance of opinions. Is this product review positive or negative? Does this tweet show happiness or anger?
In this guide, we’ll help you understand the concept of sentiment analysis and its main purpose. Also, we’ll see a few examples of how companies are using it to make sense of data. Finally, we’ll provide an online tool so you can try your hand at sentiment analysis.
Let’s get started!
What is Sentiment Analysis: A Definition
Sentiment analysis (a.k.a Opinion Mining) is the automated process of identifying and extracting the subjective information in a text.
It combines Natural Language Processing (NLP), statistics, and machine learning techniques to build systems capable of detecting the judgment, emotions or attitudes expressed towards a subject (a topic, entity, individual or event).
In a nutshell, sentiment analysis tries to answer the question: “How does the user (opinion holder) feel about X subject?”. Here’s a product review from a happy user to help you understand this:
People express opinions all the time. Social media posts, product reviews, and customer surveys (like NPS responses, for example) are some of the most popular ways for customers to discuss products or services. Sentiment analysis reveals the customer’s opinions and emotions, providing valuable insights for businesses.
One of the most common tasks of sentiment analysis is called ‘polarity’ and consists of classifying opinions as positive, negative, or neutral. For example:
‘I love the design of the new website’ →
‘Your customer service is the worst!’ →
The human language is complex and sentiment analysis may be not always accurate to detect things like irony, sarcasm, or polysemic uses of words. In this case, contextual understanding can help algorithms reach more accuracy. Here are some examples of complex structures along with their desired tags:
- ‘The UX is so bad that it’s kinda funny’ →
- ‘I want to try out the new app so bad!’ →
This ironic tweet would be tagged as
Sentiment analysis entails a high level of subjectivity. Depending on their background, personal experiences, beliefs, or thoughts, two persons can judge the same piece of text in a different way.
However, by creating a customized sentiment analysis model, it is possible to improve consistency and reduce errors, by applying the same criteria to all the data, plus provide contextual information to the algorithm to improve its accuracy.
Types of Sentiment Analysis
Some sentiment analysis systems focus on polarity, while others try to figure out feelings, intentions, etc. In this section, we’ll go through some of the most relevant types of sentiment analysis:
Standard sentiment analysis
This is the most common type of sentiment analysis, which classifies the emotional tone of an expression as Positive, Negative, or Neutral. For example,
- ‘This is the most user-friendly platform I’ve ever seen!’ →
- ‘It is way too pricey for what it offers!’ →
- ‘It is an ok product, nothing great but it does the job’ →
Fine-grained sentiment analysis
In a similar way to the classic 5-star ratings you often see in reviews, this type of sentiment analysis delivers a more granular sentiment polarity using these categories:
- Very positive
- Very negative
Let’s take a look at a few examples of product reviews and how they would be tagged:
‘Superb experience! The support team is amazing, they immediately responded to all my requests’ →
‘The product is good, but the learning curve is quite high, you can be really overwhelmed by all the different features that need to be set up...it can be very confusing!’ →
This type of sentiment analysis is focused on identifying specific emotions, like happiness, anger, frustration, sadness, etc. To do so, they can use either a lexicon, (a list of words associated with specific emotions) or machine learning systems.
The above tweet, for example, would be tagged as
Aspect-based sentiment analysis
Besides classifying opinions based on polarity, aspect-based sentiment analysis focuses on the different aspects being discussed. So, instead of simply classifying a text as Positive, Negative, or Neutral, aspect-based sentiment analysis identifies different topics within a piece of text and assigns the corresponding sentiment for each one.
In this example, you can see the results of aspect-based sentiment analysis of hotel reviews on Booking.com:
As you can see, aspects like
Staff receive mostly positive comments, while the categories
Comfort & Facilities,
Internet are perceived in a more negative light.
This type of analysis recognizes an impending action behind a text, something that the person wants to do. Intent detection is particularly useful if you are performing real-time sentiment analysis because you can detect opportunities to help customers (queries), suggestions of things to improve, or complaints to be directed to the right team. This tweet, for example, would be classified as
Interested in Demo:
What can Sentiment Analysis be used for?
Sentiment analysis has many interesting applications in a variety of fields, that range from business to political science. Analyzing the opinions and feelings within all sorts of text data can improve your business in many ways, whether you work in marketing, customer support, or product.
Below, we’ll see some of the business areas where you can use sentiment analysis:
Social Media Monitoring
Online reputation is one of the most delicate assets for businesses. Sentiment analysis is an excellent tool to help you keep track of what’s being said in social media channels about your product or service.
These are some of the tasks you can achieve with sentiment analysis:
- Understand the pain points of your product (the previous tweet is a good example), as well as gain insights on what your customers value most about your product.
- Detect product issues and take action before they escalate, avoiding a potential PR crisis.
- Identify angry or dissatisfied customers and prioritize solving their issues.
- Route social media issues, queries, or suggestions to the appropriate team.
Here’s an example of how we analyzed the sentiment in customer support interactions via Twitter. We downloaded tweets mentioning these four big telcos (Verizon, T-Mobile, AT&T, and Sprint) and performed sentiment analysis using MonkeyLearn to find out what percentage of tweets were positive, negative or neutral.
T-Mobile stood out with the highest percentage of positive Twitter mentions (20%), followed by Sprint (15%):
When we analyzed the main keywords that appeared in T-Mobile positive tweets, we found out that most of them were the names of members of their customer support team. This showed a strong level of engagement derived from a highly personalized approach towards users.
On top of that , we found out that over 30% of the tweets mentioning each of these companies were neutral. Rather than expressing a sentiment, they consisted of questions, answers or comments based on facts:
Finally, we analyzed negative tweets, which represented a small proportion of all the mentions. There was an exception, though: Verizon received more negative than positive mentions, and it turns out that it’s the most negatively perceived telco of the four.
When analyzing the main keywords present in negative mentions, we found out that most comments referred to bad customer service, high prices, and bad reception.
Besides social media, you can also track the online conversation around your brand in the news, blogs, forums, and other public waterholes on the internet. This can be particularly useful for a specific event: if your company is launching a new product or feature, experienced outages, etc.
For example, this is a potential data set you could analyze, showing recent news about a new app launched by Spotify:
When it comes to brand monitoring, you can use sentiment analysis to:
- Track the reputation of your brand and its evolution over time.
- Analyze the reactions to a specific event; for example, launching a new product (the example above).
- Drive specific online mentions to team members in charge of handling those topics.
- Identify negative mentions and issues that need to be solved urgently.
Review sites can be a great source of data to understand how people are talking about your brand. Here, see how we analyzed sentiment of Slack reviews on Capterra.
Almost 80% of the opinion units about Slack were positive, as you can see in this graph:
Aspect-based sentiment analysis allowed us to get a closer look at the different categories that people were discussing, and whether they were referring to these categories in a positive, negative, or neutral way:
According to this,
Ease of use,
Integrations were the aspects with the most positive mentions; while
Notifications received most of the complaints.
Online reviews, customer surveys, and customer support interactions allow users to express their experiences and opinions about a product. Analyzing this customer feedback can provide valuable insights to improve your business and will enable you to measure customer satisfaction.
Positive and negative opinions often coexist in the same text and may refer to different aspects of a product. That’s why it’s necessary to identify the different “opinion units” within a text and analyze each of them separately.
These are some of the things you can achieve with sentiment analysis on customer feedback:
- Analyze open responses in NPS surveys to get a picture of how your customers see your product or service. Compare the results of different surveys to get insights on how specific aspects of your business evolved (or not) over time: “How did customers feel about integrations in the last survey? Do they have a more positive or negative opinion now?”.
- Analyze customer support interactions and detect satisfied and dissatisfied customers.
- Target those customers who are particularly disappointed about your product and try to improve their experience.
Delivering excellent customer service should be the number-one priority for any successful company. After all, 89% of customers decide to go to the competition after a poor customer experience and most of them report bad experiences online:
Sentiment analysis can help you improve your customer support experience by allowing you to:
- Detect frustrated customers and prioritize their tickets.
- Use aspect-based sentiment analysis to route tickets to the appropriate teams in charge of handling them. For example, technical issues from urgent queries routed to the dev team.
- Get insights on what are the most usual issues of your customer support service.
Sentiment analysis can be very effective as a marketing research tool. Among other things, you can use it to analyze a market for a new product, assess public opinion regarding a specific topic, or spot emerging trends in real-time.
For example, you could analyze Twitter user’s reactions towards a specific event, like the recent Salesforce acquisition of data visualization tool Tableau:
These are some of the tasks you can accomplish with sentiment analysis:
- Analyze your product reviews and compare them to those from your competition.
- Analyze market reports or social media mentions about certain topics to get insights about global trends.
- Compare sentiment across different markets.
Finally, here’s an example of how we used MonkeyLearn to analyze millions of TripAdvisor reviews and get insights on how people feel about hotels in different cities of the world.
How can you do Sentiment Analysis with an online tool?
Now that you’ve learned what sentiment analysis is and how you can use it to understand the opinions that underlie a text, you may be wondering: how do I get started? Well, even though sentiment analysis may seem like a complex concept, taking your first steps can be easier than you think.
MonkeyLearn is an online platform that allows users without coding skills or machine learning knowledge to perform sentiment analysis in a simple way with a high level of accuracy. If you want to start right away, you can use one of the pre-trained models available on the platform.
Want to give it a try? Here’s a standard sentiment analysis classifier. Paste a text, click on ‘classify text’ and you will get a prediction (the model will automatically classify it as Positive, Negative, or Neutral):
If you want to analyze a batch of data with a pre-trained sentiment analysis model, you can:
- Upload a batch file: import data you want to analyze from a CSV or an Excel file
- Try the integrations: you can easily connect MonkeyLearn with Zapier, Google Sheets, Rapidminer or Zendesk to analyze data.
- Use the MonkeyLearn API: if you are a coder, you can use a model programmatically to work within your software.
However, if you require a higher level of accuracy, then the best option for you is to create a custom sentiment analysis model. A customized model can be trained to classify expressions that are unique to your field and follow specific criteria. Here are some instructions that will help you get started training your first sentiment model with MonkeyLearn.
Sentiment analysis allows you to detect the subjective aspects behind a text and identify them as positive, negative, or neutral. By training machines to understand human language, it is now possible to accomplish complex tasks in a very short time and with a high level of accuracy.
This opens the door to exciting opportunities in many fields. For businesses, it can help improve different tasks related to social media monitoring, customer feedback, marketing, and customer service. Not only does it make companies more efficient but it also allows them to make better decisions based on fresh data and insights about customers’ opinions and feelings.
Last but not least, sentiment analysis can be used by people with no coding skills or machine learning knowledge. With MonkeyLearn, you can either use one of the public sentiment analysis models available or create your own personalized model based on your specific needs. If you want to see how it works, contact us and request a personalized demo from one of our experts!