« センター試験 | Main | boost::variant »

January 16, 2005

spamとの闘い

以前@niftyの学習型spamフィルタ「迷惑メールフォルダ」機能を絶賛したのだが、最近この機能の弱点も明らかになってきた。日本語spamに対しては無力なのである。去年の暮れあたりからアダルト系の日本語spamが1日に10通前後来るようになって、どれも毎回同じ文面なのだが一向に学習しない。ちょっとぐぐってみると同じ事で悩んでいる人も多いようだ。

完全に推測でしかないが、ベイジアンフィルタの学習データを単語単位で切り出していて、日本語メールに対しては特に形態素解析等の特別な処理をしていないので、判定・学習が行われないということではないだろうか。単語単位のベイジアンフィルタはそもそも文面が単語に分かれているという英語の性質に大きく依存したものであり、日本語spamに対するフィルタリングにおいてはもう少し工夫をする必要がありそうである。Yashiromann氏xhl氏がベイジアンフィルタの研究をしていたようであるが、その辺(どうした|するつもりだった)のだろうか。xhl氏はn-gram方式か。えっとn-gramってn文字の連接を1つのトークンと見なす方式、ということでいいんだよね?

このようにサーバー側でのフィルタリングも完全ではないし、これまで@nifty以外のアカウントへのspamは垂れ流し状態だったので、Becky!2用spamフィルタプラグインBkASPilを入れてみた。

これは大きく分けて
・オンラインのspamデータベース(発信者IPなど)を元にした判定
・ローカルに学習したベイジアンフィルタを元にした判定
を組み合わせてspam判定を行うもので、特に前者のデータベース判定だけでもほとんどのspamははじける感じである。データベースに対する登録や問い合わせもプラグインが自動でやってくれるので、ユーザーは普通のspamフィルタのようにメールを選択してspamかどうかの判定を与えるだけでよい。後者のベイジアンフィルタについては、試験的ながら日本語メールにも対応しているようである。

しかしながら実際のところ一番困っているspamは@niftyの迷惑メールフォルダをすり抜けるメールだ。@nifty宛のメールはメインのアカウントであるということで、PHSに転送して読めるようにしているのだが、迷惑メールフォルダをすり抜けた時点でPHSにspamも転送されてしまう。「オプション メール放題」にしているので何通来ても金銭的に損をするわけではないのだが、しょっちゅう着信バイブがなるのでうざいことこの上ない。この問題はPC側にBkASPilを入れてもどうにもならないのであり、@niftyが一日も早く日本語spamに対応することを望みたい。

|

« センター試験 | Main | boost::variant »

Comments

自分で作ったときは、エンコードされていたらそれをそのまま1文字ずつに区切って処理した。英語よりやっぱり精度は落ちるのと、ゴミがたくさん入るせいでデータベースが大きくなってしまう。でもまぁ何も考えないよりはいい結果が出た気が。

Posted by: おーくら | January 17, 2005 at 02:29 AM

あ。1文字って2バイト分ずつってこと。

Posted by: おーくら | January 17, 2005 at 02:30 AM

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/39126/2591180

Listed below are links to weblogs that reference spamとの闘い:

« センター試験 | Main | boost::variant »