Am Ende der US-Präsidentschaftswahlen 2016 wurden mehr als 1 Millionen Tweets mit der gefälschten Nachrichtenkampagne in Verbindung gebracht, bei der die Präsidentschaftskandidatin Hillary Clinton beschuldigt wurde, in einer Pizzeria in Washington D.C. an einem Menschenhandels- und Kindersexring beteiligt gewesen zu sein.
In sozialen Online-Netzwerken werden vermehrt gefälschte Nachrichten und Gerüchte verbreitet, meist mit der Absicht, die Nutzer zu täuschen und bestimmte Meinungen zu bestärken. Falschnachrichten sind nicht neu, aber soziale Medienplattformen haben in den letzten Jahren ein exponentielles Wachstum des Phänomens ermöglicht. Daher sind Technologien zur Erkennung absichtlich verbreiteter, falscher Nachrichten gefragt.

In meiner Masterarbeit habe ich mich mit Methoden zur Lösung dieses Problems befasst mit dem Ziel, ein Machine Learning-Modell zu implementieren, das gefälschte Nachrichten von echten Nachrichten über die Art des Sprechens unterscheidet. Zu diesem Zweck habe ich Methoden der natürlichen Sprachverarbeitung (NLP) eingesetzt. Es wird nachfolgend mein Ansatz zum überwachten Lernen vorgestellt, der verschiedene Textrepräsentationen kombiniert und ein Ensemble von mehreren Klassifikationsmodellen wie SVM, künstliche neuronale Netze, XGBoost, Random Forest und AdaBoost verwendet. Meinen Ansatz und die Ergebnisse durfte ich bei der "Senacor StreamedCon" vorstellen (nachfolgend findet ihr meinen Talk als Video).

Grundlagen

Die Basis der Arbeit war ein zuvor qualifizierter Datensatz mit 300 Autoren bestehend aus 30.000 Tweets, wobei die eine Hälfte der Autoren Fake-News-Spreader darstellen und die andere Hälfte Truth-Tellers.

Text-Analyse

Der Prozess für die automatische Klassifizierung der Inhalte eines Tweets mittels Maschine Learning lässt sich grob in zwei Schritte unterteilen: Zunächst müssen die Tweets mittels natürlicher Sprachverarbeitung (NLP) in Featurevektoren transformiert werden. Im zweiten Schritt werden die einzelnen Modelle mit den Featurevektoren trainiert. Durch einen Klassifizierungsmechanismus entsteht ein trainiertes Modell.
Als Featuresets wurden die folgenden Textrepräsentationen verwendet:

  • Tf-idf (term frequency–inverse document frequency)
    Gewichtung von Ausdrücken in einem Text Bezug auf den gesamten Korpus
  • Tokenization (Average Word Length Analyses)
    Ermittlung der durchschnittlichen Wortlänge eines Textes
  • Word Embeddings
    Evaluierung semantischer Verbindungen zwischen Wörtern
  • NER (Named Entity Recognition)
    Erkennung von Entitäten auf z.B. Eigennamen und Tagging der gefundenen Entitäten
  • POS-Tagging (Part of Speech)
    Erkennung und Zuweisung der Wortarten (Nomen, Verb etc.) von Wörter in einem Text
  • Sentiment Analysis
    Bestimmung der Stimmung eines Textes in Bereiche von sehr negativ (-1) bis sehr positiv (+1)
  • Tokenization (Emotional Analyses)
    Untersuchung eines Textes im Hinblick auf die emotionale Wahrnehmung
  • Readability
    Ermittlung der Lesbarkeit eines Korpus

Training eines Modells

Für den Klassifizierungsmechanismus wurde ein Ensembleklassifikator verwendet, um aus den Featurevektoren (oder auch Trainingsobjekten) ein trainiertes Modell zu erstellt.
Ensemble-Methoden verwenden mehrere Lernalgorithmen, um eine bessere Vorhersageleistung zu erzielen, als dies mit einem der einzelnen Lernalgorithmen allein möglich wäre.

Das Ergebnis

Nach dem Training und der Auswertung der Ergebnisse hat sich gezeigt, dass die Untersuchung eines Textes (Tweets) mittels Tf-idf die wertvollste Grundlage bietet für die Klassifizierung eines Fake Tweets. Tf-idf zeigt im Durchschnitt die besten Ergebnisse bei der Klassifizierung von Fake Tweets mit einer Wahrscheinlichkeit von knapp 80%. Damit können ca. 4 von 5 Tweet automatisiert korrekt entweder der Gruppe der Truth-Tellers oder der Fake-News-Spreader zugewiesen werden. Die anderen Vorgehen liegen im Vergleich im Durchschnitt zwischen 50%-70% Wahrscheinlichkeit, wobei 50% einer komplett randomisierten Zuordnung der Tweets zu einer Gruppe entspricht.
Falls euch das Thema interessiert, dann schaut doch in meinen Talk, da findet ihr noch weitere Informationen und Details.

Wenn ihr Fragen zum Themenkomplex Machine Learning habt, wendet euch gern an Dr. Werner Steck oder Dr. Anatoly Danilevich als Ansprechpartner für unseren Expertenkreis "Big Data and Advanced Analytics" für weitere Informationen und einen Austausch: Werner.Steck@senacor.com oder Anatoly.Danilevich@senacor.com.