JPH06215199A - 光学的文字認識システムによって出力される誤った文字を識別及び解明する方法 - Google Patents

光学的文字認識システムによって出力される誤った文字を識別及び解明する方法

Info

Publication number
JPH06215199A
JPH06215199A JP5239189A JP23918993A JPH06215199A JP H06215199 A JPH06215199 A JP H06215199A JP 5239189 A JP5239189 A JP 5239189A JP 23918993 A JP23918993 A JP 23918993A JP H06215199 A JPH06215199 A JP H06215199A
Authority
JP
Japan
Prior art keywords
character
characters
ocr
heuristics
resolving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5239189A
Other languages
English (en)
Inventor
C Murdoch Michael
マイケル・シー・マードック
Marc A Newman
マーク・エイ・ニューマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH06215199A publication Critical patent/JPH06215199A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Character Discrimination (AREA)

Abstract

(57)【要約】 【目的】 複数のOCRエンジン(16)を組合せより
高い文字認識精度を実現した光学的文字認識(OCR)
のための後処理方法を提供する。 【構成】 認識のための文字は多くの異なるタイプの文
字環境から発生し得る。OCRエンジン出力は同期ヒュ
ーリスティクス(18)を使用して前記OCRエンジン
出力間の整合及び不整合を検出するため同期される。前
記不整合は解明ヒューリスティクス(24)及びニュー
ラルネットワーク(26)を使用して解明される。解明
ヒューリスティクス(24)及びニューラルネットワー
ク(26)はどの特定のOCRエンジンが特定の属性を
有するある文字を正しく識別するかを見付けるために異
なる文字環境における数多くの異なる伝統的なOCRエ
ンジンの観察に基づく。得られた結果は解明ヒューリス
ティクス(24)及びニューラルネットワーク(26)
へと符号化され最適のOCR後処理解を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は一般的には光学的文字
認識システムに関しかつ、特定的には、異なる光学的文
字認識エンジンを組合せて光学的文字認識エンジンによ
って誤って認識されかつ出力された文字および文字の属
性を識別および解明するための後処理(post−pr
ocessing)方法に関する。
【0002】
【従来の技術】光学的文字認識(OCR)技術は紙の書
類をデジタル化された形式に変換するための良く知られ
た方法である。基本的には、書類は商業的に入手可能な
スキャナによって走査されてラスタイメージ(rast
er−image)を生成する。該ラスタイメージは商
業的に入手可能なソフトウェア、すなわち光学的文字認
識(OCR)エンジン、に受け渡され、そこで対応する
文字認識アルゴリズムが前記走査されたラスタイメージ
を処理し数字桁および、たとえば、“&”,“$”およ
び“#”のようないくつかの特別の文字を含む文字を認
識する。
【0003】
【発明が解決しようとする課題】伝統的なOCR技術の
主な問題の1つは文字認識の精度が制限されていること
である。いくつかのOCRエンジンはいくつかの文字環
境からの文字を正確に認識できるが、他の形式の文字環
境においては性能がよくない。例えば、第1のOCRエ
ンジンはヘルベティカ(Helvetica)スタイル
の文字を90%の正解率で認識できる。しかしながら、
この第1のOCRエンジンはプラチノ(Palatin
o)スタイルの文字を50%の正解率でしか認識できな
いかもしれない。第2のOCRエンジンはヘルベティカ
文字に対しては正確な結果を提供するがクーリエ(Co
urier)スタイルの文字に対しては正確な結果を提
供しないかもしれない。第3のOCRエンジンは18ポ
イントのクーリエ文字に対するよりも10ポイントのク
ーリエ文字に対して良好に動作するかもしれない。した
がって、ある文書の1ページが10ポイントおよび18
ポイントのクーリエスタイルおよびいヘルベティカスタ
イルの文字を含んでいれば、1つのOCRエンジンのみ
を使用することは適切でない結果を生じることになり、
その理由はOCRエンジンのいずれも全ての異なるタイ
プの文字環境において適切に文字を認識できないからで
ある。
【0004】したがって、数多くの異なるタイプの文字
環境から誤った文字を識別しかつ解明するためにOCR
ソフトウェアエンジンの各々の最善の光学的文字認識機
能を組合せる方法を提供することが光学的文字認識にお
いておおいに必要となる。
【0005】
【課題を解決するための手段および作用】本発明によれ
ば、光学的文字認識エンジンによって発生した文字認識
誤りを識別しかつ解明するための光学的文字認識方法が
提供される。この発明は異なる文字環境において数多く
の異なる従来の文字認識エンジンを観察しかつどの特定
のOCRエンジンが前記異なる文字環境の各々に対して
どの様なタイプの誤りを生じるかを決定した結果生まれ
たものである。いったん前記決定が行なわれると、単一
のOCRエンジンのみが使用された場合に可能なものよ
りも高い精度のレベルを生み出す複数のOCRエンジン
を併合するための後処理方法が構築可能になった。
【0006】したがって、本発明の利点でもあり目的と
するものは、異なる文字環境において数多くの異なる従
来のOCRエンジンを観察しどの特定のOCRエンジン
が大部分の場合に各々の文字をより正確に認識するかを
検出しかつ前記異なるOCRエンジンからの観察の結果
をOCR文字誤りを識別しかつ解明する後処理方法へと
組合せることである。
【0007】本発明の他の利点でありかつ目的とするも
のは、数多くの異なるタイプの文字環境からの誤った文
字を識別しかつ解明することである。
【0008】本発明のさらに他の利点でありかつ目的と
するものは、OCRエンジンによって出力された文字を
同期するために発見的方法(ヒューリスティックス:h
euristics)を使用することである。
【0009】さらに、本発明の他の利点であり目的とす
ることは、文字を認識する上で最も正しくなる可能性の
あるOCRエンジンを選択することにより文字認識誤り
を解明するために発見的方法を使用することである。
【0010】本発明のさらに他の利点でありかつ目的と
するものは、前記発見的方法のみでは文字認識エラーを
解明することが不可能である場合にどのOCRエンジン
が最も正しくなる可能性があるかを予測する上での助け
とするためニューラルネットワークを使用することであ
る。
【0011】本発明の1つの態様によれば、光学的文字
認識システムによって出力される誤った文字を識別しか
つ解明するための光学的文字認識方法が提供される。該
方法はコンピュータによって実現されるプロセスの一部
としてコンピュータ上で実行される。さらに、前記コン
ピュータは光学的文字認識(OCR)エンジンの出力を
受けるよう接続可能である。
【0012】前記方法は、(a)同期ヒューリスティッ
クスを使用することによりOCRエンジン出力における
文字と前記文字の属性との間の不整合を識別する段階、
そして(b)前記段階(a)において識別された前記不
整合の各々を解明(resolution)ヒューリス
ティックスおよびニューラルネットワークを使用するこ
とにより解明する段階、を具備する。
【0013】本発明は特に添付の特許請求の範囲に記載
されている。しかしながら、本発明の他の特徴は添付の
図面とともに以下の詳細な説明を参照することによりさ
らに明らかとなりかつ最も良く理解されるであろう。
【0014】
【実施例】本システムのハードウェア構成が図1に示さ
れている。Fujitsu社またはXerox社によっ
て製造されるもののような、商業的に入手可能なスキャ
ナ12がSparcstaitionTMコンピュータ
14に接続されている。コンピュータ14はSUNによ
って作られている。該SUNコンピュータ14を動作さ
せるオペレーティングシステムはUNIXTMである。
該コンピュータ14は、例えば、CRTディスプレイ1
5のような、表示装置に結合されている。該CRT15
は前記スキャナによって走査されたイメージおよびこの
発明によって行なわれる後処理の結果を表示する。この
発明は大部分の商業的に入手可能なスキャナ、コンピュ
ータ、およびCRTシステム構成とともに動作しかつ容
易に携帯可能である。
【0015】文書の1ページをデジタル化文字ストリー
ムに変換するための文書変換プロセスは文書のページ1
0をスキャナ12に供給することにより開始される。こ
の発明は任意の形式の本、技術マニュアル、雑誌、新
聞、その他を含む任意のタイプの文書を読取るが、本質
的にスキャナそれ自体の制約に依存する。さらに、前記
文書は異なるタイプフェイス、ピッチ、ポイントサイ
ズ、間隔、その他を含む数多くの異なるタイプの文字環
境の内の任意のものを持つことができる。スキャナ12
が前記ページを走査した後、該スキャナ12は前記ペー
ジのラスタイメージをTIEFファイルとして発生しか
つそれをコンピュータ14に転送する。TIEFは“T
agged Image File Format”を
表しかつ技術的によく知られている。この発明はTIE
Fフォーマットされたファイルのみを受信することに依
存するのみではなく異なるタイプの出力フォーマットを
有する出力をも受信できる。
【0016】いったんコンピュータ14が前記TIEF
ファイルを受信すると、前記文字が図2に示されるよう
にOCRエンジン16によってラインごとのベースで処
理される。OCRエンジン16の主な目的は前記ラスタ
イメージまたはTIEFファイルから文字を認識するこ
とである。いくつかの商業的に入手可能なOCRエンジ
ン16は、例えば、Calera社およびZerox社
によって作られている。OCRエンジンは通常ソフトウ
ェアでありかつ付随するスキャナとともにパッケージの
一部として取引される。しかしながら、この発明は任意
のOCRエンジン16を使用可能でありかついずれか特
定のタイプのOCRエンジンまたはスキャナに依存する
ものではない。
【0017】前記OCRエンジン16の各々はそれらの
それぞれの文字認識アルゴリズムを実行し、該アルゴリ
ズムは各文字をゾーンで調べかつその文字が何であるか
の最善の可能な近似を決定する。前記OCRエンジン1
6の各々はそれらの結果を埋込まれたマークアップ(e
mbedded markup)を有するASCII文
字ストリームのような標準文字ストリームとして出力す
る。ASCIIストリームは通常初めにワードおよび文
字に関する埋込まれたマークアップまたは属性情報を有
し、それに続きそれらが実際にどの文字であるかが続
く。前記ASCII出力フォーマットは通常商業的に入
手可能なOCRスキャナおよびソフトウェアエンジンの
パッケージに添付されたマニュアルに記載されている。
この発明は前記Calera社のPage Descr
iption Architectureフォーマット
またはXerox社のXDOCフォーマットを含む任意
の商業的に入手可能なOCRエンジンからの出力の任意
のものとともに動作する。
【0018】OCRエンジン16によって実行される文
字認識アルゴリズムは主として2つのプロセスを持って
いる。第1のプロセスは処理されるべき文字の境界を定
めるボックスを識別する文字区分(segmentat
ion)プロセスである。第2のプロセスはその文字が
どのクラスに分類されるべきかを決定するための弁別プ
ロセスである。
【0019】
【表1】 要素タイプ 要 素 典型的な要素値 −−−−− −−−−−−− −−−−−−−−−−−−−−−−− 文 字 タイプフェイス タイムズ、ヘルベティカ、クーリエ ラインサイズ 細、中、太 リガチャ属性 オン/オフ セリフ属性 オン/オフ ピッチ ローマン、斜体、イタリック ポイントサイズ 文字サイズ 間隔 固定、プロポーショナル カーニング オン/オフ モディファイア 区別マーク、アンダーライン イメージ スキュー 回転度 ノイズ 広帯域、インパルス、アーティファクツ 解像度 アンダーリゾルブド コントラスト 明るすぎ、暗すぎ
【0020】表1は文字区分および弁別アルゴリズムの
精度に影響を与える異なるタイプの文字環境のいくつか
を示す。これらの環境のいくつかはラインサイズ、ポイ
ントサイズ、ピッチおよび間隔(spacing)を含
む。区分(segmentation)および弁別(d
iscrimination)アルゴリズムはこれらの
要素を考慮しなければならないが、その理由は文書の各
ページは上に示された全ての文字環境を含む可能性があ
るからである。初期の文字認識システムのいくつかは一
般に固定フォント認識に依存し、かつしたがって、例え
ば、パイカまたはエリートのような、特定のポイントサ
イズ、または、例えば、クーリエまたはヘルベティカの
ような、特定のフォントスタイルまたはタイプフェイス
に制約されていた。これらの制約は検出率を改善するた
めにタイプフェイスの要素を一定に保っていた。近代の
全フォント文字認識システムはこの制約を持たないが、
全てのあり得るパターン変動を適切に取扱うための機構
を持っていない。例えば、いくつかのシステムは文字セ
グメントが接続しない飾り(ornate)、細いスト
ロークの(thin−stroke)タイプフェイスス
タイルに関してかなり認識精度が低下する。
【0021】OCRソフトウェアエンジンは、一般に、
2つのタイプの文字認識エラーを発生する。第1のタイ
プの文字認識エラーは文字置換えエラー(charac
ter substitution error)であ
る。これらのタイプのエラーは、ある文字がなんらの文
字も存在しない場合に認識される時、1つの文字が複数
の文字として認識される時、あるいは複数の文字が異な
る組の文字に対して認識される場合に発生する。文字置
換えエラーは前記エラーの形式を表すが、それは特定の
エラータイプにおいて発生されるエラーの種類を特定し
ない。1対2(one−to−two)文字置換えエラ
ーの例はワード“old”がOCRエンジンによって
“olcl”として誤って処理された場合である。OC
Rエンジンは2つの文字(“cl”)を“d”と誤って
置換えている。同じエラータイプを有するが、異なるエ
ラーの例はワード“man”がOCRエンジンによって
“nian”と誤って処理された場合である。該OCR
エンジンは誤って2つの文字(“ni”)を文字“m”
と置換えている。
【0022】
【表2】 置換えエラータイプ OCR OCR出力ストリーム −−−−−−−−− −−− −−−−−−−−−− A0B1 A abdef B ab(c)de A0B2 A abefg B ab(cd)e A0B3 A aefgh B a(bcd)e A1B0 A ab(c)de B abdef A1B1 A ab(c)de B ab(x)de A1B2 A ab(c)de B ab(xy)d A1B3 A ab(c)de B ab(xyz) A2B0 A ab(cd)e B abefg A2B1 A a(bc)de B a(x)def A3B0 A a(bcd)e B aefgh A3B1 A a(bcd)e B a(x)efg
【0023】上記表2はシステムが2つのソフトウェア
OCRエンジンAおよびBのみを有する場合の11個の
文字置換えエラーを含む。エラータイプAxByはOC
RAエンジンがxの数の文字を認識しかつOCR Bが
yの数の文字を認識する場合のエラーである。例えば、
表2に示されたA0B1はOCR Aがなんらの文字を
も認識しないが、OCR Bが1つの文字を認識した場
合を表す。したがって、これはゼロ−1(0:1)文字
置換えエラーである。同様に、2−1文字置換えエラー
(A2B1)はOCR Aエンジンが2つの文字を認識
したが、OCR Bによって1つの文字のみが認識され
た場合に生じる。表2においては、各OCRエンジンか
らの出力ストリームは文字a,b,c,d,等によって
表されている。表2において括弧で括った文字はOCR
エンジンAおよびBによって異なって認識されたOCR
出力ストリームの文字を表す。
【0024】第2のタイプの文字認識エラーは文字属性
エラーであり、これらはOCRエンジンがイタリック、
ボールドフェイス、アンダライン、ポイントサイズ、そ
の他を含む文字の1つまたはそれ以上の属性を誤って認
識するかあるいは認識しない場合に発生する。
【0025】
【表3】 属性エラー 正しい文字 OCR文字 −−−−−−−−−−−−− −−−−−−−−−− −−−−−−−−− イタリック誤り x χ(イタリック) イタリックでないと認識 χ(イタリック) x ボールドフェイス誤り x x(ボールド) ボールフェイスでないと認識 x(ボールド) x アンダライン誤り x x アンダラインなしと認識 x x 文字ポイントサイズ x Χ
【0026】なお、この表3においてアンダラインを付
した文字xは電子出願においてアンダラインを付した文
字が使用できないのでx と並べて表現している。ま
た、イタリック体およびボールド(太字)の文字はそれ
ぞれ(イタリック)および(ボールド)と表示してい
る。
【0027】表3は、数多くの異なるタイプの文字属性
エラーの内の7個を示している。表3に示されるよう
に、OCRエンジンは該OCRエンジンが“x”がボー
ルドフェイスでないのに拘らず“x(ボールド)”とし
て認識した場合に文字属性エラーを発生する。このタイ
プの文字属性エラーは偽ポジティブ(false po
sitive)状態と称されるが、それはOCRエンジ
ンがある属性をそれが存在しないにも拘らず認識したた
めである。さらに、OCRエンジンはそれが前記属性を
前記属性が存在するにも拘らず認識しなかった場合に文
字認識エラーを発生する。例えば、“x ”は単に
“x”と認識される。このタイプのエラーは非認識エラ
ー(failed recognition erro
r)と称される。
【0028】図2に示されるように、OCRエンジン1
6が文字を処理しかつ認識した後、正しく認識された文
字および誤って認識された文字の双方を含む文字ストリ
ームが光学的文字認識後処理方法部18に送られる。相
互接続されたソフトウェアモジュールのブロック図とし
て図2に示される、ポストプロセッサ18はOCRエン
ジン16によって誤って認識された文字を識別しかつ解
明するための方法である。該ソフトウェアモジュールは
コントローラ20、同期ヒューリスティックス22、エ
ラー解明(error resolution)ヒュー
リスティックス24および1組の修正された多層パーセ
プトロンニューラルネットワーク26を具備する。
【0029】図2に示されるように、ASCII文字O
CRエンジン出力の各々はポストプロセッサ18に送ら
れかつコントローラ20によって受信される。ポストプ
ロセッサ18によって行なわれる総合的な方法動作は図
3に示されている。簡単に言えば、コントローラ20は
ステップ30においてOCRエンジン出力を受信しかつ
ステップ32において該OCRエンジン出力の各々を2
つの別個のリスト、文字リストおよび文字属性リストに
変換する。コントローラ20は次にステップ34におい
て前記文字リストを同期ヒューリスティックスを使用し
て互いに同期し互いに組合わされた文字属性リストを形
成する。もし文字またはそれらの対応する属性のなんら
かの不整合がステップ36の試験により前記組合わされ
た文字属性リストにおいて発生すれば、OCRポストプ
ロセッサ18はステップ38においてヒューリスティッ
クスおよびニューラルネットワークを使用してそれら不
整合を解明する(resolve)。いったん該不整合
が解明されると、コントローラ20はステップ40にお
いて前記整合および不整合の結果を一緒に単一の文字ス
トリームに併合しかつステップ42において併合された
結果を標準の文字出力ストリームに出力する。図3に示
されたこれらのステップの各々は以下により詳細に説明
する。
【0030】文字リストは文字それら自体のみを含む。
文字は、例えば、アッパーケースおよびロウアーケース
文字、数字桁(0−9)および“$”,“%”および
“!”のような特別のシンボルを含む。文字属性リスト
はワードの文字を含みかつ、例えば、いずれかの文字が
イタリック体であるか、ボールドフェイスであるか、あ
るいはアンダラインされているか否かのような、文字の
特別の属性の各々を含む。大文字使用については属性は
なく、それは前記ロウアーケース文字からの大文字に対
する別個のASCII値があるからである。文字属性リ
ストはまたOCRエンジンが文字を認識する上でどの位
確かであるかについての不確定性(uncertain
ty)情報を含む。
【0031】コントローラ20がステップ30において
OCRエンジン出力を受信した後、該コントローラ20
はステップ32において前記出力の各々を2つのリス
ト、文字リストおよび文字属性リストに変換する。当業
者はOCRエンジンマニュアルに記載されたフォーマッ
トに基づきASCII文字ストリームを読取りかつ該O
CR出力を文字リストおよび文字属性リストに変換でき
る。
【0032】もし、例えば、2つのOCRエンジン、A
およびB、のみが存在すれば、コントローラ20はOC
R AおよびOCR Bに対して別個の文字リストを作
成する。以下に示すのはOCR AおよびOCR Bか
ら、フレーズ“This old man”から、作成
され得る文字リストの例であり、この場合φはブランク
スペースを表す。 OCR A=[Thisφoldφrrian] OCR B=[Thisφolclφman] 文字リスト
【0033】明らかに、OCR AもOCR Bも前記
フレーズの各ワードに関して完全に正しくない。OCR
AおよびBによって実行される文字認識アルゴリズム
の各々はある文字を認識する上で別個の誤りを生じてい
る。OCR Aは文字“m”を“rri”と誤って認識
し、一方OCR Bは文字“d”を“cl”と誤って認
識している。
【0034】フレーズ“This old man”に
対する文字属性リストの例は次に示され、この場合、φ
はブランクスペースと等価であり、かつ前記フレーズに
おいてワード“old”のみが太字になっているものと
する。 T h i s φ o l d φ r r i a n <1><1><1><1><1><1><1><1><1><1><1><1><1><1> <2><2><2><2><2><2><2><2><2><2><2><2><2><2> OCR A文字属性リスト T h i s φ o l c l φ m a n <1><1><1><1><1><1><1><1><1><1><1><1><1> <2><2><2><2><2><2><2><2><2><2><2><2><2> OCR B文字属性リスト
【0035】上の文字属性リストにおいて、<1>およ
び<2>は前記属性の内の1つがオンであるかあるいは
オフであるかを表す。上に示された例についていえば、
もし属性<1>が文字がアンダラインされているか否か
を表せば、前記フレーズに対する<1>の全てはオフに
なる。同様に、もし属性<2>が文字が太字であるか否
かを表すものとすれば、前記ワード“This”および
“man”における各文字に対する前記<2>はオフで
あり、一方“old(太字)”の各文字に対する<2>
はオンとなる。上に示されたリストは文字属性リストの
例として与えられているが、各文字に対して2つより多
くの属性がある。
【0036】前記文字リストに示したように、文字置換
えエラーが発生すれば、前記OCRAおよびBの文字属
性リストに示されるように各々の誤った文字にある属性
が割当てられる。前に示したように、前記文字“d”と
置換えられた文字“cl”の各々は前記文字属性リスト
において対応する属性を有している。誤った文字に対し
ても、前記属性情報は不整合を解明しかつ正しい文字お
よびそれらの対応する属性を以下により詳細に説明する
ように決定する上で重要である。
【0037】いったんOCR出力がステップ32におい
て文字および文字属性リストに変換されると、変換され
た出力文字リストはステップ34において同期されOC
Rエンジンによって発生したなんらかの文字認識エラー
を検出する。前記出力を同期することは1つのOCRエ
ンジンの出力からの各文字が他のOCRエンジンからの
出力ストリームの同様の文字に整合されるよう試みてい
ることを意味する。したがって、文字認識エラーはOC
Rエンジンの出力間の不一致、例えば、文字、大きさ、
属性、および含まれる文字の数の整合または不整合を識
別しかつ対応するOCRエンジンから直接与えられる文
字不確定性レポートをアクノレッジすることにより決定
される。文字不確定性レポートはOCRエンジンの出力
から受信されたASCII文字ストリームにおける埋め
こまれたマークアップの一部である。エラーに含まれる
文字の数は主たる関心事であるが、それはOCRエンジ
ンは文字を完全に喪失し、幻の(phantom)文字
を発生し、あるいは他の数の文字に対して1つの文字の
数を誤ることがあるからである。
【0038】ステップ34においては、コントローラ2
0はOCRエンジンの出力を同期するためにおよびOC
Rエンジン出力のエラーをエラーのないものから分離す
るために同期ヒューリスティックス22を使用する。同
期ヒューリスティックス22は1つまたそれ以上のOC
Rエンジン出力をパターン整合するためのルールであ
る。ステップ34においてどの様にして同期または文字
整合が行なわれるかについての擬似符号が次に与えられ
る。
【0039】文書の1ページの各ラインに対して、OC
R Aの文字リストまたはOCR Bの文字リストが空
になるまで、もしOCR Aの文字リストからの文字が
OCR Bの文字リストからの文字と等しければ、OC
R AおよびOCR Bの双方の文字属性リストからの
対応する文字および属性情報を併合し、さもなければ、
同期ヒューリスティックスを使用して同期不整合のタイ
プを識別する。
【0040】同期プロセス 前記擬似符号からわかるように、ステップ34における
同期はラインごとのベースで実行される。もし前記OC
R Aの文字リストまたは文字属性リストが空であれば
コントローラ20はそれがラインの終わりであることを
認識する。したがって、コントローラ20はメインルー
プに戻りかつ同期はいずれかの残りのラインに継続す
る。
【0041】はじめに、コントローラ20は異なるOC
R出力からの文字を同期または整合するために前記文字
リストを使用する。もしOCR AおよびOCR Bの
出力の双方かの現在の文字が整合すれば、それらの文字
は同期している。前記出力を同期するための重要なヒュ
ーリスティックスの1つは一致する前記OCR出力の各
々における文字の最も長い連続するリストが同期したテ
キストを表すことである。上の例の“This old
man(oldのみ太字)”については、コントロー
ラ20はOCR AおよびBの出力を整合する文字の最
も長い連続するリストにしたがって整合する。したがっ
て、“Thisφol”における文字は最初に同期す
る。
【0042】もし文字が整合しなければ、コントローラ
20はどの様なタイプの文字置換えエラーが発生したか
を決定しなければならない。文字認識エラーを突き止め
ることは4つの要因から複雑化する。第1に、エラーに
おける連続する文字の数の不確定性のために誤った文字
を突き止めることがより困難になる。例えば、もし“o
ld”が“dcl”としてあるいは“olcl”として
OCRエンジンによって認識されれば、コントローラ2
0は“dcl”が2つの連続する文字置換えエラーを有
し、一方“olcl”が1つの文字置換えエラーのみを
有することを決定できなければならない。
【0043】文字認識エラーの発見を複雑化している第
2の要因は連続する正しい文字の数が正しくないOCR
文字によって表されることである。例えば、文字“r
n”はOCRエンジンによって“m”または“rri”
と認識されることがある。第3に、競合するOCRエン
ジンは文字の数に関して異なるエラーを生じる可能性が
ある。例えば、文字“m”は1つのOCRエンジンによ
って“rri”と認識され、一方第2のOCRエンジン
は“m”を“rn”と認識する。
【0044】OCR出力を同期するのを複雑化している
第4の要因は問題のエラーが前記テキストの他のエラー
によって密に(closely)囲まれることがあり得
ることである。例えばワード“man”は“rrio
n”または“rnari”と認識され得る。いずれの文
字も最初の誤った文字“r”を除き整合しないことを注
目すべきである。
【0045】図3のステップ34においては、異なるO
CRエンジンの出力を同期するためにコントローラ20
によって行なわれるパターン整合は図2に示されるよう
な同期ヒューリスティックス22使用することによって
行なわれる。同期ヒューリスティックス22はProl
ogによってプログラムされるが、任意の他のコンピュ
ータ言語も同様に使用できる。文字の不整合が検出され
た場合、コントローラ20は各OCR出力において問題
のある単数または複数の文字の両側で文字を比較するた
めにアッパーケースおよびロウアーケース情報を含む文
字ID情報のみを使用する。したがって、コントローラ
20は同期ヒューリスティックス22を使用して各ライ
ンの文字を左から右へと処理し、同期を維持するために
必要なだけ多くの文字をルックアヘッド(lookin
g ahead)する。さらに、コントローラ20は同
期ヒューリスティックス22を使用してエラーが検出さ
れた場合に該エラーを解明または解消し、それによって
周囲の文字が常に左側に解明または解消されかつ少なく
とも部分的に右側に一致する文字と整合するようにす
る。
【0046】前記同期ヒューリステックス22はOCR
エンジン出力をルックアヘッド文字の数および文字置換
え比率を変えることによりパターンマッチングする。コ
ントローラ20によって使用される同期ヒューリスティ
ックス22は他の文字の不整合よりもより頻繁に発生す
る文字の不整合を解明または解消することが統計的にわ
かっている順序で適用される。
【0047】ルックアヘッド文字の数は前記文字置換え
比率によって設定される疑わしい文字の数を過ぎて(p
ast)コントローラ20によって調べられる文字リス
トにおける文字の数を意味する。4つのルックアヘッド
文字が同期ルール22において初期的には好ましい。し
かしながら、ルックアヘッド文字の数は最も効率的な同
期を生成するものにしたがって設定できる。例えば、同
期ヒューリスティックス24は4つのルックアヘッド文
字が整合するか否かを判定するために前記文字リストの
各々における単一の疑わしい文字を過ぎて4つの文字を
調べることができる。もしコントローラ20が前記第1
のヒューリスティックスを使用して4つのルックアヘッ
ド文字が単一の文字の後の文字リストの各々において一
致するものと判定すれば、コントローラ20は文字の不
整合を検出したことになる。この例の文字の不整合は一
致しない文字リストの各々における単一の文字である。
【0048】前記文字置換え比率はコントローラ20が
OCR出力の文字リスト内でどの様なタイプの文字置換
えエラーが発生したかを決定するのを助ける。前記文字
置換え比率は各々の文字リストにおいてどれだけ多くの
文字を無視するかを指示し、それによってルックアヘッ
ド文字の数が比較できるようにする。好ましい実施例に
おいては、コントローラ20は次のような文字置換え比
率の組合せを試みるが、これは必ずしもこの順序である
必要はない。すなわち、1:1,0:1,1:0,2:
1,1:2,3:2,2:3,1:3,4:3,3:
4,4:2,2:4,4:1,1:4である。この発明
はこれらの特定の文字置換え比率に制限されるものでは
なく、例えば、7:5または3:5の文字置換え比率の
ような、比率でより多くの文字を使用することを含む。
【0049】前記同期ヒューリスティックス22はコン
トローラ20がどの文字が不整合であるかを決定するの
を助けるために所定の順序で前記文字置換え比率および
ルックアヘッド文字の数を変更する。この不整合はOC
Rエンジンによって生じた誤りを識別する。同期ヒュー
リスティックス22に対する重要事項の1つはそれらが
コントローラ20が間違って識別された文字の数を最小
にするよりはむしろ不整合を囲む整合の数を最大にする
のを助けることである。この技術は単に整合しない文字
を対にするよう試みるよりは高速で整合しない文字の同
期を解明するのを助ける。
【0050】以下に示すのはコントローラ20がどの様
にして文字置換え比率およびルックアヘッド文字の数を
セットするヒューリスティックスに基づきOCRエンジ
ン出力AおよびBを同期させるかを示すための例であ
る。この例では、もしヒューリスティックスが前記文字
置換え比率を1:2の比率にセットしかつ前記ルックア
ヘッド文字の数を4にセットすれば、コントローラ20
はOCR Aの出力文字リストから1つの文字を無視
し、一方OCR Bの出力文字リストから2つの文字を
無視する。コントローラ20は次にOCR Aの文字リ
ストからの文字2−5をOCR Bの文字リストからの
文字3−6に整合するよう試みる。もしルックアヘッド
文字の数が特定の文字置換え組合せに対して一致すれ
ば、コントローラ20はどの文字が整合しておらずかつ
不整合の文字の比率を知ることになる。したがって、O
CR Aの文字リストの文字2−5がOCR B文字リ
ストの文字3−6と整合すれば、コントローラは1対2
の文字置換えエラーが発生したことを知りかつOCRエ
ンジン Aの文字リストの文字1およびOCR Bの文
字リストの文字1および2がその不整合に関与している
ことを知る。
【0051】上に示した“This old man”
(ただし文字oldは太字)およびOCR AおよびB
からの付随する文字リストに対しては、コントローラ2
0は4,3または2のルックアヘッド文字を整合するこ
とができない。その理由はOCR Aからの文字“rr
i”が決してOCR Bからの“m”と整合しないため
である。コントローラ20は前記スペース(φ/φ)を
前記同期ヒューリスティックス22の1つによってセッ
トされる1つのルックアヘッド文字および1:2の文字
置換え比率を使用してのみ整合することができる。した
がって、コントローラ20は1:2の文字置換えエラー
が発生したことを決定できる。
【0052】前記整合したスペースが結果リストに記憶
された後、コントローラ20は残りの文字“rria
n”および“man”に対してどの文字置換えエラーが
生じたかを決定する必要がある。同期ルール22を使用
して、コントローラは文字置換え比率が3:1である場
合に結局2つのルックアヘッド文字(“an”)を整合
することになる。したがって、コントローラ20は3対
1の文字置換えエラーが生じたことを知ることになる。
【0053】いったん全ての同期エラーが解明される
と、OCR出力の同期が完了する。ステップ34におけ
る同期の結果はどの様にしてOCR文字が整合されるか
を詳細に示す組合わされた文字属性リストである。例え
ば、次のリストは上に示した文字リストの同期の結果で
ある。すなわち、(T/T),(h/h),(i/
i),(s/s),(φ/φ),(0/0),(l/
l),(d/cl),(φ/φ),(rri/m),
(a/a),(n/n)である。このリストは属性情報
に加えて前記OCRエンジンの各々が文字(単数または
複数)を認識する上でどの位確かであるかを含む。
【0054】図3によれば、いったんOCRエンジンの
出力がステップ34において同期すると、もし不整合が
なければあるいはOCR出力の各ラインにおいて全ての
文字が一致しかつそれらの対応する属性情報が一致すれ
ば、ステップ36のコントローラ20はOCRエンジン
出力間のなんらかの衝突(conflicts)を解明
する必要はない。したがって、ステップ34における同
期から生じる文字属性リストは正しい文字およびそれら
の属性を含む。これに対し、もし、前にOCRAおよび
Bについての例で示したように、OCR出力の間になん
らかの不整合が存在することがステップ36で検出され
れば、本光学的文字認識方法はステップ38においてO
CRエンジンの各々によって処理されたものから何が正
しい文字であるかを決定するために前記不整合を解明し
なければならない。前記不整合を解明するために光学的
文字認識によって使用される方法は図4のフローチャー
トに示されている。
【0055】次に図4に示されるステップの簡単な説明
を行なう。第1に、コントローラ20はステップ150
において文字認識エラー、文字置換えエラーまたは文字
−属性衝突のタイプを識別し、かつステップ152にお
いて前記組合わされた文字−属性リスト内のエラーの位
置を識別する。この情報に基づき、コントローラ20は
ステップ154において始めに文字認識エラーを解明す
るよう試みるため解明ヒューリスティックス24を適用
する。もし前記エラーがステップ156において1つま
たはそれ以上の解明ヒューリスティックス24によって
解明されなければ、エラー置換えタイプに対応するニュ
ーラルネットワークが選択されかつステップ158にお
いて前記文字または属性不一致を解明するのを助ける上
で適用される。いったん、ニューラルネットワークが何
が適切な文字であるか(すなわち、どのOCRエンジン
が最も正しい可能性があるか)を出力すると、コントロ
ーラ20はステップ160において1つまたはそれ以上
の解明ヒューリスティックス24を使用しどの文字がニ
ューラルネットワークの出力に基いているかを決定す
る。前記ステップの各々についてのより詳細な説明は以
下に行なう。
【0056】いったんステップ34において出力が同期
すると、コントローラ20はステップ150において発
生した文字認識エラーのタイプを認識したことになる。
コントローラ20は文字比率の不整合、属性情報、およ
びエラーの確かさに基づきエラータイプを分類する。文
字置換え比率の不整合はコントローラ20によって解明
される不整合に含まれる文字の数を表す。文字の不整合
は作成された文字−属性の文字のペアリングから容易に
決定できる、1:2のエラーは2:1のエラーと異なる
から、文字比率の不整合における順序が重要である。こ
れは、異なるOCRエンジンは独自の文字認識アルゴリ
ズムおよび特性を持っており、これらはヒューリスティ
ックまたはニューラルネットワークにおいて考慮するこ
とができるからである。例えば、OCRエンジンAはし
ばしば文字“d”に対して“cl”を出力するかもしれ
ない。したがって、本光学的文字認識方法はヒューリス
ティックスまたはニューラルネットワークを使用してこ
の誤った文字置換えを正しかつ“cl”を正しい文字
“d”で置換えることができる。
【0057】前記エラー属性情報は文字IDおよびアン
ダライン、イタリック体、ボールド、サイズ、その他を
含む属性情報によって特徴付けられる。前記エラーの確
かさは直接各々のOCR出力、標準のASCII文字ス
トリームにおける埋めこまれたマークアップの部分、か
ら得られ、これはOCRレポートの総合的な信用の程度
を含む。前記信用のレベルは、コントラスト、明瞭さ、
フォント、その他のような、走査されたページの特性、
および各々の認識を行なうために各OCRエンジンによ
って使用される努力の程度(level−of−eff
ort)に基ずく。前記信用係数(confidenc
e factor)はまた個々の文字の程度および形状
そして文字が正しく綴られたワードの一部として認識さ
れるか否かに基ずく。
【0058】いったんステップ152においてエラータ
イプが識別されると、ステップ154においてコントロ
ーラ20は適切な解明方法が何であるかを決定するため
に1つまたはそれ以上の解明ヒューリスティックス24
(resolusion heuristics)を使
用する。ヒューリスティックスはOCRエンジンによっ
て示される行為パターン(behavior patt
erns)に関係する領域特定の経験的方法(rule
s−of−thumb)である。いくつかのエラーはヒ
ューリスティックスによって容易に解明されるが、より
困難かつ複雑なエラーはニューラルネットワークを使用
して解明される。もしヒューリスティックスの手法のみ
が使用されれば、実行する上で効率が悪くかつ開発に非
常にコストがかかる。しかしながら、ヒューリスティッ
クスによって解明される各々のエラータイプはエラーを
解明するためにニューラルネットワークを使用する必要
性を低減し、ニューラルネットワークの学習コストを低
減し、そしてニューラルネットワークによって解明され
るべき残りのエラーの精度を増大させる。したがって、
2つの解明方法、すなわちヒューリスティックスおよび
ニューラルネットワーク、の間のバランスが開発コスト
を低減しかつ実行する上での効率および精度を改善する
のに重要である。2つの解明方法の間のバランスは統計
を使用して決定される。前記解明ヒューリスティックス
24はPrologによってプログラムされるが、他の
プログラム言語も使用できる。
【0059】ヒューリスティックスおよびニューラルネ
ットワークは各々のOCRエンジンからの最善の文字認
識機能に依存する。言い換えれば、ヒューリスティック
スおよびニューラルネットワークによって行なわれる分
析はどのOCRエンジンがある属性情報を有するある文
字を認識する上で最も信頼性があるかを観察することに
基いている。OCRエンジンによって示される行為パタ
ーンは数多くの異なる文字環境においてOCRエンジン
を試験することにより知られる。試験はOCRエンジン
に知られた文字環境を入力しかつどの様な結果が生成さ
れるかを評価することにより実行される。他方の文字環
境に対して一方の文字環境でそのOCRエンジンが良好
に機能するか否かについての結果は始めにオペレータに
よって決定され、その結果は経験的方法のヒューリステ
ィックまたはニューラルネットワークに導入される。し
たがって、前記OCRエンジンはある文字環境において
どのOCRエンジンが最も良く動作するかについての評
価に基づき解明ヒューリスティックス24およびニュー
ラルネットワーク26を使用することにより最適のポス
トプロセッサ18へと組合わされる。
【0060】
【表4】 OCR A OCR B 同期部出力 −−−−− −−−−− −−−−−−−−−−−− a a a a a? a? a b? ニューラルネットワーク a b ニューラルネットワーク a? a? a? a? b? ニューラルネットワーク a? b ニューラルネットワーク b? b? b? b? c? ニューラルネットワーク b? b b? b? c ニューラルネットワーク b b b b c ニューラルネットワーク
【0061】表4は文字認識エラーを解明する上でコン
トローラ20によって使用されるヒューリスティックス
のいくつかを示す。表4において、文字“a”は正しい
文字を表し、一方文字“b”および“c”は正しくない
文字を表す。疑問符(“?”)は不確定文字のマーカあ
るいはコントローラ20がある特定の文字に対する後処
理の結果が実際に正しいことが100パーセント確かで
はないことを示す。もし前記確かさがあるしきい値より
低ければ、コンピュータ14は図1に示される表示装置
15に表示されたラスタイメージの前記不確かな文字を
ハイライトで示す。オペレータはもしそれらが間違って
いればコンピュータ14に変更を入力することによりハ
イライトで表された文字のいずれかを変更することがで
きる。この方法は最も重要なことにオペレータが人手に
より誤った文字を変更する必要のある回数を低減する。
【0062】前記表4において、OCR AおよびOC
R Bの双方が文字“a”に対して“a”を認識した場
合には、ヒューリスティックはコントローラが両方のO
CRエンジンが同じ文字に一致した場合に、その出力は
整合する文字であることを理解することを助ける。した
がって、このヒューリスティックはOCR AおよびB
が正しい文字“a”を認識した場合のみでなくOCR
AおよびBの双方が正しくない文字“b”を認識した場
合にも使用される。しかしながら、この結果はOCRエ
ンジンが文字を認識する確かさのような他の情報に依存
する。表4からの他のヒューリスティックは両方の文字
が同じであるが前記OCRの一方または双方が前記文字
について不確かである場合に、その不確かさを有する文
字をコントローラ20に出力することである。このヒュ
ーリスティックスはOCR Aがそれが“a”を見るこ
とは確かであるがOCR Bはそれが“a”を見ること
が完全に確かではない(“a?”)場合、あるいは両方
のOCR AおよびBがそれらが“a”を見るか否かが
完全には確かでない(“a?”)である場合の解明を行
なう。
【0063】表4に与えられたもの以外のヒューリステ
ィックスがある。例えば、もしあるワード内の単一の文
字がそのワードの残りによって共有されない属性を持っ
ていれば、前記単一の属性はそのワードの他の文字の属
性を取り入れる可能性が最も高いことになる。例えば、
もし1つの文字がアンダラインされていないが、そのワ
ードの残りがアンダラインされていれば、ヒューリステ
ィックはもしOCRエンジンが文字のアンダラインを欠
如したものと知られればその単一の文字にアンダライン
をすることになる。同様に、もしあるワードがイタリッ
ク体であるが、1つの文字がイタリック体でなければ、
ヒューリスティックはそのワードの残りに整合するため
にその単一の文字をイタリック体にすることができる。
他のヒューリスティックはピリオド(“.”)および2
つのスペースに続くロウアーケース文字をその対応する
アッパーケース文字に変更するが、それはその文字が文
書の始めでありかつ通常アッパーケースの文字である可
能性が高いからである。
【0064】使用されるヒューリスティックスは英語、
言語学上の原理、機械的な文章構造および文書の形式の
一般的なルールを観察しかつ理解することから得られる
ルールである。本後処理方法はこれらのルールを特定の
属性を有するある文字を認識するために他のOCRエン
ジンより信頼できるOCRエンジンのためのヒューリス
ティックスに導入する。しかしながら、もしエラーがス
テップ156において前記ヒューリスティックスのいず
れかを使用することにより解明できなければ、ステップ
158において文字置換えエラーまたは文字−属性エラ
ーが図5に示されるニューラルネットワークを使用して
解明される。表4に示されるように、例えば、“a”お
よび“b?”のような、あるタイプのエラーは自動的に
ヒューリスティックにプログラムされ1つまたはそれ以
上のヒューリスティックスがどのOCRエンジンの出力
がより信頼できるかを解明できないためニューラルネッ
トワークを使用する必要があることを知る。
【0065】ニューラルネットワークは頭脳および神経
システムのトポロジー的なおよび処理特性の後にモデル
化された情報処理技術である。ニューラルネットワーク
はシナプスの重みによって相互接続された、ニューロン
と呼ばれる、単純な計算要素を具備する。現在のニュー
ラルネットワークのモデルを特徴付けるために使用され
る3つの際立つ特徴は(i)ニューロンモデル、(i
i)ネットワークのトポロジー、および(iii)学習
ルールと呼ばれる適応のためのメカニズムである。この
発明において使用されるニューラルネットワークはBa
ckward Error Propagation
(BEP)と称される学習ルールによってトレーニング
された、修正多層パーセプトロン(mMLP)である。
前記mMLPは以下に説明するニューラルネットワーク
のモデルでありかつ前記BEPは良く知られたニューラ
ルネットワークのトレーニング技術である。
【0066】BEPを使用したmMLPの重要な特徴は
その特定の問題領域の学習および適応の能力である。こ
の発明においては、この特徴は、例えば、図5に示され
る直交OCRエラー(orthogonal OCR
errors)の統計的モデルを構築する目的で活用さ
れる。図5は他のOCRエンジンBとともに使用された
場合のかつ認識精度に影響を与える13の要素が特定の
値に調整された場合のOCRエンジンAの認識精度の統
計的モデルである。
【0067】図5に示される統計的モデルは表1の13
の要素から構成されている。15次元の概略的な構成ス
ペース、£、が構成でき、そこでは各要素が該スペース
の1つの次元である。OCR Aによって出力される全
ての文字の組合せの集合およびOCR Bによって出力
される全ての文字の組合せの集合は前記£の最終的な2
つの次元である。例えば、OCR Aの出力=“d”、
OCR Bの出力=“cl”、タイプフェース=Hel
vetica、ラインサイズ=ボールド、ポイントサイ
ズ=14その他のような、特定の要素の集合は、例え
ば、前記£におけるポイントとして表される。
【0068】前記£のいくつかの領域においては、OC
Rは高い精度で動作するであろう。しかしながら、他の
領域においては、エラー率が高くなる。この観察は前記
£における確率面(probability surf
ace)として定量化される。この確率面、Sおよび
、は、それぞれ、OCR AおよびOCR Bの認
識精度に影響を与える13の要素の関数である。OCR
Aが高い精度で動作する前記£の領域では、S=1
である。高いエラー率が生じる領域では、S=0であ
る。図5に示される、この確率面SはOCR Aの認
識精度の統計的モデルである。それは特定の条件の集合
が与えられればOCR Aに対する正しさの確率を符号
化する。図5に示される面は、他の13の次元を明示さ
れないが特定の値に一定に保持し、3次元のプロットで
構成されている。
【0069】S≠Sである£の領域は「エラー直交
(error−othogonal)」領域と称され
る。OCRエンジンはそれらが組合わされて大きなエラ
ー直交領域を生じる場合に「直交」している。種々の実
験を行なった後、いくつかのOCRエラー直交が観察さ
れたが、観察のみによっては2つの特定のOCRエンジ
ンに対するエラー直交領域の小さなグループ(fact
ion)以上に正確に識別することは不可能であった。
エラー直交領域を正確に識別するためには、確率面、S
およびSの学習の自動化された方法が考案されなけ
ればならないことが判明した。ニューラルネットワーク
はそのような方法である。
【0070】図2におけるニューラルネットワーク26
は複数のニューラルネットワークモジュールのシステム
からなる。前記表1に示された文字置換えの各タイプに
対して別個のニューラルネットワークが使用される。該
ニューラルネットワークモジュールの各々は図6に示さ
れる形式を有する。図6に示されるニューラルネットワ
ークのトポロジーはニューロンが相互接続される方法を
規定する。この発明において使用される修正多層パーセ
プトロンニューラルネットワークは一緒に縦続接続され
たニューロンの層によって特徴付けられるフィードフォ
ワードトポロジーを使用する。
【0071】前記ニューラルネットワークの各々は特定
のエラータイプの統計的モデルを学習するためにトレー
ニングされる。例えば、1つのニューラルネットワーク
はOCRエンジンAおよびBの間のA1B2の不整合を
解明するための専用のものとされる。いったんトレーニ
ングされると、各ニューラルネットワークは、入力とし
て、前記表1に示されている文字認識精度に影響を与え
る種々の要素を受入れかつ各々のOCRエンジンからの
出力文字を受入れ、問題の文字が何であるべきかについ
ての最善の推定を生成する。
【0072】図6に示されるように、各々の影を付けた
円70,72,74,76はニューロンである。各ニュ
ーロンはその入力の封じ込められかつ重み付けされた和
を計算する。入力パターンは入力層ニューロン70か
ら、第1および第2の隠れた層すなわちヒドン層(hi
dden−layer)ニューロン72,74を通り出
力層ニューロン76に流れる。特定の層におけるニュー
ロンはそれらの出力を引続く層のニューロンにのみ受け
渡す。第1の層のニュウーロンは入力層ニューロン70
と称され、1つの入力を有し、なんらの接続重み付けを
持たずかつなんらの記号論理学的非線型アクティベーシ
ョン機能を持たない。各入力層ニューロンはそのOCR
エンジンのクラス内のヒドン層における各ニューロンに
接続する。ニューラルネットワークへの入力はOCRエ
ンジンの出力から構成される。ニューラルネットワーク
の出力は最もあり得る文字およびボールドフェイス、イ
タリック体、アンダライン、その他の属性情報を示す変
数である。
【0073】図6に示される前記修正された多層パーセ
プトロン(mMLP)ニューラルネットワークはニュー
ラルネットワークの分野では広く知られかつ使用されて
いる一般的な多層パーセプトロン(MLP)構造に基い
ている。mMLPのトポロジーは商業的にともに入手可
能なGenesisTMまたはPlaNetTMを使用
して構築できる。前記mMLP構造はニューラルネット
ワークが学習すべき統計的モデルに関する多量の先見的
な(a priori)知識を使用して設計された。ニ
ューラルネットワークに対する修正は入力層ニューロン
および第1のヒドン層ニューロンの間の両方のまばらな
ローカル接続を使用する接続機構の形で行なわれた。多
層パーセプトロンニューラルネットワークのさらに他の
修正は前記第1のヒドン層ニューロンと出力層ニューロ
ンとの間のショートカット接続を作成することであっ
た。これらの修正は入力文字と対応する属性情報との間
に構造的な関係を持たせるために行なわれた。例えば、
OCR Aの入力層ニューロンはOCR Bの入力層ニ
ューロンに接続されていない、この接続方法の効果は2
つの独立の内部表現が形成されることである。各表現は
OCRエンジンOCRAまたはOCR Bの内の1つの
入力属性情報およびそれらの共通の入力属性情報に対す
る関係に対応する。これは重要な可変関係を強化し、そ
れによって第2のヒドン層に形成された総合的な内部表
現が正確に前記モデルを表現するようにする。
【0074】図7は、前記表1に示された文字置き換え
エラーに対するニューラルネットワークの1つのブロッ
ク図である。図7に示されたニューラルネットワークは
A1B2のために使用される。入力層は文字およびその
対応する属性を含むOCRAエンジンからの出力を受け
る。A1B2ニューラルネットワークはまたOCRBか
ら2つの文字およびそれらの属性情報を受けとる。上の
例については、入力層OCR Aは文字“d”を受けと
り、一方入力層OCR Bは文字“c”および“l”を
受けとる。前記入力層の各々はまた受けとった文字に対
する対応する属性情報を受けとる。さらに、共通の情報
がA1B2入力層によって受信される。この情報はOC
R AおよびOCR Bの全てのニューロンに接続され
る。この情報に基づき、ニューラルネットワークは正し
い文字(単数または複数)がOCR Aからの文字
“d”であるかあるいはOCR Bからの文字“c”お
よび“l”であるかを認識するためにあらかじめトレー
ニングされる。
【0075】図7に示されるように、ニューラルネット
ワークの出力は前記OCRエンジンの内のどれがより信
頼できるかを示す。前記出力はゼロから1の範囲の間の
浮動小数点数である。もしニューラルネットワークA1
B2がOCR Aを選択すれば、OCR Aの文字は1
でありかつOCR Bの文字1および2はゼロであろ
う。さらに、文字“d”は太字、アンダライン付きまた
はイタリック体でないから、前記属性情報もまたオール
ゼロである。前記出力はどのOCR出力が矛盾するOC
R出力の間の不整合を解明する可能性があるかを示す。
【0076】もしニューラルネットワークの出力がOC
R Aに対しては0.7でありかつOCR Bに対して
は0.4であれば、これはニューラルネットワークがO
CRAが正しい文字を認識する上でOCR Bよりも確
かであると考えていることを示す。ニューラルネットワ
ーク26の結果はコントローラ20によって受信され、
そこで前記解明ヒューリスティスクス24が再び使用さ
れてどのOCRエンジンがこの特定のエラーに対しより
正しい可能性があるかを解明するよう試みる。
【0077】バックワードエラー伝搬(BEP)は修正
された多層パーセプトロンモジュールの各々の接続重み
を決定するための広く知られかつ使用されている学習ア
ルゴリズムである。前記mMLP及びBEPを使用する
ことにより、当業者は表1に示された置き換え及び文字
属性エラーの訂正を前記ネットワークの各々に教示する
ことができる。
【0078】ヒューリスティクスまたはニューラルネッ
トワークの1つがステップ158においてどの文字が正
しい文字であるかを決定した結果に基づき、コントロー
ラ20は前記選択された文字を文字ストリームに編成し
かつ格納する。このステップは正しいものと分析された
OCRエンジンの1つからの出力を受け入れかつそれら
を出力ストリームに与える。この文字ストリームはステ
ップ42において埋め込まれたマークアップを有するA
SCII文字ストリームとしてフォーマットされかつス
テップ42において図3に示されるように出力される。
前記情報のいくらかはもしヒューリスティクスまたはニ
ューラルネットワークが分析により文字が正しいことが
極めて不確かであればさらに分析するためにオペレータ
に表示できる。
【0079】
【発明の効果】当業者は、本発明は、OCRエンジンに
よって誤って認識されかつ送信された文字を識別しかつ
解明するためにOCRのソフトウェアエンジンの各々の
最善の光学的文字認識機能を組合せる後処理を提供する
ことによって光学的文字認識におけるかなりの必要性を
満たすことが理解できるであろう。さらに、この発明は
例示のためにのみこの明細書にわたり使用された2つだ
けのOCRエンジン出力よりも多い場合でも同様に適用
できる。
【0080】従って、添付の特許請求の範囲により本発
明の真の精神及び範囲内にある本発明の全ての修正をカ
バーすることを意図している。
【図面の簡単な説明】
【図1】本発明の好ましい実施例に従ってスキャナがコ
ンピュータに接続されたハードウェア構成を示すブロッ
ク図である。
【図2】本発明の好ましい実施例に係わる同期装置によ
る方法のソフトウェアモジュールを示すブロック図であ
る。
【図3】本発明の好ましい実施例に係わるOCRエンジ
ンの出力を同期しかつ不整合を解明するための光学的文
字認識処理を示す流れ図である。
【図4】本発明の好ましい実施例に係わる同期している
が矛盾したOCRエンジン出力の間の不整合を解明する
ための処理を示すより詳細な流れ図である。
【図5】2つのOCRエンジンの間の差を解明するため
にニューラルネットワークによって学習される統計的モ
デルの例を示す説明図である。
【図6】本発明の好ましい実施例に係わる文字置き換え
エラーのために使用されるニューラルネットワークのト
ポロジーを示す説明図である。
【図7】本発明の好ましい実施例に係わる1:2(A1
B2)文字置き換えニューラルネットワークを示すブロ
ック図である。
【符号の説明】
10 ページ 12 スキャナ 14 コンピュータ 15 表示装置 16 OCRエンジン 18 ポストプロセッサ 20 コントローラ 22 同期ヒューリスティクス 24 解明ヒューリスティクス 26 ニューラルネットワーク

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の光学的文字認識エンジン(16)
    によって誤って認識された文字及び該文字の属性を識別
    及び解明するためにコンピュータプログラムの一部とし
    てコンピュータ(18)によって実行される方法であっ
    て、前記文字は異なるタイプの文字環境から発生し、前
    記コンピュータ(18)は複数の光学的文字認識(OC
    R)エンジン出力を受けるよう接続可能であり、前記方
    法は、 a)同期ヒューリスティクス(22)を使用することに
    より前記OCRエンジン出力における文字及び該文字の
    属性間の不整合を識別する段階、そして b)解明ヒューリスティクス(24)及びニューラルネ
    ットワーク(26)を使用することにより前記段階
    (a)において識別された前記不整合の各々を解明する
    段階、 を具備することを特徴とする複数の光学的文字認識エン
    ジン(16)によって誤って認識された文字及び前記文
    字の属性を識別及び解明する方法。
  2. 【請求項2】 複数の光学的文字認識エンジン(16)
    によって誤って認識された文字及び該文字の属性を識別
    及び解明するためにコンピュータプログラムの一部とし
    てコンピュータ(18)によって実行される方法であっ
    て、前記文字は異なるタイプの文字環境から発生し、前
    記コンピュータ(18)は複数の光学的文字認識(OC
    R)エンジン出力を受けるよう接続可能であり、前記方
    法は、 a)前記OCRエンジン出力を互いに同期して前記OC
    Rエンジン出力の間の整合及び不整合を検出する段階、 b)前記段階(a)において何らかの不整合が検出され
    れば前記不整合の各々を解明する段階、そして c)前記整合及び前記解明された不整合を出力する段
    階、 を具備することを特徴とする複数の光学的文字認識エン
    ジン(16)によって誤って認識された文字及び前記文
    字の属性を識別及び解明する方法。
  3. 【請求項3】 複数の文字リストからの文字を整合する
    ための同期方法であって、 a)前記文字リストの各々においてどれだけ多くの文字
    が整合しているかを規定するルックアヘッド文字の数を
    調整する段階、 b)前記文字リストの各々においてどれだけ多くの文字
    が無視されているかを規定する文字置き換え比率を調整
    する段階、 c)前記文字置き換え比率に基づき前記文字リストの各
    々においてある数の文字を無視する段階、 d)前記ルックアヘッド文字の数に基づき前記文字リス
    トの各々における前記無視された文字に続くある数の文
    字を比較する段階、そして e)もし前記文字リストの各々における前記ルックアヘ
    ッド文字の数が整合すれば文字置き換えエラーを識別す
    る段階、 を具備することを特徴とする複数の文字リストからの文
    字を整合するための同期方法。
  4. 【請求項4】 複数の光学的文字認識エンジン(16)
    によって誤って認識された文字及び該文字の属性を識別
    及び解明するためにコンピュータプログラムの一部とし
    てコンピュータ(18)によって実行される方法であっ
    て、前記文字は異なるタイプの文字環境から発生し、前
    記コンピュータ(18)はスキャナから走査されたイメ
    ージを受信するよう接続可能であり、前記方法は、 a)前記走査されたイメージに基づき複数の光学的文字
    認識(OCR)エンジン(18)によって複数の文字認
    識アルゴリズムを実行して対応する出力を生成する段
    階、 b)前記OCRエンジン出力の各々を対応する文字リス
    ト及び文字属性リストに変換する段階、 c)前記文字リストの各々を互いに比較する段階、 d)前記段階(c)における前記比較に基づき前記OC
    Rエンジン出力の間の整合及び不整合を識別する段階、 e)前記整合及び前記不整合に対する文字−属性リスト
    の間の不整合を識別する段階、 f)前記不整合を解明するために1つまたはそれ以上の
    解明ヒューリスティクス(24)を実行する段階、 g)前記1つまたはそれ以上の解明ヒューリスティクス
    (24)によって解明することができない前記不整合の
    内のいずれかを解明するために複数のニューラルネット
    ワーク(26)の1つを実行する段階、 h)前記OCRエンジン出力の内どれが最も信頼できる
    かを判定するために前記1つのニューラルネットワーク
    (26)の結果に基づき前記1つまたはそれ以上の解明
    ヒューリスティクス(24)を実行する段階、 i)前記整合及び前記解明された不整合を埋め込まれた
    マークアップを有するASCII文字ストリームに併合
    する段階、そして j)埋め込まれたマークアップを備えた前記ASCII
    文字ストリームを出力する段階、 を具備することを特徴とする複数の光学的文字認識エン
    ジン(16)によって誤って認識された文字及び該文字
    の属性を識別及び解明する方法。
JP5239189A 1992-09-02 1993-08-31 光学的文字認識システムによって出力される誤った文字を識別及び解明する方法 Pending JPH06215199A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US93924292A 1992-09-02 1992-09-02
US939,242 1992-09-02

Publications (1)

Publication Number Publication Date
JPH06215199A true JPH06215199A (ja) 1994-08-05

Family

ID=25472805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5239189A Pending JPH06215199A (ja) 1992-09-02 1993-08-31 光学的文字認識システムによって出力される誤った文字を識別及び解明する方法

Country Status (5)

Country Link
US (1) US5418864A (ja)
JP (1) JPH06215199A (ja)
CA (1) CA2100508A1 (ja)
GB (1) GB2270406B (ja)
TW (1) TW222337B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527516A (ja) * 2005-01-06 2008-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 販売時点ステーションにおける小切手コード・ライン認識のオンライン訂正
JP2020102166A (ja) * 2018-12-25 2020-07-02 キヤノン株式会社 画像処理システム、画像処理方法、プログラム、画像処理装置、情報処理装置

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651221B1 (en) * 1993-05-20 2003-11-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5535313A (en) * 1994-07-18 1996-07-09 Motorola, Inc. Automated quality control in a document conversion system
US6389178B1 (en) * 1994-07-28 2002-05-14 Lucent Technologies Inc. Method of downsampling documents
US5802205A (en) * 1994-09-09 1998-09-01 Motorola, Inc. Method and system for lexical processing
US5805747A (en) * 1994-10-04 1998-09-08 Science Applications International Corporation Apparatus and method for OCR character and confidence determination using multiple OCR devices
US5859925A (en) * 1995-08-08 1999-01-12 Apple Computer, Inc. Classifying system having a single neural network architecture for multiple input representations
US5815394A (en) * 1996-04-04 1998-09-29 The Ohio State University Research Foundation Method and apparatus for efficient design automation and optimization, and structure produced thereby
US5784487A (en) * 1996-05-23 1998-07-21 Xerox Corporation System for document layout analysis
US5881172A (en) * 1996-12-09 1999-03-09 Mitek Systems, Inc. Hierarchical character recognition system
US5966460A (en) * 1997-03-03 1999-10-12 Xerox Corporation On-line learning for neural net-based character recognition systems
US5889897A (en) * 1997-04-08 1999-03-30 International Patent Holdings Ltd. Methodology for OCR error checking through text image regeneration
CA2326901A1 (en) * 1998-04-01 1999-10-07 William Peterman System and method for searching electronic documents created with optical character recognition
US6377704B1 (en) 1998-04-30 2002-04-23 Xerox Corporation Method for inset detection in document layout analysis
JP4338155B2 (ja) * 1998-06-12 2009-10-07 キヤノン株式会社 画像処理装置及びその方法、コンピュータ可読メモリ
US6662180B1 (en) * 1999-05-12 2003-12-09 Matsushita Electric Industrial Co., Ltd. Method for searching in large databases of automatically recognized text
US7120302B1 (en) 2000-07-31 2006-10-10 Raf Technology, Inc. Method for improving the accuracy of character recognition processes
JP4421134B2 (ja) * 2001-04-18 2010-02-24 富士通株式会社 文書画像検索装置
US7095875B2 (en) * 2001-05-15 2006-08-22 Lockheed Martin Corporation Method and system for address result arbitration
US7035834B2 (en) * 2002-05-15 2006-04-25 Caterpillar Inc. Engine control system using a cascaded neural network
US7167587B2 (en) * 2002-08-30 2007-01-23 Lockheed Martin Corporation Sequential classifier for use in pattern recognition system
US7092567B2 (en) * 2002-11-04 2006-08-15 Matsushita Electric Industrial Co., Ltd. Post-processing system and method for correcting machine recognized text
FR2851357B1 (fr) * 2003-02-19 2005-04-22 Solystic Procede pour la reconnaissance optique d'envois postaux utilisant plusieurs images
US20050094861A1 (en) * 2003-10-31 2005-05-05 International Business Machines Corporation Positional synchronization in a multivoting character recognition environment
JP4297798B2 (ja) * 2004-01-29 2009-07-15 富士通株式会社 移動体情報管理プログラム
US7756871B2 (en) * 2004-10-13 2010-07-13 Hewlett-Packard Development Company, L.P. Article extraction
US7480403B2 (en) * 2004-11-16 2009-01-20 International Business Machines Corporation Apparatus, system, and method for fraud detection using multiple scan technologies
US8553968B1 (en) * 2005-02-18 2013-10-08 Western Digital Technologies, Inc. Using optical character recognition augmented by an error correction code to detect serial numbers written on a wafer
GB2425829A (en) * 2005-05-06 2006-11-08 Mv Res Ltd A classification system
JP2010157107A (ja) * 2008-12-26 2010-07-15 Hitachi Software Eng Co Ltd 業務文書処理装置
US8331739B1 (en) * 2009-01-21 2012-12-11 Google Inc. Efficient identification and correction of optical character recognition errors through learning in a multi-engine environment
US8718367B1 (en) * 2009-07-10 2014-05-06 Intuit Inc. Displaying automatically recognized text in proximity to a source image to assist comparibility
US8571270B2 (en) 2010-05-10 2013-10-29 Microsoft Corporation Segmentation of a word bitmap into individual characters or glyphs during an OCR process
US9147275B1 (en) 2012-11-19 2015-09-29 A9.Com, Inc. Approaches to text editing
US9043349B1 (en) * 2012-11-29 2015-05-26 A9.Com, Inc. Image-based character recognition
US9342930B1 (en) 2013-01-25 2016-05-17 A9.Com, Inc. Information aggregation for recognized locations
US9870520B1 (en) * 2013-08-02 2018-01-16 Intuit Inc. Iterative process for optimizing optical character recognition
US9305227B1 (en) * 2013-12-23 2016-04-05 Amazon Technologies, Inc. Hybrid optical character recognition
WO2015113635A1 (en) * 2014-01-31 2015-08-06 Longsand Limited Optical character recognition
US9430766B1 (en) 2014-12-09 2016-08-30 A9.Com, Inc. Gift card recognition using a camera
US9535918B1 (en) 2015-12-15 2017-01-03 International Business Machines Corporation Dynamically mapping zones
US10445569B1 (en) * 2016-08-30 2019-10-15 A9.Com, Inc. Combination of heterogeneous recognizer for image-based character recognition
US20190069957A1 (en) * 2017-09-06 2019-03-07 Verily Life Sciences Llc Surgical recognition system
CN112287936A (zh) * 2020-09-24 2021-01-29 深圳市智影医疗科技有限公司 光学字符识别测试方法、装置、可读存储介质及终端设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7004381A (ja) * 1970-03-26 1971-09-28
USRE31692E (en) * 1972-05-02 1984-10-02 Optical Recognition Systems, Inc. Combined magnetic optical character reader
US4058795A (en) * 1972-10-03 1977-11-15 International Business Machines Corporation Method and apparatus for context-aided recognition
US4032887A (en) * 1973-06-28 1977-06-28 International Business Machines Corporation Pattern-recognition systems having selectively alterable reject/substitution characteristics
IT1012135B (it) * 1973-06-28 1977-03-10 Ibm Sistema perfezionato per l iden tificazione di caratteri
US3839702A (en) * 1973-10-25 1974-10-01 Ibm Bayesian online numeric discriminant
US3988715A (en) * 1975-10-24 1976-10-26 International Business Machines Corporation Multi-channel recognition discriminator
US5054093A (en) * 1985-09-12 1991-10-01 Cooper Leon N Parallel, multi-unit, adaptive, nonlinear pattern class separator and identifier
US4876735A (en) * 1987-12-18 1989-10-24 International Business Machines Corporation Method and apparatus for character recognition systems
JP2553608B2 (ja) * 1988-01-04 1996-11-13 住友電気工業 株式会社 光学文字読取装置
JPH07104952B2 (ja) * 1989-12-28 1995-11-13 シャープ株式会社 パターンマッチング装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527516A (ja) * 2005-01-06 2008-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 販売時点ステーションにおける小切手コード・ライン認識のオンライン訂正
JP2020102166A (ja) * 2018-12-25 2020-07-02 キヤノン株式会社 画像処理システム、画像処理方法、プログラム、画像処理装置、情報処理装置

Also Published As

Publication number Publication date
US5418864A (en) 1995-05-23
GB2270406B (en) 1996-04-17
CA2100508A1 (en) 1994-03-03
GB9316585D0 (en) 1993-09-29
GB2270406A (en) 1994-03-09
TW222337B (ja) 1994-04-11

Similar Documents

Publication Publication Date Title
JPH06215199A (ja) 光学的文字認識システムによって出力される誤った文字を識別及び解明する方法
Bokser Omnidocument technologies
US3988715A (en) Multi-channel recognition discriminator
US6327386B1 (en) Key character extraction and lexicon reduction for cursive text recognition
US8489388B2 (en) Data detection
Sibun et al. Language determination: Natural language processing from scanned document images
CN113168498A (zh) 语言校正系统及其方法以及系统中的语言校正模型学习方法
EP1016033A1 (en) Automatic language identification system for multilingual optical character recognition
US7769235B2 (en) Text recognition method using a trainable classifier
Saluja et al. Error detection and corrections in Indic OCR using LSTMs
Pal et al. OCR error correction of an inflectional indian language using morphological parsing
Elms The representation and recognition of text using hidden Markov models
Spitz An OCR based on character shape codes and lexical information
Chaudhuri et al. OCR error detection and correction of an inflectional indian language script
Eskenazi et al. A study of the factors influencing OCR stability for hybrid security
JP4116688B2 (ja) 辞書学習方法および文字認識装置
Al-Barhamtoshy et al. Arabic OCR segmented-based system
JP2001022883A (ja) 文字認識方式及び該文字認識方式の機能を実現させるための記録媒体
Reddy et al. A connectionist expert system model for conflict resolution in unconstrained handwritten numeral recognition
Hochberg et al. Page segmentation using script identification vectors: A first look
JP2875678B2 (ja) 文字認識結果の後処理方法
TW202305582A (zh) 字串比對方法及系統
Hassibi Machine-printed Arabic OCR
JP2023002090A (ja) 情報処理システム、表示制御方法及びプログラム
JPH02292691A (ja) 文字認識装置