April 11, 2004
ベイジアンフィルタだけじゃなかったのですね
研究室にて筒石さんとベイジアンフィルタについてお喋り。その帰り、数ヶ月前の『日経バイト』にスパムフィルタの実験記事が載っていたことを思い出し、おうちに帰ってさっそく読んでみる。
スパムフィルタというと、ベイズ推定を用いたベイジアンフィルタこそが唯一のアプローチのように思いこんでいたのだが、そうではないらしい。記事の中で取り上げられていた製品を分類すると次のようになる。
(i)ベイズ推定を使ったもの
→Eudora, Norton AntiSpam, McAfee SpamKiller, Mozilla, POPFile
(ii)Support Vector Machine(SVM)を使ったもの
→Microsoft Outlook
(iii)判定ルールを使ったもの
→ウイルスバスター
ベイズ推定を使ったものがもっとも多いのは当然として、興味深いのは残る2つのアプローチ。Outlookでは個々のメールを特徴ベクトルで表現、ベクトル空間上にマッピングし、SVMでスパムと非スパムに空間を分割する。どうやってメールから特徴ベクトルを作るのかがもっとも重要な部分なのだが、これについては記事中にはまったく触れられていない。これについては暇なときにでもサーベイしてみようとおもう(調べても出てくるかどうかはわからんけど)。ウイルスバスターでは、「この単語がメールに登場したら、スパムポイントをこれだけプラスする」のような単純なルールを2000個も設定し、すべてのルールを総合した結果が閾値を超えればスパムとする。
記事中では、これら現行のスパムフィルタが、どれも単語のレベルでしか解析を行っていない、つまり文法や意味の領域に踏み込んでいないことにも触れられている。よって、スパムメールを引用した警告メール(以下のようなメールが出回っているので注意するべしという旨の情報システム部からの警告文の後に、スパムメールの文章を引用したもの)などは、どの製品もスパムとして判断してしまうとのこと。実際、単語の情報のみでは分類精度に限界があることが考えられ、目聡い人たちはより高度な自然言語処理技術をスパムフィルタに組み込む方法を考え始めているんだろうなあ、と思った。
Trackback
You can ping this entry by using http://windy.ac/MT/mt-tb.cgi/342 .
