はじめての自然言語処理
自然言語処理とは、人間が自然に使っている英語や日本語などの言語をコンピュータで処理する技術です。
ウェブ、メール、SNS 等、私たちの周りには自然言語で記述された文章が溢れていて、様々な情報や価値が含まれています。 しかし、その量は膨れあがり、人間が目視で内容を確認し対応することは困難になってきています。 自然言語処理技術で、これら膨大な文章を人手によらず判断、抽出、検索、変換し、適切なアクションにつなげることができます。そして深層学習の登場により、その性能が飛躍的に向上していることはウェブの翻訳サイトなどを通じ皆さんも体感していることでしょう。
本連載は手を動かしながら自然言語処理技術を学びたい人、システムに組み込んで役立てたい人を対象にしています。 BoW、TF-IDF のような基礎から BERT をはじめとした深層学習を用いた最新手法まで、日本語で動作させるサンプルコードを交えながら紹介していきます。
以下はこれまでの連載でカバーされている内容を俯瞰したイメージです。図中の丸数字が該当する内容を含む連載回です。
紹介した手法をきちんと系統立てて整理したかったのですが、どうにも綺麗に収まりません。それよりも、この連載を読む人視点では「何が出来るのか」「教師データが必要なのか」といったことに関心がある気がしたので、ゆるふわな絵になりました。手法、モデル、OSS がごちゃまぜになっていますが、そのあたりも気にしないということで。
③⑦⑧: BERT や T5 が固有表現抽出等に使えないという意味ではないです。連載で扱ったのはこの辺りですよ、ということです。
④: わかりにくいですが、GiNZA の学習済みモデルをそのまま使う分には教師データなしで依存関係なり固有表現抽出なりできますが、文章分類をしたいなら教師データが要りますよ、ということです。
連載記事一覧
- 第1回 類似文書検索の手法と精度比較 (2019年3月公開)
- 第2回 Rasa NLU を用いた文書分類と固有表現抽出 (2019年4月公開)
- 第3回 BERT を用いた自然言語処理における転移学習 (2019年6月公開)
- 第4回 spaCy/GiNZA を用いた自然言語処理 (2019年8月公開)
- 第5回 pke によるキーフレーズ抽出 (2019年10月公開)
- 第6回 OSS によるテキストマイニング (2019年12月公開)
- 第7回 T5 によるテキスト生成の検証 (2020年2月公開)
- 第8回 続・T5 によるテキスト生成の検証 (2020年4月公開)
- 第9回 Sentence BERT による類似文章検索の検証 (2020年6月公開)
- 第10回 QuartzNet による音声認識の検証 (2020年8月公開)
- 第11回 QuartzNet で音声認識 JetBot を試してみる (2020年10月公開)
- 第12回 ELECTRA(BERT の事前学習手法の改良)による固有表現抽出の検証 (2020年12月公開)
- 第13回 ORQA でクイズに答えるモデルを作る (2021年2月公開)
- 第14回 Hugging Face Transformers で T5 を使ってみる (2021年4月公開)
- 第15回 spaCy 3.0 で Transformer を利用する (2021年6月公開)
- 第16回 Switch Transformer の検証 (2021年8月公開)
- 第17回 ByT5 と Charformer の検証 (2021年10月公開)
- 第18回 Sentence Transformer による文章ベクトル化の検証 (2021年12月公開)
- 第19回 文章ベクトル化モデルと ResNet50 で CLIP 風のモデルを作る (2022年2月公開)
- 第20回 Fusion-In-Decoder でクイズに答えるモデルを作る (2022年4月公開)
- 第21回 T5X と Prompt Tuning の検証 (2022年6月公開)
- 第22回 MixCSE による教師なし文章ベクトル生成の検証 (2022年8月公開)
- 第23回 BRIO による抽象型要約の検証 (2022年10月公開)
- 第24回 SNGP による不確実性を考慮した文章分類 (2022年12月公開)
- 第25回 Transformer 系モデルの推論高速化の検証 (2023年2月公開)
- 第26回 Rasa に transformers を組み込んでチャットボットを作ってみる (2023年4月公開)
- 第27回 DeepSpeed-Chat による RLHF の紹介 (2023年6月公開)
- 第28回 Prefix Tuning の検証 (2023年8月公開)
- 第29回 LangChain でマルチターン&タスクの Agent を作る (2023年10月公開)
- 第30回 Elyza 日本語 Llama2 指示応答モデルのファインチューニングと vLLM での推論 (2023年12月公開)
- 第31回 OpenAI text-embedding-3-large と Cohere Rerank 3 の精度評価 (2024年6月公開)