「言語処理100本ノック 2025」の学習記録
2
stars
161
commits
Jupyter Notebook
primary language
Oct 3, 2025
updated
このプロジェクトは 岡崎直観先生作成の言語処理100本ノック 2025 の解答例です。
プログラミング言語Pythonを利用することを前提としています。
岡崎直観先生作「言語処理100本ノック 2025」は、自然言語処理に関わる100の問題がnotebook形式で提供されている問題集です。GitHub上に公開されており、Google ColaboratoryやAWS SageMakerを利用して誰でも取り組むことができます。
問題は以下の10章で構成されており、基礎から最新技術まで段階的に学習できる設計になっています。
このリポジトリでPythonスクリプトにて解答を作成しています。
uvのインストールパッケージの依存関係をuvにて管理します。
各OSにおけるuvのインストール方法は下記サイトを参照ください。
Astral Software Inc. Package Manager - uv
(なお、Google Colaboratoryで解答を作成する場合は本家HP-実行環境の項を参照ください。)
ssh/zipファイルにてリポジトリをローカル環境にクローン/ダウンロードしてください。
pyproject.toml, uv.lockファイルに基づき仮想環境を作成します。
uv sync --extra dev
適切に仮想環境が作成されれば、pyproject.toml, uv.lockと同じディレクトリに.venvディレクトリが作成されます。
[!WARNING]
uv.lockファイルは2025年9月時点の依存関係を記述しています。transformers,peftといったパッケージはリリースが頻繁に行われているため、APIの更新が行われ、ドキュメントとコードの乖離が生じる可能性があります。また、
mecab-python3がnumpy2系に対応していないことから、本リポジトリもnumpy1系を採用しています。
5章でLLMの有料APIを発行しますが、APIキーはPythonスクリプトにハードコーディングしないでください。
本リポジトリでは以下の方法でAPIキーを環境変数として管理しました。
ローカル環境
direnvと.envrcAWS (GPU利用時)
機密情報の管理については本家HPにも記載がありますので、一読ください。また、AWSなどのクラウド環境を利用する際は、各種クラウドで利用可能な機密情報管理サービスにてAPIキーを管理してください。
以下のコマンドで作成したスクリプトを実行します。
> uv run <path to python script>
仮想環境を明示的に有効化して、スクリプトを実行する場合は、以下のコマンドを利用します。
> . .venv/bin/activate
(nlp100) > python3 <path to python script>
作成したスクリプトをGit管理する場合は、ruffを介したpre-commitを利用できます。プロジェクト開始時に以下のコマンドを実行することで設定が完了します。
> uv run pre-commit install
また、pyproject.tomlの[tool.ruff]以降を編集してください。
本家HP-ランタイムの選択に記載のある問題はクラウドGPUサーバ上で実行しました。GPUの利用に慣れる良きチャンスであるため、本リポジトリでも当該問題についてはGPUの利用を推奨します。
本家HP-生成AIによるコード生成・補完に記載の通り、本リポジトリでも解答作成時はLLMによるコード補完機能をオフにすることを推奨します。
バグ報告や改善提案は Issue や Pull Request でお知らせいただけますと大変助かります。
161 commits
Jupyter Notebook
52.6%
Python
47.0%
「言語処理100本ノック 2025」の学習記録
2
stars
161
commits
Jupyter Notebook
primary language
Oct 3, 2025
updated
このプロジェクトは 岡崎直観先生作成の言語処理100本ノック 2025 の解答例です。
プログラミング言語Pythonを利用することを前提としています。
岡崎直観先生作「言語処理100本ノック 2025」は、自然言語処理に関わる100の問題がnotebook形式で提供されている問題集です。GitHub上に公開されており、Google ColaboratoryやAWS SageMakerを利用して誰でも取り組むことができます。
問題は以下の10章で構成されており、基礎から最新技術まで段階的に学習できる設計になっています。
このリポジトリでPythonスクリプトにて解答を作成しています。
uvのインストールパッケージの依存関係をuvにて管理します。
各OSにおけるuvのインストール方法は下記サイトを参照ください。
Astral Software Inc. Package Manager - uv
(なお、Google Colaboratoryで解答を作成する場合は本家HP-実行環境の項を参照ください。)
ssh/zipファイルにてリポジトリをローカル環境にクローン/ダウンロードしてください。
pyproject.toml, uv.lockファイルに基づき仮想環境を作成します。
uv sync --extra dev
適切に仮想環境が作成されれば、pyproject.toml, uv.lockと同じディレクトリに.venvディレクトリが作成されます。
[!WARNING]
uv.lockファイルは2025年9月時点の依存関係を記述しています。transformers,peftといったパッケージはリリースが頻繁に行われているため、APIの更新が行われ、ドキュメントとコードの乖離が生じる可能性があります。また、
mecab-python3がnumpy2系に対応していないことから、本リポジトリもnumpy1系を採用しています。
5章でLLMの有料APIを発行しますが、APIキーはPythonスクリプトにハードコーディングしないでください。
本リポジトリでは以下の方法でAPIキーを環境変数として管理しました。
ローカル環境
direnvと.envrcAWS (GPU利用時)
機密情報の管理については本家HPにも記載がありますので、一読ください。また、AWSなどのクラウド環境を利用する際は、各種クラウドで利用可能な機密情報管理サービスにてAPIキーを管理してください。
以下のコマンドで作成したスクリプトを実行します。
> uv run <path to python script>
仮想環境を明示的に有効化して、スクリプトを実行する場合は、以下のコマンドを利用します。
> . .venv/bin/activate
(nlp100) > python3 <path to python script>
作成したスクリプトをGit管理する場合は、ruffを介したpre-commitを利用できます。プロジェクト開始時に以下のコマンドを実行することで設定が完了します。
> uv run pre-commit install
また、pyproject.tomlの[tool.ruff]以降を編集してください。
本家HP-ランタイムの選択に記載のある問題はクラウドGPUサーバ上で実行しました。GPUの利用に慣れる良きチャンスであるため、本リポジトリでも当該問題についてはGPUの利用を推奨します。
本家HP-生成AIによるコード生成・補完に記載の通り、本リポジトリでも解答作成時はLLMによるコード補完機能をオフにすることを推奨します。
バグ報告や改善提案は Issue や Pull Request でお知らせいただけますと大変助かります。
161 commits
Jupyter Notebook
52.6%
Python
47.0%