Байесовская библиотека фильтрации спама для Python
Я ищу библиотеку Python, которая выполняет байесовскую фильтрацию спама. Я посмотрел на SpamBayes и OpenBayes, но оба, похоже, остались без изменений (возможно, я ошибаюсь).
Может ли кто-нибудь предложить хорошую библиотеку Python (или Clojure, Common Lisp, даже Ruby), которая реализует байесовскую фильтрацию спама?
Спасибо заранее.
Разъяснение. Я действительно ищу Байесовский спам-классификатор и не обязательно фильтр спама. Я просто хочу обучить его, используя некоторые данные, и позже расскажу, являются ли некоторые данные данными спамом. Извините за любую путаницу.
Ответы
Ответ 1
Хотите фильтровать спам или байесовскую классификацию?
Для байесовской классификации существует ряд модулей Python. Недавно я просмотрел Orange, который выглядит очень впечатляюще. R имеет ряд байесовских модулей. Вы можете использовать Rpy для подключения к R.
Ответ 2
Попробуйте Reverend. Это модуль фильтрации спама.
Ответ 3
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')
Надеюсь, что это поможет.
Ответ 4
Попробуйте использовать bogofilter, я не уверен, как его можно использовать с Python.
Bogofilter интегрирован со многими почтовыми системами, что означает относительную простоту взаимодействия.
Ответ 5
SpamBayes поддерживается и является зрелым (т.е. работает, не имея новых выпусков время). Он будет легко делать то, что вы хотите. Обратите внимание, что SpamBayes только слабо байесовский (он использует комбинирование хи-квадрат), но, предположительно, вы следите за какой-либо статистической классификацией на основе токенов, а не чем-то конкретно байесовским.
Ответ 6
Модуль в наборе инструментов естественного языка Python (nltk) делает наивную байесовскую классификацию: nltk.classify.naivebayes
.
Отказ от ответственности: я знаю дерьмо все о байесовской классификации, наивной или мирской.