background-eyecatch

日本語BERTを利用してZero-shotで文書分類するレシピ

3.6(5)
0

メニュー

概要

このレシピは教師データに存在しないラベルを予測する「Zero-shot Learning」という問題設定でテキスト分類するレシピです。

Zero-shot Learningは画像の分野で取り組みが多いものの、テキストではあまり数が多いとは言えません。
それも、要求される知識や実装の複雑さから、なかなかハードルが高くとっつきづらいものが多いと感じています。

そんな中、自然言語処理の分野ではトップの国際会議である、ACL2020でBERTを利用したモデルが提案されました。

Zero-shot Text Classification via Reinforced Self-training

この論文を参考に、比較的少ないコードでZero-shot Text Classificationを実装する方法を紹介します。

学べること

ACL2020に採択されたモデルの部分的な実装

始める前のスキルセット

  1. 基本的な機械学習の知識
  2. BERT・Transformerについて(なんとなく)わかる

実務活用例

テキストへの自動ラベル付け

キッチン

開発環境

Google Colab

GPUによる学習を含むため、ProやPro+が望ましいですが、学習は可能です。
性能の良いGPUが引けないと学習時間が長くなります。

ツール

Sentence-Transformers

Transformersから派生したライブラリです。
複数のテキストが入力になるようなモデルを実装するのに便利な機能があります。

データセット

京都大学の黒橋研から提供されているNLIのデータセットを利用します。(後述)
日本語SNLI(JSNLI)データセット

文書分類問題でよく利用されるニュースのデータセットを利用します。
livedoor ニュースコーパス

調理

テスト

テストを受けてみよう

今回Zero-shotで新たに扱えるようにしたカテゴリはどれですか?

使用した自然言語推論の学習データはどれですか?

今回BERTで解いた問題の枠組みはどれですか?