NP_cles()

123456789101112131415161718192021222324252627282930

ベイジアンフィルタでspamを防ぐプラグイン?

 
投稿者:hsur 投稿日時:2006-09-20 - 21:07
カテゴリー:Nucleus Tips - / / - トラックバック(0)- Views: 178

本家ではNP_SpamBayesというベイジアンフィルタでspamを防ぐプラグインが話題になっているようです。先日リリースされたばかりなのですが、積極的にバージョンアップされています。

spambayes [Wiki:NucleusCMS]

This plugin will add Spam bayesian filtering to your weblog.

ベイジアンフィルタは確率を利用して推論を行うためのアルゴリズムで、身近なところだとSpamAssassinやThunderbirdなどspam振り分けとしてはいろいろなところに搭載されています。非常に興味があるプラグインなのですが、現在のところ日本語のspamを認識することができません

ベイジアンを使うには前処理として文章を分かち書き*1する必要があります。英語などのようにもともと単語の区切りがスペースによってわかる言語ならばよいのですが、日本語のように単語の区切りが一見してわからないような言語においては分かち書きをするためのツールをつかわなければなりません*2

実際にソースでその部分を確認してみたのですが、連続したアルファベットの塊であって、長さが一定以上、一定以下であった場合に一つの単語として認識するようになっていましたので、jp版を作成するとすればこの部分を日本語分かち書き対応にしなければなりません。

このあたりのツールとしてはChasenとかKakasiとかMeCabなんかが有名ですけど、サーバの設定によらずにPHPから呼び出し可能な方法があればjp版を作ってみるのも面白いかも知れないですね。ちなみに分かち書きするコストは結構馬鹿にならないはずなんで、作ってみたけど重すぎて使えないという可能性も十分あるので、そのあたりは悩ましいところです。

このエントリは役に立ちましたか?

  

トラックバックについて [policy]

Trackback URL:
Trackbacks
このエントリにトラックバックはありません

Comments [policy]

kimitake wrote:

スパムのほとんど(うちの場合全部)が英文ってこと考えると、オリジナルのまんまでも使えそうですね ^^;

あぁ、そういえば変なトラックバック(日本語)が来てたなぁ。trackback の方はまだ古いの使ってるので、送信元の記事に自分とこの url がなくても受け付けちゃうんですよね。

2006-09-22 23:41 <%HatenaAuth()%> 

hsur wrote:

あー、確かにそうですね。。。。。。。
しばらくオリジナルのままで使ってみるっていうのも手ですねぇ。

2006-09-23 09:23 <%HatenaAuth()%> 

樋口 理 wrote:

メールのスパム除けにcrm114というベイジアンフィルタ+kakasiを使って、とてもうまく動いているので、私もこれ、興味あります。

分かち書きのコストですが、呼び出されるのはコメントやトラックバックのイベントが発生したときだけですから、そんなに気にすることはないんじゃないかという気がします。
サーバーの設定に依らないユニバーサルな呼び出し方法ってのはむずかしそうですけど、いちばん汎用性のある呼び出しはパイプ渡しかもしれないですね。
ご参考までに、DokuWikiの全文検索のインデクサーにMeCabを無理矢理くっつけたときのコード。
http://www.higuchi.com/doku...

2006-10-07 01:40 <%HatenaAuth()%> 

hsur wrote:

樋口さんいらっしゃいませ。。

ポインタありがとうございます。いまは例のセキュリティ騒ぎでそちらの火消しに奔走している状況ですけど、そちらがひと段落したらNP_SpamBayes jpに挑戦したいと思っています。

# 自宅サーバー限定になってしまうかも知れないですけど。

2006-10-08 01:23 <%HatenaAuth()%> 

yama wrote:

NP_SpamBayes試してみましたが、ログがあまり頼りにならず。効いてるのか効いてないのかピンときません。いずれここが改良されたらじっくり使ってみたいです。いちおうしっかり効いてるみたいですが。

日本語対応については実際のところどうなのかなという気がしています。日本語トークン処理が必要という話はよく聞くのですが、実際にいろいろ試した実感としてはほとんど関係ないような。対応してないのに日本語スパムを正確に処理できるフィルターもありますし。

2006-10-17 21:10 <%HatenaAuth()%> 

yama wrote:

あっ。前にも同じようなコメント書きましたね。汗

「Outlook用のSpamBayesが日本語トークン処理してないわりに正確な判別ができている」ということを書きましたが、英文スパムではなく日本語スパムをちゃんと処理できてます。トークン処理してるはずのサンダーバードよりずっと精度高いですよ。

2006-10-17 21:16 <%HatenaAuth()%> 

hsur wrote:

メールの場合は結構ヘッダが大きな情報を持ってるんで、本文が使えなくてもそれなりに動くんですけど、NP_SpamBayesは本当に本文しか見てないのでちょっと未知数かなと。。。。

とりあえず、日本語化については引き続き構想中ですんでしばしお待ちを。

2006-10-17 23:02 <%HatenaAuth()%> 

yama wrote:

なるほど、それはそうでした。2行しかないようなスパムメールでも正確に処理できるのは、そりゃそうですね。

2006-10-18 10:02 <%HatenaAuth()%> 

yama wrote:

http://japan.cnet.com/news/...
http://www.itmedia.co.jp/ne...
上記のAPIサービス、日本語処理対策に使えたりするのかな?と思いました。

2007-06-20 09:24 <%HatenaAuth()%> 

hsur wrote:

ありがとうございます。
そう思って早速作ってみました。

2007-06-21 02:27 <%HatenaAuth()%> 

Add Comments

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン