Upgrade to Pro — share decks privately, control downloads, hide ads and more …

契約書画像からの情報抽出に特化した視覚接地モデルを育てる話

 契約書画像からの情報抽出に特化した視覚接地モデルを育てる話

■ イベント
自社で育てるLLM/VLM/VLA:学習・活用の実践知#2
https://matsuo-institute.connpass.com/event/404811/

■登壇概要
タイトル:契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
登壇者:技術本部研究開発部 Data Analysisグループ 山内 敏嗣

■ 技術本部 採用情報
https://media.sansan-engineering.com

Avatar for SansanTech

SansanTech PRO

October 04, 2026

More Decks by SansanTech

Other Decks in Technology

Transcript

  1. ⼭内 敏嗣(Satoshi Yamauchi) Sansan 株式会社 技術本部 研究開発部 Data Analysisグループ 研究員

    京都⼤学⼤学院⼯学研究科電気⼯学専攻修⼠課程修了。 在学中は制御理論研究に取り組む。⾃動⾞メーカーでの品質保証業務を 経た後、制御システムベンダーでベイズ統計や機械学習を活⽤したモデル 予測制御システム内で⽤いる予測モデルの⾃動更新技術の研究開発に従事。 現在は契約書データ化のためのVLMの研究開発やチームリーダーを務める。
  2. アジェンダ - 背景 - Contract Oneとデータ化 - データ化フローと運⽤しているモデル - 内製視覚接地モデルCelloについて

    - 課題:Cello を育てるための矩形データがない - 矩形データを作るための施策 - 施策① Viola の attention スコアの活⽤ - 施策② Cello⾃⾝の⽣成矩形の活⽤
  3. 背景:Contract One とデータ化 - Sansanは、契約AXサービス「 Contract One」を提供している。 - Contract Oneは、契約書をアップロードするだけで、契約書を⾼い精度で

    データ化し、契約データベースを構築できるサービスである。 - データ化:契約書から、タイトル・契約相⼿・締結⽇・有効期間といった ⼀般的な契約管理のために重要な9項⽬を抽出する。 抽出結果 タイトル:委託契約書 契約相⼿:Sansan株式会社, Yonyon株式会社 有効期間:2024年4⽉1⽇~2025年3⽉31⽇ ・・・
  4. 背景:なぜCelloが必要なのか? - Celloによる⾼精度な視覚接地が実現できると、VQAモデルでは実現できなか った以下の機能が実現できる。 ① 推論根拠が記載されている ページの特定。 契約相⼿は? 契約書 ②

    根拠矩形をオペレータ向けの ハイライト機能として提供。 ③ OCR 校正による精度向上。 Sansan株式会社 契約相⼿は? 契約書 > Nine OCR(内製 OCR )との 連携(右図)を⽬指せる。 Sansan株式会社
  5. 背景:Cello開発のこれまで - 経済産業省・NEDO の国家プロジェクト GENIAC (*)の基盤モデル開発 事業 第3期に採択され、事前学習まで完了した。 - GENIACでFTも実施していたが、契約書ドメインでは前述の3機能全てを

    実現できる精度には⾄っていない。 - そこでGENIAC第3期完了後の現在も更なる精度改善を⾏なっている。 GENIAC 第3期 事前学習 現在 契約書ドメインFT 3機能全てリリース Phase * GENIAC(Generative AI Accelerator Challenge) 主に⽣成AIのコア技術である基盤モデルの開発に対する計算資源の提供や、データやAIの利活⽤に 向けた実証調査の⽀援等を実施するプロジェクト。(URL: https://geniac.meti.go.jp/)
  6. 課題:Cello を育てるための矩形教師データがない - 学習には(⽂書画像, 質問テキスト, 回答テキスト, 矩形)が必要となる。 回答テキストはオペレータタスクなのでデータが溜まる。 - ⼀⽅、矩形作成はContract

    Oneのオペレータタスクになっておらず、追加 タスクにするにしてもアノテーションコストが⼤きくスケールしづらい。 - ⾃動で作る⼿段として OCR+ルールベースがあるが、以下の⽋点がある。 - 同じ⽂字列が複数箇所に現れ、どれが根拠か判定することが難しい。 - 項⽬によっては納品結果の⽂字列がそのまま書かれておらず、ルールベース も作りづらい。
  7. 施策②:Cello⾃⾝の⽣成矩形の活⽤ - Cello ⾃らサンプリングして学習データを作る⼿法も施策として考えた。 - 矩形が妥当かどうかは Viola を使って判定できる可能性がある。 - まずRLを考えたが、Celloは独⾃アーキテクチャのため既存のRLライブラ

    リを流⽤できず、実装・検証のコストが⼤きいと考えた。 - ⼀⽅、Reward rAnked Fine Tuning (RAFT) [Dong et al, 2023]という⼿法 は導⼊が容易で、今回のケースと相性が良いと考えた。 - パイプライン(次スライド)にSFTを組み込むのみなので、既存の学習コード を流⽤できる。 Dong et al, RAFT: Reward rAnked FineTuning for Generative Foundation Model Alignment, 2023
  8. 施策②: Reward rAnked Fine Tuning (RAFT) - 以下のサイクルをひたすら繰り返す⼿法。それぞれデータセットの かたまり単位で処理される。 Sample

    Select 現在のモデルで候補⽣成 ⼊⼒:𝑥 モデル 𝑝!!"# 𝑦|𝑥 最⼤報酬サンプルのみ採⽤する。 𝑦" FT⽤データ 𝑖 = arg max 𝑟 𝑥, 𝑦 ⋮ $%& ' ' 𝑥, 𝑦'$%& 𝑦# 候補 𝑦" ⋮ 𝑦# Train 選定済みデータでFTし、モデルを更新する 𝑥, 𝑦'$%& FT 新モデル 𝑝!'() Trainが他のフェーズと分離 しているため、既存の学習 コードを流⽤できる。
  9. 式から解釈するSFT / RL / RAFT の違い 最⼤化したい⽬的関数 勾配(簡単のため符号は省略) SFT 𝐸

    (,* ∼, log 𝑝! 𝑦|𝑥 𝐸 (,* ∼, ∇! log 𝑝! 𝑦|𝑥 RL (⽅策勾配法) 𝐸(∼, 𝐸*∼-* *|( 𝑟 𝑥, 𝑦 𝐸(∼, 𝐸*∼-* *|( 𝑟 𝑥, 𝑦 ∇! log 𝑝! 𝑦|𝑥 RAFT 𝐸(∼, 𝐸*∼-* +,- *|( 𝑓 𝑟 𝑥, 𝑦 log 𝑝! 𝑦|𝑥 𝐸(∼, 𝐸*∼-* +,- *|( 𝑓 𝑟 𝑥, 𝑦 ∇! log 𝑝! 𝑦|𝑥 𝑓: ℝ → 0, 1 は報酬から2値化する処理 • SFTは⼊出⼒ 𝑥, 𝑦 が所与で、サンプルごとの勾配は1で重み付けされている。 • RLは所与なのは⼊⼒𝑥のみで、モデル⾃⾝の出⼒で学習する代わりに、サンプルごとの勾配を報酬で 重み付けする。 • RAFTは⼊⼒𝑥が所与でモデル⾃⾝の出⼒で学習するが、サンプルごとの勾配を報酬に基づいて バイナリ化(つまり採⽤/棄却)した値で重み付けする。
  10. 今回⽤いた選定⼿法 推論矩形を⽤いて 2つの画像を作成 画像1 それぞれで推論 (該当箇所をマスク) 委託契約書 Viola 委託契約書 ―

    (ブランク) 抽出根拠がないので 何も答えられないこ とを期待。 画像2 (該当箇所以外をマスク) 委託契約書 元の画像 + 推論矩形 Viola 最低限抽出根拠があ れば正しく回答でき 委託契約書 (正解⽂字列) ることを期待。 以下の優先順位で選定する。 ① 画像1の推論結果がブランク and 画像2の推論結果が正解⽂字列の中で、矩形⾯積がより⼩さい。 ② ①を満たすものがない場合、画像1でブランクを想定としたloss+画像2で正解⽂字列を想定したlossが⼩さい。
  11. 施策②:実験設定 - 施策①で作ったモデルをベースとして、8ページ以下の契約書約1万件で本⼿法で 学習し、矩形の変化を定性評価した。 - RAFTの設定 - Iteration数:3回 - 項⽬ごとのsample数K(難しい項⽬は多くした)

    > タイトル、契約相⼿、締結⽇、⾦額:3 > 有効期間および⾃動更新条項:8 - 各iterationでの学習step数(うまくいっているか様⼦を⾒つつ増やすことにした) > 1iteration⽬:15000回 > 2iteration⽬:25000回 > 3iteration⽬:46421回
  12. 定量評価 - 4ページ以下の契約書20件にCelloの推論矩形を描画し、⽬視で正しく矩形 が付与できた件数をカウントした。表の各要素は正解率(正解件数)を表す。 - 改善している項⽬が多いが、⼀部の項⽬で正解率の低下が確認された。 条件 タイトル 締結⽇ 契約相⼿

    ⾦額 有効期間(*) ⾃動更新(*) 施策なし(base model) 0.90 (18) 0.85 (17) 0.65 (13) 0.90 (18) ー ー + 施策①(attention活⽤) 0.95 (19) 0.95 (19) 0.65 (13) 0.85 (17) 0.50 (10) 0.95 (19) + 施策②(RAFT) 0.95 (19) 1.00 (20) 0.80 (16) 0.80 (16) 0.50 (10) 0.85 (17) (*) base modelが未学習の項⽬なので評価できない
  13. まとめ - 内製の視覚接地モデルCelloを育てるために、⾃動で矩形データを作成す る以下の⼿法を検討した。 - 施策①:Viola の attention スコアを活⽤した矩形選択 >

    OCR+ルールベースで発⽣する誤った矩形の除去に有効であることがわかった。 > 納品結果と⽂書中の表記が⼤きく異なり矩形を作りにくい項⽬も、多少粗くとも 矩形データが作れることがわかった。 - 施策②:Cello⾃⾝の⽣成矩形を活⽤したRAFT > 有効期間条項のような施策①で粗く出⼒できるようになった矩形をより対象条項 に沿うように調整することに有効である⽰唆を得た。 > 契約相⼿のような難しい項⽬でも矩形の精度改善への有効である⽰唆を得た。