By 2020, 1.7 MB of data will be created per second by every person on Earth…how will companies keep up?
Businesses seem to be climbing a never-ending mountain of data to get to the top. And we all know that it’s quite frustrating. Luckily, sentiment analysis can lend a helping hand to get you where you want to be. It’s the process of automatically understanding an opinion and gaining insights in an easy and cost-effective way.
Usually, companies manually tag support tickets, reviews or social media mentions to analyze the sentiment of a text, for example, whether it’s positive or negative. However, it’s a process that takes up too much time and too many resources. Imagine if you could analyze text seamlessly without having to think about it – perhaps a neat piece of tech plugging away in the background while your team focuses on human-dependent tasks. Thanks to sentiment analysis with machine learning, this is now possible
Some may think that it’s a burdensome process to set up, which requires extensive machine learning knowledge or many hours of hard work, but that’s not the case at all! This technique can be applied in just a few hours and your business can thrive on the results without delay.
In this post, we’ll share a step-by-step guide on how to do sentiment analysis with an online tool covering the following topics:
- What is Sentiment Analysis?
- Why is it important?
- Online Demos
- The Best Online Tools
- How to do Sentiment Analysis with an Online Tool
- Create a Custom Sentiment Analysis Model
- Use Cases & Applications
What is Sentiment Analysis?
Sentiment Analysis, aka Opinion Mining, is a Natural Language Processing technique that automatically performs two fundamental tasks:
- Identifying an opinion about a given subject within a piece of text.
- Detecting the nuance of an opinion, whether it’s positive, negative or neutral.
In a nutshell, it tells you how people feel about different topics.
Of course, a human can read text, identify opinions and detect the nuances, but at what cost? Manually tagging opinions can be quite arduous, given that the amount of text found online is constantly growing at high speed. And because of that, gaining insights might seem like an impossible feat.
It’s no surprise, then, that sentiment analysis is considered a breakthrough for businesses that are trying to improve their marketing strategies, provide better customer service or better understand customer feedback.
Why is Sentiment Analysis important?
80 percent of the world’s data is unstructured — that means it doesn’t have a predefined format, which is the case with video or text data, and that’s why we find ourselves in quite a predicament when trying to make sense of this type of data.
This unstructured data, which is like a sky-high pile of disorganized documents, is found in everyday communication, such as emails, online reviews, social media posts, and support tickets. When we want to get insights from those texts, without investing too much time and money on manual processing, sentiment analysis with machine learning can help in the following ways:
- It saves time: it’s 100x faster than having humans manually sort through data.
- It saves money: it’s 50x cheaper than getting your team to sort through data.
- It provides accurate analysis with consistent criteria.
- It sorts through data in real-time
Still not convinced? Let’s take a quick look at the main advantages of sentiment analysis:
- Scalability: forget about manually assessing product reviews or survey responses as positive, negative or neutral. Leave it to a sentiment analysis model to process data automatically and save your team valuable hours.
- Real-time analysis: when you need to know what customers are saying in real-time, manually clicking and tagging to create a report won’t cut the mustard. With sentiment analysis, you can get insights in real-time so that your team can focus on deciding the best course of action.
- Consistent criteria: humans don’t always agree when weighing the positivity or negativity of an opinion. But, even more surprisingly, one person deciding on their own won’t always be consistent when tagging opinions. Why? People are affected by weariness and pressure to meet deadlines, distractions, past experiences, and so on. Machines are not. Since a sentiment analysis model won’t get tired or feel pressured to speed things up, consistent insights can be obtained in real-time.
Online Demos for Sentiment Analysis
If you want to try a sentiment analysis model, there are a few ways in which you can do it. Which one to choose? That will vary depending on your needs and the texts with which you feed the model.
Keep in mind that if a sentiment prediction is off, it might be that the model hasn’t been trained to associate certain expressions to certain sentiments. But, with a bit of training, it can learn! So try other words, sentences or expressions to see how the predictions go.
By creating your own custom model for sentiment analysis, you can teach it to classify specific expressions that are common in your field. This way, you’ll gain more accurate results using your own criteria.
Generic Sentiment Analysis:
Not sure which sentiment analysis classifier you should try out first? This model is a good starting point because it’s trained with different types of texts:
Product Sentiment Analysis:
This model has been trained to analyze and classify product reviews as positive or negative:
Hotel Reviews Sentiment Analysis
Hotel review sites were scraped to train this hotel sentiment analysis classifier, which can predict if a hotel review is positive or negative:
The Best Sentiment Analysis Online Tools
Yes, you can opt for an open source tool for sentiment analysis, such as TensorFlow, PyTorch, NLTK or Scikit-learn, but they take longer to implement. Maybe you’re thinking about creating your own sentiment analysis system from the ground up? You’ll need to invest in a data science team to develop the necessary infrastructure to train the models… not to mention all the other arduous tasks and the time it will take.
On the other hand, you could opt for Software as a Service (SaaS) for text analysis:
- It doesn’t need setup: While an open-source library for Python or Java requires you to follow quite a few steps for installing it and getting it on the road, SaaS are ready to use, no installation needed.
- It’s easy to integrate: Most SaaS come with an easy way to integrate different tools like Google Sheets, Zapier or Zendesk. Generally, you just need to follow the wizard and the cloud source will feed the SaaS with data. The results of the sentiment analysis will be stored in your cloud. The best part? No programming background needed.
- It offers pre-trained models: Most sentiment analysis online tools come with pre-trained models that you can try out to see if the SaaS fits the bill. If you go for an open-source tool, you’ll generally need to train your own model from scratch.
You know the pros of online sentiment analysis tools… but which one should you use? These are the best online tools for the job:
- Google Cloud NLP
- IBM Watson
- Amazon Comprehend
Also, here’s a bonus tip: with most of these sentiment analysis tools, you can create an account and try them out for free before you decide on one!
How to do Sentiment Analysis with an Online Tool
Online tools can deliver amazing insights about your business, but how do you use them? In this section, you’ll learn how to run a sentiment analysis with one of MonkeyLearn’s pre-trained models. Just to give you a quick background, MonkeyLearn is an easy-to-use and easy-to-apply AI tool that can help you make sense of your text data in no time.
Now, we’ll go through different ways to feed data to this MonkeyLearn sentiment analysis model. Take a look!
Type directly into the user interface
Just type a text you want to analyze with a sentiment analysis model on MonkeyLearn (like this one) and click on ‘Classify Text’ to get the model’s prediction:
Upload a batch file
If you have an Excel or CSV file with data you want to run a sentiment analysis on, select the ‘Batch’ option to the left and upload it:
Click on ‘continue’ and, in just a few seconds, the model will automatically analyze the data and download a new file with the predictions to your PC.
Try the integrations
Is the data you want to analyze stored on Zapier, Google Sheets, Rapidminer or Zendesk? Then you’re in luck because MonkeyLearn has these integrations readily available so that you can analyze your data in as few steps as possible:
Use MonkeyLearn’s API
If you know how to code, then you have the option of using this sentiment analysis model with programming languages Python, Ruby, PHP, Node.js or Java. Just select the API tab to the left and work your magic:
Create a Custom Sentiment Analysis Model
As we already mentioned, it may be a good idea to build and train your custom model for sentiment analysis, especially if you want it to be able to analyze text or expressions specific to your domain with the highest level of accuracy.
For example, ‘It’s a challenging app’ can have a negative connotation when it refers to an app that’s supposed to very intuitive and user-friendly, such as an online banking app. However, it can be positive when referring to a code-learning app.
By building a custom model, you can set your own data and criteria to help your machine learn and make the right predictions.
Create a Sentiment Analysis Model
2. Select Sentiment Analysis:
3. Upload your Data
It’s time to upload the data that you will use to train your sentiment analysis model. You can upload an Excel or CSV file, or even import data from third-party apps such as Zendesk, Promoter.io or Front:
4. Train your Model
Now, it’s time to train your model to classify texts as positive, neutral or negative according to your criteria:
At this stage, patience is a virtue. Your model is learning, and that may take a few minutes, but it’ll be worth it.
Over time, you’ll start seeing that your model begins to make predictions. If it doesn’t hit the mark right away, remember that practice makes perfect. Your model may need further tagging before it hits the mark.
5. Test your Sentiment Analysis Classifier
Once you have finished creating your classifier, go to the ‘Run’ tab and write a piece of text to see how it performs:
Don’t get discouraged if your model doesn’t make the right predictions yet; it may need some more training! Go back to the ‘Build’ tab and do some more manual tagging. Then test it again and see how it has improved with a bit of extra training!
6. Start Analyzing!
Once you are happy with the results of your model’s predictions, let it do the analysis for you! Go to the ‘Run’ tab and upload a batch of data in a CSV or Excel file. Your sentiment model will run an analysis and automatically download a file with the predictions to your computer.
Use Cases & Applications
There are dozens of ways businesses can use sentiment analysis to automate business processes, get insights from their data or save valuable time from manual data processing. In this section, we’ll focus on customer feedback and customer support applications, but it can also be used for brand monitoring, social media marketing, business intelligence, to name just a few. Take a look!
Analyze Customer Surveys
You’ve probably sent out Net Promoter Score (NPS) surveys — or some other form of customer satisfaction questionnaire — which have shed light on some aspects of your product. However, when surveys have open-ended questions and you get a bunch of text responses, it’s often difficult to get insights from them.
By applying sentiment analysis to your customer feedback, you can get a clear picture of how your brand is viewed. If you do some topic classification as well, you can get an even deeper understanding of your brand, and learn what exactly your customers like and dislike about it.
Analyze Online Reviews
Of course, you don’t just collect customer feedback from surveys but also from social media and review sites. And these reviews are crucial since 90 percent of consumers read online customer reviews before buying a product or service.
You can scrape the reviews, run an aspect-based sentiment analysis (sentiment analysis divided into topics) and discover how people feel about different features of your product, like Pricing and Ease of use.
Then, you can use the data visualization tool of your choice and end up with something like this:
Analyze and Compare your Brand to the Competition
Maybe your business is trying to gain an advantage over the competition, in which case, an internal analysis won’t be enough. A good business intelligence approach would be to analyze product reviews about your brand, and compare them to those of your competitors. Consequently, you’ll be able to see where you need to invest more to improve your business.
There’s no doubt that good customer support is important since acquiring a new customer is five times more expensive than keeping an existing one. But what makes a client want to stay? Besides the quality of your product or service, the customer support experience! By analyzing different aspects of customer support, you can reduce churn and save big bucks.
Analyze all Incoming Customer Support Queries
How happy are your customers? One way to keep tabs on customer satisfaction is by analyzing support tickets on a daily basis. Are clients upset about bugs? Are they happy with the UX? By running incoming tickets through an aspect-based sentiment analysis model, you can understand what you’re is doing right and wrong, or detect last-minute problems that are affecting the quality of the service.
You have an incoming ticket about a bug query and another one about a change of credit card for billing. If you had to prioritize, you would probably tackle the bug ticket first… but how do you weigh tickets when you have dozens of them?
Detecting the urgency or discontent of a customer is a good starting point, and that’s how sentiment analysis can set you free of this conundrum. Negative tickets automatically appear first on the list, since those clients are higher- risk churners. Now, your customer reps will have more time to focus on actually solving the problems that matter the most.
Find the Right Person for the Job
More often than not, support reps have to read through every incoming ticket and tag it so that the right agent or team deals with it, a process known as ticket triaging. This takes up valuable time from support reps and is clearly inefficient. How do we get rid of this unnecessary step?
By running an aspect-based sentiment analysis that will tag by urgency (more negative, more urgent) and by topic (for instance, Sales, UX or Billing Issues). So, if a support ticket reads ‘I can’t create a new item on your app’, it will automatically go to the technical team, while ‘I want to upgrade to a premium plan’ will probably go to the sales department.
Text data has always been a cause of distress for businesses because it makes them feel powerless against a never-ending avalanche of data. Information is abundant, but resources are not, making it hard to analyze all this valuable data. Thankfully, that’s not the case any longer because, with machine learning, businesses can sort through the information ‘hands-free’.
Plus, you don’t need to be a programmer or have experience with machine learning to integrate sentiment analysis into your business! Nowadays, there are many online tools that are easy to use.
Whether you’re hoping to know more about customer experience, or speed up some other business process, sentiment analysis can help. Training a model can be super easy (just follow the steps described above) and provide results within seconds.
Instead of ducking and yelling ‘avalanche!’, you can get started with sentiment analysis by signing up for free to MonkeyLearn and creating your own custom model! By the way, if you need some guidance, feel free to request a demo. We’ll be glad to help you get started with sentiment analysis!
Sign up to our Newsletter
Receive awesome Machine Learning posts and tutorials!