April 10, 2005

スパムフィルタを bogofilter + kakasi に

gmailのスパム除去、割といいんだけど、英文のメールに対してはbogofilterに軍配が上がる。

そういうわけで、bogofilterを日本語に対応させる方法を試してみる。

まずはbogofilter + kakasiのパッチをもらってくる。

bogofilter も改めてダウンロード。前に入れたのが、0.17.5だったのだが、今回のは0.92.8。ずいぶんバージョンが上がっている。

で、パッチは3種用意してくれていますが、ばっちりあうのが無い。一番近い、0.92.7用をバージョン番号だけ変えて当ててみる。1箇所だけエラーになったので手動で変更。

./configure
make

make でまたエラー。configure.in が無いと言っている。config.in があったので、リネームして使う。今度はできた。

make install で /usr/local/bin/ の bogofilterが更新された。

スパム用のデータベースは今まで物をそのまま使用し、日本語のスパムを大量に登録。これでうまくいくかと思いきや、イマイチ精度が出ない。

しょうがないので、データベースの作り直し。
スパムじゃないメールのディレクトリで
find . -type f -exec sh -c 'cat {} | bogofilter -nv' ';'
うちにある半年分ほどのスパムコレクション、約5万通のメールディレクトリに移動して、
find . -type f -exec sh -c 'cat {} | bogofilter -sv' ';'

これがなかなか終わらない。夜に始めて次の日の朝にも終わってない。丸一日はかからなかったものの、ちょっと時間かかりすぎ。

新しいデータベースでのスパム判定は、日本語以外では以前のまま、ほぼ完璧。日本語も以前はほとんど通していたものが、半分くらいは通さなくなってくれた。データベースをもっと鍛えれば、かなり使えそうだ。

というわけで、Gmailでのスパムフィルタはやめてしまった。やっぱり自前で用意できるのなら、そっちを優先したいからね。

投稿者 hide : April 10, 2005 10:53 PM | トラックバック
コメント
スポンサード リンク