webme blog

Der Firmenblog der webme GmbH (Homepage-Baukasten.de)

Neuronale Netzwerke

Twittern Teilen Teilen

Künstliche neuronale Netzwerke sind Instrumente zur Abstraktion von Informationsverarbeitung. Es handelt sich dabei im Grunde um lernfähige Netzwerke, die zunächst aufgebaut und danach mit Informationen gefüttert werden müssen, um sie anzulernen. Danach können sie ihrer jeweiligen Aufgabe nachgehen. Das kann alles Mögliche sein. In unserem konkreten Beispiel ist es das Erkennen von Spam-Webseiten. Für homepage-baukasten.de wird es dadurch ermöglicht, die eigenen Baukastenseiten mithilfe künstlicher neuronaler Netze als Spammer zu klassifizieren.

Neuronale Netze Codebeispiel

Weg mit dem Spam

Webseiten, die Spam-Inhalte beherbergen, gibt es leider zu viele. Sie locken mit windigen Methoden, um Geld zu verdienen, wollen Wundermittel zur Potenzsteigerung verkaufen oder fungieren als Vehikel für allerlei illegalen Unsinn. Damit diesen schwarzen Schafen einfacher beizukommen ist, können neuronale Netze eingesetzt werden, die praktisch wie Spürhunde darauf abgerichtet werden, die Übeltäter ausfindig zu machen. Hierzu werden händisch Kriterien wie Sprachversionen, Registrierungs-IP-Adresse und Usernamen als Trainingsdaten in das neuronale Netzwerk eingespeist, die Seiten als Spammer klassifizieren. Das neuronale Netz kann mit den Daten am Ende des Trainings die Suche nach Spam-Seiten beginnen.

Die Eingaben für das neuronale Netz müssen als Zahlen von 0 bis 1 vorliegen. Somit können Daten, wie die IP-Adresse oder die Sprache nicht einfach unverarbeitet in das neuronale Netz eingespeist werden, sondern müssen händisch vorverarbeitet werden. Die Registrierungs-IPs werden deshalb auf die Internetdienstanbieter abgebildet und pro Internetdienstanbieter wird von Hand die Spammigkeit bestimmt, das bedeutet, ob diese eher durch Spam auffallen oder nicht. Dafür wird die Anzahl der Spammer mit diesem Internetdienstanbieter geteilt durch die Gesamtheit der Nutzer dieses Internetdienstanbieters. Das Ergebnis wird als Eingabe für das neuronale Netzwerk genommen. Ebenso wird bei dem Merkmal „Kombination aus Baukastensprache und Geolocation“ verfahren.

Doch es kommen natürlich noch weitere Kriterien zum Einsatz. Einbezogen werden unter anderem die Spammigkeit der Herkunftsländer (hier gibt es große Unterschiede), das Vorkommen von bestimmten Schlüsselwörtern, wie „verdienen“ oder „100mg“, welche meistens Hinweise sind, dass es sich um Spam-Produkte handelt, wie sie bereits weiter oben beschrieben wurden. Des Weiteren werden Bindestriche oder Zahlen im Seitennamen einbezogen, die Länge des Seitennamens oder auch ob die IP aus einem anonymisierten Netz kommt, wie beispielsweise Tor, einem VPN oder andere. Auch das Verhältnis der Vokale zu Konsonanten ist ein wichtiger Faktor, der Rückschlüsse auf die Spammigkeit zulässt.

Willkommen in der Matrix

Schließlich wird aus all den genannten Merkmalen eine Korrelationsmatrix erstellt, um bestimmen zu können, welche der einzelnen Merkmale wie viel zur letztendlichen Klassifizierung als Spammer beitragen. Die nachfolgende Matrix soll der besseren Visualisierung dienen und zeigt die einzelnen Beiträge als sogenannten Dichteplot. Hierdurch lässt sich optisch gut erkennen, welche Merkmale viel und welche Merkmale wenig zur Spammigkeit beitragen. Jede Zeile und Spalte steht für ein Merkmal.

Neuronale Netze

Jede Spalte und jede Zeile dieser Matrix, die symmetrisch an der Diagonalen ist, steht für ein Merkmal. Die erste Spalten-Zeilenkombination steht für die Spammigkeit der Internetdienstanbieter, die zweite für die Sprachkombination, die dritte für das Land, die vierte für de Keywords und so weiter. Die letzte Zeile / Spalte gibt an ob der User in Spammer ist, oder nicht. Dabei zeigt die Helligkeit der jeweiligen Spalte / Zeile die Korrelation der Zeilen-Spalten-Kombination an. Je heller das Feld der Spalten-Zeilen-Kombination, desto höher ist die Korrelation zwischen Zeile und Spalte. Das bedeutet, dass die Helligkeit der letzten Spalten / Zeilen angibt, wie viel das Merkmal zur Spammigkeit beiträgt.

Implementierung

Im konkreten Beispiel für homepage-baukasten.de wurde für die Implementierung des künstlichen neuronalen Netzes Tensor Flow von Google als Library genutzt. Dabei handelt es sich um eine Machine Learning Library von Google, die Open Source ist und für neuronale Netzwerke eingesetzt werden kann. Es ist eine Programmierschnittstelle der zweiten Generation, die bei kommerziellen Google-Produkten, wie Spracherkennung, Gmail oder auch Google Photos und der Suche zum Einsatz kommt. Der Vorteil gegenüber anderen Libraries ist, dass die Arbeit gut parallelisiert werden kann. Sie wird auf der GPU berechnet, was im konkreten Einsatzbeispiel homepage-baukasten.de die Berechnung von einer Stunde auf ungefähr dreißig Sekunden gesenkt hat. Das künstliche neuronale Netz des homepage-baukasten arbeitet mit drei verdeckten Schichten. Die Ausgabeschicht ist die hinterste Schicht eines solchen Netzes und meist die einzige, die außerhalb des Netzes sichtbar ist. Davorliegende Schichten verbessern die Abstraktion des Netzes.

Was springt dabei raus?

Das künstliche neuronale Netzwerk kommt zunächst auf eine Trefferquote von etwa 30 Prozent. Ein ordentlicher Wert, der jedoch selbstverständlich noch verbesserungswürdig ist. Auch die Quote von ca. 6 Prozent sogenannter „False Positives“ kann optimiert werden. Bei einem von uns manuell nachgeprüftem Testset, welches aus 50 zu überprüfenden Seiten bestand, waren 34 Prozent leer. In diesem Fall konnte man schwer sagen, ob es sich um Spam handelte oder nicht. 32 Prozent der Seiten wurden richtig als Spam klassifiziert und 16 Prozent falsch als Spam deklariert.

Nun folgt die weitere Optimierung. In Kombination mit manueller Prüfung reifen die künstlichen neuronalen Netzwerke, aufgrund ihrer Lernfähigkeit immer weiter und liefern schon von Beginn an Seiten, die eine hohe Wahrscheinlichkeit von Spam-Inhalten aufweisen. Sie sind somit eine wertvolle Unterstützung der manuellen Filterung und können durch händische Prüfung immer weiter verbessert werden, so dass langfristig die Trefferquote immer weiter steigt. Damit werden sie in unserem Beispiel über die Zeit zu unverzichtbaren Waffen gegen Spamseiten und erleichtern den Kampf gegen unerwünschte Webseiten dramatisch. Abgesehen davon gibt es natürlich noch zahlreiche andere Einsatzmöglichkeiten für künstliche neuronale Netzwerke. Insbesondere für Anwendungen, bei denen nur geringes systematisches Wissen über das zu lösende Problem vorliegt, können sie eingesetzt werden. Dazu zählen Anwendungsfälle bei der Text- und Bilderkennung.

Dass künstliche neuronale Netzwerke, trotz ihrer vergleichsweise trockenen Theorie, die hinter ihnen steckt, fantastische Ergebnisse produzieren können, die nicht einmal zwingend einen praktischen Nutzen haben müssen, zeigen die Eindrücke, die Googles neuronales Netzwerk „Inception“ geschaffen hat. Die surrealen Bilder gingen um die Welt und versetzten zahlreiche Menschen ins Staunen.

Link: https://www.youtube.com/watch?v=tcGpXvl9FHc

Twittern Teilen Teilen

zum Seitenanfang