Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
『入門 ソーシャルデータ』9章 Facebook:オールインワンのソーシャルウェブ環境2012/03/16 @torazuka第9回 『入門 ソーシャルデータ』真面目に勉強する会
発表担当: torazuka        こんにちは!IT系の会社で働くエンジニアです.クラウド回りの社内向け技術支援をしています.https://twitter.com/torazukahttp://d.hatena.ne.jp/toraz...
今回の資料●   このスライド    ○   Googleグループ「集合知の会」で共有         ■ https://groups.google.com/group/StudyGroup_CI             「この本の優れたとこ...
これまでの流れ●   1章 イントロダクション : Twitterデータのハック     ○ 環境構築●   2章 マイクロフォーマット: セマンティックマークアップと常識のずれ     ○ XFNやGeocoordinatesなどの活用●  ...
9章 Facebook:オールインワンのソーシャルウェブ環境● 9.1 ソーシャルネットワークデータへのアクセス  ○ 9.1.1 10分でわかるアクセストークンの取得  ○ 9.1.2 FacebookクエリAPI● 9.2 Facebook...
Facebookソーシャルネットワーキングサービス2012年3月現在,8億3千万ユーザー世界で最も訪問者の多いサイト「常連ユーザが大勢いるサイトには面白いデータが多数集まる」ソーシャルデータを収集・分析する対象として興味深い上に,手段(API・...
「オールインワン」8億ユーザーがFacebook上で様々な活動をする ● 公開ステータスの更新 ● 自分のしていることや考えていることの伝達 ● メッセージの交換 ● リアルタイムチャット ● 写真の共有 ● 「チェックイン」による居場所の共有...
9章の著者の主張私たちの手にすでにあるもの――つまり,●   豊穣なプラットフォーム●   強力なデータマイニングAPI●   この本の8章までで学んだ多くの手法これらを活用して,Facebookのソーシャルデータを分析するアプリケーションをど...
ユーザのプライバシー保護を考慮(参考)http://developers.facebook.com/policy/次の3つを守ることが求められています●   Facebook利用規約●   原則●   ポリシーソーシャルデータを扱う場合,特に関...
9.1 ソーシャルネットワークデータへのアクセスFacebookのOAuth2.0フローを利用アプリを作成するにはホスティングが必要ホスティングせずに動かす方法は補足資料を参照くださいFacebookで新規アプリケーションを作成する手順1.  ...
(参考)Facebookアプリの作成開始
アクセストークンの取得(p.292) 9.1.1 10分でわかるアクセストークンの取得アプリが入手可能な情報が書かれた"有効期限付きチケット"を発行してもらうイメージ                    発行                 ...
Permissions ●   デフォルトで「basic information」にアクセスできる     ○ id, name, picture, gender, locale, age range ●   それ以上の情報へのアクセスには,明...
(参考)アクセス対象のFacebookデータFacebookはアクセス対象をきめ細かく選択させるuser_about_me            user_interests              user_relationshipsuse...
friends_about_me            friends_interests              friends_relationshipsfriends_activities          friends_likes ...
9.1.2 FacebookクエリAPI4つのツールが紹介されている.重要なのは2つ ●   REST API                               deplicated     ○   http://developers...
Graph APIがサポートするオブジェクト(p.299)例として,執筆時点より後に追加されたオブジェクトを紹介します●   Achievement(Instance): ユーザのゲーム業績●   Comment: コメント●   Domain...
Graph APIオブジェクトの取得http://graph.facebook.com/{オブジェクトのID}にリクエストを送るオブジェクトのIDにユーザIDを入れて試してみるとよいユーザの基本情報が取れるまた,末尾に?metadata=1を付...
FacebookのPythonSDK本文で紹介された公式Python SDKhttps://github.com/facebook/python-sdkは…                               deplicated   ...
API利用イメージ(p.p.303-305)例9-5 facebook__graph_queey.py  gapi = facebook.GraphAPI(ACCESS_TOKEN)  result = gapi.request(search,...
FQLSQLのサブセット select      name, sex, relationship_status   より複雑な問い合わせを from      user                                      ...
9.2 Facebookデータの可視化ここからは,Facebookデータの分析例と可視化ツールの紹介です1. 取得できるデータを把握し,2. どんな分析を行うかを考え,3. 可視化ツールを選択して,4. 実行する(データ収集→分析→整形→可視化...
(余談)可視化ツールの選定ソーシャルネットワークの可視化ツールに重要な6つの機能●   総覧●   ノードのランク付け●   エッジのランク付け●   ノードの表示●   コミュニティの発見●   エッジの種類インタラクションの重要性Socia...
9.2.1 ソーシャルネットワーク全体の可視化1JavaScript InfoVis Toolkit  http://thejit.org/(p.311)RGraphを使った可視化例9-13 facebook__get_friends_rgra...
9.2.1 ソーシャルネットワーク全体の可視化.2(p.319)Sunburstを使った可視化1つ上の領域の内訳を分割表示する円グラフ例9-14 facebook__sunburst.py1. 性別オブジェクトを作成2. 性別ごとに友人を集約3...
9.2.1 ソーシャルネットワーク全体の可視化.3(p.321)スプレッドシートによる可視化例9-14 facebook__popularity_spreadsheet.py1. JSONデータを読込み2. CSVデータに整形         ...
9.2.2 グループ内の相互関係の可視化何らかの基準に基づいて,友人をフィルタリングする(例)指定したグループに属する友人を表示する
9.2.3 友達はみんなどこに行った?(データ駆動ゲーム)分析のために相関させてみると面白そうな変数を見つける(例)友人の出身地と現住所をツリーウィジェットで表示する6.4節のようにGoogle Earth上で表示してみると面白いかも
9.2.4 (回転する)タグクラウドとしてウォールデータを表示する構造化されていないデータから傾向を見つけ出す(例)タグクラウドにウォールデータを表示するタグクラウドは,個々のタグの大きさによって,データの重要度を表わすWPCumulushtt...
9.3 まとめ私たちの手にすでにあるもの――つまり,●   豊穣なFacebookプラットフォーム●   強力なGraph APIとFQL●   この本の8章までで学んだ多くの手法これらを活用して,Facebookのソーシャルデータを分析するア...
応用問題●   友人のウォールやグループウォールの    構造化されていないテキストをタグクラウドで可視化    ○ 第8章のエンティティ分析を活用してもOK●   Graph APIで取得できる構造化されたデータから、    最も饒舌な友人を...
次回 3月22日(木) 19:30~@mi_kamiさんによる第10章 「セマンティックウェブ: 自由討論」です!
『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章
Upcoming SlideShare
Loading in …5
×

『入門 ソーシャルデータ』9章

2,163 views

Published on

第9回『入門ソーシャルデータ』真面目に勉強する会

  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

『入門 ソーシャルデータ』9章

  1. 1. 『入門 ソーシャルデータ』9章 Facebook:オールインワンのソーシャルウェブ環境2012/03/16 @torazuka第9回 『入門 ソーシャルデータ』真面目に勉強する会
  2. 2. 発表担当: torazuka こんにちは!IT系の会社で働くエンジニアです.クラウド回りの社内向け技術支援をしています.https://twitter.com/torazukahttp://d.hatena.ne.jp/torazuka/
  3. 3. 今回の資料● このスライド ○ Googleグループ「集合知の会」で共有 ■ https://groups.google.com/group/StudyGroup_CI 「この本の優れたところは(中略)、テーマの選定と 動作するコードにあり、その部分は入門書としては かなりクオリティが高い」と生駒日記の中の先生も 書いていらっしゃるので,動かしてみてもよいかも (参考)http://d.hatena.ne.jp/mamoruk/20111204/p1● 補足資料 ○ Facebookのアクセストークン取得 ■ http://d.hatena.ne.jp/torazuka/20120312/socialdata ○ サンプルコードの実行方法のメモ ■ http://d.hatena.ne.jp/torazuka/20120314/social_data
  4. 4. これまでの流れ● 1章 イントロダクション : Twitterデータのハック ○ 環境構築● 2章 マイクロフォーマット: セマンティックマークアップと常識のずれ ○ XFNやGeocoordinatesなどの活用● 3章 古き良きメールボックス ○ 電子メールデータの分析、対話の追跡● 4章 Twitter: フォローしている、フォローされている、集合演算 ○ TwitterのAPIでできることの紹介● 5章 Twitter: ツイート、すべてツイート、ツイートそのもの ○ ツイートの分析とソーシャルネットワークの可視化● 6章 LinkedIn: プロフェッショナルネットワークのクラスタリング ○ 職名によるクラスタリング、プロフィール情報の取得● 7章 Google Buzz: TF-IDF、コサイン類似度、コロケーション ○ 語の類似度を計測する様々な尺度の紹介● 8章 ブログその他: 自然言語処理(さらにその先へ) ○ NLTKライブラリの利用、エンティティ中心の分析
  5. 5. 9章 Facebook:オールインワンのソーシャルウェブ環境● 9.1 ソーシャルネットワークデータへのアクセス ○ 9.1.1 10分でわかるアクセストークンの取得 ○ 9.1.2 FacebookクエリAPI● 9.2 Facebookデータの可視化 ○ 9.2.1 ソーシャルネットワーク全体の可視化 ○ 9.2.2 グループ内の相互関係の可視化 ○ 9.2.3 友達はみんなどこに行った?(データ駆動 ゲーム) ○ 9.2.4 (回転する)タグクラウドとしてウォールデータ を表示する● 9.3 まとめ
  6. 6. Facebookソーシャルネットワーキングサービス2012年3月現在,8億3千万ユーザー世界で最も訪問者の多いサイト「常連ユーザが大勢いるサイトには面白いデータが多数集まる」ソーシャルデータを収集・分析する対象として興味深い上に,手段(API・ツール)も提供されている(情報ソース)http://checkfacebook.com/ Facebookに関する情報発信サイトhttp://www.google.com/adplanner/static/top1000/index.html
  7. 7. 「オールインワン」8億ユーザーがFacebook上で様々な活動をする ● 公開ステータスの更新 ● 自分のしていることや考えていることの伝達 ● メッセージの交換 ● リアルタイムチャット ● 写真の共有 ● 「チェックイン」による居場所の共有その他色々
  8. 8. 9章の著者の主張私たちの手にすでにあるもの――つまり,● 豊穣なプラットフォーム● 強力なデータマイニングAPI● この本の8章までで学んだ多くの手法これらを活用して,Facebookのソーシャルデータを分析するアプリケーションをどんどん作ろう
  9. 9. ユーザのプライバシー保護を考慮(参考)http://developers.facebook.com/policy/次の3つを守ることが求められています● Facebook利用規約● 原則● ポリシーソーシャルデータを扱う場合,特に関係しそうなのは「II. Storing and Using Data You Receive From Us」「ユーザのデータを販売してはいけない」といった当たり前のことから,「ユーザーが同意していても,アプリケーション外でユーザーの友達リストを使用することはできない」といったことまで.14項目ある.要チェック.
  10. 10. 9.1 ソーシャルネットワークデータへのアクセスFacebookのOAuth2.0フローを利用アプリを作成するにはホスティングが必要ホスティングせずに動かす方法は補足資料を参照くださいFacebookで新規アプリケーションを作成する手順1. Facebookアカウントを入手2. http://developers.facebook.com/ で「Create New App」3. セキュリティチェック4. アプリケーションIDと秘密キーを入手
  11. 11. (参考)Facebookアプリの作成開始
  12. 12. アクセストークンの取得(p.292) 9.1.1 10分でわかるアクセストークンの取得アプリが入手可能な情報が書かれた"有効期限付きチケット"を発行してもらうイメージ 発行 Facebook アプリが入手可能な 提示 情報が書かれたチケット 情報開示(参考)4.1.1「君が私のパスワードを知っているはずがない」 (OAuthについて)
  13. 13. Permissions ● デフォルトで「basic information」にアクセスできる ○ id, name, picture, gender, locale, age range ● それ以上の情報へのアクセスには,明示的な許可が必要(p.p294-296)例9-1 facebook__login.py EXTENDED_PERMS = [ user_about_me, friends_about_me, user_activities, これらです # ...略... ]http://developers.facebook.com/docs/reference/api/permissions/
  14. 14. (参考)アクセス対象のFacebookデータFacebookはアクセス対象をきめ細かく選択させるuser_about_me user_interests user_relationshipsuser_activities user_likes user_religion_politicsuser_birthday user_location user_statususer_checkins user_notes user_subscriptionsuser_education_history user_online_presence user_videosuser_events user_photo_video_tags user_websiteuser_games_activity user_photos user_work_historyuser_groups user_questionsuser_hometown user_relationship_details
  15. 15. friends_about_me friends_interests friends_relationshipsfriends_activities friends_likes friends_religion_politicsfriends_birthday friends_location friends_statusfriends_checkins friends_notes friends_subscriptionsfriends_education_history friends_online_presence friends_videosfriends_events friends_photo_video_tags friends_websitefriends_games_activity friends_photos friends_work_historyfriends_groups friends_questionsfriends_hometown friends_relationship_detailsads_management photo_upload rsvp_eventcreate_event publish_actions share_itemcreate_note publish_checkins smsemail publish_stream status_updateexport_stream read_friendlists video_uploadmanage_friendlists read_insights xmpp_loginmanage_notifications read_mailboxmanage_pages read_requestsoffline_access read_stream
  16. 16. 9.1.2 FacebookクエリAPI4つのツールが紹介されている.重要なのは2つ ● REST API deplicated ○ http://developers.facebook.com/docs/reference/rest/ ○ 今後はGraph APIを使うよう勧告されている ● FQL(Facebook Query Language) ○ 手軽に実行できるSQLライクなデータクエリ言語 ● Graph API ○ http://developers.facebook.com/docs/reference/api/ ○ これ(をラップしたライブラリ)を使用する ● Open Graph Protocol ○ セマンティックウェブのためのメタデータ 発展途上 ○ オープンといいつつ,ベンダー1社によるもの
  17. 17. Graph APIがサポートするオブジェクト(p.299)例として,執筆時点より後に追加されたオブジェクトを紹介します● Achievement(Instance): ユーザのゲーム業績● Comment: コメント● Domain: アプリのWebドメイン● FriendList: 友人リスト● Insights: アプリ、ページ、ドメインの統計情報● Message: メッセージ● Order: オーダー(ペイメント)関係の情報● Question: ユーザによる質問● QuestionOption: 質問への回答オプション● Review: アプリケーションのレビュー● Thread: メッセージスレッド
  18. 18. Graph APIオブジェクトの取得http://graph.facebook.com/{オブジェクトのID}にリクエストを送るオブジェクトのIDにユーザIDを入れて試してみるとよいユーザの基本情報が取れるまた,末尾に?metadata=1を付けると詳細情報が取れる
  19. 19. FacebookのPythonSDK本文で紹介された公式Python SDKhttps://github.com/facebook/python-sdkは… deplicated forkされたプロジェクトで最も活発な https://github.com/pythonforfacebook を使うなどしましょう.他,JavaScript,PHP,iOS,Androidの公式SDKがあります
  20. 20. API利用イメージ(p.p.303-305)例9-5 facebook__graph_queey.py gapi = facebook.GraphAPI(ACCESS_TOKEN) result = gapi.request(search, { q : Q, type : group, #略 }) groups = gapi.get_objects(group_ids, metadata=1)Webアプリとして動く例: http://miningthesocialweb.appspot.com/
  21. 21. FQLSQLのサブセット select name, sex, relationship_status より複雑な問い合わせを from user したいときに使う where uid in( select Pythonクラスで target_id ラップして使う from connection where source_id = me() and target_type = user )
  22. 22. 9.2 Facebookデータの可視化ここからは,Facebookデータの分析例と可視化ツールの紹介です1. 取得できるデータを把握し,2. どんな分析を行うかを考え,3. 可視化ツールを選択して,4. 実行する(データ収集→分析→整形→可視化) ・・・のくり返し
  23. 23. (余談)可視化ツールの選定ソーシャルネットワークの可視化ツールに重要な6つの機能● 総覧● ノードのランク付け● エッジのランク付け● ノードの表示● コミュニティの発見● エッジの種類インタラクションの重要性SocialAction http://www.cs.umd.edu/hcil/socialaction/『ビューティフルビジュアライゼーション』,p.154,オライリージャパン,2011.10.
  24. 24. 9.2.1 ソーシャルネットワーク全体の可視化1JavaScript InfoVis Toolkit  http://thejit.org/(p.311)RGraphを使った可視化例9-13 facebook__get_friends_rgraph.py1. 友人のIDを取得2. 友人の友人を探索3. 友人たちの詳細情報を取得4. 友人の友人についてのマップを1つにまとめる5. JIT RGraph データとして整形ポイント: 複数のクエリでデータを細かく集めて最後にまとめる
  25. 25. 9.2.1 ソーシャルネットワーク全体の可視化.2(p.319)Sunburstを使った可視化1つ上の領域の内訳を分割表示する円グラフ例9-14 facebook__sunburst.py1. 性別オブジェクトを作成2. 性別ごとに友人を集約3. 友人を人気度(ネットワークの多さ)によって順位付け4. JIT Sunburst入力データとして整形
  26. 26. 9.2.1 ソーシャルネットワーク全体の可視化.3(p.321)スプレッドシートによる可視化例9-14 facebook__popularity_spreadsheet.py1. JSONデータを読込み2. CSVデータに整形 ジップの法則? 80-20の法則? ※グラフに可視化するのが重要(なハズ)
  27. 27. 9.2.2 グループ内の相互関係の可視化何らかの基準に基づいて,友人をフィルタリングする(例)指定したグループに属する友人を表示する
  28. 28. 9.2.3 友達はみんなどこに行った?(データ駆動ゲーム)分析のために相関させてみると面白そうな変数を見つける(例)友人の出身地と現住所をツリーウィジェットで表示する6.4節のようにGoogle Earth上で表示してみると面白いかも
  29. 29. 9.2.4 (回転する)タグクラウドとしてウォールデータを表示する構造化されていないデータから傾向を見つけ出す(例)タグクラウドにウォールデータを表示するタグクラウドは,個々のタグの大きさによって,データの重要度を表わすWPCumulushttp://code.google.com/p/word-cumulus-goog-vis/wiki/UserGuide参考: (WordPressプラグインでの表示例)http://crossinthenight.com/wordpress/1593/
  30. 30. 9.3 まとめ私たちの手にすでにあるもの――つまり,● 豊穣なFacebookプラットフォーム● 強力なGraph APIとFQL● この本の8章までで学んだ多くの手法これらを活用して,Facebookのソーシャルデータを分析するアプリケーションをどんどん作ろう
  31. 31. 応用問題● 友人のウォールやグループウォールの 構造化されていないテキストをタグクラウドで可視化 ○ 第8章のエンティティ分析を活用してもOK● Graph APIで取得できる構造化されたデータから、 最も饒舌な友人を割り出してみる ○ ステータス全体の数や投稿コメントに基づいて算出● 友人が「いいね!」したものをクラスタ分けし、 ピボットテーブルやグラフにして分析
  32. 32. 次回 3月22日(木) 19:30~@mi_kamiさんによる第10章 「セマンティックウェブ: 自由討論」です!

×