我正在寻找一个python库,用于贝叶斯垃圾邮件过滤。我看了SpamBayes和OpenBayes,但两者似乎都没有维护(我可能是错的)。
有人能推荐一个实现贝叶斯垃圾邮件过滤的好的Python(或Clojure,Common Lisp,甚至Ruby)库吗?
谢谢提前。
澄清:实际上,我正在寻找一个贝叶斯垃圾邮件分类器,而不仅仅是一个垃圾邮件过滤器。我只想使用一些数据对其进行训练,并在以后告诉我某些给定的数据是否为垃圾邮件。对于任何混淆,我很抱歉。
我正在寻找一个python库,用于贝叶斯垃圾邮件过滤。我看了SpamBayes和OpenBayes,但两者似乎都没有维护(我可能是错的)。
有人能推荐一个实现贝叶斯垃圾邮件过滤的好的Python(或Clojure,Common Lisp,甚至Ruby)库吗?
谢谢提前。
澄清:实际上,我正在寻找一个贝叶斯垃圾邮件分类器,而不仅仅是一个垃圾邮件过滤器。我只想使用一些数据对其进行训练,并在以后告诉我某些给定的数据是否为垃圾邮件。对于任何混淆,我很抱歉。
尝试使用Reverend。它是一个垃圾邮件过滤模块。
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')
SpamBayes是一款成熟的软件(即它不需要经常发布新版本就可以正常工作),并且得到了维护。它可以轻松地完成你想要的任务。请注意,SpamBayes只是松散的贝叶斯分类器(它使用卡方组合),但是假定你追求的是任何基于统计令牌的分类方法,而不是特别是贝叶斯方法。
nltk.classify.naivebayes
。