Hatena::ブログ(Diary)

不可視点 このページをアンテナに追加 RSSフィード

2011-01-30

twitter日本語ユーザーのソーシャルグラフダンプ

twitter日本語ユーザー100万人分のフォローイングとプロフィールのダンプを作成しました。

レコメンデーションの実験や分析に使えるかもしれません。

プロフィール:

108万人分のスクリーンネームや自己紹介文

フォローイング:

103万人分のフォローイング先ID一覧です。

展開すると300万ノード 2.8億エッジになります。(※被フォローエッジを含みません)

以下のURLからダウンロードできます

今回はMongoDBをストレージにしました。ダンプの利用にはMongoDBのインストールが必要となります。

https://github.com/penguinco/yats-socialgraph-dump

使い方:

$ git clone git://github.com/penguinco/yats-socialgraph-dump.git
$ cd yats-socialgraph-dump/
$ less README.md
$ bundle # scripts/tutorial.rbを使うために必要なgemが入ります。

データの準備ができるとこんな感じで使えます。

pp profiles.find_one("screen_name" => 'fuba')

fuba_internal_id = profiles.find_one("screen_name" => "fuba")["internal_id"]
fuba_following = friends.find_one("internal_id" => fuba_internal_id)
shokai_internal_id = profiles.find_one("screen_name" => "shokai")["internal_id"]

#is shokai followed by fuba?
pp fuba_following["ids"].include?(shokai_internal_id)
=> true
#output id csv
friends.find("internal_id" => fuba_internal_id).each do |me|
  puts me["ids"].map{|id| id.to_s}.join(",")[0,100]
end
=> 164743710,51774619,18574112,6064612,175079593,99697384,101801049,123140561,15210265,180215207,156135
#output screen_name csv
friends.find("internal_id" => fuba_internal_id).each do |me|
  result = []
  me["ids"].each do |id|
    prof = profiles.find_one("internal_id" => id)
    if prof != nil
      result << prof["screen_name"]
    else
      result << id.to_s
    end
  end
  puts result.join(",")[0,100]
end
=>164743710,51774619,umaiboo,6064612,kanda_daisuke,bolze_doujin,KEUMAYA,Joey__Jones,0mg,ma2omat2,amasa

便利〜

レコメンデーションの実験とか、プロフィールから分類器とか

Pagerank求めるとかできるのかもしれないですね。

何か面白いものができたら教えてください!

TODO

  • リプライの頻度情報を追加する
  • 定期的に更新される

oonooono 2011/05/17 13:58 はじめまして。
私はWeb Miningの研究をしているものです。
たいへん不躾なお願いなのですが、このTwitterダンプを研究目的に使わせて頂いてよろしいでしょうか?基本的に利益などが発生する研究ではありませんが、念のため、提供者様から許可をいただきたいと考えています。
よろしければ、私までメールを頂ければ幸いです。

code46code46 2011/06/07 21:58 はじめまして。おおのさん。利用していただいて構いません。

nakamuranakamura 2011/08/09 16:30 大変興味深いデータですね。今、ネットワークの次数分布について研究しておりまして、ぜひデータを使わせて頂きたく存じます。集計結果等は公開していきたいと思います。よろしくお願いします。