集合知インアクション

集合知イン・アクション

集合知イン・アクション

ネット上に散らばっているユーザーの情報をどのように活用するかをまとめた本。帯には「ウェブ業界に関わるJavaエンジニアならこの本を必ず手に入れるべきだ」って書いてあるけど、機械学習とか集合知に興味がある人でも全然楽しめると思う。この本が出た時点で携帯に電話してこないなんてAmazonのレコメンドもまだまだだなと思うくらい面白かった。


本書ではネット上のデータを集めて解析して利用する様々な手法について解説されている。概要的な内容は最初の方の章だけで、それ以降はテーマごとに理論、例題、設計、実装がバランス良く出てくる。特に設計については実際のUMLも出しての解説なので、後のコードがすごく読みやすい。個々の内容はそこまで深く突っ込んだところまでやらず、気軽に読めるのも良い。


実際のプログラムはWEKAやLucene等の既存のライブラリを拡張して実装されている物が多かった。2部の後半では各章につきWEKAとJDMでの例が載っているほど。ライブラリの有る無しに関わらずコードは全体的にやや固め。読み手の拡張を期待してなのかJavaっ娘のプライドなのかよく分からないけど、Javaフレームワークを開発してる身(!)としてなんとなく共感できるところがあった。擬似言語や簡単なコードだけで済まさず、一通りはちゃんと動く物を例として挙げている本は、副産物的にライブラリの存在や簡単な使い方を知れるところが良い。


集合知プログラミングを読んだ事がある人は訳者あとがきを見るとどういった内容かイメージしやすいと思う。

2007年から2008年にかけて、O'ReillyからToby Segaranによる『集合知プログラミング』が発行されたことで状況が変わった。この分野の先駆的な著作として、秀逸な本であると思う。
 本書は、Toby本と比べて、よりアプリケーション実装向けの本であるといえる。言語はJavaで、RDBへのデータ保存のためのER図や、ドメインモデルのクラス図による表記が多くあらわれる。そして、集合知を実用的に実装する際に考慮が必要となる、システム全体のアーキテクチャにまで触れられている。集合知実装の実践を続けてきたAlagが、はまりやすい落とし穴をあらかじめふさいでおいてくれる。


最後のフレーズも印象的

この世界に飛び込む環境は整っている。誰もがいますぐに、手を動かし始めることができる。しかし、データは単に分析するだけでは役に立たない。大事なのは、データを提供してくれたユーザーに、社会に、どんな付加価値をつけて返すのかを考え続けることなのだと思う。

”考え続けること”あたりにシビれた。