研究室に配属されたばかりのB4にそっと渡したい一冊‐それが「入門ソーシャルデータ」

オライリー・ジャパンさんから頂いた「入門ソーシャルデータ」を読みました.

入門 ソーシャルデータ ―データマイニング、分析、可視化のテクニック

入門 ソーシャルデータ ―データマイニング、分析、可視化のテクニック

ご紹介いただいた@overlastさん,オライリー・ジャパンさんどうもありがとうございます! 記念すべき人生初献本.なんと監訳者全員が (IIR輪講などの勉強会を通じて) 知っている方だったのでびっくり.

さて,遅ればせながら本書のレビューを書きたいと思います.ただ,すでに著名なメンバーがレビューを書いていらっしゃるので,できるだけ観点がかぶらないようなことを書きます.特に卒論を控えている学部生あたりへのメッセージ (え? もう遅いって) になれば幸いです.

本書はウェブで取得できるTwitter, LinkedIn, GoogleBuzz(サービス終了が残念)などのデータを中心にさまざまな分析手法を通じて最終的に結果の可視化を行うというデータ分析の流れを最初から最後まで一通り網羅的に解説している.

プログラミング言語は一貫してPythonを用いて,APIを利用したデータの取得方法から,イマドキなデータベースであるCouchDBやRedisの利用方法まで丁寧に解説している.Pythonモジュールのインストール方法まで書かれているので,ほとんどPythonを触ったことがない人でも本書を読んで使い方を学びながら実践できると思う.

本書ではこんな↓データ分析の流れを一通り経験できるような流れで書かれている.


ウェブや現実世界 --(1)データの取得--> (半)構造化されたデータ・生データ --(2)前処理--> 扱いやすい形式のデータ形式 --(3)解析,分析--> 可視化・評価
※ (1)や(2)は意外と重要

上の図は,データ分析や研究のお基本的なお作法だと思うけれど,研究においては公開評価データセットなどがすでに「扱いやすいデータ形式」になっている場合が多いので,指導教官や先輩の研究テーマを引き継いで研究する場合,いきなり(3)の手法改善を集中して行うことが多いと思う.

ただ,新しい問題に取り組む場合は自分でデータを持ってきて料理しなければいけないので,実際のデータ取得を行う「(1)データの取得」や解析に適したデータ形式で保存するという「(2)前処理」の部分を自分で行わなければいけない.ウェブに存在する構造化されたデータや現実世界から取得した生データに前処理を施して扱いやすいフォーマットで保存しておく.今思えば,学生時代はここらへんの感覚がよくわかっていなかった.

解析手法についても各手法の概要は解説しているものの,NLTKなどのモジュール任せで実際にどのような処理を行っているかブラックボックスになっている部分がある.興味がある人は集合知プログラミングや入門自然言語処理に進んで,更に専門書に進むとよい.

本書の帯には集合知プログラミングの後継書と書かれているが,集合知プログラミングでは,上記フローにおける(3)のフェーズについて集中的に書かれているので,まず本書を読んでから集合知プログラミングや入門自然言語処理などをお薦めする.

入門ソーシャルデータ -> 集合知プログラミング,入門自然言語処理

という流れの方が個人的にはおすすめ.

集合知プログラミング

集合知プログラミング

本書を知って驚いたのが出版のスピード.原書が出版されたのが,2011年1月だから1-2年かかることがザラである技術書を10ヶ月という短期間で翻訳し,世に出したことはとても素晴らしいことだと思う(それでも閉鎖してしまったGoogleBuzz.世の中の流れの速さよ).専門家であれば先んじて原書で読むことは当たり前かもしれないが,まだ英語に慣れていない学生や初学者にとって日本語の入門書があることは敷居を下げる意味でも大切だと思う.

良い点

  • モジュールのインストール方法から説明してくれているのでゆとりに優しい.(重要)
  • コードが本書内に書かれているのでウェブからダウンロードしてエディタで開く,といいう手間がいらない
  • 図が豊富でイメージをつけながら学ぶことができる
  • CouchDB, Redisといった比較的イマドキなデータベースの使い方を学べる
    • CouchDBを使ってmap/reduceを体験できる

こんな人にお薦め

  • データ分析とかしたことないので,どこから初めていいかわからない
  • フィボナッチ数列の計算とかクイックソートといった演習ばかりのプログラミング本に飽きた.実践的なことを通じてプログラミングを学びたい
  • Twitterデータを使ってネットワーク分析したい! けれどどうやるの?

情報系の研究室に配属されたばかりのB4に「何がわからないのかわからないんですけど」と言われたら,黙ってそっと渡すのに最適な一冊.

他の方のレビューはこちら