日本語情報抽出タスクのための LayoutLM モデルの評価

概要

  • Wikipedia 記事を用いてLayoutLM の事前学習を行い,2 種類の情報抽出タスクのための Fine-tuning を行った
  • ベースラインのBERT との性能比較を行った結果,一方のタスクにおいてレイアウト情報が性能向上に寄与することが確認できた
 

評価タスク

  • 属性値抽出タスク
    • カテゴリ別に分類されたWikipedia 記事から各カテゴリ毎に定義された属性に基づいて,その特徴を表す属性値を抽出
  • 契約書からの情報抽出
    • 企業間の契約書中に記載されている契約締結日,契約開始・終了日,契約締結社名等の 7 種類の情報を抽出
 

データセット

  • 事前学習データセット
    • 2019 年版 Wikipedia の全記事データ(約 110 万記事分)
  • Fine-tuning データセット
    • 属性値抽出タスク
      • 2019 年版 Wikipedia 記事の一部と,対応する属性値のアノテーション
    • 契約書からの情報抽出タスク
      • PyMuPDF7を用いて、以下を取得
          1. テキスト全文
          1. 文字単位の座標情報と正解ラベル8)
          1. 契約書 1 ページ毎のサイズ
      • トークン中に行の折り返しが生じた場合には,折り返し後に続く文字の高さと幅から折り返しがなかった時の座標情報を算出した
  • 事前学習
    • BERT-base に 相 当 す る パ ラ メ ー タ サ イ ズ のLayoutLM の事前学習を行った
    • BERT と共通するパラメータは東北大 乾研究室が公開している日本語版 BERT9)の重みで初期化し,2-D Position Embeddingはランダムな値で初期化
    • 評価タスクにて用いる Wikipedia やダミー契約書は,文書毎に大きなレイアウトの差異がなく情報抽出に有用な特徴を学習することは難しいと考えたため,本実験では MVLM のみ実施し MDC は実施しなかった
    • ハイパーパラメータは学習ステップ数 100,000,学習率 5e-5,バッチサイズ 256 とした.なお,学習率は 1,000 ステップまで Warmup を行い,そこから線形に減衰させた.
    • 学習は 8 基の NVIDIA A100 SXM4 を用いて行っており,後述の Fine-tuning や推論にも同環境を用いた.
 

推論, 後処理

  • 各ページの系列長が LayoutLM の上限入力長である 512 トークンを超える場合,一定の重複範囲(本実験では 128 トークンと設定)を持たせたスライディングウィンドウによりデータを分割
  • スライディングウィンドウによりテストデータが分割された場合,ウィンドウに含まれる重複範囲は2 回推論が行われる.重複範囲の前半は前側ウィンドウの,後半は後ろ側のウィンドウの推論結果を採用し,最終的に各ウィンドウでの推論結果をマージして推論結果としている
  • 推論結果 top-5 のうち,カテゴリに存在しない属性を無視した上で logit が最大の推論結果,または O タグを出力する
  • 同じ属性の I タグ同士の間に 5 トークン未満の連続した O タグが含まれている場合,O タグをI タグに変換する
  • O タグ,もしくは異なる属性の B または I タグに続く I タグを B タグに変換する
 

結果