Hatena::ブログ(Diary)

武蔵野日記 このページをアンテナに追加 RSSフィード

2013-12-28

日本語で読める自然言語処理の参考書まとめ

日本語で読める自然言語処理の参考書まとめを含むブックマーク 日本語で読める自然言語処理の参考書まとめのブックマークコメント

第5回入力メソッドワークショップのために京都へ。元々はオープンソース界隈の入力メソッド開発者が中心になって年に1回集まる(同窓)会だったのだが、ここ数年は大学で入力メソッドのレイヤーの研究をしている人や実際に MS, Apple, Google 等入力メソッドの開発に関係している人が中心になってきている。入力メソッドを現在開発していなくても、過去に作っていた人もいらっしゃるので、いろいろとおもしろいお話が聞ける。

自分は去年までは奈良・京都からの参加なので近かったが、今年から東京に引っ越したので、朝起きて品川経由で京都まで。7時40分の便だったが、満席でびっくりした。そうか、世の中的には今日が帰省のピークなのか。

米原で雪のため少し遅れたが、10分遅れで京都に着いたら晴れていた。ワークショップ開催まで時間があったので、NAIST の @ さんと近鉄京都駅前の illy で待ち合わせて一緒にランチ。日本語で読める、学部生向けの自然言語処理の教科書・参考書でいいのはありますか? というお話だったので、以下に少しまとめてみる。(自然言語処理の定番の教科書まとめも参照されたし)

自然言語処理の基礎

自然言語処理の基礎

  • 自然言語処理の基礎(コロナ社 2010)。なにか1冊で自然言語処理について学びたい人はこの本が最適。薄いのですぐ読める。
入門 自然言語処理

入門 自然言語処理

  • 入門自然言語処理(オライリー 2010)。Python で書かれた NLTK (Natural Language Toolkit) というツールキットを使って自然言語処理を学ぶ本。英語版は NLTK Book と言って無料で公開されているので、買う前に内容をチェックしたほうがよい。また、日本語版に追記されている書き下ろしの章は Python による日本語自然言語処理 として公開されている。こちらも、購入前に全文を読むことができる(内容はウェブで読める日本語処理の解説としてはトップクラスに詳しくかつ分かりやすい)ので、買う前に内容を見て、それでも買いたい場合は購入するとよい。
デジタル人工知能学事典 [CD-ROM付]

デジタル人工知能学事典 [CD-ROM付]

  • 人工知能学事典(人工知能学会 2005)。第7章「自然言語処理」が、1項目1-2ページで全25項目について自然言語処理について解説されており、過不足なく自然言語処理全体を概観することができる。図書館で探そう。ちなみにうちの研究室では研究室に配属された学部4年生全員で輪読した。
デジタル言語処理学事典 〔CD‐ROM付〕

デジタル言語処理学事典 〔CD‐ROM付〕

  • 言語処理学事典(言語処理学会 2009)。人工知能学事典で分からないことがあれば、こちらを参照するとよい。『人工知能学事典』同様、デジタル版がある。
言語処理のための機械学習入門 (自然言語処理シリーズ)

言語処理のための機械学習入門 (自然言語処理シリーズ)

  • 言語処理のための機械学習入門(コロナ社 2010)。機械学習を用いた自然言語処理を研究・開発する人の必読書。豊富な演習問題に、それぞれ解説もついているので、独習することもできる。自然言語処理を学習するに当たって必要な線形代数・微分積分の知識がどの程度か知りたい人も、同書を眺めてみるとよい。ちなみにうちの研究室でも学部3年生を中心に勉強会をしている。
日本語入力を支える技術 ?変わり続けるコンピュータと言葉の世界 (WEB+DB PRESS plus)

日本語入力を支える技術 ?変わり続けるコンピュータと言葉の世界 (WEB+DB PRESS plus)

  • 日本語入力を支える技術(技術評論社 2012)。Ruby 風の疑似コードを用いて日本語入力を題材に機械学習アルゴリズムを解説。実装力がそれなりにある人向け。「言語処理のための機械学習入門」のあと、もしく はそれとあわせて読むとよい。ただし、本格的な自然言語処理の知識を仮定しているので、すでに自然言語処理を学んだことのある人か、あるいは形態素解析レイヤー(単語分割、品詞推定)に興味がある人でないと、読むのは厳しいかもしれない。他の解説は、たとえば 社員数500人の会社としての大学 を参照。
集合知プログラミング

集合知プログラミング

  • 集合知プログラミング(オライリー 2008)。Python で機械学習のアルゴリズムについて解説した本。現実的な設定でコードが豊富に載っているので、プログラミングが好きな人にお勧め。
  • 入門ソーシャルデータ(オライリー 2011)。Python でウェブマイニングに関するいろいろなトピックについて解説した本。翻訳はいまいちだが、コードが豊富に載っているので参考にはなる(ただし、コードが読みやすい、あるいはきれいに書かれているとは限らないので、これを解読しようとするのは諦めて、こんなタスクがあるのか、と眺める程度にする方がよいと思う)。たとえば 『入門ソーシャルデータ』で文書クラスタリングと文書要約を学ぶ を参照。
入門 機械学習

入門 機械学習

  • 入門機械学習(オライリー 2010)。R で機械学習をいろいろなタスクに応用するという内容(あまり「入門」ではない)。個々の機械学習アルゴリズムはほとんど説明されていないが、どのようにしたら機械学習を自分のデータ に適用できるか、ということを知ることができる。Rを既に知っているのでRのほうが分かりやすい、というのでなければ先に『集合知プログラミング』および 『入門ソーシャルデータ』を読んだほうがよい。

結局のところ、自然言語処理を道具として使いたいのか、それとも自然言語処理自体の研究開発にコミットしたいのか、で何を手に取ればよいかが変わるのだが、前者をきっかけとして後者に興味を持つ人もいるので、何をお勧めすればいいのかは悩ましい。

午後は京大に移動して第5回入力メソッドワークショップ。まとめも作ってみた。方言に対応した日本語入力の話や、ライトニングトークの内容がとてもおもしろかった(後者は ノーソーシャルメディアということだったので、みなさんにお知らせすることはできないが)。

入力メソッドのレイヤーの研究開発をしている人がどんどん減っていることにみなさん危機感があるようだが、なかなかこのレイヤーの開発のできる人が増えない。このレイヤー(形態素解析や誤り訂正)の開発や研究をするのには、上記の「日本語入力を支える技術」が読みこなせるくらいの力が必要だが、その前提として「言語処理のための機械学習入門」程度の機械学習・自然言語処理の内容は前提としていて、それを理解するには大学1-2年程度の数学と、人工知能に関するプログラミング能力がそれなりにないと厳しい。

来年は東京開催になる可能性があるが、今後も入力メソッドに関するなにかを細々と続けていきたいものである。

shibukawashibukawa 2014/01/04 02:39 「高速文字列解析の世界」も良かったですよ。そちらの専門ではなかったので、擬似コードで、実際のコードは出てこないので、読みこなして参考コードを読んで理解するまでに時間かかりましたが・・・

mamorukmamoruk 2014/01/04 09:54 shibukawa さん
コメントありがとうございます。自分もその本は持っていますが、自然言語処理かというと少し違いますし、全体としてはちょっと発展的すぎるかなぁと思いました。上に挙げなかったけど他にも良書としては「確率的言語モデル」や「情報検索と言語処理」がありますね。いずれも、言語処理全般ではなく特定の分野に特化した話なので、紹介は見送りました。あと、自分自身は長尾先生の「自然言語処理」で勉強しましたが、恐らくもう絶版で入手しづらいでしょうね……(機械学習登場以前の古き良き時代の言語処理の教科書ですね)。