カテゴリー
書評

書評: 集合知プログラミング(Programming Collective Intelligence)

献本いただいたもの。 翻訳が出ると聞いてからずっと気になっていた本なので、いただけたのはとてもラッキーだった。 集合知プログラミング著者/訳者:Toby Segaran出版社:オライリージャパン( 2008-07-25 […]

献本いただいたもの。

翻訳が出ると聞いてからずっと気になっていた本なので、いただけたのはとてもラッキーだった。

集合知プログラミング
著者/訳者:Toby Segaran
出版社:オライリージャパン( 2008-07-25 )
定価:¥ 3,570

原題(Building Smart Web 2.0 Application)にあるとおり、集合知プログラミングは、ウェブサイトの背後でいろいろと賢いことをするために使えるいろいろな技法を広く紹介した技術書だ。

  • 大勢の過去の行動データから推薦を行なう
  • 集団をグループに分ける
  • 検索エンジンとランクづけ
  • 最適解を低コストで見つける
  • スパム判定
  • 条件判定のルールを生成する
  • 価格モデルを作っての価格予測
  • カーネルメソッドやサポートベクトルマシン
  • 遺伝的プログラミング

といったトピックが、Pythonのサンプルコードとあわせて解説されている。

内容は、読むのに時間かかったし、一通り通しで読んだけれどもう一度読まないといけないな、と思っているので、決して簡単とは思わない。しかし、説明している内容を思えば、解説はとてもわかりやすくなっている。サンプルプログラムも驚くほど簡潔で、Pythonということもあり追って読むのは難しくない。

サンプルでは、オンメモリか、せいぜいで簡易なDBを使ってデータ処理をしているので、あくまで実装の理屈を学ぶための本だと思う。大規模なサイトの場合は、本書でサンプルとして使われるデータよりもさらに大量のデータを扱わなければならないので、本書のサンプルでそのままデータ処理しようとすると破綻することは目にみえるけれど、そこはまた別の本がカバーすべきとろこかと思った。

それと、Windows+Python2.5でやってみたのだけれど、Pythonのバージョン違いのせいかコマンドラインでエラーがでる箇所があった。このへんはPythonに詳しくないのだけれど、コマンドとエラーメッセージを入れて検索するとだいたい対処方法は見つかる。

他のサイトからAPI経由やスクレイピングでデータを取ってくるときのライブラリ紹介やその利用法も載っているので、Pythonでマッシュアップをやるときにも参考になると思った。当然なんだけど、PHPやPerlにあるようなライブラリに相当するものがPythonにも揃ってるのだな、というのも感じたこと(ほとんどPython使ったこと無いので)。

本文では英語のような「スペースで簡単に単語を切り分けられる言語」を扱うサンプルしか出ていないが、日本語はどうするのかについてはちゃんと巻末で訳者によりサポートされている。

結論としては、面白かった。自分は勉強が足りないな、とも感じた。2周目読む時間を取らなきゃなあ。


[書評に関する注意書き]

  • 貰って書いた本についてはその旨記述する
  • このブログはサイボウズ・ラボの社員ブログなので、秋元個人に献本いただいても、何でも自由に書けるわけではない。
  • もちろん、書評以外の他のブログエントリもそうだが、社員ブログではあってもサイボウズ・ラボ全社やサイボウズ・グループの意見を代弁してるわけではない。
  • 献本いただいても必ず読めるわけでも、ご紹介できるわけでもない。読書の速度は遅いので、発売前や発売直後に送っていただいても、ご紹介が半年後になるようなこともある