📚

言語処理100本ノック2025 で学ぶNLP - 画像系DSが全100問完走した記録(解答例も公開)

に公開

はじめに

私は業務では主として画像データを扱うため、自然言語処理に触れる機会はほとんどありませんでした。加えて、昨今のLLMの進化はまるで韋駄天のよう。正直、日々流れてくる情報に目眩がしました。

しかし、データサイエンティストを自称する職業人として、最もトレンドな分野である自然言語処理(生成AI)について「何もわかりません」と言うのもいかがなものか……(汗)

そこで、教材を探していたところ目についたのが、2025/04に公開された「言語処理100本ノック 2025」でした。本記事では、問題集の概要を紹介するとともに、実際に取り組んで得られた知識について具体的にお伝えします。

言語処理100本ノック 2025とは

岡崎直観先生による「言語処理100本ノック 2025」は、自然言語処理に関わる100の問題がJupyter Notebook形式で提供されている問題集です。GitHub上に公開されており、Google ColaboratoryやAWS SageMakerを利用して誰でも取り組むことができます。

https://nlp100.github.io/2025/ja/index.html

問題は以下の10章で構成されており、基礎から最新技術まで段階的に学習できる設計になっています。

  1. 準備運動
  2. UNIXコマンド
  3. 正規表現
  4. 言語解析
  5. 大規模言語モデル
  6. 単語ベクトル
  7. 機械学習
  8. ニューラルネット
  9. 事前学習済み言語モデル(BERT型)
  10. 事前学習済み言語モデル(GPT型)

学習対象者

こんな方におすすめ

  1. 自然言語処理を学びたい!!(個人的には、この気持ちが一番大切かなぁと思います)
  2. 基礎的な機械学習の知識がある
    Pythonであればscikit-learnやPyTorchといったパッケージで解析した経験のある方であれば問題ないと考えます
  3. 基本的なLinuxコマンドが使える

上記3点を満たしていれば、躓きながらも前に進められるかと思います。

動作環境、必要な資金・計算資源

推奨環境はGoogle Colabであり、多くの問題はT4ランタイム上で動作します。したがって、多くの問題は無料で進めることができます。

しかし、一部の問題(9、10章、Local LLMのSFT等)は有料のA100ランタイムで解くことが推奨されています。また、LLM APIを用いる5章ではAPIリクエストに応じて料金が発生します。

https://qiita.com/SH2/items/39314152c0a6f9a7b681
https://note.com/great_ai_jay/n/n25a888a3e598

私の解答例

執筆時点(2025/9)で100問を完走しており、公開されている解答例は限られているため、参考資料として私の解答例を公開します。

https://github.com/odoriko-yoru/nlp100

ただし、私はGoogle Colabは利用せず、以下の環境で作業を行いました。

  • Pythonスクリプトで解答を作成
  • uvでパッケージの依存関係を管理
  • ローカル(MacBook Air M2 24GB) + AWS EC2インスタンス(g5.xlarge - A10G, VRAM 22.4GB)上で作業

Pythonスクリプト、uvを採用した理由はパッケージの依存関係管理と環境、結果の再現性を可能な限り担保するためです。

100問完走で身についた知識

実際に取り組んだ結果、以下の知識を習得できました。

基礎技術(1-4章)

  1. テキストデータの前処理・クレンジング技術
  2. 正規表現を活用した効率的な文字列処理
  3. 形態素解析・構文解析の実装と活用

発展的な手法(5-10章)

  1. APIを用いた大規模言語モデルの効果的な利用方法
  2. Hugging Faceエコシステム(transformers, datasets, evaluate, peft, trl)の実践的な使い方
  3. Local LLMの取り扱い(ダウンロードから推論まで)
  4. 各種ファインチューニング手法の実装
  5. 量子化等のモデル軽量化技術
  6. DPO等のRLHF手法の理解と実装

基礎・発展ともに不要な知識はあらず、最低限身につけておきたい項目が網羅されている印象です。

まとめ - 「言語処理100本ノック」 は LLM研究・開発への足がかり

「言語処理100本ノック2025」は、自然言語処理の基礎から最新のLLM技術まで体系的に学べる優れた教材です。実際に完走してみて、LLM開発現場で求められるスキルセットを習得できることを実感しました。

もちろん、これだけで研究者レベルに到達するわけではありませんが、LLM開発の実務に参加する基礎力は身につきます。

自然言語処理分野でのキャリアを考えている方や、LLM技術をビジネスに活用したい方には、ぜひ挑戦していただきたい問題集です。

謝辞

最後になりましたが、問題を作成し自然言語処理を学ぶきっかけをくださった岡崎直観先生に感謝いたします。ありがとうございました。また、この問題集を足がかりに、日本のNLPコミュニティのさらなる発展を期待しております。


Appendix : 参考リポジトリ・書籍

最後に、学習において役立ったリポジトリと書籍を紹介いたします。

リポジトリ

問題集のcontributorでもあるupura(Shotaro Ishihara)様のリポジトリは、解答例として大変勉強になりました。本当にありがとうございました。

https://github.com/upura/nlp100v2025

他にも完走された方がいらっしゃいましたら、ぜひお声がけください。またよろしければ、本記事へ追記させて下さい。解答例の多様性を共有することで、コミュニティの発展に貢献したいと考えています。

書籍

理論

IT Text 自然言語処理の基礎 (オーム社) - 2022
https://www.ohmsha.co.jp/book/9784274229008/

Python等による実装例はありませんが、数式から自然言語処理を学ぶには最適な書籍です。
数式と図のバランスが良く、特にTransformerの説明がこれまで見たどの資料よりもわかりやすいと感じました。私はこの書籍をお供に解答を作成しました。

実装(9, 10章向け)

  1. 大規模言語モデル入門(技術評論社) - 2023
  2. 大規模言語モデル入門Ⅱ〜生成型LLMの実装と評価(技術評論社) - 2024

https://gihyo.jp/book/2023/978-4-297-13633-8
https://gihyo.jp/book/2024/978-4-297-14393-0

こちらの2冊は理論よりも実装に重きをおいた書籍です。特にTransformersの実装例がたくさん記載されており、9・10章の解答はこの2冊を横に置きながら作成しました。これらもおすすめの書籍です。

Discussion