スキャンPDFをAIで読むときのOCR確認ポイント

スキャンPDFは画像だけで検索可能なtext layerを持たないことがあります。AIへ渡す前にOCRで文字化し、数字・日付・表・固有名詞の精度を原本と照合します。OCR処理が完了したことは、文字が正確に読めた証拠ではありません。

AIものさし編集部

スキャンPDFをAIで読ませるときは、「OCRが完了した」ことと「文字が正しく読めた」ことを分けて考えます。特に金額、日付、契約番号、表、固有名詞は、1文字の誤認識でも結論が変わることがあります。AIへ要約や抽出を頼む前に、入力品質を小さく検査するのが安全です。

この記事では、Text Layerの確認、OCR前処理、Critical FieldのSpot Check、表・縦書き・多言語の注意点、Stop条件、再Scan判断まで整理します。読後には、自分のPDFを「そのまま使える / 修正して使う / 人手確認へ回す」の3段階で判断できる状態を目指します。

最初にText Layerの有無を確認する

PDF上の文字をドラッグ選択できるか、検索できるかを試します。選択も検索もできない場合、ページ全体が画像である可能性があります。

ただし選択できるから安全とも限りません。古いOCR結果が埋め込まれていて、見た目の文字とText Layerがずれていることがあります。代表箇所で見た目と取得Textを比較します。

OCR Intake QAを6項目で見る

表は横にスクロールできます

Check見る内容重点確認
Text layer選択・検索できるか画像のみPage
Language日本語・英語・数字固有名詞・略語
Image quality傾き・Blur・背景Noise薄い文字
Numbers0/O、1/I、5/S等金額・日付・ID
Layout列・表・縦書き行順・Column
Completeness欠落・文字化け手書き・Stamp

最初の数Pageだけでも、この6項目を確認してから全ページ処理へ進みます。

Critical Fieldを先に決める

すべての文字を同じ精度で見る必要はありません。用途に応じて「誤ると判断が変わるField」を決めます。

契約書なら契約期間、解約期限、金額、会社名。請求書なら金額、税、口座、日付。調査レポートなら割合、母数、年度。OCR QAはCritical Fieldへ確認を寄せます。

架空例:1文字違いで意味が変わる

原本「2026/10/01」がOCRで「2026/10/0I」、原本「¥50,000」が「¥S0,000」、原本「O-102」が「0-102」と認識されたとします。

人が見れば違和感があっても、AIは正しい文字列として処理する可能性があります。数字・英字が混ざるFieldは原本照合対象にします。

Scan品質を確認する

OCR前に画像自体を見ます。傾き、Blur、低解像度、強いShadow、透け、背景模様、ページ端の欠けがあると認識が不安定になります。

可能なら向きを正し、ページ全体が切れていないか確認します。原本の撮り直しや再Scanができるなら、低品質入力を複雑な後処理で救うより早い場合があります。

Deskew後も数字を再確認する

傾き補正や画像補正をすると読みやすくなることがありますが、処理後のTextが正しい保証にはなりません。

補正後に同じCritical Fieldを再度Spot Checkし、改善したかを比較します。「処理したからOK」ではなく、原本一致で判定します。

日本語と英語が混ざる文書

製品名、型番、メールアドレス、英語略語が混ざる資料では、Language設定やOCR Engineによって一部だけ認識が弱くなることがあります。

日本語本文だけでなく、英数字Fieldを別Sampleとして確認します。特にURL、Model番号、Part Number、法人名は自動修正を許さず原文表記を優先します。

縦書き・2段組は読み順を確認する

Text自体が正しくても、段組み順序が崩れると意味が壊れます。左列の途中へ右列が挿入される、脚注が本文の途中に入る、といったケースです。

段落の先頭・末尾を見て、自然な順序でつながっているか確認します。要約結果が不自然なら、まずOCR / Layout順を疑います。

表はCell単位だけでなく構造を見る

表では1セルの文字認識だけでなく、どのRow / Columnへ属するかが重要です。列が1つずれるだけで、正しい数字が別項目の値になります。

Header、1行目、中間行、最終行を原本と比較し、Column順が維持されているか確認します。Merged CellやPage跨ぎ表は別途Reviewします。

手書き・Stamp・チェック欄は別扱いにする

手書き数字、印影、署名、Checkboxは通常Textと同じ精度で扱えない場合があります。

重要な手書きFieldをAIが読んだ場合も、原本画像を人が確認します。読めない箇所を空欄へせず、HANDWRITING_REVIEWのようなStatusを残します。

OCR Spot Checkの最小セット

全ページを人が読む前に、少なくとも次をSampleします。

  • 通常本文 2〜3箇所

  • 日付 2件

  • 金額・割合 2件

  • 固有名詞 2件

  • 表 1行

  • 脚注 1件

  • ページ末尾と次ページ先頭

ここで誤りが多い場合は、全ページ処理へ進まない方が安全です。

Sample Pageを偏らせない

最初のページだけがきれいでも、後半に薄いコピーや横向きページが混ざることがあります。先頭・中央・末尾に加え、表が多いPage、手書きがあるPage、画質が悪そうなPageをSampleへ含めます。

ページ種類ごとに1件以上を見ると、偶然きれいなページだけで「OCRは問題ない」と判定するリスクを下げられます。

Accuracyを1つの数字にしすぎない

OCR全体の文字一致率が高くても、重要Fieldだけ誤ることがあります。99%正しくても契約金額の1文字が違えば実務上は問題です。

本文Accuracyとは別にCritical Field Passを持ちます。重要Fieldが1件でも未確認なら、高Risk用途ではPASSにしないという運用もできます。

Pass / Review / Stopを決める

PASS:Critical FieldがSampleで原本一致し、Layoutも維持。

REVIEW:本文は読めるが一部の数字・表・手書きが不明。

STOP:重要Field欠落、Page欠落、表構造崩れ、連続文字化け。

この3段階にすると、「だいたい読めるから先へ進む」という曖昧な判断を減らせます。REVIEWのPageだけ人手確認へ回す運用もできます。

AIへ渡す前のInput Manifest

AIへ資料を渡す前に、document_id、page_count、OCR実施有無、Language、Critical Field、reviewed_pages、Known Issuesをまとめます。

例:

doc_id: scan_001

pages: 48

ocr: yes

language: ja/en

critical: amount/date/company

reviewed_pages: 1, 12, 24, 48

known_issue: p.24 table alignment review

Known IssueをAIにも渡すと、問題箇所を過信しにくくなります。

AIへの依頼文例

「このOCR Textを使う前に入力品質を監査してください。数字、日付、固有名詞、表、改ページ位置を重点的に見て、SUSPICIOUSな箇所を列挙してください。原本画像を確認できない箇所は正しいと断定しないでください。出力:page / field / OCR value / suspicious reason / required review。」

AIの役割は最終承認ではなく、人が見る場所を絞ることです。

止める状態を明確にする

次の状態では要約・抽出を先へ進めません。

  • Critical Fieldが読めない

  • 表のColumnが崩れている

  • ページが欠落している

  • OCR Textと原本の段落順が大きく違う

  • 手書き重要情報を判別できない

  • 文字化けが連続する

この場合は再Scan、別OCR、画像入力、人手転記のどれが適切かを選びます。

再Scanと人手確認を分ける

ページ全体がBlurしているなら再Scanが有効ですが、元原稿自体が薄い、手書き、傷んでいる場合は再Scanしても改善しないことがあります。

原因が入力画像かOCR Engineか原稿自体かを切り分けてから再処理します。同じ設定で何度もOCRを回すだけでは改善しない場合があります。

OCR Textと原本画像を両方保存する

後で誤りが見つかったときに原本へ戻れるよう、OCR Textだけを正本にしません。Page Locatorと原本画像を保ちます。

修正したOCR Textにはedited flagやreviewed_atを付けると、元の自動認識と人手修正を区別できます。

要約後も重要Factは原本へ戻る

OCR QAを通過しても、契約条件・金額・法的文言・重要な数値を最終判断へ使う場合は原本画像へ戻ります。

OCRはAIが扱いやすいTextを作る工程であって、原本の代わりに最終証拠へ変わるわけではありません。

実務Checklist

  • Text Layer有無を確認

  • Critical Fieldを定義

  • Language / Layoutを確認

  • 数字・日付・固有名詞をSpot Check

  • 表のRow / Columnを確認

  • 手書き・Stampを別Statusへ

  • Known Issuesを記録

  • Stop条件に触れたら先へ進まない

  • OCR Textと原本を両方保管

  • High Risk Factは原本で再確認

AIものさしの判断

スキャンPDFでは「OCR済み」ではなく「Critical Fieldが原本と一致する」が合格条件です。Text Layer、画像品質、数字、Layoutを小さく検査し、Known IssueがあればAIへ渡す前に止めます。

最初は5〜10ページのSampleでOCR QAを行ってください。数字・日付・固有名詞・表の4種類が安定して読めるか確認し、問題PageをREVIEWとして残す。入力品質を確認してから要約や抽出へ進む方が、後段で誤情報を直すより安全です。

次に読む・使う

この記事の次に必要な情報へ進めます。