April 12, 2005

bogofilter さらに自動化

bogofilter、まだまだサンプルが足りないのか、日本語のスパムを結構通してしまう。

そういうわけで、一日一回、スパムとして覚えさせるメールを集めて、
・find . -type f -exec sh -c 'cat {} | bogofilter -sNv' ';'
・終わったスパムをスパムフォルダに放り込む。

なんてことをやっていたのだが、毎日だとめんどくさい。日に日にスパムの認識精度が上がっているのを見るのは楽しいけれど、同じ作業の繰り返しは嫌だ。

というわけで、cronにやらせることにする。

crontab -e から
30 5 * * * cd [誤認識したスパムメールのディレクトリ] && find . -type f -exec sh -c 'cat {} | bogofilter -sNl' ';' && mv [誤認識したスパムメールのディレクトリ]/cur/* [スパムメールの保存ディレクトリ]/cur/
一日一回、朝の5時半にまとめて処理させることにした。

これで後はスパムを通してしまったときのみ、そのスパムを[誤認識したスパムメールのディレクトリ] に置いておけば、勝手に再学習してメールも片付けてくれる。らくちんだ。

ちなみに、同様に非スパムをスパムと認識した場合も、同じやり方で再学習させられるけれど、今のところ必要ないので作ってない。bogofileter、よっぽどスパムだと確信したメール以外は、非スパムと判断するようだ。

投稿者 hide : April 12, 2005 09:47 PM | トラックバック
コメント

きょうusakichiは、ディレクトリへ認識するはずだったみたい。
きのうusakichiが、usakichiはここで繰り返しっぽい認識した?
ここにサンプルが認識した?

Posted by: BlogPetの「usakichi」 : April 14, 2005 10:25 AM
スポンサード リンク