(57)【特許請求の範囲】
【請求項１】
帳票画像に含まれ、線分に囲まれた領域である枠に存在する文字行を抽出して、抽出した文字行を文字認識する帳票処理システムにおいて、
前記帳票処理システムは、前記文字行を抽出する対象となる複数の抽出対象枠に対応する文字列と、前記複数の抽出対象枠の配置関係と、を対応付けた枠構造辞書データを記憶し、
前記帳票画像から枠を抽出枠として抽出する枠抽出部と、
前記枠構造辞書データを参照し、前記枠抽出部によって抽出された前記抽出枠を前記抽出対象枠に対応付けた照合結果を算出する枠照合部と、
前記枠照合部によって算出された照合結果に対して、前記抽出対象枠に対応付けられた抽出枠に存在する文字行を抽出する文字行抽出部と、
前記枠照合部によって算出された各照合結果に対して、前記文字行抽出部によって抽出された文字行が抽出された抽出枠に対応する前記抽出対象枠の文字列に対する当該文字行の類似度を示す枠スコアを算出し、各照合結果に含まれる前記抽出対象枠に対応付けられた枠の枠スコアに基づいて、各照合結果のスコアである照合結果スコアを算出するスコア算出部と、
前記スコア算出部によって算出された照合結果スコアに基づいて、前記枠照合部によって算出された照合結果のうち、一の照合結果を抽出照合結果とすることを特徴とする帳票処理システム。
【請求項２】
前記枠抽出部は、前記帳票画像から格子点を抽出し、所定の格子点で囲まれる領域を前記抽出枠として抽出し、
前記枠照合部は、前記枠抽出部によって抽出された抽出枠の数が前記抽出対象枠の数より多い場合、複数の前記抽出枠を一つの前記抽出対象枠に対応付けた照合結果を算出することを特徴とする請求項１に記載の帳票処理システム。
【請求項３】
前記文字行抽出部は、
前記抽出された文字行と、当該文字行を抽出した抽出枠とを抽出済み文字行として記憶し、
前記文字行を抽出する対象となる抽出枠が前記抽出済み文字行として記憶されている場合、当該抽出枠から文字行を抽出しないことを特徴とする請求項１又は請求項２に記載の帳票処理システム。
【請求項４】
複数の文字が登録された文字データを記憶し、
前記スコア算出部は、
前記文字行抽出部によって抽出された文字行から文字らしい大きさの切出候補を抽出し、
前記文字データを参照し、前記切出候補に類似する文字を識別候補として抽出し、当該識別候補の前記切出候補に対する類似度を算出し、
前記文字行が抽出された抽出枠に対応する前記抽出対象枠の文字列を構成する文字と一致する識別候補を前記識別候補から抽出し、
前記抽出した識別候補の類似度に基づいて前記枠スコアを算出することを特徴とする請求項１から請求項３のいずれか一つに記載の帳票処理システム。
【請求項５】
前記スコア算出部は、
前記文字行が抽出された抽出枠に対応する前記抽出対象枠の文字列を構成する文字と一致する識別候補が存在しない場合、当該識別候補が存在しない切出候補の次の切出候補の識別候補が当該抽出対象枠の文字列を構成する文字の次の文字と一致するか否かを判定することを特徴とする請求項４に記載の帳票処理システム。
【請求項６】
前記スコア算出部は、前記枠スコアが所定値以上であれば、当該抽出枠を当該抽出枠に対応する抽出対象枠として認識することを特徴とする請求項５に記載の帳票処理システム。
【請求項７】
帳票処理システムが、帳票画像に含まれ、線分に囲まれた領域である枠に存在する文字行を抽出して、抽出した文字行を文字認識する帳票処理方法において、
前記帳票処理システムは、前記文字行を抽出する対象となる複数の抽出対象枠に対応する文字列と、前記複数の抽出対象枠の配置関係と、を対応付けた枠構造辞書データを記憶し、
前記方法は、
前記帳票画像から枠を抽出枠として抽出する枠抽出ステップと、
前記枠構造辞書データを参照し、前記枠抽出ステップで抽出された前記抽出枠を前記抽出対象枠に対応付けた照合結果を算出する枠照合ステップと、
前記枠照合ステップで算出された照合結果に対して、前記抽出対象枠に対応付けられた抽出枠に存在する文字行を抽出する文字行抽出ステップと、
前記枠照合ステップで算出された各照合結果に対して、前記文字行抽出ステップで抽出された文字行が抽出された抽出枠に対応する前記抽出対象枠の文字列に対する当該文字行の類似度を示す枠スコアを算出し、各照合結果に含まれる前記抽出対象枠に対応付けられた枠の枠スコアに基づいて、各照合結果のスコアである照合結果スコアを算出するスコア算出ステップと、
前記スコア算出ステップで算出された照合結果スコアに基づいて、前記枠照合ステップで算出された照合結果のうち、一の照合結果を抽出照合結果とするステップと、を含むことを特徴とする帳票処理方法。
【請求項８】
前記枠抽出ステップでは、前記帳票画像から格子点を抽出し、所定の格子点で囲まれる領域を前記抽出枠として抽出し、
前記枠照合ステップでは、前記枠抽出ステップで抽出された抽出枠の数が前記抽出対象枠の数より多い場合、複数の前記抽出枠を一つの前記抽出対象枠に対応付けた照合結果を算出することを特徴とする請求項７に記載の帳票処理方法。
【請求項９】
前記文字行抽出ステップでは、
前記抽出された文字行と、当該文字行を抽出した抽出枠とを抽出済み文字行として記憶し、
前記文字行を抽出する対象となる抽出枠が前記抽出済み文字行として記憶されている場合、当該抽出枠から文字行を抽出しないことを特徴とする請求項７又は請求項８に記載の帳票処理方法。
【請求項１０】
帳票処理システムは、複数の文字が登録された文字データを記憶し、
前記スコア算出ステップでは、
前記文字行抽出ステップで抽出された文字行から文字らしい大きさの切出候補を抽出し、
前記文字データを参照し、前記切出候補に類似する文字を識別候補として抽出し、当該識別候補の前記切出候補に対する類似度を算出し、
前記文字行が抽出された抽出枠に対応する前記抽出対象枠の文字列を構成する文字と一致する識別候補を前記識別候補から抽出し、
前記抽出した識別候補の類似度に基づいて前記枠スコアを算出することを特徴とする請求項７から請求項９のいずれか一つに記載の帳票処理方法。
【請求項１１】
前記スコア算出ステップでは、
前記文字行が抽出された抽出枠に対応する前記抽出対象枠の文字列を構成する文字と一致する識別候補が存在しない場合、当該識別候補が存在しない切出候補の次の切出候補の識別候補が当該抽出対象枠の文字列を構成する文字の次の文字と一致するか否かを判定することを特徴とする請求項１０に記載の帳票処理方法。
【請求項１２】
前記スコア算出ステップでは、前記枠スコアが所定値以上であれば、当該抽出枠を当該抽出枠に対応する抽出対象枠として認識することを特徴とする請求項１１に記載の帳票処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票画像を認識するための帳票処理システムに関し、特に、帳票画像に含まれる枠に存在する文字行を抽出して、抽出した文字行を文字認識する帳票処理システムに関する。
【背景技術】
【０００２】
まず、以下の説明で用いる語句を定義する。「枠」は、文書及び帳票において縦罫線と横罫線とによって囲まれた矩形領域として定義する。「表」は、連結した枠の集合であるとして定義する。「枠構造」は、表に含まれる枠の配置構造として定義する。
【０００３】
以下、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）が帳票から特定の項目を抽出する技術について説明する。
【０００４】
第１の従来技術として、帳票の表の構造が帳票認識装置に予め定義され、帳票認識装置が入力された帳票画像と予め定義された表の構造とを照合することによって、入力された帳票画像の枠の位置を自動的に検出する技術が知られている（例えば、特許文献１参照）。第１の従来技術では、表の構造が定型的な帳票において、帳票を入力する場合のひずみ、及び帳票の裁断誤差等に起因した帳票画像同士における枠の位置の相違を検出できる。また、第１の従来技術では、かすれ及びノイズが帳票画像に存在しても、かすれ及びノイズの影響を受けにくくできる。
【０００５】
第２の従来技術として、帳票の枠同士の配置関係を帳票書式情報として装置に予め記憶する技術が知られている（例えば、非特許文献１参照）。具体的には、当該装置は、帳票全体に対する枠同士の配置関係を予め記憶しておき、入力された帳票画像と帳票書式情報とを照合することによって、枠の位置及び枠の大きさが異なる帳票からも枠の位置を検出できる。
【０００６】
第３の従来技術として、帳票の部分領域の書式情報を予め記憶し、帳票上の表を部分領域に分割し、部分領域ごとに書式情報と照合し、書式情報のうち最も照合率が高いものを照合結果とする技術が知られている（例えば、特許文献２参照）。第３の従来技術では、枠の位置及び大きさ等が異なる帳票、並びに枠の配置が異なる帳票においても、最も照合率が高い書式情報から枠を特定できる。
【０００７】
第４の従来技術として、互いに隣接する枠候補及び離れている枠候補の組み合わせによって対象となる表を構成し出力する技術が知られている（例えば、特許文献３参照）。第４の従来技術では、枠の隣接関係及び位置関係に基づいて表を構成する最適な組み合わせを評価し、表を作成できる。
【０００８】
また、文字列照合を用いて入力された帳票画像から所望の項目を抽出する第５の技術として、項目名及びデータを予め文字列照合して、項目名候補の枠及びデータ候補の枠の配置関係並びに隣接関係等を評価することによって、各枠を抽出する方式がある（例えば、非特許文献２参照）。第５の技術では、帳票画像から抽出された文字行に対して項目名及びデータをそれぞれ予め設定された文字列辞書と照合し、項目名及びデータの仮説を生成し、すべての文字行に対する項目名とデータの仮説から枠の配置関係及び隣接関係等を評価し、項目名とデータとのセットを検出し、最も評価の高い組み合わせを項目として特定できる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−５３４６６号公報
【特許文献２】特開２００４−１３９４８４号公報
【特許文献３】特開２００７−２１３２５５号公報
【非特許文献】
【００１０】
【非特許文献１】駱琴、渡辺豊英、杉江昇、「多種帳票文書の構造認識」電子情報通信学会論文誌、１９９３年、Ｖｏｌ．Ｊ７６−Ｄ−ＩＩ、Ｎｏ．１０、ｐｐ．２１６５−２１７６
【非特許文献２】平山淳一、新庄広、高橋寿一、永崎健、「仮説検証型アプローチを用いた定義レス帳票認識技術」、ＦＩＴ２０１０、Ｈ−０１２
【発明の概要】
【発明が解決しようとする課題】
【００１１】
一般に、帳票の一部に特定の項目が順番に記入されている。このような帳票では、項目名の枠とデータの枠とが横並びで項目順に右に並んでいる場合、及び、項目名の枠とデータの枠とが縦並びで項目順に右に並んでいる場合等がある。
【００１２】
これらの枠の並びは単純な形であるため、第１〜第４の従来技術では、ノイズによる罫線が混入した場合、及び文字が枠線と接触した場合には、誤った罫線が抽出され、結果として項目が誤って抽出される可能性が高かった。
【００１３】
一方で、第５の従来技術では、項目名及びデータのそれぞれの文字列照合において、特に項目名の照合結果が不読である場合、特定の項目を抽出できないか、誤った項目を抽出してしまうという問題があった。また、項目名及びデータのそれぞれに仮説を生成し、組み合わせを評価することは、処理速度が遅いという問題もあった。
【００１４】
本発明の目的は、特定の項目が記入される帳票に対して、特定の項目のデータを抽出する精度を高めることである。
【課題を解決するための手段】
【００１５】
本発明の代表的な一例を示せば、帳票画像に含まれ、線分に囲まれた領域である枠に存在する文字行を抽出して、抽出した文字行を文字認識する帳票処理システムにおいて、前記帳票処理システムは、前記文字行を抽出する対象となる複数の抽出対象枠に対応する文字列と、前記複数の抽出対象枠の配置関係と、を対応付けた枠構造辞書データを記憶し、前記帳票画像から枠を抽出枠として抽出する枠抽出部と、前記枠構造辞書データを参照し、前記枠抽出部によって抽出された前記抽出枠を前記抽出対象枠に対応付けた照合結果を算出する枠照合部と、前記枠照合部によって算出された照合結果に対して、前記抽出対象枠に対応付けられた抽出枠に存在する文字行を抽出する文字行抽出部と、前記枠照合部によって算出された各照合結果に対して、前記文字行抽出部によって抽出された文字行が抽出された抽出枠に対応する前記抽出対象枠の文字列に対する当該文字行の類似度を示す枠スコアを算出し、各照合結果に含まれる前記抽出対象枠に対応付けられた枠の枠スコアに基づいて、各照合結果のスコアである照合結果スコアを算出するスコア算出部と、前記スコア算出部によって算出された照合結果スコアに基づいて、前記枠照合部によって算出された照合結果のうち、一の照合結果を抽出照合結果とすることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、特定の項目が記入される帳票に対して、特定の項目のデータを抽出する精度を高めることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態の帳票処理システムの構成図である。
【図２】本発明の実施形態の帳票処理のＰＡＤ図である。
【図３】本発明の実施形態の処理対象となる帳票の説明図である。
【図４】本発明の実施形態の各格子点における罫線の交差形状に応じて付加する符号（交点符号）の説明図である。
【図５】本発明の実施形態の入力帳票を格子点情報に変換した場合の説明図である。
【図６Ａ】本発明の実施形態の枠構造辞書の説明図である。
【図６Ｂ】本発明の実施形態の第１座標の説明図である。
【図６Ｃ】本発明の実施形態の第２座標の説明図である。
【図７】本発明の実施形態の枠構造照合処理のＰＡＤ図である。
【図８】本発明の実施形態の照合処理のＰＡＤ図である。
【図９】本発明の実施形態の格子点ＤＰマッチングの組み合わせ結果の例の説明図である。
【図１０】本発明の実施形態の文字行抽出処理のＰＡＤ図である。
【図１１】本発明の実施形態の文字行抽出処理によって抽出された文字行の一例の説明図である。
【図１２】本発明の実施形態の取得対象となる領域の説明図である。
【図１３】本発明の実施形態の接触文字を含む入力帳票を格子点情報に変換した場合の説明図である。
【図１４Ａ】本発明の実施形態の格子点ＤＰマッチングの組み合わせ結果の例の説明図である。
【図１４Ｂ】本発明の実施形態の格子点ＤＰマッチングの組み合わせ結果の例の説明図である。
【図１４Ｃ】本発明の実施形態の格子点ＤＰマッチングの組み合わせ結果の例の説明図である。
【図１５】本発明の実施形態の文字行抽出処理によって抽出された文字行の一例の説明図である。
【図１６】本発明の実施形態の候補文字ネットワークの説明図である。
【図１７】本発明の実施形態の特定項目文字列照合処理のＰＡＤ図である。
【図１８】本発明の実施形態の複数行の文字行の候補文字ネットワークを連結する処理の説明図である。
【図１９】本発明の実施形態の候補文字ネットワークと枠構造辞書の文字列情報とを照合する処理の説明図である。
【図２０】本発明の実施形態の特定項目文字列照合結果の説明図である。
【図２１】本発明の実施形態の特定項目文字列照合の説明図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態を図１〜図２１を用いて説明する。なお、本発明は、以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１９】
図１は、本発明の実施形態の帳票処理システムの構成図である。
【００２０】
帳票処理システムは、帳票処理用計算機１００によって構成される。
【００２１】
帳票処理用計算機１００は、画像入力部１０３、入力部１０５、出力部１０６、通信部１０７、制御部１０８、補助記憶部１０９、記憶部１１０、及び外部補助記憶部１１１を備える。これらは、内部バス１１２を介して互いに接続される。
【００２２】
画像入力部１０３には、スキャナ１０２によって読み取られた帳票画像が入力される。画像入力部１０３には、スキャナ１０２を介さずネットワーク等を介して帳票画像が電子データ１０４として入力されてもよい。
【００２３】
入力部１０５はユーザによる入力を受け付ける。例えば、入力部１０５はキーボード及びマウス等である。出力部１０６は帳票処理の結果を出力する。例えば、出力部１０６はディスプレイ及びプリンタ等である。通信部１０７は、外部ネットワーク１１３に接続されるインタフェースである。帳票処理の結果は、外部ネットワーク１１３に接続された外部サーバ１１４に出力されてもよい。
【００２４】
制御部１０８は帳票処理用計算機１００の制御に関する各種処理を実行し、例えば、ＣＰＵ等である。
【００２５】
補助記憶部１０９は、帳票処理用計算機１００の内部に備わる記憶部１１０以外の記憶部であり、例えばＨＤＤである。記憶部１１０は、制御部１０８が直接アクセスできる記憶部であり、例えばメモリである。外部補助記憶部１１１は、補助記憶部１０９の一種であり、帳票処理用計算機１００の外部に備わる記憶部である。例えば、外部補助記憶部１１１は、ＣＤ−Ｒ、及びＤＶＤ−Ｒ等である。
【００２６】
帳票処理に関するプログラム（帳票処理プログラム）を含む各種プログラムは、補助記憶部１０９又は外部補助記憶部１１１に記憶され、制御部１０８が各種プログラムに実行する場合に記憶部１１０にロードされる。制御部１０８は、記憶部１１０にロードされたプログラムを実行する。
【００２７】
また、制御部１０８は、画像入力部１０３に入力された帳票画像を内部バス１１２を介して記憶部１１０、補助記憶部１０９、及び外部補助記憶部１１１等に記憶する。
【００２８】
なお、帳票処理用計算機１００は、画像入力部１０３、制御部１０８、及び記憶部１１０を少なくとも備えていればよく、他の部は備えなくてもよい。
【００２９】
次に、帳票処理の概要について図２を用いて説明する。
【００３０】
図２は、本発明の実施形態の帳票処理のＰＡＤ図である。
【００３１】
制御部１０８が帳票処理プログラムを実行することによって、図２に示す帳票処理が実行される。
【００３２】
帳票処理とは、帳票処理用計算機１００に入力された帳票画像から取得対象となる項目名と、当該項目名に対応するデータとを取得する処理である。
【００３３】
制御部１０８は、画像入力部１０３に帳票画像が入力されたことを検出する（２０１）。
【００３４】
次に、制御部１０８は、ステップ２０１の処理で入力が検出された帳票画像から枠を抽出する（２０２）。ステップ２０２の処理は、図４及び図５で詳細を説明する。なお、ステップ２０２の処理は、帳票処理用計算機１００における枠抽出部として機能する。
【００３５】
次に、制御部１０８は、ステップ２０１の処理で入力が検出された帳票画像の種類が取得対象となる帳票の種類であるか否かを判定する（２０３）。ステップ２０３の処理の具体的な一例を示せば、制御部１０８は、取得対象となる帳票の種類を示すマークが入力された帳票画像に存在するか否かを判定する。
【００３６】
なお、図２では、ステップ２０３の処理がステップ２０２の処理の後に実行されることを示したが、ステップ２０３の処理は、ステップ２０２の処理の前、すなわち、ステップ２０１の処理とステップ２０２の処理との間に実行されてもよい。
【００３７】
ステップ２０３の処理で、入力された帳票画像が取得対象の帳票の種類であると判定された場合、制御部１０８は、ステップ２０２の処理で抽出された枠と、枠構造辞書６００（図６Ａ〜図６Ｃ参照）とを照合する枠構造照合処理を実行する（２０４）。枠構造処理は、ステップ２０２の処理で抽出された枠を、枠構造辞書６００に登録された枠に対応付けた照合結果を算出する処理である。なお、ステップ２０４の処理は、帳票処理用計算機１００における枠照合部として機能する。
【００３８】
ステップ２０２の処理で抽出された枠の数が枠構造辞書に登録された枠の数より少ない場合、照合結果が算出されない。なお、枠構造処理の詳細は図７及び図８で説明する。
【００３９】
次に、制御部１０８は、ステップ２０４の処理で照合結果が算出されたか否かを判定する（２０５）。
【００４０】
ステップ２０４の処理で照合結果が算出されたとステップ２０５の処理で判定された場合、制御部１０８は、照合結果において、枠構造辞書６００に登録された枠に対応付けられた枠に存在する文字行を抽出する（２０６）。文字行とは、枠内に存在する文字の集合体である。なお、ステップ２０６の処理は、図１０で詳細を説明する。ステップ２０６の処理は、帳票処理用計算機１００における文字行抽出部として機能する。
【００４１】
次に、制御部１０８は、ステップ２０６の処理で抽出された文字行から文字らしい大きさの図形を文字パタン候補として切り出す（２０７）。ステップ２０７の処理では、例えば、漢字の偏を構成する図形と旁を構成する図形とを分離してもよいし、つぶれによる線同士の接触及びかすれによる線の分離を考慮して図形を切り出してもよい。ステップ２０７の処理における図形の切り出し方法は一意に定めず、複数の切り出し方法によって文字パタン候補を切り出す。なお、制御部１０８は、ステップ２０７の処理で切り出された文字パタン候補を候補文字ネットワーク形式（図１６参照）で記憶部１１０に記憶する。
【００４２】
次に、制御部１０８は、記憶部１１０に記憶され、複数の文字が登録された図示しない文字データを参照し、ステップ２０７の処理で切り出された文字パタン候補と類似する文字と、文字パタン候補の各文字に対する類似度とを算出する文字識別処理を実行する（２０８）。文字識別処理は図１９で詳細を説明する。
【００４３】
次に、制御部１０８は、ステップ２０８の処理で文字識別処理を実行した枠に対応付けられた枠構造辞書６００に登録された枠の文字列情報と、ステップ２０８の処理で文字識別処理が実行された結果とを照合する特定項目文字列照合処理を実行する（２０９）。特定項目文字列照合処理では、制御部１０８は、ステップ２０８の処理で文字識別処理が実行された結果の識別候補から、当該文字識別処理が実行された枠に対応する枠構造辞書６００に登録された枠の文字列情報を構成する文字と一致する識別候補を選択する。そして、制御部１０８は、抽出された文字行の選択した識別候補の類似度に基づいて、当該文字行を抽出した枠の枠スコアを算出する。そして、制御部１０８は、算出した枠スコアに基づいて照合結果の枠構造辞書６００に対する類似度を示す照合結果スコアを算出し、算出した照合結果スコアが最大の照合結果を選択する。
【００４４】
なお、特定項目文字列照合処理は、図１７で詳細を説明する。
【００４５】
照合結果スコアを算出するために実行されるステップ２０７〜２０９の処理は、帳票処理用計算機１００におけるスコア算出部として機能する。
【００４６】
次に、制御部１０８は、ステップ２０９の処理で選択された照合結果の照合結果スコアが閾値以上であるか否かを判定する（２１０）。
【００４７】
ステップ２０９の処理で選択された照合結果の照合結果スコアが閾値以上であると、ステップ２１０の処理で判定された場合、制御部１０８は、当該照合結果のステップ２０９の処理で選択された文字から構成される文字列を出力し、帳票処理を終了する。
【００４８】
入力された帳票画像が取得対象の帳票の種類でないとステップ２０３の処理で判定された場合、ステップ２０４の処理で照合結果が算出されていないとステップ２０５の処理で判定された場合、ステップ２０９の処理で選択された照合結果の照合結果スコアが閾値より小さいとステップ２１０の処理で判定された場合、制御部１０８は、入力された帳票画像の全領域又は指定された領域から枠構造辞書６００に登録された項目名と一致する文字列を抽出し、当該抽出した項目名に対応するデータを抽出する（２１３）。
【００４９】
そして、制御部１０８は、ステップ２１３の処理で抽出した項目名及びデータを出力し（２１３）、帳票処理を終了する。
【００５０】
本実施形態によれば、ステップ２０４の処理で抽出されたすべての照合結果に対して、枠構造辞書６００に登録された文字列情報を用いて照合結果スコアを算出し、照合結果スコアが最大の照合結果を選択する。
【００５１】
これによって、罫線が少ない帳票から、取得対象の項目名及びデータを正確に取得できるようになる。
【００５２】
図３は、本発明の実施形態の処理対象となる帳票３０１の説明図である。
【００５３】
図３に示す帳票３０１の点線で囲まれた領域３０２に存在する表に、取得対象となる枠３０３が存在する。
【００５４】
取得対象となる枠３０３とは、図６に示す枠構造辞書で項目名６００と当該項目名に対応するデータとが登録された枠である。
【００５５】
本実施形態では、項目名が「収納機関番号」、「お客様番号」、及び「確認番号」である枠、並びこれらの項目名に対応するデータの枠が取得対象となる枠である。
【００５６】
図４は、本発明の実施形態の各格子点における罫線の交差形状に応じて付加する符号（交点符号）の説明図である。
【００５７】
交点符号０は、罫線がないことを表す。交点符号１から４は、罫線の端点を表す。交点符号５と６は、罫線の一部分であることを表す。交点符号７から１０は、２本の罫線がＬ字型に交差した交点を表す。交点符号１１から１４は、２本の罫線がＴ字型に交差した交点を表す。交点符号１５は、２本の罫線が十字型に交差した交点を表す。
【００５８】
図５は、本発明の実施形態の入力帳票を格子点情報に変換した場合の説明図である。
【００５９】
直交する罫線の交点座標は、該当する格子点の座標値から獲得することができる。平行する２本の縦罫線間の距離は、罫線が存在する格子点の列間の距離から算出できる。
【００６０】
帳票上の枠は、枠の四隅に相当する格子点（格子点符号７〜１５）の組合せにより表現することができる。このため、ステップ２０２の処理では、帳票画像が変換された格子点情報から格子点符号７〜１５のいずれかによって囲まれる矩形を枠として抽出する。
【００６１】
なお，格子点情報を作成するための実線の抽出方式の例としては特開平１１−２３２３８２号公報に，点線の抽出方式の例としては特開平０９−３１９８２４号公報に開示されている。
【００６２】
次に、枠構造辞書について、図６Ａ〜図６Ｃを用いて説明する。
【００６３】
図６Ａは、本発明の実施形態の枠構造辞書６００の説明図である。
【００６４】
枠構造辞書６００には、取得対象となる枠に関するデータが登録される。
【００６５】
具体的には、枠構造辞書６００は、項目ＩＤ６０１、項目６０２、属性６０３、文字列定義６０４、第１座標６０５、及び第２座標６０６を含む。
【００６６】
項目ＩＤ６０１には、取得対象となる各枠の一意な識別子が登録される。項目６０２には、取得対象となる枠の名称が登録される。属性６０３には、取得対象となる枠が項目であるかデータ枠であるかを特定するためのデータが登録される。
【００６７】
文字列定義６０４には、取得対象となる枠に存在する文字列に関する情報が登録される。第１座標６０５には、第１座標（図６Ｂ参照）に存在する枠の四隅の座標が登録される。第２座標６０６には、第２座標（図６Ｃ参照）に存在する枠の四隅の座標が登録される。第１座標６０５及び第２座標６０６に登録された座標を、取得対象となる枠の配置関係という。
【００６８】
換言すれば、第１座標６０５及び第２座標６０６は、それぞれ、取得対象の項目の枠構造を示す。本実施形態では、二つの枠構造が枠構造辞書６００に登録されているが、枠構造辞書６００に登録される枠構造の数はこれに限られない。
【００６９】
さらに、第１座標６０５及び第２座標６０６には、図６Ａでは図示しないが、図６Ｂに示す格子点情報６１２及び図６Ｃに示す格子点情報６２２が登録される。
【００７０】
図６Ｂは、本発明の実施形態の第１座標６０５の説明図である。
【００７１】
第１座標６０５は、項目名の枠と当該項目名に対応するデータの枠とが左右方向に配列される場合の座標である。
【００７２】
図６Ｂの帳票６１１では、項目６０２に登録された「収納機関番号」、「お客様番号」、及び「確認番号」の項目名枠及びデータ枠が左から順に並んでいる。
【００７３】
このため、図６Ａに示す「収納機関番号」の項目名の第１座標６０５には、「収納機関番号」の項目名枠の四隅に対応する図６Ｂの格子点情報６１２上の座標(０，０)、（０，１）、（１，１）、（１，０）が登録される。
【００７４】
また、図６Ａに示す「収納機関番号」のデータの第１座標６０５には、「収納機関番号」のデータ枠の四隅に対応する図６Ｂの格子点情報６１２上の座標(１，０)、（１，１）、（２，１）、（２，０）が登録される。
【００７５】
また、図６Ａに示す「お客様番号」の項目名の第１座標６０５には、「お客様番号」の項目名枠の四隅に対応する図６Ｂの格子点情報６１２上の座標(２，０)、（２，１）、（３，１）、（３，０）が登録される。
【００７６】
また、図６Ａに示す「お客様番号」のデータの第１座標６０５には、「お客様番号」のデータ枠の四隅に対応する図６Ｂの格子点情報６１２上の座標(３，０)、（３，１）、（４，１）、（４，０）が登録される。
【００７７】
また、図６Ａに示す「確認番号」の項目名の第１座標６０５には、「確認番号」の項目名枠の四隅に対応する図６Ｂの格子点情報６１２上の座標(４，０)、（４，１）、（５，１）、（５，０）が登録される。
【００７８】
また、図６Ａに示す「確認番号」のデータの第１座標６０５には、「確認番号」のデータ枠の四隅に対応する図６Ｂの格子点情報６１２上の座標(５，０)、（５，１）、（６，１）、（６，０）が登録される。
【００７９】
図６Ｃは、本発明の実施形態の第２座標６０６の説明図である。
【００８０】
第２座標６０６は、項目名の枠と当該項目名に対応するデータの枠とが上下方向に配列される場合の座標である。
【００８１】
図６Ｃの帳票６２１では、項目６０２に登録された「収納機関番号」、「お客様番号」、及び「確認番号」の項目名枠が左から順に並び、項目名枠に対応するデータ枠が、項目名枠の下方に並ぶ。
【００８２】
このため、図６Ａに示す「収納機関番号」の項目名の第２座標６０６には、「収納機関番号」の項目名枠の四隅に対応する図６Ｃの格子点情報６２２上の座標(０，０)、（０，１）、（１，１）、（１，０）が登録される。
【００８３】
また、図６Ａに示す「収納機関番号」のデータの第２座標６０６には、「収納機関番号」のデータ枠の四隅に対応する図６Ｃの格子点情報６２２上の座標(０，１)、（０，２）、（１，２）、（１，１）が登録される。
【００８４】
また、図６Ａに示す「お客様番号」の項目名の第２座標６０６には、「お客様番号」の項目名枠の四隅に対応する図６Ｃの格子点情報６２２上の座標(１，０)、（１，１）、（２，１）、（２，０）が登録される。
【００８５】
また、図６Ａに示す「お客様番号」のデータの第２座標６０６には、「お客様番号」のデータ枠の四隅に対応する図６Ｃの格子点情報６２２上の座標(１，１)、（１，２）、（２，２）、（２，１）が登録される。
【００８６】
また、図６Ａに示す「確認番号」の項目名の第２座標６０６には、「確認番号」の項目名枠の四隅に対応する図６Ｃの格子点情報６２２上の座標(２，０)、（２，１）、（３，１）、（３，０）が登録される。
【００８７】
また、図６Ａに示す「確認番号」のデータの第２座標６０６には、「確認番号」のデータ枠の四隅に対応する図６Ｃの格子点情報６２２上の座標(２，１)、（２，２）、（３，２）、（３，１）が登録される。
【００８８】
以上によって、帳票処理用計算機１００は、枠構造辞書６００を参照することによって取得対象となる枠の配置関係を把握できる。
【００８９】
図７は、本発明の実施形態の枠構造照合処理のＰＡＤ図である。
【００９０】
枠構造照合処理は、図２に示すステップ２０４の処理で実行される。
【００９１】
まず、制御部１０８は、枠構造辞書６００に登録された枠構造の数だけ、ステップ７０２の処理以降の処理を繰り返す（７０１）。例えば、図６Ａに示す枠構造辞書６００では、第１座標６０５及び第２座標６０６に対してステップ７０２以降の処理が繰り返し実行される。なお、ステップ７０１の処理では、ステップ７０２以降の処理で処理の対象となる一つの枠構造が選択される。
【００９２】
次に、制御部１０８は、ステップ７０１の処理で選択された枠構造に対応して、入力された帳票画像から取得対象となる領域を選択し、選択した取得対象となる領域を格子点情報に変換する（７０２）。取得対象となる領域とは、図３に示す点線で囲まれた領域３０２である。また、変換後の格子点情報は例えば図５に示す格子点情報である。
【００９３】
ステップ７０２の処理を具体的に説明する。
【００９４】
図６Ａに示す枠構造辞書６００では図示していないが、枠構造辞書６００では、枠構造（第１座標６０５及び第２座標６０６）に対応して、ステッ７０２の処理で選択されるべき領域の帳票画像内における座標（選択座標）が登録されている。
【００９５】
制御部１０８は、ステップ７０１で選択した枠構造に対応する選択座標を参照し、当該選択座標によって指定される領域を取得対象となる領域として選択する。
【００９６】
次に、制御部１０８は、ステップ７０２の処理で変換した格子点情報の各行の格子点情報と、枠構造辞書６００の処理対象となる枠構造の格子点情報とを対応付ける照合処理を実行する（７０３）。照合処理の詳細は、図８で詳細を説明する。
【００９７】
次に、制御部１０８は、ステップ７０３の処理で実行した照合処理の照合結果があるか否かを判定する（７０４）。
【００９８】
ステップ７０４の処理で、照合処理の照合結果があると判定された場合、照合結果を記憶部１１０に記憶し（７０５）、図２に示すステップ２０５の処理に処理を移行する。
【００９９】
一方、ステップ７０４の処理で、照合処理の照合結果がないと判定された場合、図２に示すステップ２０５の処理に処理を移行する。
【０１００】
図８は、本発明の実施形態の照合処理のＰＡＤ図である。
【０１０１】
照合処理は、図７に示すステップ７０３の処理で実行される。
【０１０２】
まず、制御部１０８は、枠構造辞書６００の処理対象の枠構造の行数分、ステップ８０２及び８０３の処理を繰り返し実行する（８０１）。ステップ８０１の処理で、制御部１０８は、枠構造辞書６００の処理対象の枠構造の行から、ステップ８０２及び８０３の処理の処理対象となる行を選択する。
【０１０３】
そして、制御部１０８は、図７に示すステップ７０２の処理で変換された格子点情報の行数分、ステップ８０３の処理を繰り返し実行する（８０２）。ステップ８０２の処理で、制御部１０８は、ステップ７０２の処理で変換された格子点情報の行から、ステップ８０３の処理の処理対象となる行を選択する。
【０１０４】
次に、制御部１０８は、ステップ８０１の処理で選択した枠構造辞書６００の処理対象となる行、及び、ステップ８０２の処理で選択した格子点情報の処理対象となる行に対して、格子点ＤＰマッチングを実行する（８０３）。
【０１０５】
格子点ＤＰマッチングは、ステップ８０２の処理で選択した格子点情報の処理対象となる行を構成する格子点（帳票格子点）のうち、ステップ８０１の処理で選択した枠構造辞書６００の処理対象となる行を構成する格子点（辞書格子点）に対応する格子点を、音声認識等に利用されている動的計画法（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ）を用いて探索する処理である。この格子点ＤＰマッチングの詳細は、特開２００４−１３９４８４号公報に記載されている。また、動的計画法の原理については、Ｔ．コルメン、Ｃ．ライザーソン，Ｒ．リベスト共著、「アルゴリズムイントロダクション」第２巻、Ｐ５〜２９、近代科学社、１９９５年出版をはじめ，さまざまな文献において解説されている。なお、格子点ＤＰマッチングの詳細は図８の説明の直後に説明する。
【０１０６】
次に、制御部１０８は、格子点ＤＰマッチングの実行結果（枠構造照合結果）が存在するか否かを判定する（８０４）。
【０１０７】
ステップ８０４の処理で、格子点ＤＰマッチングの実行結果が存在すると判定された場合、制御部１０８は、当該格子点ＤＰマッチングの実行結果のスコアが閾値以上であるか否かを判定する（８０５）。
【０１０８】
ステップ８０５の処理で、格子点ＤＰマッチングの実行結果のスコアが閾値以上であると判定された場合、制御部１０８は、当該格子点ＤＰマッチングの実行結果を照合結果として返す（８０６）。
【０１０９】
一方、格子点ＤＰマッチングの実行結果が存在しないと判定された場合、又は、格子点ＤＰマッチングの実行結果のスコアが閾値未満であると判定された場合、制御部１０８は、照合結果がないという結果を返す（８０７）。
【０１１０】
格子点ＤＰマッチングは、上述したように、帳票格子点から辞書格子点に対応する格子点を探索する処理である。ここで、帳票格子点が辞書格子点に対応するとは、帳票格子点と辞書格子点とが同じ格子点である場合、及び、辞書格子点を構成するすべての線分が帳票格子点に含まれる場合をいう。
【０１１１】
辞書格子点のすべての線分が帳票格子点に含まれる場合とは、例えば、辞書格子点が図４に示す交点符号７であれば、帳票格子点が図４に示す交点符号１１、１３、及び１５である場合をいう。
【０１１２】
以下、格子点ＤＰマッチングの処理手順について説明する。
【０１１３】
制御部１０８は、帳票格子点のＸ座標が０の格子点を処理対象の格子点（処理対象帳票格子点）として選択し、辞書格子点のＸ座標が０の格子点を処理対象の格子点（処理対象辞書格子点）として選択する。
【０１１４】
次に、制御部１０８は、処理対象帳票格子点が処理対象辞書格子点に対応するか否かを判定する。
【０１１５】
処理対象帳票格子点が処理対象辞書格子点に対応すると判定された場合、制御部１０８は、以下の第１〜第４条件によって処理を分岐させる。
【０１１６】
第１条件は、処理対象帳票格子点及び処理対象辞書格子点が最後の格子点でないという条件である。ここで、処理対象帳票格子点及び処理対象辞書格子点の最後の格子点とは、処理対象帳票格子点及び処理対象辞書格子点のＸ座標をインクリメントした座標に格子点が存在しない処理対象帳票格子点及び処理対象辞書格子点をいう。
【０１１７】
第１条件が成立する場合、制御部１０８は、処理対象帳票格子点及び処理対象辞書格子点を次の格子点に移動させる。具体的には、制御部１０８は、処理対象帳票格子点となっている格子点のＸ座標をインクリメントした座標にある格子点を新たな処理対象帳票格子点として選択し、処理対象辞書格子点となっている格子点のＸ座標をインクリメントした座標にある格子点を新たな処理対象辞書格子点として選択する。
【０１１８】
第２条件は、処理対象帳票格子点及び処理対象辞書格子点が最後の格子点であるという条件である。第２条件が成立した場合、帳票格子点と辞書格子点とが一対一で対応する関係である。
【０１１９】
そして、現在処理対象となっているステップ７０２の処理で変換された格子点情報の行の次の行を構成する帳票格子点、及び、現在処理対象となっている枠構造辞書６００の処理対象の枠構造の行の次の行を構成する辞書格子点でも、第２条件が成立すれば、２行の帳票格子点で区画される枠及び２行の辞書格子点で区画される枠が、一対一の関係で対応しており、図９（Ａ）及び（Ｂ）のような対応関係となる。この場合、制御部１０８は、この対応関係を組み合わせ結果として保持する。
【０１２０】
なお、本発明では、現在処理対象となっている行を構成する帳票格子点及び辞書格子点である条件が成立すれば、現在処理対象となっている行の次の行を構成する帳票格子点及び辞書格子点でも同じ条件が成立ものとする。現在処理対象となっている行を構成する帳票格子点及び辞書格子点で成立する条件と、現在処理対象となっている行の次の行を構成する帳票格子点及び辞書格子点で成立する条件とが異なる場合、制御部１０８は、これらの対応関係を組み合わせ結果として保持しない。
【０１２１】
第３条件は、処理対象帳票格子点が最後の格子点でなく、処理対象辞書格子点が最後の格子点であるという条件である。第３条件が成立した場合、図１３及び図１４に示すように、帳票格子点の数が辞書格子点の数よりも多く、つまり、入力された帳票の枠が枠構造辞書６００の枠構造に登録された枠の数よりも多く、帳票画像に含まれる文字等を罫線として誤って認識した可能性があるので、制御部１０８は、帳票格子点と辞書格子点との対応付けのすべての組み合わせを算出する強制対応処理を実行し、強制対応処理の実行結果を組み合わせ結果として保持する。強制対応処理の詳細は、図１４Ａ〜図１４Ｃで詳細を説明する。
【０１２２】
第４条件は、処理対象帳票格子点が最後の格子点であり、処理対象辞書格子点が最後の格子点でないという条件である。第４条件が成立した場合、帳票格子点の数が辞書格子点の数より少なく、帳票格子点によって構成される帳票画像の行が、辞書格子点によって構成される枠構造辞書６００の枠構造の行と対応しないものである。このため、制御部１０８は、組み合わせ結果を保持しない。
【０１２３】
処理対象帳票格子点が処理対象格子点に対応しないと判定された場合、制御部１０８は、以下の第５〜第７条件によって処理を分岐させる。
【０１２４】
第５条件は、処理対象帳票格子点が最後の格子点でないという条件である。第５条件が成立する場合、制御部１０８は、処理対象帳票格子点を次の格子点に移動させる。
【０１２５】
第６条件は、処理対象帳票格子点が最後の格子点であり、処理対象辞書格子点が最後の格子点であるという条件である。第６条件が成立した場合、制御部１０８は、第２条件が成立した場合と同様に、この対応関係を組み合わせ結果として保持する。
【０１２６】
第７条件は、処理対象帳票格子点が最後の格子点であり、処理対象辞書格子点が最後の格子点でないという条件である。第７条件が成立した場合、第４条件と同様に、帳票格子点によって構成される帳票画像の行が、辞書格子点によって構成される枠構造辞書６００の枠構造の行と対応しないものであるため、制御部１０８は、組み合わせ結果を保持しない。
【０１２７】
以上のように、格子点ＤＰマッチングでは、帳票格子点と辞書格子点とを対応付け、帳票画像の枠と枠構造辞書の枠構造の枠とを対応付ける処理が実行される。
【０１２８】
図９は、本発明の実施形態の格子点ＤＰマッチングの組み合わせ結果の例の説明図である。
【０１２９】
図９（Ａ）を説明する前に、ステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の０行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の０行目である場合を例に、格子点ＤＰマッチングについて説明する。
【０１３０】
まず、制御部１０８は、格子点情報６１２のＸ座標が０の辞書格子点（図４に示す交点符号７の格子点）を処理対象辞書格子点として選択し、格子点情報５０１のＸ座標が０の帳票格子点（図４に示す交点符号７の格子点）を処理対象帳票格子点として選択する。そして、制御部１０８は、処理対象帳票格子点と処理対象辞書格子点とが同じであるので、処理対象帳票格子点は処理対象辞書格子点に対応する。この場合、処理対象帳票格子点及び処理対象辞書格子点は最後の格子点でないので、第１条件が成立する。そして、制御部１０８は、格子点情報６１２のＸ座標が１の辞書格子点（図４に示す交点符号１３の格子点）を新たな処理対象辞書格子点として選択し、格子点情報５０２のＸ座標が１の帳票格子点（図４に示す交点符号５）を新たな処理対象帳票格子点として選択する。
【０１３１】
次に、制御部１０８は、処理対象帳票格子点は処理対象辞書格子点に対応しないと判定する。これは、図４を参照するに、交点符号５の格子点（処理対象帳票格子点）は、交点符号１３の格子点（処理対象辞書格子点）のすべての線分を含まないためである。また、処理対象帳票格子点は最後の格子点でないので、第５条件が成立する。このため、格子点情報５０２のＸ座標が２の帳票格子点（図４に示す交点符号５）を新たな処理対象帳票格子点として選択する。
【０１３２】
このように、制御部１０８が格子点ＤＰマッチングを実行していくことによって、Ｘ座標１の辞書格子点とＸ座標３の帳票格子点とが対応付けられ、Ｘ座標２の辞書格子点とＸ座標７の帳票格子点とが対応付けられ、Ｘ座標３の辞書格子点とＸ座標９の帳票格子点とが対応付けられ、Ｘ座標４の辞書格子点とＸ座標１４の帳票格子点とが対応付けられる。
【０１３３】
ここで、Ｘ座標４の辞書格子点とＸ座標１４の帳票格子点とが対応すると判定された場合、処理対象帳票格子点が最後の格子点であり、処理対象辞書格子点が最後の格子点でないので、第４条件が成立し、帳票格子点によって構成される帳票画像の０行が、辞書格子点によって構成される枠構造辞書６００の枠構造の０行と対応しないものと判定される。
【０１３４】
なお、ステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の１行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の１行目である場合も、上述した通りに判定される。
【０１３５】
このため、枠構造辞書６００の格子点情報６１２の０行目と１行目との間の枠、及び帳票画像の格子点情報５０１の０行目と１行目との間の枠は対応しない。
【０１３６】
次に、図９（Ａ）について説明する。
【０１３７】
図９（Ａ）では、ステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の０行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の１行目である場合を例に、格子点ＤＰマッチングについて説明する。
【０１３８】
格子点ＤＰマッチングが実行されると、Ｘ座標０の辞書格子点とＸ座標０の帳票格子点とが対応付けられ、Ｘ座標１の辞書格子点とＸ座標１の帳票格子点とが対応付けられ、Ｘ座標２の辞書格子点とＸ座標４の帳票格子点とが対応付けられ、Ｘ座標３の辞書格子点とＸ座標５の帳票格子点とが対応付けられ、Ｘ座標４の辞書格子点とＸ座標１０の帳票格子点とが対応付けられ、Ｘ座標５の辞書格子点とＸ座標１２の帳票格子点とが対応付けられ、Ｘ座標６の辞書格子点とＸ座標１４の帳票格子点とが対応付けられる。
【０１３９】
ここで、Ｘ座標６の辞書格子点とＸ座標１４の帳票格子点とが対応すると判定された場合、処理対象帳票格子点及び処理対象辞書格子点が最後の格子点であるので、第２条件が成立する。したがって、制御部１０８は、帳票格子点と辞書格子点とが一対一で対応する関係であると判断する。
【０１４０】
また、ステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の１行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の２行目である場合も、上述した通りに判定される。
【０１４１】
このため、図９（Ａ）に示す領域９０１に示すように、枠構造辞書６００の格子点情報６１２の０行目と１行目との間の枠、及び帳票画像の格子点情報５０１の１行目と２行目との間の枠はそれぞれ一対一の関係で対応付けられる。
【０１４２】
次に、図９（Ｂ）について説明する。
【０１４３】
図９（Ｂ）では、ステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の０行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の２行目である場合を例に、格子点ＤＰマッチングについて説明する。
【０１４４】
格子点ＤＰマッチングが実行されると、Ｘ座標０の辞書格子点とＸ座標０の帳票格子点とが対応付けられ、Ｘ座標１の辞書格子点とＸ座標２の帳票格子点とが対応付けられ、Ｘ座標２の辞書格子点とＸ座標６の帳票格子点とが対応付けられ、Ｘ座標３の辞書格子点とＸ座標８の帳票格子点とが対応付けられ、Ｘ座標４の辞書格子点とＸ座標１１の帳票格子点とが対応付けられ、Ｘ座標５の辞書格子点とＸ座標１３の帳票格子点とが対応付けられ、Ｘ座標６の辞書格子点とＸ座標１４の帳票格子点とが対応付けられる。
【０１４５】
ここで、Ｘ座標６の辞書格子点とＸ座標１４の帳票格子点とが対応すると判定された場合、処理対象帳票格子点及び処理対象辞書格子点が最後の格子点であるので、第２条件が成立する。したがって、制御部１０８は、帳票格子点と辞書格子点とが一対一で対応する関係であると判断する。
【０１４６】
また、ステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の１行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の３行目である場合も、上述した通りに判定される。
【０１４７】
このため、図９（Ｂ）に示す領域９０２に示すように、枠構造辞書６００の格子点情報６１２の０行目と１行目との間の枠、及び帳票画像の格子点情報５０１の２行目と３行目との間の枠はそれぞれ一対一の関係で対応付けられる。
【０１４８】
以上のように、図９（Ａ）及び（Ｂ）では、第３条件が成立しない場合の格子点ＤＰマッチングの例について説明した。
【０１４９】
なお、図９（Ａ）及び（Ｂ）に示す領域９０１及び９０２を、枠構造照合結果という。
【０１５０】
次に、文字行抽出処理について図１０を用いて説明する。
【０１５１】
図１０は、本発明の実施形態の文字行抽出処理のＰＡＤ図である。
【０１５２】
文字行抽出処理は、ステップ２０６の処理で実行される。
【０１５３】
まず、制御部１０８は、図７に示すステップ７０５の処理で記憶部１１０に記憶された照合結果の数だけステップ１００２の処理以降の処理を実行する（１００１）。ステップ１００１の処理では、制御部１０８は、記憶部１１０に記憶された照合結果から、処理対象となる照合結果を一つ選択する。
【０１５４】
次に、制御部１０８は、ステップ１００１の処理で選択された照合結果に存在する枠の数だけ、ステップ１００３の処理以降の処理を実行する（１００２）。ステップ１００２の処理では、制御部１０８は、ステップ１００１の処理で選択された照合結果に存在する枠から、処理対象となる枠を一つ選択する。
【０１５５】
次に、制御部１０８は、ステップ１００５の処理で記憶される文字行情報（抽出済み文字行）を参照して、ステップ１００２の処理で選択された枠が未だ文字行を抽出していない枠であるか否かを判定する（１００３）。
【０１５６】
ステップ１００２の処理で選択された枠が未だ文字行を抽出していない枠であると、ステップ１００３の処理で判定された場合、制御部１０８は、当該枠から文字行を抽出する（１００４）。
【０１５７】
そして、制御部１０８は、ステップ１００４の処理で抽出した文字行と当該文字行を抽出した枠の座標とを対応付けた文字行情報を記憶部１１０に記憶する（１００５）。
【０１５８】
一方、ステップ１００２の処理で選択された枠が既に文字行を抽出した枠である場合、制御部１０８は、ステップ１００２の処理に処理を移行し、処理対象となる枠を新たに選択する。
【０１５９】
文字行抽出処理の例について、図１１を用いて説明する。図１１は、本発明の実施形態の文字行抽出処理によって抽出された文字行の一例の説明図である。
【０１６０】
図１１に示す文字行１１０１〜１１０６は、図９（Ａ）に示す領域９０１に対して文字行抽出処理が実行されて抽出された文字行を示し、図１１に示す１１１１〜１１１６は、図９（Ｂ）に示す領域９０２に対して文字行抽出処理が実行されて抽出された文字行を示す。
【０１６１】
まず、文字行１１０１〜１１０６について説明する。
【０１６２】
図１１に示す「収納機関」「番号」１１０１は、図９（Ａ）に示す座標(０，１)、（０，２）、（１，２）、（１，１）の枠から抽出された文字行であり、「収納機関」「番号」１１０１は、座標(０，１)、（０，２）、（１，２）、（１，１）と対応付けて記憶される。
【０１６３】
図１１に示す「１２３４５」１１０２は、図９（Ａ）に示す座標(１，１)、（１，２）、（４，２）、（４，１）の枠から抽出された文字行であり、「１２３４５」１１０２は、座標(１，１)、（１，２）、（４，２）、（４，１）と対応付けて記憶される。
【０１６４】
図１１に示す「お客様」「番号」１１０３は、図９（Ａ）に示す座標(４，１)、（４，２）、（５，２）、（５，１）の枠から抽出された文字行であり、「お客様」「番号」１１０３は、座標(４，１)、（４，２）、（５，２）、（５，１）と対応付けて記憶される。
【０１６５】
図１１に示す「６７８９０１２３４５６」１１０４は、図９（Ａ）に示す座標(５，１)、（５，２）、（１０，２）、（１０，１）の枠から抽出された文字行であり、「６７８９０１２３４５６」１１０４は、座標(５，１)、（５，２）、（１０，２）、（１０，１）と対応付けて記憶される。
【０１６６】
図１１に示す「確認」「番号」１１０５は、図９（Ａ）に示す座標(１０，１)、（１０，２）、（１２，２）、（１２，１）の枠から抽出された文字行であり、「確認」「番号」１１０５は、座標(１０，１)、（１０，２）、（１２，２）、（１２，１）と対応付けて記憶される。
【０１６７】
図１１に示す「７８９０１２」１１０６は、図９（Ａ）に示す座標(１２，１)、（１２，２）、（１４，２）、（１４，１）の枠から抽出された文字行であり、「７８９０１２」１１０６は、座標(１２，１)、（１２，２）、（１４，２）、（１４，１）と対応付けて記憶される。
【０１６８】
次に、文字行１１１１〜１１１６について説明する。
【０１６９】
図１１に示す「会員番号」１１１１は、図９（Ｂ）に示す座標（０，２）、（０，３）、（２，３）、（２，２）の枠から抽出された文字行であり、「会員番号」１１１１は、座標（０，２）、（０，３）、（２，３）、（２，２）と対応付けて記憶される。
【０１７０】
図１１に示す「０００−０００−０００」１１１２は、図９（Ｂ）に示す座標（２，２）、（２，３）、（６，３）、（６，２）の枠から抽出された文字行であり、「０００−０００−０００」１１１２は、座標（２，２）、（２，３）、（６，３）、（６，２）と対応付けて記憶される。
【０１７１】
図１１に示す「請求番号」１１１３は、図９（Ｂ）に示す座標（６，２）、（６，３）、（８，３）、（８，２）の枠から抽出された文字行であり、「請求番号」１１１３は、座標（６，２）、（６，３）、（８，３）、（８，２）と対応付けて記憶される。
【０１７２】
図１１に示す「１２３４」１１１４は、図９（Ｂ）に示す座標（８，２）、（８，３）（１１，３）、（１１，２）の枠から抽出された文字行であり、「請求番号」１１１４は、座標（８，２）、（８，３）、（１１，３）、（１１，２）と対応付けて記憶される。
【０１７３】
図１１に示す「お支払い期日」１１１５は、図９（Ｂ）に示す座標（１１，２）、（１１，３）（１３，３）、（１３，２）の枠から抽出された文字行であり、「請求番号」１１１３は、座標（１１，２）、（１１，３）（１３，３）、（１３，２）と対応付けて記憶される。
【０１７４】
図１１に示す「５月２０日」１１１６は、図９（Ｂ）に示す座標（１３，２）、（１３，３）（１４，３）、（１４，２）の枠から抽出された文字行であり、「５月２０日」１１１６は、座標（１３，２）、（１３，３）（１４，３）、（１４，２）と対応付けて記憶される。
【０１７５】
以上のように、文字行抽出処理によって抽出された文字行は、当該文字行が抽出された枠と対応付けて記憶される。これによって、既に文字行が抽出された枠に対して再度文字行を抽出しなくてもよく、処理コストを削減できる。
【０１７６】
次に、図１２〜図１５を用いて、枠が誤って抽出された場合について説明する。
【０１７７】
図１２は、本発明の実施形態の取得対象となる領域３０２の説明図である。
【０１７８】
制御部１０８は、矩形１２０１で囲まれた「１」のように、枠の上下の横罫線に接触している文字又は横罫線に接触しそうな文字（以下、このような文字を総称して接触文字という）を縦罫線として認識する場合がある。接触文字を含む取得対象となる領域が図７に示すステップ７０２の処理で格子点情報に変換されると、図１３に示すような格子点情報１３０１となる。
【０１７９】
図１３は、本発明の実施形態の接触文字を含む入力帳票を格子点情報に変換した場合の説明図である。
【０１８０】
図１３に示す格子点情報１３０１の矩形１３０２で示すように、図１２に示す矩形１２０１で囲まれた「１」が座標（９，１）で図４に示す交点符号「１３」及び座標（９，２）で図４に示す交点符号「１４」として変換されている。
【０１８１】
したがって、格子点情報１３０１に基づいて抽出された図１３に示す格子点情報１３０１の１行目及び２行目の枠の数は、７個となり、枠構造辞書６００の第１座標６０５の枠構造に登録された枠の数（６個）より多くなる。したがって、図１３に示す格子点情報１３０１の１行目及び２行目の枠と枠構造辞書６００の第１座標６０５に登録された枠との対応付けは、図９（Ａ）に示すように一通りでなく、複数通り考えられる。
【０１８２】
格子点情報１３０１の枠と枠構造辞書６００の第１座標６０５の枠構造６０５に登録された枠との対応付けについて図１４Ａ〜図１４Ｃを用いて説明する。
【０１８３】
図１４Ａ〜図１４Ｃは、本発明の実施形態の格子点ＤＰマッチングの組み合わせ結果の例の説明図である。
【０１８４】
図１４Ａ（Ａ）では、図８に示すステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の０行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の１行目である場合を例に、格子点ＤＰマッチングについて説明する。
【０１８５】
格子点ＤＰマッチングが実行されると、Ｘ座標０の辞書格子点とＸ座標０の帳票格子点とが対応付けられ、Ｘ座標１の辞書格子点とＸ座標１の帳票格子点とが対応付けられ、Ｘ座標２の辞書格子点とＸ座標４の帳票格子点とが対応付けられ、Ｘ座標３の辞書格子点とＸ座標５の帳票格子点とが対応付けられ、Ｘ座標４の辞書格子点とＸ座標９の帳票格子点とが対応付けられ、Ｘ座標５の辞書格子点とＸ座標１１の帳票格子点とが対応付けられ、Ｘ座標６の辞書格子点とＸ座標１３の帳票格子点とが対応付けられる。
【０１８６】
ここで、Ｘ座標６の辞書格子点とＸ座標１３の帳票格子点とが対応すると判定された場合、処理対象帳票格子点が最後の格子点でなく、処理対象辞書格子点が最後の格子点でないので、第３条件が成立する。したがって、制御部１０８は、強制対応処理を実行する。
【０１８７】
強制対応処理は、上述したように、帳票格子点と辞書格子点との対応付けのすべての組み合わせを算出する処理であり、図１４Ａ（Ｂ）〜図１４Ｃ（Ｈ）を用いて説明する。
【０１８８】
まず、制御部１０８は、図１４Ａ（Ａ）では、最も右に位置する帳票格子点であるＸ座標１５の帳票格子点がいずれの辞書格子点にも対応付けられていないので、当該帳票格子点を最も右に位置する辞書格子点に対応付ける。すなわち、Ｘ座標６の辞書格子点とＸ座標１５の帳票格子点とが対応付けられる。
【０１８９】
この場合、新たに辞書格子点と対応付けたＸ座標１５の帳票格子点よりも左に位置するＸ座標０、１、４、５、９、１１、及び１３のいずれか一つの帳票格子点と辞書格子点との対応付けを解除しなければならない。これによって、帳票画像から抽出された二つの枠を枠構造辞書６００に登録された一つの枠に対応付ける。
【０１９０】
図１４Ａ（Ｂ）は、１行目及び２行目のＸ座標１５の帳票格子点と０行目及び１行目のＸ座標６の辞書格子点とを対応付け、１行目及び２行目のＸ座標１３の帳票格子点と０行目及び１行目のＸ座標６の辞書格子点との対応付けを解除した組み合わせ結果である。
【０１９１】
図１４Ａ（Ｃ）は、１行目及び２行目のＸ座標１５の帳票格子点と０行目及び１行目のＸ座標６の辞書格子点とを対応付け、１行目及び２行目のＸ座標１１の帳票格子点と０行目及び１行目のＸ座標５の辞書格子点との対応付けを解除した組み合わせ結果である。
【０１９２】
図１４Ｂ（Ｄ）は、１行目及び２行目のＸ座標１５の帳票格子点と０行目及び１行目のＸ座標６の辞書格子点とを対応付け、１行目及び２行目のＸ座標９の帳票格子点と０行目及び１行目のＸ座標４の辞書格子点との対応付けを解除した組み合わせ結果である。
【０１９３】
図１４Ｂ（Ｅ）は、１行目及び２行目のＸ座標１５の帳票格子点と０行目及び１行目のＸ座標６の辞書格子点とを対応付け、１行目及び２行目のＸ座標５の帳票格子点と０行目及び１行目のＸ座標３の辞書格子点との対応付けを解除した組み合わせ結果である。
【０１９４】
図１４Ｂ（Ｆ）は、１行目及び２行目のＸ座標１５の帳票格子点とＸ座標６の辞書格子点とを対応付け、１行目及び２行目のＸ座標４の帳票格子点と０行目及び１行目のＸ座標２の辞書格子点との対応付けを解除した組み合わせ結果である。
【０１９５】
図１４Ｃ（Ｇ）は、１行目及び２行目のＸ座標１５の帳票格子点と０行目及び１行目のＸ座標６の辞書格子点とを対応付け、１行目及び２行目のＸ座標１の帳票格子点と０行目及び１行目のＸ座標１の辞書格子点との対応付けを解除した組み合わせ結果である。
【０１９６】
図１４Ｃ（Ｈ）は、１行目及び２行目のＸ座標１５の帳票格子点と０行目及び１行目のＸ座標６の辞書格子点とを対応付け、１行目及び２行目のＸ座標０の帳票格子点と０行目及び１行目のＸ座標０の辞書格子点との対応付けを解除した組み合わせ結果である。
【０１９７】
図１４Ｃ（Ｉ）は、図８に示すステップ８０１の処理で選択した処理対象となる行が格子点情報６１２の０行目であり、ステップ８０２の処理で選択した処理対象となる行が格子点情報５０１の２行目である場合の格子点ＤＰマッチングの結果であり、図９（Ｂ）と同じであるので説明を省略する。
【０１９８】
以上のように、格子点ＤＰマッチングによって、図１４Ａ（Ａ）〜図１４Ｃ（Ｉ）に示す９通りの組み合わせ結果が算出される。なお、以下では、これらのすべての組み合わせ結果が照合結果となったことを前提に説明する。
【０１９９】
また、図１４Ｂ（Ｄ）に示す組み合わせ結果が、図１２に示す接触文字「１」を罫線として抽出していない正しい組み合わせ結果である。
【０２００】
次に、図１４Ａ（Ａ）〜図１４Ｃ（Ｉ）に示す照合結果に対して文字行抽出処理が実行されることによって抽出された文字行について、図１５を用いて説明する。
【０２０１】
図１５は、本発明の実施形態の文字行抽出処理によって抽出された文字行の一例の説明図である。
【０２０２】
図１０に示す文字行抽出処理のステップ１００１の処理で、制御部１０８は、図１４Ａ（Ａ）〜図１４Ｃ（Ｉ）に示す照合結果から、処理対象の照合結果として図１４Ａ（Ａ）に示す照合結果を選択する。
【０２０３】
そして、制御部１０８は、図１４Ａ（Ａ）に示す照合結果にステップ１００２〜１００４の処理を実行する。なお、図１４Ａ（Ａ）に示す照合結果に対してステップ１００２〜１００４の処理が実行される前に抽出された文字行はないものとする。
【０２０４】
図１４Ａ（Ａ）に示す照合結果に対してステップ１００２〜１００４の処理が実行されることによって、文字行１５０１〜１５０６が抽出される。
【０２０５】
具体的には、図１５に示す「収納機関」「番号」１５０１は、図１４Ａ（Ａ）に示す座標（０，１）、（０，２）、（１，２）、（１，１）の枠から抽出された文字行であり、「収納機関」「番号」１５０１は、座標(０，１)、（０，２）、（１，２）、（１，１）と対応付けて記憶される。
【０２０６】
また、図１５に示す「１２３４５」１５０２は、図１４Ａ（Ａ）に示す座標（１，１）、（１，２）、（４，２）、（４，１）の枠から抽出された文字行であり、「１２３４５」１５０２は、座標（１，１）、（１，２）、（４，２）、（４，１）と対応付けて記憶される。
【０２０７】
また、図１５に示す「お客様」「番号」１５０３は、図１４（Ａ）に示す座標（４，１）、（４，２）、（５，２）、（５，１）の枠から抽出された文字行であり、「お客様」「番号」１５０３は、座標（４，１）、（４，２）、（５，２）、（５，１）と対応付けて記憶される。
【０２０８】
また、図１５に示す「０００００」１５０４は、図１４（Ａ）に示す座標（５，１）、（５，２）、（９，２）、（９，１）の枠から抽出された文字行であり、「０００００」１５０４は、座標（５，１）、（５，２）、（９，２）、（９，１）と対応付けて記憶される。
【０２０９】
また、図１５に示す「０」１５０５は、図１４（Ａ）に示す座標（９，１）、（９，２）、（１１，２）、（１１，１）の枠から抽出された文字行であり、「０」１５０５は、座標（９，１）、（９，２）、（１１，２）、（１１，１）と対応付けて記憶される。
【０２１０】
また、図１５に示す「確認」「番号」１５０６は、図１４（Ａ）に示す座標（１１，１）、（１１，２）、（１３，２）、（１３，１）の枠から抽出された文字行であり、「確認」「番号」１５０６は、座標（１１，１）、（１１，２）、（１３，２）、（１３，１）と対応付けて記憶される。
【０２１１】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ａ（Ｂ）に示す照合結果を選択する。
【０２１２】
この場合、図１４Ａ（Ｂ）に示す照合結果の枠のうち、座標（１１，１）、（１１，２）、（１５，２）、（１５，１）の枠よりも左に位置する枠から文字行は、すでに抽出されているので、座標（１１，１）、（１１，２）、（１５，２）、（１５，１）の枠から文字行を抽出する。
【０２１３】
図１５に示す「確認番号」「７８９０１２」１５０７は、図１４Ａ（Ｂ）に示す座標（１１，１）、（１１，２）、（１５，２）、（１５，１）の枠から抽出された文字行であり、「確認番号」「７８９０１２」１５０７は、座標（１１，１）、（１１，２）、（１５，２）、（１５，１）と対応付けて記憶される。
【０２１４】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ａ（Ｃ）に示す照合結果を選択する。
【０２１５】
この場合、図１４Ａ（Ｃ）に示す照合結果の枠のうち、座標（９，１）、（９，２）、（１３，２）、（１３，１）の枠よりも左に位置する枠から文字行は、すでに抽出されているので、座標（９，１）、（９，２）、（１３，２）、（１３，１）の枠及び座標（１３，１）、（１３，２）、（１５，２）、（１５，１）の枠から文字行を抽出する。
【０２１６】
図１５に示す「０」「確認番号」１５０８は、図１４Ａ（Ｃ）に示す座標（９，１）、（９，２）、（１３，２）、（１３，１）の枠から抽出された文字行であり、「０」「確認番号」１５０８は、座標（９，１）、（９，２）、（１３，２）、（１３，１）と対応付けて記憶される。
【０２１７】
図１５に示す「７８９０１２」１５０９は、図１４Ａ（Ｃ）に示す座標（１３，１）、（１３，２）、（１５，２）、（１５，１）の枠から抽出された文字行であり、「７８９０１２」１５０９は、座標（１３，１）、（１３，２）、（１５，２）、（１５，１）と対応付けて記憶される。
【０２１８】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ｂ（Ｄ）に示す照合結果を選択する。
【０２１９】
この場合、図１４Ｂ（Ｄ）に示す照合結果の枠のうち、座標（５，１）、（５，２）、（１１，２）、（１１，１）以外の枠から文字行は、すでに抽出されているので、座標（５，１）、（５，２）、（１１，２）、（１１，１）の枠から文字行を抽出する。
【０２２０】
図１５に示す「０００００１０」１５１１は、図１４Ｂ（Ｄ）に示す座標（５，１）、（５，２）、（１１，２）、（１１，１）の枠から抽出された文字行であり、「０００００１０」１５１１は、座標（５，１）、（５，２）、（１１，２）、（１１，１）と対応付けて記憶される。
【０２２１】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ｂ（Ｅ）に示す照合結果を選択する。
【０２２２】
この場合、図１４Ｂ（Ｅ）に示す照合結果の枠のうち、座標（４，１）、（４，２）、（９，２）、（９，１）以外の枠から文字行は、すでに抽出されているので、座標（４，１）、（４，２）、（９，２）、（９，１）の枠から文字行を抽出する。
【０２２３】
図１５に示す「お客様番号」「０００００」１５１０は、図１４Ｂ（Ｅ）に示す座標（４，１）、（４，２）、（９，２）、（９，１）の枠から抽出された文字行であり、「お客様番号」「０００００」１５１０は、座標（４，１）、（４，２）、（９，２）、（９，１）と対応付けて記憶される。
【０２２４】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ｂ（Ｆ）に示す照合結果を選択する。
【０２２５】
この場合、図１４Ｂ（Ｆ）に示す照合結果の枠のうち、座標（１，１）、（１，２）、（５，２）、（５，１）以外の枠から文字行は、すでに抽出されているので、座標（１，１）、（１，２）、（５，２）、（５，１）の枠から文字行を抽出する。
【０２２６】
図１５に示す「１２３４５」「お客様番号」１５１２は、図１４Ｂ（Ｆ）に示す座標（１，１）、（１，２）、（５，２）、（５，１）の枠から抽出された文字行であり、「１２３４５」「お客様番号」１５１２は、座標（１，１）、（１，２）、（５，２）、（５，１）と対応付けて記憶される。
【０２２７】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ｃ（Ｇ）に示す照合結果を選択する。
【０２２８】
この場合、図１４Ｃ（Ｇ）に示す照合結果の枠のうち、座標（０，１）、（０，２）、（４，２）、（４，１）以外の枠から文字行は、すでに抽出されているので、座標（０，１）、（０，２）、（４，２）、（４，１）の枠から文字行を抽出する。
【０２２９】
図１５に示す「収納機関番号」「１２３４５」１５１３は、図１４Ｃ（Ｇ）に示す座標座標（０，１）、（０，２）、（４，２）、（４，１）の枠から抽出された文字行であり、「収納機関番号」「１２３４５」１５１３は、座標（０，１）、（０，２）、（４，２）、（４，１）と対応付けて記憶される。
【０２３０】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ｃ（Ｈ）に示す照合結果を選択する。
【０２３１】
この場合、図１４Ｃ（Ｇ）に示す照合結果のすべての枠の文字行はすでに抽出されているので、制御部１０８は文字行を抽出しない。
【０２３２】
次に、制御部１０８は、ステップ１００１の処理で、処理対象の照合結果として図１４Ｃ（Ｉ）に示す照合結果を選択する。
【０２３３】
図１４Ｃ（Ｉ）に示す照合結果の枠から抽出される文字行は図１５に示す文字行１５２１〜１５２６である。文字行１５２１〜１５２６については図１１に示す文字行１１１１〜１１１６と同じであるので説明を省略する。
【０２３４】
図１６は、本発明の実施形態の候補文字ネットワークの説明図である。
【０２３５】
図２に示すステップ２０７の処理では、抽出された文字行から文字パタン候補が切り出され、ステップ２０８の処理では、切り出された文字パタン候補に対して、文字パタン候補に類似する文字（識別候補）と文字パタン候補の各識別候補に対する類似度とを算出し、候補文字ネットワークを生成する文字識別処理が実行される。
【０２３６】
文字パタン候補切出し及び文字識別処理は、特開２００４−１７１３１６号公報に開示された手法を用いるが、他の手法を用いてもよい。
【０２３７】
図１６の（ａ）は、文字行抽出処理で抽出された文字行１６０１を示す。ここで、制御部１０８は、ステップ２０７の処理で、文字行１６０１から文字らしいパタンの候補を切出す。切り出された文字パタン候補は、図１６の（ｂ）に示すようにネットワークの形式で保存する。
【０２３８】
次に、ステップ２０８の処理で、制御部１０８は、切り出された文字パタン候補に対して文字識別処理を実行する。文字識別処理では、識別誤りを考慮し、複数の識別候補及び文字パタン候補の各識別候補に対する類似度が算出され、文字識別処理の識別結果として、図１６の（ｂ）に示す候補文字ネットワークが生成される。文字パタン候補の切り出し位置をノード１６０２とし、切り出された文字パタン候補はアーク１６０３とする。
【０２３９】
図１６の（ｃ）は、候補文字ネットワークのデータの詳細を示す。図１６の（ｃ）では、識別候補を１６０５に示し、文字パタン候補の各識別候補に対する類似度を１６０６に示す。
【０２４０】
図１７は、本発明の実施形態の特定項目文字列照合処理のＰＡＤ図である。
【０２４１】
特定項目文字列照合処理は、文字識別処理の結果と、当該文字識別処理を実行した枠に対応付けられた枠構造辞書に登録された枠の文字列情報と、を照合する。
【０２４２】
まず、制御部１０８は、図７に示すステップ７０５の処理で記憶部１１０に記憶された照合結果の数だけステップ１７０２の処理以降の処理を実行する（１７０１）。ステップ１７０１の処理では、制御部１０８は、記憶部１１０に記憶された照合結果から、処理対象となる照合結果を一つ選択する。
【０２４３】
次に、制御部１０８は、ステップ１７０１の処理で選択された照合結果に存在する枠の数だけ、ステップ１７０３の処理以降の処理を実行する（１７０２）。ステップ１７０２の処理では、制御部１０８は、ステップ１７０１の処理で選択された照合結果に存在する枠から、処理対象となる枠を一つ選択する。
【０２４４】
次に、制御部１０８は、処理対象の枠から抽出された文字行が複数行存在するか否かを判定する（１７０３）。ここで、文字行が複数行存在するとは、例えば、図１１に示す文字行１１０１、１１０３、及び１１０５である。
【０２４５】
ステップ１７０３の処理で、処理対象の枠から抽出された文字行が複数行存在すると判定された場合、制御部１０８は、複数行の文字行に対してステップ２０８の処理の文字識別処理で算出された候補文字ネットワークを連結し（１７０４）、ステップ１７０５の処理に進む。具体的には、制御部１０８は、Ｙ座標で上から下の順番で複数行の文字行の候補文字ネットワークを連結する。ステップ１７０４の処理の詳細は図１８で詳細を説明する。
【０２４６】
ステップ１７０３の処理で、処理対象の枠から抽出された文字行が複数行存在しないと判定された場合、又は、ステップ１７０４の処理が実行された場合、制御部１０８は、処理対象の枠に対応する枠構造辞書６００の枠の属性情報と、処理対象の枠の候補文字ネットワークとを照合することによって、処理対象の枠の属性情報に対する枠スコアを算出する（１７０５）。
【０２４７】
ステップ１７０２の処理では、処理対象の照合結果のすべての枠にステップ１７０３〜１７０５の処理が実行された場合、つまり、処理対象の照合結果のすべての枠の枠スコアが算出された場合、制御部１０８は、枠スコアに基づいて当該処理対象の照合結果のスコアを算出する（１７０６）。照合結果のスコアは、例えば、枠スコアの平均値であってもよいし、枠スコアの和であってもよい。
【０２４８】
ステップ１７０１の処理では、記憶部１１０に記憶されたすべての照合結果に対してステップ１７０６の処理でスコアが算出された場合、制御部１０８は、スコアが最大の照合結果を項目照合結果として返し（１７０７）、特定項目文字列照合処理を終了する。
【０２４９】
図１８は、本発明の実施形態の複数行の文字行の候補文字ネットワークを連結する処理の説明図である。
【０２５０】
文字行１８０１は、「収納機関」の文字行１８０２と「番号」の文字行１８０４との２行の文字行によって構成される。
【０２５１】
文字行１８０２に対して文字識別処理が実行されて、候補文字ネットワーク１８０３が生成されている。また、文字行１８０４に対して文字識別処理が実行されて、候補文字ネットワーク１８０５が生成されている。
【０２５２】
ステップ１７０４の処理で、文字行１８０１の候補文字ネットワーク１８０３と候補文字ネットワーク１８０５とが連結され、連結候補文字ネットワーク１８０６が生成される。
【０２５３】
図１９は、本発明の実施形態の候補文字ネットワークと枠構造辞書の文字列情報とを照合する処理の説明図である。
【０２５４】
図１９に示す１９０１は、図１８に示す連結候補文字ネットワーク１８０６の各識別候補を枠構造辞書６００の属性情報と照合した結果のパスである。また、図１９に示す１９０２は、連結候補文字ネットワーク１８０６のデータの詳細である。
【０２５５】
図１９に示す１９０３は、連結候補文字ネットワーク１８０６の切出候補の識別候補のうち、対応する枠構造辞書６００の属性情報と一致する識別候補（識別結果）を示す。
【０２５６】
連結候補文字ネットワーク１８０６の基になった文字行が、図９（Ａ）に示す照合結果の座標（０，１）、（０、２）、（１，２）、（１，１）の枠から抽出されているとした場合、当該枠は、枠構造辞書６００の第１座標６０５の座標（０，０）、（０，１）、（１，１）、（１，０）に対応する。このため、連結候補文字ネットワーク１８０６の切出候補の識別候補を、枠構造辞書６００の文字列定義６０４に登録された「収納機関番号」と照合する。
【０２５７】
図１８に示す連結候補文字ネットワーク１８０６の同じノードの間に位置するアークが示す切出候補と照合される枠構造辞書６００の文字列定義６０４の同じ文字である。例えば、図１９に示す番号１、２、３の切出候補は、枠構造辞書６００の文字列定義６０４の「収」と照合される。
【０２５８】
図１９に示す番号１の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「収」と一致する識別候補が存在するので、当該識別候補を識別結果とする。
【０２５９】
図１９に示す番号２及び番号３の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「収」と一致する識別候補が存在しない。
【０２６０】
図１９に示す番号４の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「納」と一致する識別候補が存在するので、当該識別候補を識別結果とする。
【０２６１】
図１９に示す番号５及び番号６の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「納」と一致する識別候補が存在しない。
【０２６２】
図１９に示す番号７の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「機」と一致する識別候補が存在するので、当該識別候補を識別結果とする。
【０２６３】
図１９に示す番号８の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「関」と一致する識別候補が存在するので、当該識別候補を識別結果とする。
【０２６４】
図１９に示す番号９及び番号１０の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「関」と一致する識別候補が存在しない。
【０２６５】
図１９に示す番号１１の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「番」と一致する識別候補が存在するので、当該識別候補を識別結果とする。
【０２６６】
図１９に示す番号１２の切出候補の識別候補には、文字列定義６０４に登録された「収納機関番号」の「号」と一致する識別候補が存在するので、当該識別候補を識別結果とする。
【０２６７】
なお、各切出候補の識別結果に対応する類似度に基づいて枠スコアが算出される。枠スコアは、各切出候補の識別結果に対応する類似度の平均であってもよいし、各切出候補の識別結果に対応する類似度の和であってもよい。
【０２６８】
また、図１８に示す連結候補字ネットワーク１８０６の同じノードの間に位置するアークが示すすべての切出候補に識別結果が存在しない場合がある。これは、帳票に記載された文字が小さく、スキャナが帳票を取り込む際の解像度が低い場合等に、文字がつぶれて取り込まれることに起因する。このように、枠構造辞書６００の文字列定義６０４に登録された文字列の文字のうち、識別結果が存在しない文字を不読文字という。
【０２６９】
本実施形態では、文字列定義６０４に登録された文字列に不読文字が存在しても、不読文字が所定数以下であれば、枠の文字行を不読とせずに、次の切出候補に対して照合処理を継続して実行する。所定数は、例えば、文字列定義６０４に登録された文字列の文字数の１／３とする。
【０２７０】
これによって、帳票画像の枠の文字が認識でなくても、枠構造辞書６００の当該枠に対応する文字列定義６０４によって当該文字を補完することができる。
【０２７１】
さらに、本実施形態では、制御部１０８は、枠スコアが所定値以上であれば、当該枠スコアが算出された枠を、当該枠と照合した枠構造辞書６００の文字列定義６０４として認識する。これによって、不読文字が存在しても、枠が枠構造辞書６００のいずれの枠かを特定することができる。
【０２７２】
図２０は、本発明の実施形態の特定項目文字列照合結果の説明図である。
【０２７３】
説明のために、図９（Ａ）に示す枠構造照合結果９０１の帳票画像内における領域を照合領域２００１として図示する。
【０２７４】
枠構造照合結果９０１の各枠に対して特定項目文字列照合処理を実行した結果である特定項目文字列照合結果は、読取結果２００２、枠スコア２００３、枠構造照合結果のスコア２０１７を含む。読取結果２００２、及び枠スコア２００３は、枠構造照合結果９０１の各枠に対応する枠構造辞書６００の項目６０２、属性６０３、及び文字列定義６０４と対応付けて、記憶部１１０に記憶される。
【０２７５】
図２０に示す２０１１は、項目６０２が「収納機関番号」で、属性６０３が「項目名」で、文字列定義６０４が「収納機関番号」である枠に対応する枠構造照合結果９０１の枠から抽出した文字行の読取結果２００２が「機」が不読文字であることを示し、枠スコア２００３が「２０６」であることを示す。
【０２７６】
図２０に示す２０１２は、項目６０２が「収納機関番号」で、属性６０３が「データ」で、文字列定義６０４が「特定桁数数字列」である枠に対応する枠構造照合結果９０１の枠から抽出した文字行の読取結果２００２が「１２３４５」で、枠スコア２００３が「２４６」であることを示す。
【０２７７】
図２０に示す２０１３は、項目６０２が「お客様番号」で、属性６０３が「項目名」で、文字列定義６０４が「お客様番号」である枠に対応する枠構造照合結果９０１の枠から抽出した文字行の読取結果２００２が「お客様番号」で、枠スコア２００３が「２３５」であることを示す。
【０２７８】
図２０に示す２０１４は、項目６０２が「お客様番号」で、属性６０３が「データ」で、文字列定義６０４が「数字列」である枠に対応する枠構造照合結果９０１の枠から抽出した文字行の読取結果２００２が「６７８９０１２３４５６」で、枠スコア２００３が「２４２」であることを示す。
【０２７９】
図２０に示す２０１５は、項目６０２が「確認番号」で、属性６０３が「項目名」で、文字列定義６０４が「確認番号」である枠に対応する枠構造照合結果９０１の枠から抽出した文字行が文字列定義６０４と照合できなかったことを示す。このため、読取結果２００２が「？」で枠スコア２００３が「０」である。
【０２８０】
図２０に示す２０１６は、項目６０２が「確認番号」で、属性６０３が「データ」で、文字列定義６０４が「特定桁数数字列」である枠に対応する枠構造照合結果９０１の枠から抽出した文字行の読取結果２００２が「７８９０１２」で、枠スコア２００３が「２３４」であることを示す。
【０２８１】
枠構造照合結果９０１のスコア２０１７は各枠スコアの総和であり、「１１６３」である。なお、枠構造照合結果のスコア２０１７は各枠スコアの平均であってもよい。
【０２８２】
図２１は、本発明の実施形態の特定項目文字列照合の説明図である。なお、図２１のうち図２０の構成と同じ構成は、同じ符号を付与し、説明を省略する。
【０２８３】
説明のために、図９（Ｂ）に示す枠構造照合結果９０２の帳票画像内における領域を照合領域２１０１として図示する。
【０２８４】
枠構造照合結果９０２の特定項目文字列照合結果は、読取結果２００２、枠スコア２００３、枠構造照合結果のスコア２０１７を含む。
【０２８５】
図２１に示す２１１１は、項目６０２が「収納機関番号」で、属性６０３が「項目名」で、文字列定義６０４が「収納機関番号」である枠に対応する枠構造照合結果９０２の枠から抽出した文字行の読取結果２００２が「収納機関」が不読文字であり、「番号」が照合されたことを示し、枠スコア２００３が「５４」であることを示す。
【０２８６】
図２１に示す２１１２は、項目６０２が「収納機関番号」で、属性６０３が「データ」で、文字列定義６０４が「特定桁数数字列」である枠に対応する枠構造照合結果９０２の枠から抽出した文字行の読取結果２００２が「０００−０００−０００」で、枠スコア２００３が「２３３」であることを示す。
【０２８７】
図２１に示す２１１３は、項目６０２が「お客様番号」で、属性６０３が「項目名」で、文字列定義６０４が「お客様番号」である枠に対応する枠構造照合結果９０２の枠から抽出した文字行の読取結果２００２が「お客様」が不読文字であり、「番号」が照合されたことを示し、枠スコア２００３が「１０２」であることを示す。
【０２８８】
図２１に示す２１１４は、項目６０２が「お客様番号」で、属性６０３が「データ」で、文字列定義６０４が「数字列」である枠に対応する枠構造照合結果９０２の枠から抽出した文字行の読取結果２００２が「１２３４」で、枠スコア２００３が「２４２」であることを示す。
【０２８９】
図２１に示す２１１５は、項目６０２が「確認番号」で、属性６０３が「項目名」で、文字列定義６０４が「確認番号」である枠に対応する枠構造照合結果９０２の枠から抽出した文字行が文字列定義６０４と照合できなかったことを示す。このため、読取結果２００２が「？」で枠スコア２００３が「０」である。
【０２９０】
図２１に示す２１１６は、項目６０２が「確認番号」で、属性６０３が「データ」で、文字列定義６０４が「特定桁数数字列」である枠に対応する枠構造照合結果９０１の枠から抽出した文字行が文字列定義６０４と照合できなかったことを示す。このため、読取結果２００２が「？」で枠スコア２００３が「０」である。
【０２９１】
枠構造照合結果９０２のスコア２０１７は各枠スコアの総和であり、「６３１」である。
【０２９２】
図１７に示すステップ１７０７の処理では、図２０に示す枠構造照合結果９０１のスコア２０１７は、図２１に示す枠構造照合結果９０２のスコア２０１７より大きいので、枠構造照合結果９０１の特定項目文字列照合結果を返す。
【０２９３】
以上、本発明者によりなされた発明を実施形態に基づき具体的に説明したが、本発明は上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【０２９４】
本願発明は、帳票を認識する帳票処理システムに適用可能である。
【符号の説明】
【０２９５】
１００  帳票処理用計算機
１０１  帳票
１０２  スキャナ
１０３  画像入力部
１０４  電子データ
１０５  入力部
１０６  出力部
１０７  通信部
１０８  制御部
１０９  補助記憶部
１１０  記憶部
１１１  外部補助記憶部
１１２  内部バス
１１３  ネットワーク
１１４  外部サーバ
【図１】
0005712415.tif 000002
【図２】
0005712415.tif 000003
【図３】
0005712415.tif 000004
【図４】
0005712415.tif 000005
【図５】
0005712415.tif 000006
【図６Ａ】
0005712415.tif 000007
【図６Ｂ】
0005712415.tif 000008
【図６Ｃ】
0005712415.tif 000009
【図７】
0005712415.tif 000010
【図８】
0005712415.tif 000011
【図９】
0005712415.tif 000012
【図１０】
0005712415.tif 000013
【図１１】
0005712415.tif 000014
【図１２】
0005712415.tif 000015
【図１３】
0005712415.tif 000016
【図１４Ａ】
0005712415.tif 000017
【図１４Ｂ】
0005712415.tif 000018
【図１４Ｃ】
0005712415.tif 000019
【図１５】
0005712415.tif 000020
【図１６】
0005712415.tif 000021
【図１７】
0005712415.tif 000022
【図１８】
0005712415.tif 000023
【図１９】
0005712415.tif 000024
【図２０】
0005712415.tif 000025
【図２１】
0005712415.tif 000026