はてなブックマークの「タグ」を含む人気ページのランキング方法を例とした、グローバルな人気度とローカルな人気度の差

先日のエントリで、グローバルな人気度はあまり役に立たず、ローカルな人気度が重要との議論をした。そこで、グローバルな人気度が有効でない例として、はてなブックマークの「タグ」を含む人気ページのランキングを取り上げる。

「タグ」を含むページでは、エントリをブックマーク数の多い順にランキングしている。この、ブックマーク数はグローバルな人気度である。その為、タグによっては、ランキングが不適切なことがある。例えば、タグ「javascript」のランキング結果の上位5件は次の通りである。

  1. http://www.fct.co.jp/benri/
  2. http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html
  3. Ajaxを勉強しよう
  4. Dreamweaverの代わりになるフリーソフト「Aptana」 - GIGAZINE
  5. http://www.geocities.jp/multi_column/

「ちょっと便利帳 福島中央テレビ」は便利なページであり、ブックマーク数も1680と多い。しかし、javascriptで最も人気の高いページとしては不適切であろう。実際、このページのjavascriptタグでのブックマーク数はたったの3つである。

では、どのようなランキング・アルゴリズムならば適切なのだろうか?先日のエントリで述べたように、ローカルな人気度を使えば、良いランキング結果が得られることが多い。そこで、タグ「javascript」でのブックマーク数ランキングしてところ、次の結果が得られた。

  1. http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html
  2. Dreamweaverの代わりになるフリーソフト「Aptana」 - GIGAZINE
  3. Ajaxを勉強しよう
  4. アルクでお金を借りるならちょっと待って!
  5. Qooqle

最初のランキングよりは、よりjavascriptらしいページが得られている。なお、この結果は、通常のランキングでの上位15エントリを再ランキングしたものなので、全エントリを再ランキングすれば、もっと良い結果が得られるだろう。

実験ページを用意したので、他のタグでも試してみてください。
http://llamerada.sakura.ne.jp/tagrank/rank.cgi

本エントリでは、「タグ」を含む人気ページは、ローカルな人気度に応じてランキングした方が適切であるとの主張をした。ただし、ローカルな人気度によるランキングは、グローバルな人気度によるランキングよりもコストが高い。実際、後者の実現にはRDBMSで十分だが、前者の実現には全文検索エンジンが必要なことが多い。その為、グローバルな人気度でランキングされているのかもしれない。