Crowdsourcing: Help build Multi-Language Sentiment Analysis

Have you seen how easy it is to integrate sentiment analysis in your Tableau dashboard – if your text is in English?

Until now the sentiment package for R only worked with English text. Today, I released version 1.0 of the sentiment package that features multi-language support. In order to perform sentiment analysis with German text, just add the parameter language="german" as shown in this example:

German sentiment analysis

The new code allows you to add any language. So far, I have translated the English lexicon files using a simple script and Google Translate. Of course, this is not a very accurate solution. So I decided to publish the translated files on Google Sheets and invite everyone to contribute with proof reading:

Please stick to this workflow:

  1. If the translated word is correct, type ok in column “Checked?”
  2. If the translated word is not correct, fix the translated work, and type ok in column “Checked?”
  3. If there is good way to translate a word, type del in column “Checked?”

Of course, feel free to append additional vocabulary at the bottom of the table. In this case, the column “English” can be left blank.

R You Ready For Advanced Analytics at #data16

Tableau Conference: "What is Advanced Analytics?"
Tableau Conference: “What is Advanced Analytics?”

The main goal of Advanced Analytics is to help organizations make smarter decisions for better business outcomes.

Only a few years ago, Advanced Analytics was based almost entirely on a complex tool chain and plenty of scripting in Gnuplot, Python and R. Today, Tableau enables us to analyze our data at the speed of thought, to connect to our data sources in seconds, to add dimensions and measures on the canvas by dragging and dropping, and to get insights faster than ever before.

However, R still comes in very handy when we want to enrich Tableau’s Visual Analytics approach with advanced features that enables us to ask questions along the entire Analytics stack:

  1. Descriptive Analytics describes what happened, characterized by traditional business intelligence (BI). E.g. visualizations and dashboards to show profit per store, per product segment, or per region.

  2. Diagnostic Analytics, which is also known as Business Analytics, looks into why something is happening, and is characterized by reports to further “slice and dice” and drill-down data. It answers the questions raised by Descriptive Analytics, such as why did sales go down in a particular region.

  3. Predictive analytics determines what might happen in future (“What might happen?”), and needs larger domain expertise and tool set (i.e. Tableau + R). E.g. regression analysis, and forecasting which product segments are likely to perform better in next quarter.

  4. Prescriptive Analytics identifies the actions required in order to influence particular outcome (“What should I do?”). E.g. portfolio optimization, and recommendation engines to answer which customer segment shall be targeted next quarter to improve profitability.

  5. Semantic Analytics examines data or content to identify the meaning (“What does it mean?”), and suggests what you are looking for and provides a richer response. E.g. sentiment analysis and Latent Semantic Indexing to understand social media streams.

Do you want to learn more about Advanced Analytics and how to leverage Tableau with R? Meet me at the Tableau Conference in Munich (5-7 July) where I deliver the session “R You Ready For Advanced Analytics”.

"Analytics is essential for any competitive strategy"
“Analytics is essential for any competitive strategy” (further reading: data science + strategy)

Digitale Banken: Die Zukunft des Privatkundengeschäfts und der Vermögensverwaltung

Interaktive Portfolio-Übersicht mit Tableau
Interaktive Zusammenstellung eines Portfolios mit automatischer Gewichtung auf Grundlage der Sharpe-Ratio

Vor gut einem Jahr habe ich mit dem Blog-Post “Digitale Banken: Welche Anforderungen bringt die Digitalisierung?” einige Ideen aufgezeigt, wie sich Banken die Digitalisierung zu Nutze machen können. Die Motivation ist meist die Steigerung des Umsatzes, Kostenersparnis und die Erschließung neuer Märkte. Die Herausforderungen sind nach wie vor schwindenden Zinserträge, härtere regulatorische Vorschriften, erhöhter Wettbewerb und anspruchsvolle Kunden.

Seither war ich an vielen weiteren Projekten im Finanzwesen beteiligt und sehe, dass besonders das Privatkundengeschäfts und die Vermögensverwaltung von der Digitalisierung profitieren. Dabei habe ich drei Kernbereiche ausgemacht, die ich nachfolgend etwas mehr in den Fokus rücken möchte.

1. Payment und Zahlungsverkehr

Vielen Menschen fällt es schwer sich die sperrige IBAN zu merken. Die Email-Adressen, die Handynummer und den Fingerabdruck haben die meisten allerdings immer parat. Neue technische Möglichkeiten treffen so auf veränderte Verbraucherbedürfnisse. Zahlungen werden immer häufiger mit dem Smartphone abgewickelt – ohne Eingabe einer IBAN. Zahlungen werden schneller – kein ganzer Tag vergeht zwischen Kontobelastung und Gutschrift, sondern nur wenige Sekunden.

Außerdem werden Zahlungen dezentral. Dazu befasst sich der Finanzsektor zunehmend mit der Blockchain-Technologie (wie hier die Deutsche Bank), mit welcher nicht nur Überweisungen sondern auch Wertpapierhandel möglich sind. Insbesondere große Institute tun sich mit der Blockchain-Technologie allerdings schwer, da die zentrale Kontrolle des Zahlungsverkehrs auch als Instrument zur Kundenbindung verstanden wird.

2. Finanzierung und Kreditvergabe

Bei der Finanzierung und Kreditvergabe stehen neue/bessere Algorithmen im Mittelpunkt. Mit diesen möchte man stets folgende Fragen beantworten: Wie lässt sich der Credit Score optimal ermitteln? Wie empfehlen wir unseren Kunden proaktiv das richtige Finanzprodukt?

Die Konstruktion von Entscheidungsbäumen, eine Form des Maschinellen Lernens, ist für solche Algorithmen eine tragende Säule. Hierbei ist es ratsam die Ergebnisse immer wieder zu kontrollieren und gegebenfalls über Parameter die Gewichtung bestimmter Variablen zu korrigieren. Sonst kann es womöglich passieren, dass einem Gutverdiener der Dispo gestrichen wird, weil sein Gehaltseingang nicht als solcher erkannt wird; oder einem Rentner ein Bausparvertrag angepriesen wird, weil sein Social-Media-Profil einen solchen Bedarf vermuten lässt.

3. Beratungsplattformen für die Vermögensanlage

Zu Zeiten der Null-Zins-Politik ist bei der Vermögensanlage zunehmend Kreativität gefragt. Diese lässt sich schwer in starren Systemen aus dem Zeitalter der Mainframes abbilden. Stattdessen lassen sich Anlagestrategien aus unterschiedlichen Blickwinkeln mit Analytics-Anwendungen, wie Tableau (“Datenanalyse für Banken“), beleuchten und sich ggf. um quantitative Funktionalität aus R anreichern.

Beispielsweise lässt sich mit Hilfe der Sharpe-Ratio interaktiv eine optimale Portfolio-Gewichtung berechnen, und die Williams-Percent-Range als Indikator für Chart-Trends nutzen. Ein solcher Self-Service-Gedanke passt zur Unternehmenskultur der Datendemokratisierung und lässt auch die Mitarbeiter aus Vertrieb und Beratung an der Digitalisierung teilhaben.

 

Alle hier gezeigten Beispiele sind echten Szenarien nachempfunden. Auch hierzu freue ich mich wieder über Feedback, Fragen und Anregungen…

4 Methoden um mit Predictive Maintenance Kosten zu senken

Predictive Maintenance Dashboard auf Tableau Mobile und IoT Realtime Feed auf Tableau Desktop
Predictive Maintenance Dashboard auf Tableau Mobile und IoT Realtime Feed auf Tableau Desktop

Instandhaltungskosten machen einen großen Teil der Fertigungskosten aus. Je nach Industrie werden die Instandhaltungskosten auf 15 bis 60 Prozent der Gesamtkosten geschätzt.

Das Ziel von Predictive Maintenance (PdM), der vorausschauenden Instandhaltung, ist es vorherzusagen wann eine Maschine ausfällt. Wird Predictive Maintenance als Instandhaltungsstrategie eingesetzt, werden Maschinen nur noch gewartet, sobald ein Ausfall vermutlich eintreten wird. Somit hilft Predictive Maintenance die Instandhaltungskosten deutlich zu senken.

Jene Vorhersagen, die häufig im Kontext mit Industrie 4.0 gesehen werden, lassen sich auf Grundlage folgender Fakten treffen:

  • Aktuelle Sensordaten: Wie verhält sich die Maschine gegenwärtig?
  • Historische Sensordaten: Wie hat sich die Maschine in der Vergangenheit verhalten?
  • Benachbarte Sensordaten: Wie haben sich andere, ähnliche Maschinen verhalten?
  • Instandhaltungsprotokoll: Wann wurde die Maschine zuletzt gewartet oder getauscht?
  • Instandhaltungsempfehlung: Welche Wartungsintervalle empfiehlt der Hersteller?

Solche Daten aus dem “Internet der Dinge” (IoT) lassen sich nun nicht ohne weiteres sinnvoll auf einem Dashboard darstellen. Ein Blick auf die bloßen Daten lässt hier kaum Schlüsse zu. So ist es für erfolgreiches Predictive Maintenance essentiell, dass statistische Methoden wie diese angewandt werden:

1. Mustererkennung: Das Erkennen von Abhängigkeiten zwischen bestimmten Ereignissen und Ausfällen von Maschinen zeigt zum Beispiel auf, dass eine Maschine ausfällt, die durch die Verarbeitung eines bestimmten Materials besonders belastet worden ist.

2. Trendmodell: Der Trend gibt den Verlauf der Zeitreihe bis zum Ausfall der Maschine wieder. Die Modellierung erfolgt mit Hilfe verschiedener Regressionsansätze und umfasst eine Trendkomponente, eine Saisonkomponente und eine Rauschkomponente.

3. Ereigniszeitanalyse: Die Analyse historischer Daten zu Ausfällen liefert ein weiteres Modell, das gegen aktuelle Messdaten gelegt werden kann, um damit die Dauer bis zum nächsten Ausfall bestimmen zu können.

4. Kritische Schwellwerte: Die Prüfung, ob bestimmte Schwellwerte überschritten worden sind. Solche Schwellwerte werden initial von Experten festgelegt, können aber später durch Maschinelles Lernen korrigiert werden.

Diese Methoden lassen sich zum Beispiel in R implementieren. Die Resultate zeigen konkrete Handlungsempfehlungen und eignen sich somit ausgezeichnet für Dashboards, die auch auf Tablets oder Smartphones gut zur Geltung kommen und fortlaufend aktualisiert werden.

Welche Daten und Methoden nutzen Sie für Ihre Instandhaltungsstrategie? Ich freue mich auf Kommentare und Anregungen.

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_english.csv.gz (source and structure) and subjectivity_english.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.