社内限定プレビュー 技術ブログの構成案です。公開前の検討用のため、URLの共有はご遠慮ください。
設計ガイドライン vol.04

AIの数値抽出ミスをどう防ぐか — ダブル取得+突合という設計

NG 長瀬
Feynma Technology / データ処理
2026.07.01
この記事の要点
  • AIによる数値抽出は、型を定義した上で2種類の異なる方法で取得し、突合する設計にしています
  • 実装方式にはB案(定型フォーマット整備+定型外のみLLM)とC案(全件LLMで2回取得し突合)があります
  • 「間違えない」ではなく「間違いに気づける」設計を目指しています

AIに数値を抽出させる業務では、抽出そのものの精度だけでなく、間違えた場合にそれに気づける仕組みが欠かせません。私たちは、型を定義した上で2種類の異なる方法で値を取得し、両者を突合するという設計を採用しています。一致しなければ人が確認する、というシンプルな仕組みです。

ダブル取得+突合という設計

取得した数値については、どこから読み取ったかという出典情報を裏で保持しています。数値以外の情報についてはテキストとして抽出し、SQLiteに格納して全文検索できるようにし、AIがその中から必要な情報を検索できるようにしています。

実装方式の比較:B案とC案

方式内容初期構築コストAI利用料
B案先に定型フォーマット・スクリプトを整備し、定型外のみLLMで処理高い低い
C案スクリプトを作らず、全件をLLMで2回取得して突合かからないB案の約2倍

検証段階での生成AIのコストは月3万円程度に収まっています。ただし、これは検証時点での数字であり、本番運用時のAPI利用料についてはあらためてユーザーへの説明が必要になる点は付け加えておきます。

2段階での突合設計

弊社の経理DXの現場では、すべての件数をLLMで突合させるのではなく、まずカード明細を1件ずつルールベースで金額の完全一致を確認し、そこで突合できたものは確定させます。それでも突合できなかった分だけをLLM判定にかけるという2段階の設計に変更しました。これにより、LLMに任せる範囲を必要最小限に絞り込むことができます。

重複データという別の論点

数値の突合とは別に、完全に同一のデータが重複して存在するケースの扱いも検討が必要です。ここでは「全件保存した上で個数カラムで管理する」案と「重複を削除する」案の2つがあり、後者は完全に同一のデータが複数存在する場合にそれ以上対応ができなくなるという弱点があります。また、突合が成功したと判定する条件を厳しくするほど、目視で確認しなければならない件数は増えていきます。ここはトレードオフとして、あらかじめ関係者と合意しておく必要がある部分です。

コストと確認負荷、両方を見て決める

ここまでご紹介した設計は、どれも「精度を100%にする」ためのものではありません。ダブル取得と突合、2段階でのルールベース+LLM判定、重複データの扱いのいずれも、AIの利用コストと、人が目視で確認しなければならない件数との間でバランスを取るための工夫です。どこまでを自動化し、どこから先を人の確認に委ねるかは、業務ごとに許容できるコストと確認負荷を見ながら、案件ごとに調整しています。

まとめ

数値抽出の精度をどれだけ高めても、間違いはゼロにはなりません。私たちは「間違えない」設計ではなく、「間違いに気づける」設計を軸に、ダブル取得と突合、そして人による確認を組み合わせています。

この記事に関連するご相談
データ処理・突合設計のご相談を承ります

数値抽出の精度とコストのバランスについて、貴社の業務に合わせた設計をご提案します。

相談する