Privalino Goes Deep

Künstliche Intelligenz im Einsatz für den Kinderschutz

Geschrieben von max am 15.01.2018

Bei Privalino möchten wir stetig besser unserer Aufgabe nachkommen, Kinder vor Gefahren im Internet zu schützen. Das Herz unseres Produkts ist dabei unser Algorithmus, der jeder Konversation aufmerksam folgt, um solche Gefahren frühzeitig zu erkennen.

Deep Learning

Bisher hatte dieser Algorithmus mit traditionellen Techniken der künstlichen Intelligenz und des Natural Language Processing (NLP) gearbeitet. Diese haben sich seit vielen Jahren bewährt und sind in einigen Anwendungsbereichen, wie etwa der Spam-Erkennung, erfolgreich eingesetzt. Allerdings haben diese Algorithmen auch Schwächen: In der Regel betrachten sie einen Text nur als einen ungeordneten Wörterhaufen, und können so komplexere Zusammenhänge nicht verstehen. Ausserdem sind sie sehr anfällig gegenüber Rechtschreibfehlern. So kann man viele solcher Systeme täuschen, in dem man zum Beispiel statt “SEX” eben “S 3 X” schreibt.

Im Feld der künstlichen Intelligenz ist in den letzten Jahren ein neuer Stern aufgezogen: Das sogenannte “Deep Learning” (tiefgehendes Lernen). Seit einiger Zeit werden Algorithmen immer besser in Aufgaben, die bis vor zehn Jahren noch als unlösbar für einen Computer galten, wie z.B. Gesichtserkennung oder das Verstehen von gesprochener Sprache. Diese Technologien sind heute schon in vielen Haushalten und Apps im Einsatz, von Amazon Alexa bis Google Photos. Doch wie funktioniert Deep Learning? Es handelt sich dabei im Prinzip nur um eine Neuauflage eines alten Algorithmus aus den 50ern: Sogenannte “neuronale Netzwerke”, ursprünglich von Gehirnzellen inspiriert, können sehr komplexe Funktionen lernen, wenn wir ihnen nur genügend Beispiele für Eingaben und gewünschte Ausgaben geben.

Ein beliebtes Beispiel ist die Katzenerkennung. Angenommen wir wollen ein Modell entwickeln, das uns sagt, ob in einem gegebenen Foto eine Katze ist oder nicht. Zuerst brauchen wir dafür einen großen Datensatz, den wir in zwei Kategorien unterteilen können: Fotos mit Katzen darauf, und Fotos ohne Katzen darauf. Nun erstellen wir ein neuronales Netzwerk und zeigen ihm die Daten, zusammen mit der Information, ob es sich um eine Katze handelt oder nicht. Das zufällig initialisierte Netzwerk wird am Anfang zufällige Einschätzungen abgeben, die mit der Zeit aber immer besser werden, bis sie letztlich fast perfekt sind. Das Besondere ist, dass das Modell nun Katzen in fast allen Rassen, Positionen, Ausrichtungen, Farben, Helligkeiten, etc. erkennen kann. Dies ist, verglichen mit traditionellen Algorithmen, ein riesiger Fortschritt.

Neuronale Netzwerke funktionieren nicht nur mit Bildern, sondern können aus jeder Verteilung von komplexen Matrizen die Gesetzmäßigkeiten herauskristallisieren. Sprich, so lange wir unsere Daten in Vektoren und Matrizen umwandeln können, und solange sich eine Struktur in diesen Matrizen verbirgt, kann ein neuronales Netzwerk diese lernen. Warum also auch nicht auf NLP Probleme, also Textdaten?

In den letzten Monaten haben wir viel Zeit investiert, um unseren Algorithmus mit Deep Learning noch besser zu machen. Unser neues Modell versteht auch komplexe, versteckte Hinweise, ist resistenter gegen Schreibfehler, und arbeitet dabei noch schneller.

Der Privalino-Score

Wie bereits im Blogeintrag über unsere Selbstversuche erwähnt, haben wir als Kinder getarnt einige Zeit in öffentlichen Chaträumen verbracht, und wurden dabei von zahlreichen Groomern angeschrieben. Sämtliche Unterhaltungen wurden aufgezeichnet und von Moderatoren annotiert. Dabei bewerteten wir die Unterhaltungen zu jedem Zeitpunkt nach der Wahrscheinlichkeit, ob es sich um einen Grooming-Versuch handeln könnte. Dafür haben wir einen Score, der von 0 (definitiv ungefährlich) über 0,5 (unsicher) bis 1,0 (definitiv gefährlich) reicht. Jede Unterhaltung beginnt bei einer Basis von 0,5, da am Anfang noch keine Informationen vorliegen, ob es sich bei dem Chatpartner um einen Groomer handeln könnte oder nicht. Nach jeder neuen Nachricht können wir dann die Gefahr anpassen. Wenn etwa direkt gefragt wird, was man gerade für Unterwäsche trägt, geht der Score nach oben. Falls sich nur nett unterhalten wird, geht der Score langsam nach unten.

Nach jeder Nachricht in unserem Datensatz fragen wir das Modell: “Hier sind die letzten x Nachrichten in dieser Konversation. Wie hoch ist die Gefahr, dass es sich um Grooming handeln könnte?”.

Technische Details für Interessierte: Wir benutzen in zwei Varianten entweder Character-Level-Encodings oder FastText-Features als Input. Darauf wenden wir dann 1D-Konvolutionen an und schließlich wird die Sequenz von einem LSTM-Layer interpretiert. Das ganze wurde mit TensorFlow/Keras implementiert.

Auf diese Weise erhalten wir nach einem ein- bis zweistündigen Training eine recht hohe Genauigkeit. Größere Fehler (mehr als 0,4 Unterschied zwischen Moderator und System) machen wir nur bei etwa 0,01% der Nachrichten. Bei unseren alten NLP Methoden lag diese Zahl noch bei fast 5%! Ein wahrer Quantensprung für Privalinos Genauigkeit.

Fazit

Ein oft genannter Kritikpunkt von neuronalen Netzwerken ist das Black-Box-Problem: Die mathematische Funktion, die gelernt wird, ist aufgrund ihrer Komplexität und der selbst erlernten, nicht immer intuitiven Abstraktionen nur schwer zu durchschauen. Um die Entscheidungen des Modells nachvollziehen zu können, muss man kreativ werden. Hier z.B. geben wir uns nach jedem Wort in der Nachricht die Gefahr aus und färben das Wort entsprechend ein:

Zwei Beispielbewertungen des Algorithmus, Wort für Wort nach Gefahr eingefärbt
Zwei Beispielbewertungen des Algorithmus, Wort für Wort nach Gefahr eingefärbt

Wie man sieht, geht das Modell erst in Alarmbereitschaft, wenn sich die Konversation gefährlicheren Themen zuwendet. Dies ist jedoch nur ein oberflächlicher Einblick, das Modell versteht auch sehr viel längere und komplexere Konversationen. Mit diesen Ergebnissen können wir fürs Erste sehr zufrieden sein. In der Zukunft wollen wir das Modell mit noch mehr Daten trainieren und auf andere Gefahren wie z.B. Online-Mobbing ansetzen. Deep Learning hat sehr viel Potential nach oben und wir sind gespannt, noch mehr Algorithmen anzuwenden, um Kinder in der Zukunft noch besser schützen zu können!

Max Schumacher

Max ist Privalinos Joker aus München. Ein internationaler Startup Veteran, der seine Deep Learning Skills mit Herz und Verstand einsetzt, um Kinder zu schützen.