スパム対策に欠かせないベイズ理論とは?(1/2 ページ)

スパム対策ソフトの多くが採用するベイジアンフィルターの基本的な考え方を紹介する。(IDG)

» 2005年02月07日 20時17分 公開
[IDG Japan]
IDG

 測定できなければ科学は成立しない、と言う人がいる。ベイズ理論は、以前は測定できなかった物の測定方法を提示する。仮説や予測を検証し、結論や決断を洗練していく。この理論を利用したベイジアンフィルターは、今、スパムコントロールの分野でホットな話題となっている。

 扱う要因と可能性が限定されている場合、基本的な確率の計算は簡単だ。例えば、出走馬が10頭の競馬レースを考えてみよう。どの馬に賭けるかの根拠となる情報が、「出走馬が10頭」だけであれば、どの馬を選んでも、勝つチャンスは10分の1だ。しかし、こんな計算を競馬場に持ち込んだら、たちまち財布は空になってしまう。現実の世界はもっとはるかに複雑だ。そしてここに、ベイズ理論の出番がある。

 実際には、10頭の出走馬はそれぞれ、すでに少なくとも数レースは経験している。つまり、戦歴がある。ライトニングという馬が連戦連勝で、サンダーという馬が出走したすべてのレースで負けていれば、それはサンダーではなくライトニングに賭ける確実な根拠になる。

 現実に、レースに出る馬にはもっと多くの情報があるものだ。次のような情報が分かっているか、簡単に調べることができる。

血統 その馬は優勝馬の子孫か。きょうだい馬の成績はどうか。

天候による成績の違い 朝のうちに雨が降って重馬場になったら、その馬のスピードにどう影響するか。

枠順 内枠か外枠か。その馬はその位置でどう勝負するか。

前レースとのインターバル もし昨日長くハードなレースに出走していたら、今日はどう走るか。

レースの距離 同じ距離の過去のレースで、どんな成績を出しているか。

 他人の賭け方からも影響を受ける。それが馬の走りに影響を与えることはないが、勝った場合の配当金の額に明らかな影響を与える。

 こうした情報のすべては、10頭中の1頭という単純な予測よりもましな勝ち馬予想を可能にする。これらの要因を分析するのがベイズ処理だ。

 同様なことは、膨大な統計記録を扱うメジャーリーグの世界でも起きている。球団のオーナーとGMは、ベイズ分析を用いて選手のさまざまな状況や特殊な場面での働きを研究し、その情報を、ドラフトやトレードする選手の決定に役立てている。

ベイズ理論に基づくスパム対策

 ベイズ理論に基づくスパム対策アプリケーションは、ポール・グラハム氏が2002年に発表した論文「A Plan for Spam」に端を発する。このアプローチはすぐに多くの開発者に受け入れられた。ベイジアンスパムフィルターは、ある特定の言葉がスパムの兆候を示し、ほかの言葉はメッセージがまともであることを示す、という考え方に基づいている。内容採点型のほかのタイプのフィルターもこの考え方を用いているが、ベイジアンフィルターの場合、スパムの兆候を示す言葉と特徴の独自のリストを生成し、手動で作成するリストを必要としないという利点がある。

 ベイジアンフィルターはまず、スパムだと分かっているメールの集まりと、まともなものだと分かっている別のメール群を調べる(事前情報)。これら2組の内容――メール本文だけでなく、ヘッダ情報、メタデータ、単語の組み合わせ、フレーズ、さらには使用する色の指定情報を表すHTMLコードまで――を比較する。この結果から、以後受信するメールがスパムか否かを効果的に判断するための、言葉つまりトークンのデータベースを構築する。

 ベイジアンフィルターは、メッセージの文脈全体に配慮する。例えば、スパムメッセージの件名にはよく「無料」という単語が含まれているが、まともなメッセージにもこの単語が使われることがある。ベイジアンフィルターはこの単語に気付くが、メッセージ内のほかのトークンも調べる。なぜなら、大事なメールを間違えてスパムと判定すること(偽陽性の判断)は、スパムの一部をまともなメールとして通してしまうよりも問題が大きいからだ。

       1|2 次のページへ

Copyright(C) IDG Japan, Inc. All Rights Reserved.