(57)【要約】【課題】記載内容を認識するための情報をデザインが異なる個々の帳票毎に登録することなく、幅広く帳票に対応可能とするための技術を提供する。【解決手段】キーワード抽出部１８は、キーワードとして、項目名等に対応する見出し文言を抽出する。帳票種別判定部１８は、抽出されたキーワードの種類、そのキーワードの抽出位置等に着目して、帳票種別を判定する。論理構造解析（項目候補抽出）部２０は、文字列が含まれる領域であるセル単位で表構造を論理的に解析し、セル内に存在する他の認識していない文字列の抽出や、認識されていない見出し文言を推定して復元を行う。それらの操作は、帳票種別の判定結果を反映させて行う。それにより、より高精度な認識を実現させるともに、より幅広い種類の帳票への対応を可能とさせる。【選択図】図１
2010003155.tif 000002
【特許請求の範囲】
【請求項１】
帳票上に任意の表構造で存在する文字列の認識を行う帳票認識装置において、
前記帳票の電子化された帳票画像を取得する画像取得手段と、
前記画像取得手段が取得した前記帳票画像上に存在する文字列を認識する文字列認識手段と、
前記文字列認識手段が認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した見出し文言、及び前記見出し文言の前記帳票画像上の配置に基づいて、該帳票画像上に存在する表構造を判定する表構造判定手段と、
前記表構造判定手段による前記表構造の判定結果を用いて、前記見出し文言と該見出し文言以外に前記文字列認識手段が認識している文字列との間の対応関係を特定する対応関係特定手段と、
を具備することを特徴とする帳票認識装置。
【請求項２】
前記帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある見出し文言が階層構造で定義されているデータベースを格納した記憶手段、を具備し、
前記表構造判定手段は、前記記憶手段に格納されたデータベースを参照して、前記帳票画像上に存在する全体の表構造を判定する、
ことを特徴とする請求項１記載の帳票認識装置。
【請求項３】
前記階層構造は、１つ以上の見出し文言が定義される第１の層、該第１の層で定義された見出し文言を代表し、他の見出し文言と置換可能な見出し文言である第１の代表見出しが定義された第２の層、及び前記表構造で該第１の代表見出しの上位に位置する見出し文言である第２の代表見出しが定義される第３の層を含み、
前記表構造判定手段は、前記文字列抽出手段による前記第２の代表見出しの抽出結果を基に、該第２の代表見出しを有する前記単位表構造の範囲を設定し、該設定した範囲内で抽出されている他の見出し文言の評価を行い、該単位表構造に存在する見出し文言を特定する、
ことを特徴とする請求項２記載の帳票認識装置。
【請求項４】
前記階層構造は、１つ以上の見出し文言が定義される第１の層、該第１の層で定義された見出し文言を代表し、他の見出し文言と置換可能な見出し文言である第１の代表見出しが定義された第２の層、及び前記表構造で該第１の代表見出しの上位に位置する見出し文言である第２の代表見出しが定義される第３の層を含み、
前記文字列抽出手段による前記第２の代表見出しの抽出結果を基に、該第２の代表見出しを有する前記単位表構造の範囲を設定し、該設定した範囲内で抽出されている他の見出し文言と置換可能な前記第１の代表見出し、及び該単位表構造で前記見出し文言とは異なる文字列として認識されるデータに着目して、該単位表構造に追加すべき第１の代表見出しを特定し追加する見出し追加手段、
を更に具備することを特徴とする請求項１記載の帳票認識装置。
【請求項５】
前記文字列抽出手段が抽出した見出し文言、及び前記表構造判定手段が判定した表構造を基に、該文字列認識手段が認識していない見出し文言が存在する前記帳票画像上の位置を特定する位置特定手段と、
前記位置特定手段が特定した位置に存在すべき見出し文言を生成する文言生成手段と、を更に具備することを特徴とする請求項１記載の帳票認識装置。
【請求項６】
帳票上に任意の表構造で存在する文字列の認識を行う帳票認識装置において、
前記帳票の電子化された帳票画像を取得する画像取得手段と、
前記画像取得手段が取得した前記帳票画像上に存在する文字列を認識する文字列認識手段と、
前記文字列認識手段が認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した結果を基に、前記文字列認識手段が認識していない見出し文言が存在する前記帳票画像上の位置を特定する位置特定手段と、
前記位置特定手段が特定した位置に存在すべき見出し文言を生成する文言生成手段と、
前記文言生成手段が生成した見出し文言を含め、該見出し文言と該見出し文言以外に前記文字列認識手段が認識している文字列との間の対応関係を特定する対応関係特定手段と、
を具備することを特徴とする帳票認識装置。
【請求項７】
前記文字列抽出手段が抽出した見出し文言、及び前記見出し文言の前記帳票画像上の配置に基づいて、該帳票画像上に存在する表構造を判定する表構造判定手段、を更に具備し、
前記位置特定手段は、前記表構造判定手段の判別結果を用いて前記位置の特定を行い、
前記文言生成手段は、前記表構造判定手段の判別結果から、前記位置に存在すべき見出し文言を生成する、
ことを特徴とする請求項６記載の帳票認識装置。
【請求項８】
前記帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある見出し文言が階層構造で定義されているデータベースを格納した記憶手段、を具備し、
前記表構造判定手段は、前記記憶手段に格納されたデータベースを参照して、前記帳票画像上に存在する全体の表構造を判定する、
ことを特徴とする請求項７記載の帳票認識装置。
【請求項９】
前記階層構造は、１つ以上の見出し文言が定義される第１の層、該第１の層で定義された見出し文言を代表し、他の見出し文言と置換可能な見出し文言である第１の代表見出しが定義された第２の層、及び前記表構造で該第１の代表見出しの上位に位置する見出し文言である第２の代表見出しが定義される第３の層を含み、
前記表構造判定手段は、前記文字列抽出手段による前記第２の代表見出しの抽出結果を基に、該第２の代表見出しを有する前記単位表構造の範囲を設定し、該設定した範囲内で抽出されている他の見出し文言の評価を行い、該単位表構造に存在する見出し文言を特定する、
ことを特徴とする請求項８記載の帳票認識装置。
【請求項１０】
前記階層構造は、１つ以上の見出し文言が定義される第１の層、該第１の層で定義された見出し文言を代表し、他の見出し文言と置換可能な見出し文言である第１の代表見出しが定義された第２の層、及び前記表構造で該第１の代表見出しの上位に位置する見出し文言である第２の代表見出しが定義される第３の層を含み、
前記位置特定手段は、前記文字列抽出手段による前記第２の代表見出しの抽出結果を基に、該第２の代表見出しを有する前記単位表構造の範囲を抽出し、該抽出した範囲内で認識されている他の見出し文言と置換可能な前記第１の代表見出し、及び該単位表構造でデータとして認識される文字列に着目して、前記位置を該範囲内で特定し、
前記文言生成手段は、前記位置特定手段が前記範囲内で特定した位置に追加すべき第１の代表見出しを特定することにより、前記見出し文言を生成する、
ことを特徴とする請求項８記載の帳票認識装置。
【請求項１１】
前記第１の代表見出しは、前記単位表構造毎に重複しない排他関係を有し、
前記文言生成手段は、前記排他関係を利用して、前記範囲内で認識されている第１の代表見出しとは異なる第１の代表見出しを特定する、
ことを特徴とする請求項１０記載の帳票認識装置。
【請求項１２】
前記データベースは、前記単位表構造上に記入されるデータに関するデータ情報が定義され、
前記文言生成手段は、前記排他関係、及び前記データ情報を利用して、前記範囲内で認識されている第１の代表見出しとは異なる第１の代表見出しを特定する、
ことを特徴とする請求項１１記載の帳票認識装置。
【請求項１３】
前記帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある見出し文言が階層構造で定義されているデータベースを格納した記憶手段と、
前記文字列抽出手段による前記第２の代表見出しの抽出結果を基に、該第２の代表見出しを有する前記単位表構造の範囲を抽出し、該抽出した範囲内で認識されている前記第１の代表見出し、及び該単位表構造でデータとして認識される文字列に着目して、該データに対応する第１の代表見出しを追加する見出し追加手段と、
を更に具備することを特徴とする請求項６記載の帳票認識装置。
【請求項１４】
前記文字列認識手段の認識結果を用いて、前記文字列が含まれる領域であるセルを生成するセル生成手段、を具備し、
前記位置特定手段は、前記セル生成手段が生成したセル単位で前記位置の特定を行う、
ことを特徴とする請求項６記載の帳票認識装置。
【請求項１５】
前記文字列が含まれる領域であるセルを生成するセル生成手段と、
前記セル生成手段が生成したセルのなかで、前記帳票上にデータとして記入される文字列用であり、且つ同じ方向上に連続する複数のセルを対象に補正を行うセル補正手段と、
を更に具備することを特徴とする請求項６記載の帳票認識装置。
【請求項１６】
帳票上に任意の表構造で存在する文字列の認識を行う帳票認識装置において、
前記帳票の電子化された帳票画像を取得する画像取得手段と、
前記帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある見出し文言が階層構造で定義されているデータベースを格納した記憶手段と、
前記画像取得手段が取得した前記帳票画像上に存在する文字列を認識する文字列認識手段と、
前記記憶手段に格納されたデータベースを参照して、前記文字列認識手段が認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出手段と、
前記文字列抽出手段による抽出結果を基に、前記帳票画像上に存在する前記単位表構造の範囲を抽出し、該抽出した範囲内で認識されている前記見出し文言、及び該単位表構造でデータとして認識される文字列のうちの少なくとも一方に着目して、該データに対応する見出し文言を追加する見出し追加手段と、
前記見出し追加手段が追加した見出し文言を含め、該見出し文言と該見出し文言以外に前記文字列認識手段が認識している文字列との間の対応関係を特定する対応関係特定手段と、
を具備することを特徴とする帳票認識装置。
【請求項１７】
前記階層構造は、１つ以上の見出し文言が定義される第１の層、該第１の層で定義された見出し文言を代表し、他の見出し文言と置換可能な見出し文言である第１の代表見出し
が定義された第２の層、及び前記表構造で該第１の代表見出しの上位に位置する見出し文言である第２の代表見出しが定義される第３の層を含み、
前記見出し追加手段は、前記文字列抽出手段による前記第２の代表見出しの抽出結果を基に、該第２の代表見出しを有する前記単位表構造の範囲を抽出し、該抽出した範囲内で認識されている前記第１の代表見出し、及び該単位表構造でデータとして認識される文字列のうちの少なくとも一方に着目して、該データに対応する第１の代表見出しを追加する、
ことを特徴とする請求項１６記載の帳票認識装置。
【請求項１８】
帳票上に任意の表構造で存在する文字列の認識を行う帳票認識装置において、
前記帳票の電子化された帳票画像を取得する画像取得手段と、
前記画像取得手段が取得した前記帳票画像上に存在する文字列を認識する文字列認識手段と、
前記文字列認識手段が認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した見出し文言、及び前記見出し文言の前記帳票画像上の配置に基づいて、該帳票画像上に存在する表構造を判定する表構造判定手段と、
前記文字列抽出手段による抽出結果を基に、前記文字列認識手段が認識していない見出し文言が存在する前記帳票画像上の位置を特定する位置特定手段と、
前記位置特定手段が特定した位置に存在すべき見出し文言を生成する文言生成手段と、
前記文字列抽出手段による抽出結果を基に、前記帳票画像上に存在する前記単位表構造の範囲を抽出し、該抽出した範囲内で認識されている前記見出し文言、及び該単位表構造でデータとして認識される文字列のうちの少なくとも一方に着目して、該データに対応する見出し文言を追加する見出し追加手段と、
前記表構造判定手段による前記表構造の判定結果を用いて、前記文言生成手段が生成した見出し文言、及び前記見出し追加手段が追加した見出し文言を含め、該見出し文言と該見出し文言以外に前記文字列認識手段が認識している文字列との間の対応関係を特定する対応関係特定手段と、
を具備することを特徴とする帳票認識装置。
【請求項１９】
前記対応関係特定手段は、前記見出し文言別に定義された、該見出し文言の情報として存在する文字列に付される可能性のあるシンボルに関する付帯情報を参照して、前記対応関係を特定する、
ことを特徴とする請求項１、６、１６、又は１８記載の帳票認識装置。
【請求項２０】
帳票上に任意の表構造で存在する文字列の認識を行うための方法であって、
前記帳票の電子化された帳票画像を取得する画像取得工程と、
前記画像取得工程で取得した前記帳票画像上に存在する文字列を認識する文字列認識工程と、
前記文字列認識工程で認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出工程と、
前記文字列抽出工程で抽出した見出し文言、及び前記見出し文言の前記帳票画像上の配置に基づいて、該帳票画像上に存在する表構造を判定する表構造判定工程と、
前記表構造判定工程での前記表構造の判定結果を用いて、前記見出し文言と該見出し文言以外に前記文字列認識工程で認識している文字列との間の対応関係を特定する対応関係特定工程と、
を有することを特徴とする帳票認識方法。
【請求項２１】
帳票上に任意の表構造で存在する文字列の認識を行うための方法であって、
前記帳票の電子化された帳票画像を取得する画像取得工程と、
前記画像取得工程で取得した前記帳票画像上に存在する文字列を認識する文字列認識工程と、
前記文字列認識工程で認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出工程と、
前記文字列抽出工程で抽出した結果を基に、前記文字列認識工程で認識していない見出し文言が存在する前記帳票画像上の位置を特定する位置特定工程と、
前記位置特定工程で特定した位置に存在すべき見出し文言を生成する文言生成工程と、
前記文言生成工程で生成した見出し文言を含め、該見出し文言と該見出し文言以外に前記文字列認識工程で認識している文字列との間の対応関係を特定する対応関係特定工程と、
を有することを特徴とする帳票認識方法。
【請求項２２】
帳票上に任意の表構造で存在する文字列の認識を行うための方法であって、
前記帳票の電子化された帳票画像を取得する画像取得工程と、
前記画像取得工程で取得した前記帳票画像上に存在する文字列を認識する文字列認識工程と、
前記帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある見出し文言が階層構造で定義されているデータベースを参照して、前記文字列認識工程で認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出工程と、
前記文字列抽出工程での抽出結果を基に、前記帳票画像上に存在する前記単位表構造の範囲を抽出し、該抽出した範囲内で認識されている前記見出し文言、及び該単位表構造でデータとして認識される文字列のうちの少なくとも一方に着目して、該データに対応する見出し文言を追加する見出し追加工程と、
前記見出し追加工程で追加した見出し文言を含め、該見出し文言と該見出し文言以外に前記文字列認識工程で認識している文字列との間の対応関係を特定する対応関係特定工程と、
を有することを特徴とする帳票認識方法。
【請求項２３】
請求項１、６、１６、または１８記載の帳票認識装置による前記帳票上の文字列の認識に用いることが可能なデータベースの作成を支援する装置であって、
前記見出し文言を入力する文言入力手段と、
前記文言入力手段が入力した見出し文言の間の階層構造を生成する階層構造生成手段と、
を具備することを特徴とするデータベース作成支援装置。
【請求項２４】
前記文言入力手段は、前記帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある２つ以上の見出し文言、及び該２つ以上の見出し文言間の階層関係を入力単位として入力し、
前記階層構造生成手段は、前記入力単位間で共通する見出し文言、及び各入力単位で示されている階層関係を基に、３層以上の階層構造を生成する、
ことを特徴とする請求項２３記載のデータベース作成支援装置。
【請求項２５】
前記階層構造生成手段が生成した見出し文言の間の階層構造に対応する前記単位表構造のデザイン画像を生成して出力する画像生成手段、
を更に具備することを特徴とする請求項２３記載のデータベース作成支援装置。
【請求項２６】
請求項１、６、１６、または１８記載の帳票認識装置による前記帳票上の文字列の認識に用いることが可能なデータベースの作成をコンピュータにより支援する方法であって、
前記見出し文言を入力する文言入力工程と、
前記文言入力手工程で入力された見出し文言の間の階層構造を生成する階層構造生成工程と、
を有することを特徴とするデータベース作成支援方法。
【請求項２７】
帳票上に任意の表構造で存在する文字列の認識を行う帳票認識装置として用いることが可能なコンピュータに、
前記帳票の電子化された帳票画像を取得する画像取得機能と、
前記画像取得機能により取得した前記帳票画像上に存在する文字列を認識する文字列認識機能と、
前記文字列認識機能により認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出機能と、
前記文字列抽出機能により抽出した見出し文言、及び前記見出し文言の前記帳票画像上の配置に基づいて、該帳票画像上に存在する表構造を判定する表構造判定機能と、
前記表構造判定機能による前記表構造の判定結果を用いて、前記見出し文言と該見出し文言以外に前記文字列認識機能により認識している文字列との間の対応関係を特定する対応関係特定機能と、
を実現させるためのプログラム。
【請求項２８】
帳票上に任意の表構造で存在する文字列の認識を行う帳票認識装置として用いることが可能なコンピュータに、
前記帳票の電子化された帳票画像を取得する画像取得機能と、
前記画像取得機能により取得した前記帳票画像上に存在する文字列を認識する文字列認識機能と、
前記文字列認識機能により認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出機能と、
前記文字列抽出機能により抽出した結果を基に、前記文字列認識機能で認識していない見出し文言が存在する前記帳票画像上の位置を特定する位置特定機能と、
前記位置特定機能により特定した位置に存在すべき見出し文言を生成する文言生成機能と、
前記文言生成機能により生成した見出し文言を含め、該見出し文言と該見出し文言以外に前記文字列認識機能により認識している文字列との間の対応関係を特定する対応関係特定機能と、
を実現させるためのプログラム。
【請求項２９】
帳票上に任意の表構造で存在する文字列の認識を行う帳票認識装置として用いることが可能なコンピュータに、
前記帳票の電子化された帳票画像を取得する画像取得機能と、
前記画像取得機能により取得した前記帳票画像上に存在する文字列を認識する文字列認識機能と、
前記帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある見出し文言が階層構造で定義されているデータベースを参照して、前記文字列認識機能により認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出機能と、
前記文字列抽出機能による抽出結果を基に、前記帳票画像上に存在する前記単位表構造の範囲を抽出し、該抽出した範囲内で認識されている前記見出し文言、及び該単位表構造でデータとして認識される文字列のうちの少なくとも一方に着目して、該データに対応する見出し文言を追加する見出し追加機能と、
前記見出し追加機能により追加した見出し文言を含め、該見出し文言と該見出し文言以外に前記文字列認識手段により認識している文字列との間の対応関係を特定する対応関係特定機能と、
を実現させるためのプログラム。
【請求項３０】
請求項１、６、１６、または１８記載の帳票認識装置による前記帳票上の文字列の認識に用いることが可能なデータベースの作成を支援するデータベース作成支援装置として用いることが可能なコンピュータに、
前記見出し文言を入力する文言入力機能と、
前記文言入力手機能で入力された見出し文言の間の階層構造を生成する階層構造生成機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票上に任意の表構造で存在する文字列の認識を行うための技術に関する。
【背景技術】
【０００２】
企業では、様々な業務で帳票が用いられている。例えば金融機関では、複数の帳票を用意し、顧客が帳票に書き込んだ情報を基に、その顧客が所望するサービスを提供することが行われている。そのサービスを提供するための処理をセンターで集中的に行う場合には、帳票は電子化してセンターに転送される。
【０００３】
帳票の電子化では通常、その帳票に記載された内容の認識（文字認識）が行われる。帳票認識装置は、帳票上に記載された内容を、画像読取装置が読み取ることで電子化されたその画像を用いて認識するものである。上記センターに転送された帳票、即ち帳票認識装置による認識結果は、オペレータによって必要に応じて修正可能となっているのが普通である。
【０００４】
帳票は、任意の表構造で情報（文字列）が配置されたものである。このことから、帳票画像上で文字認識すべき文字列を認識させるための方法として、認識対象とする帳票のレイアウト構造を登録するというものがある。その方法では、登録されたレイアウト構造により、読み取られた帳票画像上で文字認識すべき文字列が存在する領域を直ちに特定することができる。登録されたレイアウト構造から、読み取られた帳票画像に対応するレイアウト構造を自動的に抽出させることもできる（特許文献７）。レイアウト構造の登録は、帳票画像からレイアウトの特徴を抽出して自動的に行わせることもできる（特許文献６）。
【０００５】
企業等で扱う帳票は通常１種類ではない。多数の種類が存在するのが普通である。何らかの理由により、帳票のデザイン（レイアウト）を変更することも多い。金融機関では、予め用意された帳票を顧客側が常に使用するとは限らない。つまり顧客は、独自の帳票を用いてサービスを要求する場合がある。このようなことから、従来の帳票認識装置のなかには、特定の帳票に関するレイアウト構造を登録することなく、帳票認識、即ち帳票上に記載された内容を認識できるようにしたものがある（特許文献１〜３）。しかし、特許文献１〜３にそれぞれ記載の従来の帳票認識装置は何れも、以下のように汎用性は低く、実用的ではなかった。
【０００６】
特許文献１に記載の従来の帳票認識装置では、帳票から読み取るべき項目名、その項目名の内容を認識するための情報を用意して、各項目名の内容を認識する。しかし、帳票のなかには、一つのデータ（記載）に複数の項目名が割り当てられている、或いは同じ項目名が複数、異なる用途のために記載されている、といったものが存在する。従い、認識可能な帳票の種類は限定されていた。
【０００７】
特許文献２に記載の従来の帳票認識装置では、全ての項目名が一つの枠内に配置されていることを前提に、予め設定した規則性を有する枠を項目枠、他の枠をデータ枠として文字認識を行うようになっている。しかし、帳票のなかには、項目名を示す文字列が枠内に配置されていない、或いは１枠に複種類の文字列が配置される、といったものが存在する。後者は、例えば印刷された項目名が配置された枠内に、顧客がデータを記載するようになっているものが相当する。
【０００８】
特許文献３に記載の従来の帳票認識装置では、帳票の種類毎に、その帳票に記載される
項目名をグルーピングして、読み取った帳票上に存在する項目名が属するグループを抽出し、抽出したグループから候補となる帳票の種類（論理構造）を推測するようになっている。しかし、各グループには、一つ以上の項目名が属していることから、各グループが持つ情報量は小さい。なぜなら、各グループの情報はグループに属する全ての項目名に関係するものとなるからである。このため、注文書、及び入会申込書の何れであるかといったようなレベルでしか帳票の種類を認識することはできない。
【０００９】
特許文献３に記載の従来の帳票認識装置では、各項目名のデータの型は、その項目名が属するグループに対応するスキーマ情報が示すデータ型と照合することにより、それらが一致するか否か確認し、その確認結果を帳票の種類の認識に利用するとしている。しかし、その確認は、事実上、項目名に対応する記載（データ）の特定にしか利用できない。なぜなら、項目名とその項目名で記載されるデータ型との間には通常、非常に高い確率で成立する関係が存在するからである。具体的には、例えば「金額」、「単価」及び「支払額」といった１グループにまとめることが可能な項目名では、何れもデータは数値で表現するのが普通だからである。
【００１０】
帳票では、項目名に対応する可能性が考えられるデータは複数、存在することも多い。このため、項目名とデータの対応関係を特定する必要があるのが普通である。項目名によってデータ型は異なる場合があることから、データ型は項目名に対応するデータを特定するための情報として用いることができる（特許文献１）。上記照合は、当然のことながら、その対応関係を特定した後でなければ行うことはできない。従って、その照合を行えるのであれば、項目名毎にそれに対応するデータが記載されている領域が予め特定可能となっているか、或いはその特定を行う必要がないほど帳票はシンプルなデザインとなっていなければならない。このことからも、非常に低いレベルでしか帳票の種類を認識できないことが分かる。
【特許文献１】特開平９−２７４６３４号公報
【特許文献２】特開平１０−１１６３１４号公報
【特許文献３】特開２００６−１３４１０６号公報
【特許文献４】特開平１１−１１０４７９号公報
【特許文献５】特開２０００−３３９４０６号公報
【特許文献６】特許第３０８８０１９号公報
【特許文献７】特開２００４−１６４６７４号公報
【特許文献８】特開２００４−３３４９１３号公報
【特許文献９】特許第３４６５６６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、記載内容を認識するための情報をデザインが異なる個々の帳票毎に登録することなく、幅広く帳票に対応可能とするための技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明を適用して構築可能な帳票認識装置は何れも、帳票上に任意の表構造で存在する文字列の認識を行うものであり、それぞれ以下の手段を具備する。
本発明の一態様を適用した帳票認識装置は、帳票の電子化された帳票画像を取得する画像取得手段と、画像取得手段が取得した帳票画像上に存在する文字列を認識する文字列認識手段と、文字列認識手段が認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出手段と、文字列抽出手段が抽出した見出し文言、及び見出し文言の帳票画像上の配置に基づいて、該帳票画像上に存在する表構造を判定する表構造判定手段と、表構造判定手段による表構造の判定結果を用いて、見出し文言と該見出し文言以外に文字列認識手段が認識している文字列との間の対応関係を特定する対応関係特定手段と
、を具備する。
【００１３】
帳票上に存在する表構造は、帳票の用途（種別、或いは形式等）によって特有の特徴を備えている。その特徴は、項目名の配置に現れる。表構造に配置される項目名の範囲、つまりその表構造で入力（記入）される可能性が考えられるデータの種類、及び数は、帳票の用途（種別、或いは形式等）によって特定することができる。これらのことから、見出し文言として項目名のような同じ表構造、及び同じ用途の帳票に共通する文字列を採用することにより、抽出した見出し文言を通して、帳票に記入されるデータの種類や数を特定することができる。見出し文言の配置を通して、帳票の表構造を特定することができる。これらの結果、記載内容を認識するための情報を帳票毎に登録しなくとも、幅広く帳票に高精度に対応できることとなる。
【００１４】
本発明の他の一態様を適用した帳票認識装置は、帳票の電子化された帳票画像を取得する画像取得手段と、画像取得手段が取得した帳票画像上に存在する文字列を認識する文字列認識手段と、文字列認識手段が認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出手段と、文字列抽出手段が抽出した結果を基に、文字列認識手段が認識していない見出し文言が存在する帳票画像上の位置を特定する位置特定手段と、位置特定手段が特定した位置に存在すべき見出し文言を生成する文言生成手段と、文言生成手段が生成した見出し文言を含め、該見出し文言と該見出し文言以外に文字列認識手段が認識している文字列との間の対応関係を特定する対応関係特定手段と、を具備する。
【００１５】
上記文字列認識手段が認識していない見出し文言とは、帳票上に記入されていない、或いは認識できなかったものである。認識できなかった見出し文言は、認識エラーが発生した文字列であるから、その位置は認識結果から特定することができる。帳票上に記入されていない見出し文言は、表構造に着目して特定することができる。その表構造は、帳票の用途（種別、或いは形式等）によって特有の特徴を備えており、その特徴は、認識されている見出し項目から特定できるからである。つまり、表構造の特定を通して、他の認識できている見出し文言との関係、或いは他の同一の表構造での認識結果を利用できるからである。それにより、認識していない見出し文言として、論理的な矛盾が表構造上、生じないものを割り当てることができる。このようなことから、見出し文言の抜け、或いは認識不能による悪影響は回避されるか、或いは低減される。この結果、記載内容を認識するための情報を帳票毎に登録することなく、認識エラーや記入漏れ等に適切に対応できることとなる。これは、認識エラーが発生する、或いは記入漏れ等が存在する帳票に幅広く対応できることを意味する。
【００１６】
本発明の他の一態様を適用した帳票認識装置は、帳票の電子化された帳票画像を取得する画像取得手段と、帳票上に１つ以上の関連するデータを記入する単位となる表構造である単位表構造毎に、該単位表構造で出現する可能性のある見出し文言が階層構造で定義されているデータベースを格納した記憶手段と、画像取得手段が取得した帳票画像上に存在する文字列を認識する文字列認識手段と、記憶手段に格納されたデータベースを参照して、文字列認識手段が認識した文字列のなかから予め定めた文字列である見出し文言を抽出する文字列抽出手段と、文字列抽出手段による抽出結果を基に、帳票画像上に存在する単位表構造の範囲を抽出し、該抽出した範囲内で認識されている見出し文言、及び該単位表構造でデータとして認識される文字列のうちの少なくとも一方に着目して、該データに対応する見出し文言を追加する見出し追加手段と、見出し追加手段が追加した見出し文言を含め、該見出し文言と該見出し文言以外に文字列認識手段が認識している文字列との間の対応関係を特定する対応関係特定手段と、を具備する。
【００１７】
帳票上に存在する表構造の特徴は、上述したように、認識されている見出し項目から特定できる。単位表構造に配置される項目名（見出し文言）の範囲、つまりその表構造で入
力（記入）される可能性が考えられるデータの種類、及び数は、帳票の用途（種別、或いは形式等）によって特定することができる。項目名によって、データとして入力される文字列の種類（属性）、文字数、付加される特有のシンボル、そのシンボルの位置、などに違いがある場合がある。これらのことから、認識されている見出し文言、及び単位表構造でデータとして認識される文字列のうちの少なくとも一方に着目して、そのデータに対応する見出し文言を高精度に特定することができる。それにより、記載内容を認識するための情報を帳票毎に登録することなく、オペレータにとってより望ましい形で帳票の認識結果を提供できることとなる。見出し文言の数が少なく、内容が把握し難い帳票をより適切な形で処理可能とすることから、幅広く帳票に対応できることとなる。
【００１８】
本発明の一態様のデータベース作成支援装置は、上記帳票認識装置が帳票上の文字列の認識に用いるデータベースの作成を支援するものであり、見出し文言を入力する文言入力手段と、文言入力手段が入力した見出し文言の間の階層構造を生成する階層構造生成手段と、を具備する。
【００１９】
上記階層構造を帳票上の文字列に用いる場合、より上位の概念での認識、或いは認識結果の確認等が可能となる。つまり文字列の認識や認識結果の確認等に必要な情報量はより抑えられるようになる。それにより、より高い汎用性がより容易に実現可能となる。
【発明の効果】
【００２０】
本発明を適用したシステムでは、記載内容を認識するための情報をデザインが異なる個々の帳票毎に登録することなく、幅広く帳票に対応することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による帳票認識装置の機能構成を示す図である。その帳票認識装置１は、帳票を読み取って得られる電子化された帳票画像を入力し、その帳票画像上に存在する文字列（１つ以上の文字から構成されるもの）を認識するものである。
【００２２】
その帳票認識装置１は、図１に示すように、スキャナ等により読み取られて電子化された帳票画像を入力する入力部１１と、入力部１１が入力した帳票画像上に存在する記載をその種類別、例えば図、表、及び文字（文字列）に分けて分離する図表文分離部１２と、図表文分離部１２によって分離される表から罫線を抽出する罫線抽出部１３と、表を罫線から認識するセルで分割し解析する表構造解析部１４と、表内外に存在する文字を抽出するテキスト抽出部１５と、テキスト抽出部１５が抽出した文字を認識する文字認識部１６と、帳票の種別を認識するための情報となる文字列をキーワードとして抽出するキーワード抽出部１７と、抽出されたキーワードを用いて帳票画像が読み取られた帳票の種別を判定する帳票種別判定部１８と、罫線によりセルを認識できない表の構造を解析する表構造解析（無罫線）部１９と、表の論理的な構造を解析し、認識すべき対象の候補を抽出する論理構造解析（項目候補抽出）部２０と、表上の詳細な解析を行うべき項目を解析する項目解析部２１と、認識すべき対象に割り当てる候補を確定する論理構造解析（項目確定）部２２と、認識結果を表示装置上、或いは通信ネットワーク等を介して送信する出力部２３と、その認識結果を不図示のデータベースに蓄積可能なデータベース蓄積部２４と、各種解析に用いられる論理構造解析データベース（ＤＢ）２５を格納する記憶部２６と、を備えている。
【００２３】
図２４〜図３０はそれぞれ、異なる種類の帳票例を示す図であり、図３１〜図３６はそれぞれ、異なる見出しで採用されるデザイン例を示す図である。始めに図２４〜図３６を参照して、本実施形態による帳票認識装置が認識の対象とする帳票について具体的に説明する。
【００２４】
図２４〜図３０において、図２４は指定の口座への払い込みを依頼するための単票、図２５は納入済みの税金の額を通知するための単票、図２６〜図２８はそれぞれ品物毎にその品物に係わるデータ（文字列）を記入する連記型の納品書、図２９は受取人毎に給与の振り込みを依頼するための連記型の振込依頼書、図３０は受取人毎に給与の振り込みを依頼するための複数表（振込用紙）をそれぞれ示している。図２４〜図３０から明らかなように、同じ種類に分類される帳票でもデザイン（表構造）は帳票毎に異なっている。ここでは、特に断らない限り、「種類」とはデザインで帳票を区別する場合に用いる。単票や納品書等の相違を表す場合は「種別（タイプ）」或いは「用途」を用いる。また、帳票画像上の「データ」は、利用者が帳票上に入力した文字列のみを指す意味で用いる。
【００２５】
図３１は、表記は異なるが同じ意味を持つ見出し文言のバリエーションを示す図である。図３１（ａ）〜（ｅ）に示すように、「金額」「納付金額」「給与分」「小計金額」及び「合計金額」は，支払い、或いは納付する金額を表現する文言として用いられることがある。
【００２６】
図３２は、同じ表記の見出し文言のデザインによって変化する意味を説明する図である。その見出し文言は「合計」が相当する。その合計の意味は図３２（ａ）では合計金額であるが、図３２（ｂ）では合計金額の他に合計口数（品数）の意味を持っている。図３２（ｃ）中、「１０／１０」は１０枚綴りの帳票のなかで最後の１枚であることを表している。それにより図３２（ｃ）では、１０枚綴りの全帳票での合計金額を意味している。
【００２７】
図３３は、口座番号を入力させる表構造のバリエーションを示す図である。図３３（ａ−１）及び（ａ−２）は同一の見出し文言で異なる金融機関の口座番号を入力させる場合のものである。口座番号として、図３３（ａ−１）では郵便局、図３３（ａ−２）では銀行等のものを記載することを想定している。図３３（ｂ）は、同一帳票内に依頼人、及び受取人の口座番号を入力可能とするために独立した２つの表（単位表構造）を採用した場合のものである。図３３（ｃ）は、同一帳票内に複数の受取人の口座番号を入力可能とするために１つの表（複数の単位表構造を有する表構造）を採用した場合のものである。図３３（ｄ）は、同一の帳票内に依頼人、及び複数の受取人の口座番号を入力可能とするために１つの表（複数の単位表構造を有する表構造）を採用した場合のものである。
【００２８】
図３４は、見出し文言とそれに対応するデータの位置関係例を説明する図である。その見出し文言は「口座番号」である。それにより図３４では、見出し文言である「口座番号」が存在する領域と、データである口座番号が存在する領域との間の位置関係のバリエーションを示している。
【００２９】
入力させる１データの見出し文言は常に一つであるとは限らない。例えば図３３（ｂ）〜（ｄ）に示すように、見出し文言「口座番号」の他に別の見出し文言「依頼人」或いは「受取人」が存在する場合がある。図３３（ｂ）〜（ｄ）では、論理的な上下関係において、見出し文言「依頼人」及び「受取人」は見出し文言「口座番号」の上位に配置されている。帳票では、表構造上、そのような見出し文言間の上下関係が存在する場合がある。本実施形態では、その上下関係（階層関係）を認識に利用している。以降、便宜的に、最上位に位置すると見なす見出し文言は「見出しＤＲ」、その見出しＤＲの次の階層に属する可能性が考えられる見出し文言は「見出しＧＲ」と呼ぶことにする。帳票毎に採用される見出し文言の違いを吸収するために、同じ状況で使用される可能性が考えられる見出し文言を代表する見出し文言（以降「代表見出し」）を用意している。その代表見出しは、重複しないようにしている。それにより各代表見出しは、１つ以上の見出し文言が属するグループを表す識別情報としての機能を備えている。
【００３０】
１つ以上の関連するデータ、例えば受取人、或いは依頼人に係わるデータを記入する単位となる表構造である単位表構造では、例えば図３３（ｃ）或いは（ｄ）に示すような単位表構造では、見出し文言「受取人」及び「依頼人」は見出しＤＲ或いはＧＲとして扱われ、見出し文言「口座番号」はその下位に位置する代表見出しとして扱われる。このことから、或る程度のデータを記入する必要のある表構造では、見出しＤＲ或いはＧＲが存在するのが普通である。
【００３１】
図３５及び図３６はそれぞれ、見出しＧＲ及び見出しＤＲに着目した表構造のバリエーションを示す図である。
図３５では、見出しＧＲは「振込先」が相当する。その見出しＧＲ「振込先」は、図３５（ａ）〜（ｄ）に示すように、他項目、つまり別の見出し文言を包含する位置に配置されるか、或いはデータを入力する入力欄が直接的に示す位置に配置される場合がある。また、図３５（ｅ）或いは（ｆ）に示すように、見出し文言として見出しＧＲ「振込先」を含むもの（図中では「振込先銀行名」）が採用される場合もある。図３５（ｇ）に示すように、見出しＧＲ「振込先」が存在しない場合もある。
【００３２】
図３６では、見出しＤＲは「受取人」が相当する。その見出しＤＲ「受取人」は、見出しＧＲとは異なり、図３６（ａ）〜（ｃ）に示すように、表構造が異なっても最上位と見なされる位置にその文言のまま配置される可能性が非常に高いものである。
【００３３】
本実施形態では、図２４〜図３６に示すように用途によって異なるだけでなく、様々なデザインが採用される帳票を想定した認識を実現させる。図１に戻り、それを実現させるための動作について詳細に説明する。図１において、二重線で示す構成要素には本発明の特徴を実現させるための技術が採用されている。このことから、二重線で示す構成要素を重視する形で説明する。説明上、便宜的に、論理構造解析ＤＢ２５の内容については、払込用、或いは振込み用といったような金融機関で使用されることが多い帳票に係わるもののみを想定する。
【００３４】
図表文分離部１２によって分離された表を構成する線である罫線は、罫線抽出部１２によって抽出される。表構造解析部１４は、罫線の抽出結果を用いて、表をセルに分解して構造を解析する。そのセルとは、サイズの概念がない領域のことである。表では、１文字、或いは文字列が記載される欄として用いられている可能性が考えられる領域となる。そのようにセルで文字列を扱うことにより、文字列を扱ううえで必要な情報量は少なくてすむようになる。つまり負荷を軽減しつつ、様々な操作がより容易に行えるようになる。
【００３５】
図２は、表構造解析部１４が実行する表構造解析処理のフローチャートである。図３７及び図３８は、その表構造解析処理を実行することで行われる解析内容を説明する図である。図２、図３７及び図３８を参照して、表構造解析部１４が行う解析について具体的に説明する。
【００３６】
先ず、ステップＳ１では、抽出された罫線があるか否か判定する。罫線の抽出を行った表（以降「対象表」）が図３７（ａ−１）に示すようなものであった場合、罫線抽出部１３は罫線を抽出できないことから、罫線は無いと判定され、ステップＳ２で表は罫線が無い無罫線表と判定した後、この表構造解析処理を終了する。そうでない場合には、つまり図３７（ａ−２）〜（ａ−４）の何れかのようなものであった場合には、抽出された罫線が存在することから、罫線は有ると判定され、ステップＳ３に移行する。
【００３７】
ステップＳ３では、抽出された罫線のなかに縦罫線があるか否か判定する。対象表が図３７（ａ−２）或いは（ａ−４）に示すようなものであった場合、縦罫線は有ると判定され、ステップＳ５に移行する。そうでない場合には、つまり図３７（ａ−３）に示すよう
なものであった場合には、縦罫線は無いと判定され、ステップＳ４で仮の縦罫線を対象表に応じて生成した後、ステップＳ７に移行する。その仮の縦罫線は、図３７（ｂ−１）及び（ｂ−２）に示すように、文字列（１つ以上、連なる文字）の横方向上の間隔が或る程度、広い所に生成する。
【００３８】
一方、ステップＳ５では、抽出された罫線のなかに横罫線があるか否か判定する。対象表が図３７（ａ−３）或いは（ａ−４）に示すようなものであった場合、横罫線は有ると判定され、上記ステップＳ７に移行する。そうでない場合には、つまり図３７（ａ−２）に示すようなものであった場合には、横罫線は無いと判定され、ステップＳ６で仮の横罫線を対象表に応じて生成した後、そのステップＳ７に移行する。その仮の横罫線は、仮の縦罫線と同様に、文字列の縦方向上の間隔が或る程度、広い所に生成する。
【００３９】
ステップＳ７では、図３７（ｃ−１）或いは（ｃ−２）に示すように、縦罫線と横罫線（共に仮の罫線を含む）が交わる交点を抽出する。次のステップＳ８では、抽出した交点の数が多いか少ないか判定する。その判定は、例えば交点を結ぶ線で分けられる矩形領域の数と対象表に存在する文字列の数を考慮して行われる。言い換えれば、１矩形領域に１文字列が対応する割合に着目して行われる。それにより、図３７（ｃ−２）に示すように交点が抽出された場合、交点は多いと判定され、ステップＳ１０に移行する。そうでない場合には、つまり図３７（ｃ−１）に示すように交点が抽出された場合には、交点は少ないと判定され、ステップＳ９に移行する。そのステップＳ９で仮の罫線を除去した後は上記ステップＳ２に移行する。
【００４０】
ステップＳ１０では、交点を結ぶ線で分けられる矩形領域を生成する。続くステップＳ１１では、斜行・歪み補正を行い、対象表をより適切な状態にさせる。その後は、ステップＳ１２で矩形領域の連結関係の精査を行い、ステップＳ１３でその精査の結果を反映させたセルの生成を行った後、この表構造解析処理を終了する。このようにして、表構造解析処理を実行することにより、帳票画像上に存在する罫線に着目し、文字列が配置される領域がセルとして生成・抽出される。
【００４１】
図３８は、表構造によって生成されるセルを示す図である。図３８（ａ）〜（ｅ）に示すように、線で囲まれた矩形領域はそれぞれセルとして扱われ、連結しているか否かに応じて矩形領域はまとめられる。連結関係の精査は、矩形領域（セル）のまとまりを特定するために行われる。
【００４２】
例えば図３８に示すように、関係するデータは１つの表内に入力させるデザインが採用される場合が多い。見出し文言（例えば項目名）、或いはデータが入力される欄間の位置関係には、データを適切に入力できるように配慮されているのが普通である。連結関係を精査してセルを生成するのは、その位置関係の特定をより容易とさせて、その位置関係を考慮した認識を行えるようにするためである。
【００４３】
図１のテキスト抽出部１５は、セルが生成されていればセル毎にそのセル内に存在する文字列を抽出する。セルが生成されていない範囲でも文字列の抽出を行う。抽出した文字列は、文字認識部１６によって文字に分割して認識される。その認識結果がキーワード抽出部１７に入力される。そのキーワード抽出部１７以降、文字列としては認識結果が用いられる。
【００４４】
同じデータを入力させるための見出し文言は帳票によって異なる場合がある。何らかの理由によって見出し文言の１文字以上が認識できない可能性もある。このことから本実施形態では、帳票毎に用いられる見出し文言だけではなく、その見出し文言に対応する代表見出しを用いて見出し文言の確認を行うようにしている。代表見出し、及びその代表見出
しが割り当てられる見出し文言は、例えば図４３（ａ）〜（ｃ）に示すように定義される。
【００４５】
論理構造解析ＤＢ２５には、代表見出し毎に、その代表見出しが割り当てられる見出し文言を示す情報が格納されている。キーワード抽出部１７は、そのＤＢ２５を参照して、帳票画像上に存在する見出し文言を抽出し、抽出した見出し文言に対応する代表見出しを特定する。
【００４６】
図３は、キーワード抽出部１７が実行するキーワード抽出処理のフローチャートである。ここで図３を参照して、その抽出処理について詳細に説明する。
先ず、ステップＳ２１では、業種別ＤＢが指定されているか否か判定する。業種が指定されていない場合、判定はＮＯとなり、ステップＳ２２で論理構造解析ＤＢ２５を参照して、登録されている見出し文言を読み込んだ後、ステップＳ２４に移行する。そうでない場合には、つまり業種が指定されていた場合には、判定はＹＥＳとなり、ステップＳ２３で対応する業種別ＤＢを参照して、登録されている見出し文言を読み込んだ後にステップＳ２４に移行する。ここで読み込む見出し文言の総数はＮ個とする。
【００４７】
論理構造解析ＤＢ２５は、業種を問わない汎用性の高いＤＢである。このため、登録されている見出し文言は非常に多い。しかし、見出し文言数は、業種を限定すればより少なくて済む。このことから本実施形態では、業種別ＤＢを用意し、不要な負荷を軽減できるようにさせている。論理構造解析ＤＢ２５は、業種別ＤＢとして用いることができるようなものとしても良い。
【００４８】
ステップＳ２４では、読み込んだ見出し文言は代表見出し毎に、見出し文言の同一文字並び順の文字単位ソートを行う。続くステップＳ２５では、見出し合格点ＭＴｔｈを設定する。その後はステップＳ２６に移行する。
【００４９】
図３９は、見出し文言のソート方法を示す図である。ここでは、代表見出し「金額」が割り当てられた見出し文言のなかで「金額」「納付金額」及び「納付額」が帳票画像上に存在した場合を例にとって、それら見出し文言「金額」「納付金額」及び「納付額」のソート方法を示している。同じ文字の同じ並びの順番を重視してソートするために、１位の見出し文言を「納付額」とすると、２位には同じ「納付」を有する「納付金額」がソートされ、３位には「金額」が一致する「金額」がソートされる。このようなことから、図３中にソート結果で表記の「Ｃ１」〜「Ｃ６」は何れも異なる文字を表している。
【００５０】
図３において、ステップＳ２６〜Ｓ３１は、読み込んだ見出し文言の総数Ｎ回、繰り返し実行される。それにより登録されている見出し文言毎に、ステップＳ２６〜Ｓ３１は実行される。
【００５１】
同一の見出し文言は複数、存在する場合がある。例えば項目名としての他に、説明等のためのコメント文のなかに存在することがある。このことから、そのうちのステップＳ２７〜Ｓ３１は、探索により抽出された見出し文言数（図中「探索数」と表記）分、繰り返し実行される。それにより、同じ見出し文言であってもそれらの間の相違を確認するようにしている。
【００５２】
ステップＳ２６では、ソートした見出し文言のうちの一つを選択し、選択した見出し文言を探索する。その探索により、見つかった同じ見出し文言数分、ステップＳ２７〜Ｓ３１が繰り返し実行される。
【００５３】
帳票によっては、登録した見出し文言以外の文字列を用いている可能性がある。このこ
とからステップＳ２７では、探索により抽出した見出し文言と登録されている見出し文言との一致度を表す見出し得点ＭＴｎ（ｎはｎ番目に探索された見出し文言の得点であることを表すシンボルである。特に探索された順番を考慮する必要がないような場合には「ＭＴ」とも表記する）を算出する見出し得点算出処理を実行する。その実行後はステップＳ２８に移行する。
【００５４】
ステップＳ２８では、算出した見出し得点ＭＴｎは見出し合格点ＭＴｔｈ以上か否か判定する。その大小関係が満たされている場合、判定はＹＥＳとなり、ステップＳ２９で見出し文言がコメント文に含まれている可能性を判定するためのコメント判定処理を実行してからステップＳ３０に移行する。そうでない場合には、判定はＮＯとなり、一連の処理を終了する。それにより、今回、対象とした見出し文言はキーワードとは見なさない。このようなことから見出し合格点ＭＴｔｈは、抽出した見出し文言のなかでキーワードとはならないものを排除するための閾値として用いられる。
【００５５】
コメント判定処理では、ステップＳ２７の見出し得点算出処理で算出された見出し得点ＭＴｎの更新が行われる。ステップＳ３０では、更新後の見出し得点ＭＴｎから見出し文言がコメント文に含まれているか否か判定する。例えば、その見出し得点ＭＴｎが閾値として設定された値より小さい場合、判定はＹＥＳとなり、ここで一連の処理を終了する。それにより、見出し文言はキーワードとは見なさない。一方、そうでない場合には、判定はＮＯとなり、ステップＳ３１で見出し（キーワード）候補として見出し文言を登録した後、一連の処理を終了する。
【００５６】
このようにして、探索により抽出した見出し文言は、登録された見出し文言（以降「登録見出し文言」とも表記する）とは明らかに異なっていない、或いはコメント文に含まれていると見なされない場合、その見出し文言が抽出されたセルを示すセルＩＤ、見出し得点、その得点が得られた登録見出し文言、及び代表見出しといった情報と共に登録される。それにより、見出し文言には複数の同じ代表見出し、つまり同じ代表見出しが割り当てられた複数の登録見出し文言が存在する可能性がある。見出し文言に対応する代表見出しは１つである。同じ代表見出しが割り当てられた複数の登録見出し文言のなかから一つを選択することを含む整理は、ステップＳ３２以降で行われる。
【００５７】
ステップＳ３２では、探索により抽出した見出し文言順に結果をソートする。続くステップＳ３３では、同じ見出し文言の結果を代表見出し順にソートする。その次に移行するステップＳ３４では、探索により抽出した見出し文言のなかに同じ代表見出しが割り当てられた登録見出し文言が複数、存在するものがあるか否か判定する。そのような見出し文言が存在する場合、判定はＹＥＳとなり、ステップ３５で複数の登録見出し文言のなかから見出し得点ＭＴが最高のもの以外を削除した後、このキーワード抽出処理を終了する。そうでない場合には、判定はＮＯとなり、ここでこのキーワード抽出処理を終了する。このようにして抽出され整理された見出し文言は、セルＩＤや代表見出し、見出し得点、及び登録見出し文言と共にキーワードＤＢ３１に登録される。
【００５８】
図４は、上記ステップＳ２７として実行される見出し得点算出処理のフローチャートである。ここで図４を参照して、その算出処理について詳細に説明する。図４中の「ＭＬ」及び「ＭＬＯ」はそれぞれ、登録見出し文言の文字数、抽出された見出し文言で登録見出し文言と一致した文字数をそれぞれ表している。
【００５９】
この算出処理では、登録見出し文言の文字数ＭＬ別に、一致文字数ＭＬＯに応じた見出し点数ＭＴの算出を行うようになっている。その点数ＭＴの初期値は０であり、その点数ＭＴは以下のように更新される。
【００６０】
文字数ＭＬが１であれば、見出し点数ＭＴとして一致文字数ＭＬＯに１００を乗算した値が算出される（Ｓ４１→Ｓ４２）。文字数ＭＬが２であれば、見出し点数ＭＴとして、一致文字数ＭＬＯが１であれば７０（Ｓ４１→Ｓ４３→Ｓ４４→Ｓ４５）、その一致文字数ＭＬＯが２であれば１００（Ｓ４１→Ｓ４３→Ｓ４４→Ｓ４６→Ｓ４７）に更新され、その一致文字数ＭＬＯが１及び２以外の数値、つまり０であれば０のままとなる（Ｓ４１→Ｓ４３→Ｓ４４→Ｓ４６→ｅｎｄ）。文字数ＭＬが３であれば、見出し点数ＭＴとして、一致文字数ＭＬＯが２であれば７０（Ｓ４１→Ｓ４３→Ｓ４８→Ｓ４９→Ｓ５０）、その一致文字数ＭＬＯが３であれば１００（Ｓ４１→Ｓ４３→Ｓ４８→Ｓ４９→Ｓ５１→Ｓ５２）に更新され、その一致文字数ＭＬＯが１及び２以外の数値、つまり０であれば０のままとなる（Ｓ４１→Ｓ４３→Ｓ４８→Ｓ４９→Ｓ５１→ｅｎｄ）。文字数ＭＬが３より大きければ、見出し点数ＭＴとして、一致文字数ＭＬＯに１００を乗算した値を文字数ＭＬで割って得られる値（＝ＭＬＯ＊１００／ＭＬ）が算出される（Ｓ４１→Ｓ４３→Ｓ４８→Ｓ５３→Ｓ５４）。見出し得点算出処理は、見出し点数ＭＴを更新した後に終了する。このような更新方法は一例であり、特に限定されるものではない。
【００６１】
図４０は、抽出された見出し文言で算出される見出し得点ＭＴ例を示す図である。図４０（ａ）は代表見出し毎に見出し文言をソートした結果、図４０（ｂ−１）は抽出された見出し文言「納付？額」（「？」は文字認識に失敗した文字を表す）の処理結果、図４０（ｂ−２）は抽出された見出し文言「納付＊」（「＊」は内容、文字数が不明な文字列を表す）の処理結果、をそれぞれ示している。図４０（ｂ−２）では、同じ代表見出しが複数（二つ）存在している。図４０（ｂ−１）及び（ｂ−２）では、図４に示す見出し得点算出処理内で見出し得点ＭＴが算出される処理ステップを併せて表記している。図４０（ｂ−１）或いは（ｂ−２）に示すような処理結果は、図４のステップＳ３３を実行することで得られる。
【００６２】
図４４は、図４３（ｃ）に示す内容が論理構造解析ＤＢ２５に格納されている場合に算出される見出し得点ＭＴｎを説明する図である。図４４（ａ）は代表見出し「金額」の認識に成功した場合、図４４（ｂ）はその１文字の認識に失敗した場合を示している。
【００６３】
図４２は、キーワードＤＢ３１に登録される内容例を示す図である。図４０に示すように、探索により抽出された見出し文言（図中「探索文字列」と表記。以降、その表記も用いる）には、同じ代表見出しが割り当てられた登録見出し文言が複数、抽出される場合がある。その場合、見出し得点ＭＴが最も高い登録見出し文言のみが残される。それにより、探索文字列「Ｍ１」では、登録見出し文言「ＭＧ４」及び「ＭＧ５」のなかで文言「ＭＧ４」のみが残されることになる。探索文字列「Ｍ３」では、登録見出し文言「ＭＧ３」及び「ＭＧ６」の得点ＭＴは共に１００であり、登録見出し文言「ＭＧ７」の得点ＭＴは７０であることから、登録見出し文言「ＭＧ３」及び「ＭＧ６」の２つが残ることになる。そのように複数の登録見出し文言が残っても良いことにしているのは、処理対象として不必要と思われるものを省くことを主眼にしているからである。
【００６４】
図５は、図３に示すキーワード抽出処理内でステップＳ２９として実行されるコメント判定処理のフローチャートである。次に図５を参照して、その判定処理について詳細に説明する。
【００６５】
図４１（ａ）〜（ｄ）に示すように、項目名となっている見出し文言「金額」は、同じ枠（セル）内、或いは表外に説明用、つまりコメント文として存在する場合がある。説明用の場合、他の文字列と共に存在する（図４１（ａ）〜（ｄ））、及び色、若しくは大きさが異なる（図４１（ｃ）或いは（ｄ））、といった条件のうちの少なくとも一つを満たしているのが普通である。見出し文言がコメント文を構成するものか否かは、そのような条件に着目して行っている。見出し得点ＭＴｎは、満たしている条件に応じて更新される
。
【００６６】
先ずステップＳ６２では、「＊」括弧記号、或いは「注意」等のコメント文に存在する可能性が高いシンボルが見出し文言の近くにあるか否か判定する。そのようなシンボルが近くにある場合、判定はＹＥＳとなり、ステップＳ６３で所定値ＣＭ１を見出し点数ＭＴｎから減算した後、ステップＳ６４に移行する。そうでない場合には、判定はＮＯとなって、そのステップＳ６４に移行する。
【００６７】
ステップＳ６４〜Ｓ６９では、同様に、見出し文言が満たしている条件に応じて見出し得点ＭＴｎを更新するための処理が行われる。それにより、見出し文言の左右上下の何れかに文字が存在していれば所定値ＣＭ２を見出し得点ＭＴｎから減算し（Ｓ６４→Ｓ６５→Ｓ６６）、見出し文言の色が周囲の文字、或いは罫線の色と異なれば所定値ＣＭ３を減算し判定し（Ｓ６４或いはＳ６５→Ｓ６６→Ｓ６７）、文字サイズが他の文字と比較して極端に（明らかに）小さい、或いは大きければ所定値ＣＭ４を減算する（Ｓ６６或いはＳ６７→Ｓ６８→Ｓ６９）。所定値ＣＭ４の減算、或いはステップＳ６８でのＮＯの判定によりステップＳ７０に移行する。
【００６８】
ステップＳ７０では、見出し得点ＭＴｎの値は見出し合格点ＭＴｔｈ未満か否か判定する。その大小関係が満たされている場合、判定はＹＥＳとなり、ここでコメント判定処理を終了する。そうでない場合には、判定はＮＯとなり、ステップＳ７１で見出し得点ＭＴｎに所定値ＣＭ０を加算した後、このコメント判定処理を終了する。それにより、コメント文に含まれると見なすべきでない見出し文言には見出し得点ＭＴｎをより上げる操作を行っている。
【００６９】
キーワード抽出部１７では、上述したような各種処理が実行され、その実行結果として得られたキーワード、及びそれに係わる情報がキーワードＤＢ３１に格納される。帳票種別判別部１８は、そのキーワードＤＢ３１を参照して、帳票の種別（タイプ）を判定する。それにより、ここでは帳票が単票、連記及び複数票のうちの何れであるか特定する。
【００７０】
図６は、帳票種別判別部１８が実行する帳票種別判定処理のフローチャートである。ここで図６を参照して、その判定処理について詳細に説明する。
先ず、ステップＳ８１では、帳票種別が定義済みか否か判定する。例えば帳票種別をオペレータが指定した、或いは帳票種別を示す情報が帳票上に存在していたような場合、判定はＹＥＳとなり、ステップＳ８２で帳票種別を設定した後、ステップＳ９４に移行する。その何れでも無いような場合には、判定はＮＯとなってステップＳ８３に移行する。
【００７１】
ステップＳ８３では、無罫線表か否か判定する。図２に示す表構造解析処理を実行した結果、無罫線表と判定した場合、判定はＹＥＳとなってステップＳ８５に移行する。そうでない場合には、判定はＮＯとなり、ステップＳ８４で無罫線表の構造を判定するための表構造判定処理を実行してから、そのステップＳ８５に移行する。
【００７２】
ステップＳ８５では、見出し文言に着目して帳票の種別を判定するための見出し文言判定処理を実行する。その実行後は、ステップＳ８６に移行して、最大値ＭａｘＳｙｕを算出する。その算出後はステップＳ８７に移行する。
【００７３】
上記表構造判定処理では、帳票の種別毎に、得点を算出するための変数を用意し、その変数に代入した得点を必要に応じて更新するようになっている。その変数は複数票ではＦＲＴ、単票ではＴＲＴ、連記ではＲＰＴである。見出し文言判定処理でも必要に応じて、それら変数の値（得点）を更新するようになっている。ステップＳ８６での最大値ＭａｘＳｙｕの算出は、それら変数のうち例えば変数ＦＲＴ及びＲＰＴの各値を用いて行われる
。その算出方法は、特に限定するものではないが、例えばそれらの値を加算するものも含まれる。
【００７４】
ステップＳ８７では、最大値ＭａｘＳｙｕは表らしさの最低点ＳｙｕＴｈより大きいか否か判定する。最大値ＭａｘＳｙｕが最低点ＳｙｕＴｈ以下であった場合、判定はＮＯとなり、ステップＳ８８で種別は単票と設定した後、上記ステップＳ９４に移行する。そうでない場合には、判定はＹＥＳとなってステップＳ８９に移行する。
【００７５】
ステップＳ８９では、最大値ＭａｘＳｙｕは変数ＰＲＴの値か否か判定する。３つの変数のなかで変数ＰＲＴの値が最も大きかった場合、判定はＹＥＳとなり、ステップＳ９０で種別は連記と設定した後、上記ステップＳ９４に移行する。そうでない場合には、判定はＮＯとなってステップＳ９１に移行する。
【００７６】
ステップＳ９１では、最大値ＭａｘＳｙｕは変数ＦＲＴの値か否か判定する。３つの変数のなかで変数ＦＲＴの値が最も大きかった場合、判定はＹＥＳとなり、ステップＳ９２で種別は複数票と設定した後、上記ステップＳ９４に移行する。そうでない場合には、判定はＮＯとなり、ステップＳ９３で種別は単票と設定した後、そのステップＳ９４に移行する。
【００７７】
ステップＳ９４では、無罫線表か否か判定する。上記ステップＳ８３で無罫線表と判定した場合、判定はＹＥＳとなり、ステップＳ９５で無罫線表の構造を解析するための無罫線表構造解析処理を実行した後、この帳票種別判定処理を終了する。そうでない場合には、判定はＮＯとなり、ステップＳ９６でセル補正処理を実行した後、この帳票種別判定処理を終了する。
【００７８】
上述したように、帳票は種別によって特有の表構造を有している。このため、帳票の種別を判定（特定）することにより、見出し文言とデータの対応関係も正確に特定できることとなる。それにより帳票は高精度に認識される。
【００７９】
ここで上記帳票種別判定処理内で実行される各種サブルーチン処理について、図７〜図９を参照して詳細に説明する。
図７は、上記ステップＳ８４として実行される表構造判定処理のフローチャートである。初めに図７を参照して、その判定処理について詳細に説明する。
【００８０】
この表構造判定処理では、帳票の種別によって特有の構造をセルの配置に着目して解析するようになっている。そのセルの配置は、連記では図４５（ａ−１）或いは（ａ−２）に示すように、各行のセルがほとんど、或いはほぼ揃っていることが多い。複数票では、図４５（ｂ−１）或いは（ｂ−２）に示すように、複数行のセルの配置が繰り返し出現することが多い。単票では、図４５（ｃ−１）或いは（ｃ−２）に示すように、セルは揃ってはいないが近接しているか、或いは近接していないことが多い。そのような帳票の種別によって異なるセル（見出し文言を有するセルを含む）の配置の特徴に着目して、上記変数ＦＲ１、ＴＲ１及びＲＰ１の更新が行われる。それらの初期値は０である。
【００８１】
先ず、ステップＳ１０１では、行毎に、横（１行）に並ぶセルの個数ＣｌＹｎを算出する。続くステップＳ１０２では、１行に並ぶセルの平均個数ＣｌＹａｖｅを算出する。次のステップＳ１０３では、行毎に、横（行）方向に並ぶセルのなかで、隣と接するセル間に存在する角、つまり隣り合うセルを分ける罫線の個数ＫＤＹｎを算出する。その次に移行するステップＳ１０４では、行毎に、個数ＫＤＹｎを個数ＣｌＹｎで割った値をセルずれ度ＺＲＹとして算出する。その算出後はステップＳ１０５に移行する。ステップＳ１０４で算出するセルずれ度ＺＲＹは、１行のセルのなかで隣接するセルが存在する割合を示す値である。それにより、行方向にセルが揃っている度合いを示している。行方向にセルが揃っているか否か判定するために、閾値ＺＲＹｔｈを設定している。
【００８２】
ステップＳ１０５〜Ｓ１０８では、同様に、列に着目して各種個数、及びせるずれ度ＺＲＴの算出が行われる。
先ず、ステップＳ１０５では、列毎に、縦（１列）に並ぶセルの個数ＣｌＴｎを算出する。続くステップＳ１０６では、１列に並ぶセルの平均個数ＣｌＴａｖｅを算出する。次のステップＳ１０７では、列毎に、縦（列）方向に並ぶセルのなかで、縦方向上の隣と接するセル間に存在する角、つまり隣り合うセルを分ける罫線の個数ＫＤＴｎを算出する。その次に移行するステップＳ１０８では、列毎に、個数ＫＤＴｎを個数ＣｌＴｎで割った値をセルずれ度ＺＲＴとして算出する。そのセルずれ度ＺＲＴは、列方向にセルが揃っている度合いを示している。列方向にセルが揃っているか否か判定するために、閾値ＺＲＴｔｈを設定している。
【００８３】
上述したようにして算出されるセルずれ度ＺＲＹ及びＺＲＴは共に、その値が大きいほど揃っていることを示している。ステップＳ１０８に続くステップＳ１０９では、セルずれ度ＺＲＹは閾値ＺＲＹｔｈより大きく、且つセルずれ度ＺＲＴは閾値ＺＲＴｔｈより大きいか否か判定する。それらの大小関係が共に満たされている場合、つまり縦横ほぼ揃っていると見なせる場合、判定はＹＥＳとなり、連記の特徴を有しているとして、ステップＳ１１０で変数ＲＲＴにそれまでの値に所定値Ｒ１を加算した値を代入した後、この表構造判定処理を終了する。それらの大小関係のうち１つ以上が満たされていない場合には、判定はＮＯとなってステップＳ１１１に移行する。
【００８４】
ステップＳ１１１では、行毎のセルの個数ＣｌＹｎが２行で繰り返しになっているか否か判定する。その繰り返しが複数、存在する場合、判定はＹＥＳとなり、複数票の特徴を有しているとして、ステップＳ１１２で変数ＦＲＴにそれまでの値に所定値Ｆ１を加算した値を代入した後、この表構造判定処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ１１３に移行する。
【００８５】
ステップＳ１１３では、行毎のセルの個数ＣｌＹｎが３行で繰り返しになっているか否か判定する。その繰り返しが複数、存在する場合、判定はＹＥＳとなり、複数票の特徴を有しているとして、ステップＳ１１４で変数ＦＲＴにそれまでの値に所定値Ｆ１を加算した値を代入した後、この表構造判定処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ１１５に移行する。
【００８６】
ステップＳ１１５では、セルが近接しているか否か判定する。この状況では、セルが近接しているとは図４５（ｃ−１）に示すようなセルの配置となる。それにより、図４５（ｃ−１）に示すようなセルの配置であった場合、判定はＹＥＳとなり、単票の特徴を有しているとして、ステップＳ１１６で変数ＴＲＴにそれまでの値に所定値Ｔ１を加算した値を代入した後、この表構造判定処理を終了する。そうでない場合には、判定はＮＯとなり、ここでこの表構造判定処理を終了する。
【００８７】
図８は、図６に示す帳票種別判定処理内でステップＳ８５として実行される見出し文言判定処理のフローチャートである。次に図８を参照して、その判定処理について詳細に説明する。
【００８８】
図３０に示すような複数票では、異なる場所で同一の見出し文言が同じ順序で探索されることから、図４６（ａ−１）に示すようにキーワードが抽出されることになる。これに対し、図２４及び図２５に示すような単票、並びに図２６〜図２９に示すような連記では、図４６（ａ−２）に示すようにキーワードが抽出され、同じ見出し文言が別のセルに存在することは稀となる。
【００８９】
一方、複数票では図４６（ｂ−１）に示すように、同じ探索文字列が存在するセルの配置は、縦、或いは横方向上、同じ位置となるのが普通である。単票、及び連記では、図４６（ｂ−２）に示すように、異なる探索文字列が縦、或いは横方向上に並んでいることがある。それは、連記のほうがより多く出現する。単票では、図４６（ｂ−３）に示すように、探索文字列が存在するセルの位置に関連性（規則性）がないことも多い。単票、及び連記では、図４６（ｂ−４）に示すように、探索文字列が一つだけしか探索できないこともある。見出し文言判定処理では、そのような帳票の種別によって異なるキーワードの抽出結果（見出し文言の配置）に着目して、変数ＦＲＴ、ＴＲＴ或いはＲＲＴの値を更新するようになっている。
【００９０】
先ず、ステップＳ１２１では、同一の探索文字列が３つ以上、存在するか否か判定する。同一の探索文字列がキーワードとして抽出された場合、判定はＹＥＳとなり、ステップＳ１２２で変数ＦＲＴにそれまでの値に所定値Ｆ２を加算した値を代入した後、ステップＳ１２７に移行する。そうでない場合には、判定はＮＯとなってステップＳ１２３に移行する。
【００９１】
ステップＳ１２３では、探索文字列として抽出された見出しＧＲ或いはＤＲの種類数が２以上であり、且つ同一の探索文字列が２つ以上、抽出されているか否か判定する。見出しＧＲ或いはＤＲの種類数が２以上であり、且つ同一の探索文字列が２つ以上、抽出されていた場合、判定はＹＥＳとなり、ステップＳ１２４で変数ＦＲＴにそれまでの値に所定値Ｆ３を加算した値を代入した後、ステップＳ１２７に移行する。そうでない場合には、判定はＮＯとなってステップＳ１２５に移行する。
【００９２】
ステップＳ１２５では、同一の探索文字列が全て１つか否か判定する。抽出された探索文字列が互いに異なる場合、判定はＹＥＳとなり、ステップＳ１２６で変数ＴＲＴ及びＲＲＴにそれぞれ、それまでの値に所定値Ｔ２及びＲ２を加算した値を代入した後、ステップＳ１２７に移行する。そうでない場合には、判定はＮＯとなってそのステップＳ１２７に移行する。
【００９３】
ステップＳ１２７では、同じ探索文字列が縦、或いは横方向上、同じ配置となっているか否か判定する。縦、或いは横方向上の同じ位置から同じ探索文字列が複数、抽出された場合、判定はＹＥＳとなり、ステップＳ１２８で変数ＦＲＴにそれまでの値に所定値Ｆ４を加算した値を代入した後、この見出し文言判定処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ１２９に移行する。
【００９４】
ステップＳ１２９では、異なる探索文字列が横、或いは縦方向上に並んでいるか否か判定する。異なる探索文字列がそのように並んでいた場合、判定はＹＥＳとなり、ステップＳ１３０で変数ＴＲＴ及びＲＲＴにそれぞれ、それまでの値に所定値Ｔ３及びＲ３を加算した値を代入した後、この見出し文言判定処理を終了する。そうでない場合には、判定はＮＯとなって、ここでこの見出し文言判定処理を終了する。
【００９５】
図９は、図６に示す帳票種別判定処理内でステップＳ９６として実行されるセル補正処理のフローチャートである。次に図９を参照して、その補正処理について詳細に説明する。
【００９６】
ステップＳ９６に移行した段階では、無罫線表を有する帳票でない限り、その種別は判定済みとなる。セル補正処理では、その判定結果に従い、セルの形状、及び配置を補正することが行われる。それにより、図４５（ａ−２）及び（ｂ−２）にそれぞれ示すような
セルの形状・配置は、図４７（ａ）及び（ｂ）に示すように補正される。
【００９７】
先ず、ステップＳ１４１では、判定した帳票の種別は連記か否か判定する。その種別が連記でなかった場合、判定はＮＯとなり、ステップＳ１４５に移行する。そうでない場合には、判定はＹＥＳとなってステップＳ１４２に移行する。
【００９８】
ステップＳ１４２では、探索文字列として抽出された見出し文言が並ぶ行、或いは列を抽出する（図４６（ｂ−２））。次のステップＳ１４３では、抽出した行、或いは列が１直線上に並ぶように補正する。その次のステップＳ１４４では、他の行、或いは列も補正した行、或いは列に合わせて補正する。その後、このセル補正処理を終了する。
【００９９】
一方、ステップＳ１４５では、判定した帳票の種別は複数票か否か判定する。その種別が複数票でなかった場合、判定はＮＯとなり、ここでこのセル補正処理を終了する。そうでない場合には、判定はＹＥＳとなってステップＳ１４６に移行する。
【０１００】
ステップＳ１４６では、複数行単位で、各行の平均の並びを算出する。続くステップＳ１７では、算出した並びの平均から比較的に大きく異なる行があるか否か判定する。そのような行が存在する場合、判定はＹＥＳとなり、ステップＳ１４８でその行の並びを平均のものに補正した後、このセル補正処理を終了する。そうでない場合には、つまり補正が必要な行が存在しない場合には、判定はＮＯとなり、ここでこのセル補正処理を終了する。
【０１０１】
図１０は、図６に示す帳票種別判定処理内でステップＳ９５として実行される無罫線表構造解析処理のフローチャートである。最後に図１０を参照して、その解析処理について詳細に説明する。図１の表構造解析（無罫線）部１９は、この解析処理を実行することで実現される。
【０１０２】
この解析処理では、探索文字列に着目し、その探索文字列を包含するセルを仮想的に生成する（以降、便宜的に仮想的に生成するセルを「仮想セル」と総称し、探索文字列の仮想セルは「見出し仮想セル」と呼ぶ）。生成した仮想セルの配置、各仮想セルに存在する探索文字列から、帳票の種別判定結果を考慮して、データを包含する仮想セル（以降「データ仮想セル」と呼ぶ）を生成する。そのように生成した仮想セルを実際のセルとして設定する。図４８は、そのようにしてセルを生成する過程を示す図であり、実際のデザイン、見出し仮想セルを生成した段階、データ仮想セルを生成した段階、及び最終的にセルを生成した段階に分けて、その過程を示している。図４８（ａ）及び（ｂ）はそれぞれ連記、及び複数票の場合をそれぞれ示している。
【０１０３】
先ず、ステップＳ１５１では、探索文字列が抽出された場所に見出し仮想セルを生成する。次のステップＳ１５２では、見出し仮想セルを生成した位置、各見出し仮想セルの探索文字列から、帳票の種別が連記か否か判定する。異なる探索文字列の見出し仮想セルが縦、或いは横方向に並ぶように生成できなかったような場合、判定はＮＯとなってステップＳ１５６に移行する。そうでない場合には、即ち図４８（ａ）に示すように見出し仮想セルを生成できたような場合には、判定はＹＥＳとなってステップＳ１５３に移行する。
【０１０４】
ステップＳ１５３では、見出し仮想セルが縦、或いは横方向上、並ぶように、別の行、或いは列を考慮して、その見出し仮想セルを配置した行、或いは列の仮想セルを必要に応じて生成、或いは補正する。続くステップＳ１５４では、見出し仮想セルを配置した行、或いは列とは別の行、或いは列に、データ仮想セルを生成する。その生成が完了した後に移行するステップＳ１５５では、生成した仮想セルの並びが連記としてより適切となるように補正する。その補正を行った後はステップＳ１６１に移行する。
【０１０５】
ステップＳ１５６では、見出し仮想セルを生成した位置、各見出し仮想セルの探索文字列から、帳票の種別が複数票か否か判定する。探索文字列が同一の見出し仮想セルを複数、縦、或いは横方向の同じような位置に生成できなかったような場合、判定はＮＯとなってステップＳ１６０に移行し、データと見なす文字列の仮想セルを生成する。その生成後はステップＳ１６１に移行する。そうでない場合には、即ち図４８（ｂ）に示すように見出し仮想セルを生成できたような場合には、判定はＹＥＳとなってステップＳ１５７に移行する。
【０１０６】
ステップＳ１５７では、仮想セルの配置パターンが繰り返される複数の行、或いは列の領域を生成する。次のステップＳ１５８では、生成した領域毎にデータ仮想セルを生成する。その次のステップＳ１５９では、繰り返される複数の行、或いは列、つまり生成した領域毎に、平均の配置パターンに合わせて仮想セルの配置を補正する。その後はステップＳ１６１に移行する。
【０１０７】
ステップＳ１６１では、揃っているべきと見なしている仮想セル間のずれの大小を判定する。そのずれが比較的に小さい場合、その旨が判定されてステップＳ１６２に移行し、そのずれがより小さくなるように仮想セルの配置を補正する。その補正後は、ステップＳ１６３に移行して、周りの仮想セルとの位置関係を精査し、配置を補正すべき仮想セルがあればその配置を補正する。そのような補正を行い、仮想セルの配置を全体的により適切なものに調整した後はステップＳ１６４に移行し、仮想セルを通常のセルとして生成する。その後、この無罫線表構造解析処理を終了する。
【０１０８】
一方、揃っているべきと見なしている仮想セル間のずれが比較的に大きい場合には、その旨がステップＳ１６１で判定されてステップＳ１６５に移行する。そのステップＳ１６５では、そのずれが存在する方向に隣り合う仮想セルを連結させる操作を行う。その後はステップＳ１６４に移行し、仮想セルを通常のセルとして生成する。
【０１０９】
このようにして、帳票が無罫線表であってもセルが生成される。それにより論理構造解析（項目候補抽出）部２０では、セルによって表現された帳票の構造を論理的に解析し、構造上、不適切な箇所、或いは適切に認識できなかったと思われる見出し文言を抽出して修正する。その修正により、罫線のない表構造であっても、より高精度に帳票の認識、つまり見出し文言とデータの関係を認識する。
【０１１０】
図１１は、論理構造解析（項目候補抽出）部２０が実行する第１の論理構造解析処理フローチャートである。次に図１１を参照して、論理構造解析（項目候補抽出）部２０を実現させるその解析処理について詳細に説明する。
【０１１１】
先ず、ステップＳ１７１では、探索により抽出された見出し文言、つまり探索文字列を精査する。次に移行するステップＳ１７２では、論理構造解析ＤＢ２５に登録された定義より、認識されていない見出し文言が不足しているか否か判定する。その定義により認識されているべきと考えられる見出し文言のなかに認識されていないものが存在する場合、判定はＹＥＳとなり、ステップＳ１７３で不読見出し復元処理、次のステップＳ１７４でセル補正処理を実行してからステップＳ１７５に移行する。そうでない場合には、つまり認識されているべきと考えられる見出し文言が全て認識されていた場合には、判定はＮＯとなり、次にステップＳ１７５に移行する。
【０１１２】
ここで、上記不読見出し復元処理、及びセル補正処理について具体的に説明する。
図１２は、不読見出し復元処理のフローチャートである。この復元処理は、ノイズ、汚れ、或いは破損等の理由によって認識できなかった見出し文言を推定して抽出するための
処理である。この復元処理では、ステップＳ２０１及びＳ２０２でそれぞれ見出し位置情報による再抽出処理、排他関係、及びデータ情報による再抽出処理を実行するようになっている。
【０１１３】
図４９は、見出し位置情報による再抽出処理の内容の例を説明する図である。図４９（ａ）は、論理構造解析ＤＢ２５に定義された内容の抜粋を示し、項目「見出し位置」で定義されるのは見出し文言が存在するべき帳票上の位置を表す見出し位置情報である。図４９（ｂ）〜（ｅ）は、図４９（ａ）に示す内容の抜粋に合わせて用意した図であり、それぞれ、帳票デザイン、その帳票デザイン上の見出し位置情報によって抽出される文字列、その文字列への操作、その操作によって得られる認識結果、をそれぞれ示している。
【０１１４】
図４９（ｂ）では、帳票の上部に位置する文字列「平成○○年度◇◇◇県自動車税」のなかで「税」が認識できなかったことを表している。しかし、その文字列は、図４９（ａ）に示す抜粋の見出し位置情報を参照することで再抽出され、論理構造解析ＤＢ２５により図４９（ｄ）に示す操作が行われることになる。その操作では、文字列「◇◇◇県」は代表見出し「税名」で含まれない文言であることから無視され、文字列「自動車税」は「税」が不読であっても（認識できなくとも）正しく推定されることとなる。文字列「平成○○年度」はそれに対応する代表見出し「年」と関係付けられる。この結果、図４９（ｅ）に示すように認識されることとなる。
【０１１５】
図５０は、見出し位置情報による再抽出処理の内容の他の例を説明する図である。図４９と同様に、図５０（ａ）は、論理構造解析ＤＢ２５に定義された内容の抜粋を示している。図５０（ｂ−１）及び（ｂ−２）はそれぞれ、帳票デザインによる処理内容を示している。
【０１１６】
図５０（ａ）に示す抜粋では、見出し位置情報が示す位置は上部、及び下部となっている。抽出する対象となる文言は最後が「市」となっている文字列である。このため、図５０（ｂ−１）に示す例では、文字列「○○○市」が帳票の上部、及び下部にそれぞれ存在するため、その文字列「○○○市」が再抽出されることとなる。一方、図５０（ｂ−２）に示す例では、帳票の上部に存在する文字列「△△△税」は無視されることとなる。それにより、帳票の上部、及び下部には抽出すべき文字列は存在しないと見なされる。
【０１１７】
図５１は、排他関係、及びデータ情報による再抽出処理で実施する見出し文言の再抽出の第１の例を説明する図である。図５１（ａ）は論理構造解析ＤＢ２５に定義された内容の抜粋を示し、図５１（ｂ−１）及び（ｂ−２）はそれぞれ、同じ帳票デザインで認識不能の見出し文言の数によって異なる処理内容を示している。
【０１１８】
図５１（ｂ−１）及び（ｂ−２）にそれぞれ示す帳票デザインは図５１（ａ）に示す抜粋に対応した連記のものである。簡単のため、見出し文言は全て代表見出しとしている。それによりここでは、見出し文言は代表見出しと同じ意味で用いる。これは、図５２及び図５３でも同様である。図５１（ｂ−１）では代表見出し「口座番号」上に印が押されて認識不可能となっており、図５１（ｂ−２）では代表見出し「口座番号」の他に、代表見出し「金額」上にも印が押されて認識不可能となっている。
【０１１９】
上述したように、代表見出しは重複しないように決定する。それにより連記では、並んでいる代表見出しは重複を禁止する排他関係を成立させる。このことから、図５１（ｂ−１）に示す例では、論理構造解析ＤＢ２５を参照して、代表見出しのなかで欠けているものが「口座番号」の一つのみであることを特定することができる。それにより、認識できなくなっている見出し文言は「口座番号」と正確に推定（復元）することができる。
【０１２０】
一方、図５１（ｂ−２）に示す例では、論理構造解析ＤＢ２５を参照して、代表見出しのなかで欠けているものが「口座番号」及び「金額」の２つであることを特定することができる。しかし、複数の代表見出しが欠けていることから、欠けている代表見出しが配置されている位置までは特定できない。このことから、その位置の特定には、属性、フォーマット、付帯記号の各情報を有するデータ情報を用いる。
【０１２１】
代表見出し「口座番号」のデータ情報は、それのデータは７桁の数字列であり、そのデータに付帯記号は付されないことを示している。代表見出し「金額」のデータ情報では、それのデータは桁数が限定されない数字列であり、そのデータの先頭（最初）に文言「￥」が付される、最後に文言「円」が付される、或いは数字間に文言「，」が配置される可能性を示している。このため、文言「￥」が数字列の先頭に付されたデータに対応するほうの代表見出しが「金額」であると正確に推定（復元）することができる。その推定により、残りの代表見出しは「口座番号」であると正確に推定（復元）することとなる。
【０１２２】
図５２は、排他関係、及びデータ情報による再抽出処理で実施する見出し文言の再抽出の第２の例を説明する図である。図５２（ａ）は認識不能の見出し文言が存在する帳票例、図５２（ｂ）は論理構造解析ＤＢ２５に定義されたその帳票に対応する内容をそれぞれ示している。
【０１２３】
図５２（ａ）では、代表見出し「支店名」及び「口座番号」が共に未抽出となっている。しかし、代表見出し「支店名」及び「口座番号」の各データはそれぞれ、付帯記号として「支店」が付されているか、或いは数字列となっている。このため、そのようなデータの相違により、未検出の代表見出し「支店名」及び「口座番号」を共に正確に推定できるようになっている。
【０１２４】
このように見出し文言によっては、その情報として存在する文字列に「￥」や「円」或いは「支店」等の特有の付帯記号（シンボル）が付される可能性がある。そのような付帯記号が付される位置は、付帯記号によって特有である。このことから、付帯記号、及びその位置を示す情報（付帯記号情報）は、見出し文言に対応する情報（文字列）を高精度に特定するうえで有効である。それにより、対応する文字列に付帯記号が付される可能性が考えられる見出し文言には付帯記号情報を用意している。
【０１２５】
複数票では、同一の代表見出しを一つ以上、有する表構造が繰り返される。その繰り返される表構造の部分（「明細範囲」とも呼ぶことにする）には、同じ位置に同じ代表見出しが存在する。このため、或る明細範囲で代表見出しが抽出されていないセルがあっても、他の明細範囲でその位置から代表見出しを抽出している場合には、図５４に示すように、抽出されていない代表見出しを正確に推定することができる。しかし、そうでなければ、つまり全明細範囲で同じ代表見出しを抽出できていないのであれば、抽出できなかった代表見出しを正確に推定できるとは限らない。例えば抽出できなかった代表見出しとして考えられるものが一つのみである、及び抽出できなかった代表見出しのデータの属性が他の代表見出しのデータの何れの属性とも異なっている、といった条件の何れかが成立していなければ正確な推定は不可能となる。このことから本実施形態では、未抽出の代表見出しの正確な推定が不可能な場合、未抽出の代表見出しに割り当てるべき代表見出し、及びその優先順位（データ位置順位）を生成し、未抽出の代表見出しに可能性がある代表見出しを割り当てるようになっている。
【０１２６】
図５３は、排他関係、及びデータ情報による再抽出処理で実施する見出し文言の再抽出の第３の例を説明する図である。その図５３は、代表見出しが持つ排他関係、及びデータ情報を用いても未検出の代表見出しを推定できないことから、データ位置順位を生成して代表見出しを推定する場合の例を示している。図５３（ａ）は認識不能の見出し文言が存
在する帳票例、図５３（ｂ）は論理構造解析ＤＢ２５に定義されたその帳票に対応する内容、及び図５３（ｃ）は生成されたデータ位置順位をそれぞれ示している。
【０１２７】
図５３（ａ）では、代表見出し「銀行名」及び「支店名」が共に未抽出となっている。しかし、代表見出し「銀行名」及び「支店名」の各データの属性は同じであり、それらのデータを区別可能とする付帯記号は付されていない。このため、未検出の代表見出しを特定するための情報は得られない状況となっている。それにより、代表見出し「銀行名」及び「支店名」をそれぞれ１位、２位とするデータ位置順位を生成し、そのデータ位置順位が生成された代表見出しは予め定めた規則に従って未検出の代表見出しにそれぞれ割り当てるようにしている。
【０１２８】
そのようにして、未検出の代表見出しには何らかの代表見出しを割り当てることにより、オペレータは必要に応じて抽出された代表見出しを修正すれば済むようになる。このため、未検出の代表見出しを全てオペレータに入力させる場合と比較して、オペレータの負荷をより軽減させることができる。
【０１２９】
図１３は、図５１〜図５３を参照して説明した排他関係、及びデータ情報による再抽出処理のフローチャートである。次に図１３を参照して、その再抽出処理についてより詳細に説明する。
【０１３０】
先ず、ステップＳ２１１では、検出された見出し文言が無いか否か判定する。見出し文言を一つも検出できなかった場合判定はＹＥＳとなり、ここでこの再抽出処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ２１２に移行する。
【０１３１】
ステップＳ２１２では、帳票の種別は連記か否か判定する。帳票種別判定部１８の判定が連記でない場合、判定はＮＯとなってステップＳ２２４に移行する。そうでない場合には、判定はＹＥＳとなってステップＳ２１３に移行する。
【０１３２】
ステップＳ２１３では、見出し文言が並ぶ行（見出し行）を抽出する。次のステップＳ２１４では、論理構造解析ＤＢ２５を参照し、見出し行のなかで抽出されていない見出し文言が一つであり、且つ見出し文言が見つかっていないデータ列が一つか否か判定する。データ列の見出し文言として考えられるものが一つのみであった場合、判定はＹＥＳとなり、ステップＳ２１５でその代表見出しを未検出の代表見出しの候補に確定させた後、この再抽出処理を終了する。そうでない場合には、判定はＮＯとなり、ステップＳ２１６に移行する。
【０１３３】
ステップＳ２１６〜Ｓ２２０は、未検出の見出し文言数分、実行される処理ループを形成している。それにより、未検出の見出し文言のなかから一つを選択し、選択した見出し文言に着目して、その見出し文言に対応する代表見出しの特定が行われる。
【０１３４】
先ず、ステップＳ２１６では、未検出の見出し文言を選択し、その見出し文言が存在するセル、及びそのセルと対応付けられるデータが存在するデータ列を抽出する。次のステップＳ２１７では、データ列のデータ情報を抽出する。そのデータ情報の抽出後は、ステップＳ２１８に移行して、論理情報解析ＤＢ２５を参照し、代表見出しが持つ排他関係、及びデータ情報に着目した代表見出しの選出を行う。その選出は、図５１及び図５２を参照して説明したように行われる。
【０１３５】
ステップＳ２１８に続くステップＳ２１９では、選出により抽出された代表見出しは一つか否か判定する。抽出できた代表見出しが一つのみであった場合、判定はＹＥＳとなってステップＳ２２０に移行し、抽出できた代表見出しは未検出の見出し文言のものと確定
させた後、一連の処理を終了し、上記ステップＳ２１６に戻る。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【０１３６】
上述したような一連の処理を未検出の見出し文言数分、実行すると、ステップＳ２２１に移行する。そのステップＳ２２１では、未検出の見出し文言の数は抽出されたデータ列の数と等しいか否か判定する。未検出の見出し文言毎に、それに対応付けられるデータ列を抽出できていなかった場合、判定はＮＯとなり、ここで排他関係、及びデータ情報による再抽出処理を終了する。これは、未検出とする見出し文言の判定等に誤りがある可能性が考えられるからである。そうでない場合には、判定はＹＥＳとなり、ステップＳ２２２に移行する。
【０１３７】
ステップＳ２２２では、データ位置順位を生成し、その順位の順番に、未検出の見出し文言に代表見出しを割り当てる。続くステップＳ２２３では、割り当てた代表見出しを確定させる。その後、排他関係、及びデータ情報による再抽出処理を終了する。
【０１３８】
上記ステップＳ２１２の判定がＮＯとなって移行するステップＳ２２４では、帳票の種別は複数票か否か判定する。帳票種別判定部１８の判定が複数票でない場合、つまり帳票の種別は単票と判定していた場合、判定はＮＯとなり、ここで排他関係、及びデータ情報による再抽出処理を終了する。そうでない場合には、判定はＹＥＳとなってステップＳ２２５に移行する。
【０１３９】
ステップＳ２２５では、繰り返される表構造の部分である明細範囲を抽出する。その抽出後に移行するステップＳ２２６では、抽出した明細範囲間で未検出の見出し文言が全て一致していないか否か、つまり或る明細範囲で未検出の見出し文言は他の明細範囲で検出されているか否か判定する。明細範囲に存在する見出し文言は全て何れかの明細範囲で検出できている場合、判定はＹＥＳとなり、ステップＳ２２７で未検出の見出し文言（の代表見出し）を図５４に示すように確定した後、排他関係、及びデータ情報による再抽出処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ２２８に移行する。
【０１４０】
ステップＳ２２８〜Ｓ２３３は、上述のステップＳ２１６〜Ｓ２２０と同様に、全ての明細範囲で未検出の見出し文言数分、実行される処理ループを形成している。それにより、未検出の見出し文言のなかから一つを選択し、選択した見出し文言に着目して、その見出し文言に対応する代表見出しの特定が行われる。
【０１４１】
先ず、ステップＳ２２８では、未検出の見出し文言を選択し、その見出し文言が存在するセル、及びそのセルと対応付けられるデータを抽出する。次のステップＳ２２９では、データのデータ情報を抽出する。そのデータ情報の抽出後は、ステップＳ２３０に移行して、論理情報解析ＤＢ２５を参照し、代表見出しが持つ排他関係、及びデータ情報に着目した代表見出しの選出を行う。
【０１４２】
ステップＳ２３０に続くステップＳ２３１では、選出により抽出された代表見出しは一つか否か判定する。抽出できた代表見出しが一つのみであった場合、判定はＹＥＳとなってステップＳ２３２に移行し、抽出できた代表見出しは未検出の見出し文言のものと確定させ、続くステップＳ２３３でその確定結果を他の明細範囲に反映させた後、一連の処理を終了し、上記ステップＳ２２８に戻る。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【０１４３】
上述したような一連の処理を未検出の見出し文言数分、実行すると、ステップＳ２３４に移行する。そのステップＳ２３４では、未検出の見出し文言の数は抽出されたデータの数と等しいか否か判定する。未検出の見出し文言毎に、それに対応付けられるデータを抽
出できていなかった場合、判定はＮＯとなり、ここで排他関係、及びデータ情報による再抽出処理を終了する。これは、未検出とする見出し文言の判定等に誤りがある可能性が考えられるからである。そうでない場合には、判定はＹＥＳとなり、ステップＳ２３５に移行する。
【０１４４】
ステップＳ２３５では、データ位置順位を生成し、その順位の順番に、未検出の見出し文言に代表見出しを割り当てる。続くステップＳ２３６では、割り当てた代表見出しを確定させる。その後に移行するステップＳ２３７では、その確定結果を他の明細範囲に反映させる。その反映を行った後、排他関係、及びデータ情報による再抽出処理を終了する。
【０１４５】
上述したようなサブルーチン処理を含む不読見出し復元処理を実行した場合、不読の見出し文言に代表見出し、或いは見出し文言が割り当てられる可能性がある。このことから、図１１に示すステップＳ１７４で実行されるセル補正処理では、不読見出し復元処理の実行結果、つまり認識されていない見出し文言に代表見出し、或いは見出し文言を割り当てて行う復元結果に応じて、図５５に示すようにセルを生成することが行われる。図５５中、認識できていない見出し文言は「見出し」と表記している。セルは、認識できていなくとも生成されている場合がある。その場合には、図５５（ａ−１）〜（ａ−３）に示すようにデータのセルが新たに生成される。セルが生成されていない場合には、図５５（ａ−１）〜（ａ−３）に示すように、見出し文言用、データ用のセルが新たに生成される。
【０１４６】
図１１の説明に戻る。
ステップＳ１７４のセル補正処理を実行した後は、ステップＳ１７５に移行して、代表見出し、見出しＧＲ及びＤＲの何れかが複数、あるか否か判定する。それらのうちの少なくとも一つが複数、存在していた場合、判定はＹＥＳとなり、ステップＳ１７６で重複精査処理を実行した後、ステップＳ１７７に移行する。そうでない場合には、判定はＮＯとなり、そのステップＳ１７７に移行する。そのステップＳ１７７では、ＤＲ・ＧＲ−見出し文言精査処理を実行し、その実行後はステップＳ１７８に移行する。
【０１４７】
ここで、ステップＳ１７６及びＳ１７７でそれぞれ実行されるサブルーチン処理についてより詳細に説明する。
図１４は、ステップＳ１７６として実行される重複精査処理のフローチャートである。始めに図１４を参照して、その精査処理について具体的に説明する。
【０１４８】
見出しＤＲ及びＧＲは、関連する一つ以上のデータを入力する範囲の表構造（単位表構造）で一つのみ存在するものとして設定している。その表構造では、同一の代表見出しは複数、存在しないようにしている。このことから、重複精査は、見出しＤＲ及びＧＲと代表見出しの対応関係を評価（抽出）するために行われる。見出しＤＲ或いはＧＲが１つのみ存在する範囲の表構造は、複数票では明細範囲に相当することから以降「明細範囲」はその表構造を指す意味でも用いることとする。
【０１４９】
図５６は、重複精査処理の内容を説明する図である。図５６（ａ）は帳票デザインの例、図５６（ｂ）はその帳票デザインの例に対応する、論理構造解析ＤＢ２５の内容、図５６（ｃ）は論理構造解析ＤＢ２５の連携により更新したキーワード抽出結果、図５６（ｄ）は見出しＤＲ或いはＧＲ毎に設定される領域（見出しＤＲ・ＧＲ領域）、図５６（ｅ）は重複精査後のキーワード抽出結果、をそれぞれ示している。見出しＤＲ・ＧＲ領域は、関連する一つ以上のデータを入力する表構造が存在する範囲に相当し、その範囲には見出しＤＲ或いはＧＲが一つのみ存在する。重複精査処理では、その範囲である見出しＤＲ・ＧＲ領域毎に、そこに存在する代表見出しを特定することにより、見出しＤＲ或いはＧＲと代表見出しの対応関係を抽出する。
【０１５０】
先ず、ステップＳ２５１では、同じ代表見出しが複数あるか否か判定する。同じ代表見出しは一つのみであった場合、判定はＮＯとなり、ここで重複精査処理を終了する。そうでない場合には、判定はＹＥＳとなってステップＳ２５２に移行する。
【０１５１】
ステップＳ２５２では、複数、存在する代表見出しは全て見出し得点ＭＴが閾値である見出し合格点ＭＴｔｈより大きいか否か判定する。代表見出しが何れもキーワードとは見なせないものであった場合、判定はＮＯとなり、ここで重複精査処理を終了する。そうでない場合には、判定はＹＥＳとなってステップＳ２５３に移行する。そのステップＳ２５３では、変数ＤＭｎに代表見出し数を代入する。その代入後はステップＳ２５４に移行する。
【０１５２】
ステップＳ２５４〜Ｓ２６１は、同一の抽出された見出し文言（探索文字列）数分、繰り返し実行される処理ループを形成している。そのなかのステップＳ２５９〜Ｓ２６１は、その処理ループ内において、代表見出し数分、繰り返し実行される処理ループを更に形成している。ステップＳ２５４〜Ｓ２６１は、探索文字列として、代表見出しのみを対象として、１代表見出しの見出しＤＲ、或いはＧＲに着目する形で実行される。それにより、１つの見出しＤＲ・ＧＲ領域を設定し、その領域内に存在する可能性が考えられる代表見出しを評価するようになっている。
【０１５３】
先ず、ステップＳ２５４では、キーワード抽出結果を用いて、論理構造解析ＤＢ２５から代表見出しの見出しＤＲ、或いはＧＲを抽出する検索を行う。続くステップＳ２５５では、見出しＤＲ、或いはＧＲの文言を帳票から抽出し、次に移行するステップＳ２５６では、その抽出結果を用いた見出しＤＲ・ＧＲ領域の設定を行う。その後はステップＳ２５７に移行して、見出しＤＲ・ＧＲ領域内のコメントの有無を判定する。その領域内にコメントが存在する場合、その旨が判定されてステップＳ２５８に移行し、そのコメントが存在するコメント領域を乱しＤＲ・ＧＲ領域から除外した後、ステップＳ２５９に移行する。そうでない場合には、その旨が判定され、そのステップＳ２５９に移行する。
【０１５４】
ステップＳ２５９では、ステップＳ２５４での検索に用いた代表見出しに着目し、キーワード抽出により得られたなかの一つを選択して、選択した代表見出しが存在するセルのＩＤが見出しＤＲ・ＧＲ領域内か否か判定する。そのセルが見出しＤＲ・ＧＲ領域を構成していた場合、判定はＹＥＳとなり、ステップＳ２６０で見出し得点ＭＴｎを、それまでの値に所定値（図中「見出しＤＲ・ＧＲのＯＫ点」と表記）を加算した値に更新した後、重複精査処理を終了する。そうでない場合には、判定はＮＯとなり、ステップＳ２６１で見出し得点ＭＴｎを、それまでの値から異なる所定値（図中「見出しＤＲ・ＧＲのＮＧ点」と表記）を減算した値に更新した後、重複精査処理を終了する。そのように見出し得点ＭＴｎを更新する形で評価を行うことにより、各セルの代表見出し（見出し文言）に対応する見出しＤＲ、或いはＧＲが対応付けられることとなる（図５６（ｅ））。
【０１５５】
図１５は、上記ステップＳ１７７として実行されるＤＲ・ＧＲ−見出し文言精査処理のフローチャートである。次に図１１を参照して、その精査処理について詳細に説明する。
見出しＤＲ及びＧＲは、関連する一つ以上のデータを入力する範囲の表構造（明細範囲）で一つのみ存在する。しかし、その表構造に代表見出し、或いは代表見出しが割り当てられた見出し文言が必ず存在するとは限らない。このことから、ＤＲ・ＧＲ−見出し文言精査は、表に存在しない代表見出しを推定・補足するために行われる。その代表見出しを追加することにより、帳票の内容をより容易にオペレータが理解できるように支援することができる。見出し文言とデータの対応関係を自動的に生成することから、情報入力を行う必要性は低減される。
【０１５６】
図５７は、ＤＲ・ＧＲ−見出し文言精査処理の内容を説明する図である。図５７（ａ）
及び（ｂ）はそれぞれ、図５７（ａ−１）及び（ｂ−１）に帳票デザイン（明細範囲）の例、図５７（ａ−２）及び（ｂ−２）に論理構造解析ＤＢ２５の内容、図５７（ａ−３）及び（ｂ−３）ＤＢ２５に帳票デザインからＤＢ２５を用いて推定・追加される代表見出し、を示している。その推定・追加される代表見出しは図中「仮想見出し」と表記している。その仮想見出しは、本来、帳票上のセルとは別次元の連結関係で設定する。仮想見出しを配置したセル（２点鎖線で示すセル）は、表構造上、上部に配置している。このことからＤＲ・ＧＲ−見出し文言精査処理では、仮想見出しの特定（作成）の他に、その仮想見出しとデータとの連結関係の特定が行われる。そのＤＲ・ＧＲ−見出し文言精査処理について、図１５を参照して詳細に説明する。
【０１５７】
先ず、ステップＳ２７１では、見出しＤＲ及びＧＲの有無を判定する。見出しＤＲ及びＧＲ共に存在しない場合、その旨が判定され、ここでこの精査処理を終了する。そうでない場合には、その旨が判定され、ステップＳ２７２に移行して、存在する見出しＤＲ或いはＧＲに代表見出しが存在するか否か判定する。何れの見出しＤＲ或いはＧＲにも代表見出しが存在する場合、その旨が判定され、この精査処理を終了する。そうでない場合には、つまり代表見出しが存在しない見出しＤＲ、或いはＧＲが存在する場合には、その旨が判定され、ステップＳ２７３で変数Ｄｍｎに代表見出し数を代入した後、ステップＳ２７４に移行する。このとき、変数ｍに代入される代表見出し数は、例えば代表見出しが未検出の見出しＤＲ或いはＧＲの数である。これは、代表見出しを推定（作成）すべき表構造（明細範囲）のみを対象にすれば良いからである。
【０１５８】
ステップＳ２７４〜Ｓ２８５は、変数ＤＭｎの初期値分、繰り返し実行される処理ループを形成している。それにより、代表見出しを推定すべき表構造毎に、代表見出しの推定を行うようになっている。
【０１５９】
先ず、ステップＳ２７３ａでは変数ｍに０を代入し、次のステップＳ２７４では、見出しＤＲ或いはＧＲが割り当てられた見出し文言で設定されているデータ情報中の付帯記号を表構造（明細範囲）内で探索する。続くステップＳ２７５では、探索により抽出できた付帯記号の有無を判定する。その付帯記号を抽出できた場合、その旨が判定されてステップＳ２７８に移行する。そうでない場合には、つまり付帯記号を抽出できなかった、或いはデータ情報中に付帯記号が定義されていなかった場合には、その旨が判定されてステップＳ２７６に移行する。
【０１６０】
ステップＳ２７６では、データ位置順位から仮想見出しを割り当てるデータセルの範囲を抽出する。その抽出は、例えば図５７（ｂ）に示すように、データ位置順位に従って、データが存在するデータセルを抽出することで行う。続くステップＳ２７７では、抽出したデータセルと連結させる仮想セルを作成する。その後はステップＳ２８３に移行する。
【０１６１】
ステップＳ２７８では、付帯記号はデータ情報で定義された位置に配置されたセルが存在するか否か判定する。例えば図５７（ａ）に示すように、位置定義された最後に付帯記号「銀行」が付されたデータ「ＡＢＣ  銀行」を持つデータセルが存在するような場合、対象のセルはあると判定され、ステップＳ２７９でそのデータセルと連結させる仮想セルを作成した後、ステップＳ２８３に移行する。そうでない場合には、その旨が判定されてステップＳ２８０に移行する。ステップＳ２７９では、データセルから仮想見出しが一意に特定される。
【０１６２】
ステップＳ２８０では、付帯記号が付されたデータ（文字列）のなかで代表見出しを割り当て可能なものを探索し、代表見出しを割り当て可能なデータの有無を判定する。割り当て可能なデータが存在する場合、その旨が判定され、ステップＳ２８１でそのデータのセルに連結させる仮想セルを作成した後、ステップＳ２８３に移行する。そうでない場合
には、その旨が判定され、ステップＳ２８２で対応する見出し得点ＭＴｎを更新した後、一連の処理を終了する。対応する見出し得点ＭＴｎは、現在、対象としている表構造（明細範囲）の見出しＤＲ或いはＧＲのものであり、その得点ＭＴｎの更新は、それまでの値から、候補となる代表見出しがないことを評価するための所定値を減算することで行う。それにより、見出しＤＲ或いはＧＲは見出しとして評価を下げることとなる。ステップＳ２８１では、探索により抽出したデータセル、或いはデータ位置順位から仮想見出しが特定される。
【０１６３】
ステップＳ２８３では、作成した仮想セルにそれぞれ仮想見出しを設定（作成）する。次のステップＳ２８４では、変数ｍの値を更新する。その更新は、それまでの値に、設定した仮想見出しの数から１を引いた値を加算することで行う。１を引いているのは、見出しＤＲ或いはＧＲに対し、少なくとも１代表見出しを設定すると想定しているからである。その更新後に移行するステップＳ２８５では、設定した仮想見出しの見出し得点ＭＴｎとしてそれぞれ、仮想見出しの初期値として設定した値である仮想見出し点を設定する。一連の処理はその後に終了する。
【０１６４】
図１１の説明に戻る。
上記ＤＲ・ＧＲ−見出し文言精査処理が終了すると、ステップＳ１７８に移行し、帳票の種別は連記か否か判定する。帳票が連記であった場合、判定はＹＥＳとなってステップＳ１９０に移行する。そうでない場合には、判定はＮＯとなってステップＳ１７９に移行する。
【０１６５】
ＤＲ・ＧＲ−見出し文言精査処理の実行により、帳票上からキーワードとして抽出された見出し文言の他に、存在すると見なすべき見出し文言（代表見出し）が抽出され、考慮すべき見出し文言が確定する。ステップＳ１７９〜Ｓ１８５は、確定した見出し文言の数分、繰り返し実行される処理ループを形成している。それにより、見出し文言毎に、その評価を行うようになっている。
【０１６６】
先ず、ステップＳ１７９では、見出し文言のなかから一つを選択し、選択した見出し文言のセル（以降、他と区別するために「対象セル」と表記）内に他の文字列の有無を判定する。対象セル内は見出し文言のみであった場合、他の文字列はないと判定され、ステップＳ１８２に移行する。そうでない場合には、他の文字列はあると判定され、ステップＳ１８０に移行する。
【０１６７】
ステップＳ１８０では、対象セル内の文字列を行毎に評価するための点数ＤＴｎｍの初期値として、所定値（図中「同一セル内データ点」と表記）を設定する。続くステップＳ１８１では、対象セル内から別の項目名、或いはデータの候補となりうる文字列を抽出するためのセル内項目候補週出処理を実行する。その実行後はステップＳ１８２に移行する。点数ＤＴｎｍのｎ及びｍは、ｎ番目の見出し文言が存在する対象セル内でｍ行目の文字列であることを表している。
【０１６８】
ステップＳ１８２では、右側のセルにおける文字の有無を判定する。対象セルの右側に位置するセル内に文字が存在する場合、文字は有ると判定され、ステップＳ１８３に移行して、その文字が有ることを点数ＤＴｎｍに反映させるための右項目候補抽出処理を実行する。その後はステップＳ１８４に移行する。そうでない場合には、その旨が判定され、そのステップＳ１８４に移行する。右側に位置するセルに文字が有るか否かを点数ＤＴｎｍに反映させるのは、項目名の右側にデータを入力させるデザインが採用される可能性が高いからである。
【０１６９】
ステップＳ１８４では、下側のセルにおける文字列の有無を判定する。対象セルの下側
に位置するセル内に文字列が存在する場合、文字列は有ると判定され、ステップＳ１８５に移行して、その文字列が有ることを点数ＤＴｎｍに反映させるための下項目候補抽出処理を実行する。その後に一連の処理を終了する。そうでない場合には、その旨が判定され、ここで一連の処理を終了する。下側に位置するセルに文字列が有るか否かを点数ＤＴｎｍに反映させるのは、項目名の下側にデータを入力させるデザインも採用される可能性が高いからである。
【０１７０】
上述したようにして、抽出された見出し文言毎に評価が行われる。その評価が全て完了すると、ステップＳ１８６に移行する。
見出し文言やデータの抽出は、図１の文字認識部１６による認識結果を対象に行う。文字の認識は全て正確に行えるとは限らない。その認識が誤っていれば、見出し文言の抽出が適切に行えていない可能性がある。このためステップＳ１８６では、認識の精度に着目して、見出し文言の解析を行うべきか否か判定するための項目解析要否判定処理を実行する。その実行後はステップＳ１８７に移行する。認識の精度を判定するための各種情報は文字認識部１６から取得する。
【０１７１】
ステップＳ１８７では、項目解析要否判定処理の実行結果が項目解析すべきとなっているか否か判定する。認識精度が比較的に低い見出し文言が存在した場合、項目解析は必要であるとされる。その結果、判定はＹＥＳとなり、ステップＳ１８９で必要な項目解析を行った後、この論理構造解析処理を終了する。そうでない場合には、判定はＮＯとなり、ここで論理構造解析処理を終了する。
【０１７２】
上記ステップＳ１７８の判定がＹＥＳとなって移行するステップＳ１９０では、項目名と見なすべき見出し文言が並ぶ見出し行を抽出する。続くステップＳ１９１では、見出し行に連なるデータ列を抽出する。その後はステップＳ１９２に移行する。
【０１７３】
ステップＳ１９２及びＳ１９３は、見出し行に項目名として抽出された見出し文言数分、繰り返し実行される処理ループを形成している。
その処理ループでは先ず、ステップＳ１９２で見出し行に存在する見出し文言（項目名）のなかから一つを選択し、その見出し文言に対応付けるデータ列のセルは明確にはしご状となっている、つまりデータ列のセルは例えば図４５（ａ−１）或いは（ａ−２）に示すようにほぼ揃っていないか否か判定する。図４５（ａ−１）或いは（ａ−２）に示すようにほぼ揃っているような場合、判定はＮＯとなり、ステップＳ１９３でセルを揃える形で統合を行った後、一連の処理を終了する。そうでない場合には、判定はＹＥＳとなり、ここで一連の処理を終了する。見出し文言分、繰り返した後はステップＳ１９４に移行する。
【０１７４】
ステップＳ９４では、見出し文言が検出された項目に相当するセル数分、そのセルに他に存在する見出し文言となりうる文字列を抽出するための連記項目候補抽出処理を実行した後、ステップＳ１８６に移行する。
【０１７５】
次に、上記ステップＳ１８１、Ｓ１８３、Ｓ１８５、Ｓ１８６及びＳ１９４としてそれぞれ実行されるサブルーチン処理に詳細に説明する。
図１６は、上記ステップＳ１８１として実行されるセル内項目候補抽出処理のフローチャートである。初めに図１６を参照して、その抽出処理について詳細に説明する。この抽出処理は、対象セルのみに着目して実行される。
【０１７６】
図５８（ａ）〜（ｅ）に示すように、同じセル内に複数の区別可能な文字列が存在する場合がある。このセル内項目候補週出処理は、セル内から別の項目名、或いはデータの候補となりうる文字列を抽出するために実行される処理である。その抽出は、候補となりう
る文字列を抽出し、抽出した文字列のなかから不要とすべきものを排除し、残った文字列を必要に応じて統合することで行われる。その統合は、図５８（ａ）〜（ｅ）において、図５８（ｄ）及び（ｅ）に示すケースが相当する。その図５８中、「見出し」は既に抽出済みの見出し文言を表しており、破線で囲んだ文字列は、抽出された文字列、或いは藤堂した文字列を示している。また「プレプリント」は、帳票上に存在する認識対象外の文字列であり、その判定は、例えば色、文字の形状、或いは内容から行うことができる。
【０１７７】
先ず、ステップＳ３０１では、対象セル内に見出し文言が複数、存在するか否か判定する。見出し文言が複数、対象セル内に存在した場合、判定はＹＥＳとなってステップＳ３０２に移行し、複数の見出し文言のなかで項目名の候補となりうるものを抽出するためのセル内複数項目候補抽出処理を実行した後、このセル内項目候補抽出処理を終了する。そうでない場合には、判定はＮＯとなり、ステップＳ３０３で変数ｍに０を代入した後、ステップＳ３０４に移行する。
【０１７８】
ステップＳ３０４〜Ｓ３１５は、見出し文言以外に対象セル内から抽出された文字列の数分、繰り返し実行される処理ループを形成している。それにより、着目する文字列を変更しながら、文字列毎にデータとしての評価を行い、その点数ＤＴｎｍを必要に応じて更新する。ここでは着目する文字列を「対象文字列」と表記する。
【０１７９】
先ず、ステップＳ３０４では、見出し文言で入力されるデータに付される可能性のある付帯記号のみで対象文字列が構成されているか否か判定する。その付帯記号のみが対象文字列として存在する場合、判定はＹＥＳとなり、ステップＳ３０５で見出し得点ＭＴｎを更新した後、一連の処理を終了する。その更新は、例えばそれまでの値に予め設定の見出し付帯点を加算することで行うことにより、見出し文言らしさをより高く評価する。そうでない場合には、判定はＮＯとなってステップＳ３０６に移行する。
【０１８０】
ステップＳ３０６では、対象文字列はプレプリントか否か判定する。対象文字列がプレプリントであった場合、判定はＹＥＳとなり、ここで一連の処理を終了する。それにより、図５８（ａ）に示す例では、プレプリントが排除されることとなる。一方、そうでない場合には、判定はＮＯとなり、ステップＳ３０７に移行する。
【０１８１】
ステップＳ３０７では、対象文字列の属性が見出し文言で入力されるデータの属性と同じか否か判定する。それらの属性が同じであった場合、判定はＹＥＳとなり、ステップＳ３０９で得点ＤＴｎｍを更新してからステップＳ３１０に移行する。そうでない場合には、判定はＮＯとなり、ステップＳ３０８で対象文字列は属性エラーと設定した後、一連の処理を終了する。得点ＤＴｎｍの更新は、それまでの値に予め定めた値であるセル内データ点を加算することで行われる。それにより、見出し文言で入力されるデータとしてより高く評価する。
【０１８２】
ステップＳ３１０では、見出し文言で入力されるデータに付される可能性のある付帯記号を対象文字列が含んでいるか否か判定する。対象文字列にその付帯記号が付されていた場合、判定はＹＥＳとなり、ステップＳ３１１で得点ＤＴｎｍを更新した後、ステップＳ３１２に移行する。そうでない場合には、判定はＮＯとなり、次にそのステップＳ３１２に移行する。ステップ３１１での得点ＤＴｎｍの更新は、それまでの値に予め定めた値である付帯点を加算することで行われる。それにより、データとしてより高く評価する。
【０１８３】
ステップＳ３１２では、対象文字列は見出し文言で入力されるデータと少なくとも属性は同じであることから、そのデータの候補として設定する。続くステップＳ３１３では、対象文字列は前行（例えば上の行）と近いか否か判定する。図５８（ｄ）及び（ｅ）に示す文字列「レート銀行」、「××町」及び「□□棟◇◇号」の何れかに対応するような位
置に対象文字列が存在した場合、判定はＹＥＳとなり、ステップＳ３１４で前行の文字列と対象文字列を１つの文字列に統合した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなり、ステップＳ３１５で変数ｍの値をインクリメントした後、一連の処理を終了する。
【０１８４】
このようにして、対象文字列はデータ候補としての評価が行われ、必要に応じて他の文字列と統合される。そのような処理を全ての文字列に対して行った後にステップＳ３１６に移行する。このとき変数ｍには、対象セル内でデータ候補として考慮すべき文字列の数が代入されている。
【０１８５】
ステップＳ３１６では、データ候補となる文字列がないか否か判定する。ステップＳ３１２まで移行した文字列が存在しない場合、判定はＹＥＳとなってステップＳ３２２に移行する。そうでない場合には、判定はＮＯとなってステップＳ３１７に移行する。そのＳ３１７では、データ候補となる文字列が一つか否か判定する。その文字列が一つのみであった場合、判定はＹＥＳとなってステップＳ３２２に移行する。そうでない場合には、判定はＮＯとなってステップＳ３１８に移行する。
【０１８６】
ステップＳ３１８では、それまでの値から予め設定した分割点を減算することにより、各文字列の得点ＤＴｎｍを更新する。続くステップＳ３１９では、変数ｍが示す数分の文字列を統合する（図５８（ａ）、（ｄ）（ｅ））。その次に移行するステップＳ３２０では、変数ｍの値をインクリメントする。そのインクリメント後は、ステップＳ３２１で上記同一セル内データ点を得点ＤＴｎｍに設定してからステップＳ３２２に移行する。
【０１８７】
ステップＳ３２２では、統合したｍ個の文字列のなかにデータの付帯記号を持つものがあったか否か判定する。その付帯記号を持つ文字列が存在した場合、判定はＹＥＳとなってステップＳ３２３に移行し、それまでの値に上記付帯点を加算することにより、各文字列の得点ＤＴｎｍを更新する。その後はステップＳ３２４に移行する。そうでない場合には、判定はＮＯとなってそのステップＳ３２４に移行する。
【０１８８】
ステップＳ３２４では、統合したｍ個の文字列のなかに属性エラーが設定されたものの有無を判定する。属性エラーが設定された文字列が存在する場合、属性エラーが設定された文字列は有ると判定され、ステップＳ３２５に移行し、それまでの値に予め定めた属性エラー点を減算することにより、各文字列の得点ＤＴｎｍを更新する。その後にセル内項目候補抽出処理を終了する。そうでない場合には、その旨が判定され、ここでセル内項目候補抽出処理を終了する。
【０１８９】
ここで、上記ステップＳ３０２として実行されるセル内複数項目候補抽出処理について、図１７に示すフローチャートを参照して詳細に説明する。その抽出処理は、上述したように、複数の見出し文言のなかで項目名の候補となりうるものを抽出するために実行される。
【０１９０】
図５９（ａ）〜（ｄ）に示すように「見出し１」及び「見出し２」の二つの見出し文言を含む複数の文字列が１セル内に存在する場合、見出し文言以外の文字列は図６０（ａ）〜（ｄ）に示すように抽出される。即ち例えば図５９（ａ）に示す例では、図６０（ａ）に示すように、２つの「プリプリント」、「○○○○○」「△△△△」「銀行」及び「支店」が抽出される。他の図５９（ｂ）〜（ｄ）でも同様に、図６０（ｂ）〜（ｄ）で破線により囲った文字列が抽出される。図６１（ａ）〜（ｄ）に示すように仮想セルは、抽出した文字列が見出し文言とは一緒にならないように生成される。その生成後は、図５８を参照して説明したように、不必要とすべき文字列は除外して、残った文字列を必要に応じて統合する。それにより図５９（ａ）〜（ｄ）に示す例では、最終的に図６２（ａ）〜（
ｄ）に示す文字列がデータ候補として得られることとなる。セル内複数項目候補抽出処理は、そのような操作を実現させる。
【０１９１】
先ず、ステップＳ３５１では、変数ＨＫｍに見出し文言が並ぶ方向を示す値を代入する。その代入後はステップＳ３５２に移行する。
ステップＳ３５２〜Ｓ３５６は、見出し文言以外に対象セル内から抽出された文字列の数分、繰り返し実行される処理ループを形成している。ステップＳ３５２〜Ｓ３５８のなかでステップＳ３５３〜Ｓ３５８は見出し文言数分、繰り返し実行される処理ループを形成している。それにより、着目する文字列を変更しながら、文字列毎に各見出し文言を考慮しデータとしての評価を行う。ここでは着目する文字列は「対象文字列」と表記する。
【０１９２】
先ず、ステップＳ３５２では、対象文字列がプリプリントであれば除去する。次に移行するステップＳ３５３では、見出し文言で入力されるデータに付される可能性のある付帯記号のみで対象文字列が構成されているか否か判定する。その付帯記号のみが対象文字列として存在する場合、判定はＹＥＳとなり、ステップＳ３５４で付帯記号の存在を設定した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ３５５に移行する。
【０１９３】
ステップＳ３５５では、対象文字列の属性を見出し文言で入力されるデータの属性と日悪する。それらの属性が同じであった場合、その旨が判定されて、ステップＳ３５６で前の文字列と距離が近いか否かを判定する。それと距離が近い場合、判定はＹｅｓとなり、ステップＳ３５７で前行の続きの文字列になるため、これと統合する。そうでない場合は、判定はＮＯとなり、ステップＳ３５８で対象文字列を新たにデータ候補と設定した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。それにより、見出し文言別に、対象文字列をデータ候補とすべきか否かの確認を行い、その確認が終了することでステップＳ３６１に移行する。
【０１９４】
ステップＳ３６１では、文字列のなかのデータ候補の有無を判定する。何れかの文字列がデータ候補とされていた場合、データ候補はあると判定され、ステップＳ３６２に移行する。そうでない場合には、その旨が判定され、ステップＳ３６８に移行する。
【０１９５】
ステップＳ３６２では、データ候補とそれに対応付けている見出し文言との並び関係を示す情報を獲得する。次のステップＳ３６３では、見出し文言とデータ候補の並ぶ方向を判定する。図５９（ｄ）に示すようにそれらが全て同じ方向に並んでいた場合、並びは同じと判定され、ステップＳ３６４で見出し文言用の仮想セルを図６１（ｄ）に示すように生成した後、ステップＳ３６５に移行する。そうでない場合には、つまり図５９（ａ）〜（ｃ）の何れかのように見出し文言とデータ候補が並んでいた場合には、並ぶ方向は垂直と判定され、ステップＳ３６５に移行する。
【０１９６】
ステップＳ３６５では、図６１（ａ）〜（ｄ）の何れかに示すように仮想セルを生成する。続くステップＳ３６６では、対象セル内の文字列を行毎に評価するための点数ＤＴｎｍの初期値として、上記同一セル内データ点を設定する。次に移行するステップＳ３６７では、見出し文言数分、図１６のセル内項目候補抽出処理を実行する。その実行後、このセル内複数項目候補抽出処理を終了する。そのセル内項目候補抽出処理で対象とするセルは、見出し文言を含んでいないセルである。
【０１９７】
図１８は、図１１に示す第１の論理構造解析処理内でステップＳ１８３として実行される右項目候補抽出処理のフローチャートである。次に図１８を参照して、その抽出処理について詳細に説明する。
【０１９８】
先ず、ステップＳ４０１では、対象セル内に見出し文言は一つのみか否か判定する。二つ以上の見出し文言が存在している場合、判定はＮＯとなってステップＳ４０８に移行する。そうでない場合には、判定はＹＥＳとなってステップＳ４０２に移行する。
【０１９９】
ステップＳ４０２では、見出し文言が含まれる対象セルの右側に複数のセルが存在することの有無を判定する。その複数のセルが存在する場合には、判定は有りとなってステップＳ４０３に移行する。そうでない場合には、判定は無しとなり、ここで右項目候補抽出処理を終了する。
【０２００】
右側にある複数のセルは全て同じ形状であるとは限らない。また、同じライン上に正確に揃っているとも限らない。このことから、図６３〜図６５に示すように本実施形態では、複数のセルの形状や並びに応じて、比較的に平均から異なっているセル（はしごセル）を抽出して補正するようにしている。ステップＳ４０３では、その補正を実現させる、はしごセル抽出処理を実行する。その実行後は、ステップＳ４０４で対象セル内の文字列を行毎に評価するための点数ＤＴｎｍの初期値として、予め定めた右複数セル内データ点を設定し、ステップＳ４０５で図１６のセル内項目候補抽出処理を実行する。その実行後、この右項目候補抽出処理を終了する。
【０２０１】
図５８のように、見出しを含むセル内にデ-タ候補となる文字列が存在する可能性があるため、上記ステップＳ４０１の判定がＹＥＳとなった場合、ステップＳ４０６及びＳ４０７が実行される。そのステップＳ４０６では、対象セル内の文字列を行毎に評価するための点数ＤＴｎｍの初期値として、予め定めた右セル内データ点を設定し、ステップＳ４０７で図１６のセル内項目候補抽出処理を実行する。その実行後、この右項目候補抽出処理を終了する。このように点数ＤＴｎｍの初期値を変えてセル内項目候補抽出処理を実行するのは、対象セルの右側にセルが複数、並んでいるか否かによって、対象セル内にデータ候補となる文字列が存在する確率が異なるからである。
【０２０２】
上記ステップＳ４０１の判定がＮＯとなって移行するステップＳ４０８では、対象セル内の文字列を行毎に評価するための点数ＤＴｎｍの初期値として、予め定めた右セル内複数データ点を設定する。続くステップＳ４０９では、図１７のセル内複数項目候補抽出処理を実行する。その実行後、この右項目候補抽出処理を終了する。
【０２０３】
図１９は、図１１に示す第１の論理構造解析処理内でステップＳ１８５として実行される下項目候補抽出処理のフローチャートである。
この抽出処理では、点数ＤＴｎｍに設定する初期値等が異なる以外、上述の右項目候補抽出処理と同様である。このため、詳細な説明は省略する。ステップＳ４５３に移行するのは、見出し文言とデータの位置関係が図３４（４）に示すようなものとなっている場合である。
【０２０４】
ここで図１８及び図１９のステップＳ４０３及びＳ４５３として実行される、はしごセル抽出処理について、図２０に示すフローチャートを参照して詳細に説明する。
先ず、ステップＳ５０１では、見出し文言がセル内にあるか否か判定する。見出し文言のセルが生成されていない場合、判定はＮＯとなってステップＳ５０７に移行する。そうでない場合には、判定はＹＥＳとなってステップＳ５０２に移行する。
【０２０５】
ステップＳ５０２では、変数Ｈｍｄに見出し文言のセルの高さを代入する（図６４Ａ（ａ））。続くステップＳ５０３では、各セルの高さから平均の高さを算出し、その次のステップＳ５０４では各セルの幅から平均の幅を算出する。平均の高さ、及び幅の算出は、例えば各セルの高さ、及び幅を用いて平均を求め、その平均から大きく異なっているセルを除いたセルのみを用いて再度、平均を求めることで行う。そのようにして高さ、及び幅の平均を求めた後、ステップＳ５０５に移行する。
【０２０６】
ステップＳ５０５では、算出した平均の高さ、及び幅を用いて、補正すべきセルの大きさを補正し、補正したセルの範囲に、マージン分である文字存在範囲を付加する。次のステップＳ５０６では、補正したセルの範囲に文字存在範囲を付加して得られる領域をはしごセル範囲として算出する。その後、はしごセル抽出処理を終了する。
【０２０７】
上記ステップＳ５０１の判定がＮＯとなって移行するステップＳ５０７では、見出し文言の右側のセルの有無を判定する。その右側にセルが存在しない場合、判定は無しとなってステップＳ５０８に移行する。そうでない場合には、判定は有りとなり、ステップＳ５０３に移行して、その右側のセル（そのセルの更に右側に位置する１つ以上のセルがあればそれらのセルを含む）から（平均の）高さを算出する。その後に移行するステップＳ５０４でも同様にして（平均の）セルの幅を算出する。その後にステップＳ５０５に移行することにより、図６４Ａ（ｃ）或いは図６４Ｂ（ｃ）に示すような操作が実現される。
【０２０８】
ステップＳ５０８では、見出し文言の文字の高さＨｍｄｍを基準にして定めた、データとして入力される文字の大きさの想定範囲を示す係数をその高さＨｍｄｍに乗算し、その乗算結果を変数Ｈｍｄに代入する。次のステップＳ５０９では、付帯情報、つまり付帯記号、及びその位置、並びに右側に位置する見出し文言のセルから、データと見なす範囲の終端の検知を行う。また、セル高さが上下とも両方はみだしている場合（図６４Ｂ（ａ）の７）両方はみだし）、データと見なす範囲の終端とする検知を行う。その検知を行った後は、ステップＳ５１０で仮想セルを生成した後、ステップＳ５０５に移行する。それにより、図６５に示すような操作を実現させる。
【０２０９】
図１１に示す第１の論理構造解析処理内で実行されるサブルーチン処理の説明に戻る。
図２１は、図１１に示す第１の論理構造解析処理内でステップＳ１９４として実行される連記項目候補抽出処理のフローチャートである。次に図２１を参照して、その抽出処理について詳細に説明する。
【０２１０】
先ず、ステップＳ５５１では、対象セル内に見出し文言は一つのみか否か判定する。見出し文言が一つのみであった場合、判定はＹＥＳとなってステップＳ５５８に移行する。そうでない場合には、判定はＮＯとなってステップＳ５５２に移行する。
【０２１１】
ステップＳ５５２では、見出し文言が横に並んでいるか否か判定する。見出し文言が並んでいる方向が横であった場合、判定はＹＥＳとなってステップＳ５５６に移行する。そうでない場合には、判定はＮＯとなってステップＳ５５３に移行する。
【０２１２】
ステップＳ５５２では、対象とする見出し文言のセルが存在する行を特定し、次のステップＳ５５３では、その行のデータと見なす文字列を抽出する。その後はステップＳ５５５に移行して、図１７に示すセル内複数項目候補抽出処理を実行した後、この連記項目候補抽出処理を終了する。ステップＳ５５６に移行した場合には、そのステップＳ５５６で対象とする見出し文言のセルが存在する列を特定し、次のステップＳ５５７でその列のデータと見なす文字列を抽出してから、このステップＳ５５５に移行する。それにより、図６６〜図６８（ｅ）（ｆ）に示すような操作が実現される。
【０２１３】
上記ステップＳ５５１の判定がＹＥＳとなって移行するステップＳ５５８では、図１６に示すセル内項目候補抽出処理を実行する。その実行により、図６６〜図６８（ａ）〜（ｃ）に示すような操作が実現される。
【０２１４】
ステップＳ５５８に続くステップＳ５５９では、見出し項目が並ぶ方向と同じ方向に並
んでいる見出し項目（セル）数分のデータセルに相当する全明細のなかに、その並んでいる方向と直交する方向に複数のデータが存在するものがあるか否か判定する。複数行、或いは複数列にわたって文字列が存在するデータセルがある場合、判定はＹＥＳとなり、ステップＳ５６０でデータが１行、或いは１列となるように明細を分割した後、この連記項目候補抽出処理を終了する。そうでない場合には、判定はＮＯとなり、ここでこの抽出処理を終了する。図６９は、明細分割を説明する図であり、図６９に示すような操作はステップＳ５６０の実行によって実現される。
【０２１５】
図２２は、図１１に示す第１の論理構造解析処理内でステップＳ１８６として実行される項目解析要否判定処理のフローチャートである。最後に図２２を参照して、その判定処理について詳細に説明する。この判定処理は、文字認識部１６から、文字の認識の正確さを示す文字確信度、文字の手書き活字判別率ＴＫを全文字分、取得して実行される。図中「ＭＪｔｈ」「ＴＫｔｈ」はそれぞれ、文字認識が正確と見なす文字確信度の閾値、手書きか否か判別するための閾値を表している。
【０２１６】
この判定処理では、各データ候補には対応付けられる見出し文言が存在することから、ステップＳ６０１〜Ｓ６０５はデータ候補数分、繰り返し実行される。ステップＳ６０１〜Ｓ６０５のなかでステップＳ６０１は、対象とする見出し文言の文字数分、繰り返し実行される。それにより、各見出し文言では、その見出し文言を構成する文字のなかで文字確信度が閾値ＭＪｔｈより低いものが存在する、枠に接触している文字がある、カタカナの「ル」を「ノ」と「レ」に分離するといったように、構成要素を分離させても認識可能な文字がある、及び手書き活字判別率ＴＫが閾値ＴＫｔｈより小さい文字がある、のうちの何れかの条件を満たしている場合、項目解析は要とされる。また、図２０に示すはしごセル抽出処理を実行した場合にも要とされる。このことから、必要とする項目解析を項目解析部２１に実行させて、より精度の高い見出し文言の認識結果が論理構造解析（項目確定）部２２に渡されることとなる。
【０２１７】
図２３は、論理構造解析（項目確定）部２２が実行する第２の論理構造解析処理のフローチャートである。次に図２３を参照して、その解析処理について詳細に説明する。図中「ＤＴｍｉｎ」「ＨＫＴ」「εｍ」「εｄ」及び「Ｊｎ」はそれぞれ、データらしさの最低点、つまりデータと見なす得点ＤＴｎｍの閾値、見出し文言の最終的な評価点、評価点を算出するために見出し得点ＭＴｎに乗算される係数、評価点を算出するために得点ＤＴｎｍに乗算される係数、上位データ候補数、をそれぞれ表している。
【０２１８】
ステップＳ６５１〜Ｓ６６４は、１見出し文言毎に、そのデータ候補数分、繰り返し実行される処理ループを形成している。それにより、評価点は全てのデータ候補を考慮して算出するようになっている。
【０２１９】
先ず、ステップＳ６５１では、対象とする見出し文言に対応付けたセルにデータ候補が未記入となっているか否か判定する。そのデータ候補が未記入であった場合、判定はＹＥＳとなり、ステップＳ６５２で最終評価点ＨＫＴを算出し、更にステップＳ６５３でデータ候補が未記入であることを登録した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ６５４に移行する。ステップＳ６５２での最終評価点ＨＫＴの算出は、見出し得点ＭＴｎに係数εｍを乗算し、その乗算結果に予め定めた未記入データ点を加算（＝ＭＴｎ＊εｍ＋未記入データ点）することで行われる。
【０２２０】
ステップＳ６５４では、対象見出し文言に対する項目解析の実施の有無を判定する。図１１のステップＳ１８９で実行した項目解析処理で対象見出し文言の項目解析を行っていた場合、項目解析は行ったと判定され、ステップＳ６５５に移行する。そうでない場合には、その旨が判定され、ステップＳ６６４に移行する。このことから、ステップＳ６５５
〜Ｓ６６３では、項目解析の結果を反映させるための処理が実行される。
【０２２１】
ステップＳ６５５では、得点ＤＴｎｍは閾値ＤＴｍｉｎより小さいか否か判定する。その大小関係が成立していた場合、判定はＹＥＳとなり、ステップＳ６５６に移行して、データが存在しないことを表すための消し線とするデータ候補として登録した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなってステップＳ６５７に移行し、対象とするデータ候補に項目解析によって付帯記号が復元したか否か判定する。データ候補に付された付帯記号の存在が項目解析によって判明した場合、判定はＹＥＳとなってステップＳ６５８に移行する。そうでない場合には、判定はＮＯとなってステップＳ６６１に移行する。
【０２２２】
ステップＳ６５８では、復元された付帯記号は正しいか否か判定する。対象見出し文言から特定される付帯記号とは異なる、付帯記号の位置が異なる、といった理由で付帯記号が正しくない場合、判定はＮＯとなり、ステップＳ６６０で得点ＤＴｎｍを更新してからステップＳ６６１に移行する。その何れでもないような場合には、判定はＹＥＳとなり、ステップＳ６５９で得点ＤＴｎｍを更新してからステップＳ６６１に移行する。ステップＳ６６０及びＳ６５９での得点ＤＴｎｍの更新はそれぞれ、それまでの値に予め定めた付帯点を減算、及び加算することで行われる。それにより、付帯記号が正しければ得点ＤＴｎｍをより高くし、正しくなければ得点ＤＲｎｍを下げるようにしている。
【０２２３】
ステップＳ６６１では、記入されたデータ候補の属性は対象見出し文言から特定される属性と合っているか否か判定する。それらの属性が一致しているような場合、判定はＯＫとなり、ステップＳ６６３で得点ＤＴｎｍを更新した後、ステップＳ６６４に移行する。そうでない場合には、判定はＮＧとなり、ステップＳ６６２で得点ＤＴｎｍを更新してからそのステップＳ６６４に移行する。ステップＳ６６３及びＳ６６２での得点ＤＴｎｍの更新はそれぞれ、それまでの値に予め定めた属性ＯＫ点を加算、及び減算することで行われる。それにより、属性に問題がなければ得点ＤＴｎｍをより高くし、問題があれば得点ＤＲｎｍを下げるようにしている。
【０２２４】
ステップＳ６６４では、評価点ＨＫＴの算出を行う。その算出は、見出し得点ＭＴｎに係数εｍを乗算した結果に、得点ＤＴｎｍと係数εｄの乗算結果を加算する（＝ＭＴｎ＊εｍ＋ＤＴｎｍ＊εｄ）ことで行われる。その算出を行った後に一連の処理が終了する。
【０２２５】
上述したような処理を見出し文言毎にデータ候補数分、実行した後に移行するステップＳ６６５では、帳票の種別が連記か否か判定する。その種別が連記であった場合、判定はＹＥＳとなってステップＳ６７４に移行する。そうでない場合には、判定はＮＯとなってステップＳ６６６に移行する。
【０２２６】
ステップＳ６６５に移行した時点では、各見出し文言の評価点ＨＫＴは全て算出済みとなっている。それによりステップＳ６６６では、代表見出し毎に、見出し文言を評価点ＨＫＴ順にソートする。次のステップＳ６６７では、評価点ＨＫＴ順のソートに合わせて、上位Ｊｎ位までの見出し文言に対応付けられたデータ候補を抽出する。その後はステップＳ６６８に移行して、抽出したデータ候補のなかに異なる代表見出しに対応付けられるデータ候補が重複しているか否か判定する。そのデータ候補の重複が発生していた場合、判定はＹＥＳとなってステップＳ６７１に移行し、そうでない場合には、判定はＮＯとなり、ここでこの解析処理を終了する。
【０２２７】
上述したように、各明細範囲（関連するデータ入力用の表構造）では代表見出しは重複しないように論理構造解析ＤＢ２５を作成している。このことからデータ候補の重複は、ステップ６６６で行った見出し文言のソートに不適切な箇所が存在することを意味する。
【０２２８】
ステップＳ６７１では、重複しているデータ候補にそれぞれ対応付けられた見出し文言は同位か否か判定する。それら見出し文言の評価点ＨＫＴが同じ値であった場合、判定はＹＥＳとなり、ステップＳ６７２で見出し得点ＭＴｎの大きいほうを上位とし、続くステップＳ６７３で上位のほうには評価点ＨＫＴの加点、下位のほうには評価点ＨＫＴの減点を行った後、ステップＳ６６９に移行する。そうでない場合には、判定はＮＯとなってそのステップＳ６７２に移行し、重複するデータ候補にそれぞれ対応付けられた見出し文言の評価点ＨＫＴを更新する。
【０２２９】
上述したような更新により、重複するデータ候補が共に選択される可能性が低減する。それにより、不具合が発生するのは抑えられることとなる。
ステップＳ６６９では、評価点ＨＫＴの操作を行ったことから、再度、評価点ＨＫＴ順に見出し文言のソートを行う。その次に移行するステップＳ６７０では、評価点ＨＫＴ順の再ソートに合わせて、上位Ｊｎ位までの見出し文言に対応付けられたデータ候補を再抽出する。その後に、この解析処理を終了する。
【０２３０】
上記ステップＳ６６５の判定がＹＥＳとなって移行するステップＳ６７４では、１明細の全てのセルで属性がＮＧだったか否か判定する。１明細の全てのセルにデータ候補となりうる文字列が存在しない場合、例えば記入したデータが無効であることを示すためにデータ上に線を引いた、汚れ等のためにデータを記入しなかった、或いは落書きのような記入がある、といったような場合、その全てのセルで上記ステップＳ６５５の判定がＹＥＳとなる。つまり図７０に示すように、１明細の全てのセルが消し線の候補となる。このため、そのような場合、判定はＹＥＳとなり、ステップＳ６７５で１明細の全てを消し線で削除した後、この解析処理を終了する。そうでない場合には、判定はＮＯとなって、ここでこの解析処理を終了する。
【０２３１】
図７１は、上記第２の論理構造解析処理の実行によって得られる認識結果を説明する図である。図７２は単票を例にとって認識結果を説明するものである。図７２（ａ）は入力された帳票画像であり、文字「塊」及び「額」が認識不可能となっていることを示している。図７２（ｂ）は見出し得点ＭＴｎから抽出される見出し文言が「金？」「金？」及び「金）」であることを示している。図７２（ｃ）は文字「塊」が認識できないことから「金？」と扱われる見出し文言で対応付け可能なデータ候補を示している。図７２（ｄ）は、対応付け可能なデータ候補「○○○円」により見出し文言「金？」が代表見出し「金額」と認識され、そのデータが「○○○円」と確定されたことを示している。
【０２３２】
図７２は実際の帳票の認識結果を示す図である。図７２（ａ）〜（ｄ）はそれぞれ、異なる帳票での認識結果を示している。その図７２（ａ）〜（ｄ）から、対応関係を含め、見出し文言、そのデータを正確に認識できることが分かる。
【０２３３】
図７３は、図１に示す本実施形態による帳票認識装置を実現可能なコンピュータの構成図である。
図７３に示すコンピュータは、ＣＰＵ６１、メモリ６２、入力装置６３、出力装置６４、外部記憶装置６５、媒体駆動装置６６、及びネットワーク接続装置６７を有し、これらがバス６８によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【０２３４】
ＣＰＵ６１は、当該コンピュータ全体の制御を行う。
メモリ６２は、プログラム実行、データ更新等の際に、外部記憶装置６５（あるいは可搬型の記録媒体ＭＤ）に記憶されているプログラムあるいはデータを一時的に格納する例えばＲＡＭである。ＣＰＵ６１は、プログラムをメモリ６２に読み出して実行することに
より、全体の制御を行う。
【０２３５】
入力装置６３は、例えば、キーボード、マウス等の入力装置、或いはスキャナ等の画像読取装置と接続されたインターフェースである。入力装置に対するユーザの操作を検出し、その検出結果をＣＰＵ６１に通知する。
【０２３６】
出力装置６４は、例えば表示装置と接続された表示制御装置、或いはそれらを有するものである。ＣＰＵ６１の制御によって送られてくるデータを表示装置上に出力させる。
ネットワーク接続装置６７は、例えばイントラネットやインターネット等のネットワークを介して、外部装置と通信を行うためのものである。その外部装置は、画像読取装置であっても良く、その画像読取装置と接続されたものであっても良い。外部記憶装置６５は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
【０２３７】
記憶媒体駆動装置６６は、光ディスクや光磁気ディスク等の可搬型の記録媒体ＭＤにアクセスするものである。
本実施形態による帳票認識装置１は、それに必要な機能を搭載したプログラム（以降「帳票認識ソフト」と呼ぶ）をＣＰＵ６１が実行することで実現される。その認識ソフトは、記録媒体ＭＤに記録して配布しても良く、或いはネットワーク接続装置６７により取得できるようにしても良い。ここでは、外部記憶装置６５に認識ソフト、及び論理構造解析ＤＢ２５が共に格納されていると想定する。
【０２３８】
上述したような想定では、入力部１１は例えばＣＰＵ６１、メモリ６２、入力装置６３、外部記憶装置６５、ネットワーク接続装置６７、及びバス６８によって実現される。出力部２３は、例えばＣＰＵ６１、メモリ６２、出力装置６４、外部記憶装置６５、ネットワーク接続装置６７、及びバス６８によって実現される。データベース蓄積部２４は、例えばＣＰＵ６１、メモリ６２、外部記憶装置６５、及びバス６８によって実現される。メモリ２６は外部記憶装置６５に相当する。他は、例えばＣＰＵ６１、メモリ６２、外部記憶装置６５、及びバス６８によって実現される。
【０２３９】
図７４は、本実施形態によるデータベース作成装置の機能構成図である。
上記帳票認識装置１は、論理構造解析ＤＢ２５を参照して、帳票の認識を行う。このデータベース（ＤＢ）作成支援装置７００は、その解析ＤＢ２５の作成を支援するためのものである。
【０２４０】
論理構造解析ＤＢ２５では、見出し文言を階層構造で管理すると共に、関連するデータの入力に用いることが可能な表構造（単位表構造）で管理する。それにより、帳票上、１つの表として扱われる範囲（明細範囲（見出しＤＲ・ＧＲ領域））の認識は、表構造で管理する情報を用いて行えるようになっている。
【０２４１】
階層構造での管理では、見出し文言として考えられる文字列を定義し、その上位に同じ表構造では重複しない排他関係を持つ代表見出しを定義し、その上位に見出しＤＲ或いはＧＲを定義する。同じ代表見出しが割り当てられた見出し文言では、その見出し文言で入力されるデータに係わるデータ情報を共有化させる。そのような階層構造を採用したことにより、表構造を登録しなくとも、表構造内の見出し文言と入力されたデータの対応関係を高精度に認識することができる。また、見出し文言が認識できなくとも、その見出し文言の代わりとなる代表見出し（論理的な整合性が維持される見出し文言）を用いることができる。それにより、見出し文言が正しく認識できなくとも、論理的に代表見出しを用いた適切な解析が行えるようになっている。認識できない部分が存在していたとしても、その部分を正確に推定することもできる。従って、文字認識の精度が低いことによる悪影響は抑制されることになって、論理的に適切な解析はより高精度に行えるようになる。見出
し文言が少ないような表構造では、表記されていない見出し文言（代表見出し等を追加し、帳票の内容をより容易に理解できるようにすることもできる。これらのことから、表構造の登録はしなくとも良いということの他に、帳票認識を適切に行える帳票の範囲が広い（汚れやシワ等による悪影響を低減できる）、帳票上に無い情報まで提供可能である、といった効果が得られることとなる。これらのことは、上述の帳票認識装置１の説明により明らかである。
【０２４２】
このようなことを可能とさせる解析ＤＢ２５の作成を支援する作成支援装置７００は、図１に示すように、見出し文言やデータ情報等の入力に用いられる見出し・データ情報入力部７０１と、入力された見出し文言、及びデータ情報から代表見出しを作成する代表見出し作成部７０２と、階層間の見出し関係の入力に用いられる見出し関係入力部７０３と、入力した見出し関係から階層毎に見出し文言を生成する見出し関係生成部７０４と、論理構造解析ＤＢ２５に対し、入力した情報や生成した情報を出力して登録するＤＢ出力部７０５と、を備えている。
【０２４３】
それら各部７０１〜７０５は、図７３に示す構成で各部７０１〜７０５を実現させるプログラム及び論理構造解析ＤＢ２５が外部記憶装置６５に格納されているという想定では、見出し・データ情報入力部７０１、見出し関係入力部７０４及びＤＢ出力部７０５は共に、例えばＣＰＵ６１、メモリ６２、入力装置６３、外部記憶装置６５、ネットワーク接続装置６７、及びバス６８によって実現される。それら以外は、例えばＣＰＵ６１、メモリ６２、外部記憶装置６５、及びバス６８によって実現される。
【０２４４】
図７５は、代表見出しを作成する処理の流れを示すフローチャートである。次に図７５を参照して、代表見出しを作成するまでのオペレータの操作、及びその操作に応じて実行される処理について詳細に説明する。その図７５では、説明上、便宜的に、１表構造（バリエーションを含む）分の情報を解析ＤＢ２５に登録することを想定して処理の流れを示している。これは、後述する図７６でも同様である。
【０２４５】
先ず、ステップＳ７０１では、オペレータが入力を指示した見出し文言を読み込む。次のステップＳ７０２では、送り仮名を除去した見出し文言を自動的に追加する。その次のステップＳ７０３では、見出し文言を文字単位でソートする。そのソート後に移行するステップＳ７０４では、入力された見出し文言のなかから代表見出しを仮設定する。その仮設定した代表見出しを例えば表示装置上に表示させた後、ステップＳ７０５に移行する。
【０２４６】
オペレータは仮設定の代表見出しを確認し、必要に応じて修正を行う。それによりステップＳ７０５では、オペレータの指示に従い、代表見出しの仮設定を必要に応じて変更する。その変更の終了をオペレータが指示することでステップＳ７０６に移行し、代表見出しを確定させる。その後のステップＳ７０７〜Ｓ７１０では、見出し文言数分、見出し位置、及びデータ情報の入力、入力した情報の設定等を行う。そのような情報の入力・設定が終了することでステップＳ７１１に移行する。その移行時には、論理構造解析ＤＢ２５に格納される情報として、図７７（ａ）に示すようなものが蓄積される。
【０２４７】
ステップＳ７１１では、代表見出し間での文言が重複しているか否か判定する。重複している文言が存在した場合、判定はＹＥＳとなり、ステップＳ７１２に移行して、重複している文言の確認、及び必要に応じた修正をオペレータに要求する。それにより、その要求に応じた対応をオペレータが行うことでステップＳ７１３に移行する。そうでない場合には、判定はＮＯとなり、そのステップＳ７１３に移行する。図７７は、重複している文言の例を示している。
【０２４８】
ステップＳ７１３では、表形式の定義を行うべきか否か判定する。その定義を行うべき
であった場合、判定はＹＥＳとなり、ステップＳ７１４で表形式の入力をオペレータに促し、その入力を行う。その入力後はステップＳ７１５で表形式を定義してからステップＳ７１６に移行する。そうでない場合には、判定はＮＯとなり、そのステップＳ７１６に移行する。
【０２４９】
図７８は、表形式の定義、及びその定義に対応する帳票デザイン（表構造）を説明する図である。図７８では、例えば図７８（ａ−１）は図７８（ｂ−１）に対応しており、その対応関係は括弧内の数値で表している。図７８に示すように、定義する表形式は１つ以上の帳票デザインに対応可能となっている。
【０２５０】
ステップＳ７１６では、データ整形を行うべきか否か判定する。そのデータ整形を行うべきであった場合、判定はＹＥＳとなり、ステップＳ７１７でデータ整形情報の入力をオペレータに促し、その情報の入力を行う。その入力後は、ステップＳ７１８でデータ整形を定義し、ステップＳ７１９でそれまで蓄積した情報を解析ＤＢ２５に書き込んだ後、一連の処理を終了する。
【０２５１】
図７９は、データ整形の定義、及びその定義によって行われるデータ整形を説明する図である。図７９（ａ）は定義内容、図７９（ｂ−１）〜（ｂ−４）はそれぞれ、帳票デザ
図７６は、見出し関係を生成する処理の流れを示すフローチャートである。次に図７６を参照して、見出し関係を生成するまでのオペレータの操作、及びその操作に応じて実行される処理について詳細に説明する。その図７６では、図７５の処理を実行することで論理構造解析ＤＢ２５に格納された情報が存在することを前提とする。
【０２５２】
先ず、ステップＳ７５１では、図８０にユーザ入力データとして示すように、オペレータが入力する代表見出しペアを読み込む。続くステップＳ７５２では、重複する代表見出しペアがあるか否か判定する。代表見出しペアに重複しているものがあった場合、判定はＹＥＳとなり、ステップＳ７５３で一つのみを残して他は削除した後、ステップＳ７５４に移行する。そうでない場合には、判定はＮＯとなり、そのステップＳ７５４に移行する。
【０２５３】
ステップＳ７５４では、論理構造解析ＤＢ２５から必要な情報を読み込む。その後に移行するステップＳ７５５では、読み込んだ情報で定義されている見出し文言のなかに代表見出しペアで示されているものがあるか否か判定する。見出し文言のなかに、代表見出しペアで代表見出しとされたものがある場合、判定はＹＥＳとなり、ステップＳ７５６でその見出し文言を代表見出しに修正した後、ステップＳ７５７に移行する。そうでない場合には、判定はＮＯとなってステップＳ７５７に移行する。
【０２５４】
代表見出しペアでは、図８０にユーザ入力データとして示すように、２つの代表見出しの位置的な関係を「上側／左側」、及び「下側／右側」の位置で指定するようになっている。つまり２つの代表見出しは互いに異なる位置を指定する形で入力される。それらの位置は上下関係を表しており、「上側／左側」は「下側／右側」より上位となっている。それによりステップＳ７５７では、「上側／左側」の代表見出しを優先する形、つまり「上側／左側」の代表見出しは同じに維持したままで「下側／右側」の代表見出しの全種類をソートする。それにより図８０（ａ）はソート後の状態を示している。
【０２５５】
ステップＳ７５７に続くステップＳ７５８では、代表見出し間の関連付けを生成する。その関連付けは、図８０に示すように、代表見出し間で最上位とすべき代表見出し、最上位の次の上位とすべき代表見出し等を特定する作業である。それにより、番号が１〜６の代表見出しペアでは、代表見出し「振込先」が最上位となり、次に上位の代表見出しは「銀行名」「支店名」「種目」及び「口座番号」の４つとなる。データ位置順位は、ソート順で設定されている。そのように関連付けを生成した後はステップＳ７５９に移行する。
【０２５６】
ステップＳ７５９では、関連付けのなかに矛盾があるか否か判定する。図８０のユーザ入力データで番号が３０、３１の代表見出しペアによって生成される関連付けは、２つの代表見出し間に２つの上下関係が存在していることを表すものとなる。このため、そのような関連付けは矛盾が存在するとして、判定はＹＥＳとなり、ステップＳ７６０で矛盾した関連付けの提示、及びその修正をオペレータに促すことになる。その修正、例えば代表見出しペアの再入力をオペレータが行うことにより、オペレータの修正結果を反映させた関連付けを再生成した後、ステップＳ７６０からステップＳ７６１に移行する。
【０２５７】
ステップＳ７６１では、見出しＧＲ関係を生成する。見出しＧＲは代表見出しの上位に位置させる代表見出しであり、見出しＧＲ関係は、より上位の見出しＧＲとその次に上位の代表見出しの関係を指している。図８０に示す例では、代表見出し「振込先」はそれよりも上位に位置づけられる代表見出し「受取人」が存在することから、見出しＧＲとされる。見出しＤＲは見出しＧＲより更に上位に位置付けられる代表見出しであることから、見出しＤＲは「受取人」とされる。その見出しＤＲとその次に上位の代表見出しの関係が見出しＤＲ関係である。
【０２５８】
ステップＳ７６１に続くステップＳ７６２では、生成された異なる見出し関係で同じ見出しＧＲが存在するか否か判定する。異なる見出し関係で見出しＧＲが重複していた場合、判定はＹＥＳとなってステップＳ７６３に移行し、重複しないように見出しＧＲ、その見出しＧＲとした代表見出しを変更（ＲＥＮＡＭＥ）する。その後、ステップＳ７６４に移行する。そうでない場合には、判定はＮＯとなってそのステップＳ７６４に移行する。
【０２５９】
ステップＳ７６４では、上記見出しＤＲ関係を生成する。その生成後はステップＳ７６５に移行して、帳票デザインを作成する。
図８１は、見出しＧＲ関係の定義によって生成される帳票デザインを説明する図である。図８１（ａ−１）〜（ａ−４）はそれぞれ、図８１（ａ−１）は生成された見出しＧＲ関係、図８１（ａ−２）は生成された見出しＧＲ関係に合う帳票デザインのバリエーション、図８１（ａ−３）は実際に読み取られた帳票デザイン、図８１（ａ−４）は図８１（ａ−３）の帳票デザインで各代表見出しに対応付けられるデータ、をそれぞれ示している。図中の「１」〜「４」はデータ位置順位を表している。また図８１（ｂ−１）は生成された見出しＧＲ関係、図８１（ｂ−２）は生成された見出しＧＲ関係に合う帳票デザインのバリエーション、をそれぞれ示している。
【０２６０】
図８２は、見出しＧＲ関係により帳票デザインから生成される見出し関係を説明する図であり、図８２（ａ）〜（ｇ）にそれぞれ異なる例を示している。
上述したように、見出し文言が存在しない、或いは認識できないことで表構造から未検出の見出し文言があった場合、データ候補にはデータ位置順位に従って代表見出しが割り当てられる。帳票デザインを作成しオペレータに確認させるのはこのためである。つまり帳票デザインを通して不適切な部分を確認させるためである。生成した見出し関係は、状況により、未検出の見出し文言に割り当てる代表見出しの決定に用いられる。図８２に示す例は何れも、見出し文言の認識結果に応じて生成される見出し関係であり、その見出し関係は図１の論理構造解析（項目候補抽出）部２０による修正の対象となる。
【０２６１】
図８３は、見出しＤＲ関係の定義によって生成される帳票デザインを説明する図である。図８４は、見出しＤＲ関係により帳票デザインから生成される見出し関係を説明する図である。図８３及び図８４から明らかなように、見出しＤＲ関係でも見出しＧＲ関係と同様のことが実施可能となっている。
【０２６２】
なお、本実施形態では、帳票を対象としているが、対応付けられる情報が表構造で配置された形となっている媒体であれば帳票以外のものであっても良い。また、細部については様々な変形が可能である。
【図面の簡単な説明】
【０２６３】
【図１】本実施形態による帳票認識装置の機能構成を示す図である。
【図２】表構造解析処理のフローチャートである。
【図３】キーワード抽出処理のフローチャートである。
【図４】見出し得点算出処理のフローチャートである。
【図５】コメント判定処理のフローチャートである。
【図６】帳票種別判定処理のフローチャートである。
【図７】表構造判定処理のフローチャートである。
【図８】見出し文言判定処理のフローチャートである。
【図９】セル補正処理のフローチャートである。
【図１０】無罫線表の表構造解析処理のフローチャートである。
【図１１】第１の論理構造解析処理のフローチャートである。
【図１２】不読見出し復元処理のフローチャートである。
【図１３】排他関係、及びデータ情報による再抽出処理のフローチャートである。
【図１４】重複精査処理のフローチャートである。
【図１５】ＤＲ・ＧＲ−見出し文言精査処理のフローチャートである。
【図１６】セル内項目候補抽出処理のフローチャートである。
【図１７】セル内複数項目候補抽出処理のフローチャートである。
【図１８】右項目候補抽出処理のフローチャートである。
【図１９】下項目候補抽出処理のフローチャートである。
【図２０】はしごセル抽出処理のフローチャートである。
【図２１】連記項目候補抽出処理のフローチャートである。
【図２２】項目解析要否判定処理のフローチャートである。
【図２３】第２の論理構造解析処理のフローチャートである。
【図２４】帳票例を示す図である（その１）。
【図２５】帳票例を示す図である（その２）。
【図２６】帳票例を示す図である（その３）。
【図２７】帳票例を示す図である（その４）。
【図２８】帳票例を示す図である（その５）。
【図２９】帳票例を示す図である（その６）。
【図３０】帳票例を示す図である（その７）。
【図３１】同じ位置を持つ見出し文言のバリエーションを示す図である。
【図３２】同じ表記の見出し文言のデザインによって変化する意味を説明する図である。
【図３３】口座番号を入力させる表構造のバリエーションを示す図である。
【図３４】見出し文言とそれに対応するデータの位置関係例を説明する図である。
【図３５】見出しＧＲ及び見出しＤＲに着目した表構造のバリエーションを示す図である（その１）。
【図３６】見出しＧＲ及び見出しＤＲに着目した表構造のバリエーションを示す図である（その１）。
【図３７】表構造解析処理を実行することで行われる解析内容を説明する図である（その１）。
【図３８】表構造によって生成されるセルを示す図である。
【図３９】見出し文言のソート方法を示す図である。
【図４０】抽出された見出し文言で算出される見出し得点例を示す図である。
【図４１】コメント文の例を説明する図である。
【図４２】キーワードＤＢ３１に登録される内容例を示す図である。
【図４３】抽出された見出し文言で算出される見出し得点例を示す図である。
【図４４】図４３（ｃ）に示す内容が論理構造解析ＤＢ２５に格納されている場合に算出される見出し得点ＭＴｎを説明する図である。
【図４５】帳票の種別によって生成されるセルの相違を説明する図である。
【図４６】見出し文言の配置による帳票種別の判定方法を説明する図である。
【図４７】帳票種別の判定結果により行われるセル補正を説明する図である。
【図４８】無罫線表から生成される仮想セルを説明する図である。
【図４９】見出し位置情報による再抽出処理の内容の例を示す図である。
【図５０】見出し位置情報による再抽出処理の内容の他の例を示す図である。
【図５１】排他関係、及びデータ情報による再抽出処理で実施する見出し文言の再抽出の第１の例を説明する図である。
【図５２】排他関係、及びデータ情報による再抽出処理で実施する見出し文言の再抽出の第２の例を説明する図である。
【図５３】排他関係、及びデータ情報による再抽出処理で実施する見出し文言の再抽出の第３の例を説明する図である。
【図５４】見出し文言の復元方法を説明する図である。
【図５５】見出し文言の復元結果に応じて行うセル補正を説明する図である。
【図５６】重複精査処理の内容を説明する図である。
【図５７】ＤＲ・ＧＲ−見出し文言精査処理の内容を説明する図である。
【図５８】セル内から他の文字列を抽出する方法を説明する図である（その１）。
【図５９】セル内から他の文字列を抽出する方法を説明する図である（その２）。
【図６０】セル内から他の文字列を抽出する方法を説明する図である（その３）。
【図６１】セル内から他の文字列を抽出する方法を説明する図である（その４）。
【図６２】セル内から他の文字列を抽出する方法を説明する図である（その５）。
【図６３】セル内から他の文字列を抽出する方法を説明する図である（その６）。
【図６４Ａ】セル内から他の文字列を抽出する方法を説明する図である（その７）。
【図６４Ｂ】セル内から他の文字列を抽出する方法を説明する図である（その８）。
【図６５】セル内から他の文字列を抽出する方法を説明する図である（その９）。
【図６６】セル内から他の文字列を抽出する方法を説明する図である（その１０）。
【図６７】セル内から他の文字列を抽出する方法を説明する図である（その１１）。
【図６８】セル内から他の文字列を抽出する方法を説明する図である（その１２）。
【図６９】明細分割を説明する図である。
【図７０】消し線による削除を説明する図である。
【図７１】第２の論理構造解析処理の実行によって得られる認識結果を説明する図である。
【図７２】実際の帳票の認識結果を示す図である。
【図７３】本実施形態による帳票認識装置を実現可能なコンピュータの構成図である。
【図７４】本実施形態によるデータベース作成支援装置の機能構成を示す図である。
【図７５】代表見出しを作成する処理の流れを示すフローチャートである。
【図７６】見出し関係を生成する処理の流れを示すフローチャートである。
【図７７】重複している文言の例を示す図である。
【図７８】表形式の定義、及びその定義に対応する帳票デザイン（表構造）を説明する図である。
【図７９】データ整形の定義、及びその定義によって行われるデータ整形を説明する図である。
【図８０】見出し関係の生成方法を説明する図である。
【図８１】見出しＧＲ関係によって生成される帳票デザインを説明する図である。
【図８２】見出しＧＲ関係により帳票デザインから生成される見出し関係を説明する図である。
【図８３】見出しＤＲ関係によって生成される帳票デザインを説明する図である。
【図８４】見出しＤＲ関係により帳票デザインから生成される見出し関係を説明する図である。
【符号の説明】
【０２６４】
１１      入力部
１２      図表文分離部
１３      罫線抽出部
１４      表構造解析部
１５      テキスト抽出部
１６      文字認識部
１７      キーワード抽出部
１８      帳票種別判定部
１９      表構造解析（無罫線）部
２０      論理構造解析（項目候補抽出）部
２１      項目解析部
２２      論理構造解析（項目確定）部
２３      出力部
２４      データベース蓄積部
２５      論理構造解析ＤＢ
２６      メモリ
７０１      見出し・データ情報入力部
７０２      代表見出し作成部
７０３      見出し関係入力部
７０４      見出し関係生成部
７０５      ＤＢ出力部
【図１】
2010003155.tif 000003
【図２】
2010003155.tif 000004
【図３】
2010003155.tif 000005
【図４】
2010003155.tif 000006
【図５】
2010003155.tif 000007
【図６】
2010003155.tif 000008
【図７】
2010003155.tif 000009
【図８】
2010003155.tif 000010
【図９】
2010003155.tif 000011
【図１０】
2010003155.tif 000012
【図１１】
2010003155.tif 000013
【図１２】
2010003155.tif 000014
【図１３】
2010003155.tif 000015
【図１４】
2010003155.tif 000016
【図１５】
2010003155.tif 000017
【図１６】
2010003155.tif 000018
【図１７】
2010003155.tif 000019
【図１８】
2010003155.tif 000020
【図１９】
2010003155.tif 000021
【図２０】
2010003155.tif 000022
【図２１】
2010003155.tif 000023
【図２２】
2010003155.tif 000024
【図２３】
2010003155.tif 000025
【図２４】
2010003155.tif 000026
【図２５】
2010003155.tif 000027
【図２６】
2010003155.tif 000028
【図２７】
2010003155.tif 000029
【図２８】
2010003155.tif 000030
【図２９】
2010003155.tif 000031
【図３０】
2010003155.tif 000032
【図３１】
2010003155.tif 000033
【図３３】
2010003155.tif 000034
【図３９】
2010003155.tif 000035
【図４０】
2010003155.tif 000036
【図４１】
2010003155.tif 000037
【図４２】
2010003155.tif 000038
【図４４】
2010003155.tif 000039
【図４５】
2010003155.tif 000040
【図４７】
2010003155.tif 000041
【図４９】
2010003155.tif 000042
【図５０】
2010003155.tif 000043
【図５５】
2010003155.tif 000044
【図５９】
2010003155.tif 000045
【図６０】
2010003155.tif 000046
【図６６】
2010003155.tif 000047
【図７３】
2010003155.tif 000048
【図７４】
2010003155.tif 000049
【図３２】
2010003155.tif 000050
【図３４】
2010003155.tif 000051
【図３５】
2010003155.tif 000052
【図３６】
2010003155.tif 000053
【図３７】
2010003155.tif 000054
【図３８】
2010003155.tif 000055
【図４３】
2010003155.tif 000056
【図４６】
2010003155.tif 000057
【図４８】
2010003155.tif 000058
【図５１】
2010003155.tif 000059
【図５２】
2010003155.tif 000060
【図５３】
2010003155.tif 000061
【図５４】
2010003155.tif 000062
【図５６】
2010003155.tif 000063
【図５７】
2010003155.tif 000064
【図５８】
2010003155.tif 000065
【図６１】
2010003155.tif 000066
【図６２】
2010003155.tif 000067
【図６３】
2010003155.tif 000068
【図６４Ａ】
2010003155.tif 000069
【図６４Ｂ】
2010003155.tif 000070
【図６５】
2010003155.tif 000071
【図６７】
2010003155.tif 000072
【図６８】
2010003155.tif 000073
【図６９】
2010003155.tif 000074
【図７０】
2010003155.tif 000075
【図７１】
2010003155.tif 000076
【図７２】
2010003155.tif 000077
【図７５】
2010003155.tif 000078
【図７６】
2010003155.tif 000079
【図７７】
2010003155.tif 000080
【図７８】
2010003155.tif 000081
【図７９】
2010003155.tif 000082
【図８０】
2010003155.tif 000083
【図８１】
2010003155.tif 000084
【図８２】
2010003155.tif 000085
【図８３】
2010003155.tif 000086
【図８４】
2010003155.tif 000087
【手続補正書】
【提出日】平成21年9月7日(2009.9.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
図４２は、キーワードＤＢ３１に登録される内容例を示す図である。図４２に示すように、探索により抽出された見出し文言（図中「探索文字列」と表記。以降、その表記も用いる）には、同じ代表見出しが割り当てられた登録見出し文言が複数、抽出される場合がある。その場合、見出し得点ＭＴが最も高い登録見出し文言のみが残される。それにより、探索文字列「Ｍ１」では、登録見出し文言「ＭＧ４」及び「ＭＧ５」のなかで文言「ＭＧ４」のみが残されることになる。探索文字列「Ｍ３」では、登録見出し文言「ＭＧ３」及び「ＭＧ６」の得点ＭＴは共に１００であり、登録見出し文言「ＭＧ７」の得点ＭＴは７０であることから、登録見出し文言「ＭＧ３」及び「ＭＧ６」の２つが残ることになる。そのように複数の登録見出し文言が残っても良いことにしているのは、処理対象として不必要と思われるものを省くことを主眼にしているからである。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１４５
【補正方法】変更
【補正の内容】
【０１４５】
上述したようなサブルーチン処理を含む不読見出し復元処理を実行した場合、不読の見出し文言に代表見出し、或いは見出し文言が割り当てられる可能性がある。このことから、図１１に示すステップＳ１７４で実行されるセル補正処理では、不読見出し復元処理の実行結果、つまり認識されていない見出し文言に代表見出し、或いは見出し文言を割り当てて行う復元結果に応じて、図５５に示すようにセルを生成することが行われる。図５５中、認識できていない見出し文言は「見出し」と表記している。セルは、認識できていなくとも生成されている場合がある。その場合には、図５５（ａ−１）〜（ａ−３）に示すようにデータのセルが新たに生成される。セルが生成されていない場合には、図５５（ｂ−１）〜（ｂ−４）に示すように、見出し文言用、データ用のセルが新たに生成される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１５６
【補正方法】変更
【補正の内容】
【０１５６】
図５７は、ＤＲ・ＧＲ−見出し文言精査処理の内容を説明する図である。図５７（ａ）及び（ｂ）はそれぞれ、図５７（ａ−１）及び（ｂ−１）に帳票デザイン（明細範囲）の例、図５７（ａ−２）及び（ｂ−２）に論理構造解析ＤＢ２５の内容、図５７（ａ−３）及び（ｂ−３）に帳票デザインからＤＢ２５を用いて推定・追加される代表見出し、を示している。その推定・追加される代表見出しは図中「仮想見出し」と表記している。その仮想見出しは、本来、帳票上のセルとは別次元の連結関係で設定する。仮想見出しを配置したセル（２点鎖線で示すセル）は、表構造上、上部に配置している。このことからＤＲ・ＧＲ−見出し文言精査処理では、仮想見出しの特定（作成）の他に、その仮想見出しとデータとの連結関係の特定が行われる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１７４
【補正方法】変更
【補正の内容】
【０１７４】
ステップＳ１９４では、見出し文言が検出された項目に相当するセル数分、そのセルに他に存在する見出し文言となりうる文字列を抽出するための連記項目候補抽出処理を実行した後、ステップＳ１８６に移行する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１９６
【補正方法】変更
【補正の内容】
【０１９６】
ステップＳ３６５では、図６１（ａ）〜（ｃ）の何れかに示すように仮想セルを生成する。続くステップＳ３６６では、対象セル内の文字列を行毎に評価するための点数ＤＴｎｍの初期値として、上記同一セル内データ点を設定する。次に移行するステップＳ３６７では、見出し文言数分、図１６のセル内項目候補抽出処理を実行する。その実行後、このセル内複数項目候補抽出処理を終了する。そのセル内項目候補抽出処理で対象とするセルは、見出し文言を含んでいないセルである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０２１２
【補正方法】変更
【補正の内容】
【０２１２】
ステップＳ５５３では、対象とする見出し文言のセルが存在する行を特定し、次のステップＳ５５４では、その行のデータと見なす文字列を抽出する。その後はステップＳ５５５に移行して、図１７に示すセル内複数項目候補抽出処理を実行した後、この連記項目候補抽出処理を終了する。ステップＳ５５６に移行した場合には、そのステップＳ５５６で対象とする見出し文言のセルが存在する列を特定し、次のステップＳ５５７でその列のデータと見なす文字列を抽出してから、このステップＳ５５５に移行する。それにより、図６６〜図６８の（ｂ）〜（ｆ）に示すような操作が実現される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０２１３
【補正方法】変更
【補正の内容】
【０２１３】
上記ステップＳ５５１の判定がＹＥＳとなって移行するステップＳ５５８では、図１６に示すセル内項目候補抽出処理を実行する。その実行により、図６６〜図６８の（ａ）に示すような操作が実現される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０２３１
【補正方法】変更
【補正の内容】
【０２３１】
図７１は、上記第２の論理構造解析処理の実行によって得られる認識結果を説明する図である。図７１は単票を例にとって認識結果を説明するものである。図７１（ａ）は入力された帳票画像であり、文字「塊」及び「額」が認識不可能となっていることを示している。図７１（ｂ）は見出し得点ＭＴｎから抽出される見出し文言が「金？」「金？」及び「金）」であることを示している。図７１（ｃ）は文字「塊」が認識できないことから「金？」と扱われる見出し文言で対応付け可能なデータ候補を示している。図７１（ｄ）は、対応付け可能なデータ候補「○○○円」により見出し文言「金？」が代表見出し「金額」と認識され、そのデータが「○○○円」と確定されたことを示している。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０２３２
【補正方法】変更
【補正の内容】
【０２３２】
図７２は実際の帳票の認識結果を示す図である。図７２（ａ）〜（ｆ）はそれぞれ、異なる帳票での認識結果を示している。その図７２（ａ）〜（ｆ）から、対応関係を含め、見出し文言、そのデータを正確に認識できることが分かる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０２４２
【補正方法】変更
【補正の内容】
【０２４２】
このようなことを可能とさせる解析ＤＢ２５の作成を支援する作成支援装置７００は、図７４に示すように、見出し文言やデータ情報等の入力に用いられる見出し・データ情報入力部７０１と、入力された見出し文言、及びデータ情報から代表見出しを作成する代表見出し作成部７０２と、階層間の見出し関係の入力に用いられる見出し関係入力部７０３と、入力した見出し関係から階層毎に見出し文言を生成する見出し関係生成部７０４と、論理構造解析ＤＢ２５に対し、入力した情報や生成した情報を出力して登録するＤＢ出力部７０５と、を備えている。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０２５１
【補正方法】変更
【補正の内容】
【０２５１】
図７９は、データ整形の定義、及びその定義によって行われるデータ整形を説明する図である。図７９（ａ）は定義内容、図７９（ｂ−１）〜（ｂ−４）はそれぞれ、帳票デザインを示している。
図７６は、見出し関係を生成する処理の流れを示すフローチャートである。次に図７６を参照して、見出し関係を生成するまでのオペレータの操作、及びその操作に応じて実行される処理について詳細に説明する。その図７６では、図７５の処理を実行することで論理構造解析ＤＢ２５に格納された情報が存在することを前提とする。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０２５４
【補正方法】変更
【補正の内容】
【０２５４】
代表見出しペアでは、図８０にユーザ入力データとして示すように、２つの代表見出しの位置的な関係を「上側／左側」、及び「下側／右側」の位置で指定するようになっている。つまり２つの代表見出しは互いに異なる位置を指定する形で入力される。それらの位置は上下関係を表しており、「上側／左側」は「下側／右側」より上位となっている。それによりステップＳ７５７では、「上側／左側」の代表見出しを優先する形、つまり「上側／左側」の代表見出しは同じに維持したままで「下側／右側」の代表見出しの全種類をソートする。それにより図８０のユーザ入力データはソート後の状態を示している。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０２５９
【補正方法】変更
【補正の内容】
【０２５９】
ステップＳ７６４では、上記見出しＤＲ関係を生成する。その生成後はステップＳ７６５に移行して、帳票デザインを作成する。次のステップＳ７６６では、作成した帳票デザインを表示させることにより、生成した見出しＤＲ関係をオペレータに確認させる。その次のステップＳ７６７では、オペレータが確認した見出しＤＲ関係を登録することにより、解析ＤＢ２５を更新する。その後、一連の処理を終了する。
図８１は、見出しＧＲ関係の定義によって生成される帳票デザインを説明する図である。図８１（ａ−１）〜（ａ−４）はそれぞれ、図８１（ａ−１）は生成された見出しＧＲ関係、図８１（ａ−２）は生成された見出しＧＲ関係に合う帳票デザインのバリエーション、図８１（ａ−３）は実際に読み取られた帳票デザイン、図８１（ａ−４）は図８１（ａ−３）の帳票デザインで各代表見出しに対応付けられるデータ、をそれぞれ示している。図中の「１」〜「４」はデータ位置順位を表している。また図８１（ｂ−１）は生成された見出しＧＲ関係、図８１（ｂ−２）は生成された見出しＧＲ関係に合う帳票デザインのバリエーション、をそれぞれ示している。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０２６４
【補正方法】変更
【補正の内容】
【０２６４】
１１    入力部
１２    図表文分離部
１３    罫線抽出部
１４    表構造解析部
１５    テキスト抽出部
１６    文字認識部
１７    キーワード抽出部
１８    帳票種別判定部
１９    表構造解析部
２０    論理構造解析部
２１    項目解析部
２２    論理構造解析部
２３    出力部
２４    データベース蓄積部
２５    論理構造解析ＤＢ
２６    記憶部
７０１    見出し・データ情報入力部
７０２    代表見出し作成部
７０３    見出し関係入力部
７０４    見出し関係生成部
７０５    ＤＢ出力部
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2010003155.tif 000088
【手続補正１６】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】変更
【補正の内容】
【図１４】
2010003155.tif 000089
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】変更
【補正の内容】
【図１５】
2010003155.tif 000090
【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】図１７
【補正方法】変更
【補正の内容】
【図１７】
2010003155.tif 000091
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】図７２
【補正方法】変更
【補正の内容】
【図７２】
2010003155.tif 000092