Frage

Ich bin für eine Python-Bibliothek, die Bayes-Spamfilter funktioniert. Ich sah SpamBayes und OpenBayes, aber beide scheinen zu unmaintained (ich könnte falsch sein).

Kann jemand empfehlen, eine gute Python (oder Clojure, Common Lisp, auch Rubin) Bibliothek, die Bayes-Spam-Filter implementiert?

Vielen Dank im Voraus.

Klarstellung : Ich bin eigentlich für einen Bayes-Spam-Klassifikator und nicht unbedingt eines Spam-Filter. Ich will nur, es zu trainieren, einige Daten verwenden und mir später sagen, ob einige Daten gegeben Spam. Sorry für die Verwirrung.

War es hilfreich?

Lösung

Haben Sie Spam-Filter oder Bayes-Klassifizierung wollen?

Für Bayes-Klassifizierung gibt es eine Reihe von Python-Modulen. Ich habe gerade vor kurzem die Überprüfung orange die sehr beeindruckend aussieht. R hat eine Reihe von Bayesian-Module. Sie können verwenden Rpy in R einzuhaken.

Andere Tipps

Versuchen Sie Reverend . Es ist eine Spam-Filter-Modul.

RedisBayes sieht gut aus für mich:

http://pypi.python.org/pypi/redisbayes/0.1.3

Nach meiner Erfahrung Redis ist eine wunderbare Ergänzung zu Ihrem Stack und kann Prozessdaten bei extrem schnellen Geschwindigkeiten im Vergleich zu MySQL, PostgreSQL oder andere RDBMS helfen.

import redis, redisbayes
rb = redisbayes.RedisBayes(redis=redis.Redis())

rb.train('good', 'sunshine drugs love sex lobster sloth')
rb.train('bad', 'fear death horror government zombie god')

assert rb.classify('sloths are so cute i love them') == 'good'
assert rb.classify('i fear god and love the government') == 'bad'

print rb.score('i fear god and love the government')

rb.untrain('good', 'sunshine drugs love sex lobster sloth')
rb.untrain('bad', 'fear death horror government zombie god')

Ich hoffe, das hilft ein wenig.

Versuchen Sie verwenden bogofilter , ich bin nicht sicher, wie es von Python verwendet werden kann. Bogofilter ist integriert mit vielen Mail-Systeme, was bedeutet, eine relativ einfache Schnittstelle.

SpamBayes ist beibehalten und ist ausgereift (dh es funktioniert, ohne neue haben, mit veröffentlicht die ganze Zeit). Es wird einfach das tun, was Sie wollen. Beachten Sie, dass SpamBayes nur lose Bayes ist (es verwendet Chi-Quadrat-Kombination), aber vermutlich sind Sie nach jeder Art von statistischer Token-basierten Klassifikation, sondern als etwas, speziell Bayesian.

Ein Modul in der Python natürlicher Sprache Toolkit (nltk) tut naive Bayes-Klassifizierung: nltk.classify.naivebayes .

Disclaimer:. Ich weiß, Mist alles über Bayes-Klassifikation, naiv oder weltlich

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top