Why OCR Accuracy Drops on
Handwriting, Scanned PDFs & Tables — And What You Can Do
When an OCR vendor says "99% accuracy," they're almost always talking about character-level accuracy on clean, printed, English text — not whether the total on your supplier's handwritten delivery note will come out right. That number is real, but it comes with fine print: it was measured on documents selected to produce good results. Swap in a crumpled receipt photographed on a desk, a scanned contract from a fax machine, or a form filled out in ballpoint pen, and that same tool can deliver 60%, 40%, or lower. The accuracy doesn't drop randomly — it drops in predictable ways depending on what kind of document you feed it. Understanding those patterns is the difference between picking the right tool and blaming the wrong one.
重要ポイント
- OCRベンダーが99%の精度を謳うのは嘘ではないが、その数字はクリーンなデジタルPDFに基づくもの。手書き、スマホ撮影、複雑な表に変われば、同じエンジンでも60%を下回る。
- 精度低下はランダムではなく予測可能。筆記体はセグメンテーションに必要な文字間のギャップをなくし、スマホ撮影は5つの歪みを同時に引き起こし、結合セルはピクセルレベルのエンジンでは解決できない構造的な曖昧さを生む。
- 視覚言語モデルは意味的に読む。「$」と「.00」の間の汚れた数字が「8」ではなく「9」であると推論する。これにより筆記体や表セルも読み取り可能になる。まずは最も扱いにくい文書3つでテストすべき。
OCR精度に関する誤解
市場に出回っているOCRツールは軒並み高精度を謳っています。Tesseract、Google Cloud Vision、Amazon Textract — いずれも95~99%の数値を公表しています。AIMultiple OCRベンチマークによれば、主要なクラウドOCRサービスはカテゴリ1の文書(クリーンで高コントラストな背景に印字されたテキスト)では99.2%を超える精度を達成しています。しかし、同じベンチマークは別の事実も明らかにしています。カテゴリ3(手書き文字や複雑なレイアウトの文書)では、精度は54%から85%にまで低下します。同じツール、同じエンジンです。その差は最大45ポイント。すべてはどのような文書を入力するかによって決まります。
基本 — クリーンなデジタルPDF
会計ソフトから出力された請求書、Wordで保存された契約書、Webポータルからダウンロードした銀行取引明細書 — こうしたクリーンなデジタルPDFは、あらゆるOCRシステムにとって理想的な入力です。テキストは鮮明で、フォントは標準的、コントラストはほぼ完璧です。このような文書では、最新のOCRエンジンは文字精度99%を日常的に超えます。残るエラーは通常、特殊な合字、非常に小さなフォントサイズ(6pt未満)、ヘッダーの装飾文字など、ごく限られたケースに留まります。これが「精度99%」という主張を支えるシナリオであり、他のすべての文書タイプが測定可能な精度低下を示す基準点です。
スキャンPDF — 品質劣化の始まり
スキャンPDFは印刷ページの写真であり、その画像にはデジタルPDFにはない複数のエラー要因が存在します。まず解像度の低下です。200 DPIでスキャンした場合、10ポイントの文字の高さは約8ピクセルになります。バッチスキャンで一般的な150 DPIに落とすと、同じ文字の高さはわずか6ピクセルになります。エンジンはわずか数ピクセルからストロークを推測しなければなりません。
ノイズとアーティファクトも問題を複雑にします。スキャナのセンサーは粒子状のノイズを発生させ、紙の質感(新聞紙、感熱紙、再生紙)はエンジンが文字の一部と誤認する可能性のあるパターンを生み出します。傾き — わずか2~3度の傾きでも — エンジンは文字を切り出す前に回転補正を強いられ、エラー率が測定可能なほど増加します。そして重なり合うコンテンツ — 印字テキストの上にあるスタンプ、署名、透かし — は、ピクセルレベルのOCRでは解決できない曖昧さを生み出します。請求書の合計金額に「PAID」スタンプが押されると、両方とも読み取れなくなります。
クリーンな印字テキストを300 DPIで適切にスキャンすれば、依然として95~98%の文字精度が得られます。同じ文書でも、150 DPIの低品質スキャンでは90%を下回る可能性があります。
手書き文字——根本的な境界問題
手書き文字は、活字の単なる難易度の高いバージョンではない。それは根本的に異なる認識問題である。活字には、文字間の隙間、均一なベースライン、予測可能な形状といった、明確で一貫性のある境界が存在する。OCRエンジンは、その隙間を手がかりに単語を個々の文字に分割し、各形状をライブラリと照合する。この手法が機能するのは、分割の手がかり(隙間)が信頼できるからだ。
筆記体は、そうした境界を完全に取り除く。文字は連結する。ある文字の終わりが次の文字の始まりとなる。小文字の「n」に「i」が続くと「u」と見分けがつかなくなる。「r」に「n」が続くと「m」のように見える。素早く書くことで隙間が意図的に排除されているため、エンジンは単語を分割できない。
業界の数字がこれを裏付けている。AIMultipleのベンチマークによると、活字で99%超の精度を達成する従来のクラウドOCRサービスは、手書き文字では60~85%に低下する。乱雑な筆記体や活字と手書きが混在した文書では、その差は40ポイント以上に及ぶこともある。ブロック体の手書き文字は境界が保たれるため精度は高いが、形状の無限の多様性という別の問題が生じる。同じ「G」を書く人は二人といないため、パターンマッチングライブラリには必ず盲点が存在する。こうした課題に対応するツールについては、手書きOCR比較をご覧ください。
スマートフォン撮影——複合的な劣化要因
スキャン文書が2~3の要因で精度を低下させるのに対し、スマートフォン撮影では5~6の要因が同時に作用する。透視投影による歪みが最も破壊的だ。スマートフォンが文書と完全に平行に保たれることはほぼないため、ページは斜めから撮影され、台形に変形する。その結果、文字サイズや行間が画像内で不均一になる。
照明のばらつきが問題をさらに悪化させる。中央に明るい部分、端に影、数字の列に影がかかると文字が融合して見える。手ぶれによるモーションブラーは、たとえわずかでも文字のエッジを1~2ピクセルぼやけさせる。光沢紙の反射やグレアは、テキストの一部を完全に白飛びさせる。
累積的な影響は劇的だ。デジタルPDFでは99%のスコアを出すツールでも、同じ文書のスマートフォン写真では70%を下回ることがある。情報はすべて物理的なページ上に存在するが、画像によって信頼できる認識ができないほど劣化しているのだ。
複雑な表とセル結合 — 構造が崩れるとき
表は別種の難しさを伴います。問題は文字の読み取りではありません。最新のOCRはセル内の数字をかなり正確に読めます。問題は構造にあります。エンジンは各値がどのセルに属するかを判断しなければならず、そのためには表のグリッドを理解する必要があります。最も一般的な障害はセル結合です。3列にまたがるヘッダー、2行にまたがる「備考」セル、最初の列を結合する小計ラベル — これらのパターンは、ほとんどのOCRエンジンが表を再構築する際に前提とする行単位の処理を破綻させます。
学術研究でもこの問題は未解決であると確認されています。2024年のarXivの研究では、セル結合や不規則な構造を持つ複雑な表に対する専用の表抽出モデルの精度は62〜78%にとどまり、単純な表認識と比較して20ポイント以上の差があることが示されました。入れ子表やヘッダー位置が変わる複数ページの表では、失敗率はさらに高まります。VLMベースの抽出は表を意味的に読み取ります。ヘッダーがいくつのセルにまたがっていても、「品目説明」がその下の列を統括していることを認識できます。フィールドレベルの精度が文字指標とどう異なるかについては、OCR精度の実際の意味に関するガイドをご覧ください。
実際に制御できること
精度に影響するいくつかの要因は制御可能であり、それらに対処することでエンジンを切り替えるよりも大きな改善が得られることがよくあります。
文書の準備。 最低300 DPIでスキャンしてください。これはOCRに推奨される標準解像度です。最大のコントラストを得るために白い紙に黒いインクを使用してください。スキャン前に折れたりしわになった文書は平らに伸ばしてください。文字列を横切る折り目はデータ欠落と同じです。
ツールの選択。 重要な違いは、ツールがパターンマッチングOCR(Tesseract、従来のABBYY、ほとんどのクラウドAPI)を使用するか、ビジョン言語モデル抽出(ImageToTable.aiや新しいLLM搭載サービス)を使用するかです。VLMベースのツールは文書を意味的に読み取ります。周囲のコンテキストを使って曖昧な文字を解決できます。ドル記号と「.00」の間の汚れた数字は、ほぼ間違いなく9であり8ではありません。VLMはその推論ができますが、ピクセルベースのOCRエンジンはできません。
後処理の検証。 ワークフローに形式の期待値を組み込みましょう。請求書番号はパターンに従い、日付はカレンダーに従い、合計は正の数です。抽出データがパターンに違反した場合は、確認用にフラグを立ててください。ツールが悪いからではなく、特定の文書タイプは常に不確実な結果を生むからです。「合計は明細行の合計±0.01に等しくなければならない」といったルールは、すべてのフィールドを確認することなく、最も重要なエラーを捉えます。
OCRベンダーの精度主張の読み解き方
どのOCRベンダーも数値を公表しています。その読み解き方を説明します。
テストに使われた文書の種類を確認しましょう。 ベンダーが明示しない場合、最も簡単な種類を想定してください。使用された指標を確認しましょう。 文字単位の精度(CER)は最も甘い指標です。フィールド単位の精度(抽出された各データ項目が完全に正しいかどうか)が、実際のワークフローが機能するかを左右します。CERが99%のツールでも、同じ文書でフィールド単位の精度が80%になることがあります。詳しくはOCR精度指標ガイドをご覧ください。エラーの分布を確認しましょう。 エラーが数字、コード、識別子に集中する場合(OCRエンジンにとってこれらの文字は見た目が似ているため頻繁に起こります)、同じエラー率でも致命的になり得ます。ご自身の文書でテストしましょう。 最も悪条件の文書3つ、5分間のテストで、公表されたベンチマークよりも多くのことがわかります。
よくある質問
手書き文字でOCR精度が大きく低下するのはなぜですか?
従来のOCRはテキストを個々の文字に分割(セグメンテーション)して認識します。筆記体では、セグメンテーションに必要な文字間の隙間がなくなります。文字がつながっているため、エンジンは一つの文字の終わりと次の文字の始まりを判断できません。これは品質の問題ではなく構造上の問題です。筆記体の完璧な解像度のスキャンでも、印刷された文字の平凡なスキャンよりも精度が低くなります。
OCRに最適な文書スキャン解像度は?
300 DPIが業界標準です。200 DPI未満では、文字の輪郭が粗くなり信頼性の高いセグメンテーションができなくなるため、精度が顕著に低下します。600 DPIを超えると、精度向上なしにファイルサイズだけが大きくなります。
AIベースのOCRツールは、従来のOCRでは扱えない文書タイプも処理できますか?
視覚言語モデル(VLM)ツールは、ピクセル単位ではなく意味的に読み取るため、より幅広い文書タイプを処理できます。文脈を使って曖昧な文字を解決し、表や結合セルの構造を認識します。ただし、すべての文書タイプで同等の精度を達成するツールはなく、品質の低い入力はどのシステムでも性能を低下させます。
文書形式(PDF vs JPG vs PNG)はOCR精度に影響しますか?
形式よりも内容が重要です。テキストが埋め込まれたデジタルPDFはOCR不要で、すでに機械可読です。スキャンPDFとJPGは、同じ解像度・圧縮なら同等の精度です。
請求書ではOCRがうまくいくのに、納品書では失敗するのはなぜ?
構造の問題です。請求書は予測可能なキー・バリュー形式ですが、納品書はセル結合・不規則な行高・複数行セルを含む複雑な表が多く、従来のOCRでは処理が困難です。エンジンは変わらず、文書がツールの解析限界を超えたのです。
前処理で難しい文書のOCR精度は向上しますか?
傾き補正・グレースケール変換・適応的二値化などの基本前処理で、スキャン文書やスマホ写真では5~15%精度が向上します。しかし、手書き文字や複雑な表は構造認識の問題であり、画質改善では埋められません。