見出し画像

自然言語処理を学ぶためのオススメの書籍7選

自然言語処理は、コンピュータに人間の言語を理解させて、それを利用する技術です。
ChatGPTをはじめとする生成AIの多くも、自然言語処理がベースとなっています。

私自身、自然言語処理に興味を持ったのが今から3年前ぐらいで、そこから多くの書籍を手に取り、勉強に励みました。
結果、今では、ありとあらゆるテキストデータについて、自然言語処理の技術を使って、人並み以上の分析はできると思っています。

この記事では、私が手に取った書籍の中でも特に役立ったおすすめの書籍を7冊、ご紹介したいと思います。

これらの本は、テキストマイニングの基本から、最近注目を集める大規模言語モデルの解説に至るまで、幅広くカバーしています。

これから自然言語処理を学ぶ方にとって、必ず役に立つと思います。


1 テキストアナリティクス入門


1冊目にご紹介するのはこちら

自然言語処理の入門として超おすすめです。
何より解説が丁寧!

実装していくためのプログラミングの補足知識や環境構築についても丁寧に説明してくれています。
ワードクラウド共起ネットワークなど、ビジュアル的に面白い技術が学べるほか、トピックモデル感情分析など、少し高度な技術も身につけることが可能です。
青空文庫のデータや、観光口コミデータ、Twitterデータなど、実際のテキストデータを使った実装が豊富に用意されているので、リアルに楽しむことができますし、実践で応用していくイメージがつきやすいと思います。
また、単語処理における複合語の抽出や分散表現を用いた類似文書検索など、少し高度なテクニックにも触れていますので、次のステップへの飛躍にも繋がります。
本書は自然言語処理の「全部乗せ」といっても過言ではありません。

しいて難点をあげるとしたら、spaCYと呼ばれる自然言語処理ライブラリーを用いていることです。
spaCYはライブラリーとして優秀なのですが、あまりに優秀すぎて、簡単にコード1行で何でもできてしまうので、かえって基本の理解が進まないイメージがあります。
また、日本語の形態素解析機として最も使われているMecabとの互換性がありません。Mecabユーザーからすると、spaCYは使いにくいかもしれません。
ただ、自然言語処理を体感しながら全体感を理解するという意味では、全く支障がないと思います!

私自身、実装に行き詰まって、出版社経由で著者の方に質問もさせていただきましたが、丁寧に教えてもらいました。

2 金融・経済分析のためのテキストマイニング


続けてご紹介するのはやや堅めのコチラ

1冊目の書籍とはだいぶ毛色が異なります。

日々、市場レポートや経済ニュースが飛び交っていますが、それらのテキストデータを分析し、資産運用や市場分析に活かす動きが加速しています。
本書は、こうした金融テキストの分析を通じて、「コトバをお金に変える方法」を紹介している書籍になります。

分析対象が「金融・経済」のため、ややとっつきにくいイメージがありますが、「現実の経済社会で、自然言語処理がどう活用されているか?」を理解でき、これにより、「自然言語処理を学ぶことで何が美味しいのか?」を実感できるので、モチベーションアップにつながると思います。

なお、著者の和泉潔氏は、日本のテキストマイニング・自然言語処理の分野の第一人者でもあります。


3 Pythonによるテキストマイニング入門


3冊目はこちら

今でこそ、テキストマイニングや自然言語処理に関する書籍があふれかえっていますが、わずか3年ぐらい前までは、書籍はほとんどなく、テキストマイニングを勉強するのに苦労したことを覚えています。

そんな学習初期のころに出会ったのがこの本です。

本自体は薄く文量が少ないので、学習初期のころに読む本としては手頃だと思います。
テキストマイニングについて、広く浅く学べるようになっていますし、今でも読み返してみて、コンパクトにまとまっているなぁと言う印象を持っています。

コンパクトである反面、ひとつひとつの概念について細かい記載はないので、深い理解はできません。ただ、学習初期であれば、この程度がちょうどいいかなと思います。

「出現頻度の統計の実際」という章があって、グラフで単語の出現頻度を示しているのですが、当時、「テキスト分析ってこういうものかぁ」と少し感動したことを覚えています。


4 BERTによる自然言語処理入門


これまではテキストマイニングの書籍でしたが、ここからは深層学習モデルを用いた本格的な自然言語処理の書籍に移ります。

いきなりレベルが高いですが、こちらの書籍をご紹介します。

超名著です。

今話題のChatGPTと同様、自然言語処理の近年の発展に大きな役割を果たしたBERTというモデルの入門書になります。
レベル的には、これまでの書籍より格段に上になりますが、大変分かりやすく書かれているので、初学者の方でもじっくり読み進めば、BERTを自分で使えるようになります。

BERTはGoogleが2018年に発表した自然言語処理モデルです。
Google検索やGoogle翻訳でBERTが採用されたことで、その後の検索・翻訳は格段に精度が向上しました。
「文脈」を考慮した処理が特徴的であり、言語理解を評価する11個のタスクについて最高精度を達成し、今や標準的なモデルとしての地位を確立しています。

なお、BERTもChatGPT(GPT)も、大量のテキストデータを用いて事前学習した大規模言語モデルですが、得意分野が大きく違います。
BERTは、文章の文脈を理解し、文章を分類したり、類似の文章を検索することが得意です。
一方、GPTは、ユーザーから与えられた文脈に基づいて自然な文章を生成することが得意です。
一言で言うと、BERTは文章理解、GPTは文章生成に特化したモデルです。

ChatGPTが世の中に現れるまでは、言語モデルといえはBERTと言われるほど隆盛を誇っていた時期もありました。
今ではすっかりGPT系モデルの裏で鳴りをひそめていますが、BERT自体は非常に優秀なモデルであり、個人ベースでも使いやすいので、大規模言語モデルというものがそもそも何か?を理解するにはぴったりです。


5 BERT入門


続けてのBERTです。
ChatGPTが出てくるまでは本当に強かったんですよね

この書籍は、BERTやGPTなど、最新の大規模言語モデルを支える重要な技術であるAttention機構について、図などを交えながら分かりやすく解説してくれているのが特徴です。

あわせて、Attentionの仕組みを用いたニューラルネットワークアーキテクチャであるTransformerについても、何がすごいのか?どのような仕組みか?をかなり詳しく説明してくれています。

初学者の方にとっては少し難しく感じるところもあるかもしれませんが、他の書籍等はもっと難しいので、まずは、この書籍で ざぁーと読んでみるのがよいでしょう。何回か読んで、他の書籍やネット記事も読んで、巡り巡って帰ってくると、きっと理解できると思います。

前述のBERTによる自然言語処理入門と同様、豊富なタスクが用意されています。この2冊で、実装経験を積めば、ほぼBERTはマスターしたようなものになります。
あとは、実践で試していくことが大事です。



6 ゼロから作るDeepLearning❷ 自然言語処理編


深層学習を語る上で欠かせない「ゼロから作るDeepLeaning」
通称、ゼロつく
こちらの第2編が自然言語処理編となっています。

帯にある「作る経験はコピーできない。」
名言ですね。

新しい技術を使うのに、「試しに使ってみたら動いた」と「自分の手で作って、仕組みを理解した上で使う」ではまったく意味が違います。

この書籍の中で、最も良かったのは、
word2vecの実装です。
word2vec→単語(word)をベクトル(vec)にするという意味で、word to vecです。2は当て数字です。
自然言語処理を学ぶ上で最も重要な分散表現について、自らの手を使いながら会得することができます。この経験はまさにコピーできないですね。

あと、RNNの実装もなかなか良かったです。
Transformerの技術が出るまでは、文章はRNN(再帰的ニューラルネットワーク)で処理するしかありませんでした。しかし、RNNは処理に時間がかかる上に、直列で処理をするため、文章の最初の方の情報をだんだん忘れてしまうという欠点がありました。
Transformerの素晴らしさを実感するうえでも、一度、先人の苦労を味わってみると良いかもしれません。


7 大規模言語モデル入門


最後にご紹介するのはコチラです
こちらも名著といっていいでしょう。

これまでの自然言語処理の集大成です。
冒頭、本書は「機械学習もしくはプログラミングの書籍の1冊目に読む本としてはおすすめできる本でありません」との記載があり、あまりに正直だったので好印象を持ちました。
実際、その通りだと思います。
ついでに言うと、自然言語処理の学習の1冊目に読む本でもありません。

前半が理論編、後半が実装編と分かれています。

理論編では、Transformerや、大規模言語モデルの基礎を学習するほか、なぜ、GPTといった優秀な大規模言語モデルが生まれたのかなど、最近の研究で分かってきたことの紹介がされています。(第4章大規模言語モデルの進展)

実装編では、BERTやChatGPTのAPIを使って、感情分析、文章要約、質問応答などのタスクを実装していきます。
著者の一人に日本語BERTを開発した方がいらっしゃるためか、印象としてはBERTでの実装が多めです。
個人的には、SimCSEという対照学習による文埋め込みモデルと、最近傍検索ライブラリFaissを使った検索が良かったです。ちなみに、後者の考え方は、ChatGPTで非公開の社内文書に関するQ&Aを作ったりするのにも役立ちます。

さいごに


いかがでしたでしょうか。

今回、ご紹介した書籍は、原理的なものがやや多めとなっていて、流行りの生成モデルについて触れているものは少ないですが、生成モデルの理論的背景を理解するには役立つものばかりです。

この記事が、自然言語処理の深い造詣につながれば幸いです。


この記事が気に入ったらサポートをしてみませんか?