Azure Document Intelligence Studioのカスタム抽出モデルAccuracy確認方法|空白になる原因とconfidenceでの精度評価

Azure Document Intelligence Studio でカスタム抽出モデルを学習したのに、モデルバージョン画面で Accuracy(精度)が空白のまま──この現象は「学習失敗」ではなく、モデル種別の仕様が原因で起きるケースが多いです。この記事では、Accuracy が表示される条件、表示されない場合の性能確認(confidence スコアの見方)、精度を上げる具体策まで、WordPressにそのまま貼り付けられる形でまとめます。

目次

Accuracy が空白になるとき、最初に疑うべきポイント

まず押さえておきたいのは、Azure AI Document Intelligence のカスタムモデルには複数のタイプがあり、学習後に「推定 Accuracy(精度)」が表示されるかどうかはモデル種別に依存するという点です。特に、Document Intelligence Studio の「モデルバージョン」画面でフィールド別 Accuracy が空欄になる相談は、カスタム ニューラルモデル(Custom neural model)で学習していたことが原因になりやすいです。

一方で、カスタム テンプレートモデル(Custom template model)では、学習結果として推定 Accuracy が表示される設計になっています。つまり「Accuracy が欲しい」だけが目的なら、テンプレート型で学習し直すと表示される可能性があります。

項目カスタム テンプレートモデルカスタム ニューラルモデル
向いている書類レイアウトがほぼ固定の帳票(定型フォーム)レイアウトが揺れやすい帳票、半構造化~一部非構造の書類
Accuracy 表示学習後に推定 Accuracy が出ることがある学習画面で Accuracy が出ない(空欄)場合がある
抽出の手掛かり視覚的なテンプレート(位置・枠・配置)への依存が大きいレイアウトと文章(言語特徴)を組み合わせて学習する
現場でのコツフォーマットが少しでも違うと落ちやすいので、バリエーションを訓練データに入れる同じ項目でも出現位置が揺れるなら有利。Accuracy の代わりに confidence で評価する

※上の「Accuracy 表示」の違いは、Microsoft 側の案内として「推定 Accuracy はテンプレート型で生成される」「ニューラル型は学習時に Accuracy を返さない」と説明されています。

そもそも Accuracy と confidence は何が違うのか

Document Intelligence Studio で出てくる「Accuracy」と、推論結果に付与される「confidence(信頼度)」は、似ているようで役割が違います。

指標いつ出る?意味合い注意点
Accuracy(推定精度)主に学習(build/train)後学習済みモデルが、ラベル値をどれくらい当てられそうかの推定あくまで「学習データに近い見た目」の書類での推定。運用書類の精度を保証しない
confidence(信頼度)推論(analyze)結果抽出結果が正しい確率の見積もり(0〜1)すべてのフィールドで返るとは限らない。テーブルの行/セルなどは API バージョンで差が出る

推定 Accuracy は、学習データの組み合わせを変えてラベル値を予測するなどの手法で算出される、と説明されています。confidence は推論結果に紐づいて返り、単語・キー/値・チェックボックスなど様々な単位で付与されます。

つまり、Accuracy が空白でも「モデルの良し悪しが一切分からない」わけではありません。むしろ実運用では、confidence を見て自動処理と人手確認を分岐させるほうが、品質とスピードの両立がしやすいです。

Document Intelligence Studio で Accuracy を確認する手順(テンプレート型の場合)

テンプレート型カスタムモデルで学習している前提で、Studio 上で「どこを見ればいいか」を整理します。Studio はUIの更新があるため、表現が多少変わっても辿り着けるように“目的ベース”で書きます。

  1. Document Intelligence Studio を開く プロジェクト(Project)を選び、カスタム抽出(Custom extraction / Custom model)に進みます。
  2. 対象モデルを選び、モデルの「バージョン」詳細を開く モデル一覧(Models)から対象モデルをクリックし、モデルバージョン(Model version)を開きます。
  3. フィールド一覧に表示される Accuracy 列を確認 テンプレート型で推定 Accuracy が生成されている場合、フィールドごとにスコアが見える構成になります。

ここで Accuracy が空白だった場合、最短の切り分けは次の2つです。

  • モデル種別がテンプレート型になっているか(ニューラル型で学習していると空欄になりやすい)
  • Accuracy は必要か/それとも運用で必要なのは confidence を使った判定か(後者のほうが実務適性が高いことが多い)

なお、質問例と同様に「テンプレート型で学習し直したら Accuracy が表示された」という事例は、Microsoft Q&A にも掲載されています。

Accuracy が出ないモデルでも性能評価できる理由

ニューラル型などで学習後の Accuracy が見えない場合は、推論結果の confidence を中心に性能を評価します。Document Intelligence の解析結果には、単語、キー/値、選択マーク(チェックボックス)、領域、署名などの単位で confidence が返る設計です。

さらに、テーブルに関しては API の新しいバージョンで行・セル単位の confidence が使える旨も案内されています(環境やバージョンで見え方が変わる点は要注意)。

現場で見るべき confidence の種類

スコアの種類何を示す?低いときに疑うこと改善アクションの例
ドキュメント種別の信頼度(Document type)入力書類が学習データの型にどれだけ似ているか別フォーマット混入、スキャン品質差、余白や縮尺の違いバリエーションを学習データに追加/帳票タイプ別にモデル分割
フィールド単位の信頼度(Field confidence)項目値の位置・抽出に対する自信度ラベリングの揺れ、項目の出現位置揺れ、周辺ノイズラベルルールの統一/似た帳票を別モデルへ/前処理
単語(OCR)の信頼度(Word confidence)文字認識そのものの確からしさ低解像度、傾き、かすれ、背景模様、圧縮ノイズ解像度確保/傾き補正/コントラスト調整/スキャン設定見直し
選択マークの信頼度(Selection mark)チェック有無判定の確からしさチェックが薄い、枠がつぶれている、印字が重なっている入力品質改善/枠線の明瞭化/学習データに薄い例を追加

また、解析レスポンスの仕様として「未記入のフォームフィールドは空になり得る」ことも明記されています。空欄が出る=異常とは限らないので、空欄+confidenceという組み合わせで判断するのが安全です。

JSON で confidence を確認する(イメージ)

Studio でテスト実行すると、結果の JSON を確認できます。典型的には次のようにフィールドに confidence が含まれます(項目名や構造はモデルやAPIバージョンで変わります)。

{
  "documents": [
    {
      "docType": "myForm",
      "confidence": 0.92,
      "fields": {
        "InvoiceDate": {
          "type": "date",
          "content": "2025/09/01",
          "valueDate": "2025-09-01",
          "confidence": 0.98
        },
        "TotalAmount": {
          "type": "currency",
          "content": "¥12,345",
          "valueCurrency": { "amount": 12345, "currencyCode": "JPY" },
          "confidence": 0.86
        }
      }
    }
  ],
  "pages": [
    {
      "pageNumber": 1,
      "words": [
        { "content": "2025/09/01", "confidence": 0.91 }
      ]
    }
  ]
}

ポイントは、「ドキュメント種別(または docType)に対する confidence」「フィールドごとの confidence」「OCR 単語の confidence」を合わせて見ることです。Microsoft のガイドでも、フィールドだけでなく OCR の結果(readResults 相当)など複数の confidence を確認する考え方が示されています。

confidence を使った実務的な評価フロー

Accuracy が見えない/見えてもそれだけでは判断しづらい、という状況で役立つのが、confidence をベースにした運用フローです。ここでは「明日から回せる」形に落とし込みます。

おすすめの判定ルール(目安)

以下はあくまで目安です。帳票の重要度(請求・支払・医療など)と、後工程の許容誤差に合わせて調整してください。

見る指標スコアの状態推奨アクションよくある原因
ドキュメント種別 confidence低い別モデルへルーティング/対象外として保留別フォーマット混入、縮尺・余白が違う
フィールド confidence高い自動採用(後段で整合性チェックは推奨)―
フィールド confidence中程度人手確認キューへ(入力補正)周辺ノイズ、項目が近接、値の表記揺れ
フィールド confidence低い差し戻し(再スキャン)/学習データ追加候補傾き、かすれ、別レイアウト
OCR(word) confidence低い前処理を優先(画像品質改善)解像度不足、圧縮、影、背景

この運用の良いところは、「モデルの出来」だけでなく「入力品質」「帳票混在」まで同時に検知できる点です。Accuracy が1つの数字で出ない場合でも、confidence を組み合わせれば、現場で必要な品質管理が可能になります。

Accuracy や confidence を改善するための実践ポイント

ここからは「なぜ低いのか」→「何を直すか」を具体化します。Microsoft のガイダンスでも、書類の見た目の揺れが精度に影響すること、バリエーションを学習に含めること、視覚的に異なる書類は分割(必要なら合成)することが推奨されています。

学習データのバリエーションとラベリング品質を上げる

  • 「人間には同じ」でも、AIには違うが起きやすいです。例えば、PDF(デジタル)とスキャンPDFは文字の輪郭・背景ノイズが違い、同じ帳票でも別物として見られます。
  • バリエーションがあるなら、各バリエーションを複数枚(最低でも数枚単位)で学習データに入れます。バリエーションが多いのにサンプルが少ないと、confidence が安定しません。
  • ラベル付けは、「どこまでを値に含めるか」をルール化します(例:通貨記号を含める/含めない、単位を含める/含めない、改行を含める/含めない)。ルールが揺れると、学習が揺れます。

帳票ごとにモデルを分ける(必要なら“合成”や“分類”でつなぐ)

「フォーマットが全然違う書類」を1つの抽出モデルに押し込むと、ドキュメント種別 confidence が下がりやすく、結果としてフィールド confidence も下がりやすいです。視覚的に異なる帳票は、モデルを分けるほうが安定します。

運用で「複数帳票を一括処理したい」場合は、次の設計が現実的です。

  • 分類(Classifier)で帳票タイプを判定し、タイプに応じて抽出モデルを呼び分ける
  • もしくは、見た目の近いバリエーション同士を合成(Composed model)でまとめる

分類モデルを抽出モデルと組み合わせる設計は公式にも案内があります。

前処理(プリプロセス)で“読める画像”に寄せる

confidence が低い原因が OCR 側(文字が読めない)にあるなら、学習データを増やす前に画像品質を上げたほうが効率が良いです。特に次は効果が出やすいです。

前処理効く症状具体例
傾き補正(deskew)枠線や文字が斜めでOCRが崩れるスキャン時に1〜3度傾く帳票
解像度の確保文字が潰れて word confidence が低いスマホ撮影で小さい文字が読めない
コントラスト調整/二値化背景が灰色、影が入る、印字が薄い複写伝票、FAX、薄いスタンプ
余白追加・トリミング表が端に寄っている/ページ外れ自動トリミングが強すぎるスキャン設定

ニューラルモデルで「どうしても精度を数値化したい」場合の現実解

ニューラル型では学習画面に Accuracy が出ないことがありますが、だからといって評価できないわけではありません。やり方はシンプルで、テスト用書類を用意して、自前で“正解との突き合わせ”を行い、指標を出すことです。

(この考え方は一般的な機械学習の評価手法ですが、Document Intelligence の場合は「フィールド抽出」が中心なので、フィールド単位で評価しやすいのが特徴です。)

評価用データの作り方

  • 学習に使っていない書類をテスト用に確保します(同じ帳票でも、別スキャン・別入力値のものが望ましい)。
  • 可能なら、難しいケース(薄い印字、傾き、手書き混在、表が詰まっている等)も混ぜます。
  • 正解データ(Ground Truth)は、Studio のラベル結果をエクスポートして使うか、別途 CSV/JSON で用意します。

フィールド抽出で使いやすい指標

指標何を測る?おすすめの判定方法相性が良いフィールド
完全一致率(Exact match)値が完全に一致した割合トリム・全角半角正規化・表記揺れ正規化後に比較番号、郵便番号、固定コード
許容誤差付き一致多少のズレを許容して一致扱い日付フォーマット統一、金額は±1などルール化日付、金額、数量
未記入検知率空欄を空欄として返せたか空欄をNULL/空文字として扱う。未記入が多い項目は要チェック任意入力欄、チェックボックス
レビュー削減率人手確認がどれだけ減るかconfidence 閾値を動かして、人手確認件数と誤り率のバランスを見る運用全体

なお、未記入欄が空になり得ることはレスポンス仕様として説明されています。評価時は「空欄=失敗」と決め打ちせず、業務要件(空欄が許されるか)とセットで定義してください。

よくある落とし穴と対処

Accuracy が空白=モデルが壊れている、ではない

モデルが正常に学習できていても、モデル種別によっては学習時 Accuracy が表示されないことがあります。まずはテンプレート型かニューラル型かを確認し、必要ならテンプレート型で再学習する、という順番が最短です。

confidence が返らないフィールドがある

解析結果は多くの要素で confidence を返しますが、すべてのフィールドで confidence が返るとは限らない旨が案内されています。返らないフィールドがある場合は「仕様としてそういうもの」と捉え、他の指標(周辺のOCR、関連フィールド、整合性チェック)でカバーする設計が現実的です。

ドキュメント種別 confidence が低いのに、フィールドだけ見て判断してしまう

現場で多い事故がこれです。書類自体が学習データと似ていないのに、たまたま拾えた値の confidence だけが高く見えることがあります。まずは「書類が正しいモデルに入っているか」を、ドキュメント種別 confidence でチェックする癖をつけると、誤抽出の流出が減ります。

まとめ

  • Document Intelligence Studio で Accuracy が空白のときは、モデル種別(テンプレート型かニューラル型か)を最初に確認する
  • 推定 Accuracy が表示されるのは主にテンプレート型。必要ならテンプレート型で学習し直すと表示されることがある
  • Accuracy が出ない場合でも、ドキュメント種別・フィールド・単語・選択マークなどの confidence を組み合わせれば性能評価は可能
  • 精度改善は、学習データのバリエーション追加、ラベルルール統一、帳票タイプ別のモデル分割、前処理が効きやすい

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次