ruby による bayesian filter の実装.
準備
1. bsfilter を ~/bin にでも置く.
2. 環境変数の設定
export BSFILTERHOME=$HOME/.bsfilter
$HOME が設定されていれば,$HOME/.bsfilter が使われる.
$HOME が設定されていなければ,bsfilter があるディレクトリになる.
3. bsfilter.conf の用意
imap-server localhost imap-auth cram-md5 imap-user fumi imap-password ********
imap で使うので上のようなかんじに.
imap のパスワードを書くので,パーミッションを 600 に.
4. データベースの作成
- clean なメール
bsfilter --imap --add-clean inbox.ML.Ruby-list
- spam
bsfilter --imap --add-spam inbox.SPAM
- 単語ごとに clean / spam な確率を求める
bsfilter --update
使い方
procmail と組合せて使う場合
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/.