Sentiment analysis in more than 1,000 web tools using Zapier and MonkeyLearn

Sentiment analysis in more than 1,000 web tools using Zapier and MonkeyLearn

Getting your work done involves using different tools and apps. In fact, businesses today use 16 apps on average, up 33% from last year. Say that you work in customer support, then, most probably your tech stack includes tools for email, support tickets, team communication, NPS surveys, project management, and more.

When you have such a diverse set of apps, it can be a struggle to sort through the data; there’s just too much information to process manually. This is why more and more companies are using sentiment analysis in combination with Zapier to automate workflows and get insights from their data. This combo makes it super easy and straightforward to analyze data at scale, no matter what apps you use, with zero lines of code.

With this in mind, we’ve created the following step-by-step guide to show how you can use Zapier and MonkeyLearn to do sentiment analysis in more than 1,000 web tools. Let’s get started!

Creating a Zap for Sentiment Analysis

All you will need to perform sentiment analysis in your favorite web tools is create a zap, choose your Trigger (the app with the data you want to analyze) and set your Action to use MonkeyLearn to do the sentiment analysis.

As an example, let’s take a look on how to create a zap for doing sentiment analysis of tweets using specific mentions, filter the predictions by confidence (so we only use the most accurate predictions), and save the results to a spreadsheet in Google Sheets.

1. Set the Initial Trigger

The first step when creating a zap is to set the trigger which tells Zapier when to run a zap. In other words, you have to choose the app you are going to import your data from. Zapier provides a large number of choices you could use to import data from, such as Office 365, Google Sheets, Gmail, Slack, Twitter, Typeform, Evernote, Airtable, Salesforce, Promoter.io, and many others.

Go ahead and choose Twitter as your Trigger App:

Choosing the Trigger

Once you have chosen the app, it’s time to select which the trigger or event is that activates and runs your zap. You’ll have a wide range of options so it’s important to go through each trigger description to understand how it’s activated.

Let’s select Search Mention, which will make your zap to trigger when any user creates a new tweet that contains a specific search term (like a word, phrase, mention, or hashtag):

Selecting the Trigger

The next step will be to set up the Twitter Mention and specify a search term that activates the Zap.

Here, you can use keywords like “AI” or “sentiment analysis” or “Google”, but you can also search for tweets using hashtags, mentions, or anything you see fit:

Setting up the Twitter mention for our zap

Once you have finished editing the options, you will be able to pull in samples and test this step.

2. Connect to MonkeyLearn and Classify Your Data

Now that your zap has a trigger and it is able to automatically pull data (in this case, tweets), it’s time to set up an Action step. This is where you’ll ask your zap to perform sentiment analysis on your data.

Go ahead and add a second step to your zap and choose MonkeyLearn as the action app. You can choose to classify text or extract text. Since we are interested in sentiment analysis, let’s choose Classify Text:

Selecting the MonkeyLearn action

After connecting your MonkeyLearn account with Zapier, you’ll need to set up the analysis you want to do with MonkeyLearn.

First, you’ll need to choose the model that you want to use. You can choose a pre-trained model for sentiment analysis (like this model) or you can create your own custom model to meet your own sentiment criteria.

Then, you’ll need to select the text you want to analyze with that sentiment analysis model. Go ahead and choose the text from the tweet from Step 1 of your zap:

Setting up the sentiment analysis by MonkeyLearn

3. Create a Filter by Confidence

Next, you might want to create a filter so that the Zap continues running when the sentiment analysis prediction is above a certain confidence level.

So, add a third step for your zap and choose Filter by Zapier as the app:

Choosing the Filter app

You’ll need to select the condition your data should meet to continue to run the zap.

Choose to only continue if the first tag confidence of the Classify Text (second step of our zap) is greater than 0.80. This will make our zap to only continue running when the sentiment analysis prediction has a high confidence in the result:

Setting up the filter

4. Create a New Row in a Google Sheet

Last but not least, you will have to save your data somewhere so you can see the results, create visualizations, and get insights from the data. One of the easiest options for doing this is sending the tweet and the sentiment analysis result to a spreadsheet in Google Sheets.

So, create a fourth step on your zap and choose Google Sheets from the list of apps:

Selecting Google Sheets as our last app for our zap

Then, select Create Spreadsheet Row as the action for this step. This will create a new row in a specific spreadsheet so you can save the results:

Selecting the Google sheets action

Now, you’ll need to set up how you want to create a new row in this step by choosing the spreadsheet and worksheet you want to use.

While doing this, add column headers to your spreadsheet so Zapier can recognize where to save the data. For simplification purposes, let’s just create 3 headers: one column for the text of the tweet, a second one for the sentiment tag, and a third one for the confidence score.

Finally, select the data you want to save for each column:

Telling our Zap how to create a new row in Google Sheet

And that’s it! Just click Finish, turn on your zap and you’ll see how the spreadsheet starts to populate with tweets that meet your criteria and the results of the sentiment analysis!

Sentiment analysis of incoming tweets right into our spreadsheet

Once you have the tweets and the sentiment analysis on a spreadsheet, you can do all kinds of interesting visualizations. For example, you can create a line chart to see the evolution over time:

Evolution of the sentiment over time

Other things you might want to try…

Sentiment Analysis in Surveys

Teams often use surveys to give customers a voice and collect feedback. Say that you are a PM working on a brand new feature, surveys are the most scalable way to get quick feedback and do market research.

But sometimes making sense of the open-ended questions can be tough and time-consuming. Imagine going through hundreds or even thousands of replies to understand if respondents are saying positive or negative things?

Sentiment Analysis in NPS Feedback

Another way to get feedback from customers is NPS (Net Promoter Score). NPS is a customer satisfaction metric related to the question How likely are you to recommend our company to a friend or colleague?. Respondents answer using a 0-10 scale and it’s used for measuring customers’ overall perception of a brand.

Part of the NPS magic is in the follow-up question Can you provide a reason why you gave us that rating? This question provides critical insights on the customer experience, but going through this open-ended feedback can take a lot of time.

You can save time by instantly sorting through feedback by combining MonkeyLearn and your favorite NPS tool (like Promoter.io, SatisMeter or Retently) to do aspect-based sentiment analysis and automatically structure the open-ended feedback:

Sentiment Analysis from NPS feedback from Promoter.io, SatisMeter or Retently.

You can use these results to create different visualizations in order to better understand your feedback and detect what people like and dislike about your product or service:

Visualization of the aspect-based sentiment analysis of NPS feedback

Some recommendations for leveraging sentiment analysis

Use the confidence score in the predictions

Sentiment analysis is a very complicated NLP task and it has been a trending research topic for a while, probably due to its complexity. It’s a hard task not only for computers but for humans too. People only agree around 60-65% of the times when judging the sentiment in a text.

So, once your texts have been analyzed with sentiment analysis, check the confidence score of the results. This score reflects how sure the sentiment analysis model is about the prediction. Depending on the data you submit, there will be a confidence threshold below which you will be more likely to get the sentiment wrong, so you might want to manually check or filter out the predictions that fall below that confidence threshold in order to avoid mistakes.

Consider using custom models

Pre-trained models are great for getting started right away with sentiment analysis. These models are trained with a variety of types of texts from different domains and are usually great at top-level analysis. But, if your data contains texts which do not belong to the domains used for training these models or if your texts look very different from the ones used for training them, you are likely to get some inaccurate predictions.

So, if you care about getting the most accurate results possible, consider training a custom model with your own data. Custom models take into account your own unique data and criteria and can be very accurate with proper training. This walkthrough will show you how custom classifiers work and how to build one from scratch using MonkeyLearn.

Final Words

By leveraging sentiment analysis in your favorite apps, you can automate the boring and tedious parts of sorting through customer feedback, product reviews, NPS comments, social media, and other text data.

All in all, Zapier makes it super easy to connect the apps you use everyday. And MonkeyLearn makes text analysis accessible to everyone, straightforward, and easy. Why don’t you give it a try an create a zap for sentiment analysis with your own data?