いかにしてspam blogを排除すべきか

Blogは情報の更新頻度が高いのが利点で、直近の情報を得たい時にはBlog検索を重用しているのだが、ここ最近はspam率が高くて困っている。
単に店の宣伝用というか新着情報更新を目的にBlogを使うような例は、まあそれほど気にならない。「○○が新発売」なども情報としては無為ではないし、気になるなら「-購入」などで結構除外できる。
問題は、アフィリエイト目的の情報盗用系spamだ。最近増えた手法で、独自にキーワードに関連したエントリを収集、それを自動的にBlogに掲載する。元の文章は確かにBloggerによって書かれたものだから検索結果への表示も自然で、実際に開くまで気付かないことも多い。しかし実際にはぶつ切りの情報寄せ集めだから有意な情報などまったく得られない。せめて元情報へのリンクでもあればまだ可愛気があるのだが。


本来ならBlogサーヴィスが対処すべき問題かとは思うが、現実問題として投稿内容をチェックして自動処理するような仕組みを作るのは困難であろうし、精々閲覧者からの報告に対処する程度のことしかできそうにない*1
無論検索サーヴィスも手をこまねいているばかりではなく、独自にフィルタリングを実行しているようではある。実際にどの程度の精度が出ているのか、ちょっと見てみた。

テスト方法

同一キーワードで検索して50件まで取得。その中にspamと判断できるものがいくつあるかを確認する。
spam認定にさしたる基準はないので、あくまで感覚的な判断となることはご容赦頂きたい。

キーワード

選出にさしたる意味はない。ただ、基本的にアフィリエイトあるいはpv稼ぎ目的と見られるので商品に繋がるキーワードがいいだろうということで選定した。

テストするBlog検索エンジン

Googleで「ブログ検索」を検索した結果の1ページ目から、自前検索でないものを除いた8種。

結果

キーワード Technorati Yahoo! Google livedoor Ask.jp goo アクセラナビ
ミニベロ 24/26 32/18 38/12 38/12 50/0 27/23 32/18
ベビーカー
ニンテンドーDS

(手間がかかるので取り敢えずミニベロのみ集計)やはり検索の巨頭Googleの成績が良い……と思ったらAsk.jpがなんと満点。どういう処理をしているのか、非常に興味がある。
取り敢えず今回は全50件のS/N比を見ただけだが、実質的に検索結果上位に示されるものほどクリック率も高まると思われる*2。より適正に集計するには、適合度順表示にした上で表示順による重み付け評価をして集計するのが妥当だろう。件数上は同じS/N比でも上位にノイズばかりのものとそうでないものでは評価が分かれて然るべきだ(とは言え、本当に上位のノイズ成分が低いデータなら上位50件あたりにはほとんどノイズがなくなるだろうから、結果としては概ね単純S/N比を以て近似できると言えるかも知れないが)。

*1:スクリプト処理で大量開設+自動投稿されるのを防ぐために、新規アカウント取得時にCAPTCHAを導入してはどうか。エントリ投稿毎、というのも考えたが流石にやりすぎに思えるので

*2:通常検索のように適合率順の場合は概ね正しい評価だが、ブログ検索ではしばしば更新順表示であったりするのでこの評価基準は適正でない。とは言え実質的に、ユーザは上から順にクリックしてゆくという使い方に慣れているだろうとは考えられるのでやはり上位のものほど重みを付けた集計にすべきか知れない