Your SlideShare is downloading. ×
  • Like
今日からわかる!ソーシャルグラフ解析
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

今日からわかる!ソーシャルグラフ解析

  • 4,347 views
Published

OSC2012北海道のセッション. …

OSC2012北海道のセッション.
今日からわかる!ソーシャルグラフ解析についての発表資料です.
内容は
・ソーシャルグラフのグラフ構造
・有向グラフ,無向グラフ
・二部グラフ
・データ表現
・ライブラリ
・グラフDBの紹介
となっています.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,347
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
41
Comments
0
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. 今日からわかる!(?)ソーシャルグラフ解析 複雑ネットワークとOSS How many friends do you have? 一般社団法人LOCAL おのでら だいち
  • 2. 小野寺大地(onodes)
  • 3. リアルろくろ小野寺大地(onodes)
  • 4. 自己紹介✓ 苫小牧生まれ苫小牧育ち チーム苫小牧を作りたい✓ 北海道大学大学院 ✓ 複雑ネットワーク,クラスタって何?✓ 一般社団法人LOCAL✓ Ruby札幌✓ 好:酒,寝,肉,肉チャー,二郎,写真,温泉,ヱヴァ✓ 嫌:読書,英語,暑,睡眠妨害,窓...
  • 5. はじめに
  • 6. 本日の目的
  • 7. 本日の目的
  • 8. 本日の目的
  • 9. 本日の目的
  • 10. 複雑ネットワーク✓ グラフ構造を扱う研究分野✓ Twitter,Facebook,blog...も研究対象✓ 友達の友達は友達✓ 世界は狭い✓ 知り合いが超多い人は少なく,それなりの人が多い
  • 11. 複雑ネットワーク✓ グラフ構造を扱う研究分野✓ Twitter,Facebook,blog...も研究対象✓ 友達の友達は友達✓ 世界は狭い✓ 知り合いが超多い人は少なく,それなりの人が多い
  • 12. グラフ
  • 13. 油 野菜 100 75 50 252007 2008 0 2009 2010
  • 14. 油 野菜 100 75 50 252007 2008 0 2009 2010
  • 15. 2007 2008 2009 2010 9% 14%50% 28%
  • 16. 100 75 100 50 75 25 50 2007 0 2008 25 2009 201020072008 0 2009 2010 9% 14% 50% 28%
  • 17. 100 75 100 50 75 25 50 2007 0 2008 25 2009 201020072008 0 2009 2010 9% 14% 50% 28%
  • 18. グラフ?
  • 19. ここで扱うグラフ✓ 人と人✓ モノとモノ✓ 人とモノ
  • 20. ここで扱うグラフ✓ 人と人(一部グラフ)✓ モノとモノ(一部グラフ)✓ 人とモノ(二部グラフ)
  • 21. ここで扱うグラフ✓ 人と人(一部グラフ)✓ モノとモノ(一部グラフ)✓ 人とモノ(二部グラフ)
  • 22. 一部グラフ✓ Twitterのfollow follower関係✓ Facebookのfriend✓ リアルでの友人関係
  • 23. 一部グラフ friend friendfriend friend
  • 24. 一部グラフ follow followfollow follow
  • 25. 一部グラフ followfollow follow
  • 26. 本日の目的
  • 27. 本日の目的✓ じゃあグラフ構造から誰が✓ 「もしかして知り合い?」✓ その人のデータ(居住地)からではできないの?
  • 28. 本日の目的✓ じゃあグラフ構造から誰が✓ 「もしかして知り合い?」✓ その人のデータ(居住地)からではできないの? できない
  • 29. 職歴 学歴 自己紹介基本データ住んだこと ある場所
  • 30. 職歴 学歴 自己紹介 基本データ 住んだこと ある場所全く違う人でも知り合いなことはあるよね?
  • 31. 一部グラフ friend friendfriend friend
  • 32. もしかして知り合い? friend friend friend friend
  • 33. 二部グラフ✓ amazonの購買データなどなど
  • 34. 二部グラフ
  • 35. 二部グラフ
  • 36. 二部グラフ
  • 37. 二部グラフ
  • 38. グラフのみえる化
  • 39. みえる化=可視化✓ ネットワークの可視化✓ 適当に人を配置してもダメ✓ どうすればいい配置になるの?
  • 40. 可視化の方法✓ ランダム配置✓ kkっていう配置✓ FRっていう配置
  • 41. ちょっと実演
  • 42. 可視化✓ Twitterの可視化 ✓ @onodesから友達の友達まで ✓ ユーザ数30000くらい ✓ follow数35000くらい ✓ powered by Gephi & openord
  • 43. 可視化
  • 44. 可視化✓ Facebookの可視化✓ touch graph ✓ http://www.touchgraph.com/
  • 45. 可視化touchgraph
  • 46. グラフの計算
  • 47. グラフの計算✓ コンピュータで計算しようと思ったとき✓ どうやって「繋がり」を保存すれば良いのか?
  • 48. グラフの計算✓ 隣接行列(2次元配列) A B C AA 0 1 0 BB 1 0 1 CC 0 1 0
  • 49. グラフの計算✓ 隣接リスト a,b b,c A B c ... C ... ...
  • 50. このあたりをやってくれる ライブラリ
  • 51. ライブラリ✓ JUNG(Java)✓ iGraph(R,Python)✓ NetworkX(Python)
  • 52. ライブラリ✓ JUNG(Java)✓ iGraph(R,Python)✓ NetworkX(Python)
  • 53. JUNG✓ Javaで書かれたオープンソースライブラリ✓ グラフで表現可能なデータのサポート ✓ モデリング ✓ 分析 ✓ 可視化✓ http://jung.sourceforge.net/
  • 54. JUNG✓ 簡単なソースコードとtutorial(日本語) ✓ http://www.cs.tsukuba.ac.jp/ misue/ open/tutorial/jung2/step1.html
  • 55. JUNGimport edu.uci.ics.jung.graph.Graph;import edu.uci.ics.jung.graph.UndirectedSparseGraph;public class Sample1a { public static void main(String[] args) { Graph<Integer,Integer> graph = newUndirectedSparseGraph<Integer,Integer>(); graph.addVertex(1); graph.addVertex(2); graph.addVertex(3); graph.addEdge(101, 1, 2); graph.addEdge(102, 2, 3); System.out.println("Graph G = " + graph.toString()); }}
  • 56. JUNGimport edu.uci.ics.jung.graph.Graph;import edu.uci.ics.jung.graph.UndirectedSparseGraph;public class Sample1a { public static void main(String[] args) { Graph<Integer,Integer> graph = newUndirectedSparseGraph<Integer,Integer>(); graph.addVertex(1); graph.addVertex(2); graph.addVertex(3); graph.addEdge(101, 1, 2); graph.addEdge(102, 2, 3); System.out.println("Graph G = " + graph.toString()); }}
  • 57. ライブラリ✓ JUNG(Java)✓ iGraph(R,C++,Python)✓ NetworkX(Python)
  • 58. NetworkXimport networkximport pylabg = networkx.Graph()g.add_edge("A", "B")g.add_edge("B", "C")networkx.draw(g)pylab.savefig("network.png")
  • 59. さらに大規模化へ
  • 60. GraphDBの紹介
  • 61. GraphDB✓ GraphDB ✓ あるデータと接続しているデータを調べるために インデックスを参照しない ✓ あるデータからの接続関係でデータを見つける
  • 62. GraphDB friend friendfriend friend
  • 63. GraphDB✓ データベースといえばクエリ✓ GraphDBのクエリは?インデックス参照しない...?
  • 64. GraphDB✓ Query = Traversal ✓ 関係性,接続が大事 ✓ このデータからあのデータまでの最短経路って? ✓ このデータに関係するデータ一覧はどれ?
  • 65. GraphDB✓ 簡単なまとめ ✓ GraphDBを使うべき場面 ✓ あるデータからあるデータまでの距離が知りたい ✓ この人の友達の友達は何人いる? ✓ 使わない方がいい場面 ✓ データの中からこの条件に合うデータを見つける
  • 66. GraphDB✓ 種類 ✓ OrientDB ✓ Neo4j ✓ sones ✓ info grid...
  • 67. まとめ
  • 68. まとめ✓ SNSの普及で人と人,モノとモノの繋がりが見えるよ うになってきた✓ 繋がりから色々「オススメ」ができる✓ この繋がりがネットワーク✓ 扱うにはGraphを扱うライブラリ,DBが有効✓ Facebookとかに色々バレている毎日
  • 69. 今日使ったツールなど✓ Gephi(ネットワーク可視化)✓ iGraph(ネットワーク解析,可視化ライブラリ)✓ JUNG(ネットワーク解析,可視化ライブラリ)✓ OrientDB(GraphDB)✓ Gremlin(GraphDBアクセス用インタフェース)