自然言語処理とか機械学習とかグラフとか簡潔データ構造とか全部入った良書「日本語入力を支える技術」がすごい

@tkngさんの力作「日本語入力を支える技術」が2/8に発売される。既に秋葉原のヨドバシ有隣堂や池袋のジュンク堂本店では早売りされている様子。ってことで早速購入してきた。
本書が扱うテーマはGoogleIMEのような「日本語入力」のシステム。これだけだとさして興味ないや、って人も多いかもしれない。ところがこの日本語入力というのは技術的には形態素解析に非常に近い。自然言語処理テキストマイニングに関わる方にとっては形態素解析は最も基本的かつ重要な技術。その仕組みを知っておくのは非常に重要だと思う。
また日本語入力(形態素解析)は技術的には機械学習、グラフの最短経路問題、簡潔データ構造など多くの分野が関わっているので「日本語入力」を理解することでこれらの多くの基礎技術の具体例を体感できるというメリットがある。
そんな日本語入力をまとめて勉強できるのが本書「日本語入力を支える技術」である!ばーん!著者の@tkngさんは高度な技術を本質の部分に絞って説明するのが上手な方なので本書は初心者の方でも読みやすいのでは、と思っている。


目次は以下のとおり。

第1章 日本語と日本語入力システムの歩み
第2章 日本語入力システムの概観
第3章 かな漢字変換エンジンに用いられるデータ構造
第4章 かな漢字変換の実装
第5章 統計・機械学習のアルゴリズムとその応用
第6章 日本語入力のこれから

純粋に日本語入力システムそのものに関心がある人は第1章、第2章を読むとよさそう。
第3章は日本語入力のデータ構造の話。単純には連想配列があればよい、ということでまずはハッシュの話が。ただ日本語入力ではcommon-prefix-search(共通接頭辞検索)があると効率が良いということでトライのアルゴリズム(Double ArrrayとLOUDS)が紹介されている。この2つのトライのアルゴリズムは重要でありながら、これまで教科書では殆ど触れられなかった話題であるので、ここが詳しく解説されているというだけでも本書は大変価値がある。とくにLOUDSについては簡潔データ構造について日本語で書かれた最初の教科書な気がするので、そういう意味でものすごく重要。
第4章はグラフの最短経路の話。形態素解析でお馴染みのViterbiアルゴリズムについて書かれている。また動的計画法の活用や、データ構造にトライを利用する意義も本章でわかる。
第5章は機械学習の話。識別関数であるパーセプトロンSVMからはじまり、その構造化版である構造化SVM、識別モデルであるCRF、さらに言語モデルを用いた統計的かな漢字変換(生成モデル)とほぼすべての機械学習の基礎が網羅されていて、この章だけで機械学習の教科書として通用しそう。とくに勾配法ベースのSVMの学習(昔私が機械学習超入門で解説した方法)については論文ではちらほら解説があるものの教科書で解説されることはあまりない気がするので大変貴重。本書を読めばSVMってこんなに簡単だったのかーと思えるはず。

機械学習超入門IV 〜SVM(サポートベクターマシン)だって30分で作れちゃう☆〜 - EchizenBlog-Zwei -

第6章は+αの話。第5章まできっちり読んでいれば素直に読めそう。トライ木のpredictive-searchによる予測変換など面白い話題が色々。また最後に紹介されている参考書は4冊とも文句なしにオススメの良書。さすが@tkng先生。わかっていると言わざるを得ない。
 
  
とくに4つめの通称金谷本は最近読んですごさを実感した。機械学習をやる人は高村本やPRMLを読む前に基礎知識として絶対読んだほうが良い。神がかってる。


というわけで「日本語入力を支える技術」はものすごい良書です。@tkng先生さすがや・・・。これで3000円しないとか破格過ぎる。迷わず購入して良いと思われます。