ICL-D3IE

 

概要

  • LLMを使って文書情報抽出(DIE)
    • アプローチ: in-context learning
      • コンテキスト内にわずかな例が含まれるデモンストレーションから学習
        • few-shot promptを使う
        • 最強のプロンプトを作るぞ!!!!
  • (a)従来のやり方
    • 事前学習済みの視覚文書理解モデルに基づくファインチューニング
  • (b)本論文
    • in-context learning(ICL)による大規模、ラベルの付いていないトレーニングデータを用いたラージランゲージモデル(LLM)による視覚情報抽出タスク

学習(プロンプト作成)

1. 最近傍ドキュメントの選択

  • トレーニング書類・テスト書類のOCR結果(text, bbox)をプレーンテキストに変換
  • プレーンテキストをSentence-BERTに入力して、ドキュメント表現を取得
  • コサイン類似度スコアを計算して、各テスト書類に最も類似したトレーニング書類を特定
    • 類似したトレーニング書類が存在する前提?
    • 最近傍ドキュメントInnd1、Innd2、...、Inndnとして参照

2. 多様なデモンストレーション(プロンプト)の構築

  • (a) ラベルマッピング。
    • 非自然な単語のラベルを変換させるためのプロンプト
    • やり方
      • 提供されたデータセットから元のラベルのテキスト記述から「現金価格の合計」という「現金で支払われた金額」を表す「合計」などのテキスト記述を収集
      • 元のラベル(Y')とそれらの対応する説明(Y)を、GPT-3がテストサンプルを解決するための様々なデモンストレーションの前にコンテキストに含める
      • プロンプティングのラベルマッピングは以下のように定式化されます。
  • (b) ハードデモンストレーション
    • 単純い難易度の高いタスク(プロンプト)
      • 難しいタスクの問&解答をfew-shotで与えることでコンテキスト学習させたい
        • これを与えることですべてのテストドキュメントに利益をもたらす
    • やり方
      • ゼロショットプロンプトでGPT-3にInnd i(類似ドキュメント)のエンティティのラベルを予測させる
        • 「これらのテキストのラベルは何ですか?」: pt0
      • 予測されたラベルと対応する正しいラベルに基づいてF1スコアを計算
      • 最も低いF1スコアを持つthardのテキストセグメントを、最近傍ドキュメントから特定
      • ハードデモンストレーションはk回繰り返して最終的なプロンプトに更新される
    • 最初のハードデモンストレーションは以下のように定式化されます。
      • bhardとyhardは、テキストセグメントthardのボックス座標と回答である。
  • (c) レイアウトに注意したデモンストレーション。
    • やり方
      • Chard,0に隣接しているハードセグメントをランダムに選択
        • 位置関係の説明のための領域Rlを作成します。
      • GPT-3に位置関係を説明させる
        • 「これらのテキストの位置関係を説明してください」: ptl
    • レイアウトに注意したデモンストレーションは以下のように定式化されます。
      • Blは選択された領域Rlのテキストセグメントのボックス座標です。
  • (d) フォーマットデモンストレーション。
    • GPT-3がDIEタスクの出力をフォーマットするためのプロンプト
    • やり方
      • 最近傍ドキュメントからテキストセグメントtfをランダムに選択
      • テキストセグメントtf、対応するボックス座標bf、フォーマットのプロンプトpt0、および正解yfを含むフォーマットデモンストレーションCfを構成
 

推論

最終的なデモンストレーションを用いてGPT3に実行
最終的に、ICL-D3IEは生成された予測から対応する回答を抽出し、評価に適した形式に変換される
 

実験

  • データセット
    • FUNSDデータセット[17]:ノイズを含むスキャンされたフォーム理解用データセット
      • 総計9707の意味的エンティティの注釈があり、レイアウトが異なる199のドキュメントが含まれています。研究では、意味的エンティティのラベリングタスクに焦点を当てています。これには、各意味的エンティティに「質問」、「回答」、「ヘッダー」または「その他」といったラベルを割り当てることが含まれます。訓練セットは149サンプルで、テストセットは50サンプルから成り立っています。
    • CORDデータセット[29]:800のレシートを訓練用、100のレシートをバリデーション用、100のレシートをテスト用に含む、統合レシート理解データセット
      • このデータセットのラベルは、4つのカテゴリーの下に30の意味的ラベルを含み、階層的になっています。ただし、FUNSDデータセットのラベルよりも複雑で、ラベルマッピングが必要です。
    • SROIEデータセット[16]:4つのクラスに分類された973のレシート理解データセット。
      • 626のトレーニング画像と347のテスト画像が含まれています。このデータセットのラベルは、「会社」、「日付」、「住所」、「合計」となっています。
  • ベースライン
    • 全トレーニングサンプルでファインチューニングされた強力な事前学習モデル
    • わずかなサンプルでファインチューニングされたもの
    • 標準的なin-context learning
      • デモンストレーションのデータにground truth an1つが1つの文書のテキストコンテンツ、対応するボックス座標、プロンプト質問pt0、および対応する正解回答を含む
  • ICL-D3IE
    • ChatGPT(gpt-3.50turbo)
    • text-davinci-003(175B)
  • データ
    • LLM を介したコンテキスト内学習の一般化能力を実証するために、Text Attack [27] を使用して 3 つのベンチマーク データセットの分布外 (OOD) テストデータを生成
      • 元のテスト データは、分布内 (ID) テスト データと呼ばれます。
    • 具体的には、元の単語を見た目はほぼ同じで意味が異なる単語に置き換えたり、単語中の「name」→「nme」などの一部の文字を削除したりしてOODサンプルを生成します。
 
  • 全体的に一貫して他のメソッドよりも優位性あり
  • ChatGPTは出力のゆらぎによって回答の抽出が難しくなり、パフォーマンスが低下した
 

分析

どのデモンストレーションが効果的だったのか

  • どのデモンストレーションが効果的だったのか検証するため、デモンストレーションを削除してどれくらいF1スコアが下がるか検証
    • ハードデモンストレーション(HD)は最も影響が大きい傾向がある
    • レイアウトデモンストレーション(LD)はテストデータによって影響が異なった
      • CORDはレイアウト情報が重要だった
    • ラベルマッピング(LM)はCORDの影響が大きかった
    • フォーマットデモンストレーション(FD)がお手軽で良い回答の抽出に貢献している

デモンストレーションの数の影響

  • いずれのデモンストレーションでも数を増やした方が良い
  • ハードデモンストレーションは数が増えるほどパフォーマンスが良くなる
 

学習イテレーション数

  • 基本的にはイテレーション数が増えるほど精度が上がる
 

プロンプトの並び順

  • マッピング>ハード>レイアウト>フォーマットの方が良い
    • ハードとレイアウトを逆にしたら下がった
 

標準的なICLとの比較

 
 

感想

  • 分析がいっぱいあって楽しかった
  • とはいえ現実のタスク解くのにこれはどこまで現実的なのか?問題
    • テキストブロック単位でGPT3を叩く??
      • レスポンスとお金
      • 事前にここのラベルを予測したいというフィルタをかける想定?
    • ある程度似たドキュメントがすでに存在する前提?
      • 汎用性はそこまでないかも
      • 逆に既知のドキュメントには鬼強いんだろうなと
        • ここまでやったらそれはそう感はある
        •