UTF-8
【トップペー ジへ飛んでみる…】
bsfilter for windows を thunderbird で使ってみるテスト。(2006/04/09-)

おことわり。

 このページは、以下のページにある内容の追試となっています。
 なお、以下の記述は「雑記/えもじならべあそび(相沢かえでが綴る無変換な日記)」を普段書 いてる奴によるものですので、日記の内容と似たように「推敲などをせず」だらだらと書いています……基本的に推敲は苦手なのですよorz。書くこと自体は 好きなのですが。

(2006/04/09)

更新履歴。

 2006年5月9日13:03:38 - (typo) r e w i t e を r e w r i t e に全文置換。


(2006/05/09)

導入環境説明。

 私は、次の環境に bsfilter を導入しました。

 以下にだらだらと手順を示していきます。細切れに区切っていますので、一つずつ確認して導入する方が良いかも。

(2006/04/09)

補助ツールのダウンロード。

 まずは、 bsfilter for windows の動作に必要な2つのツールをダウンロードします。置き場所が一定ではないので、検索経由で。
 この2つは、解凍後に %windir%\system にコピーします。
 大抵は C: ドライブに windows というフォルダがあって、その下に system というフォルダがあるはずです。そういう環境では「 c:\windows\system 」にコピーすることになります。

 ※注意!!以下、全て の説明は「 c: 」ドライブ下にある「 bsfilter 」というフォルダの中に bsfilter が入っているものとして説明しています。

(2006/04/09)

bsfilter本体のダウンロード。

 次に、bsfilter設 定メモ(Windows編)に従って、bsfilterの公式サイトか らWindows版のbsfilterをダウンロードします。

 これを解凍すると、中には「 bsfilter 」というフォルダが 入っているはずです。それを c: ドライブのルートにコピーしてください。
 フォルダごとコピーすることで、 c: ドライブのルートには bsfilter というフォルダが現れて、中には bsfilter の本体が入った状態になっているはずです。

(2006/04/09)

憎き spam メールを分類し溜めてきた方に朗報。

 さて、今までに thunderbird で spam ファイルを溜めてきた方に朗報です。
 thunderbird が採用している mbox 形式のファイルは、 bsfilter の spam 判定用データに変換して使用することが出来ます。

 まずは thunderbird に保存している spam フォルダを探してみましょう。

 私の場合、手動で除去していた spam は、 thunderbird 上で「 !spam! 」というフォルダと「checked」というフォルダに振り分けていました。
 Windowsのファイル検索(スタート→検索)で同じ名前を「ローカルハードドライブ全て」から検索してみると、巨大な「 !spam! 」「 checked 」というファイルが存在します。これが thunderbird での 「 !spam! 」や「checked」フォルダの中身です(気になる方はテキストエディタで見てください)。
 ここで見つかった「 spam メールを溜め込んだファイル」は、先の c: ドライブのルートににコピーした bsfilter というフォルダの中にコピーしておきましょう。
 (パスさえ設定すればコピーは必要ないのですが、作業を簡易化するためにはコピーする方が楽)


 次に、先に見つかったファイルの名前を変更します。
 (特に変更理由はないのですが、以下に示すバッチファイルにあわせるため)
 私の場合、次のように変更しました。

 次に、ここで名前を変えた spam ファイルの集合体を、 bsfilter に読み込ませてみましょう。

 メモ帳などを使って次のバッチファイルを書きます。
c:\bsfilter\bsfilter.exe --homedir c:\bsfilter --mbox -su -v spam1.mbox.txt
c:\bsfilter\bsfilter.exe --homedir c:\bsfilter --mbox -su -v spam2.mbox.txt
pause

 保存するときの名前は……「c:\bsfilter\spam_initialize.bat」とか、そういう名前で。
 これで「c:\bsfilter」の中に「spam_initialize.bat」というバッチファイルができました。

 で、このバッチファイルを実行します。
 しばらく(私の環境では2分ほど)色々処理がなされて、最後に「何かキーを押してください」という表示が出ました。
 これで、あなたの bsfilter は、「あなたにとって spam と看做しうるファイル」をとりあえず記憶しました。

 ちなみに、ここで学習させた後の spam メール(コピーし改名したもの)は、コレ以降は使用しませんので、削除してしまってもかまいません。

(2006/04/09)

thunderbird メーラの設定。

 次に、thunderbirdメーラを設定しましょう。
 「メッセージ→アカウント設定」を開き、スパムをフィルタリングしたいアカウントの「サーバ設定」を開きます。

 サーバ名は「localhost」に、ポートは「10110」に、それぞれ変更します。
 ※注意!!このとき、 元から記述してあった「サーバ名」はメモして置いてください。bsfilter の設定時にそのまま転記します。
 
 次に、thunderbird 上で bsfilter で排除したメールを放り込むフォルダなどを作成します。
 私の場合は次の3フォルダを作成しました。
 次に、bsfilter を通過しスパム認定されたメールを「 !!bsfilter-spam-nocheck 」へと放り込むためのフィルタを設定します。
 bsfilter は、スパム認定したメールのヘッダ欄に「 X-Spam-Flag:Yes 」というコメントを書き加えますので、このヘッダコメントを見て振り分けるように設定するわけです。

 「ツール→メッセージ」を開き、対象アカウントで「新規」ボタンをクリックします。
これで Thunderbird 側の設定は完了。

(2006/04/09)

bsfilter の設定。

 次に、 bsfilter に設定ファイルを一つおきます。
 エクスプローラなどで「c:\bsfilter」フォルダを開き、枠内ファイル名表示欄の適当な場所で右クリックします。
 「新規作成→テキストドキュメント」を選択し、「 新規テキスト ドキュメント.txt 」というファイルが「c:\bsfilter」フォルダ内に作成されます。
 このファイルを開いて、次のように記述してください。
homedir c:\bsfilter
pop
pop-proxy-set pop.hogehoge.fugafuga.ne.jp:::10110
insert-flag
insert-probability
auto-update
tasktray
 ※注意!!このとき、 「pop.hogehoge.fugafuga.ne.jp」はそのまま転記しても動作しませ ん。先にメモしておいた「サーバ名」を書いてください。

 記述し 保存しましたら、このファイル名を「 新規テキスト ドキュメント.txt 」から「pop.conf」へと変更してください。


 bsfilter はメーラの代わりに pop.hogehoge.fugafuga.ne.jp へとアクセスし、SPAM判定を行った後のメールは localhost:10110 から取り出すことができます。
 先ほど thunderbird メーラで、元の設定を消して「 localhost:10110 」を設定した理由はコレ。
(2006/04/09)
bsfilter を自動起動させる設定。

 さて、では bsfilter を自動起動させるための設定をしましょう。
 「c:\bsfilter」フォルダを開き、「bsfilterw.exe」を見つ けてください。そのファイルを右クリックしつつ少しだけドラッグしてから離し、 右クリックメニューを出してください。
 「ショートカットを作成」という項目がありますので、これを選択します……そうすると、同じフォルダの中に新たに「 bsfilterw.exe へのショートカット 」というショートカットが作成されました。

 次に、このショートカットで右クリックし、このファイルの「プロパティ」を開きます。
 そこで出てくるリンク先に「 c:\bsfilter\bsfilterw.exe --config-file c:\bsfilter\pop.conf 」と記述し「OK」ボタンを押します。

 記述が終わったら、この「 bsfilterw.exe へのショートカット 」を「スタート→すべてのプログラム→スタートアップ」にコピーして、設定作業完了!

 ここで直接このショートカットを起動してもいいのですが、今後の動作検証も考え て、一旦ログオフしておきましょう
 (もちろん、本来はログオンする必要性はまったくないのですが……今後 bsfilter をなるべく意識せず使うためには、動作確認から普段どおりにやれる方がいいと思いますので、とりあえずログオフしてください。)

(2006/04/09)

bsfilter を実際に使ってメールを受信する。

 さて、では bsfilter を経由してメールを受信してみましょう。
 ログオフ→ログオンしましたか?

 ログオンすると、先ほど 「スタート→すべてのプログラム→スタートアップ」にコピーしておいた「 bsfilterw.exe へのショートカット 」が読み込まれて、Windowsタスクバー右側には「 bsfilter 」の文字が出ていますね。
 では、 thunderbirdメーラを起動してみましょう。

 予め spam メールの取り込みを行っていた場合、正しく動作していれば、ほとんどの spam メールは「 !!bsfilter-spam-nocheck 」へと放り込まれているはずです。
 コレで、 thunderbird 上で人力で行っていた「日本語spamメール」の分離はだいぶ簡単になったはずです。
 このフォルダは今まで同様にちょくちょくチェックして、 spam メールだと判った物については全選択して「右クリック(アプリケーションキー)→マーク(K)→迷惑メールとしてマーク(J)」とするなり、そのまま廃棄 するなり……そこはご自由にどうぞ、ということで。

(2006/04/09)

bsfilter の誤判定結果について、再教育を行う。

 では、最後に……残していた部分について説明します。
 上記2つのフォルダに突っ込んだ「判定ミスメール」を、 bsfilter に再教育するための方法が必要ですよね。

 では、この2つの「メールが収蔵されたファイル」の「置き場所」を探してみましょう。やり方は「憎き spam メールを分類し溜めてきた方に朗報。」と共通で、Windowsの検索機能を使います。
 但し、今度はファイルの「コピー」はしません。場所とファイル名を調べるだけです。


 では、ファイル名が調べ終わりましたら、エクスプローラなどで「c:\bsfilter」フォルダを開き、枠内ファイル名表示欄の適当な場所で右クリッ クします。
 「新規作成→テキストドキュメント」を選択し、「 新規テキスト ドキュメント.txt 」というファイルが「c:\bsfilter」フォルダ内に作成されます。
 このファイルを開いて、次のように記述してください。
echo スパムではないのにスパムと判定されたメールについての再教育を行う。
c:\bsfilter\bsfilter.exe --homedir c:\bsfilter -cSu -v --mbox "c:\thunderbird_mail_place\hogefuga\profile.default\Mail\Local Folders\Inbox.sbd\!!bsfilter-rewrite-to-ham"
echo スパムなのにスパムではないと判定されたメールについての再教育を行う。
c:\bsfilter\bsfilter.exe --homedir c:\bsfilter -sCu -v --mbox "c:\thunderbird_mail_place\hogefuga\profile.default\Mail\Local Folders\Inbox.sbd\!!bsfilter-rewrite-to-spam"
pause

 ※注意!!このとき、 「 c:\thunderbird_mail_place\hogefuga\profile.default\Mail\Local Folders\Inbox.sbd 」はそのまま転記しても動作しませ ん。あなたの環境に合わせてフォルダ名を書き換えてください。
 ※注 意!!再教育用ファイルの置き場所が「 !!bsfilter-rewrite-to-ham 」や「 !!bsfilter-rewrite-to-spam 」ではない場合、あなたの環境に合わせてファイル名を書き換えてください。

 このとき、おそらくフォルダ名には「半角スペース」などが交じると思います。
 そのため、「 --mbox 」の後に続くファイル&フォルダ名については「 ダブルクォート (") で括る」必要があると思います。
 記述し保存しましたら、このファイ ル名を「 新規テキスト ドキュメント.txt 」から「!!bsfilterの再教育.bat」などへと変更してください。


 bsfilter の誤判定が出た場合には、
のうち該当するフォルダへとメールを移動させて、後は「!!bsfilterの再教育. bat」を実行してやればOKです。

 再教育後のメールは、適当に処理してください……。

(2006/04/09)

最後に。

 一切図表を用いず作成したため、見づらくなってしまったかも知れず申し訳ありませんでした……。
 なお、 bsfilter で spam ファイルによる学習を行った場合、結構多くのメールが「SPAM」判定されます。
 今までどおり過信はせず、きちんとメール内容の再学習は行わせる必要がありそうです。

 #まぁ、「自分が求めるいくつかのメールはHamで、他はすべてSpam」という考え方が正しいならば、本来は「始めはSpamに分類されるべき」とい うほうが正しいことには違いないと思います。極端な話、送った本人にとっては「広告であってもHam」であり、受信する側にとっては「私から見れば Spam」ということもあるはずですし。Ham/Spam判定って、なかなか難しいジャンルですね……。

(2006/04/09)


 このページに関するコメント(歓迎、罵倒、疑問、質問、感想、その他もろもろ)は、 こちらBlogの コメ ント欄にお寄せ下さ い。

【トップページへ飛んでみる…】