話題のNLP入門書「入門 自然言語処理」をいただいてました(遅

故あってオライリーさんより「入門 自然言語処理」をご献本いただいていました。すぐさまレビューを書こうと思っていたらいろいろあって遅くなってしまった。。。査読の機会をくださった@mizuno_takaakiさん、@mhagiwaraさん、@overlastさん、どうもありがとうございました!

参考:

本書は簡単に言うと「ダイジェスト版自然言語処理」ともいうべき書籍で、これから自然言語処理をやりたい人は目を通しておくと良い気がする。
というわけで以下簡単にレビュー。


本書は「Natural Language Processing with Python」の日本語訳。原書にはない「12章 Pythonによる日本語自然言語処理」という章が@mhagiwaraさんの書き下ろしで追加されているのが大きな特徴(実は、この12章の査読に協力させていただいた関係で、今回ご献本いただきました。感謝)。
原書にwith Pythonと付いているとおり、本書ではNLTKというPythonのライブラリを使った解説が多数登場する。とはいえ本書で解説していることは他の言語でもやれるので、Python使いじゃないからと尻込みする必要はないと思う。ただ、本書ではプログラム的な部分はほぼNLTK依存なので、具体的なコードの書き方を知りたいという人にはオススメはできないかもしれない。
入門書というと「扱う要素を絞って最低限の要素を丁寧に解説するようなもの」と、「その分野で遭遇するトピックを広く浅く紹介したもの」の2つがあると思うのだけど、本書は後者に該当する入門書といえる。参考文献リストも充実しているので、本書を読んで興味を持った話題については、別途参考文献を読む。というような読み方がオススメ。逆に一冊の本で完結していないと嫌という人には向かない。
本書には自然言語処理で遭遇するであろう話題が広い範囲で紹介されていて、テキストマイニングから機械学習、文法の話まで扱っている。また自然言語処理でよく出てくるアルゴリズムや評価手法の話なども書いてある。
自然言語処理をやりたいけどどこから手を付けたらいいのか、という人は本書が非常に参考になるとおもう。手がかりが無ければ最初の一歩が踏み出せない。本書があればスタート時に取れる選択の幅が広がると思う。ただ、あくまで本書は紹介しているというレベルなので、興味のある分野が見つかったらその分野に特化した専門書を読むなどしたほうが良いとは思う。
最後に。本書の12章は日本語での自然言語処理に特有な問題を解説した章。最初にちょっと触れたが日本語訳版での書き下ろしとなる。この章を読むだけでも自然言語処理が概観できる。知っておくべき用語やライブラリなどが満載なので忙しい方はこの章だけでも読んでおくといい気がする。また本章は他の章と異なり、用語の英語表記や関連URLなどが充実しているので、そういう意味でも本章から読み始めるのはオススメできる。
と、いうわけで「ダイジェスト版自然言語処理」とも言うべき本書。自然言語処理をやる人は目を通しておくと良いんじゃないでしょうか。ちなみに私は文法周りの知識が不足していたので8-10章あたりが勉強になった。