OCRとは何か:実際の業務文書を読み取る文字認識の完全整理

OCR(Optical Character Recognition)とは、スキャンや写真のように画像としてのみ存在する文書から人が読む文字を見つけ出し、コンピュータが扱えるテキストへ変換したうえで、各文字が置かれた位置まで併せて返す技術です。

OCRが依然として難しい理由

活字はすでに解けた問題です。

きれいに印刷された文書で文字を読む精度は、ずいぶん前に実用水準へ到達しました。そのためOCRはもう完成した技術だという認識が広く行き渡っています。ところが実際の受付箱を開けると話が変わります。

ある金融機関の受付文書を見ると、スキャン時に折れた上部の黒い帯が真正性の確認表示を半分ほど飲み込んでいました。別の文書は複写を重ねる過程で余白と本文の一部が失われていました。床に置いて撮影し皺と影、歪みが併せて入った文書もあり、四回再送されて異なる日付の表記が四種類も一行に重なって積み上がったファクスもあります。そこに印影が表を侵し、取り消し線が文字を横切り、手書きとチェックボックスが混ざります。

人はこうした文書を自然に読みます。文字認識で難しいのは活字を読むことではなく、こうした状態の文書を読むことです。

OCRの正確な定義:テキスト抽出と何が違うのか

テキスト抽出とOCR、三つの軸の違い

第一に、対象が異なります。テキスト抽出はデジタルで作成された文書の中にすでに入っている文字データを取り出す作業です。原本ファイルに文字がデータとして保存されているため、読み出すだけで済みます。OCRはそのデータがない画像を対象とします。画面に見えるのは画素だけであり、その中から文字を見つけ出すところから始めなければなりません。

第二に、目標が異なります。テキスト抽出の目標は保存された文字列を損失なく移すことです。OCRの目標は画像から人が読める文字をすべて見つけてテキストへ復元することです。したがってテキスト抽出には精度という概念がほとんどありませんが、OCRでは精度が中心的な指標になります。

第三に、成果指標が異なります。テキスト抽出は欠落の有無だけを見ます。OCRは文字単位の精度と類似度ベースの精度を併せて見ます。実際の検証事例では、活字と手書きのいずれも類似度基準で98%水準が確認された金融文書群があり、認識速度は演算装置基準で一枚あたり0.5秒が測定されました。手書きを含む文書群で98.7%が確認された事例もあります。

二つの方式は置き換えの関係にはありません。実際の業務ではデジタル原本とスキャンが一つの業務の中に混在するため、ファイルの性格を判別してそれぞれに適した方式で処理する構成が必要です。原本にテキストがあるのにわざわざ画像へ変換して認識すれば、精度を自ら下げることになります。

業務に投入できるOCRの6つの条件

実運用に入るOCRの6つの条件

第一に、文書の状態を補正できることです。傾いたスキャンや回転したページ、低解像度のファクスは認識の前に正す必要があります。傾き補正と回転補正、超解像の処理が前段に入っているかをご確認ください。

第二に、妨害要素に耐えることです。印影や透かし、取り消し線、重なった文字、影は文字を覆うか歪めます。こうした要素を含む実際の文書で検証しなければ、導入後に性能が大きく変わります。

第三に、手書きを処理することです。申請書の項目の相当数は手で記入されます。活字の精度だけが提示された資料では実際の性能を測れないため、手書きの精度を別途お求めください。

第四に、文字の位置を併せて返すことです。認識された文字列だけでは以降の項目抽出と検収ができません。各値の座標が併せて来て初めて、画面で原本を指して確認できます。

第五に、信頼度を項目単位で提供することです。文書全体に一つの点数を付ければどこを見るべきか分かりません。確信の低い部分を別に表示して初めて例外中心の検収が可能になります。

第六に、処理量を支えることです。月平均ではなく物量が集中する時間帯を基準に見ます。運用事例では100枚を3.5分、500枚を17分、毎時およそ1,800枚規模が測定されました。

OCRの実際の適用方法

認識の前に前処理を置きます

認識精度を上げる最も速い方法は、モデルを変えることではなく入力画像を整えることです。実際のパイプラインは文書形式を画像へ変換し、ページを分割して正規化し、傾きと回転を正し、ノイズを除去したうえで認識へ進みます。

この前段がなければ、後段でどれほど良いモデルを使っても損失を回復できません。特にファクスと携帯端末の撮影分が多い業務では、前処理の品質が全体の性能を左右します。

文字認識と構造認識を併せて設計します

文字だけを順に取り出せば、表や多段組みで読む順序が食い違います。実際の構成ではレイアウトをまず解析して見出しと本文、表、図の領域を分け読む順序を定めたうえで、各領域の文字を認識します。

こうすれば認識結果がそのまま構造データへつながります。単なる文字列の羅列よりも、以降の項目抽出と検索での活用度がはるかに高くなります。

後処理のルールを併せて設けます

認識結果には繰り返し現れる誤りの型があります。数字とアルファベットが混同されたり、千の位の区切り記号が誤って読まれたり、特定の様式で同じ項目が繰り返し食い違ったりします。

こうした誤りはモデルを再学習させるより後処理のルールで押さえるほうが速くなります。事業者登録番号の桁数、日付の書式、口座番号の区切り記号のように形の定まった項目は、ルールで検証すれば大半が選り分けられます。

国内環境におけるOCR

韓国の業務文書にはいくつかの固有の条件があります。

まず文書形式です。韓国製ワープロ文書が広く用いられており、この形式は画像へ変換する段階から別途の処理が必要です。官公庁様式と税務申告書には丸数字で表記された項目番号と多層構造の表が併せて入ります。

次に表記の方法です。千の位をピリオドで区切った文書をそのまま読めば、金額の桁がまるごと食い違います。住民登録番号の区切り記号が抜けたまま印刷された文書もよくあります。こうした表記はルールで補正しなければそのまま業務上の誤りになります。

最後に受付経路です。ファクスが依然として使われ、営業店のスキャンと携帯端末の撮影分が一つの業務に混在します。国内文書で学習と検証を繰り返した事業者が有利な領域です。

よくあるご質問

活字の認識についてはそのとおりです。ただし実際の業務文書には印影や手書き、低画質のファクス、損なわれたスキャンが混ざって届くため、ここで製品間の差が大きく開きます。

文書群によって異なります。金融文書の検証で活字と手書きのいずれも類似度基準98%水準が確認された事例があり、手書き文書群で98.7%が確認された事例もあります。

可能です。ただし筆跡のばらつきが大きい項目は検証ルールを併せて設けるほうが安全です。導入検討の際には手書きの精度を活字と分けてご確認ください。

演算装置基準で一枚あたり0.5秒水準が測定されました。バッチ処理では毎時およそ1,800枚規模が確認されており、文書の状態とハードウェアによって変わります。

そのまま使うことは難しくなります。認識結果は文字の羅列であるため、どの項目の値かを結びつける段階と形式を検証するルールが後ろに必要です。

必要ありません。原本に文字データがあればそのまま抽出するほうが正確です。ファイルの性格を判別して処理方式を分ける構成が適切です。

可能です。顧客社内のサーバーに設置して運用する構築型の方式であれば、外部通信なしで動作します。

関連用語