19

Bayesian Spam Filtering を行う Python ライブラリを探しています。SpamBayes と OpenBayes を見ましたが、どちらもメンテナンスされていないようです (間違っているかもしれません)。

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

前もって感謝します。

明確化: 私は実際に探しているのはベイジアン スパム分類器であり、必ずしもスパム フィルターではありません。いくつかのデータを使用してトレーニングし、後で特定のデータがスパムであるかどうかを教えてください。混乱して申し訳ありません。

4

6 に答える 6

11

スパム フィルタリングまたはベイジアン分類が必要ですか?

ベイジアン分類には、多数の Python モジュールがあります。私は最近、非常に印象的なオレンジをレビューしていました. R には多数のベイジアン モジュールがあります。Rpyを使用して R にフックできます。

于 2009-02-17T19:35:52.873 に答える
11

牧師を試してみてください。これは、スパム フィルタリング モジュールです。

于 2009-02-18T15:50:37.477 に答える
9

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

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

私の経験では、Redis はスタックへのすばらしい追加機能であり、MySQL、PostgreSQL、またはその他の RDBMS と比較して非常に速い速度でデータを処理するのに役立ちます。

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

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

于 2012-08-11T20:11:51.980 に答える
3

bogofilterを使用してみてください。Pythonからどのように使用できるかわかりません。Bogofilter は多くのメール システムと統合されているため、比較的簡単に接続できます。

于 2009-02-17T19:10:11.767 に答える
3

SpamBayes 保守されており、成熟しています (つまり、常に新しいリリースがなくても動作します)。それはあなたが望むことを簡単にします。SpamBayes は大ざっぱなベイジアン (カイ 2 乗結合を使用) に過ぎないことに注意してください。ただし、おそらく、特定のベイジアンではなく、統計的なトークン ベースの分類を行っていると思われます。

于 2009-04-30T09:31:01.917 に答える
1

Python自然言語ツールキット(nltk)のモジュールは、単純ベイズ分類を行いますnltk.classify.naivebayes

免責事項:私はベイズ分類について、ナイーブまたは世俗的なものをすべて知っています。

于 2009-06-10T20:44:01.667 に答える