【Movale Type】ベイズ理論を利用したスパムフィルタプラグインを作ってみた。【人柱用】

追記 2011.04.25

【MTプラグイン】Bayes Spam Filter Ver.0.20をリリースしました。 – KUMA TYPE

 


はじめて見よう見まねでMovable Type用のプラグインなるものを作ってみた。というのも英文コメントスパムがサプリメント見聞録の方に大量に書き込まれるようになったからだ。この際最近お気に入りのAlgorithm::NaiveBayesモジュールを使ってベイズ理論とかベイジアンフィルタとか言われている技術を用いたMovable Type(MT)用のコメントスパムフィルタプラグインを作ってみようと思い立った。
【perlメモ】Algorithm::NaiveBayesのサンプル – KUMA TYPE

結局とりあえず動くものができたのでとりあえず設置して2、3日使ってみたが学習させればちゃんとスパムを判別しているようなのでとりあえず配布してみる。ただ、日本語のスパムが来ないのであまり日本語の方のテストはしていない。どれくらい効果が出るかわからない。多分大丈夫なのではないかと思うが分からないのでとりあえず使ってみたいという人柱向けです。


ダウンロード


インストール

上からダウンロードする と下のようにBayesSpamFilternnn.zip問ファイルがダウンロードされる。
20110891

解凍するとBayesSpamFilterというフォルダが出てくるのでコレをそのまま<mtディレクトリ>/pluginsの中にまるごとアップロードしてください。

20110892

コレでインストールは終わりです。

パーミッションについて特に注意する必要があるのは下記のファイルその他のファイルに付いては読み込み属性が付いていれば特に問題ない。

BayesSpamFilter (700 又は707)
├ ham  (700 又は 707)
├ spam (700 又は 707)
├ debug_log.cgi (606)


使い方

特に使い方と言ってもないのですが、最初はまっさらで馬鹿なので学習させて賢くさせる必要があります。最初から自動でスパムコメントをスパム判定してくれるわけではありません。


学習

MTの設定画面、つまりダッシュボードのメニューでツール>プラグインと選択してプラグイン設定画面に移動します。

20110893

プラグイン設定画面にBays spam filter n.nnと表示されていれば設置は多分問題ないのでそこをクリックします。

20110894

設定をクリックします。

20110895

設定画面が表示されるので、学習させる場合はここからスパムやハムをプラグインに食べさせてください。食べさせれば食べさせるほどプラグインは賢くなってより正確にスパム判別をしてくれる様になるはずです。

 20110896

例えば、スパムコメントがすり抜けた場合は、そのスパムコメントをスパム(spam)のエリアに貼り付けて[変更を保存]をクリックします。この時出来れば、投稿者名・メールアドレス・URL・IPアドレス等の情報も一緒に張り付けると情報が多くなってGoodです。

20110897

逆にスパムではないコメントがスパム扱いになってしまった場合はハム(ham)の領域にそのコメントを貼り付けて[変更を保存]ボタンをクリックします。

20110898

コレを繰り返していけばそのうちスパム判定精度が上がってちゃんと判定してくれるようになるはずです。たまに誤認識したときには同様に学習させます。


動作環境

Movable Type 4系で動作するはずです。MT5は文字コードが変わっているので多分動かないと思われます。Movable Type version 4.35-jaで動作確認しました。

追記:2011.01.27
Movable Type 5系でも動作することを確認しました。


ライセンス

このプラグインは、Algorithm::NaiveBayesを利用するため同梱しています。Algorithm::NaiveBayesについてのライセンスは下のページに書いてあるとおりです。Ken Williams / Algorithm-NaiveBayes-0.04 – search.cpan.org

このプラグイン自体も同様に所謂perl(Artistic and GPL)ライセンスにします。


免責

自分用に作ったものとをとりあえず配布するレベルなのでクオリティーは期待しないでください。このプラグインを使ってMT自体が不安定になることはないと思いますが、ご利用は自己責任でお願いいたします。効果についても過度の期待はしないでください。


その他

分かち書きは最初KAKASIを使おうと思ったのですが、色々面倒なので自前の超適当な処理で分かち書きぽいことをしています。軽くていいど思うんだけど。

ちなみにサプリメント見聞録の方はスキャナーが撤去されてしまい更新できない。(´;ω;`)

タグ : , ,