アルファブックマーカーは誰だ

タイトルは釣り.

こういう言い方があるのかどうかわからないけれど、アルファブロガーとかいう称号同様、アルファブックマーカーみたいな人がいらしゃって、その人がブックマーク付けると多くの人が見に行って、その人たちは自分たちもブックマークを付ける傾向があるんじゃないかなぁと想像しています。

そういう力を持っている人が何人くらいいるかはわからないですが、そんなに多くはないんじゃなかろうか?100人には満たないのでは無かろうか?そんな想像もしているんですよ。はてなブックマークホッテントリは有象無象の集団が創り上げるのではなくその力を持った人たちによるニュースサイトになっているのではなかろうかと思います。

http://d.hatena.ne.jp/tanabeebanat/20080901#1220275251

一度データを取って結果を見てみたかったので,上記を検証してみました.下記の Ruby スクリプトを用いて注目のエントリー ( http://b.hatena.ne.jp/entrylist?sort=hot ) からパブリックなブックマーク数が 10 以上あるエントリーを 9,587 件取得し,URL,ブックマーク数,最初にブックマークした 10 ユーザを列挙してみました.9,587 件と半端な数字になっているのは,データの取得中にはてなブックマークが更新された結果,重複して取得してしまったエントリーがあったためです.尚,スクリプトで用いている hatena モジュールに関しては,Life like a clown - github::clown::ruby-hatena を参照して下さい.

#!/usr/bin/ruby -Ku
require 'hatena'
require 'uri'

SAMPLE = 10000
THRESHOLD = 10

n = 0
session = Hatena::Bookmark::Entry.new
Hatena::Bookmark::URITrace.new("/entrylist?sort=hot&threshold=10").each { |uri|
    entry = session.get(uri)
    next if (entry.users.length < THRESHOLD)
    
    users = entry.users.to_a.sort { |x, y|
        x[1].date <=> y[1].date
    }
    
    print("#{entry.uri} #{entry.count} [ ")
    users.each_index { |i|
        break if (i >= THRESHOLD)
        print("#{users[i][0]} ")
    }
    puts("]")
    
    n += 1
    break if (n >= SAMPLE)
    
    sleep(2)
}

次に,このファイルに記録されているブックマークユーザをカウントして出現数の多い順にソートしました.すなわち,“注目のエントリーにおいてパブリックなブックマーク数が 10 を超える直近 9,587 エントリーの最初の 10 ユーザの出現数一覧”になります.結果の一部を下記に記載します.書式は,左からインデックス,出現数,出現数の累積値,はてブユーザ ID となります(完全な結果は,user_dist.log を参照して下さい).

   0 5339 accum  5339 b:id:Ubuntu
   1 1422 accum  6761 b:id:andsoatlast
   2 1353 accum  8114 b:id:westerndog
   3  643 accum  8757 b:id:yachimon
   4  530 accum  9287 b:id:RanTairyu
   5  523 accum  9810 b:id:yamifuu
   6  486 accum 10296 b:id:fs001493
   7  458 accum 10754 b:id:kitakyudai
   8  427 accum 11181 b:id:zyugem
   9  421 accum 11602 b:id:REV
  10  414 accum 12016 b:id:sankaseki
  11  392 accum 12408 b:id:nkoz
  12  368 accum 12776 b:id:Doen
  13  325 accum 13101 b:id:kanose
  14  319 accum 13420 b:id:ululun
  15  307 accum 13727 b:id:advblog
  16  294 accum 14021 b:id:kosyu
  17  293 accum 14314 b:id:ruku
  18  288 accum 14602 b:id:zephyr_82
  19  281 accum 14883 b:id:yukitanuki
  20  279 accum 15162 b:id:b4-tt

・・・

上記を見ると分かりますが,b:id:Ubuntu が圧倒的でした.9,587 件なので,50% 以上の注目エントリーの最初 10 ユーザーの中に名前が挙がっていることになります.グラフにすると,かけ離れ具合が良く分かります(出現率は,“出現数 / 9,587 * 100).今回調査した範囲だと,b:id:Ubuntu を含めて上位 3 ユーザが頭ひとつ(一人は頭ひとつどころではありませんが)抜け出ているようです.

今度は,累積分布をグラフにしてみます.

赤い線が注目エントリーの最初 10 ユーザの累積分布を表し,青い線が同 5 ユーザの累積分布を表しています.これらの 2 つは,途中まではほとんど同じような曲線を描いているのですが,10 ユーザの累積分布の方が Tail が長いと言う結果が出ています.以下の表は,グラフの 50%,80%,90%,100% の地点でそれぞれ何人のユーザが出現しているのかを表したものです.

5 ユーザ 10 ユーザ
50% 371 386 15
80% 1,706 1,832 126
90% 2,983 3,325 342
100% 6,692 8,828 2,136

この表を見ると,調査するブックマーク数の範囲を倍にしたとしても上位を閉めるユーザの顔ぶれはほとんど変わらない(増えない)ことが分かります.大体 2,000 人程度のユーザがブックマークの 80% を占めているようで,id:naoya の言葉を信じるならば(はてなブックマークのアクティブユーザ数は 7万人程度らしいので),注目エントリー入りするかどうかはわずか3%弱のユーザによってほとんど決まっていると言えます.SourceForge.JP Magazine - Digg のゆくえ で,Digg ではわずか数%のユーザが非常に大きな影響を及ぼしているという指摘がありましたが,はてなブックマークでもやはり似たような状況になっているのでは,と予想できます.

もっとも,ホットエントリー( http://b.hatena.ne.jp/hotentry ) 入りするためには Tail の部分に当たるユーザも数多く集めなければならないのでまた話は異なってきますが.この話は,NO!と言えるようになりたい - Analysis of Social Voting Patterns on Diggを読んだメモ で紹介されている論文の“初期の投票のうち,in-networks経由な投票が多いほど,最終的な得票数は少ない”と言う指摘とつながってくるように予想しているのですが,調査は保留.

追記: 補足エントリーとして,Life like a clown - ブクマ数と被fav数を記述しました.

Appendix

ついでに,取得したデータをブックマーク数順にならべてみました(y 軸は対数軸).以下がその結果となります.y 軸が対数軸でないものはこちら

中央値は 20 ブックマークのようで,“ちょっと注目を集めると 20 ブクマ”という個人的な実感に近い結果だなと思いました.30 ブックマークを超えた辺りで一気に右肩上がりな曲線に変わっているので,この辺りを閾値に考えると良いのかな.ブックマーク数の傾向に関しては,はてなブックマーク・user数の傾向が良くまとまっています.

Download