Kommentare gehen wieder
Ich habe mich jetzt endlich daran gemacht, den schon lange versprochenen Spam-Filter zu schreiben, was erstaunlich einfach ging. Daher könnt ihr jetzt wieder Kommentare schreiben.
Der Filter ist ein sogenannter naiver Bayes-Spamfilter, der die Wahrscheinlichkeit berechnet, dass ein Eintrag Spam ist, basierend darauf wie oft ein Wort in Spam- und Nichtspam-Kommentaren gesehen wurde. Die Implementierung folgt dabei ziemlich exakt [dem englischen Wikipedia-Artikel](http://en.wikipedia.org/wiki/Bayesian_spam_filtering), ohne weitere Heuristiken für seltene Wörter oder anderes.
Falls es jemanden interessiert, ich kann gerne den Code hochladen, es ist erstaunlich wenig. Der wichtigste Einzelpunkt, der mir aufgefallen ist: Der Spam-Filter spielt leicht verrückt wenn ein Wort entweder als Spam oder als “erlaubtes” Wort nie gesehen wurde. Um dies zu vermeiden, wird bei jedem neuen Wort erst mal eine Sichtung sowohl als Spam als auch als nicht-Spam eingetragen, bevor die echten Sichtungen beginnen. Natürlich verfälscht das Ergebnis etwas, aber nicht genug um echt zu stören.
In der jetzigen Form hat der Filter drei Stufen. Kommentare deren Spam-Wahrscheinlichkeit über 95% liegt werden gar nicht erst in die Datenbank geschrieben, sondernd sofort abgelehnt. Kommentare mit einer Spam-Wahrscheinlichkeit von 70% werden eingetragen, aber erst angezeigt sobald ich entschieden habe dass sie kein Spam sind. Diese Entscheidung trainiert den Spam-Filter weiter, so dass er in Zukunft immer genauer werden sollte. Natürlich kann es sein dass ich beide Grenzen noch anpassen muss.
Geschrieben am 3. Juli 2010 um 23:36
Septdeneuf
Torsten Kammer (admin)
Björn
Torsten Kammer (admin)
Torsten (admin)