Develop and Download Open Source Software

Here's a old version of this document. You can revert to this version if needed.

How to use bsfilter

1. ざっくり、どうなっているの?

1.1. 単語(token)のspam確率から判定する

あらかじめtokenごとのspam確率を求めておき、メールの中にspam確率の高いtokenが多く含まれていたら、そのメールがspamであると判定する。

1.2. 準備が必要

実際に使用を開始する前に、spam確率を求めるという準備が必要である。判定済のメール内のtoken出現回数を求め、spam / (clean + spam)により確率を求める。--add-clean, --add-spam, --updateというコマンドで準備を行う。

2. やってみよう

2.1 準備

実際に判定する前に、データベースを準備する必要がある。

2.1. cleanなメール中の単語を数える。

% bsfilter --add-clean ~/Mail/inbox/*

2.2. spam中の単語を数える。

% bsfilter --add-spam ~/Mail/spam/*

2.3. 単語ごとにclean/spamな確率を求める。

% bsfilter --update

以上で準備完了。

2.2 判定

* コマンドライン引数で判定対象のメールを指定する例。0から1の範囲で、spam確率が表示される。

% bsfilter ~/Mail/inbox/1
combined probability /home/nabeken/Mail/inbox/1 1 0.012701
* 標準入力から判定対象のメールを入力する例。spamの場合、exit statusが0になる。
~% bsfilter < ~/Mail/inbox/1 ; echo $status
1
~% bsfilter < ~/Mail/spam/1 ; echo $status
0
* ~/.procmailrcから呼ぶときのサンプルレシピその1。exit statusを利用して、spamをspamフォルダに移動する。
:0 HB:
* ? bsfilter -a
spam/.
* ~/.procmailrc</code>から呼ぶときのサンプルレシピその2。spamに X-Spam-Flag:、X-Spam-Probability:ヘッダを追加し、X-Spam-Probabilityの示す確率に従い、blackフォルダ、grayフォルダに移動する。
:0 fw
| /home/nabeken/bin/bsfilter --pipe --insert-flag --insert-probability
:0
* ^X-Spam-Probability: *(1|0\.[89])
black/.
:0
* ^X-Spam-Probability: *0\.[67]
gray/.

:0
* X-Spam-Probability: *0\.67
gray/.
}}}

4. 使い方

5. 使い方(IMAP編)

6. 使い方(POP proxy編)

7. FAQ

8. バグ