(57)【特許請求の範囲】
【請求項１】
コンピュータに、
共通論理構造記憶部に記憶される、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造に基づいて、入力帳票の論理構造を示す入力帳票データを抽出する入力帳票データ抽出手順と、
前記各種の帳票各々の論理構造を示す登録帳票データを記憶する登録帳票データ記憶部から、前記入力帳票データ抽出手順により抽出された入力帳票データに基づいて、前記入力帳票データに類似する登録帳票データを特定する帳票特定手順と、
前記帳票特定手順により特定された登録帳票データと前記入力帳票データとを用いて、前記入力帳票データの論理要素のうち前記登録帳票データに含まれる論理要素と同じ位置関係に位置する論理要素を特定する特定手順と、
前記特定手順により特定された入力帳票データにおける各論理要素の位置情報と、当該論理要素と同じ位置関係に位置する前記登録帳票データにおける論理要素の位置情報との差分を抽出し、前記登録帳票データに含まれる論理要素の位置情報に前記差分を加算した位置情報を用いて、前記特定手順によって特定された論理要素以外の論理要素を前記入力帳票から再抽出する再抽出手順と、
前記特定手順により特定された論理要素と、前記再抽出手順により再抽出された論理要素とを組み合わせた新たな登録帳票データを生成するデータ生成手順と、
を実行させることを特徴とする帳票データ抽出プログラム。
【請求項２】
前記登録帳票データ記憶部は、前記登録帳票データの論理構造を形成する論理要素それぞれについて、当該論理要素の重み付けを示す評価値を記憶し、
前記帳票特定手順は、前記入力帳票データ抽出手順により抽出された入力帳票データと前記登録帳票データの論理要素の評価値とに基づいて、前記入力帳票データ抽出手順により抽出された入力帳票データに類似する登録帳票データを前記登録帳票データ記憶部から特定することを特徴とする請求項１に記載の帳票データ抽出プログラム。
【請求項３】
前記帳票特定手順は、前記再抽出手順が前記入力帳票から論理要素を再抽出できない場合には、前記特定された登録帳票データ以外の登録帳票データから前記入力帳票データに類似する第二の登録帳票データを特定し、
前記特定手順は、前記第二の登録帳票データと前記入力帳票データと用いて、同じ位置関係に位置する論理要素を特定し、
前記再抽出手順は、前記入力帳票データ上の論理要素の位置情報と前記第二の登録帳票データ上の論理要素の位置情報との差分を抽出し、前記第二の登録帳票データに含まれる論理要素の位置情報に前記差分を加算した位置情報を用いて、前記特定手順によって特定された論理要素以外の論理要素を前記入力帳票から再抽出することを特徴とする請求項１に記載の帳票データ抽出プログラム。
【請求項４】
前記帳票特定手順は、前記再抽出手順が前記入力帳票から論理要素を再抽出できない場合には、予め定めた所定の回数繰り返して、前記入力帳票データに類似する登録帳票データを特定し、
前記特定手順は、前記帳票特定手順により特定された各登録帳票データと前記入力帳票データと用いて、同じ位置関係に位置する論理要素を特定し、
前記再抽出手順は、前記入力帳票データ上の論理要素の位置情報と前記各登録帳票データ上の論理要素の位置情報との差分を抽出し、前記各登録帳票データに含まれる論理要素の位置情報に前記差分を加算した位置情報を用いて、前記特定手順によって前回までに特定された論理要素以外の論理要素を前記入力帳票から再抽出することを特徴とする請求項３に記載の帳票データ抽出プログラム。
【請求項５】
前記帳票特定手順は、前記入力帳票データ抽出手順により抽出された入力帳票データにおける各論理要素の外接矩形の４頂点と、前記登録帳票データ記憶部に記憶される登録帳票データにおける各論理要素の外接矩形の４頂点とを比較することで、前記入力帳票データにおける各論理要素が登録帳票データにおける各論理要素のどれに該当するかを判断して、前記入力帳票データに類似する登録帳票データを前記登録帳票データ記憶部から特定することを特徴とする請求項１〜４のいずれか一つに記載の帳票データ抽出プログラム。
【請求項６】
各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造記憶手段と、
前記各種の帳票各々の論理構造を示す登録帳票データを記憶する登録帳票データ記憶手段と、
前記共通論理構造記憶手段に記憶される、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造に基づいて、入力帳票の論理構造を示す入力帳票データを抽出する入力帳票データ抽出手段と、
前記登録帳票データ記憶手段から、前記入力帳票データ抽出手段により抽出された入力帳票データに基づいて、前記入力帳票データに類似する登録帳票データを特定する帳票特定手段と、
前記帳票特定手段により特定された登録帳票データと前記入力帳票データとを用いて、前記入力帳票データの論理要素のうち前記登録帳票データに含まれる論理要素と同じ位置関係に位置する論理要素を特定する特定手段と、
前記特定手段により特定された入力帳票データにおける各論理要素の位置情報と、当該論理要素と同じ位置関係に位置する前記登録帳票データにおける論理要素の位置情報との差分を抽出し、前記登録帳票データに含まれる論理要素の位置情報に前記差分を加算した位置情報を用いて、前記特定手段によって特定された論理要素以外の論理要素を前記入力帳票から再抽出する再抽出手段と、
前記特定手段により特定された論理要素と、前記再抽出手段により再抽出された論理要素とを組み合わせた新たな登録帳票データを生成するデータ生成手段と、
を備えたことを特徴とする帳票データ抽出装置。
【請求項７】
コンピュータが、
共通論理構造記憶部に記憶される、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造に基づいて、入力帳票の論理構造を示す入力帳票データを抽出する入力帳票データ抽出工程と、
前記各種の帳票各々の論理構造を示す登録帳票データを記憶する登録帳票データ記憶部から、前記入力帳票データ抽出工程により抽出された入力帳票データに基づいて、前記入力帳票データに類似する登録帳票データを特定する帳票特定工程と、
前記帳票特定工程により特定された登録帳票データと前記入力帳票データとを用いて、前記入力帳票データの論理要素のうち前記登録帳票データに含まれる論理要素と同じ位置関係に位置する論理要素を特定する特定工程と、
前記特定工程により特定された入力帳票データにおける各論理要素の位置情報と、当該論理要素と同じ位置関係に位置する前記登録帳票データにおける論理要素の位置情報との差分を抽出し、前記登録帳票データに含まれる論理要素の位置情報に前記差分を加算した位置情報を用いて、前記特定工程によって特定された論理要素以外の論理要素を前記入力帳票から再抽出する再抽出工程と、
前記特定工程により特定された論理要素と、前記再抽出工程により再抽出された論理要素とを組み合わせた新たな登録帳票データを生成するデータ生成工程と、
を含んだことを特徴とする帳票データ抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の帳票を予め記憶する登録帳票記憶部と、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造記憶部とを備え、前記共通論理構造記憶部に記憶される論理構造に基づいて、入力された入力帳票の論理構造を抽出することをコンピュータに実行させる帳票データ抽出プログラム、帳票データ抽出装置および帳票データ抽出方法に関する。
【背景技術】
【０００２】
従来より、紙帳票や電子化された帳票である活字の文書の画像をコンピュータが編集できる形式である文字コードなどに変換するＯＣＲがある。このような従来のＯＣＲは、手書きした帳票などの情報をコンピュータに入力する際に、当該情報をコンピュータに再入力する手間を省くなど、非常に有用な装置である。
【０００３】
ところが、従来のＯＣＲでは、作成する人の癖などがある手書きまたはコンピュータにより作成された帳票などの情報を必ずしも正しく読み取れることができない。そこで、各種の情報を正確に読み取って文字コードなどを変換する様々な技術が開示されている。
【０００４】
例えば、特許文献１などでは、入力帳票から抽出した罫線や文字、色などの情報を用いて所定の登録帳票から類似する登録帳票を抽出し、抽出した登録帳票に定義された領域を用いて入力帳票から認識の対象となる認識情報を抽出するＯＣＲなどのデータ入力装置が開示されている。
【０００５】
【特許文献１】特開２０００−２８５１９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した従来の技術では、入力帳票が一部（例：年度、色）でも変わると適当な登録帳票を抽出できなくなり、そのために入力帳票から認識情報を抽出できないという課題と、入力帳票が一部でも変わった場合、利用者はその都度新たな入力帳票を登録する必要があり、その登録作業は面倒なものであり利用者の負担が大きいという課題があった。加えて、登録する内容と帳票から抽出するデータとは無関係であったため、帳票の登録作業とデータ領域の指定とを個別に行う必要があった。
【０００７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、登録してある帳票でなくても容易にデータを抽出することが可能であることと、新たな登録帳票を容易に作成することが可能である帳票データ抽出プログラム、帳票データ抽出装置および帳票データ抽出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本装置に実行されるプログラムは、複数の帳票を予め記憶する登録帳票記憶部と、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造記憶部とを備え、前記共通論理構造記憶部に記憶される論理構造に基づいて、入力された入力帳票の論理構造を抽出することをコンピュータに実行させる帳票データ抽出プログラムであって、前記登録帳票記憶部に記憶される各種の帳票に対応付けて、前記共通論理構造記憶部に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを記憶する登録帳票データ記憶手段と、前記入力帳票に対して、前記共通論理構造記憶部に記憶される論理構造に基づいて、当該入力帳票上の論理要素と論理要素の位置以上と各論理要素間の関係とを示した入力帳票データを抽出する入力帳票データ抽出手順と、前記入力帳票データ抽出手順により抽出された入力帳票データに基づいて、当該入力帳票データに類似する登録帳票データを前記登録帳票データ記憶手段から特定する帳票特定手順と、前記帳票特定手順により特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、前記入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については前記入力帳票データから抽出して、再抽出した入力帳票データを新たな登録帳票データとして生成するデータ生成手順と、をコンピュータに実行させる。
【発明の効果】
【０００９】
本発明によれば、登録してある帳票でなくても容易にデータを抽出することが可能であることと、新たな登録帳票を容易に作成することが可能である。
【００１０】
また、入力帳票が登録帳票に該当するものであればその登録帳票の情報を援用し、見出しやデータの位置を補正するが、登録帳票に含まれない場合でも、論理構造認識結果をデータ抽出結果として出力が可能となっている。加えて、抽出に必要な見出しやデータの情報を登録帳票の情報とするため、抽出に不必要な罫線や記号の情報を持っていない帳票に対しても利用することが可能である。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明に係る帳票データ抽出プログラムの実施例を詳細に説明する。なお、以下では、本実施例で用いる主要な用語、本実施例に係る帳票データ抽出装置の概要および特徴、帳票データ抽出装置の構成および処理の流れを順に説明し、最後に本実施例に対する種々の変形例を説明する。
【実施例１】
【００１２】
［帳票データ抽出装置の概要および特徴］
まず最初に、実施例１に係る帳票データ抽出の概要および特徴を説明する。実施例１に係る帳票データ抽出装置は、複数の帳票（例えば、決算帳票、会計帳票、人事帳票など）を予め記憶する登録帳票記憶ＤＢと、各種の帳票における論理要素と論理要素の位置情報と各論理要素の間の関係と示した論理構造を記憶する共通論理構造ＤＢと、活字の文書の画像をコンピュータが編集できる形式（文字コードの列）に変換するＯＣＲ（Optical  Character  Recognition）とを備える。
【００１３】
このような構成において、実施例１に係る帳票データ抽出装置は、共通論理構造ＤＢに記憶される論理構造に基づいて、入力された入力帳票の論理構造を抽出することを概要とするものであり、特に、登録してある帳票でなくても容易にデータを抽出することが可能であることと、新たな登録帳票を容易に作成することが可能である点に主たる特徴がある。
【００１４】
つまり、実施例１に係る帳票データ抽出装置は、共通論理構造ＤＢに記憶される論理構造を有しない入力帳票が入力された場合でも、既に存在する論理構造および論理構造に基づいて得られた登録帳票上の論理要素（例えば、見出しなど）と論理要素の位置情報（例えば、見出しの重心や座標など）と各論理要素間の関係（例えば、見出し同士の距離など）を用いて、入力帳票から論理要素と論理構造とを抽出し、抽出した論理構造を新たな登録帳票や論理構造とすることができる結果、共通論理構造ＤＢに記憶される論理構造を有しない入力帳票から論理要素などを抽出するために登録帳票を人為的に作成して登録する必要がなく、既に登録してある帳票でなくても容易にデータを抽出することが可能であることと、新たな登録帳票を容易に作成することが可能である。
【００１５】
［帳票データ抽出装置の構成］
次に、図１を用いて、帳票データ抽出装置の構成を説明する。図１は、実施例１に係る帳票データ抽出装置の構成を示すブロック図である。図１に示すように、この帳票データ抽出装置１０は、入力受付部１１と、表示部１２と、記憶部２０と、制御部３０とから構成される。
【００１６】
入力受付部１１は、各種の帳票を受け付ける。具体的に例を挙げると、入力受付部１１は、図２に示すような、紙媒体の帳票画像を受け付けてＯＣＲで読み込んだり、ファイル形式の帳票画像データをネットワークや各種記憶媒体など受け付けたりして、その受け付けたデータを後述する入出力制御Ｉ／Ｆ部３１に出力する。なお、図２は、入力帳票の例を示す図である。
【００１７】
表示部１２は、モニタ（若しくはディスプレイ、タッチパネル）やスピーカを備えて構成され、各種の情報を出力する。例えば、表示部１２は、後述する制御部３０などにより認識された入力帳票を入出力制御Ｉ／Ｆ部３１を介して表示出力する。
【００１８】
記憶部２０は、制御部３０による各種処理に必要なデータおよびプログラムを格納するとともに、特に本発明に密接に関連するものとしては、登録帳票ＤＢ２１と、共通論理構造ＤＢ２２と、登録帳票データＤＢ２３とを備える。
【００１９】
登録帳票ＤＢ２１は、複数の帳票を予め記憶する。具体的に例を挙げれば、登録帳票ＤＢ２１は、以前に認識または人為的に登録された決算帳票、会計帳票、人事帳票などのように種類に異なる複数の帳票を登録帳票として記憶する。例えば、登録帳票ＤＢ２１は、図３に示すような帳票を登録帳票として記憶する。なお、図３は、登録帳票データＤＢ２１に記憶される登録帳票の例および入力帳票に対する論理構造認識結果を示す図である。図３の登録帳票は図２の入力帳票とはほぼ同じものであるが、一部異なっている部分があっても構わない。
【００２０】
共通論理構造ＤＢ２２は、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する。具体的に例を挙げれば、論理構造ＤＢ２２は、見出しやデータを表す論理要素と、大見出しと小見出しの関係や見出しとデータの関係といった論理要素の関係（「書類作成日」のデータの親見出し（上位見出し）は「書類作成日」の見出しとする。ここで、上位見出しとは、「作成日データ」に対する「作成日見出し」や、小見出し「姓」に対する大見出し「本人氏名」といった意味関係の上での上下関係を意味するものであり、帳票画像上の上下関係を示すものではない。）とそれぞれの論理要素が帳票上で表現される文字列自身や文字列の属性などが記述されている論理構造を記憶する。
【００２１】
図４に示される共通論理構造ＤＢ２２に記憶される論理構造は、帳票上の論理要素を区別するための一意に割り当てられた「論理要素番号」と、各論理要素の名称を示す「論理要素名称」と、各論理要素よりも意味関係の点で上位に位置する論理要素を示す「上位見出し」、各論理要素名称に含まれる文字列を区別するための「文字列番号」、各論理要素名称に含まれる文字列を示す「文字列」、各文字列とその文字列の上位の論理要素（文字列）との関係を示す「上位との関係」から構成される。なお、「書類作成日」の見出しには「作成日」、「日付」、「年月日」などとして帳票中に現れるということが記されており、「書類作成日」のデータとしては「＊年＊月＊日」や「＊／＊／＊」というように正規表現を用いて記述の可能性が格納されているものとする。この論理構造は、それぞれの帳票の種類に対して一つ作成されている。例えば、共通論理構造ＤＢ２２は、「論理要素番号、論理要素名称、上位見出し、文字列番号、文字列、上位との関係」として「１、タイトル、なし、１、見積書、なし」、「２、送付先データ、なし、１、株式会社、なし」や「−、−、−、２、（株）、なし」などを記憶する。なお、図４は、共通論理構造ＤＢ２２に記憶される論理構造の例を示す図である。
【００２２】
登録帳票データＤＢ２３は、登録帳票ＤＢ２１に記憶される各種の帳票に対応付けて、共通論理構造ＤＢ２２に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを記憶する。具体的に例を挙げれば、登録帳票データＤＢ２３は、後述する論理構造認識部３２により抽出されて格納された図５に示すような登録帳票データを記憶する。また、登録帳票データＤＢ２３は、作成された時期による当該データの新しさなどを示す評価値などを記憶してもよい。
【００２３】
図５に示される登録帳票データＤＢ２３に記憶される登録帳票データは、抽出された論理要素を一意に区別する論理要素番号「Ｎｏ」、抽出された論理要素を示す論理要素名称「論理要素」が記憶され、これらは該当する共通論理構造の対応する論理要素のそれが付与されている。加えて、登録帳票データは、それぞれの登録帳票から抽出された論理要素の文字列を示す「文字列」、抽出された論理要素（文字列）の位置する登録帳票上の座標を示す「座標」、抽出された文字列の重心を示す「重心」を記憶する。例えば、登録帳票データＤＢ２３は、「Ｎｏ、論理要素、文字列、座標、重心」として「１、タイトル、見積書、（１００，１０−１６０，３０）、（１３０，２０）」などと記憶する。ここで、座標とは、帳票上の左端を「０，０」、「ｘ」が右方向、「ｙ」が下方向として「ｘ，ｙ−ｘ，ｙ」の矩形として表現される。なお、図５は、登録帳票データＤＢ２３に記憶される登録帳票データの例を示す図である。
【００２４】
制御部３０は、ＯＳ（Operating  System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に本発明に密接に関連するものとしては、入出力制御Ｉ／Ｆ部３１と、論理構造認識部３２と、論理構造照合部３３と、最適登録帳票選択部３４と、登録帳票生成部３５とを備え、これらによって種々の処理を実行する。なお、制御部３０における各機能部の詳細な処理については、図７以降で具体的に説明するので、ここでは各機能部の概要について説明する。
【００２５】
入出力制御Ｉ／Ｆ部３１は、表示部１２に各種情報を表示したり、表示部１２を介してユーザの操作を受け付けたりする。具体的には、入出力制御Ｉ／Ｆ部３１は、入力受付部１１により受け付けられた帳票を帳票画像として論理構造認識部３２に出力したり、登録帳票生成部３５により認識された帳票の認識結果を新たな登録帳票として表示部１２に表示出力したりする。
【００２６】
論理構造認識部３２は、登録帳票ＤＢ２１に記憶される各種の帳票に対応付けて、共通論理構造ＤＢ２２に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを抽出して登録帳票データＤＢ２３に格納し、また、入力受付部１１を介して受け付けられた入力帳票に対して、共通論理構造ＤＢ２２に記憶される論理構造に基づいて、当該入力帳票上の論理要素と論理要素の位置以上と各論理要素間の関係とを示した入力帳票データを抽出して、後述する論理構造照合部３３に出力したりする。
【００２７】
例えば、図３に示すような登録帳票ＤＢ２１に記憶される登録帳票に対して、論理構造認識部３２は、共通論理構造ＤＢ２２に記憶される論理構造「論理要素番号、論理要素名称、上位見出し、文字列番号、文字列、上位との関係」に基づいて、図５に示すような、当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを抽出して登録帳票データＤＢ２３に格納したりする。なお、この際に、作成した日時から評価値などを対応付けてもよい。同様に、図２に示すような入力帳票が入力受付部１１により受け付けられた場合に、論理構造認識部３２は、共通論理構造ＤＢ２２に記憶される論理構造「論理要素番号、論理要素名称、上位見出し、文字列番号、文字列、上位との関係」に基づいて、図６に示すような、当該入力帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した入力帳票データを抽出して、後述する論理構造照合部３３に出力したりする。なお、図６は、入力帳票から抽出された正しい論理構造と認識された論理構造との例を示す図である。抽出すべき情報と、登録帳票として格納される情報とが同じ内容であることから、抽出すべき内容を利用して帳票を選択し、データ領域を補正すると同時に、登録帳票を新たに作成することが容易に行える。ここでは、ＯＣＲによる文字誤りまたは論理構造認識の誤りなどで、本来抽出すべき論理要素「作成日」の見出しとデータとが、帳票上の別の日付を抽出したとする。
【００２８】
論理構造照合部３３は、論理構造認識部３２により抽出された入力帳票データと、登録帳票データＤＢ２３に記憶される全ての登録帳票データとを比較する。具体的に例を挙げると、登録帳票データＤＢ２３に記憶される全ての登録帳票データ（図５参照）と、論理構造認識部３２により抽出された入力帳票データ（図６参照）とを比較した結果を最適登録帳票選択部３４に出力する。
【００２９】
具体的には、論理構造照合部３３は、Ｍ枚の登録帳票が存在することを仮定し、論理要素がＮ個あることを仮定した場合、論理要素の「ｉ」から見た「ｊ」の位置を（ｘ_ｉｊ，ｙ_ｉｊ）としたときに、入力帳票データの位置(ｘ_ｉｊ(ｉｎ)，ｙ_ｉｊ(ｉｎ))と登録帳票データｍ（＜Ｍ）の位置（ｘ_ｉｊ（ｍ），ｙ_ｉｊ（ｍ））とを比較して一定の閾値以内に存在する場合に対して図の行列ノード「ｉ」と「ｊ」との間を接続するグラフ処理を与える。グラフの頂点に登録帳票の論理要素を順に配置し、入力帳票と同じ位置関係にある二つの論理要素を線で結ぶ。二つの論理要素の関係が同じであるかどうかは、例えば、距離の二乗和「Ｊ＝（ｘ＿ｉｊ（ｉｎ）−ｘ＿ｉｊ（ｍ））の２乗＋（ｙ＿ｉｊ（ｉｎ）-ｙ＿ｉｊ（ｍ））の２乗」を求めて閾値処理することで、閾値以下となるものを二つ論理要素が同じ位置関係にあるものとする。この処理を各登録帳票に対して行うことで、登録帳票と入力帳票との類似度がグラフ上の線の量で表現される。そして、論理構造照合部３３は、このようにして得られたグラフがすべて結ばれる最大の部分グラフ（クリーク）を抽出し、その頂点となる論理要素数を評価値として求めることで、入力帳票データと登録帳票データｍとの対応する論理要素の数Ｃｍを求める。
【００３０】
上記の数値は、例えばスキャナ入力で帳票画像を収集する場合には、帳票の大きさと画像のサイズとを決定するＤＰＩ(dot  per  inch)の値でそれぞれの座標値を割り、規格化して使用することで、同じ帳票を画像のサイズに依存することなく同じ大きさとして扱うことができる。
【００３１】
最適登録帳票選択部３４は、論理構造照合部３３の照合結果により、論理構造認識部３２により抽出された入力帳票データに基づいて、当該入力帳票データに類似する登録帳票データを登録帳票データＤＢ２３から特定する。具体的に例を挙げると、最適登録帳票選択部３４は、登録帳票データすべてに対して論理構造照合部３３を実行して得られた、評価値「Ｃｍ」のなかでの最大値をもつ登録帳票データ「ｍ」を登録帳票データＤＢ２３から取得して登録帳票生成部３５に出力する。また、ここでは、使用する帳票の時期に応じて「Ｃｍ」を重み付けした量として、登録帳票データ「ｍ」を照合した最終時刻のタイムスタンプ「Ｔｍ」を利用し、「Ｄｍ＝Ｃｍ／（Ｔ−Ｔｍ）」とした「Ｄｍ」を評価値として用いてもよい。ここで「Ｔ」は現在時刻を表す。
【００３２】
登録帳票生成部３５は、最適登録帳票選択部３４により特定（選択）された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については入力帳票データから抽出して、再抽出した入力帳票データを新たな登録帳票データとして生成する。具体的に例を挙げると、登録帳票生成部３５は、最適登録帳票選択部３４により特定（選択）された最大値「Ｃｍ」をもつ登録帳票データ「ｍ」の論理要素の位置情報と各論理要素間の関係とに基づいて、入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については入力帳票データから抽出して、抽出した入力帳票の論理構造と領域のデータを新たな登録帳票データとして生成して、登録帳票データＤＢ２３に格納する。
【００３３】
［帳票データ抽出装置による処理］
次に、図７〜図１８を用いて、帳票データ抽出装置による処理を説明する。まず、図７を用いて、帳票データ抽出装置における全体的な処理の流れを説明する。図７は、実施例１に係る帳票データ抽出装置における全体的な処理の流れを示すフローチャートである。
【００３４】
（全体的な処理の流れ）
図７に示すように、入力受付部１１により入力帳票が受け付けられると（ステップＳ１０１肯定）、帳票データ抽出装置１０は、受け付けられた入力帳票の種類を判定し、共通論理構造ＤＢ２２に記憶される判定した種類の論理構造に従って、入力帳票の論理構造である入力帳票データを抽出する論理構造認識処理を行う（ステップＳ１０２）。なお、登録帳票の論理構造認識処理は、共通論理構造ＤＢ２２に記憶される論理構造に従って、予め実施されて登録帳票データＤＢ２３に格納されていてもよく、入力受付部１１により入力帳票が受け付けられるタイミングで実施されて登録帳票データＤＢ２３に格納されてもよい。
【００３５】
続いて、帳票データ抽出装置１０は、抽出された入力帳票データと、登録帳票データＤＢ２３に記憶される全ての登録帳票データとを比較する論理要素照合処理を実施し（ステップＳ１０３）、論理要素照合処理結果を用いて、当該入力帳票データに類似する登録帳票データを登録帳票データＤＢ２３から特定する最適登録帳票選択処理を実施する（ステップＳ１０４）。
【００３６】
その後、帳票データ抽出装置１０は、最適登録帳票選択部３４により特定（選択）された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については入力帳票データから抽出して、再抽出した入力帳票データを新たな登録帳票データとして生成する登録帳票生成処理を実施する（ステップＳ１０５）。
【００３７】
（論理構造認識処理の流れ）
次に、図８を用いて、論理構造認識処理を説明する。図８は、実施例１に係る帳票データ抽出装置における論理構造認識処理の流れを示すフローチャートである。
【００３８】
図８に示すように、帳票データ抽出装置１０の論理構造認識部３２は、共通論理構造ＤＢ２２から論理構造を取得し、入力帳票の帳票画像に対して文字認識や表認識を行った後（ステップＳ２０１）、入力帳票中の文字列に対して取得した論理構造に記述された各論理要素を対応付けて論理構造照合部３３に出力する（ステップＳ２０２）。
【００３９】
文字抽出や論理構造認識の一般的な方法として、論理構造認識部３２は、入力帳票上において、各論理要素の文字列候補の集合を単語抽出などによって得たのち、共通論理構造ＤＢ２２に記憶される論理構造（論理要素の関係やレイアウト上の関係）を用いて、各論理要素に単語抽出によって得られた単語候補を割り当てる。その後に、論理構造認識部３２は、論理構造認識を実行することによって、それぞれの論理要素に対応する入力帳票画像上での文字列が決定され、論理要素と帳票上の該当する文字列および文字列の位置座標を得ることができる。
【００４０】
（論理要素照合処理および最適登録帳票選択処理の流れ）
次に、図９〜図１２を用いて、論理要素照合処理および最適登録帳票選択処理を説明する。図９は、実施例１に係る帳票データ抽出装置における論理要素照合処理の流れを示すフローチャートである。
【００４１】
図９に示すように、論理構造照合部３３は、論理構造認識部３２により抽出された入力帳票データを用いて、グラフ生成処理を実施して、入力帳票データの論理要素の関係を抽出する（ステップＳ３０１）。
【００４２】
具体的には、論理構造照合部３３は、図１０に示すように、共通論理構造ＤＢ２２に記述された論理要素に対して番号付けを行うとともに、それらをノードとして置き、次に、二つの論理要素「ｉ、ｊ」の関係が入力帳票データと登録帳票「ｍ」の登録帳票データとで閾値以下のときにノード「ｉ、ｊ」間を結ぶグラフ生成を行う。なお、図１０は、算出されるグラフの例を示す図である。
【００４３】
そして、論理構造照合部３３は、作成したグラフから同じ位置関係にある論理要素を接続するクリーク処理を実施し（ステップＳ３０２）、最適登録帳票選択部３４は、作成したクリークから論理要素が最も多く接続されている最大クリークを選択する（ステップＳ３０３）。なお、最大クリーク抽出に関しては、文献が挙げられる。
【００４４】
具体的には、論理構造照合部３３は、作成したグラフから同じ位置関係にある論理要素を接続するクリーク処理を実施すると、図１１に示すように、入力画像と一つの登録帳票との組み合わせに対して３つのノードを持つ完全部分グラフと２つのノードを持つ完全部分グラフとの２つの完全部分グラフから構成されるクリーク結果を取得する。ここで、完全部分グラフは「同じ位置関係に存在する論理要素の数」を表していることから、この最大値がもっとも二枚の帳票が類似している論理要素の集合であることを示す。一枚の登録帳票に対して複数の完全部分グラフが得られるが、この場合にはそれらの中で最大の大きさを持つ完全部分グラフ（最大クリーク）である３をこの登録帳票に対する類似度とする。上記の処理をすべての登録帳票に対しておこなう。最適登録帳票選択部３４は、図１２に示すように、３つのノードを持つ完全部分グラフをこの登録帳票データ「ｍ」の入力帳票データに対する類似度「Ｃｍ＝３」としたうえで、すべての登録帳票との類似度「Ｃｍ」に対して最大値を与えるｍを抽出し、最適登録帳票選択部３４に出力する。なお、図１１は、作成されるクリークの例を示した図であり、図１２は、最大クリークの選択例を示した図である。
【００４５】
（データ抽出処理の流れ）
次に、図１３〜図１８を用いて、データ抽出処理を説明する。図１３は、実施例１に係る帳票データ抽出装置における最適登録帳票からのデータ抽出処理の流れを示すフローチャートである。
【００４６】
図１３に示すように、登録帳票生成部３５は、最適登録帳票選択部３４により選択された類似度「Ｃｍ＝３」の登録帳票データから、最大部分グラフを構成する論理要素に確定フラグを付与、つまり、類似度「Ｃｍ＝３」を与えた完全部分グラフの頂点となる論理要素に対して、入力画像のそれを利用するものとして、決定要素に格納する（ステップＳ４０１）。
【００４７】
具体的に例を挙げると、登録帳票生成部３５は、図１４に示すように、最適登録帳票選択部３４により選択された類似度「Ｃｍ＝３」の登録帳票データのグラフ全体から「１．タイトル、２．送付先データ、５．送付元見出し」を決定要素に記述し、これらの論理要素には確定済のフラグを与える。つまり、引いた「１．タイトル、２．送付先データ、５．送付元見出し」については登録帳票データからデータ抽出ができており、この部分以外の「３．作成日見出し、４．作成日データ」についてデータ再抽出を行う必要がある。なお、図１４は、データ再抽出項目の決定例を示す図であり、上記確定フラグが付与されていない論理要素を再抽出の項目とする。
【００４８】
続いて、登録帳票生成部３５は、登録帳票データＤＢ２３に記憶される最大部分グラフの登録帳票データと入力帳票データとの論理要素の座標のズレ量を算出し（ステップＳ４０２）、そして、算出した座標のズレ量の平均を算出する（ステップＳ４０３）。その後、登録帳票生成部３５は、登録帳票のデータ抽出領域に算出した平均ズレ量を加えた領域を、確定フラグの無い論理要素に対する入力帳票のデータ抽出領域として（ステップＳ４０４）、データ（文字種）の再抽出を行い、データ（文字種）に該当する文字列が存在する場合には（ステップＳ４０５肯定）、算出した抽出領域で確定フラグを付与して（ステップＳ４０６）、確定フラグが付与された論理要素を格納する（ステップＳ４０７）。
【００４９】
一方、データ（文字種）に該当する文字列が存在しない場合には（ステップＳ４０５否定）、初期状態での入力帳票の抽出領域に変更して（ステップＳ４０８）、確定フラグが付与された論理要素を格納する（ステップＳ４０７）。なお、ここで想定している座標のズレとは、紙に対してスキャンを行う場合に生じる左右のマージン、上下のマージンといったスキャンごとに生じるムラを相殺するために用いる。
【００５０】
具体的に例を挙げると、登録帳票生成部３５は、登録帳票データＤＢ２３に記憶される完全部分グラフの登録帳票データ（図５参照）と入力帳票データ（図６参照）との論理要素の座標のズレを算出、つまり、図１５に示した登録帳票上において「タイトル、送付先データ、送付先見出し」については、図１６に示した入力帳票から抽出できているため、登録帳票上における「タイトル、送付先データ、送付先見出し」それぞれの座標と入力帳票上における「タイトル、送付先データ、送付先見出し」それぞれの座標との差分を算出することで、完全部分グラフを構成しなかったために再抽出を行う論理要素「作成日見出し、作成日データ」の入力帳票上における座標を求めることができる。図１７に示す入力帳票に対する論理構造認識の結果、完全部分グラフを構成する「タイトル」、「送付先データ」、「送付元データ」の座標の登録帳票とのズレ量５が求められる。
【００５１】
そして、登録帳票生成部３５は、登録帳票データにおける再抽出の論理要素「作成日見出し、作成日データ」の座標に算出したズレを加算し、入力帳票上において加算した領域から「作成日見出し、作成日データ」を抽出することで、図１７に示した入力帳票を受け付けた際に論理認識した結果の「作成日見出し、納品日、（３５，１００−８５，１２０）、（５５，１１０）」と「作成日データ、２００７年６月１日、（８５，１２０−１３５，１４０）、（１１０，１３０）」とを、図１８に示したように、登録帳票の座標にズレ量の５を足した「作成日データ、日付、（１０５，１０−１４５，３０）、（１２５，２０）」と「作成日、２００７年４月１日、（１５５，１０−２１５，３０）、（１８５，２０）」とにそれぞれ置き換えた位置に対して文字認識を行い、必要な文字列が存在した場合にデータを作成することができる。この場合、対象となる領域に対して数字や特定の文字にのみ文字種を指定して認識することができるため、ＯＣＲによる文字認識の精度も向上する。なお、図１５は、登録帳票の例を示す図であり、図１６は、入力帳票の例を示す図であり、作成日見出しと作成日データとが、正しいものとは異なる文字列を論理要素として抽出してきた図を示している。また、図１７は、入力帳票を受け付けた際に論理構造認識した結果の例を示す図であり、図１８は、最適登録帳票の論理要素の座標を用いてデータを再抽出した例を示す図である。
【００５２】
［実施例１による効果］
このように、実施例１によれば、登録帳票ＤＢ２１に記憶される各種の帳票に対応付けて、共通論理構造ＤＢ２２に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを記憶し、入力帳票に対して、共通論理構造ＤＢ２２に記憶される論理構造に基づいて、当該入力帳票上の論理要素と論理要素の位置以上と各論理要素間の関係とを示した入力帳票データを抽出し、抽出された入力帳票データに基づいて、当該入力帳票データに類似する登録帳票データを登録帳票データＤＢ２３から特定し、特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については入力帳票データから抽出して、再抽出した入力帳票データを新たな登録帳票データとして生成するので、登録してある帳票でなくても容易にデータを抽出することが可能であることと、新たな登録帳票を容易に作成することが可能である。
【００５３】
また、実施例１によれば、入力帳票が登録帳票に該当するものであればその登録帳票の情報を援用し、見出しやデータの位置を補正するが、登録帳票に含まれない場合でも、論理構造認識結果をデータ抽出結果として出力が可能となっている。加えて、抽出に必要な見出しやデータの情報を登録帳票の情報とするため、抽出に不必要な罫線や記号の情報を持っていない帳票に対しても利用することが可能である。
【００５４】
また、実施例１によれば、登録帳票データの論理要素それぞれについて、当該論理要素が抽出された日時による重み付けを示す評価値を記憶し、抽出された入力帳票データと登録帳票データの論理要素の評価値とに基づいて、抽出された入力帳票データに類似する登録帳票データを登録帳票データＤＢ２３から特定するので、登録帳票の中で現在使用しない帳票も多数含まれるようになっても、各登録帳票で最後に識別した時刻を用いることで、現在使用している帳票の中から登録帳票を選択することが可能である。
【００５５】
また、実施例１によれば、抽出された入力帳票データにおける各論理要素の外接矩形の４頂点と、登録帳票データＤＢ２３に記憶される登録帳票データにおける各論理要素の外接矩形の４頂点とを比較することで、入力帳票データにおける各論理要素が登録帳票データにおける各論理要素のどれに該当するかを判断して、当該入力帳票データに類似する登録帳票データを登録帳票データＤＢ２３から特定するので、重心だけでは判読が困難な領域の高さや幅を評価することによって最適登録帳票データや二次帳票登録帳票データをより高精度に特定することが可能である。
【実施例２】
【００５６】
ところで、本発明は、上記した実施例１のデータ抽出手法によって妥当なデータが抽出できない場合、例えば、指定した文字種と一致しない場合においては、入力帳票に対して完全に適合する登録帳票が存在しないことが考えられる。このような場合、部分的に類似した別の登録帳票を複数枚利用することで、データ抽出を行うことができる。
【００５７】
そこで、実施例２では、類似すると特定された登録帳票データから一部のデータが抽出できない場合、部分的に類似した別の帳票（二次登録帳票）をさらに利用することで、データ抽出を行う例について説明する。
【００５８】
（二次登録帳票選択処理の流れ）
まず、図１９〜図２３を用いて、二次登録帳票選択処理の流れについて説明する。図１９は、実施例２に係る帳票データ抽出装置における二次登録帳票選択処理の流れを示すフローチャートである。
【００５９】
図１９に示すように、帳票データ抽出装置１０の論理構造照合部３３は、登録帳票データＤＢ２３に記憶されている登録帳票データを順に参照するための、変数「ｍ（＝１）」を設定し（ステップＳ５０１）、変数「ｍ（＝１）」の登録帳票データが最適登録帳票として特定された帳票か否かを判定する（ステップＳ５０２）。
【００６０】
そして、変数「ｍ（＝１）」の登録帳票データが最適登録帳票として特定された帳票でない場合（ステップＳ５０２否定）、論理構造照合部３３は、変数「ｍ（＝１）」の登録帳票データの最大部分グラフの抽出を行い（ステップＳ５０３）、最適登録帳票として特定された登録帳票データの最大部分グラフに対する変数「ｍ（＝１）」の登録帳票データの最大部分グラフの重複数を計算する（ステップＳ５０４）。
【００６１】
続いて、論理構造照合部３３は、計算された重複数が現在記憶されている最大値よりも大きいか否かを判定し（ステップＳ５０５）、計算された重複数が現在記憶されている最大値よりも大きい場合に（ステップＳ５０５肯定）、当該重複数を持つ登録帳票データ「ｍ」をメモリなどに記憶し（ステップＳ５０６）、「ｍ」を「１」増加させて（ステップＳ５０７）、「ｍ」が登録帳票データＤＢ２３に記憶されている登録帳票データの登録数「Ｍ」よりも小さい場合（ステップＳ５０８肯定）、上記したステップＳ５０２〜ステップＳ５０８の処理を繰り返す。
【００６２】
一方、変数「ｍ（＝１）」の登録帳票データが最適登録帳票として特定された帳票である場合（ステップＳ５０２肯定）、または、計算された重複数が現在記憶されている最大値よりも小さい場合（ステップＳ５０５否定）、論理構造照合部３３は、「ｍ」を「１」増加させて（ステップＳ５０７）、「ｍ」が登録帳票データＤＢ２３に記憶されている登録帳票データの登録数「Ｍ」よりも小さい場合（ステップＳ５０８肯定）、上記したステップＳ５０２〜ステップＳ５０８の処理を繰り返す。
【００６３】
そして、「ｍ」が登録帳票データＤＢ２３に記憶されている登録帳票データの登録数「Ｍ」よりも大きくなった場合（ステップＳ５０８否定）、論理構造照合部３３は、処理を終了する。
【００６４】
具体的には、図２０に示されるような入力帳票を受け付けて論理構造を認識した場合、論理構造照合部３３は、図２１に示した登録帳票を最適登録帳票として選択する。すると、論理構造照合部３３は、「タイトル（見積書）、送付先データ（Ｂ株式会社）、送付元データ（Ａ株式会社）」については、図２１に示した登録帳票（登録帳票データ）から抽出することができるが、「作成日見出し、作成日データ」については、「送付元データ（Ａ株式会社）」から見て「作成日見出し、作成日データ」の位置関係が登録帳票と入力帳票とで異なるために、抽出することができない。
【００６５】
そこで、論理構造照合部３３は、上記したように、最適登録帳票以外の変数「ｍ」の登録帳票データに関する最大部分グラフと、最適登録帳票として特定された登録帳票データの最大部分グラフとの重複数「タイトル（見積書）、送付先データ（Ｂ株式会社）、送付元データ（Ａ株式会社）」を計算し、この値が閾値以上でかつ最大値を持つ登録帳票データ「ｍ」を二次登録帳票として選択する。このとき、最適登録帳票で決定していた論理要素で、かつ今回の最大部分グラフに含まれる論理要素が「送付元データ（Ａ株式会社）」であり、最適登録帳票に含まれていない論理要素は「送付先データ（Ａ株式会社）」と同じ位置関係にある「作成日見出し、作成日データ」である（図２３参照）。これにより、最適登録帳票によって決定されていない論理要素「作成日見出し、作成日データ」の位置を決定することができる。なお、図２０は、入力帳票の例を示す図であり、図２１は、選択された最適登録帳票の例を示す図であり、図２２は、最大グラフの重複例を示す図であり、図２３は、選択された二次登録帳票の例を示す図である。
【００６６】
（二次登録帳票データ抽出処理の流れ）
次に、図２４〜図２７を用いて、二次登録帳票データ抽出処理の流れについて説明する。図２４は、実施例２に係る帳票データ抽出装置における二次登録帳票データ抽出の流れを示すフローチャートである。
【００６７】
図２４に示すように、登録帳票生成部３５は、論理構造照合部３３により選択された二次登録帳票データのグラフ全体から最大部分グラフの要素を決定要素として格納し、確定フラグを付与した後（ステップＳ６０１）、登録帳票データＤＢ２３に記憶される最大部分グラフの二次登録帳票データと入力帳票データとで最適登録帳票と重複する論理要素の座標のズレ量を算出し（ステップＳ６０２）、そして、算出した座標のズレ量の平均を算出する（ステップＳ６０３）。
【００６８】
その後、登録帳票生成部３５は、登録帳票生成部３５は、登録帳票のデータ抽出領域に算出した平均ズレ量を加えた領域を、二次登録帳票で決定された論理要素の入力帳票のデータ抽出領域として（ステップＳ６０４）、データ（文字種）の再抽出を行い、データ（文字種）に該当する文字列が存在する場合には（ステップＳ６０５肯定）、算出した抽出領域で確定フラグを付与して（ステップＳ６０６）、確定フラグが付与された論理要素を格納する（ステップＳ６０７）。
【００６９】
一方、データ（文字種）に該当する文字列が存在しない場合には（ステップＳ６０５否定）、初期状態での入力帳票の抽出領域に変更して（ステップＳ６０８）、確定フラグが付与された論理要素を格納する（ステップＳ６０７）。なお、ここで想定している座標のズレとは、紙に対してスキャンを行う場合に生じる左右のマージン、上下のマージンといったスキャンごとに生じるムラを相殺するために用いる。
【００７０】
具体的には、登録帳票生成部３５は、上記したように、図２５に示す特定された最適登録帳票データからでは抽出できない「タイトル（見積書）、送付先データ（Ｂ株式会社）、送付元データ（Ａ株式会社）」を抽出するために選択された図２６に示す二次登録帳票データにおいて、最適登録帳票データおよび入力帳票データと一致する論理要素「送付元」の座標と、入力帳票データにおける「送付元データ」の座標とのズレを抽出する。そして、登録帳票生成部３５は、二次登録帳票データの「作成日見出し、作成日データ」の座標からズレ分を読み替えた座標を用いて、入力帳票上から「作成日見出し、作成日データ」を抽出して、入力された際に生成された入力帳票データに格納することで、図２７に示すような入力帳票データの抽出結果を得ることができる。なお、図２５は、最適登録帳票の例を示す図であり、図２６は、二次登録帳票の例を示す図であり、図２７は、最終的に抽出された入力帳票データの例を示す図である。
【００７１】
［実施例２による効果］
このように、実施例２によれば、入力帳票データに類似する登録帳票データ以外にさらに入力帳票データに類似する登録帳票データの特定を要求する帳票特定要求を受信した場合に、特定された登録帳票データ以外の登録帳票データから入力帳票データに類似する二次登録帳票データを特定し、特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、入力帳票から入力帳票データを再抽出し、入力帳票から再抽出できない論理要素がある場合に、帳票特定要求を送信して得られた二次登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、入力帳票から入力帳票データを再抽出し、再抽出した入力帳票データを新たな登録帳票データとして生成するので、入力帳票に最も類似する登録帳票データからデータが抽出できない場合でも、二次登録帳票データを用いてデータ抽出を行うことができる結果、入力帳票を再現する登録帳票データを高精度に生成することが可能である。
【実施例３】
【００７２】
ところで、実施例２では、最適登録帳票からデータが抽出できない場合に、登録帳票データ（二次登録帳票データ）を再度選択して、入力帳票データを抽出する例について説明したが、本発明はこれに限定されるものではなく、入力帳票データが抽出できない場合に、予め定めた所定の回数、登録帳票データ（ｎ次登録帳票データ）を選択して入力帳票データを抽出することができる。
【００７３】
そこで、実施例３では、入力帳票データが抽出できない場合に、予め定めた所定の回数、登録帳票データ（ｎ次登録帳票データ）を選択して入力帳票データを抽出する例について説明する。
【００７４】
実施例３では、図２８を用いて、入力帳票データが抽出できない場合に、予め定めた所定の回数、登録帳票データ（ｎ次登録帳票データ）を選択して入力帳票データを抽出する処理の流れについて説明する。図２８は、実施例３に係る帳票データ抽出装置の処理の流れを示すフローチャートである。なお、図２８におけるステップＳ７０１〜ステップＳ７０７の処理については、実施例１で説明した図８、図９、図１３の処理および実施例２で説明した図１９と図２４などの処理と同様であるので、ここでは詳細な説明は省略し、実施例１と実施例２とは異なる処理であるステップＳ７０８〜ステップ７１５について説明する。
【００７５】
図２８に示すように、二次登録帳票データ抽出が終了すると、帳票データ抽出装置１０の登録帳票生成部３５は、変数「ｎ」に「３」を代入し（ステップＳ７０８）、既に抽出済みの論理要素を結合する（ステップＳ７０９）。
【００７６】
続いて、論理構造照合部３３は、実施例１や実施例２と同様の手法で、入力帳票データに類似する登録帳票データ（ｎ次登録帳票データ）を登録帳票データＤＢ２３から選択し（ステップＳ７１０）、選択したｎ次登録帳票データと既に抽出済みの論理要素とが閾値以上重複しているか否かを判定する（ステップＳ７１１）。
【００７７】
そして、選択したｎ次登録帳票データと既に抽出済みの論理要素とが閾値以上重複している場合（ステップＳ７１１肯定）、登録帳票生成部３５は、選択したｎ次登録帳票データを用いた実施例１や実施例２と同様の手法で、入力帳票からデータを抽出し（ステップＳ７１２）、「ｎ」を「１」増加させて（ステップＳ７１３）、「ｎ」が登録帳票データＤＢ２３に記憶されている登録帳票データの登録数「Ｎ」よりも小さい場合（ステップＳ７１４肯定）、上記したステップＳ７０９〜ステップＳ７１４の処理を繰り返す。
【００７８】
そして、選択したｎ次登録帳票データと既に抽出済みの論理要素とが閾値以上重複していない場合（ステップＳ７１１否定）、または、「ｎ」が登録帳票データＤＢ２３に記憶されている登録帳票データの登録数「Ｎ」よりも大きくなった場合（ステップＳ７１４否定）、登録帳票生成部３５は、上記した手法で抽出された入力帳票データを新たな登録帳票データとして登録帳票データＤＢ２３に格納して（ステップＳ７１５）、処理を終了する。
【００７９】
このように、実施例３によれば、帳票特定要求を受信する度に、前記既に特定された登録帳票データ以外の登録帳票データから入力帳票データに類似する登録帳票データを特定し特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、入力帳票から入力帳票データを再抽出し、入力帳票から再抽出できない論理要素がある場合に、帳票特定要求を送信することを所定の回数繰り返した後に、再抽出した入力帳票データを新たな登録帳票データとして生成するので、入力帳票を正確に再現する登録帳票データを正確に生成することが可能である。
【実施例４】
【００８０】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）データ抽出手法、（２）類似登録帳票データ特定手法、（３）システム構成等、（４）プログラム、にそれぞれ区分けして異なる実施例を説明する。
【００８１】
（１）データ抽出手法
例えば、本発明は、抽出された入力帳票データの複数の領域において、それぞれの領域のみ一致する複数の登録帳票データを登録帳票データＤＢ２３から特定し、特定された複数の登録帳票データの論理要素の位置情報と各論理要素間の関係とのそれぞれに基づいて、入力帳票から複数の入力帳票データを再抽出し、再抽出した複数の入力帳票データを組み合わせて新たな登録帳票データとして生成することもできる。
【００８２】
例えば、図２９に示されるような入力帳票が入力された場合、帳票データ抽出装置１０は、図２９に示される入力帳票を上部、中央部、下部の領域に分割する。そして、帳票データ抽出装置１０は、図３０に示すような入力帳票の上部中央部が一致する登録帳票１（登録帳票データ１）と、図３１に示すような入力帳票の中央部下部が一致する登録帳票２（登録帳票データ２）とを登録帳票データＤＢ２３から特定し、それぞれについて、実施例１などで説明したグラフ処理を行って、図３２に示すようなグラフを生成する。そして、帳票データ抽出装置１０は、登録帳票データ１と登録帳票データ２とのそれぞれに一致する領域情報（座標）を用いて、入力帳票からデータを再抽出して、再抽出した複数の入力帳票データを組み合わせて新たな登録帳票データとして生成する。なお、図２９は、入力帳票の例を示す図であり、図３０は、入力帳票の上部中央部が一致する登録帳票を示す図であり、図３１は、入力帳票の中央部下部が一致する登録帳票を示す図であり、図３２は、複数の登録帳票データを用いてグラフ処理を行った結果の例を示す図である。
【００８３】
（２）類似登録帳票データ特定手法
また、本発明は、抽出された入力帳票データにおける各論理要素の外接矩形の４頂点と、登録帳票データＤＢ２３に記憶される登録帳票データにおける各論理要素の外接矩形の４頂点とを比較以外にも、抽出された入力帳票データにおける各論理要素の重心と、登録帳票データＤＢ２３に記憶される登録帳票データの重心とを比較することで、入力帳票データにおける各論理要素が登録帳票データにおける各論理要素のどれに該当するかを判断して、当該入力帳票データに類似する登録帳票データを登録帳票データＤＢ２３から特定することが可能である。
【００８４】
（３）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８５】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８６】
（４）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
【００８７】
図３３は、帳票データ抽出プログラムを実行するコンピュータシステムの例を示す図である。図３３に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４とから構成される。ここで、ＲＯＭ１０３には、上記の実施例と同様の機能を発揮するプログラム、つまり、図３３に示すように、入力帳票データ抽出プログラム１０３ａと、帳票判定プログラム１０３ｂと、データ生成プログラム１０３ｃとがあらかじめ記憶されている。
【００８８】
そして、ＣＰＵ１０４には、これらのプログラム１０３ａ〜１０３ｃを読み出して実行することで、図３３に示すように、入力帳票データ抽出プロセス１０４ａと、帳票判定プロセス１０４ｂと、データ生成プロセス１０４ｃとになる。なお、入力帳票データ抽出プロセス１０４ａは、図１に示した、論理構造認識部３２に対応し、同様に、帳票判定プロセス１０４ｂは、論理構造照合部３３と最適登録帳票選択部３４とに対応し、データ生成プロセス１０４ｃは、登録帳票生成部３５に対応する。
【００８９】
また、ＨＤＤ１０２には、複数の帳票を予め記憶する登録帳票テーブル１０２ａと、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造テーブル１０２ｂと、登録帳票ＤＢ２１に記憶される各種の帳票に対応付けて、共通論理構造ＤＢ２２に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを記憶する登録帳票データテーブル１０２ｃとが設けられる。なお、登録帳票テーブル１０２ａは、図１に示した、登録帳票ＤＢ２１に対応し、共通論理構造テーブル１０２ｂは、共通論理構造ＤＢ２２に対応し、登録帳票データテーブル１０２ｃは、登録帳票データＤＢ２３に対応する。
【００９０】
ところで、上記したプログラム１０３ａ〜１０３ｃとは、必ずしもＲＯＭ１０３に記憶させておく必要はなく、例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９１】
（付記１）複数の帳票を予め記憶する登録帳票記憶部と、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造記憶部とを備え、前記共通論理構造記憶部に記憶される論理構造に基づいて、入力された入力帳票の論理構造を抽出することをコンピュータに実行させる帳票データ抽出プログラムであって、
前記登録帳票記憶部に記憶される各種の帳票に対応付けて、前記共通論理構造記憶部に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを記憶する登録帳票データ記憶手段と、
前記入力帳票に対して、前記共通論理構造記憶部に記憶される論理構造に基づいて、当該入力帳票上の論理要素と論理要素の位置以上と各論理要素間の関係とを示した入力帳票データを抽出する入力帳票データ抽出手順と、
前記入力帳票データ抽出手順により抽出された入力帳票データに基づいて、当該入力帳票データに類似する登録帳票データを前記登録帳票データ記憶手段から特定する帳票特定手順と、
前記帳票特定手順により特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、前記入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については前記入力帳票データから抽出して、再抽出した入力帳票データを新たな登録帳票データとして生成するデータ生成手順と、
をコンピュータに実行させることを特徴とする帳票データ抽出プログラム。
【００９２】
（付記２）前記登録帳票データ記憶手段は、前記登録帳票データの論理要素それぞれについて、当該論理要素の重み付けを示す評価値を記憶し、
前記帳票特定手順は、前記入力帳票データ抽出手順により抽出された入力帳票データと前記登録帳票データの論理要素の評価値とに基づいて、前記入力帳票データ抽出手順により抽出された入力帳票データに類似する登録帳票データを前記登録帳票データ記憶手段から特定することを特徴とする付記１に記載の帳票データ抽出プログラム。
【００９３】
（付記３）前記帳票特定手順は、前記入力帳票データに類似する登録帳票データ以外にさらに前記入力帳票データに類似する登録帳票データの特定を要求する帳票特定要求を前記データ生成手順から受信した場合に、前記特定された登録帳票データ以外の登録帳票データから前記入力帳票データに類似する第二の登録帳票データを特定し、
前記データ生成手順は、前記帳票特定手順により特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、前記入力帳票から入力帳票データを再抽出し、前記入力帳票から再抽出できない論理要素がある場合に、前記帳票特定手順に対して帳票特定要求を送信して得られた第二の登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、前記入力帳票から入力帳票データを再抽出し、再抽出した入力帳票データを新たな登録帳票データとして生成することを特徴とする付記１に記載の帳票データ抽出プログラム。
【００９４】
（付記４）前記帳票特定手順は、前記帳票特定要求を前記データ生成手順から受信する度に、前記既に特定された登録帳票データ以外の登録帳票データから前記入力帳票データに類似する登録帳票データを前記登録帳票データ記憶手段から特定し、
前記データ生成手順は、前記帳票特定手順により特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、前記入力帳票から入力帳票データを再抽出し、前記入力帳票から再抽出できない論理要素がある場合に、前記帳票特定手順に対して帳票特定要求を送信することを所定の回数繰り返した後に、再抽出した入力帳票データを新たな登録帳票データとして生成することを特徴とする付記１に記載の帳票データ抽出プログラム。
【００９５】
（付記５）前記帳票特定手順は、前記入力帳票データ抽出手順により抽出された入力帳票データの複数の領域において、それぞれの領域のみ一致する複数の登録帳票データを前記登録帳票データ記憶手段からから特定し、
前記データ生成手順は、前記帳票特定手順により特定された複数の登録帳票データの論理要素の位置情報と各論理要素間の関係とのそれぞれに基づいて、前記入力帳票から複数の入力帳票データを再抽出し、再抽出した複数の入力帳票データを組み合わせて新たな登録帳票データとして生成することを特徴とする付記１に記載の帳票データ抽出プログラム。
【００９６】
（付記６）前記帳票特定手順は、前記入力帳票データ抽出手順により抽出された入力帳票データにおける各論理要素の外接矩形の４頂点と、前記登録帳票データ記憶手段に記憶される登録帳票データにおける各論理要素の外接矩形の４頂点とを比較することで、前記入力帳票データにおける各論理要素が前記登録帳票データにおける各論理要素のどれに該当するかを判断して、前記入力帳票データに類似する登録帳票データを前記登録帳票データ記憶手段から特定することを特徴とする付記１〜５のいずれか一つに記載の帳票データ抽出プログラム。
【００９７】
（付記７）複数の帳票を予め記憶する登録帳票記憶部と、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造記憶部とを備え、前記共通論理構造記憶部に記憶される論理構造に基づいて、入力された入力帳票の論理構造を抽出する帳票データ抽出装置であって、
前記登録帳票記憶部に記憶される各種の帳票に対応付けて、前記共通論理構造記憶部に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを記憶する登録帳票データ記憶手段と、
前記入力帳票に対して、前記共通論理構造記憶部に記憶される論理構造に基づいて、当該入力帳票上の論理要素と論理要素の位置以上と各論理要素間の関係とを示した入力帳票データを抽出する入力帳票データ抽出手段と、
前記入力帳票データ抽出手段により抽出された入力帳票データに基づいて、当該入力帳票データに類似する登録帳票データを前記登録帳票データ記憶手段から特定する帳票特定手段と、
前記帳票特定手段により特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、前記入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については前記入力帳票データから抽出して、再抽出した入力帳票データを新たな登録帳票データとして生成するデータ生成手段と、
を備えたことを特徴とする帳票データ抽出装置。
【００９８】
（付記８）複数の帳票を予め記憶する登録帳票記憶部と、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造記憶部とを備え、前記共通論理構造記憶部に記憶される論理構造に基づいて、入力された入力帳票の論理構造を抽出することに適した帳票データ抽出方法であって、
前記登録帳票記憶部に記憶される各種の帳票に対応付けて、前記共通論理構造記憶部に記憶される論理構造に基づいて取得された当該登録帳票上の論理要素と論理要素の位置情報と各論理要素間の関係とを示した登録帳票データを記憶する登録帳票データ記憶手段と、
前記入力帳票に対して、前記共通論理構造記憶部に記憶される論理構造に基づいて、当該入力帳票上の論理要素と論理要素の位置以上と各論理要素間の関係とを示した入力帳票データを抽出する入力帳票データ抽出工程と、
前記入力帳票データ抽出工程により抽出された入力帳票データに基づいて、当該入力帳票データに類似する登録帳票データを前記登録帳票データ記憶手段から特定する帳票特定工程と、
前記帳票特定工程により特定された入力帳票データに類似する登録帳票データの論理要素の位置情報と各論理要素間の関係とに基づいて、前記入力帳票から入力帳票データを再抽出し、再抽出できない論理要素については前記入力帳票データから抽出して、再抽出した入力帳票データを新たな登録帳票データとして生成するデータ生成工程と、
を含んだことを特徴とする帳票データ抽出方法。
【産業上の利用可能性】
【００９９】
以上のように、本発明に係る帳票データ抽出プログラムは、複数の帳票を予め記憶する登録帳票記憶部と、各種の帳票における論理要素と各論理要素の間の関係とを示した論理構造を記憶する共通論理構造記憶部とを備え、前記共通論理構造記憶部に記憶される論理構造に基づいて、入力された入力帳票の論理構造を抽出することに有用であり、特に、登録してある帳票でなくても容易にデータを抽出することが可能であることと、新たな登録帳票を容易に作成することに適する。
【図面の簡単な説明】
【０１００】
【図１】実施例１に係る帳票データ抽出装置の構成を示すブロック図である。
【図２】入力帳票の例を示す図である。
【図３】登録帳票ＤＢ２１に記憶される登録帳票の例および入力帳票に対する論理構造認識結果を示す図である。
【図４】共通論理構造ＤＢ２２に記憶される論理構造の例を示す図である。
【図５】登録帳票データＤＢ２３に記憶される登録帳票データの例を示す図である。
【図６】入力帳票から抽出された正しい論理構造と認識された論理構造の例を示す図である。
【図７】実施例１に係る帳票データ抽出装置における全体的な処理の流れを示すフローチャートである。
【図８】実施例１に係る帳票データ抽出装置における論理構造認識処理の流れを示すフローチャートである。
【図９】実施例１に係る帳票データ抽出装置における論理要素照合処理の流れを示すフローチャートである。
【図１０】算出されるグラフの例を示す図である。
【図１１】作成されるクリークの例を示した図である。
【図１２】最大クリークの選択例を示した図である。
【図１３】実施例１に係る帳票データ抽出装置における最適登録帳票からのデータ抽出処理の流れを示すフローチャートである。
【図１４】データ再抽出項目の決定例を示す図である。
【図１５】登録帳票の例を示す図である。
【図１６】入力帳票の例を示す図である。
【図１７】入力帳票を受け付けた際に論理構造認識した結果の例を示す図である。
【図１８】最適登録帳票の論理要素の座標を用いてデータを再抽出した例を示す図である。
【図１９】実施例２に係る帳票データ抽出装置における二次登録帳票選択処理の流れを示すフローチャートである。
【図２０】入力帳票の例を示す図である。
【図２１】選択された最適登録帳票の例を示す図である。
【図２２】最大グラフの重複例を示す図である。
【図２３】選択された二次登録帳票の例を示す図である。
【図２４】実施例２に係る帳票データ抽出装置における二次登録帳票データ抽出の流れを示すフローチャートである。
【図２５】最適登録帳票の例を示す図である。
【図２６】二次登録帳票の例を示す図である。
【図２７】最終的に抽出された入力帳票データの例を示す図である。
【図２８】実施例３に係る帳票データ抽出装置の処理の流れを示すフローチャートである。
【図２９】入力帳票の例を示す図である。
【図３０】入力帳票の上部中央部が一致する登録帳票を示す図である。
【図３１】入力帳票の中央部下部が一致する登録帳票を示す図である。
【図３２】複数の登録帳票データを用いてグラフ処理を行った結果の例を示す図である。
【図３３】帳票データ抽出プログラムを実行するコンピュータシステムの例を示す図である。
【符号の説明】
【０１０１】
１０  帳票データ抽出装置
１１  入力受付部
１２  表示部
２０  記憶部
２１  登録帳票ＤＢ
２２  共通論理構造ＤＢ
２３  登録帳票データＤＢ
３０  制御部
３１  入出力制御Ｉ／Ｆ部
３２  論理構造認識部
３３  論理構造照合部
３４  最適登録帳票選択部
３５  登録帳票生成部
１００  コンピュータシステム
１０１  ＲＡＭ
１０２  ＨＤＤ
１０２ａ  登録帳票テーブル
１０２ｂ  共通論理構造テーブル
１０２ｃ  登録帳票データテーブル
１０３  ＲＯＭ
１０３ａ  入力帳票データ抽出プログラム
１０３ｂ  帳票判定プログラム
１０３ｃ  データ生成プログラム
１０４  ＣＰＵ
１０４ａ  入力帳票データ抽出プロセス
１０４ｂ  帳票判定プロセス
１０４ｃ  データ生成プロセス
【図１】
0004998220.tif 000002
【図２】
0004998220.tif 000003
【図３】
0004998220.tif 000004
【図４】
0004998220.tif 000005
【図５】
0004998220.tif 000006
【図６】
0004998220.tif 000007
【図７】
0004998220.tif 000008
【図８】
0004998220.tif 000009
【図９】
0004998220.tif 000010
【図１０】
0004998220.tif 000011
【図１１】
0004998220.tif 000012
【図１２】
0004998220.tif 000013
【図１３】
0004998220.tif 000014
【図１４】
0004998220.tif 000015
【図１５】
0004998220.tif 000016
【図１６】
0004998220.tif 000017
【図１７】
0004998220.tif 000018
【図１８】
0004998220.tif 000019
【図１９】
0004998220.tif 000020
【図２０】
0004998220.tif 000021
【図２１】
0004998220.tif 000022
【図２２】
0004998220.tif 000023
【図２３】
0004998220.tif 000024
【図２４】
0004998220.tif 000025
【図２５】
0004998220.tif 000026
【図２６】
0004998220.tif 000027
【図２７】
0004998220.tif 000028
【図２８】
0004998220.tif 000029
【図２９】
0004998220.tif 000030
【図３０】
0004998220.tif 000031
【図３１】
0004998220.tif 000032
【図３２】
0004998220.tif 000033
【図３３】
0004998220.tif 000034