19


15

私はベイジアンスパムフィルタリングをするPythonライブラリを探しています。 私はSpamBayesとOpenBayesを見ましたが、どちらもメンテナンスされていないようです(私は間違っているかもしれません)。

ベイジアンスパムフィルタを実装した良いPython(またはClojure、Common Lisp、さらにはRuby)ライブラリを提案できますか?

前もって感謝します。

明確化:私は実際には_Bayesian Spam Classifier_を探していて、必ずしもスパムフィルターを探しているわけではありません。 私はただいくつかのデータを使ってそれを訓練したいと思いますそして後である与えられたデータがスパムかどうか私に言いたいです。 混乱して申し訳ありません。

6 Answer


12


http://bazaar.launchpad.net/~divmod-dev/divmod.org/trunk/files/head:/Reverend/[Reverend]を試してください。 これはスパムフィルタリングモジュールです。


11


スパムフィルタリングやベイジアン分類が必要ですか。

ベイジアン分類には、Pythonモジュールがいくつかあります。 私はつい最近、 オレンジを見直しました。 Rにはいくつかのベイジアンモジュールがあります。 Rにフックするために Rpyを使うことができます。


9


RedisBayesは私にはよさそうです:

私の経験ではRedisはあなたのスタックへの素晴らしい追加であり、MySQL、PostgreSQLあるいは他のRDBMSと比べて非常に速いスピードでデータを処理するのを助けることができます。

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

rb.train( '良い'、 '日差し薬はセックスロブスターナマケモノを愛する')rb.train( '悪い'、 '恐怖死ホラー政府ゾンビ神')

rb.classifyをアサート( 'ナマケモノはとてもかわいい私は彼らを愛して')== '良い'アサートrb.classify( '私は神を恐れて政府を愛している')== '悪い'

print rb.score( '私は神を恐れ、政府を愛しています')

rb.untrain( '良い'、 '日差し薬はセックスロブスターナマケモノを愛する')rb.untrain( '悪い'、 '恐怖死ホラー政府ゾンビ神')

それが少し役立つことを願っています。


3


http://bogofilter.sourceforge.net/[bogofilter]を使用してみてください、私はそれがPythonからどのように使用されることができるかわからない。 Bogofilterは多くのメールシステムと統合されています。


3


http://spambayes.org[SpamBayes] *維持*され、成熟している(すなわち成熟している)。 常に新しいリリースを用意する必要はありません)。 それはあなたが望むことを簡単にするでしょう。 SpamBayesは大まかにベイジアン(カイ2乗結合を使用します)であることに注意してください、しかし、おそらくあなたは特にベイジアンではなく、何らかの統計的なトークンベースの分類の後にいるでしょう。


1


Python自然言語ツールキット(nltk)のモジュールは、単純ベイズ分類を行います。http://nltk.googlecode.com/svn/trunk/doc/api/nltk.classify.naivebayes-module.html[`nltk.classify.naivebayes `]。

_免責事項:_私はベイズ分類についてのがらくたを知っています。