はてなブックマークはロングテールになっているか
前エントリでソートしたホットエントリーを眺めてみると,上位と下位のブックマーク数に大きな差があるようです.
グラフにしてみると,いわゆるロングテールの形状になっていて,
しかもテール部分のブックマーク総数の方が,1割弱大きいことが分かりました.
ホットエントリーでも100倍近い差がある
ブックマーク数順でソートした2010年分のホットエントリーを見てみます.
最小で50users,最大で5151usersのブックマーク数となっており,100倍近い差があります.
まあ,50もブクマしてもらえれば充分という気もしますが...
$ head -5 output/part-r-00000 50 Xbox360「アイドルマスター2」2011年春発売を発表--5年越しのナンバリング新作ついに登場! - GameSpot Japan http://japan.gamespot.com/news/story/0,3800076565,20416188,00.htm 54 【速報】ドイツ優勝決定 クローゼ神:アルファルファモザイク http://alfalfalfa.com/archives/399156.html 59 白待ちユーザー涙目! 7月末発売予定のiPhone 4ホワイトモデルは、数量限定に : ギズモード・ジャパン http://www.gizmodo.jp/2010/07/_7iphone_4.html 60 海上保安庁のビデオ流出について|田母神俊雄オフィシャルブログ「志は高く、熱く燃える」Powered by Ameba http://ameblo.jp/toshio-tamogami/entry-10706376846.html 61 痛いニュース(ノ∀`):【邦楽】 オリコンデイリー、アニメ「けいおん!!」OPEDがワンツーフィニッシュ http://blog.livedoor.jp/dqnplus/archives/1468629.html $ tail -5 output/part-r-00000 4250 買ってよかったものまとめサイト http://mono-mono.com/ 4390 20歳を過ぎてから英語を学ぼうと決めた人たちへ | The Wisdom of Crowds – JP http://wisdomofcrowdsjp.wordpress.com/sitemap/english/ 4429 Windows XP(Vista)の起動時の長いディスクアクセスは、Windows Updateの履歴が溜まりすぎていたせいだった?! - 全力HP http://zenryokuhp.com/blog/archives/2010/11/windows_xpwindo.php 4432 やる気に関する驚きの科学 http://www.aoky.net/articles/daniel_pink/dan_pink_on_motivation.htm 5151 世界史講義録 http://www.geocities.jp/timeway/
ロングテール,そういえば実データで見たことない
さて,このデータを見るとグラフにしてみたらどうなるか?と思いますよね.それがこちらです.
※データが多すぎると見づらいので,100位ごとに間引いてプロットしています.
何となくロングテールっぽくなるのではと思っていましたが,その通りと言ってもよいのではないでしょうか.
これまではイメージ図でしか見たことがなく,実データで確認したことはなかったので,新鮮な感じがします.
それにしても,上位数百位までのブックマーク数の伸びは半端ない.
ヘッドとテールはどちらが大きいか
wikipedia:ロングテールによると,ロングテールの上位部分をヘッド,下位部分をテールと呼ぶらしいです.
このヘッドとテールどちらが大きいのか,というのも気になります.
厳密な定義はないのですが,ヘッドを上位20%,テールを下位80%として総ブックマーク数を算出してみました.
class Bookmarks def initialize(filename) @filename = filename @bookmarks = file_to_array @users = sort_users @boundary = (@users.size * 0.2).round end def head_users @users[0..@boundary].inject(0) { |sum, i| sum + i } end def tail_users @users[@boundary + 1..-1].inject(0) { |sum, i| sum + i } end private def file_to_array bookmarks = [] File.open(@filename) do |file| file.each do |line| bookmarks << line end end bookmarks end def sort_users @bookmarks.reverse.map { |bookmark| users_at(bookmark) } end def users_at(bookmark) users, *other = bookmark.split("\t") users.to_i end end bookmarks = Bookmarks.new('output/part-r-00000') puts bookmarks.head_users puts bookmarks.tail_users
実行すると,
2089666 => ヘッドの総ブックマーク数 2279181 => テールの総ブックマーク数
となり,テールの総ブックマーク数が上回っています.
これはヘッドの109%に相当し,1割弱テールの方が多いことが分かりました.
インターネットのひろがりを感じさせるデータではないでしょうか.