Azure OpenAI Serviceを使用して文章を分類する ~GPTを用いた少数例つき&クラス説明付き分類編~

はじめに

ISID AITCに所属しております、阿田木です。
本記事では、下記の記事で紹介されている、4.少数例つき分類(Few-Shot Learning)と5.クラス説明付き分類(k-shot Learning with Class Explanation)をピックアップして解説を行います。

具体的なタスクとしては、Azure OpenAIサービスを用いた、問い合わせメールの分類を行います。なお、タスクの詳細については元記事をご一読いただければ幸いです。

目的

本記事は以下のようにプロンプトの与え方を工夫(プロンプトエンジニアリング)した場合、GPTを使った分類精度にどれくらい影響があるのか確認します。

※ プロンプト:AIモデルに対する「入力文」もしくは「命令文」のこと

プロンプトエンジニアリングの工夫点

GPTによる文章分類において、プロンプトエンジニアリングを工夫しました。プロンプトエンジニアリングを文章分類に応用することで、与えられたテキストに基づいて、より適切なラベルを割り当てることができます。

  1. 分類すべきメールのクラスラベル説明付き分類(k-shot Learning with Class Explanation)
  2. 少数例つき分類(Few-Shot Learning)
  3. 一部のラベルに対するプロンプトエンジニアリング

なお、本実験では、GPT-3(text-davinci-003)のみ使用しています。

実験結果

前提として、ゼロショット分類(こちらの記事)の結果の最高精度32%をベースとします。評価指標はAccuracyです。

1.分類すべきメールのクラスラベル説明付き分類(k-shot Learning with Class Explanation)

手法評価精度
パターン130%
パターン235%
パターン338%


2. 小数例つき分類(Few-Shot Learning)

手法評価精度
1例38%
2例40%


3. 一部のラベルに対するプロンプトエンジニアリング

手法評価精度
パターン①42%
パターン②48%
パターン③50%

まとめ

本記事では、GPT-3を用いた少数例つき分類(Few-Shot Learning)とクラスラベル説明付き分類(k-shot Learning with Class Explanation)の結果をまとめました。
ラベルの説明や、少数例つきとして例を与えるほど精度が向上したことから、GPTに業務知識を与えることはある程度成功していそうです。
まだまだ精度改善の余地はありますが、GPT-3では、与えらえる語彙数に制限があるためこれ以上の情報を追加することはできませんでした。最近リリースされたGPT-4ではその点が改善されているため、さらに高い精度が期待されそうです。

ここまでお読みいただきありがとうございました。

執筆
AITC AI製品開発グループ
阿田木 勇八