How to implement Sentiment Analysis in Tableau using R?

Interactive sentiment analysis with Tableau 9.2
Interactive sentiment analysis with Tableau 9.2

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 requires the tm and Rstem packages, so make sure that they are installed properly. Execute these commands in your R console to install sentiment from GitHub:

The sentiment package offers two functions, which can be easily called from calculated fields in Tableau:

Screenshot 2016-01-31 15.25.24 crop

The function get_polarity returns “positive”, “neutral”, or “negative”:

The function 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.

How to perform Text Mining at the Speed of Thought directly in Tableau?

Interactive real-time text mining with Tableau 9.2
Interactive real-time text mining with Tableau 9.2

When I was doing text mining, I was often tempted to reach out for a scripting language like R, Python, or Ruby – and then I feed the results into Tableau. Tableau served as a communications tool to represent the insights in a pleasant way.

Wouldn’t it be handy to perform text mining and further analysis at the speed of thought directly in Tableau?

Tableau has some relatively basic text processing functions that can be used for calculated fields. This is, however, not enough to perform text mining such as sentiment analysis, where it is required to split up text in tokens. Also Tableau’s beloved R integration will not help in this case.

As a workaround, I decided to use Postgres’ built-in string functions for such text mining tasks, which perform much faster than most scripting languages. For the following word count example, I applied the function regexp_split_to_table that takes a piece of text (such as a blog post), splits it by a pattern, and returns the tokens as rows:

I joined this code snippet as a Custom SQL Query to my Tableau data source, which is connected to the database that is powering my blog:

Screenshot 2016-01-14 15.34.46

And here we go, an interactive word count visualization:

 

This example could be easily enhanced with data from Google Analytics, or altered to analyse user comments, survey results, or social media feeds. Do you have some more fancy ideas for real-time text mining with Tableau? Leave me a comment!

[Update 19 Jan 2016]: How to identify Twitter hashtags? Do I need another RegEx?

Another regular expression via a Custom SQL Query is not required for identifying words within tweets as hashtags. A simple calculated field in Tableau will do the job:

Looking for an example? Feel free to check out the Tweets featuring #tableau Dashboard on Tableau Public and download the Packaged Workbook (twbx):

Tweets featuring #tableau Dashboard

Any more feedback, ideas, or questions?

How to load data to Hadoop with Alteryx and visualize with Tableau via Impala?

This YouTube tutorial shows you a handy way to load your Excel data to Cloudera Hadoop with Alteryx, and how to see and understand your data even faster with Tableau connected to Impala.

The same tool chain to load and access data can be used with Hive (eg. on Hortonworks) or Spark SQL (eg. on MapR). A overview on common data process technologies can be found in the Big Data jungle guide.

Generation Y: Was erwarten Digital Natives von der Arbeitswelt?

Seattle: Space Needle
Innovation kann nicht diktiert werden, sondern muss erwünscht sein

Die Generation Y, zwischen 1977 und 1998 geboren, gilt als sehr gut ausgebildet. Sie sind als Digital Natives in der digitalen Welt aufgewachsen und rasche Veränderung gewohnt. Sie gelten als kreativ und technikaffin. Wären dies nicht die idealen Kandidaten, um die Digitalisierung bei Banken voranzutreiben, um Datenschätze mittels Data Science zu erschließen und um Fachwissen, Geschäftsverständnis und Kreativität zu vereinen?

Als potentieller Arbeitgeber stellt sich darüber hinaus noch eine viel wesentlichere Frage: Wie komme ich an die High Potentials dieser Generation und wie kann ich sie halten? Tatsächlich besteht für etablierte Unternehmen sogar akuter Handlungsbedarf, um weiterhin als Arbeitgeber attraktiv zu bleiben. Allein mit höheren Gehältern und Prestige klappt das nicht. Es ist vielmehr die intrinsische Motivation und die Sinnfrage, die hier zum Zuge kommen.

Traditionelle Unternehmenskulturen sind eine Hürde für die Generation Y und der Digitalen Transformation gleichermaßen. Heute verändern sich die Märkte so rasant, dass Unternehmen nur erfolgreich sein können, wenn sie zügig antizipieren und reagieren. Jedoch setzen die meisten Unternehmen mehr auf Risikominimierung als auf Entscheidungsfreiheit und Fortschritt: Informationen werden zurückgehalten oder gefiltert, Strukturen und Prozesse sind verkrustet und aufgebläht, tatsächliche Entscheidungen werden nur von wenigen getroffen und nur zögerlich kommuniziert.

Dies steht den Digital Natives im Weg. Die Generation Y braucht eine Arbeitsatmosphäre, die zu ihr passt. Dies muss in die Kultur der Unternehmen übergehen, in die Arbeitsweise und Entscheidungsphilosophie. Bürokratie muss auf ein Minimum reduziert werden, um schnelles Handeln zu ermöglichen. Innovation kann nicht diktiert werden, sondern muss erwünscht sein. Ideen können durch jeden, überall und zu jeder Zeit entstehen – man muss ihnen nur den Freiraum geben.

5 Vorteile von Data Science

Deutschherrnbrücke mit Skyline von Frankfurt am Main
Nicht nur Banken handeln ihre Daten als Gold des 21. Jahrhunderts

Keine Frage, die Digitalisierung prägt unseren Alltag und stellt auch an Banken immer neue Anforderungen. Daten werden als das neue Gold gehandelt. Und genau darin liegt die große Chance der Banken: Finanzinstitute hatten schon immer enorme Mengen an Daten, oft aus vielen verschiedenen Quellen. Aber wie wird das volle Potenzial dieser Daten genutzt und wie werden Erkenntnisse aus diesen gewonnen? Hier kommt Data Science ins Spiel.

Wie gewinnen Sie Erkenntnisse aus Ihren Daten?

Data Science verwendet Methoden aus der Mathematik, Statistik und Informationstechnologie. Data Scientists verfügen darüber hinaus über ausgeprägte Kommunikationsfähigkeiten auf sämtlichen Ebenen eines Unternehmens und bereiten Ergebnisse für das Management der einzelnen Fachabteilungen genauso verständlich auf wie für den CEO. Banken können dazu neben Kontoinformationen auch Kundentransaktionen, Kundenkommunikation, Kanalnutzung, Kundenverhalten und Social-Media-Aktivitäten. Vieles davon wird idealerweise nahezu in Echtzeit verarbeitet und ausgewertet.

Der Daten-Leverage-Effekt:

Da der Bankensektor weiterhin mit knappen Margen und und schwindendem Gewinn zu kämpfen hat, ist es für Finanzinstitute äußerst wichtig einen Hebel anzulegen, um Kosten zu reduzieren, Kunden zu binden und neue Einnahmequellen zu erschließen. Einen solchen Daten-Leverage-Effekt erzielen Sie mit ihren Daten – sofern Sie auf Data Science und damit einhergehend auf eine erweiterte Analyse setzen.

Betrachten Sie diese fünf Vorteile:

  1. Bessere Erkenntnisse: Gewinnen Sie eine neue Sicht auf Ihre treuesten und profitabelsten Kunden und verstehen Sie deren Bedürfnisse bereits vor dem Kundengespräch. Datenanalyse kann helfen, den Überblick zu behalten und Vorschläge für entsprechende Kommunikationskanäle zu liefern.

  2. Kundenbindung: Sorgen Sie für zufriedenere Kunden und finden Wege treue Kunden zu belohnen. Zudem lassen sich Kunden identifizieren, die ggf. eine Kündigung erwägen. Führen Sie dazu die Metriken “Loyalität” und “Churn” ein, um hierfür ein Messinstrument zu haben.

  3. Kostengünstiges Marketing: Entwickeln Sie effektives Marketing und Kampagnen, die an die richtige Person zur richtigen Zeit ausgerichtet sind. Dabei hilft Ihnen eine Cluster-Analyse, um Kundensegmente zu identifizieren.

  4. Minimieren von Risiken: Beschleunigen und verbessern Sie Ihr Risiko- und Fraud-Management durch Mustererkennung und Maschinenlernen.

  5. Handeln Sie: Behalten Sie Ihr Dashboard mit den wesentlichen Kennzahlen im Auge und ergreifen Maßnahmen, deren Auswirkung Sie zeitnah beobachten können. Nutzen Sie die Daten und Vorhersagen als Kernelement für Ihre Storyboards mit denen Sie das Top-Management überzeugen.

Nutzen Sie bereits die richtigen Werkzeugen zur Datenanalyse und Datenvisualisierung in Ihrem Unternehmen? Falls nicht, wäre es nun an der Zeit über den Einsatz von Data Science nachzudenken.

Beitrag zuerst veröffentlicht am 19.06.2015 im Capgemini IT-Trends-Blog.