米議会や霞ヶ関では、「スパム防止法」が話題になっているが、私はスパムの問題はベイジアン・フィルターによって基本的に終わったと思う。代表的なのは、オープンソースのPOPFileで、最近はMozilla Thunderbirdなどにも標準装備されるようになった。

最初に数十通も振り分けると、ソフトウェアが自動的に学習し、1000通も受信すると、スパムの99%以上は排除できる。効率が悪い場合は、詳細設定で"unclassified weight"を10000ぐらいに上げればよい。あまり選別率を上げると、正しいメールが排除されるfalse positiveがたまに出るが、これもログが残るのでチェックできる。

ベイジアン・フィルターは、統計学で「ベイズの定理」とよばれる18世紀に発見された原理にもとづいている。ある単語(の組み合わせ)を含むメールがスパムである確率を、実際のスパムに含まれる単語を解析してアップデートするのだが、実際の役に立ったという話は聞いたことがない。原理は単純だが、解析の作業量が膨大になるからだ。

しかしメールのように入力と出力が単純で、コンピュータの処理能力が上がると、いくらでも高度な解析が可能になる。ニューラル・ネットなどを使えば、もっと効率的な学習ができるようになるかもしれない。