Twitter-Sentiment-Analyse

Abstract

Lange konnten nur längere Textblöcke durch die Sentiment- bzw. Stimmungsanalyse-Methode effektiv analysiert werden, da kürzere Textstücke nicht genug Informationen enthielten, um verlässliche Ergebnisse zu erzielen. Bei Twitter handelt es sich um eine weit verbreitete Social Media-Plattform, bei welcher durch kurze und häufig informelle Text-Snippets kommuniziert wird. Twitter-Posts werden immer in Echtzeit und teilweise geokodiert gepostet, sodass eine Sentiment-Analyse es leisten kann, Gefühle zu Orten in Echtzeit zuzuweisen, was ein sehr interessantes Forschungsproblem aufgreift.

Dieses Forschungsprojekt fokussiert sich auf die Beschaffung von Twitter-Streaming-Daten (mithilfe einer fest determinierten Location), um mit diesen eine Stimmungsanalyse durchzuführen. Dies hat eine hohe Relevanz, da so eine Übersicht darüber gewonnen werden kann, wie sich die Mehrheit der Leute an einem bestimmten Ort im Allgemeinen oder in Bezug auf ein gewisses Thema fühlt. Die Anwendungsmöglichkeiten der Sentiment-Analyse sind sehr breit gefächert. Das Extrahieren von Einblicken durch Social Data ist weltweit eine häufig angewandte Praxis.

Methodik

Für diese Stimmungsanalyse wurde mithilfe von Python3.5 durchgeführt. Um die Twitter-Streaming-Daten zu erhalten war es notwendig, eine Twitter-API (Programmierschnittstelle) zu erschaffen. Hier wurde das tweepy-Modul benutzt, jedoch stellt auch twython eine Alternative dar. Um die Sentiment-Analyse durchzuführen, haben wir die TextBlob-Bibliothek benutzt. Diese bietet eine einfache API als Grundlage für den nächsten Schritt des Natural Language Processings (NLP). Für diese Stimmungsanalyse wurde die Textpolarität auf -1 [Negative Stimmung] bis 1 [Positive Stimmung] festgelegt.

Das Python-Skript ist dazu da, die Streaming-Daten von spezifischen Koordinaten zu erlangen. Die Daten werden als json-Datei gespeichert. Diese enthält nicht nur den Text, sondern alle Informationen der jeweiligen Tweets. Um die Stimmungsanalyse durchzuführen, haben wir die json-Datei in eine csv-Datei umgewandelt und die erforderlichen Informationen in der Datei gefiltert. Diese Tweet-Informationen sind u. a.: der Text (notwendig für die Sentiment-Analyse), die Nutzer*innen und die Länder. Letztlich haben wir die gewünschte Datei in das csv-Format geladen um an die Stimmungen der jeweiligen Tweets zu kommen.

Ergebnisse und Interpretation

Sprachen

Beim Betrachten der Sample-Streaming-Daten fällt auf, dass nicht alle Tweets auf Deutsch verfasst wurden, obwohl die Tweets von Locations in Deutschland aus gesendet wurden. Es wurden insgesamt Tweets auf mehr als 30 Sprachen gefunden, von welchen die folgenden am repräsentativsten sind:

  • 37.96% Tweets auf Deutsch (de)
  • 29.82% Tweets auf Englisch (en)
  • 6.52% unbestimmte Tweets (und)
  • 5.13% Tweets auf Französisch (fr)
  • 3.67% Tweets auf Niederländisch, Flämisch (nl)
  • 2.74% Tweets auf Tschechisch (cs)
  • 2.54% Tweets auf Spanisch (es)

Die Mehrsprachigkeit stellt ein methodisches Problem dar, denn TextBlob funktioniert nicht mit allen Sprachen. Aufgrund der Vielfalt der gefundenen Sprachen konnte sich auch nicht einfach auf eine Sprache festgelegt werden.

Stimmungswerte

Wie bereits erwähnt reichen die TextBlob-Stimmungswerte von -1 [Negative Stimmung] bis 1 [Positive Stimmung].

  • Neutrale Tweets: 79.05%
  • Positive Tweets: 16.46%
  • Negative Tweets: 4.49%

Die meisten Tweets weisen eine neutrale Stimmung auf.

Weiterer Forschungsbedarf

Es ist wichtig festzuhalten, dass die Sentiment-Analyse keine perfekte Forschungsmethode ist, da die menschliche Sprache sehr komplex ist.

Die folgenden Einschränkungen, welche in weiteren Forschungsprojekten angegangen werden könnten, konnten gefunden werden:

Lokalisierung

In dieser Arbeit wurde eine Coordinate-Box benutzt, um die Tweets aus bestimmten Locations herauszubekommen. Dies ist keine exakte Methode, da die Koordinaten sich in dem Quadrat befinden. Um dieses Problem zu lösen könnten die Tweet-Koordinaten in eine Geo-DBMS importiert werden. So könnten darauf aufbauende räumliche Abfragen des Polygons zu einer präziseren Lokalisierung der jeweiligen Stadt führen.

Sprachen

Die gesammelten Sample-Daten zeigen, unabhängig von Land und der Landessprache, dass wir in einer global vernetzten Welt Leben, in welcher Tweets in unterschiedlichen Sprachen verfasst werden. Aus diesem Grund macht es wenig Sinn, das Stimmungsanalyse-Tool nur in einer Sprache zu verwenden. Darüber hinaus hat die Studie ergeben, dass die meisten Tweets eine neutrale Stimmung aufweisen. Dies kann jedoch nicht vollständig der Realität entsprechen, da TextBlob aufgrund des bereits genannten Fremdsprachenproblemes nicht alle Tweets verarbeiten kann. Das TextBlob-Tool vergibt in diesen Fällen den Wert 0 und verfälscht somit das Ergebnis in eine über-neutrale Richtung. Die Implementierung eines Codes, welcher die zu analysierende Sprache determiniert könnte dies lösen und stellt somit weiteren Forschungsbedarf dar.

Verbesserung städtischer Mobilität

Die Sentiment-Analyse wird derzeit noch am meisten in der Betriebswirtschaft verwendet. Es ist jedoch wichtig sich bewusst zu machen, dass die Methode auch in anderen Bereichen sinnvolle Verwendung finden kann.

Das Nutzen von Tweets von städtischen Verkehrsbetrieben oder von Tweets an städtische Verkehrsbetriebe kann einen Beitrag zur Verbesserung städtischer Mobilität leisten. So könnte man beispielsweise Tweets anhand von Keywords analysieren und auf diese Weise mehr über Unfälle, Staus oder weitere Verkehrsereignisse herausfinden, was eine effiziente Art der Verkehrsplanung, sowie ein smarteres und stärker an die individuellen Bedürfnisse angepasstes Urban Mobility Management mit sich bringen würde.

Die Stimmungsanalyse zuvor genannter Tweets kann helfen, Meinungen über die Qualität der Verkehrsdienstleistungen (Verzögerungen, Ineffizienzen, Sicherheitsbedenken, etc.) zu evaluieren und anhand dieser die Mobilitätsangebote entsprechend anzupassen. Diese Informationen können zudem von Verkehrsanbietern genutzt werden, um die Stimmungslage bezüglich ihres Mobilitätsangebotes einzuschätzen und entsprechende Änderungen vorzunehmen.

Kommentar hinterlassen