Sentiment Analyse

Sentiment Analyse ist, neben Topic Modelling und Named Entity Recognition, einer der drei Pfeiler der Auswertungen von Deep Data Analytics. Wie so oft, ist der Begriff Sentiment Analyse nicht allgemeingültig definiert. Bereits Ende der 1970er Jahre beschäftigten sich die Linguistik und Sozialwissenschaft mit der Analyse von Tonalität in Texten und prägten den Begriff Sentiment Analyse. Seit dem hat sich nicht nur in den Geisteswissenschaften viel getan, nicht zuletzt durch die fortschreitende Entwicklung von neuronalen Netzen sind die Möglichkeiten und Einsatzzwecke von Sentiment Analysen stark gestiegen.

Was ist Sentiment Analyse?

Sentiment Analyse ist ein Teilgebiet des Natural Language Processing, also dem algorithmischen verarbeiten und auswerten von natürlicher Sprache in Form von Text oder Sprachdaten. In der englischen Sprache wird der Begriff Opinion Mining meist synonym für Sentiment Analyse verwandt. Systeme zur Sentiment Analyse versuchen die Meinung des Senders automatisiert zu erfassen. Dabei werden meist drei Aspekte ausgewertet.

  • Polarität: Drückt der Sprecher eine positive oder negative Meinung aus?
  • Subjekt: Worüber wird gesprochen?
  • Meinungsbildner: Wer drückt eine Meinung aus?

Mit dem rasanten Wachstum von freizugänglichen Daten im Internet hat Sentiment Analyse eine ganz neue Bedeutung für Unternehmen und Organisationen bekommen.
Bis 2025 soll das globale Datenvolumen auf 180 Zettabytes ansteigen. Es wird erwartet das 80% dieser Daten unstrukturiert sind. Mit Hilfe von Sentiment Analysen können diese Daten in strukturierte Auswertungen überführt werden, die Auskunft über Meinungen zu Produkten, Firmen, Services und Marken geben. Diese jetzt strukturierten Daten geben wertvolle Einblicke für Marketing, Produktentwicklung und Customer Relationship Management.

Meinungen

Spricht man von Sentiment Analysen, spricht man über kurz oder lang auch von Meinungen. Es gibt verschiedene Arten von Meinungen, die bei der Auswertung von Sprache berücksichtigt werden müssen. Für algorithmische Systeme stellen die unterschiedlichen Arten von Meinungen Klassifizierungsprobleme dar. Finden unterschiedliche Typen von Meinungen keine Berücksichtigung besteht die Gefahr, dass die Sentiment Analyse falsche Schlüsse nahelegt.

  • Subjektivität und Polararität
  • Direkte und vergleichende Meinungen
  • Explizite und implizite Meinungen

Subjektivität und Polarität

Ist ein Ausdruck subjektiv oder Objektiv? Der Ausdruck „Die neue Z-Klasse hat einen Listenpreis von 150.000€“ ist eine objektive Beschreibung eines bestimmten Attributs (Listenpreis) einer bestimmten Entität (neue Z-Klasse).
Polarität beschreibt die Klassifizierung einer Meinung als positiv, negativ oder neutral. Der Beispielsatz
„Der Verbrauch der neuen Z-Klasse ist viel zu hoch“
ist eine subjektive, negative, Meinung (viel zu hoch) über das Attribut (Verbrauch) einer Entität (Z-Klasse).

Direkte und vergleichende Meinungen

Meinungen können direkt auf eine Entität bezogen sein oder aber über einen Vergleich zu einer oder mehrerer anderer Entitäten ausgedrückt werden.
Der oben stehende Beispielsatz Der Verbrauch der neuen Z-Klasse ist viel zu hoch ist eine direkte Meinung, der Satz Die neue Z-Klasse verbraucht viel mehr als der neue 17er ist eine komparative, vergleichende Meinung.

Explizite und implizite Meinungen

Explizite Meinungen werden direkt ausgedrückt, Die Beschleunigung des neuen 17ers ist unglaublich. Implizite Meinungen gehören zu den am schwierigsten zu modellierenden Ausdrücken, bieten aber meist den größten Erkenntnisgewinn: Die Z-Klasse verbraucht innerorts 23 Liter impliziert einen zu hohen Verbrauch der Z-Klasse, was negativ gesehen werden kann, ohne sprachlich eindeutig negative Vokabeln zu nutzen.

Granularität der Sentiment Analyse

Sentiment Analysen können auf Ausdrücke mit unterschiedlichem Umfang angewendet werden.

  • Dokumente
  • Sätze
  • Teilsätze

Der Umfang der zu untersuchenden Texte wird Corpus genannt. Dies sagt allerdings noch nichts über die Auflösung der Sentiment Analyse, d.h. ihre Granularität aus. Sentiment Analysen können sich auf ganze Texte beziehen, einzelne Sätze oder auch nur Teilsätze als Gegenstand der Untersuchung haben. Je nach Anwendungsgebiet und Datenquelle muss die Granularität der Sentiment Analyse sinnvoll angepasst werden.

Unterschiedliche Arten von Sentiment Analyse

Wie Eingangs erwähnt gibt es erste Sentiment Analysen bereits seit den 1970er Jahren. Im Laufe der Zeit haben sich verschiedene Typen von Sentiment Analysen entwickelt, die meist mit dem identischen Begriff der Sentiment Analyse beschrieben werden, worunter die meisten allerdings nur die Klassifizierung in positiv, neutral und negativ verstehen.

Moderne Systeme zur Untersuchung von Polarität setzen auf eine kleinteiligere Klassifizierung der Ausdrücke in

  • Sehr positiv
  • Positiv
  • Neutral
  • Negativ
  • Sehr negativ

Emotionserkennung

Reine Polaritäten geben nur begrenzt Aufschluss über die tiefere Emotion, die einem Ausdruck zu Grunde liegt. Moderne Systeme zur Sentiment Analyse klassifizieren Ausdrücke daher nicht nur nach Polarität, sondern in verschiedene Emotionen.
Deep Data Analytics folgt hier z.B. den Theorien von US-Psychologe Paul Eckmann, dass jeder Ausdruck in eine Kombination von acht Basis-Emotionen zerlegt werden kann (Wut, Vorfreude, Ekel, Angst, Spaß, Traurigkeit, Überraschung, Vertrauen). Umgangssprachlichkeit, Synonyme, Metaphern und Negierungen stellen hohe Ansprüche an den Reifegrad der Systeme zur Emotionserkennung.

Aspektbasierte Sentiment Analyse

Das Wissen das ein Text über eine Entität negativ ist hilft oft nicht weiter. Als Produkt Manager oder Brand Inhaber möchte man wissen warum jemand eine negative Meinung geäußert hat. Hier hilft aspektbasierte Sentiment Analyse weiter, um der Meinung auf den Grund zu gehen.
Besonders in Nutzer-Reviews, Foren Beiträgen oder Social Media Postings werden eine Vielzahl von Aspekten mit unterschiedlicher Polarität oder ausgedrückten Emotionen in einem Text besprochen. Ein Überblickswert, der ein Sentiment für den gesamten Text ausdrückt, greift hier zu kurz und bietet keine handlungsorientierten Ansätze.

Beispiel Review zu einem Auto:

Ich liebe meine neue Z-Klasse. Die Assistenzsysteme sind super, vor allem der Parkassisten ist bei einem Auto dieser Größe Gold wert. Leider ist die Bedienung des Admiral Entertainment-Systems nicht ganz so gut, die Spracherkennung braucht meist mehrere Versuche bis das richtige Kommando erkannt wird. Die Bedienung über das Touchpad ist gleichzeitig unintuitiv, da alle Gesten, die man vom Smartphone kennt, invertiert sind. Richtig erschroken habe ich mich beim ersten Mal tanken, der Verbrauch liegt fast doppelt so hoch wie angegeben. Dafür bekommt man in der neuen Z Klasse aber viel Raum geboten. Als Familienvater bringe ich regelmäßig meine Kinder zum Sport, im Kofferraum ist mehr als genug Platz für die Ausrüstung der Kids, die auf der Rückbank selbst mehr als genug Platz haben.

Die grundlegende Polarität des Review kann als positiv betrachtet werden. Eine Sentiment Analyse auf Dokument-Ebene würde auch genau dies zurückliefern. Produkt Managern der Z-Klasse würden hier allerdings wichtige Aspekte verloren gehen.
Aspektbasierte Sentiment Analysen erkennen kleinteilig einzelne Aspekte einer Entität, z.B. die Sprachsteuerung oder den Spritverbrauch und errechnen für diese Teilaspekte des grundlegend positiven Reviews dezidierte (in diesem Fall negative) Sentimente.

Warum Sentiment Analyse?

80% aller Daten sind unstrukturiert und entziehen sich klassischen Analyseansätzen. Die Nutzung dieser Daten erzeugt für Organisationen einen immensen Wettbewerbsvorteil, nur: Das Volumen der Daten übersteigt die Möglichkeiten der menschlichen Analyse. Saif et al. haben in einer Untersuchung festgestellt, dass Menschen nur zu 60-65% übereinstimmen, wenn es um die Klassifizierung von Sentiment Polaritäten in Text geht. Zu groß ist der Einfluss von persönlicher Erfahrung, Werten und Erwartungshaltung, als das unterschiedliche Menschen zu einer einhelligen Klassifizierung kommen können.
Das große Volumen und die Geschwindigkeit, mit der neue Daten entstehen stellt menschliche Analysten vor weitere Herausforderungen. Schnelligkeit über große Datenmengen hinweg ist ein unschlagbares Argument für automatisierte Systeme zur Sentiment Analyse.

Einsatzzwecke für Sentiment Analysen

Die Einsatzzwecke in Organisationen für Sentiment Analysen sind vielfältig.

Social Media Sentiment Analysen

Soziale Netzwerke bieten eine Unmenge an Daten und Meinungen zu allen erdenklichen Aspekten des Lebens, von Politik über TV bis hin zu Marken und Produkten. Auswertungen von Zählmetriken erlauben keinen Einblick in die Qualität einer Diskussion zu einer Marke oder einem Produkt. Sentiment Analysen in Social Media ermöglichen

  • die Beobachtung von Entwicklungen von Diskussionen auf einem Social Media Profil über die Zeit
  • die Auswertung von Sentimenten zu einer Marke Social Network übergreifend
  • Warnsysteme für ausufernde negative Diskussionen („Shitstorm“)
  • Weiterleitung von Fragen an den richtigen Ansprechpartner
  • Analyse von Wettbewerbern und Produkten

CRM Sentiment Analysen

Customer Relationship Management und Kundenzentriertheit ist für Organisationen überlebenswichtig. Wo Social Listening ungefilterte Echtzeitmeinungen bietet, greifen Sentiment Analysen in CRM auf zusätzliche nicht-öffentliche Datenquellen zurück, seien es Emails, Calls oder Umfragen.
Numerische Antworten in Umfragen lassen sich leicht auswerten, Freitextantworten oder Mails von Kunden und Nutzern stellen ganz andere Anforderungen, wollen diese handlungsorientiert ausgewertet werden und Organisationen das „Warum“ erfahren.
Sentiment Analysen in CRM ermöglichen

  • Beobachtung von Kundenfeedback zu Produkten, Produktattributen oder Marken über die Zeit.
  • Segmentierung von Kunden, die kurz vor der Kündigung stehen
  • (demographische) Segmentierung von Kunden, die besonders positiv / negativ von einem Produkt(-Attribut) oder einer Marke sprechen

Produktmanagement Sentiment Analysen

Kunden- und Nutzerfeedback ist für die Entwicklung erfolgreicher Produkte maßgeblich. Rapid Prototping und agile Entwicklung trägt dem Rechnung. Automatisierte Sentiment Analysen im Produktmanagement ermöglichen

  • die schnelle Analyse von großen Mengen an Daten zu Produkten
  • Filterung von Feedback nach Aspekten eines Produkts und den zugehörigen Sentiments
  • Zeitnahe Rückmeldung an Entwicklungsteams, welche Teilaspekte bei welchen Nutzern gut / schlecht ankommen und warum

Techniken zur Sentiment Analyse

Über die Zeit hat sich eine Vielzahl von Techniken und Technologien rund um Sentiment Analysen entwickelt. Besonders die Fortschritte im Bereich des maschinellen Lernens und neuronaler Netze hat in jüngster Vergangenheit zu einer rasanten Verbesserung in Natural Language Processing im allgemeinen und Sentiment Analysen im Besonderen geführt.

Regelbasierte Sentiment Analyse

Regelbasierte Ansätze sind die Klassiker der Sentiment Analyse und historisch mit die ältesten. Hierbei wird ein Set von verschiedenen Regeln auf Texte angewendet, um die Polarität bzw. Sentimente eines Textes zu definieren.
Ein einfaches Beispiel setzt eine Liste oder ein Lexikon mit Begriffen und der zugehörigen Polarität voraus. Nachdem der zu untersuchende Text aufbereitet wurde (Stemming, Lemmatisation, Stopwords, etc.) werden im Text die positiv annotierten Wörter und die negativ annotierten Wörter gezählt. Überwiegt die Anzahl der positiven Wörter, wird der ganze Text als positiv klassifiziert.
Regelbasierte Systeme sind im Sprachverständnis meist sehr rudimentär und stoßen mit Umgangssprache, Umschreibungen, Synonymen und Metaphern schnell an Ihre Grenzen.

Machine Learning

Im Gegensatz zu regelbasierten Systemen werden dem Machine Learning Algorithmus keine Regeln vorgegeben, sondern vom System selbst erlernt.
Hierzu benötigt man ein Trainingsset von Daten, wo dem Input (Satz, Absatz, Text) ein Tag (negativ, positiv, neutral) zugewiesen ist. Damit der Algorithmus arbeiten kann, wird der Text in eine nummerische Represäntation überführt. Diese Repräsentation ist meist ein Vektor der Informationen zu dem Text hält, in einem Bag of Words Ansatz z.B. die Frequenz eines Terms. In letzter Zeit erfreuen sich zunehmend word embeddings steigender Beliebtheit, wo in den Vektoren zu Wörtern semantische Informationen gespeichert werden können.
Im Bereich des Maschinellen Lernens wird Sentiment Analyse meist als Klassifizierungsproblem behandelt, entsprechend können Algorithmen wie Naive Bayes, Regressionen oder Support Vector Machines genutzt werden.

Deep Learning

Deep Learning bezeichnet eine Klasse von tiefen neuronalen Netzen. Zwischen Eingabe und Ausgabeseite des neuronalen Netzes befindet sich eine hohe Anzahl von Schichten von Neuronen (hidden layers), die für die Tiefe im Namen verantwortlich sind.
Neuronale Netze und besonders Deep Learning versucht das menschliche Lernen aus Erfahrung im Computer nachzubilden. Aufgaben werden hierbei als eine Hierarchie von Konzepten verstanden, wobei komplexe Konzepte aus einfacheren Konzepten abgeleitet werden können. Vereinfacht dargestellt lernen die ersten Schichten von Neuronen im neuronalen Netzwerk einfache Konzepte, spätere Schichten darauf aufbauend komplexere Konzepte und die tiefsten schichten die komplexesten Konzepte.
Diese Abfolge ermöglicht es aus Symbolsystemen wie Sprache oder Bildern Sinn zu extrahieren, ohne dass das System vorher mit allem Wissen um ein System explizit programmiert werden muss. Während die Daten durch das System von Schichten laufen, werden die Merkmale der Daten zunehmend abstrakter und sind in den Ausgangsdaten nicht selbst zu beobachten. Das System entscheidet selbstständig welche Merkmale und Gewichtungen sinnvoll zur Erklärung der Zusammenhänge in den Daten herangezogen werden können.