dh memoranda

徒然なるままに日暮らしブログに向かいて...

anti-spam filtering

以前から、わたしのメールアドレスには大量の spam mail が流れ込んできます。そりゃ、わたしのアドレスは、もう5年以上使っているのだし、いろいろなところで使っていますので、仕方がないのかもしれませんが、最近は月に毎日数十通、月に千通を越えることもめずらしくありません。簡単なフィルタを作って対処していたのですが、さすがに多種多様な spam mail に対応するのが面倒になってきました。

tmda がいいよと教えてもらって、しばらく試していたのですが、whitelist アプローチでは、わたしの場合は不向きに思えてきました。情報リテラシにふれてきていない方とのメールのやりとりもあり、そういう方に confirm メールを出してもらうのは少々辛いですし、そもそも、アドレス帳の登録すら面倒くさいわたしには、whitelist の管理なんてとてもできそうにありません。

さらに調べていたら「A Plan for SPAM」に書かれている「ベイジアンフィルタ」がなかなか良さそうに思えてきました。自分で作るか、と一瞬思いましたが、メールクライアントの機能として実装しないと意味がないのでは、と考え直し躊躇していました。しかし、ありがたいことに、Mozilla 1.3 が対応していました。もちろん、imap でも ok で、いままで溜めたメールをうまく活用できそうです。さっそく試してみました。

いままで溜め込んだメールのうち、比較的最近の5000通程度から、前述の簡単なフィルタにひっかかった spam mail 1000 通ほどを使って学習させました。いちいち、imap でメールを取ってきて学習するので、ちょっと時間はかかりますが、基本的に自動的なので比較的楽な作業です。その後、最近来たメールを spam check させて、ひっかかった正常メール、ひっかからなかった spam mail をその都度学習させること数回、だいたい1000通で20通の誤認識というところまできました。いいメールを spam と判定するのがまだ 2,3 通あります。ちなみに、アドレス帳に特に頻繁にやりとりをする人を、自分を含めて20人くらい登録して、それは除外するように設定しています。

誤認識したメールは、デジタルガジェット系の spam mail だったり、昔の知り合いからの宣伝のメールだったりするのが、なんとなく面白いところです。いまのところは、アマゾンからの宣伝メールと、発送しましたメールをきちんと判別していて、なんかスゴイと思ってしまいました。日本語のメールでもうまくいっているようにも思いますが、対応しているんだっけ?

と、どこまで信じていいのか、いまだに半信半疑ではあるのですが、しばらく使ってみようかと思います。