James Seng's blog: Bayesian filter for MT
メールサーバーでspamassassinというベイジアンフィルタ搭載のツールを現在便利に使っています。
今までブログでのコメントスパムは受けた事が無いのですが、念のためにMT用のベイジアンフィルタを導入してみました。
実際にどう動作するかはスパムを受けてみないとわからないのですが、このフィルタ、コメントやPINGの一括削除なんかも出来て、良くできているっぽいのでとりあえず使い続けてみることにします。以下利用方法など…
導入は上記サイトからmt-bayesian-1.1.tar.gzをダウンロードして展開。
以下はreadmeのインチキ翻訳です。
1. インストールする場所は以下のごとし
{MTDIR}
o mt-bayesian.cgi (パーミッションは755)
{MTDIR}/plugins
o mt-bayesian.pl
In {MTDIR}/lib/MT
o Bayesian.pm
o BayesianBlog.pm
o BayesianToken.pm
{MTDIR}/lib/MT/App
o BayesianTrain.pm
{MTDIR}/tmpl/cms
o bayesian_menu.tmpl
o bayesian_list_blog.tmpl
o bayesian_list_comments.tmpl
o bayesian_list_pings.tmpl
3. (オプション - mysql, postgres又は他のDBIエンジンを使っている時)
3.1. 展開して出来た bdb/ フォルダを {MTDIR}/bdb/ に転送。
3.2. bayesian-init-db.cgi を{MTDIR}に転送してパーミション755にし
4. いじょ!すげー簡単だろ!?
以下の3種類のタグがテンプレートで使えます。
例 ('私のComment Listing Templateの場合')
以下のような使い方では動かない。

トレーニング方法
http://your.blog.com/path_to_mt/mt-bayesian.cgiという感じで、mt-bayesian.cgiにアクセスするとわかります。
基本はmt.cgiの画面と同じですが、"Manage Comments" 又は "Manage Pings" という項目が増えています。クリックすると、コメント又はピングの一覧が出ます。
デフォルトは全く学習していないので、すべてのコメントやピングはSpamが50%と表示されます。個別にスパムかどうかのチェックをして[TRAIN]ボタンをクリックすれば学習してくれます。
又 DELETE [CONFIRM] ボタンをクリックすれば、スパムとしてチェックしたコメントやピングが削除されます。[ALL] で全削除です。
[DELETE SPAM] ボタンはすべてのコメントとピングを消してしまうので間違ってクリックしないように注意してください。![]()
2004年1月28日加筆:
コメントスパムが届いた方からサンプルをいただき、自分でコメントとして登録してみました。
名前、メールアドレス、URL、本文をそのまま入れてコメントとして投稿。
IPアドレスはspamでないと学習ずみの自分のIPなので、このままだとspamにはなりません。0%と表示されてしまうと思います。
phpMyAdminが使えるのなら、テーブル mt_comment を選択し、表示タブをクリック。該当するコメントを表示させたら鉛筆と紙アイコンの[修整]をクリック。comment_ipをspamのものに修整して実行ボタンをクリック。MTをリビルドすればIPの変更ができます。リビルドしてもベイジアンフィルタを再度通ってはいないのでspam 0%のままですが、気にせずにManage Commentsでspamにチェックを入れてTRAINボタンをクリック。100%と表示されれば学習OKです。
タグが正しく設定されていれば、spamと認定されたコメントは表示されません。spamコメントのデータは残っているので、Manage Comments画面で削除してしまいましょう。コメント自体を削除したとしてもベイジアンフィルタのデータベースからはこのspamの記録は消えることはありません(たぶん)。
追記:
LunaTearさんのところに日本語対応のやり方がありました。
Kakasiのモジュールを利用します。
Kakasi本体はここ
Perlのモジュールはこっち
本当に学習させたいのなら、1000通くらいのspamを食べさせるといいのですが、なかなかそうもいきませんね。
追記:
MT3.1ではデザインが崩れますのでテンプレートの修整を加える必要があるようです。
以下に修整方法があります。
http://espion.just-size.jp/archives/04/328122907.html
mugenさん、はじめまして☆
うちのブログはMT3.01ベータ日本語版にしたばかりなんですが
つい最近、1日600件以上のコメントスパムを受けてしまい・・・その削除作業がめんどーくさいのなんの・・・
それで、TypeKey ID取得者のみコメント可能仕様に設定し直したら、今度はコメント数が激減・・・
どーしたものか。。と思って
また大量なスパムコメントを受けてももっと簡単に削除出来るような方法はないものかとweb上で検索したところ、こちらのエントリーを見つけました。
解説がとてもわかりやすかったので参考にさせていただき、うちでも早速導入してみました。ありがとぉございました。
あとTBも打たせていただきました。それからBP登録もさせていただきますねッ!どーぞよろしくお願いしますデス
はじめまして、こんばんは。
大変参考になりました。ありがとうございます。
…ところで申し訳ありません。
不慣れなもので、トラックバックを連続3つも送信してしまいました。大変大変、申し訳ありません。削除して頂けると幸いです。
この話を聞いて私もコメントが入るとe-mailで知らせが来るようにしました。
本当に勉強になるMugen氏のBlogです。
ほほー、MTにもSPAMフィルターがあったとは
すごいですね。
わたしはデフォルトオープンで運用して、メールによる報告をはずしていたため
いつのまにやらSPAMされてました。
気づいて削除しまくったのですが。
大変でしたよ。
SPAMコメントを削除しまくれるだけでも
価値があるかも