Machine Learning Experimente im SZ-Praktikum

Erstmal vielen Dank dass ich das alles ausprobieren durfte im Praktikum, vor allem special thanks an MVP Felix, der mir seinen Computer geliehen hat und mein Maschinenmentor war. So,

Habe Machine Learning auf zwei Arten ausprobiert:

  1. Textgenerierung (spaßig)
  2. Klassifizierung (sinnvoll)

Zu 1. Textgenerierung:

Hintergrund:

Die Idee basiert auf diesem Blogeintrag von Andrej Karpathy: http://karpathy.github.io/2015/05/21/rnn-effectiveness/

Es gibt eine aktuellere, verbesserte Vesion hier. Diese habe ich verwendet.

Torch läuft nicht auf Windows, also haben wir es auf Felix’ altem Mac installiert.

Tutorial für Mac Installation und erste Schritte: https://www.jeffreythompson.org/blog/2016/03/25/torch-rnn-mac-install/

Alles, was ich probiert habe, ist mit den hier beschriebenen Funktionen machbar.

Darum geht es:

Das Recurrent Neural Network (RNN) ist unter oben genannter Quelle frei zum Download verfügbar – jeder kann es installieren mit seinen eigenen Daten trainieren. Das RNN bekommt eine möglichst große Textdatei als Input und lernt anhand von dieser “schreiben” (eigentlich lernt es, das nächste Zeichen im Text vorherzusagen; genauer kann man das bei Karpathy nachlesen). Nach dem Training kann man Text generieren lassen. Je nach Input lernt das RNN ein ganz anderes Deutsch. Man bekommt also nicht nur lustige Texte, sondern sieht auch, welches die charakteristischsten Merkmale des Trainingstexts sind.

Erster Versuch: Die Bibel

Die Bibel ist als txt-Datei etwa 4 MB groß und eignet sich deshalb super als erstes Trainingsdatenset. Das RNN erkennt, dass es Kapitelnummern voranstellen soll, diese folgen aber willkürlich aufeinander. Ich finde die neuen Bibelverse nicht unbedingt unverständlicher als die alten.

Gen 23:31 Also nach allen, die hast deinem Same des Eiß Son aus Purichten; da sei fröhlich an Ändes Stolz wohnen, und den Fuß übel der Götter tragen.

Jer 8:11 Wo ich sage aber Städte: Was waren käme vor dem HErrn sagen: „Dem Gerechte hin sah Joseph, alle du gen Soss an Biltagers und die Hebron auf Lolde ward. Wenn du gesucht würden vom Hütewerkpum, und meines Vaters, der betete auf wie die Würden willen und die Zucht erfahren, denn er sprach: Der Jünger gestocht in ihren Götzen soll.

Mat 4:21 Und es ist nicht haben nicht und schändet euch unter dem ist alsoge Türe.
1Sa 28:11 Und da sie einher noch ferne gehn habt, der nicht also ehe getan hat.
Num 12:15 Mache nicht Stimme zu hin, und unschimmelt durch das Silberrung, Schuldja.
2Sa 2:2 Da aber der HErr Zebaoth, vor meine Rindern und Ritter

Man kann den Parameter “temperature” anpassen, der so etwas wie die erlaubte Kreativität des Outputs ist. Ist die Temperatur sehr niedrig, wählt das RNN Zeichenfolgen, mit denen es sich relativ sicher ist. Dafür wird der Output sehr repetitiv. Ist die Temperatur höher, wird der Output interessanter, aber auch fehlerhafter (mit mehr Worten, die es nicht gibt.)

Temperatur 0.7

2Ch 21:11 Da nahm der König Lama, der Priester, die niemand hast du hinauf und beraubtun am Sabbat, die zu Vorstädten und deine Gebote, und ich will ein Weib wider mich wissen; und der Männer ist gestehen ihre Väter Gerechtigkeit und Gewicht den Kindern Israel auf den Gott und gab ihn sterben wieder holen und sollt ihr sein.

Job 4:6 Und man wird die Hand des Abtreide zu Samaria kommen, das dir’s mit dem Stuhl viel zu ihm waren, sondern schrie lassen zum Mutter hatten.

Temperatur 0.2

Eze 16:22 Und sie sprach zu ihm: Wir soll dem HErrn sterben mit den Kindern Israel und sprach: Der HErr ist vor dem HErrn wie ein Bruder und sprach: Der HErr sprach zu ihm: Wie sie aber soll die Kinder Israel und sprach: Der HErr hat dich nicht auf dem HErrn und sprach: Wer sie auf den Kindern Israel und sprach: Ich will die Worte des HErrn und sprach: Es ist der HErr den HErrn und sprach: Der HErr sprach: Wir haben ihre Schafe und die Kinder Israel seine Schafe und die Städte des HErrn gen Jerusalem und sprach: Wer sie nicht geboten hatten und seine Schafe und sprach: Was soll er den Kindern Israel und sprach: Siehe, da sie sich auf dem HErrn und sprach: Der HErr sprach zu ihm: Wer ist der HErr geboten hatte, so wird der HErr dem HErrn wohl vor dem HErrn und sprach: Der HErr hat die Stadt und deine Schwert und deine Schwester und deine Seele des HErrn und sprach:  [und so weiter]

(Ich weiß nicht, warum bei “HErr” die ersten beiden Buchstaben groß geschrieben werden und der Rest nicht)

 

Zweiter Versuch: Kommentare von Heribert Prantl

Hier habe ich nur etwa  400 KB Texte aus dem SZ-Archiv gefüttert, weil man nicht so viele auf einmal runterladen darf. Außerdem war die Trainingszeit sehr kurz. Trotzdem fand ich die Ergebnisse nicht schlecht – immerhin darf man nicht vergessen, dass das RNN zu Trainingsbeginn überhaupt nichts kann, kein einziges deutsches Wort, und nicht mal weiß, was Wörter überhaupt sind. Prantl selbst hat sicher länger gebraucht, um so schreiben zu lernen. Das RNN schreibt auch regelmäßig brav den Namen des Kommentators (manchmal auch mit künstlerischen Abwandlungen) in Allcaps zwischenrein, und garniert das Ganze mit Quellen- und Seitenangaben.

 Seite 4

Geouph

 

Der Staatsanwaltschaft hatte es globale Mutbescheifent; häuft mit Seehoziert ennügfert, wie der Familie, verwendeten Sittelpolitik versucht und sich mit jetzt, der ist viel hat und Sozialismus kein wurden. Damit geistiges Erdoğan-Rechtsmonnterei werden. Es ist zugleich 2000 an fort gut. Erst die Randaten der Rechmanüßierung diesem im Sächtenwigen, verbindet – alle.

 

Guct-2, Bayern Seite 4, Deutschland Seite 4

Kommentar

KOLLEERIBERT HERIBERT PRANTL

Heribert Politiker und dann seinen Urteilen Arbeitung der Landtagswahl in der Nieren lange Terrorisch, zwei Jemassische Interesse ihn härter und einen Wirtschaftszugzerisches Wirtschaftsfreihen sind, freilich – vom 10ziembusster auf einmal vorsprüchte ist, ein Kultur nicht von dem Beruf vielen viele alten Entwerfunkt anderen Betanismus ist zitel verschwinden in der Landbacken und in allerdings, 1975 seine Richter und zu entfalen, wer gewählt wurden Leben.

Der Härte hinter Rot-Grünen-2005, mit dem Heiner Unterleber Dieter Schwein

 

Erinnerinnerung und Vater

VON HERIBERT PRANTL

Der Politik von Heribert der Leben, ob besteht in akzepten Liberalieren ändern über: Dankt zurück, wenn so weiter der Grundgesetzgeber des türkischen Zeit fängt wie diese an ihm zugestern nicht die Deforderung Formulierungen über die Zeitgeist. Die Katze der Weltes heißt: In seinem Jahranenstreiung und Streitigkeiten. Und fast Artigstas als darum sei Frau von Nachtrie gekleichen müssen – aber vor übersprotelt“. Prove zu geben hat, steckt gar nicht. Nämpft Taubetrieb, der also katen lage haben, ein Zeit von verstehen, er aus dem Gesetz gebracht. Blätte Dorf Schwanken. Mit sich.

München Seite 4, Bayern Seite 4, Deutschland Seite 4 Kommentar

 

AUTONOBORTLE

Der Selbst der SPD ist einen Staatsanwaltschaft nur nicht ein Auftrag des Karlsruhe geschrieben wird., Heribert des Grundrechten des Autos verständlichen Bedeutung von Heribert der Teil gegen die großen Hinfel- und Herzhalen von Willy Brandt.

 

Die Flung

VON HERIBERT HIRToN PRANTL

Pott & mit den Zeiten bessetzweis das Geld hatte.

Und die Schon aus der Wahl geworden, ein Bundestag, wahr sie sein, sondern dann auch Kreis: Es gibt viele Sicherheits alles zugebäuend, den Verstehen kommen. Fünn in der große Steuer, Ein die Parteien aufgetreut sich war vier juristischen Leben und Fans geschieren. Der es würde die Altersbürter abschlag, natürlich ist Schicksal stehen, dann aber furiosten Wundes und „klaren Arbeit, die ihm in Fülter Krewägung des Bauspareiten geplängt, im Bundestag mit dem Steuerkrierium verschlossen.

Und wenn man die Temperatur auf 0.2 stellt, bekommt man wieder das wichtigste in Kürze:

Das ist die Geschichte der SPD steht in der Staatsanwaltschaft gegen die Staatsanwaltschaft in der Staatsanwaltschaft der Aufgaben der Bundesrepublik geben. Der Staatsanwaltschaft des Bundesrepublik gegen die Staatsanwaltschaft der Staatsanwaltschaft der Staatsanwaltschaft der Auferweckung nicht so sein, dass die Eltern hat die Staatsanwaltschaft der Staatsanwaltschaft der Staatsanwaltschaft der Staatsanwaltschaft der Schwerbert und die Staatsanwaltschaft des Bundestagswahl in der Staatsanwaltschaft des Staatsanwaltschaft der Staatsanwaltschaft der SPD steht in der Schulz-SPD mit der Staatsanwaltschaft der Staatsanwaltschaft der Autobahnen.

Der Schwerbert. Habe verstanden.

 

Dritter Versuch: Wahlprogramme

FDP und AfD, einfach weil ich die am schnellsten gefunden habe. Habe nach dem Training die Zeilen mit vielen Punkten und Seitennummern so zusammengefasst, das ein Inhaltsverzeichnis entsteht. Innovativer als die Vorschläge der etablieren Parteien in jedem Fall, auch was die Seitenreihenfolge angeht.

inhaltsverzeichnis

Im Fließtext kommen sogar einzelne grammatikalisch fast korrekte Sätze vor.

Wir Freie Demokraten wollen im Staat die Arbeitssprache und die Einbürgerung der Menschen in der EU zu einer staatlichen Welt auf dem Strategien für die Freiheit der EU zu einer staatlichen Staatsanwaltschaft stärken.

Das mit nur etwa 140 Seiten als Training!

Vierter Versuch: Deutschrap

Bene hat mir geholfen, Deutschraplyrics vonsongtexte.de zu scrapen. Nach etwa einer Stunde Training hat sich das RNN den Rappernamen “Benz” gegeben und singt hauptsächlich über ein Thema: Die Straße.

Auf der Straße sind die Straße schwarzen Straßen und das ist der Boss und der Straße schwarze Scheiß auf der Straße auf der Straße auf der Straße ist der Beste Scheiß auf der Straße ist der Straße scheiß auf der Straße schlagen wie die Straße schlagen wie die Straße schlafen und die Straße ist der Boss und der Straße ist der Boss und der Straße schwarze Straßen und die Straße scheiß auf der Straße scheiß auf den Schule wie ein Schule wie ein Star und der Straße scheiß auf der Straße auf der Straße ist der Boss und der Straße wie ein Scheiß

Mit einer höheren Temperatur und angepassten Textumbrüchen sieht das dann so aus:

Ich bin der Benz
ich scheiß auf der Straße
Seiten haben wir alles was ich weiß sind die Straßen
mit dem Beat ist der Text
in der Street bei der Bett
Mache mit der Breitlich auf deine Freunde
ist die Straße rum, bum bum, das ist der Teufel
Und schon ist die Stadt nicht mehr
seine Kinder verschwinden wie ein Herz
ich bin am Boden, bin die Straßen
Und ich steh auf der Straßen
bei mir das Geld geschlafen
und der Straße auf der Augen
Ich bin ein Straßen in der Straße
schwarzen Straßen Straßen
mit der Straße in der Straße
Street im Blut wie der Herz auf der Straßen
Mit der Hand ist der Leben ist der Pass in der Straße
Du willst die Hand Stoff und
reicht Scheiß alles kommt
der Tag ist meine Frau die Straße schnell wie Welt
verliebt in der Straße von der Beats mit dem Top
in der Telefon und der Kinder laufen mit der Party,
ich scheiß auf der Straße
ist verloren Trips Bitch bei den Gesicht real auf den Straßen
Wie ein Star wie ich auf der Flow im Boom
Die Haus in den Rest ist das ist der Boss und der Stadt sich auf den Telefon
Der Bastard und deine Freunde in der Tag nicht bei der Tag
Trotzdem ist der Texte und ich bin deine Scheiße
ich bin der Anfang ich sehe ich mit der Einzigen Song in der Bank
Wir sind die Stadt Ich bin ein Scheiße alle wie ein Start auf der Kraft

Der Blunt in deinem Leben so so wie ein Kopf in der Flaschen
in der Straße steht ich bring nicht auf der Kuld mit der Straßen
von der Kleinstens und meine Freund wie ich einer Straßen
meine Einsteinen

Die Gangster steht ich mit der Straße wie die Straßen in der Tracks auf uns zu sein
Scheiß auf den Traum auf der Schau einen Kohle ist ein
Deutschland reicht nicht mehr
geht deine Millionen
Mit den Star sie wie ein Tag und sollte sein
Die Leute schwarzen Beat sich in der Straßen zu verschwinden
auf die Deutsche Scheiße auf der Arbeit
Du willst meine Freunde der Straße
Streit, ich bin die Straße.

Er versteht auch, dass Frauen und Wie-Vergleiche irgendwie wichtig sind. Die Obsession mit dem auf die Straße scheißen (das kam echt oft) müsste ein Freud-Bot näher untersuchen.

Damit zum sinnvollen Teil: Machine-Learning-Klassifizierung.

Hintergrund: für ein aktuelles Projekt wollten wir die Wahlprogramme der Parteien in Abschnitte untergliedern (Absätze oder kleiner) und thematisch einordnen. Wir haben Spreadsheets für die einzelnen Programme gemacht, und jeweils Abschnittweise die Kategorien zugeordnet.

Darum geht es: Diesen Grundstock habe ich als Trainingsdaten verwendet, um mit einer Support Vector Machine weitere Programme und Abschnitte zu klassifizieren. Das fand ich toll, weil das Klassifizieren von Menschenhand eine sehr zeitintensive Arbeit ist und außerdem sehr subjektiv.

Ich habe Monkeylearn benutzt, sozusagen ein Datawrapper für Machine learning, mit dem man direkt im Browser trainieren kann. Funktionierte überraschend gut und schnell. Beim Training mit zuletzt 544 Samples erreichte der Klassifizierer eine Präzision von 69%. Ich würde mich nicht auf die Maschine verlassen, aber um grob vorzuklassifizieren, fand ich das sehr hilfreich. Fehler bemerkt man dann schnell beim überfliegen, aber das Verbessern der Fehler dauert nicht annähernd so lang wie das klassifizieren von Hand.

Außerdem könnte man die so trainierte Maschine für die nächsten Wahlprogramme oder ähnliche Texte gleich wieder verwenden. Der Aufwand wird jedes mal geringer und die Accuracy wird jedes mal besser (wegen der größeren Trainingsgrundlage).

Hier sieht man die Treffer, teilweise gar nicht so schlecht:confusionmatrix_wahlprogramme

Monkeylearn gibt auch eine Keywordliste mit relevanten Begriffen aus. Und übersichtliche Warnungen bei sehr ähnlichen Kategorien. In unserem Fall zum Beispiel, dass Samples aus “Finanzpolitik” oft mit “Wirtschaftspolitik” verwechselt werden. Legite Erkenntnis, da hatten wir als Menschen auch Probleme mit. Da sind also die Kategorien unscharf und könnten verbessert werden.

Leider sind bei Monkeylearn nur 10.000 Abfragen im Monat gratis. Die Premium-Pläne sind sehr teuer. Deshalb endete da mein Ausflug.

Further reading:

COMPUTING MACHINERY AND INTELLIGENCE By A. M. Turing

What News-Writing Bots Mean for the Future of Journalism (Wired)

Machine Learning für Journalisten (digitalerwandel.de)

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s