Help us understand the problem. What is going on with this article?

【言語処理100本ノック 2020】Pythonによる解答例まとめ

はじめに

自然言語処理の問題集として有名な言語処理100本ノックの2020年版が公開されました。
この記事では全100問のPythonによる解答例を紹介します。間違いやより良い方法など、お気づきの点があればぜひお気軽にコメントください。
なお、解答のノートブックはすべてgithubにて公開しています。

事前準備

解答にはGoogle Colaboratoryを利用しています。
Google Colaboratoryのセットアップ方法や基本的な使い方は、こちらの記事が詳しいです。
とはいえ、特別な設定は必要なく、Googleアカウントさえあればすぐに利用することができます。

第1章: 準備運動

テキストや文字列を扱う題材に取り組みながら,プログラミング言語のやや高度なトピックを復習します.

第1章の問題と解答例

第2章: UNIXコマンド

研究やデータ分析において便利なUNIXツールを体験します.これらの再実装を通じて,プログラミング能力を高めつつ,既存のツールのエコシステムを体感します.

第2章の問題と解答例

第3章: 正規表現

Wikipediaのページのマークアップ記述に正規表現を適用することで,様々な情報・知識を取り出します.

第3章の問題と解答例

第4章: 形態素解析

夏目漱石の小説『吾輩は猫である』に形態素解析器を適用し,小説中の単語の統計を求めます.

第4章の問題と解答例

第5章: 係り受け解析

『吾輩は猫である』に係り受け解析器を適用し,係り受け木の操作と統語的な分析を体験します.

第5章の問題と解答例

第6章: 機械学習

文書分類器を機械学習で構築します.さらに,機械学習手法の評価方法を学びます.

第6章の問題と解答例

第7章: 単語ベクトル

単語の類似度計算や単語アナロジーなどを通して,単語ベクトルの取り扱いを修得します.さらに,クラスタリングやベクトルの可視化を体験します.

第7章の問題と解答例

第8章: ニューラルネット

深層学習フレームワークの使い方を学び,ニューラルネットワークに基づくカテゴリ分類を実装します.

第8章の問題と解答例

第9章: RNN, CNN

深層学習フレームワークを用い,再帰型ニューラルネットワーク(RNN)や畳み込みニューラルネットワーク(CNN)を実装します.

第9章の問題と解答例

第10章: 機械翻訳

既存のツールを活用し,ニューラル機械翻訳モデルを構築します.

解答準備中

おわりに

言語処理100本ノックは自然言語処理そのものだけでなく、基本的なデータ処理や汎用的な機械学習についてもしっかり学ぶことができるように作られています。
オンラインコースなどで機械学習を勉強中の方も、とても良いアウトプットの練習になると思いますので、ぜひ挑戦してみてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away