内容紹介
基礎から実践テクニックまで解説するソーシャルデータマイニングの入門書!
本書は、Facebook、Twitter、LinkedIn、Google+、GitHub、電子メール、ウェブサイトやブログなどの主要なソーシャルウェブから、データを取得し、マイニングする方法を解説する入門書の改訂版。第2版では、ソーシャルデータを扱おうとするエンジニアに向けて必要な基礎知識とテクニックを解説するという方針はそのままに、旧版出版後に改まった各種主要なサービスの状況を取り込んで改訂されています。また書籍の後半部にはTwitterのレシピ集も設けています。ソーシャルデータを扱おうとする開発者に必要な基礎をわかりやすく提供する解説書です。
このような方におすすめ
Webアプリケーション開発者
目次
詳細目次
はじめに
1部 ガイド付きのソーシャルサイトツアー
プレリュード
1章 Twitterをマイニングする: トレンドの話題の調査、人々が話題にしていることの発見など
1.1 概要
1.2 Twitterはなぜ人気があるのか
1.3 TwitterのAPIについて
1.3.1 Twitterの基本用語
1.3.2 Twitter APIへ接続する
1.3.3 何が話題になっているのかを探る
1.3.4 ツイートの検索
1.4 140字を分析する
1.4.1 ツイートエンティティを抽出する
1.4.2 頻度分析を使ってツイートとツイートエンティティを分析する
1.4.3 ツイートの語彙的多様性を計算する
1.4.4 リツイートのパターンを解析する
1.4.5 頻度データをヒストグラムでビジュアライズする
1.5 この章を締めくくるに当たって
1.6 練習問題
1.7 オンラインリソース
2章 Facebookをマイニングする: ファンページの分析、友達の解析など
2.1 概要
2.2 FacebookのソーシャルグラフAPIについて
2.2.1 ソーシャルグラフAPI
2.2.2 オープングラフプロトコル
2.3 ソーシャルグラフのつながりを分析する
2.3.1 Facebookページを分析する
2.3.2 友達を解析する
2.4 この章を締めくくるに当たって
2.5 練習問題
2.6 オンラインリソース
3章 LinkedInをマイニングする: 職種情報の正規化、同僚のクラスタリングなど
3.1 概要
3.2 LinkedInのAPIについて
3.2.1 LinkedIn APIリクエストを発行する
3.2.2 LinkedInの知人の情報をCSV形式でダウンロードする
3.3 クラスタリング集中講座
3.3.1 クラスタリングはユーザーエクスペリエンスを向上させる
3.3.2 分析できるようにデータを正規化する
3.3.3 類似度を計測する
3.3.4 クラスタリングアルゴリズム
3.4 この章を締めくくるに当たって
3.5 練習問題
3.6 オンラインリソース
4章 Google+をマイニングする: 文書の類似度の計算、コロケーションの抽出など
4.1 概要
4.2 Google+のAPIについて
4.2.1 Google+ APIリクエストを発行する
4.3 TF-IDF入門
4.3.1 単語の頻度
4.3.2 文書頻度の逆数
4.3.3 TF-IDF
4.4 TF-IDFで自然言語データを検索する
4.4.1 NLTK入門
4.4.2 自然言語にTF-IDFを適用する
4.4.3 類似する文書を探す
4.4.4 自然言語のバイグラムを分析する
4.4.5 自然言語データ分析についての考察
4.5 この章を締めくくるに当たって
4.6 練習問題
4.7 オンラインリソース
5章 ウェブページをマイニングする: NLPによる自然言語理解のための処理、ブログポストの要約作成など
5.1 概要
5.2 ウェブのスクレイピング、パーシング、クローリング
5.2.1 幅優先探索によるウェブクローリング
5.3 構文を解読してセマンティクス(意味)を見つける
5.3.1 自然言語処理ステップバイステップ
5.3.2 自然言語データの文を検出する
5.3.3 文書の要約
5.4 エンティティ中心の分析: データのより深い理解
5.4.1 自然言語データの要点を取り出す
5.5 自然言語データ処理分析の品質
5.6 この章を締めくくるに当たって
5.7 練習問題
5.8 オンラインリソース
6章 メールボックスをマイニングする: 誰が誰に何について話しているかの分析、頻度分析など
6.1 概要
6.2 メールコーパスを手に入れて処理する
6.2.1 Unixメールボックス入門
6.2.2 Enronデータを取得する
6.2.3 メールコーパスをUnix mboxに変換する
6.2.4 Unix mboxをJSONに変換する
6.2.5 JSONに変換したメールコーパスをMongoDBにインポートする
6.2.6 PythonでプログラムからMongoDBにアクセスする
6.3 Enronコーパスを分析する
6.3.1 日時の範囲によるクエリ
6.3.2 送信者/受信者のパターンを分析する
6.3.3 高度なクエリ
6.3.4 キーワードでメールを検索する
6.4 時系列的なトレンドを見つけてビジュアライズする
6.5 自分のメールデータの分析
6.5.1 OAuthでGmailにアクセスする
6.5.2 IMAPでメールメッセージを取得、解析する
6.5.3 「Graph Your Inbox」ChromeエクステンションでGmailのパターンをビジュアライズする
6.6 この章を締めくくるに当たって
6.7 練習問題
6.8 オンラインリソース
7章 GitHubをマイニングする: ソフトウェアコラボレーションの習慣の調査、インタレストグラフの構築など
7.1 概要
7.2 GitHubのAPIについて
7.2.1 GitHub APIへの接続を開設する
7.2.2 GitHub APIリクエストを発行する
7.3 プロパティグラフでデータをモデリングする
7.4 GitHubインタレストグラフを分析する
7.4.1 インタレストグラフに種を与える
7.4.2 グラフ中心性指標を計算する
7.4.3 ユーザーに対する「フォロー」のエッジでインタレストグラフを拡張する
7.4.4 ノードをより効率的なクエリの軸として使う
7.4.5 インタレストグラフをビジュアライズする
7.5 この章を締めくくるに当たって
7.6 練習問題
7.7 オンラインリソース
8章 セマンティックウェブをマイニングする: マイクロフォーマットの抽出、RDFによる推論など
8.1 概要
8.2 マイクロフォーマット
8.2.1 GeoCoordinates: ほぼすべての情報をつなぐ共通の糸
8.2.2 レシピデータを使ってオンライン出会い系サイトの成功率を上げる
8.2.3 LinkedInの2億人分のオンライン履歴書にアクセスする
8.3 セマンティックマークアップからセマンティックウェブへ: 短い間奏曲
8.4 セマンティックウェブ
8.4.1 人は事実だけでは生きていけない
8.4.2 オープンワールドについての推論
8.5 この章を締めくくるに当たって
8.6 練習問題
8.7 オンラインリソース
2部 Twitterクックブック
9章 Twitterレシピ集
9.1 開発目的でTwitter APIにアクセスする
9.1.1 問題
9.1.2 解答
9.1.3 解説
9.2 本番稼働用のアプリケーションのためにOAuthダンスを実行してTwitter APIにアクセスする
9.2.1 問題
9.2.2 解答
9.2.3 解説
9.3 何が話題になっているのかを調べる
9.3.1 問題
9.3.2 解答
9.3.3 解説
9.4 ツイートを検索する
9.4.1 問題
9.4.2 解答
9.4.3 解説
9.5 便利な関数呼び出しを組み立てる
9.5.1 問題
9.5.2 解答
9.5.3 解説
9.6 JSONデータをテキストファイルに保存する
9.6.1 問題
9.6.2 解答
9.6.3 解説
9.7 MongoDBにJSONデータを保存する
9.7.1 問題
9.7.2 解答
9.7.3 解説
9.8 ストリーミングAPIでTwitter Firehoseをサンプリングする
9.8.1 問題
9.8.2 解答
9.8.3 解説
9.9 時系列データを集める
9.9.1 問題
9.9.2 解答
9.9.3 解説
9.10 ツイートエンティティを抽出する
9.10.1 問題
9.10.2 解答
9.10.3 解説
9.11 一群のツイートのなかでもっとも人気の高いツイートを見つける
9.11.1 問題
9.11.2 解答
9.11.3 解説
9.12 一群のツイートのなかでもっとも人気の高いエンティティを見つける
9.12.1 問題
9.12.2 解答
9.12.3 解説
9.13 頻度分析を表にまとめる
9.13.1 問題
9.13.2 解答
9.13.3 解説
9.14 ツイートをリツイートしたユーザーを見つける
9.14.1 問題
9.14.2 解答
9.14.3 解説
9.15 リツイートの引用元を抽出する
9.15.1 問題
9.15.2 解答
9.15.3 解説
9.16 頑健なTwitterリクエストを発行する
9.16.1 問題
9.16.2 解答
9.16.3 解説
9.17 ユーザープロフィール情報を取得する
9.17.1 問題
9.17.2 解答
9.17.3 解説
9.18 テキストからツイートエンティティを抽出する
9.18.1 問題
9.18.2 解答
9.18.3 解説
9.19 あるユーザーのすべての友人またはフォロワーを取得する
9.19.1 問題
9.19.2 解答
9.19.3 解説
9.20 ユーザーの友達やフォロワーを分析する
9.20.1 問題
9.20.2 解答
9.20.3 解説
9.21 ユーザーのツイートを集める
9.21.1 問題
9.21.2 解答
9.21.3 解説
9.22 友達のグラフをクローリングする
9.22.1 問題
9.22.2 解答
9.22.3 解説
9.23 ツイートの内容を分析する
9.23.1 問題
9.23.2 解答
9.23.3 解説
9.24 リンク先の情報を要約する
9.24.1 問題
9.24.2 解答
9.24.3 解説
9.25 ユーザーのお気に入りのツイートを分析する
9.25.1 問題
9.25.2 解答
9.25.3 解説
9.26 この章を締めくくるに当たって
9.27 練習問題
9.28 オンラインリソース
3部 付録
付録A 本書の仮想マシンについて
A.1 IPython Notebookのインストールとセットアップ手順
A.1.1 スクリーンキャストによる解説
A.1.2 インストールの概要
A.1.3 すると次にはどうなるのか
A.1.4 Vagrantチートシート
A.1.5 トラブルシューティング
A.1.6 GitとGitHub
A.1.7 Git for Windowsのためのスクリーンショット
A.1.8 ありがとう!
A.1.9 コピーライトとライセンス
付録B OAuth入門
B.1 概要
B.1.1 OAuth 1.0A
B.1.2 OAuth 2.0
付録C PythonとIPython Notebookのヒントとテクニック
索引
続きを見る