Entscheidungsbaumverfahren: Vornamen von Neonazis in Abhängigkeit von Wohnort und Alter

Posted on 25th Januar 2012 in Maschinelles Lernen

Liebe Freunde der Sicherheit,

wenn man Urheber von Bekennerschreiben identifizieren oder feststellen will, ob die Beiträge in einem Internetforum rechtsextreme Tendenzen haben, dann handelt es sich aus mathematisch-informatischer Perspektive um Klassifizierungsprobleme. Man nimmt im ersten Fall eine Menge von Texten, von denen man weiß, wer die Autoren sind. Diese Dokumente werden dann als numerische Vektoren dargestellt, die die Ausprägung möglicher relevanter Merkmale dieser Texte abbilden. Dann wendet man Methoden des maschinellen Lernens an, um einen Klassifikator zu finden, der die Texte, die zu unterschiedlichen Klassen gehören, voneinander unterscheidet. Dieser Klassifikator liefert uns dann einen Hinweise darauf, welcher Klasse sich der Urheber eines Bekennerschreibens mit einer gewissen Wahrscheinlichkeit zuordnen lässt.

Natürlich sind die Ergebnisse des Lernverfahrens nur so gut, wie die Entscheidung, welche Merkmale der Texte für die Klassifizierung relevant sein können. Einige der am häufigsten für die Autorenidentifizierung benutzten linguistischen Feature habe ich in einem früheren Post zusammengestellt. Mir geht es aber hier um die Grundidee des maschinellen Lernens: Man benutzt eine bereits klassifizierte Datenmenge, um aus ihr jene Merkmale zu extrahieren, die für die Klassifizierung unbekannter Daten relevant sind. Eine Möglichkeit, aus Daten Regeln für die Klassifizierung abzuleiten, ist das Entscheidungsbaumverfahren.

Entscheidungsbäume

Beim Entscheidungsbaumverfahren wird eine Datensatz Schritt für Schritt in Unterklassen geteilt. Diese Teilungen der Gesamtmenge in immer kleinere Teilmengen erfolgt anhand eines Sets von Merkmalen, von denen wir vermuten, dass sie für die Einteilung relevant sind.

Nun wollen wir den Datensatz in zwei Unterklassen teilen, die in sich möglichst homogen sind und sich daher auch möglichst stark von einander unterscheiden. Meist wird hier das Kriterium des Informationsgehaltes (Entropie) angewendet. Die Trennkriterien sind so zu wählen, dass die entstehenden Unterklassen im Hinblick auf eine resultierende Klassenverteilung möglichst homogen sind. Dieses Verfahren wendet man nun auch auf jede der neu berechneten Unterklassen an. Ist der Informationsgewinn durch eine weitere Teilung einer Unterklasse sehr gering, dann beendet man das Aufsplitten des Datensatzes an dieser Stelle.

Nach und nach wächst so ein „Baum“, die Bezeichnung eines gerichteten Graphen mit einem Wurzelknoten. Knoten markieren den Vergleich hinsichtlich eines Attributs, Kanten repräsentieren die verschiedenen Ausprägungen des Attributs, Blätter bezeichnen die Klasse. Pfade zu den Blattknoten stellen „Regeln“ dar, die auf künftige Klassifizerungsaufgaben angewendet werden können.

Vornamen von Neonazis in Abhängigkeit von Wohnort und Alter

Nehmen wir ein unverfängliches Beispiel: Wir wollen wissen, welche Namen Neonazis in Abhängigkeit von Alter und Region typischerweise haben. Hierfür nehmen wir einen Datensatz, der auf der Nazileaks-Plattform publiziert wurde und Informationen zu Wohnort und Geburtsdatum enthält. Damit das Ergebnis einigermaßen übersichtlich bleibt, operationalisieren wir die Variable Region über den Postleitzahlenbereich. Um genau zu sein: wir definieren die erste Ziffer der Postleitzahl als relevantes Attribut für die Klassifizierung. Als zweites relevantes Attribut bestimmen wir das Alter.

decision tree: nazivornamen ~ alter + plz_raum (minsplit 20, maxdepth 7)
Entscheidungsbaum: Vornamen von Neonazis
in Abhängigkeit von Alter und PLZ-Raum
(CART, minsplit = 20, maxdepth = 7)

Der berechnete Entscheidungsbaum zeigt, dass zunächst die Variable Alter mit dem Merkmal „jünger als 36“ vs. „36 Jahre und älter“ den Datensatz am besten in zwei Klassen trennt. Die beiden berechneten Subklassen werden beide wiederum durch das Attribut Alter in zwei Subklassen geteilt, ehe das Attribut PLZ-Bereich zu Spaltungen führt. Eine sich aus dem Entscheidungsbaum ableitbare Regel wäre: Neonazis, die über 44 Jahre alt sind und in den PLZ-Bereich 2, 3, 5 oder 7 wohnen, heißen Erik. Allerdings ist die Fehlerquote in den berechneten Klassen so hoch, dass eigentlich keine belastbaren Aussagen möglich sind. Wahrscheinlich haben wir nicht die richtigen Variablen in das Modell eingefügt.

Zwar ist der Baum in dieser Form gerade noch lesbar, aber dennoch überkomplex. Es gibt viele Endknoten, die nur wenige Objekte enthalten. Um die Ergebnisse besser generalisieren zu können, werden die Bäume „beschnitten“. Dieses Verfahren nennt man „Pruning“. Für den obigen Baum wurde schon ein Pre-Pruning vorgenommen: Die Anzahl der Verzweigungen wurde auf 7 begrenzt. Weil das immer noch recht viel ist, kann man auch ein Post-Pruning durchführen. Dabei fallen Knoten wegen oder werden durch ein Blatt ersetzt, die für die Relevanz für die Klassifizierung keine (oder nur geringe) Relevanz besitzen. Der beschnittene Baum hat dann z.B. diese Form:

decision tree: namen ~ alter + plz_raum (minsplit 20, maxdepth 7)
Beschnittener Entscheidungsbaum

Es gibt unterschiedliche Algorithmen zur Berechnung von Entscheidungsbäumen. Hier wurde mit dem CART-Verfahren gerechnet, bei dem der Datensatz bei einem Knoten jeweils binär gesplittet wird. Mein Kollege Noah Bubenhofer, von dem ich das Namensbeispiel übernommen habe, rechnet mit dem C4.5-Algorithmus.

Was kann man nun mit so einem Baum anfangen? Mit diesem speziellen Baum nicht viel. Die Fehlerquote ist zu hoch. Wäre sie niedriger, könnte man die Regeln wie folgt benutzen: Wenn wir den Vornamen einer Person kennen und wissen, dass diese Person ein Neonazi ist, dann könnten wir mit einer gewissen Wahrscheinlichkeit auf Alter und PLZ-Bereich des Wohnortes schließen.



Postleitzahlbereiche in der BRD (Quelle: Wikipedia, Stefan Kühn, CC0 1.0)



Natürlich könnten wir nun nicht einfach behaupten, dass Menschen, die André heißen, älter als 31 Jahre alt sind und aus dem PLZ-Bereich 0 kommen, mit einer bestimmten Wahrscheinlichkeit Neonazis sind. Um solche Aussagen zu ermöglichen hätten wir einen Datensatz gebraucht, der auch die Daten von nicht-Neonazis enthielte. Es könnte ja schließlich auch sein, dass Noenazis genause heißen wie der Rest der Bevölkerung und der obige Baum nur die regionale und altersspezifische Verteilung in Deutschland abbildet. Macht euch also keine Sorgen, wenn ihr Erik heißt und jünger als 22 Jahre alt seid: Wir wissen nicht, welche Gesinnung ihr habt. Noch nicht…

comments: Kommentare deaktiviert für Entscheidungsbaumverfahren: Vornamen von Neonazis in Abhängigkeit von Wohnort und Alter tags: , , ,

Autorenidentifizierung: Grundkonstellation und Variationen

Posted on 22nd Januar 2012 in authorship identification, Textklassifikation

Liebe Freunde der Sicherheit,

solange es noch keine Klarnamenpflicht im Internet gibt und noch keine wirksamen Mittel, sie durchzusetzen, ist die Autorenidentifizierung eines der Kerngeschäfte von Sicherheitsinformatikern.

Die Grundkonstellation bei der Autorenidentifizierung sieht wie folgt aus: Zu einem anonymen Text wird ein Autor gesucht. Es gibt eine begrenzte Anzahl möglicher Autoren, von denen jeweils ein Korpus von Texten existiert. Dieses Problem ist im Kern ein Kategorisierungsproblem: Wir müssen die Texte, bei denen die Autoren bekannt sind, anhand ihrer Merkmale in Klassen einteilen und dann untersuchen, in welche Klasse der anonyme Text aufgrund seiner spezifischen Merkmale einteilen würden. Dokumente werden hierfür als numerische Vektoren dargestellt, die die Ausprägung möglicher relevanter Merkmale dieser Texte abbilden. Dann wendet man Methoden des maschinellen Lernens an, um Klassifikatoren zu finden, die die Texte, die zu unterschiedlichen Klassen gehören, voneinander unterscheiden.

Es gibt aber auch eine Reihe von Problemen, die sich nicht mit den Standardverfahren maschinellen Lernens lösen lassen und bei denen die Autorenidentifikation noch nicht so erfolgreich ist:

  1. Das Verifikationsproblem: Es gibt kein geschlossenes Set an Kandidaten, aber einen Verdächtigen. Ziel ist es, Kriterien dafür zu finden, ob der Verdächtige der Autor ist oder nicht. Im Prinzip handelt es sich hier um ein Klassifikationsproblem mit nur einer Klasse – unschön!
  2. Das Nadel-im-Heuhaufen-Problem: Es gibt eine große Anzhal von Kandiadten von denen nur kleine Trainingskorpora zur Verfügung stehen. Wegen der großen Anzahl Kandidaten (und damit Klassen) können hier (noch) keine Lern-Modelle eingesetzt werden.
  3. Das Profiling-Problem: Es gibt keine Trainingskorpora, anhand derer wir Kandidatenprofile errechnen können; Ziel ist dann, möglichst viel über die Eigenschaften des Autors herauszufinden. Insbesondere Geschlecht, Muttersprache und Alter, aber auch charakterliche Grundeigenschaften sind Gegenstand der Analysen.

Dennoch ist die Klassifikation mittels Methoden maschinellen Lernens eine zentrale Technik bei der Autorenidentifizierung, aber auch in anderen Bereichen. Diese Methoden sollen im Blog nach und nach vorgestellt werden.


Metasprachliche markierte Ausdrücke in der ZEIT im Jahr 2011 und eine kleine Geschichte der BRD in Wörtern

Posted on 6th Januar 2012 in Allgemein, Linguistische Kategorien, Off Topic

Liebe Freunde der Sicherheit,

im vorletzten Post habe ich die Möglichkeit diskutiert, mittels metasprachlich markierter Ausdrücke Ideologien zu identifizieren, die von der herrschenden Semantik abweichen. Auch der publizistische Mainstream markiert Wörter oder Ausdrücke durch Anführungszeichen oder ein vorangestelltes „sogenannt“, wenn auch seltener. In Zeitungen werden vor allem neue, missverständliche oder inhaltlich umstrittene Ausdrücke markiert. Die folgende Wortwolke zeigt, welche Ausdrücke in der gedruckten ZEIT im Jahr 2011 markiert wurden:



Metasprachlich markierte Ausdrücke in der ZEIT (print) 2011



An der Wortwolke werden vor allem die wichtigsten Themen des Jahres sichtbar: Euro-Rettung, Terrorismus (Schuhbomber, Rucksackbomber, Kofferbomber und für uns Freunde der Sicherheit besonders interessant: Unterhosenbomber), arabischer Frühling, Atomkraft (Brückentechnologie, Restrisiko, Liquidator, Fukushima, Energiewende), Protestbewegungen (Wutbürgertum, Plärrer, Empörte) und Selbstverteidigungsminister KT. Es finden sich auch einige Klassiker: „drittes Reich“ und „Führer“ werden in den meisten Medien aus gutem Grund immer in Anführungszeichen gesetzt. Natürlich findet sich auch „alternativlos“ als Unwort des Jahres in der Liste.

Ich habe auch für die anderen Jahrgänge der Zeit solche wordclouds berechnet. In der Gesamtschau erhält man eine kleine Geschichte der Bundesrepublik und ihrer gesellschaftlichen Debatten in einer Liste von Wörtern.

Als Lesehilfe: Je häufiger ein Ausdruck markiert wurde, desto größer wird er dargestellt. In einem Jahr zum ersten mal als markiert auftretende Ausdrücke sind rot, im Vergleich zu den anderen Jahren signifikant häufig auftretende Ausdrücke sind braun gefärbt.





Interessant ist, dass in Jahren von Krisen und Umbrüchen besonders viele Ausdrücke metasprachlich markiert werden. Die Jahre 1966-1969, 1977, 1989/90 sind dafür ein Beleg. Zieht man den Anstieg der Markierungen im Jahr 2011 im Vergleich zu den Jahren vorher in Betracht, dann muss die Diagnose heißen: wir erleben zurzeit einen Umbruch, der den großen Krisenjahren der BRD vergleichbar ist.


Anmerkung: Eine Filterung der Listen war nötig, da insbesondere Buch- oder Filmtitel auch in Anführungszeichen gesetzt werden. Dies wurde mit Hilfe einer Stoppliste automatisiert, eine Nachbearbeitung von Hand war dennoch nötig.

Für bessere Lesbarkeit: jenseits des Blog-Layouts habe ich noch eine schlichte HTML-Seite gemacht.