Библиотека байесовской фильтрации спама для Python

Я ищу библиотеку Python, которая выполняет байесовскую фильтрацию спама. Я посмотрел на SpamBayes и OpenBayes, но оба, похоже, никем не поддерживается (я могу ошибаться).

может ли кто-нибудь предложить хорошую библиотеку Python (или Clojure, Common Lisp, даже Ruby), которая реализует байесовскую фильтрацию спама?

спасибо заранее.

уточнение: Я на самом деле ищу Байесовский Классификатор Спама и не обязательно спам-фильтр. Я просто хочу обучить его, используя некоторые данные, а затем сказать мне, являются ли некоторые данные спамом. Извините за путаницу.

6 ответов


вы хотите фильтрацию спама или байесовскую классификацию?

для Байесовской классификации существует несколько модулей Python. Я только недавно просматривал оранжевый что выглядит очень эффектно. R имеет ряд байесовских модулей. Вы можете использовать rpy имеют подключиться к R.


попробовать преподобный. Это модуль фильтрации спама.


RedisBayes выглядит хорошо для меня:

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

по моему опыту Redis является удивительным дополнением к вашему стеку и может помочь обрабатывать данные с невероятной скоростью по сравнению с MySQL, PostgreSQL или любой другой СУБД.

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')

надеюсь, что это немного поможет.


попробуйте использовать bogofilter, Я не знаю, как его можно использовать из Python. Bogofilter интегрирован со многими почтовыми системами, что означает относительную простоту интерфейса.


SpamBayes is сохранить, и зрелые (т. е. он работает без необходимости иметь новые релизы все время). Он легко сделает то, что вы хотите. Обратите внимание, что SpamBayes является только слабо байесовским (он использует комбинацию Хи-квадратов), но, по-видимому, вы после любой статистической классификации на основе маркеров, а не что-то конкретно байесовское.


модуль в наборе инструментов естественного языка Python (nltk) делает наивную байесовскую классификацию: nltk.classify.naivebayes.

отказ от ответственности: Я знаю дерьмо все о Байесовской классификации, наивной или мирской.