Filtern von Spam aus abgerufenen Daten

8

Ich habe einmal gehört, dass das Filtern von Spam mithilfe von Blacklists kein guter Ansatz ist, da einige Benutzer, die nach Einträgen in Ihrem Datensatz suchen, möglicherweise nach bestimmten Informationen aus den blockierten Quellen suchen. Außerdem wäre es eine Belastung, den aktuellen Status jedes blockierten Spammers kontinuierlich zu überprüfen und zu überprüfen, ob die Site / Domain noch Spam-Daten verbreitet.

Welche Strategien stehen zur Verfügung, um Spam auf nicht voreingenommene Weise zu entfernen, da jeder Ansatz effizient und skalierbar sein muss, um das Filtern sehr großer Datenmengen zu unterstützen?

Bearbeiten : Wenn möglich, wäre jedes Beispiel einer Strategie, auch wenn nur die Intuition dahinter steckt, zusammen mit der Antwort sehr willkommen.

Rubens
quelle

Antworten:

5

Die Spam-Filterung, insbesondere in E-Mails, wurde durch neuronale Netze revolutioniert. Hier einige Artikel, die eine gute Lektüre zu diesem Thema bieten:

Über neuronale Netze und die Zukunft von Spam AC Cosoi, MS Vlad, V. Sgarciu http://ceai.srait.ro/index.php/ceai/article/viewFile/18/8

Intelligente wortbasierte Spamfiltererkennung mithilfe multineuraler Netzwerke Ann Nosseir, Khaled Nagati und Islam Taj-Eddin http://www.ijcsi.org/papers/IJCSI-10-2-1-17-21.pdf

Spam-Erkennung mithilfe adaptiver neuronaler Netze: Adaptive Resonanztheorie David Ndumiyana, Richard Gotora und Tarisai Mupamombe http://onlineresearchjournals.org/JPESR/pdf/2013/apr/Ndumiyana%20et%20al.pdf

BEARBEITEN: Die grundlegende Intuition hinter der Verwendung eines neuronalen Netzwerks zur Unterstützung der Spam-Filterung besteht darin, Begriffe zu gewichten, die darauf basieren, wie oft sie mit Spam in Verbindung gebracht werden.

Neuronale Netze können am schnellsten in einer überwachten Umgebung trainiert werden - Sie geben die Klassifizierung des Satzes explizit in der Trainingsumgebung an. Ohne auf das Wesentliche einzugehen, kann die Grundidee mit folgenden Sätzen veranschaulicht werden:

Text = "Wie wird sich der Verlust des Viagra-Patents auf Pfizer auswirken?", Spam = false Text = "Günstiges Viagra jetzt kaufen", Spam = true Text = "Online-Apotheke Viagra Cialis Lipitor", Spam = true

Für ein zweistufiges neuronales Netzwerk berechnet die erste Stufe die Wahrscheinlichkeit von Spam basierend darauf, ob das Wort im Satz vorhanden ist. Also aus unserem Beispiel:

viagra => 66% kaufen => 100% Pfizer => 0% etc ..

Dann werden für die zweite Stufe die Ergebnisse in der ersten Stufe als Variablen in der zweiten Stufe verwendet:

viagra & buy => 100% Pfizer & viagra => 0%

Diese Grundidee wird für viele der Permutationen aller Wörter in Ihren Trainingsdaten ausgeführt. Die einmal trainierten Endergebnisse sind im Grunde genommen nur eine Gleichung, die basierend auf dem Kontext der Wörter im Satz eine Wahrscheinlichkeit für Spam zuweisen kann. Stellen Sie den Spam-Schwellenwert ein und filtern Sie alle Daten heraus, die höher als dieser Schwellenwert sind.

neone4373
quelle
1
+1 Danke für die Hinweise. Haben Sie ein kleines Beispiel oder könnten Sie nur eine Intuition hinter einem der Ansätze zeigen? Ich bin mit neuronalen Netzen nicht vertraut, kann aber überprüfen, ob für das Beispiel eine solche Wissensbasis erforderlich ist.
Rubens
Könnten Sie Ihren Anwendungsfall genauer beschreiben? Die Strategie kann stark variieren, je nachdem, wie Sie die Lösung implementieren.
Neone4373
Ich möchte nur sehen, was die Idee hinter einem anderen Ansatz ist. Wenn ich Ihnen beispielsweise sagen würde, was mithilfe von Blacklists gemacht wird (von denen wir wissen, dass sie nicht gut sind), könnte ich den Algorithmus folgendermaßen beschreiben : Scannen Sie den Datensatz nach Einträgen, die "viagra" enthalten; Fügen Sie solche Einträge zur Blacklist hinzu. Ich möchte nur eine allgemeine Beschreibung einer Methodik / eines Algorithmus sehen . Sammeln sie Informationen zur Spam-Netzwerknutzung und setzen sie einen Klassifikator für neuronale Netzwerke ein, oder was tun sie?
Rubens
1

Blacklists haben aus mehreren Gründen keinen Wert:

  1. Sie sind einfach einzurichten und zu skalieren - es ist nur ein Schlüssel- / Wertspeicher, und Sie können wahrscheinlich einen Teil Ihrer Caching-Logik für die grundlegendste Implementierung wiederverwenden.
  2. Abhängig von der Größe und Art des Spam-Angriffs werden wahrscheinlich einige sehr spezifische Begriffe oder URLs verwendet. Es ist viel schneller, diesen Begriff auf eine schwarze Liste zu setzen, als darauf zu warten, dass sich Ihr Modell anpasst.
  3. Sie können Elemente genauso schnell entfernen, wie Sie sie hinzugefügt haben.
  4. Jeder versteht, wie sie funktionieren, und jeder Administrator kann sie verwenden.

Der Schlüssel zur Bekämpfung von Spam ist die Überwachung . Stellen Sie sicher, dass Sie über eine Benutzeroberfläche verfügen, die anzeigt, welche Elemente auf Ihrer schwarzen Liste stehen, wie oft sie in den letzten 10 Minuten / Stunde / Tag / Monat getroffen wurden und ob Sie problemlos Elemente hinzufügen und entfernen können.

Sie möchten eine Reihe verschiedener Spam-Erkennungsmodelle und -Taktiken kombinieren. Neuronale Netze scheinen ein guter Vorschlag zu sein, und ich würde empfehlen, neben nur Inhalten auch die Verhaltensmuster der Benutzer zu betrachten. Normale Menschen senden 12 Stunden lang nicht alle 30 Sekunden Stapel von 1.000 E-Mails.

alaiacano
quelle