nasauber.de

Blog

Thomas Bayes [Update]

… so heißt der nette Mathematiker, der das nach ihm benannte Bayessche Theorem über bedingte Wahrscheinlichkeit aufgestellt hat. Gut so! Weil das ist die Grundlage für die Textkategorisierung aufgrund statistischer Daten der Bayes-Filter, die (z. B. in Thunderbird, Spamassassin oder Bogofilter) zur Identifizierung und Bekämpfung von Spam eingesetzt.

Bedingt dadurch, daß in letzter Zeit einige meiner Bekannten bzw. Betreiber von Seiten, die ich öfters besuche, ihr Gästebuch geschlossen haben, weil es von Spam überschwemmt wird, hab ich mir gedacht, daß es vielleicht nicht dumm wäre, vorzusorgen.
Auf der französischsprachigen Seite http://www.xhtml.net/ habe ich dann nach kurzem Suchen eine php-Implementation eines Bayes-Filters gefunden: den PHP Naive Bayesian Filter. Das Programm schien mir ein bißchen „zu“ objektorientiert und komplex zu sein, aber nach ein paar Änderungen ist der Quellcode dann doch kleiner und übersichtlicher geworden. Jetzt läuft das ganze erstmal auf meinem lokalen Server zum Testen. Das einzige, was ich jetzt noch brauche, sind Spameinträge ;-)
Die ersten Versuche sehen sehr vielversprechend aus. Sollte mein Gästebuch oder Weblog also demnächst auch zugespammt werden, könnte es passieren, daß ein Bot (oder sonstwer) statt eines „Eintrag gespeichert“ ein „Mein Bayes-Filter denkt, daß dieser Eintrag Spam ist, deswegen wird er nicht sofort gespeichert. Sollte dem nicht so sein, wird der Eintrag nachträglich veröffentlicht.“ zu sehen bekommt.

Naja, warten wir's mal ab!

Update:

Das Script hat mir doch nicht so gefallen, bzw. es hat doch nicht so gut funktioniert, wie ich mir das vorgestellt hatte. Also hab ich kurzerhand meinen eigenen Bayes-Filter geschrieben. Viel kleiner und übersichtlicher – und vor allem mit einer BerkeleyDB statt MySQL als Datenbank. Ob's funktioniert, wird man sehen …
Die ersten (Test-)Ergebnisse machen auf jeden Fall einen guten Eindruck und liefern bessere Ergebnisse, als es PHPNaiveBayesian getan hat. Wenn ich das ganze noch etwas getestet habe, dann werde ich den Filter auch hier veröffentlichen. Ich denke mal, es besteht einiger Bedarf an einem kleinen, effektiven Bayes-Filter, der in php geschrieben ist ;-)