2012/03/28

AKB48を分析する - 2.参考にしたブログ、サイト

最近では、主要なWebサービスは、外部のプログラムへのインターフェースを提供するのが一般的になってきて、趣味でプログラミングをする(そんな人が何人いるかわからないが)には非常に面白い状況になっている。
一昔前だと、プログラミングするといっても、家にはそんなにデータがないから、まったくやる気はおきなかったが、システムといい、コンテンツといい、とっても充実している。アイドルが自分でどんどん情報を発信していて、それを家で利用できるのだ。

私がAKB48を分析するに当たり、だいたい2週間ぐらいで諸々の技術要素の利用環境を整えた。下記の通り、参考にしたサイト、ブログをまとめた。


1.Pythonの導入~入門
分析するためのツールとして、プログラミング言語Pythonを使用する。
Pythonは日本ではまだマイナーな言語だが、外国ではかなり使われている。GoogleやYoutubeもこの言語を使用しているとのことである。
下記のサイトはとってもわかりやすい。これを参照すればとりあえず使えるようになるだろう。

http://www.python-izm.com/

Ubuntuの場合、最初からPythonがインストール済み。

2.PythonからGoogle+にアクセスする
プログラムからGoogle+にアクセスするためのPythonモジュールの利用方法が書いてあるブログ。
この手順どおりにやればPythonからGoogle+のデータが利用できるようになる。

http://typex2.wordpress.com/2011/09/16/google-api%E3%82%92python%E3%81%8B%E3%82%89%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/


4.MongoDB
Google+から取得したメンバーの投稿を手元にストアするため、MongoDBを使用する。
Google+から取得したデータをそのまま突っ込めばきれいにストアして、再利用できるのでとってもお手軽。

とっかかりとしては、公式ドキュメントを参照するのがよいと思う。
http://www.mongodb.org/display/DOCSJP/Home

ただし、インストールの方法は日本語化されていないようだ。
http://www.mongodb.org/display/DOCS/Quickstart

PythonからMongoDBを利用する方法はこちらを参考にした。
http://d.hatena.ne.jp/stog/20100525/1274890034

入門自然言語処理 (アマゾンのサイトより)
5.MySQL
もう一つのデータストアの手段として、オープンソースではメジャーなRDBMSのMySQLを使用する。
定量的な分析、例えばチームごとの投稿数、誰が誰にコメントしたかのカウントなどを実施するにはRDBが向いていると考えるから。やはりSQLは強力なのだ。

WindowsにMySQLをダウンロードするのは、こちらのサイトからインストーラをダウンロードして実行すればよかった。
http://www-jp.mysql.com/downloads/

Ubuntuにインストールするのは、ソフトウエアセンターからやればよかった。

PythonからMySQLを利用する方法はこちらを参考にした。Python-ismはホントに良くできたサイトだ。
http://www.python-izm.com/contents/external/mysql.shtml

6.スクレイピング
サイトのデータから必要な情報を取り出すテクニックをスクレイピングと総称するらしい。
Beautiful Soupという、Pythonのサードパーティのモジュールを使用する。
Google+における、各メンバーのIDを取得するためにこのテクニックを使用した。
参考にしたのはこのブログ
http://d.hatena.ne.jp/lolloo-htn/20090128/1233155734

7.今後に向けた参考図書
今後、メンバーのメッセージに対して色々分析した生きたいと考えている。Pythonでの処理の実例が書かれているので、この本を読んでいる最中である。

入門自然言語処理 (アマゾンへ)