Forums: users (Thread #18313)

X-Spam-Probability の値について (2008-04-17 11:55 by Anonymous #36080)

vine linux 4.2 にて fetchmail + procmail でメールを取得し、procmail にて
bsfilter を使用しております。

使用しているパッケージは以下の通りで全て vine 製のモノを apt にてインスト
ールしました。

fetchmail-6.3.8-0vl2
procmail-3.22-0vl4
bsfilter-1.0.16-0vl2

.procmailrc には以下のコマンドでメールの spam 判定をさせています。

# bsfilter用レシピ
:0 fw
| /usr/bin/bsfilter --homedir /home/***/.bsfilter --pipe --insert-flag --insert-probability


学習については、毎日 X-Spam-Probability が 0.4 ~ 0.6 の値を付与
されたメールについて目視で spam と non-spam を振り分け、
spam は
$ bsfilter --add-spam --sub-clean メールファイル
non-spam は
$ bsfilter --add-clean --sub-spam メールファイル
として
$ bsfilter --update
としています。

担当しているインターネットサービスのアドレスに来るメールで、
X-Spam-Probability の値が下がらないモノがあります。
正確には、procmail 中にて付与された X-Spam-Probability の値と
コマンドラインから取得出来る値に大きな差がありどうしてこの差が出る
のかを追求出来ず困っています。

procmail で付与された値を見ると 0.49**** なのですが、コマンドラインにて

$ bsfilter 該当のメールファイル(*)

とすると以下の表示となります。
combined probability ** 1 0.000000
# ** はメールファイル

学習の結果、該当のメールは spam では無いと判定されるようですが、procmail
を通した結果はグレイ判定となっています。

ちなみに fetchmail はデーモン起動として、各ユーザのホームディレクトリに
配置されている .fetchmailrc に応じて動作をするよう設定しております。

ちなみに各プログラムの実行権限は以下の様になっております。
$ ll `which bsfilter`
-rwxr-xr-x 1 root root 104331 3月 8日 11:13 /usr/bin/bsfilter*
$ ll `which fetchmail`
-rwxr-xr-x 1 root root 242323 8月31日 2007 /usr/bin/fetchmail*
$ ll `which procmail`
-rwxr-xr-x 1 root mail 80048 9月20日 2006 /usr/bin/procmail*

fetchmail → procmail の処理で、もしかしたら root 権限で実行がされてい
るため、bsfilter は root で学習している情報を使用しているのかと思い、
上記のメール(*)と同じモノを食わせてみましたが

# bsfilter 該当のメールファイル(*)
combined probability ** 1 0.000127
# ** はメールファイル

という結果で、procmail 上で動作させ、X-Spam-Probability が付加された
場合とやっぱり値が違っています。

長々とすみませんが、こちらについて procmail 上にて付加された値とコマ
ンドラインと得られる結果が同じとなる方法をご存じの方がいらっしゃいま
したらご教授頂けますでしょうか?

ちなみに spam だと判断(僕環境での基準で)しているメールは

X-Spam-Probability: 0.706194

$ bsfilter **
combined probability ** 1 0.660069

# bsfilter **
combined probability ** 1 0.999708

でした。

よろしくお願いします。

Reply to #36080×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: X-Spam-Probability の値について (2008-04-19 14:09 by zxcv3794 #36123)

> # bsfilter用レシピ
> :0 fw
> | /usr/bin/bsfilter --homedir /home/***/.bsfilter --pipe --insert-flag --insert-probability

"***" は伏せ字ですね? 以下、誤解を避けるために foo とします。

それから、"-a" を指定されていませんが、意図があるのでしょうか?

学習時に "--sub-clean" とか "--sub-spam" とかするのなら、判定時に "-a" を付けるのが普通だと思いますが。


> bsfilter は root で学習している情報

Bsfilterは、学習の結果を --homedir で指定されるディレクトリ下のデータベースに記憶します。

--homedir オプションが無い場合はconfigファイルだとか環境変数とか気にすべき条件が多いので、正常に動くまでは --homedir をどんな場合に指定するのが簡単です。

手操作でBsfilterを動かす時に、
$ bsfilter (ファイル名)
とするのと
$ bsfilter --homedir /home/foo/.bsfilter (ファイル名)
とするので同じ結果になりますか?

また、X-Spam-Probability が 0.4 ~ 0.6 をグレーゾーンとされている様ですが、デフォルトの境界値は 0.95 です。 特別な意図がありますか?
Reply to #36080

Reply to #36123×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: X-Spam-Probability の値について (2008-04-21 11:51 by Anonymous #36165)

ご回答ありがとうございます。

> それから、"-a" を指定されていませんが、意図があるのでしょうか?

http://bsfilter.org/
上記ページの「6. 使い方」に
-----
* filtering modeで--(synchronous-)auto-updateが指定されているときは例外で、spamの判定、データベースの更新、両方を行う。
-----
とありますので、ご指摘の「普通」では無く、「例外」として判定、更新をさせたい場合にはあえて付加するオプションだと判断しております。
ですので、僕は自動学習させたくないので使用していません。

> 手操作でBsfilterを動かす時に、
> $ bsfilter (ファイル名)
> とするのと
> $ bsfilter --homedir /home/foo/.bsfilter (ファイル名)
> とするので同じ結果になりますか?

同じです。
ちなみに SPAM も食わせて見ましたが全く同じ値になりましたので --homedir の指定が無くても参照しているデータベースは同じモノだと思います。

> また、X-Spam-Probability が 0.4 ~ 0.6 をグレーゾーンとされている様ですが、デフォルトの境界値は 0.95 です。 特別な意図がありますか?

http://bsfilter.org/
上記ページの「4. やってみよう」の一番最後に下記の様に記載されていますが、
-----
:0
* ^X-Spam-Probability: *0\.[67]
gray/.
-----
こちらは個人的に設定している閾値で、「デフォルトの境界値は 0.95 」であるため、この数字に添った設定を行わねばならないといった決めが設けられているとは考えておりませんので投稿時に書かせて頂いた値になっています。


filtering mode で期待した結果を得るためのヒントについてお教え頂けますでしょうか?
Reply to #36123

Reply to #36165×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: X-Spam-Probability の値について (2008-04-21 22:32 by zxcv3794 #36215)

filtering mode で期待した結果得られない原因を調べる為に Bsfilter を手で起動すると言うアプローチは正しいと思います。 まずそれを成功させるのが第1段階でしょう。


/home/foo/.bsfilter 下の各ファイル(データベースと bsfilter.conf) のパーミッションは、手で起動した Bsfilter から必要な読み書きができますか?


上記の問題で無い場合ですが、procmail から起動された Bsfilter が挿入した X-Spam-Probability の値を A とします。

$ bsfilter (ファイル名)

の結果を B(≠A) とします。

B を得た直後に

$ su -
$ bsfilter --homedir /home/foo/.bsfilter (ファイルパス)

とやると、結果は A,B のどちらと同じですか? どちらとも違いますか?


ところで、お困りの内容は、「グレー判定メールの学習が、全般的にうまくいかない」ですか? それとも「一部のメールだけうまくいかない」ですか?
Reply to #36165

Reply to #36215×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login