こんにちは!自然言語処理(NLP)・大規模言語モデル(LLM)の解説記事や書籍を書いている、
すえつぐです!
(著書、 『誰でもわかる大規模言語モデル入門』 が日経BPより発売中。ブラックフライデー期間はKindle版が少し安くなってます!)
今回は、自然言語処理(NLP)に関する本とオンラインコースを、本気で厳選して紹介します。
本・オンラインコースは体系的かつ信頼性の高い情報が詰まっている、素晴らしい勉強方法です。しかし、自然言語処理は新しい分野のため書籍・オンラインコースは玉石混交です。
「入門者向け」と書いてあるが実際に読んでみたら難しすぎる本、そもそも情報が古い本などが存在し、適当に本を選ぶと時間・お金が無駄になる可能性があります。
そこで本記事では、NLP・LLMに関する書籍のほぼ全てに目を通し、テーマごとに2~3冊づつ、合計15冊に本気で厳選しました。同じような内容・難易度の本がある場合は、中身を吟味し一冊だけおすすめしています。(正直、他サイトは「NLP本を羅列してるだけで結局どれ買えば良いのか分からない。そもそも読んだのか?」と思ってしまうようなものも見受けられました)
- 「NLP・LLMに興味はあるが、何から勉強すればよいかわからない」という入門者の人
本記事では、自然言語処理・大規模言語モデルに必要な知識、何から学べば良いか?を最初に解説します。何から学べば良いかを知ってから本を選ぶことで、無駄なく本を選ぶことができるはずです。 - 「NLP・LLMを体系的に学び直したい」という中級者の人
本記事ではトピックごとに本を厳選して紹介します。中級者の方はトピックごとに、自分に合った良書を選べるはずです。
本記事では書籍の難易度も「超簡単〜難しい」で評価し、紹介します。
超簡単or簡単であれば、文系の人や数式が苦手な人も理解できる難しさです。難易度が普通でも、他の書籍を読んでいれば理解できる内容となっています。
自然言語処理(NLP)の本・オンラインコースの選び方
自然言語処理の本・オンラインコースを選ぶ際に必ずチェックしておきたい「4つのポイント」をご紹介します。
本の選び方① 学習段階に応じたものを選ぶ|NLPは何から学べばよいのか?
「NLPはなにから学べば良い?」「BERT、GPTなどでNLPに興味を持ったけど、何から勉強すればよいかわからない」という方々のために、まずNLPの学ぶ知識を解説します。
下の図のように、自然言語処理は大まかに3つに分類できます。
図のように、自然言語処理を学ぶべき分野は3つに分類できます。
自然言語処理を効率良く勉強するには、以下の順番で勉強していくのがおすすめです。
STEP2. BERT・GPTモデルについての本を読む
【中級者・自然言語処理を体系的に学び直したいという人はSTEP3から】
STEP3. 機械学習・ディープラーニングの勉強・復習する
STEP4. NLP理論と実装を、基礎から発展まで学ぶ
STEP1. 自然言語処理の入門書を読む【入門者・これから自然言語処理を学びたいという人はここから】
対応書籍:入門|まず読むべき本2選
STEP2. BERT・GPTモデルについての本を読む
対応書籍:最先端NLPモデル|事前学習モデル・大規模言語モデル(LLM)3選
次に、BERT・GPTモデルについての本を学びます。
ここまでの本を読めば、NLPの基礎が理解でき、BERT・GPTを実装できるようになると思います。
更に以下のSTEP3、STEP4の本を読むことで、理論をより深く理解し、より発展的な実装を行うことができるようになります。
「DLモデルを飛ばすのか?」と疑問に思った人もいるかもしれません。結論から言うと、DLモデルの本を飛ばしてもBERT・GPT本は理解できます。なぜなら、BERT・GPT本では最初に簡単なディープラーニングの説明があるからです。
そのため、「とりあえず今流行のLLMを学びたい」と言う人は先にBERT・GPT本を読み、STEP3以降でしっかりとディープラーニングについて学ぶのがベストだと思います。
STEP3. 機械学習・ディープラーニングの勉強・復習【中級者・体系的に学び直したいという人はここから】
STEP4. NLP理論と実装を、基礎から発展まで学ぶ
対応書籍:基礎〜発展|自然言語処理の理論本・オンラインコース3選、自然言語処理の実装本3選
本の選び方②できるだけ2018年以降の本を選ぶ|2017年はNLPの大きな転換点
2017年に、Google BrainによってTransformerが発明され、NLPに大きな革新をもたらしました。このTransformerをベースにした、BERTやGPTといった事前学習モデル・大規模言語モデル(LLM)が開発され、今でも最先端の性能を誇っています。
そのため、2017年までの書籍はこれらの最先端モデルの情報がなく、基本的にはおすすめできません。
本記事でも、自然言語処理の基本と技術以外は、全て2018年以降の書籍を紹介しています。(この本はTransformer以前の知識を重点的に学ぶ、入門書としてはベストなため選ばせていただきました。)
本の選び方③理論本と実装本を組み合わせて学ぶ
自然言語処理の本には理論を重点的に解説する理論本と、実装コードが充実している実装本の二種類があります。この二種類をバランス良く学ぶことで、理論と実践の両方を学ぶことができます。
また、実装本では、実ビジネスを想定した問題もあり、理論本だけでは扱われていない現実的な問題について学ぶことができます。
理論本と実装本を組み合わせて学ぶことで、理論的な知識と実践的なスキルの両方を身につけられるでしょう。
また、今回紹介するUdemyやCourseraなどのオンラインコースは理論・実装、共に充実しています。オンラインコースを受講して、理論と実装の両方を学ぶのも良いでしょう。
本の選び方④Kindle・オンラインコースを上手く活用する
これはNLPに限らない話ですが、Kindleを上手く使うのがおすすめです。
特に技術書は重い本が多い上に、何冊か並行して読むことも多いため、Kindleに移行するメリットが大きいです。(正直、Kindle移行前はカフェなどで本を読もう、作業しようという気になれませんでした)
もちろんKindleデバイスとKindleスタンドを使うのも良いですし、MacやWindowsアプリもあるので、コードを書きながら読むなどパソコンで読むのもおすすめです。
私自身は、基本パソコンでKindleを読んでいます。寝る前と移動中はKindleデバイスで読むことが多いです。
また、個人的にはKindleに移行してから「読む頻度が上がった」というメリットも感じています。
Kindleデバイス・スマホアプリでも気軽に読めることで、少し時間が空いた時に読む習慣ができました。隙間時間が無駄にならないのはもちろん、読む頻度が上がり良い読書習慣ができました。読書習慣をつけたい人にもKindleはおすすめです。
また、自然言語処理を学ぶ方法として、オンラインコースを活用するのもおすすめです。メリットとしては講師に質問できる、修了証明書を入手できる、という2つの大きなメリットがあります。
メリット1. 講師に質問できる
UdemyやCourseraでは、講師に直接質問することができます。これにより、「コードが動かない」、「理解できないことがある」といった時に、専門家から的確なアドバイスを受けることができます。
経験上、特にコードの質問ができるメリットは大きいです。コードの間違いをどうやっても自分では見つけられない場合や、自分のパソコン環境が原因の場合など、いわゆる「沼ってしまう」場合があります。そういった時に質問できるのは、大きなメリットだと感じています。
メリット2. 修了証明書を入手できる
Udemy、Courseraでは、最後までオンラインコースを受講すれば、修了証明書を入手することができます。この修了証明書は、履歴書やLinkedinなどに添付することができ、自分が学習したことを証明できます。
入門|まず読むべき本2選
まず自然言語処理の全体感を理解するための書籍を紹介します。まずNLPを浅く広く理解することで、挫折せず、その後の学習も効率的に学べるでしょう。
NLPの基礎知識を理解するのにベストな一冊。
書籍の難易度:簡単
NLPの基礎知識をわかりやすく解説している入門本。図解と具体例が多く、直感的にNLPの全体像を理解できます。
特に、この書籍は「機械学習・深層学習を使わない自然言語処理」についての説明もしっかりされています。他の書籍は「機械学習・深層学習を使った自然言語処理」にフォーカスし、基礎的な手法の説明は薄い場合が多いです。
実装の超入門本。自然言語処理の楽しさを実感できる一冊。
書籍の難易度:超簡単
絶対に挫折しない、超簡単な実装本。簡単さ、面白さを重視してると思いきや、意外にも網羅的なテーマを扱っています。
「自然言語処理でどんなことができるのか?」を実体験しつつ、自然言語処理の楽しさがわかるはずです。
上で紹介した自然言語処理の基本と技術との組み合わせがおすすめ。
最先端NLPモデル|事前学習モデル・大規模言語モデル(LLM)3選
BERT本の決定版。BERTの全体感と実装にはベストな一冊。
書籍の難易度:簡単
BERT本で最も読まれている入門本。説明がわかりやすく、実装も完備。
難しい理論説明は少なく、「機械学習・ディープラーニングがなんとくならわかる」という人でも理解できるはず。
BERTの入門本であるため、AttentionやTransformerなどについての解説は必要最低限。より詳しく知りたい人はBERT入門、もしくは本サイトの解説記事(Attention、Transformer)と併用して読むのがおすすめ。
個人的には、あえて理論は必要最低限の説明しかしていないと感じました。
BERTの理論、AttentionやTransformerを理解するのは難しいので、入門本としては必要最低限がちょうど良いのかもしれません。
この辺の理論からしっかり学びたい人はBERT入門がおすすめ。
BERT・GPTなど、多くの最先端のNLPモデルの実装が一冊にまとまっている稀有な一冊。
書籍の難易度:簡単
最先端モデルのBERT・GPT・DALL-Eが一冊にまとまっている稀有な本。
手を動かしながら最先端NLPモデル(BERT GPT3)の概要が理解できます。理論本との組み合わせがおすすめ。
説明に図・画像をふんだんに使っており、読みやすく飽きない。
BERTをより深く理解したい人におすすめの一冊。
書籍の難易度:やや難しい
BERT入門という名前だが、入門書としては踏み込んだ説明が多く、やや難しい。
BERTだけでなく、AttentionとTransformerについても丁寧に説明されています。
理論本寄りで、BERTなどのLLMの仕組みを知りたいという人向け。BERTによる自然言語処理入門の理論説明の少なさを補ってくれる本。
原論文から多くの図・数式を引用しており、原論文を読む前・読みながらにも適している一冊。初学者にはおすすめできないが、機械学習・ディープラーニングをしっかり勉強した後に読みたい一冊。
機械学習・ディープラーニング理論&実装4選
Udemy 【世界で55万人が受講】データサイエンス25時間ブートキャンプ〜 |機械学習・ディープラーニングを勉強、復習したい人、全員におすすめの決定版。
【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
コースの難易度:簡単
動画・オンラインコースで学びたい、機械学習・ディープラーニングまでを網羅的に学びたい、復習したいという方にはこのUdemyがおすすめです。
このUdemyのコースは統計学・数学から機械学習・ディープラーニングまでの広い範囲を、非常にわかりやすくまとめた入門コースです。
機械学習・ディープラーニングの基礎が一撃でわかる、入門者〜初学者は必ず見るべきオンラインコース。
勉強・復習に便利なのはもちろん、私はチームで共通認識を作るためにチーム全員でこのコースを購入しました。そもそもデータサイエンスに対する知識が無い人にもお勧めできるコースです。
機械学習・ディープラーニングの入門本。重要なキーワードを網羅した一冊。
書籍の難易度:簡単
機械学習・ディープラーニングの入門本。図を使ってわかりやすく解説しているが、冗長にならず1,2ページで簡潔にまとまっている良書。
機械学習・ディープラーニングの重要キーワードが、それぞれ1,2ページでまとめられています。「これなんだっけ?」という時の超分かりやすい辞書としても有用です。
入門者は必読、初学者は手元に置いておきたい一冊。
ディープラーニングの詳細をわかりやすく解説した一冊。
書籍の難易度:普通
カラフルな図解と例えで分かりやすい基礎本。
ニューラルネットとディープラーニングの概要から詳細な技術まで、数式付きで詳しく解説されています。
数式や専門用語に対する解説が丁寧で易しく、中級本としては信じられないぐらいわかりやすい良書。この本まで読めば、自然言語処理に必要な知識は大分理解できるはずです。
英語オンラインコース|Coursera ディープラーニング専門講座
こちらは英語が得意な方のみですが、おすすめのオンラインコースも紹介しておきます。
2週目以降は英語のみですが、1週目だけ日本語字幕があります。使用される英語は難しくないので、ある程度英語ができる、という人には良いオンラインコースです。(私はTOEIC865ですが英語字幕付きであれば問題なく理解できました)
基礎〜発展|自然言語処理の理論本・オンラインコース3選
ここまでで自然言語処理の入門、機械学習・ディープラーニングの基礎に関する書籍を紹介しました。
ここからは、自然言語処理の理論をより深く理解し、より実践的な実装ができるようになる本・オンラインコースを紹介します。
自然言語処理の教科書として最適な一冊。
書籍の難易度:やや難しい
東工大教授、大阪大学准教授など5名の方々が書いている、自然言語処理の教科書と言っていい一冊。Transformer、事前学習モデルまで網羅的・詳細に解説されています。
一方で、数式も多く中々に骨太な本なイメージ。
入門者は上で紹介した入門本2選の後に買うのがベターでしょう。逆に、入門書を読んだ人にはおすすめの一冊。
教科書のように使えるので手元にあると心強い。
ディープラーニングを使った自然言語処理の本質へ迫る一冊。
書籍の難易度:難しい
機械学習関連技術の数学的な基礎理論、実用的なアルゴリズム、それらの活用法を解説する「機械学習プロフェッショナルシリーズ」の自然言語の応用に関する一冊。
このシリーズ全てに言えることだが、読むのは簡単ではないが、数式で徹底的に解説されています。
数式付きでしっかり理解したい人、高度なDeepLearningモデルを開発したい人におすすめ。
*Transformerに関する情報は載っていません。Seq 2Seqまでの解説になっています。
英語オンラインコース|Stanford大学の自然言語処理講座
https://www.youtube.com/watch?v=rmVRLeJRkl4&list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ&ab_channel=StanfordOnline
「遂に世界トップレベルのNLP授業が日本語で受けられるのか!」と非常に期待して受講したのですが、内容が薄い(各動画は平均2〜3分程度)、講師の話し方が棒読みすぎるなど、正直おすすめするに値しないと感じました。
Courseraの修了書を入手できるのは魅力的かと思いますので、チェックしてみるのも良いかもしれません。(良いアップデートが起きていることを祈ります)
自然言語処理の実装本3選
絶対読むべき実装本。ゼロからコーディングすることでコード理解が深まる一冊。
書籍の難易度:簡単
界隈で知らない人はいない、というレベルの名著、いわゆる「ゼロつく」です。
ゼロつく①はCNNメイン、ゼロつく②はRNNとAttentionをゼロから実装していく書籍になっています。自然言語処理を学ぶなら②だけ、もしくは①→②の順番で読むのがおすすめです。
IT Textなどの理論本で理論を理解しながら、実装していくのがベストでしょう。
ゼロから作ることで、言語モデルが何をしてるかを感覚的に理解できます。今流行の大規模言語モデル(LLM)を理解する上でも必読の一冊。
中級向け実装本|重いが興味深い、発展的な実装が並ぶ一冊。
書籍の難易度:普通
ゼロつく②の次に読みたい一冊。ゼロつく②はAttentionまでが範囲でしたが、この本はTransformerモデルをメインに扱っています。ゼロつくと同じように、理論は最低限でコードで実践的なスキルを身につけることができます。
Transformerモデル、Huggingfaceについて深く理解できる一冊。(Amazonレビューには「翻訳が気になる」と書かれていましたが、私はあまり気になりませんでした)
実際のユースケースごとの実例有り。ビジネス・研究に役立つ実践本。
難易度:少し難しい
数式はほぼなし、実際のビジネス・研究に役立つアイディアが詰め込まれています。例えば、Eコマースのレビュー分析やSNS分析などへのアプローチがコード付きで解説されています。
上記2つの本は「必ず読むべき本」ですが、この本は実際に仕事や研究で実装することが決まってから買って読むのがおすすめです。
私はオライリー信者ではないのですが、NLP実践本は全てオライリー本になりました。
理由としては、そもそも自然言語処理の実践本はあまり充実していないこと、オライリー本はコード解説が明快でわかりやすいことが挙げられます。
オライリー本は、一見分厚くて難しそうなんですが、読んでみると意外とサクサク読めます。やはり実践本に関してはオライリーが頭一つ抜けている印象です。
【+α】エンジニア向けの本だが、NLPを学ぶ人も読むべき本2選
実装・コーディングをする人は絶対に読むべき一冊。
「エンジニアでは読んでいない人の方が少ない」と言われているほどの一冊。「良いコードとはなにか?」について解説されていて、コードを書く人は全員読むべき一冊。
NLPでもモデルを作るとなるとコードを書くことになるため、必読だと思います。
まだ確立していないデータサイエンティストのキャリアについて考えさせられる一冊。
エンジニアのキャリアについての一冊。こちらはリーダブルコードほど有名ではありませんが、個人的におすすめの一冊です。
まだエンジニアよりもキャリアが確立していない、データサイエンティストにとって参考にできる情報が多く詰め込まれています。機械学習エンジニアになりたい人のための本 AIを天職にするは基礎的な情報をまとめた一冊なのに対して、この本はより実践的な内容が多い書籍となっています。
データサイエンティストになろうと考えている人、キャリアについて悩んでいる人におすすめ。
データサイエンスの未来、求められるスキルなどが非常に客観的かつデータベースに解説されている名著。
この本は、おそらく大半の人が既に読んでいること、またNLPとの位置付けが難しいため、今回は選外としました。ただ、もし読んでいなければ、データサイエンスに関わる人は必ず読むべき本です。
かなりモチベーショナルな本。Audible版で読み返すのもおすすめ。(Audibleの無料体験も適用できます。私も久しぶりに読み返したくなり、試しにAudibleの無料体験を使って無料で聞きましたが、かなり良かったです。)
余談:すえつぐが0から最短で独学するとしたらどれを買うか
ここまで15選紹介させていただきましたが、私がゼロから独学するならどうやって勉強するか?についても紹介させていただきます。一つのケースとして、参考になれば幸いです。
「本記事で紹介した本は全て良書かつ、学べることが被っていないので全部買う。」
と言いたいところですが、実際に最短ルートで勉強するなら以下のように独学すると思います。
1. 自然言語処理の概要・大枠を知る。
1.1. 入門本2冊(自然言語処理の基本と技術、キテレツ)でNLPの概要を掴む
1.2. BERT本を読んで最先端NLPモデルの概要を掴む(実装は軽く動かす程度)
2. 自然言語処理をディープラーニングから学び、理解を深める。
2.1. Udemyを受講する。図解即戦力を手元に置いてわからない時に読む。受講後にディープラーニングを支える技術を読んで理解を深める。
2.3 BERT入門に戻って、より深くTransformerモデルを理解する。
*リーダブルコード・ソフトスキルズを飽きた時、暇な時に読む。移動中はAudibleでシン・ニホンを聞く。
3. 実践・アウトプットして実践的な力をつける。
勉強したことをブログにまとめる、SignateやKaggleに参加してモデルを作ってみる。
【本を買った人向け】Amazonのサービスを使って更に効率良く学ぶ
ここからは本を買った人向けの話になりますが、私は「どうやったら効率的に本で学べるか?」も非常に重視してきました。(今回、できるだけ紹介する本を絞ったのも、みなさんに効率良く学んでいただけたら良いな、という思いからです。)
読む本はもちろん、「読む方法」もどうやったら効率化できるか、試行錯誤を繰り返してきました。読む方法に関しては、多くの人が気になるのはAmazonのサービスではないでしょうか。
私は、紙の本からKindleに移行したのはもちろん、Kindle Unlimited、Kindleデバイス、AudibleといったAmazonのサービスを全て試してきました。
結論から言うと、Kindle Unlimitedは微妙でしたが、KindleデバイスとAudibleは使う価値がある、試してみないのはもったいないと感じました。
Kindle Unlimited
まず、Kindle Unlimitedは無料で読める本が多いものの、良書は少ない印象でした。
正直、微妙な本を読むのが一番時間がもったいないです。そのため、Kindle Unlimitedに関してはあまり使う価値はないかなという印象です。
読みたい本がKindle Unlimitedだった場合に、Kindle Unlimitedに契約する、という形が良いと思います。
Kindleデバイス
Kindleデバイスに関しては、冒頭でも述べましたが「本を読む頻度が上がった」というのが一番のメリットでした。寝る前や少し時間が空いた時に本を読む習慣ができました。
また、多くの人が言っているメリットですが、「通知が気にならず読書に集中できる」というメリットもやはり大きいと感じました。スマホよりも読書に集中できています。
個人的には、Kindleデバイスは本3〜4冊の値段だと思えば、もっと早く買っておけばよかったなと少し後悔しているぐらいです。
Audible
Audibleは、「使う価値がある」というよりは「試す価値がある」サービスだと感じました。Audibleは現在、2ヶ月無料キャンペーンを行っています。私もこのキャンペーンを使用し、シン・ニホンなどを聞いていました。
移動している時間や、散歩している時間など、気軽に本が聞けるのは良いなと感じた反面、「人によって合う、合わないがある」だろうなと感じました。
なぜなら、文字と音、どちらが頭に入りやすいかは人によるからです。実際、私は文字の方が頭に入ってきやすいと感じましたが、友人は文字よりも音の方が頭に入ってくるとAudibleを気に入っていました。
個人差があるため、無料キャンペーンが終わる前に一度試してみるのをお勧めします。(できるだけ更新するようにしますが、既に終わっていたら申し訳ございません。)
このサイト、Twitterについて
本記事を最後まで読んでいただき、ありがとうございました。
このサイトでは、これからも自然言語処理を図解でわかりやすく解説していきます。
「他のサイトの解説は難しすぎる」「もっと直感的に理解したい」という方々の役に立てるように解説していきます。
是非、お気に入り登録、Twitterのフォロー、記事シェアしていただけると嬉しいです。Twitterでは、投稿のお知らせ、NLPの最新情報などを発信しています。