
Sainz+'23 - GoLLIE: Annotation Guidelines improve Zero-Shot Information-Extraction
Oscar Sainz, Iker García-Ferrero, Rodrigo Agerri, Oier Lopez de Lacalle, German Rigau, Eneko Agirre
[Project][Paper][Models][Notebooks]
※ 誤っている可能性のある内容、未紹介の内容がございます
※ 詳細は必ず 論文 をご参照ください
1. どんなもの?
アノテーションガイドラインに従うよう微調整を行うことで、学習セットに含まれない未知のタスクにおいて LLM の情報抽出性能を改善する GoLLIE (Guideline-following LLM for Information Extraction) を提案
2. 先行研究と比べてどこがすごい?
LLM における情報抽出
固有表現抽出や情報抽出等において LLM が既存の SOTA に及ばない
社ブログでも簡単に紹介したのでこちらを参照 [blog]

オープンドメイン情報抽出 (OpenIE) における課題
アノテーションスキーマに従ったデータセットの構築コストは高い
既存タスクでも同一ラベルのスキーマが異なることがある
e.g. PER ラベルは ACE05 と CoNLL03 において異なる意味を示す
現在の LLM はアノテーションスキーマへの追従能力が不十分

3. 技術や手法のキモはどこ?
Q. LLM がアノテーションガイドラインに従うための工夫は何か?
あらゆる情報抽出タスクを Python コードベースのラベル表現で統一。明確で読みやすいだけでなく、LLM の(事前学習による)コード理解を活用し、コードフォーマッタにより出力を構造化できる。
ガイドライン・ラベル候補は各データセットで提供されているものを使用。ガイドラインが提供されない場合は人手で作成し、ラベル候補が提供されない場合は単語頻度に基づいてサンプリング or ガイドラインに基づいて人手で作成する。

Q. 未知タスクに対して抽出性能を改善するための工夫は何か?
学習時にさまざまなノイズを導入
Class shuffling … 各入力で入力クラスの順序をシャッフル
Class dropout … 入力クラスの一部をランダムに削除
Guideline paraphrasing … ラベル定義に多様性を持たせるために Vicuna 33B v1.3 を用いて言い換えを行う
Representative candidate sampling … コメントアウトされる候補に多様性を持たせるためにプールから 5 個の候補を選択
Class name masking … クラス名を LABEL1 のように置換
4. どうやって有効だと検証した?
データセット

モデル設定
Code-LLaMA 7B (13,34B) を QLoRA によって学習することで Baseline と GoLLIE を準備

Supervised Evaluation

Q. 未知タスクに対して抽出性能を改善できたか?

ガイドラインを用いることで平均して 13.0pt の大幅な精度改善を達成。
Q. 未知タスクでの抽出性能汎化における効果的な工夫は何か?

エラー分析

Guideline には実際のガイドラインの要約が記述されている。
5. 議論はある?
ラベルの定義に自然言語ではなく Python クラスで記述するため、ラベル名・ガイドライン・スパン等の属性値が明確に表現できる
ガイドラインの特定性・ラベル衝突等が予測性能に与える影響は大きい
アブレーション結果は In-Context Leanring を伴う微調整でも同様か
Python コードベースによるラベル体系の定義であるため、Fine-grained NER のようなラベル数が膨大な(入力系列長が大きくなる)タスクには不向きか
6. 次に読むべき論文は?
Wang+'23 - InstructUIE: Multi-task Instruction Tuning for Unified Information Extraction [arXiv]
Zhang+'23 - PromptNER: A Prompting Method for Few-shot Named Entity Recognition via k Nearest Neighbor Search [arXiv]