bayes-php 0.2 out now! [Update]
Gerade habe ich die nächste Version meines Bayesschen Spam-Filters bayes-php online gestellt. Die Änderungen sind folgende:
Ich habe einige Verbesserungsvorschläge aus Paul Grahams Artikel Better Bayesian Filtering berücksichtigt. Tokens, die nur in Ham oder nur in Spam vorkommen, werden ab jetzt mit 0,9998 bzw 0,0002 gewertet, falls sie maximal 10 mal aufgetaucht sind, bei häufigerem Vorkommen mit 0,9999 bzw. 0,0001. Das sollte ein schärferes Trennen von Ham und Spam auch bei weniger gespeicherten Spam-Einträgen bewirken.
Außerdem wurde die Konfiguration der Datenbankverbindung in eine extra Datei ausgelagert, so daß man ab jetzt nicht mehr die eigentlichen Programmdateien editieren muß und die Konfiguration nach einem Update erhalten bleibt.
Ich hoffe, bayes-php bringt euch was! Viel Spaß damit :-)
Update:
Nach einer Nacht drüber schlafen habe ich mich doch dazu entschieden, auch die „Degeneration“, wie sie in dem oben genannten Artikel steht, umzusetzen. Das heißt, daß wenn ein Token auftaucht, der nicht in der Datenbank steht, dann wird nach ähnlichen Tokens gesucht. Beispiel: Im Text steht „FREE!!!!!“, aber es gibt diesen Token nicht in der Datenbank. Dann wird bayes-php ab jetzt nach folgenden Tokens suchen:
- Free!!!!!
- free!!!!!
- FREE!
- Free!
- free!
- FREE
- Free
- free
Wird davon etwas in der Datenbank gefunden, dann wird der Wert benutzt, der am weitesten von 0,5 weg liegt. Wird auch keiner der „degenerierten“ Tokens gefunden, wird (wie vorher) ein Wert von 0,4 veranschlagt.
Ich habe das Paket (trotz Update) nicht 0.2.1 genannt. Sollte sich sich also schon jemand die alte Version 0.2 heruntergeladen haben, dann bitte updaten :-)