Hintergrund Kommentare.vis.one

Mehr Informationen zu Daten & Verfahren

Auf dieser Seite, dem dritten Teil, werden weitergehende Informationen aufgelistet und offene Fragen beantwortet. Bei weiteren Fragen bitte ein E-Mail an hi@jfilter.de schreiben.

Im ersten Teil des Online-Projekts gibt eine generelle Einführung zum Machine Learning und im zweiten Teil geht um Änderung von Sprache über die Zeit.

Wie genau werden mithilfe von Word Embeddings Kommentare klassifiziert?

Word Embeddings sind dazu da, Wörter in Zahlen zu überführen. Das ist notwendig, damit “die Zahlen” in ein Modell überführt werden und trainiert werden können. Das Modell besteht aus Parameter, die angepasst werden können. In einer Trainingsphase werden dem Modell Kommentare präsentiert und das Modell muss raten. Ist es Hasskommentar (mit Beleidigung) oder nicht? Wenn das Modell richtig liegt, passiert nichts. Wenn es falsch liegt, dann werden automatisiert die Parameter angepasst.

In der Folge hat man ein Modell, das man gezielt einsetzen kann. In der Theorie soll es dann in der Lage sein, auch bei neuen und bislang unbekannten Daten zwischen Beleidigungen und nicht-Beleidigungen unterscheiden zu können.

Der Kommentar links unten (rot) wird in das Modell gefüttert. Wenn das Modell den Kommentar so wie Menschen bewertet, passiert nichts. Mach das Modell einen Fehler, wird es angepasst.

Was sind Word Embeddings?

Word Embedding stehen für Verfahren, bei denen Wörtern ein Vektor zugewiesen wird. Ein Vektor ist eine feste Anzahl (z. B. 300 oder 500) von Werten zwischen -1 und 1. In diesem Vektorraum sind ähnliche Wörter enger zusammen. Mit Word Embeddings werden aus Wörter Zahlen. Ähnliche Wörter haben idealerweise auch ähnliche Vektoren.

Wie genau wurden die Word Embeddings erstellt?

Es gibt unterschiedliche Verfahren wie Word Embeddings erstellt werden, doch das Grundprinzip ist das Gleiche. Basierend auf einer großen Menge an Text wird automatisch analysiert, welche Wörtern mit welchen anderen Wörtern zusammen vorkommen, sogenannte Kollokation. Die Süddeutsche Zeitung erklärt Word Embeddings in einem aktuellen Artikel ausführlich.

Aber im Gegensatz zu dem Ansatz der Süddeutsche Zeitung wurden für diese Analyse ein leicht anderes Verfahren verwendet (PPMI/SVD statt Word2Vec). Für Interessierte gibt ein wissenschaftliches Paper Hintergrundinformationen.

Wie wird die Ähnlichkeit zwischen Wörtern errechnet?

Da die Wörter aus Vektoren (eine Reihe von Zahlen (z. B. 500)) bestehen, dient der Winkel zwischen zwei Vektoren als Maß der Ähnlichkeit. Zum Beispiel mithilfe der Kosinus-Ähnlichkeit wird dies errechnet.

Wie kann ein Word Embedding auf einer Ebene dargestellt werden?

Um die Begriffe auf einer Ebene zubringen, brauch man Vektoren die aus zwei Dimensionen bestehen (für die x-Ache und y-Achse). Dazu benutzen wird das Verfahren der Dimensionsreduktion. Dieses “komprimiert” die Daten so, dass möglichst wenige Informationen verloren werden. Es wird Hauptkomponentenanalyse (Principal Component Analyse (PCA)) verwendet.

Damit man sinnvolle Ergebnisse erhält, kann man nur auf einen Ausschnitt der Daten machen. Alle (z. B. 100.000) Wörter können sowieso nicht auf einmal dargestellt werden. Zudem funktioniert die Kompression so besser, auf desto weniger Wörtern gearbeitet wird. Daher werden z. B. zu einem gegebenen Begriff nur z. B. 10 Wörter dargestellt.

Woher kommen die Daten?

Die Kommentare stammen aus der Kommentarspalte von Zeit Online und wurden zwischen 2010 bis Sommer 2019 erstellt. Insgesamt gibt es über 13 Millionen Kommentare bestehend aus rund 45 Millionen Sätze. Die Sätze verteilen sich folgendermaßen über die Zeit:

2010-2011: ~3 Millionen Sätze

2012-2013: ~4.5 Millionen Sätze

2014-2015: ~8 Millionen Sätze

2016-2017: ~14 Millionen Sätze

2018-2019: ~15 Millionen Sätze

Zeit Online ist eine der wenigen Zeitungen, die noch Kommentare unter ihren Artikeln zulassen.

Wie wurde der Text der Kommentare bearbeitet?

Zunächst wurden Wörter ohne Bedeutung, sogenannte “Stop Words”, wie z. B. Artikel (der, die das) entfernt. Zudem wurden alle Wörter auf ihren Wortstamm zurückgeführt (“lemmatized”). Also z. B. das Plural-S entfernt bei Verben auf den Infinitiv ersetzt. Hier kommt es durch die automatisierte Verarbeitung manchmal zu Fehlern. Zudem wurden alle Wörter kleingeschrieben und Ziffern durch 0 ersetzt. Da im Deutschen Wörter in unterschiedliche Formen vorkommen (z. B. Konjugation), wurden somit die Anzahl an unterschiedlichen Wörter reduziert, um bessere Ergebnisse auf kleinen Textkorpora zu erzielen.

Kann ich die Word Embeddings haben?

Ja, sie stehen zum Download bereit. Es gibt ein Embedding für alle Kommentare. Und 5 Für die zwei-jährigen Zeitepochen. Sie stehen unter CC-0-Lizenz, können also ohne Namensnennung verwendet werden.

👉 https://data.jfilter.de/nlp/kommentare/

Die Word Embeddings wurden mit der eigens entwickelten Bibliothek hyperhyper entwickelt.

Folgende Parameter wurden für das Embedding mit allen Kommentaren (2010 - 2019) verwendet:

window: 10, dynamic_window: 'decay', decay_rate: 0.375, delete_oov: true, subsample: 'deter', subsample_factor: 7.268e-05, neg: 1.5, eig: 0.3, dim: 500

Und diese für die fünf anderen Embeddings für je zwei Jahre

window: 10, dynamic_window: 'decay', decay_rate: 0.33, delete_oov: true, subsample: 'deter', subsample_factor: 7e-05, neg: 1, eig: 0.35, dim: 500

Die Hyperparameter wurden durch Experimente auf Evaluationsdaten herausgefunden.

Warum hast du eine eigene Software-Bibliothek entwickelt?

Für die bekannten Verfahren Word2Vec von Google und fastText von Facebook gibt es effiziente Implementierungen. Aber die Methoden orientieren sich an den Bedürfnissen großer Tech-Unternehmen, diese sind im Besitz sehr großer Datenmengen. Das ist nicht immer der Fall, wie hier.

Für alternative Verfahren, für die es weniger Daten brauch, gab es bereits ein wissenschaftliches Paper, aber keine effiziente Implementierung. Das habe ich geändert.

Kann ich die Software benutzen?

Ja, sämtliche verwendete und programmierte Software steht unter Open-Source-Lizenz.

Hier eine Übersicht über den verwendeten Code und eine detaillierte Anleitung: https://github.com/jfilter/ptf-kommentare


Bei offenen Fragen bitte ein E-Mail an hi@jfilter.de schreiben.


Übersicht

Vortrag beim 95. Netzpolitischen Abend der Digitalen Gesellschaft in der c-base: Warum automatisierte Filter rassistisch sind

Gastbeitrag bei Netzpolitik.org: Warum automatisierte Filter rassistisch sind

Ein Online-Projekt von Johannes Filter, Johannes auf Twitter folgen
Impressum, Datenschutzerklärung

Johannes Filter wohnt in Berlin, ist freiberuflicher Softwareentwickler und Aktivist für Informationsfreiheit, Civic Tech und Open Data. Er studierte Informatik (MSc) am Hasso-Plattner-Institut in Potsdam sowie in Tallinn (Estland) und Madrid (Spanien).

Diese Arbeit ist im Rahmen des Prototype Fund entstanden und wurde vom Bundesministerium für Bildung und Forschung finanziert.

Das Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 01IS18S65 gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.