自動メール振り分けツールPOPFileをv.1.1.0からv1.1.1にバージョンアップ

20100331
(クリックで元のサイズで表示)

うちでは、メールの振り分けにPOPFileという自動メール振り分けソフトを使っています。無料のソフト(寄付歓迎)です。メールの振り分け方式はベイズ理論による振り分けです。つまり、最初は馬鹿だけどスパムメールを学習させれば賢くなっていき自動で振り分けてくれるようになります。

上の画像を見てもらえるとわかると思いますが、メールの受信数に比べてご検出はかなり少ないです。割とすぐ賢くなります。ご検出した場合は、履歴の画面で再分類してあげれば次からはちゃんと振り分けてくれます。過去にもPOPFileの記事を書いてるので詳しくはそちらを参考にするかPOPFileのサイトでドキュメントを御覧ください。日本語のドキュメントも揃っています。

20100332 (クリックで元のサイズで表示)

そういうわけで、POPFileを最新版のv1.1.1にしました。

というか、v.1.1.1は一年前に出ていたんですね。いくつかの機能追加とバグフィックスが行われています。その他にはPOPFileはPerlで動作しているのでパッケージに含まれるPerlのバージョンが上がったりしています。詳しくは付属のドキュメントまたは下記のページで見ることができます。

1.1.1 (2009年 9月 26日) [POPFile Documentation Project]

僕が使っているのはWindows版ですが、Perlで作られているので色々なプラットフォーム用のものが用意されています。

さて、今回は単にバージョンアップしただけではなく、分かち書きの方法を変更してみました。POPFileではメールを分類するためにメール内の文章を分かち書きに変換してから分析します。詳しくはWikipediaやググってもらうとして簡単にいうと文章を単語や文の区切りでスペースで区切って表現することです。日本語は英語などと違って文章を単語ごとにスペースで区切って書かないので文章の区切りがコンピュータにとっては明確では無い為、分析するのにこの分かち書きという前処理が必要になります。

POPFileにはあらかじめ3通りの分かち書きの方法が用意されています。外部プログラムのkakasi、MeCabを使う方法と内部処理のみで行う方法です。

元々はkakasiだけだったのかで今も一応インストール時にkakasiが推奨になっています。

しかし、説明によると

内部パーサ:文字種による分類

外部プログラムを使わずに、文字の種類(漢字、ひらがな、カタカナなど)だけをたよりに分かち書きを行います。

辞書を使用した分かち書きに比べ分かち書きの精度は落ちますが、辞書を必要とせず、高速に動作します。

となっており、メモリー資源の消費も少なく高速に動作するというのはちょっと魅力的です。最新のパソコンならいいのですが、うちではかなり古いVAIO PCV-J21MBP(Athlon 1GHz)で動いているのでかなりもっさりなのです。

しかも、

分かち書きの精度とPOPFILEの分類の精度に直接の因果関係はなく、どのプログラムを利用してもPOPFileの分類精度に殆ど差はないという結果が出ている。

とあり、これは内部パーサを使わない手はないでしょう。ということでアップデート時に内部パーサを指定してインストールしました。今まで、学習させたのがもしかしたらパーになるかもしれないと思って今まで避けてきたのですが思い切ってやってみました。結果的には変更してよかったです。1日使ってみた感じですが、特に振り分けの精度が変わったようには感じられません。今までと同じように振りわけられています。今まで学習させた情報はちゃんと受け継がれているようです。

メールの受信は確実に少し高速になったように思います。あとバージョンアップの結果なのかUIも前よりキビキビ動くようになったような気がします。(バージョアップで再起動したからかもしれないけど)

最近のPCだとあんまりわからないかもしれませんが、処理が軽いに越したことはないですよね思います。

最近では、大抵のプロバイダやレンタルサーバでSpamAssassin等のスパムフィルターによってメールの振り分けをおこなってくれますが、僕がPOPFileを利用し続けるのにはそれなりの理由がちゃんとあります。

SpamAssassinもPOPFileと同じようにベイズ理論を使ってメールの振り分けを行ってくれますが、現在はわかりませんが過去に使ってみた感じでは確実にPOPFileの方が振り分け精度が賢いと感じたからです。多分分かち書きの処理がSpamAssassinにはなくて日本語の分析が不得意なのかもしれません。(実際のところは知りませんが)

また、誤認識をしてもブラウザでコントロールパネルを開いて簡単に再分類させることが出来るのがいいです。プロバイダのスパムフィルターだと変なところ勝手にメールが隔離されていたり、再分類させることができなかったりして不便でした。

そして、POPFileだと単にスパムと正常なメールの2通りではなく何通りでも分類することができます。僕の場合は5種類に分類しています。(バケツといいます。)スパムも単にスパムではなく日本語のスパムとそれ以外のスパムでバケツを分けています。分類されたメールはその情報がヘッダーに記録されるのでそれを元にそれぞれ日本語のスパム・それ以外のスパムと専用のフォルダに振り分けるようにメールソフトで設定しています。何のためにそんなことをしているのかというと僕の場合受信するスパムの数がハンパな数ではないのでスパム判定されたメールをいちいち誤認識されていないか全てチェックするわけにもいかないので、日本語以外のスパム判定されたメールはバッサリごみ箱に捨てます。僕に英語のメールが来る可能性はまずないのと外国語わからないからですw。日本語のスパムメールは誤認識のメールが含まれる可能性もあるのでサラッとタイトルをみわたして(見たつもりになって)からごみ箱に移動しますw。

スパムに悩まれている方は是非POPFileを使ってみてください。

短所としては、自分のパソコンにインストールするものなので自分のパソコンのリソースを消費することでしょうか。家では余ったパソコンにPOPFileをインストールしてそこをメールサーバへの中継サーバのようにしているので問題ないですが。

有償のセキュリティーソフトにもスパムのフィルタリング機能があったりすると思いますが、初期の頃はとてもじゃないですがPOPFileに比べて満足出来るものではなかったのでPOPFile以外の選択肢はなかったと思います。最近はどうなんでしょうね。最近はセキュリティーソフト買わないのでわからないです。自分のパソコンのリソースを消費してフィルタリングするのは同じですしね。

最近だとGmailのスパムフィルタが優秀なのでGmailを介してスパムをフィルタリングしてから受信したりする方法などもあるかと思います。

#一番いいのは世の中からスパムがなくなることですけどね。

ようこそ [POPFile Documentation Project]

わかち書き – Wikipedia

◆関連記事

自動メール振り分けツールPOPFileをv1.0.1からv1.1.0にアップデートしました。 – KUMA TYPE

スパムメールのフィルタリング – KUMA TYPE

タグ : ,