In my previous post I highlighted Tableau’s text mining capabilities, resulting in fancy visuals such as word clouds:
Today I’d like to follow up on this and show how to implement sentiment analysis in Tableau using Tableau’s R integration. Some of the many uses of social media analytics is sentiment analysis where we evaluate whether posts on a specific issue are positive, neutral, or negative (polarity), and which emotion in predominant.
What do customers like or dislike about your products? How do people perceive your brand compared to last year?
In order to answer such questions in Tableau, we need to install an R package that is capable of performing the sentiment analysis. In the following example we use an extended version of the sentiment package, which was initiated by Timothy P. Jurka.
The sentiment package offers two functions, which can be easily called from calculated fields in Tableau:
get_polarity returns “positive”, “neutral”, or “negative”:
get_emotion returns “anger”, “disgust”, “fear”, “joy”, “sadness”, “surprise”, or “NA”:
The sentiment package follows a lexicon based approach and comes with two files
emotions.csv.gz (source and structure) and
subjectivity.csv.gz (source and structure). Both files contain word lists in English and are stored in the R package library under /sentiment/data directory.
If text is incorrectly classified, you could easily fix this issue by extending these two files. If your aim is to analyze text other than English, you need to create word lists for the target language. Kindly share them in the comments!
Feel free to download the Packaged Workbook (twbx) here.