(57)【要約】【課題】複雑なレイアウトを持つ文書の論理構造を高精度に認識する。【解決手段】認識情報取得手段３により、外部から入力される文書レイアウトのレイアウト構造が認識され、そのレイアウト構造および文字情報が得られる。また、出力手段４により、得られた文字情報の各文字列に対し、テンプレート格納手段２に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致が、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断されて文字情報との整合性を備える前記テンプレートが検出され、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かが判断され、位置関係を満たすテンプレートが、入力された文書レイアウトのテンプレートとして出力され、そのマッチング結果を文書レイアウトに対する論理構造認識結果として出力する。【選択図】図１
2008191833.tif 000002
【特許請求の範囲】
【請求項１】
種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理プログラムにおいて、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段、
として機能させることを特徴とする論理構造認識処理プログラム。
【請求項２】
前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする請求項１記載の論理構造認識処理プログラム。
【請求項３】
前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない２つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記２つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする請求項１記載の論理構造認識処理プログラム。
【請求項４】
前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする請求項１記載の論理構造認識処理プログラム。
【請求項５】
種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理方法において、
テンプレート格納手段が、互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納し、
認識情報取得手段が、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を取得し、
出力手段が、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する、
ことを特徴とする論理構造認識処理方法。
【請求項６】
種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理装置において、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段と、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段と、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段と、
を有することを特徴とする論理構造認識処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置に関し、特に、論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置に関する。
【背景技術】
【０００２】
近年、帳票の電子化の流れが加速化し、帳票の効率的な電子化が求められてきている。そのため、帳票画像の論理構造を認識することによって帳票からキーワードやデータを自動で抽出することが中心的な課題となっている。
【０００３】
帳票画像の論理構造を認識することによって帳票からキーワードやデータを自動で抽出する方法として、例えば、見出しの文字列候補とそのデータの正規表現の対からなるリストの論理定義体を用意しておき、帳票画像の文字認識結果等から得られる文字情報を論理定義体と照らし合わせ、キーワードを抽出する方法が知られている（例えば、特許文献１参照）。
【０００４】
また、論理構造の階層構造とレイアウト上の近接性の関係を利用した確率伝搬法によって、見出しとデータを確定させる方法が知られている（例えば、特許文献２参照）。この手法によって、深い階層を持つ表からなる帳票でも論理構造を認識できる。
【０００５】
またこのほかにも、帳票文書ではないが、一般文書に対していくつかの手法が提案されている。例えば、文書画像分割手段によって得られる文字ブロック、文字行、グラフィックス等の属性を持つ領域を、文書要素をノード、配置関係をリンクとするグラフ構造のモデルとマッチングさせ、対象文書画像の構造がどの構造モデルにマッチングするかを求め、各領域に論理構造のラベルを付与する方法が知られている（例えば、特許文献３参照）。
【０００６】
また、認識結果を概念辞書とスキーマ情報とに照らし合わせ、項目かデータかを判別し、項目とデータとを対応づける方法が知られている（例えば特許文献４参照）。
【特許文献１】特願２００６−３００３２５号公報
【特許文献２】特願２００６−２０９０６５号公報
【特許文献３】特開平５−１５９１０１号公報
【特許文献４】特開２００６−１３４１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来の技術には以下のような問題がある。例えば、特許文献１では、階層的な見出しに対応していないこと、また、見出しとデータの関係が単純な場合にしか対応していないこと等の問題がある。
【０００８】
また、特許文献２では、人間が見て明らかに対応しないと考える見出しとデータを対応づける誤りをすることや、パラメータの設定が難しいという問題がある。
また、特許文献３では、マッチングアルゴリズムは深さ優先探索アルゴリズムで、モデルを表現しているグラフ構造におけるノードの対応をリンクにそって順に仮定していくため、レイアウト要素と構造モデルの対応がレイアウト要素から構造モデルへ全射でなければならないという条件があり、多様なレイアウトの文書を対象とするのが難しく、論理構造を認識する前のレイアウトや文字の認識失敗に大きく影響されるという問題がある。
【０００９】
さらに、特許文献４では、階層構造を持つ表構造のように項目とデータが複雑な対応関係にあるとき、どのように対応を認識するかについては明らかにされていない。
本発明はこのような点に鑑みてなされたものであり、複雑なレイアウトを持つ文書の論理構造を高精度に認識する論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を提供することを目的とする。
【００１０】
また、本発明の他の目的としては、多様なレイアウトの文書に対しても高精度かつ複雑なモデルを作ることなく認識できる論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を提供することを目的とする。
【００１１】
さらに、本発明の他の目的としては、レイアウト認識や文字認識の失敗に影響されずに文書の論理構造を認識する論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では上記問題を解決するために、図１に示すような処理をコンピュータ１に実行させるための論理構造認識処理プログラムが提供される。
本発明に係る論理構造認識処理プログラムは、種々の文書レイアウト入力に対し、整合性の高いテンプレートとそのマッチング結果である文書レイアウトに対する論理構造認識結果を出力するプログラムである。
【００１３】
この論理構造認識処理プログラムを実行するコンピュータ１は以下の機能を有する。
テンプレート格納手段２は、互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートを複数格納する。このテンプレートの各ノードは、それぞれ下位テンプレートを構成しており、下位テンプレートには、下位テンプレートを構成するノード間の位置関係が定義づけられている。
【００１４】
認識情報取得手段３は、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る。
出力手段４は、得られた文字情報の各文字列に対し、テンプレート格納手段２に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致を、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断して文字情報との整合性を備えるテンプレートを検出し、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たすテンプレートを、入力された文書レイアウトのテンプレートとして出力する。
【００１５】
このような論理構造認識処理プログラムによれば、認識情報取得手段３により、外部から入力される文書レイアウトのレイアウト構造が認識され、そのレイアウト構造および文字情報が得られる。また、出力手段４により、得られた文字情報の各文字列に対し、テンプレート格納手段２に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致が、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断されて文字情報との整合性を備えるテンプレートが検出され、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かが判断され、位置関係を満たすテンプレートが、入力された文書レイアウトのテンプレートとして出力され、そのマッチング結果である文書レイアウトに対する論理構造認識結果として出力する。
【発明の効果】
【００１６】
本発明によれば、下位のノードの一致性を判断して再帰的にテンプレートの整合性を検証するようにしたので、複雑なレイアウトを持つ文書の論理構造を高精度に認識することができる。
【００１７】
また、テンプレートを追加登録することで、外部知識を容易に取り込むことが可能である。これにより、見積書・納品書等、様々な文書レイアウト入力に対して、それぞれパラメータチューニングをする等の必要がなく、統一の手法で高精度な論理構造認識が可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図１は、本発明の概要を示す図である。
【００１９】
論理構造認識処理プログラムは、コンピュータ１をテンプレート格納手段２、認識情報取得手段３および出力手段４として機能させる。
テンプレート格納手段２には、複数のテンプレートが格納されている。
【００２０】
これらのテンプレートは、それぞれ見出しまたはデータで構成されたノードを少なくとも１つ有するテンプレートである。例えばテンプレートＴ１は、見出し（例えば「お名前」、「住所」等）を構成する３つのノードとデータを構成する２つのノードとを有している。
【００２１】
テンプレートは、ノード間の位置関係が定義づけられている。
また、各ノードは、それぞれが１つのテンプレート（下位のテンプレート）を構成しており、下位のテンプレートには、下位のテンプレートを構成するノード間の位置関係が定義づけられている。
【００２２】
例えばテンプレートＴ１のノードＮ１は、３つのノードを有するテンプレートＴ２を構成している。そして、テンプレートＴ２のノードＮ２は、テンプレートＴ３を構成している。
【００２３】
テンプレートを構成するノードの構成単位は、下位に行くほど小さくなり、例えば（全体→トピック→文字列→文字）となる。ここでトピックとは、文字列の集合であり、意味的にあるまとまりをなすものである。
【００２４】
管理者は、ノードが文字で構成されるまでこのようなテンプレートの作成を繰り返し行い、作成した各テンプレートをテンプレート格納手段に格納する。
認識情報取得手段３は、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る。
【００２５】
出力手段４は、得られた文字情報の各文字列に対し、テンプレート格納手段２に格納されたテンプレート毎に、テンプレート（対象テンプレート）に含まれるノード単位で文字列との一致を、そのノードによって構成されるテンプレートの整合性を再帰的に検証して判断し、対象テンプレート全体として文字情報との整合性を備えるテンプレートを検出する。
【００２６】
また、出力手段４は、検出されたテンプレートのノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たすテンプレートを、入力された文書レイアウトのテンプレートとして出力する。
【００２７】
このような論理構造認識処理プログラムによれば、認識情報取得手段３により、文書レイアウトの論理構造が認識され、そのレイアウト構造および文字情報が得られる。そして、出力手段４により、得られた文字情報の各文字列に対し、テンプレート格納手段２に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致が、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断されて文字情報との整合性を備えるテンプレートが検出され、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かが判断され、位置関係を満たすテンプレートが、入力された文書レイアウトのテンプレートとして出力され、そのマッチング結果である文書レイアウトに対する論理構造認識結果として出力する。
【００２８】
以下、本発明の実施の形態を説明する。
図２は、論理構造認識処理装置のハードウェア構成例を示す図である。
論理構造認識処理装置１００は、入力される文書レイアウトに対し、予め用意された複数の論理構造テンプレート（テンプレート）を当てはめる論理構造認識処理を行うことによって、文書レイアウトに対する整合性の高いテンプレートを出力する装置である。
【００２９】
この論理構造認識処理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００３０】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。また、ＨＤＤ１０３内には、プログラムファイルが格納される。
【００３１】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００３２】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００３３】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の論理構造認識処理装置１００において論理構造認識処理を行うために、論理構造認識処理装置１００内には、以下のような機能が設けられる。
【００３４】
図３は、論理構造認識処理装置の機能を示すブロック図である。
論理構造認識処理装置１００は、テンプレート作成部１１０と、処理部１２０とを有している。
【００３５】
テンプレート作成部１１０は、ユーザの入力により、処理部１２０が論理構造認識処理を行う際に用いる論理構造テンプレートを作成する。
テンプレート作成部１１０は、論理構造テンプレート入力受付部１１１と、論理構造テンプレート格納部１１２とを有している。
【００３６】
論理構造テンプレート入力受付部１１１は、モニタ１１に論理構造テンプレートを作成するための入力受付画面を表示する。論理構造テンプレート入力受付部１１１はＧＵＩ（Graphical User Interface）機能を備えており、ユーザは、入力受付画面を見ながらキーボード１２やマウス１３を用いて、論理構造テンプレートを作成する。
【００３７】
このようにして作成された論理構造テンプレートは、文書のレイアウトを全体−トピック−文字列−文字に階層化したテンプレートであり、後述する自動レイアウト認識や、自動文字認識等によって得られるレイアウト構造と共通のレイアウトを持つよう意識して作成されたものである。例えば、見積書であれば、「日付情報」、「依頼番号」等が含まれるというように、同じ種類の帳票であれば、レイアウトは異なっていても含まれる情報項目等、共通する箇所が多くある。これらをまとめたものが論理構造テンプレートである。例えば帳票の論理構造テンプレートは、例えば文字列、データからなる組と、それらの間に成り立つ関係が存在する。文字列は、例えば“お名前”や“ご本人自署”等、テンプレートを構成する情報であり、データは、例えば文字列に対応して入力された情報である。なお、文字列が固定であるのと異なり、データについては限定できないが、データを表現する形式とデータの文字種は、定義することができる。例えば日付のデータは、「＊年＊月＊日」と表現することができる（＊は、任意の数字）。
【００３８】
図４は、階層化を説明する図である。
図４に示す申込書２００において、例えば名前登録部２０１のトピックとして、「お名前」、「ローマ字」等の文字列の集合を考えることができる。また、「お名前」、「ローマ字」それぞれについて、文字単位での集合を考えることができる。ここで、「トピック」とは、文字列の集合であり、意味的にあるまとまりをなすものであり、「文字列」とは、トピックを構成するものであり、「文字」とは文字列を構成するものである。
【００３９】
論理構造テンプレートは、ノード（節点・頂点）間の関係を示している。
図５は、論理構造テンプレートの一例を示す図である。なお、図５では、説明を分かり易くするために、論理構造テンプレートを、文書レイアウト階層と対比して示している。
【００４０】
論理構造テンプレートは、ノードの集合と、ノードを接続するパス（枝、辺）の集合で構成される「繋がり方」に着目して抽象化された「点とそれを結ぶ線」の概念である。
図５には、「全体」の論理構造テンプレートＴｅ１と、「トピック」の論理構造テンプレートＴｅ２と、「文字列」の論理構造テンプレートＴｅ３とが図示されている。
【００４１】
ユーザは、例えば論理構造テンプレートＴｅ１を作成する。そして、論理構造テンプレートＴｅ１の「氏名」ノードについて論理構造テンプレートＴｅ２を作成する（図示していないが、「住所」ノード、「アンケート」ノードについても論理構造テンプレートを作成する）。そして、論理構造テンプレートＴｅ２の「名前」ノードについて論理構造テンプレートＴｅ３を作成する。
【００４２】
また、作成の際には、関連づけたいノードを指定し、これらをパスで接続した後に、ノード間の関係を示す添え字を付す。このようにすることで、ノードは、その論理構造テンプレートが属する階層の下の階層の論理構造テンプレートのいずれかに同一視される。よって、あらゆる階層のノードは、最下層のノードである文字の集合で表現することができる。
【００４３】
また、ユーザは、文字列のノードに、同一視される可能性のある（同一または類似の）論理構造テンプレートをリストとして保持させておく。このリストを「可能テンプレートリスト」という。
【００４４】
図６は、可能テンプレートリストを示す図である。
図６に示す「トピック」の論理構造テンプレートＴｅ２には、「名前」ノードに、それぞれ「名前」ノード、「お名前」ノード、「氏名」ノード、「ご氏名」ノードを備える可能テンプレートリストＴｅ２１を保持させておく。「ローマ字」ノードに、「ローマ字」ノードを備える可能テンプレートリストＴｅ２２を保持させておく。「自署」ノードに、それぞれ「自署」ノード、「本人自署」ノード、「ご本人自署」ノードを備える可能テンプレートリストＴｅ２３を保持させておく。
【００４５】
論理構造テンプレート入力受付部１１１は、このようにして作成した「全体」の論理構造テンプレートと、「トピック」の論理構造テンプレートと、「文字列」の論理構造テンプレートとをそれぞれ論理構造テンプレート格納部１１２に格納する。
【００４６】
図７は、格納された論理構造テンプレートのデータ構造を示す図である。
図７に示すように、「全体」の論理構造テンプレートＴｅ１は、「トピックの個数」、「各トピックのデータ」、「トピック間の関係」の情報を有している。「トピック」の論理構造テンプレートＴｅ２は、「文字列の個数」、「各文字列のデータ」、「文字列間の関係」の情報を有している。「文字列」の論理構造テンプレートは、「文字の個数」、「各文字のデータ」、および「文字間の関係」の情報を有している。「文字」の論理構造テンプレートは、コード（文字コード）を有している。
【００４７】
次に、ノード間の関係について詳しく説明する。
以下、論理構造テンプレート、または、ノードを実際のレイアウト上で実現したときの領域のことを、「実領域」と言う。ノードとノードとの関係は、ノードの実領域間の関係を表す。ノードに対する実矩形領域を、ノードを構成する文字集合がすべて、かつ、それらのみが一つのセル（ｃｅｌｌ）に属しているときはそのセルの領域とし、それ以外は、ノードを構成する文字集合の外接矩形と定義する。ノード間の関係は、ノードに対する実矩形領域間に対する、階層関係（ｈ）、平行関係（ｐ）、単語関係（ｗ）、独立関係（ｄ）の４つの関係で構成される。
【００４８】
＜階層関係（ｈ）＞
図８は、階層関係を示す図である。なお、図８中、紙面上方向を「上」、紙面下方向を「下」、紙面左方向を「左」、紙面右方向を「右」、紙面の上下方向をＹ方向、紙面の左右方向をＸ方向という（図９および図１０も同様）。
【００４９】
ノードａに対する実矩形領域αがノードｂに対する実矩形領域βに対し、
実矩形領域αと実矩形領域βとがともにセル領域のときは
・左にあり、かつ、Ｙ方向へ射影したときに真に含む
・上にあり、かつ、Ｘ方向へ射影したときに真に含む
それ以外のときは、
・左にあり、かつ、Ｙ方向へ射影したときに重複部分がある
・上にあり、かつ、Ｘ方向へ射影したときに重複部分がある
のいずれかが成り立つとき、階層関係（ｈ）が成り立つとする。
【００５０】
＜平行関係（ｐ）＞
図９は平行関係を示す図である。
ノードａに対する実矩形領域αがノードｂに対する実矩形領域βに対し、
実矩形領域αと実矩形領域βとがともにセル領域のときは、
・左にあり、かつ、Ｙ方向へ射影したときに一致する
・右にあり、かつ、Ｙ方向へ射影したときに一致する
・上にあり、かつ、Ｘ方向へ射影したときに一致する
・下にあり、かつ、Ｘ方向へ射影したときに一致する
それ以外のときは、
・左にあり、かつ、Ｙ方向へ射影したときに重複部分がある
・右にあり、かつ、Ｙ方向へ射影したときに重複部分がある
・上にあり、かつ、Ｘ方向へ射影したときに重複部分がある
・下にあり、かつ、Ｘ方向へ射影したときに重複部分がある
のいずれかが成り立つとき、平行関係（ｐ）が成り立つとする。
【００５１】
＜単語関係（ｗ）＞
図１０は、単語関係を示す図である。
ノードａに対する実矩形領域αがノードｂに対する実矩形領域βに対し、
・左にあり、かつ、中心線がほぼ一致する
・右にあり、かつ、中心線がほぼ一致する
・上にあり、かつ、中心線がほぼ一致する
・下にあり、かつ、中心線がほぼ一致する
のいずれかが成り立つとき、単語関係（ｗ）が成り立つとする。
【００５２】
＜独立関係（ｄ）＞
ノードａに対する実矩形領域αがノードｂに対する実矩形領域βに対し、重複しない関係が成り立つとき、独立関係（ｄ）が成り立つとする。
【００５３】
例えば、図５に示す「全体」の論理構造テンプレートＴｅ１では、「タイトル」ノード、「氏名」ノード、「住所」ノード、および「アンケート」ノードがあり、「タイトル」ノードと「氏名」ノードおよび「住所」ノードとの間は階層関係（ｈ）によって結ばれて（関連づけられて）いる。また、論理構造テンプレートＴｅ２では、「名前」ノード、「自署」ノード、「ローマ字」ノード、「データ＃１」ノード、「データ＃２」ノードがあり、それらの間は階層関係（ｈ）または平行関係（ｐ）によって結ばれている。
【００５４】
再び図３に戻って説明する。
処理部１２０は、文書レイアウト入力に対し、それらの構造を満たす箇所を作成された論理構造テンプレートを用いて検索し、得られる検索結果の整合性を取ることで、全体の論理構造を認識する。以下、文書レイアウトとして帳票を例にとって説明する。
【００５５】
図１１は、処理部の機能を示すブロック図である。
処理部１２０は、レイアウト認識部１２１と、一文字領域仮説生成部１２２と、文字認識部１２３と、文字データ抽出部１２４と、論理構造認識処理部１２５とを有している。
【００５６】
レイアウト認識部１２１は、紙帳票をスキャナでスキャンする等して得られた帳票画像のレイアウトを認識し、文字画像を含む読み取り領域を抽出する。
図１２は、一文字領域仮説生成部の機能を示す図である。
【００５７】
一文字領域仮説生成部１２２は、レイアウト認識と文字認識の誤りに対応するため、文字を構成する可能性のある連結成分の組合せを、重複を許しながら多重に生成する。詳しくは、帳票画像の２値画像をラベリングした後、各連結成分について、近傍の連結成分との組合せを一文字領域と仮定した統合矩形を生成する。具体的には、連結成分に対して、近傍の連結成分と統合したときにあるサイズの閾値の範囲以内に収まるように、まず垂直方向から統合し、次に水平方向に統合していく。サイズの閾値は段階的に複数個設定し、閾値ごとに統合矩形を生成する。これらの統合矩形の領域は互いに重複することがある。例えば、「Ａ株式会社」における「株」の領域は、辺の「木」の領域と旁の「朱」の領域と重複している。
【００５８】
処理部１２０は、レイアウト認識部１２１の機能と、一文字領域仮説生成部１２２の機能とを状況に応じて使い分けることにより、最適な文字認識結果（文字データ）を得ることができる。
【００５９】
文字認識部１２３は、レイアウト認識部１２１が抽出した読み取り領域に対しては、認識用辞書等を用いて文字認識を行い、文字認識結果を出力する。また、一文字領域仮説生成部１２２が生成した統合矩形に対しては、統合矩形を一文字認識することにより、互いに重なる文字認識結果を出力する。例えば「株」については、「株」、「木」、「朱」の３つの文字認識結果を出力する。
【００６０】
図１３は、文字認識部により作成される文書レイアウト階層のデータ構造を模式的に示す図である。
全体から、帳票の「表の個数」および「各表のデータ」を取得する。各表のデータは、それぞれ「座標」、「セルの個数」および「各セルのデータ」を有している。各セルのデータは、それぞれ「座標」、「テキストブロックの個数」および「各テキストブロックのデータ」を有している。各テキストブロックのデータは、それぞれ「座標」、「文字の個数」および「各文字のデータ」（文字データ）を有している。各文字データは、それぞれ「座標」および「コード」を有している。
【００６１】
再び図１１に戻って説明する。
文字データ抽出部１２４は、文書作成用エディタによって作成された電子文書に対し、ファイルからコードおよび座標を有する文字データを抽出する。
【００６２】
論理構造認識処理部１２５は、文字認識部１２３または文字データ抽出部１２４から得られる文字データに基づいて、論理構造認識処理を行い、例えばマッチングしたところが最も多い論理構造テンプレートを出力する。
【００６３】
＜論理構造認識処理＞
論理構造認識処理は、得られた文字データを、「全体」の論理構造テンプレートと順次マッチングさせ、最もマッチング率の高い論理構造テンプレートとのマッチング結果を論理構造認識結果とする処理である。文字データに対し、論理構造テンプレートをマッチングさせると、論理構造テンプレートに対する実領域とマッチングの度合を表すマッチング率が出力される。
【００６４】
図１４は、論理構造認識処理を示すフローチャートである。ここで、Ｎ：「全体」の論理テンプレートの数、Ｗ＿ＬＳＴｉ（ｉ＝０，・・・，Ｎ−１）：「全体」の論理テンプレート、Ｐｔｉ（０≦Ｐｔｉ≦１）：ｉ番目の項目文字列のマッチング度、Ｐｔ：最大のマッチング度、とする。
【００６５】
まず、パラメータｉ＝０、ｊ＝−１、Ｐｔ＝０とする（初期化）（ステップＳ１）。
次に、ｉがＮより小さいか否かを判断する（ステップＳ２）。
ｉがＮ以上の場合（ステップＳ２のＮｏ）、論理構造認識処理を終了する。
【００６６】
ｉがＮより小さい場合（ステップＳ２のＹｅｓ）、Ｗ＿ＬＳＴｉとマッチングさせて、Ｐｔｉを得る（マッチング処理）（ステップＳ３）。マッチング処理については後述する。
【００６７】
次に、マッチング処理によって得られたＰｔｉがＰｔ以上か否かを判断する（ステップＳ４）。
ＰｔｉがＰｔより小さい場合（ステップＳ４のＮｏ）、ステップＳ６に移行する。
【００６８】
一方、ＰｔｉがＰｔ以上の場合（ステップＳ４のＹｅｓ）、Ｐｔ＝Ｐｔｉ、ｊ＝ｉとする（ステップＳ５）。
次に、ｉをインクリメントし（ステップＳ６）、ステップＳ２に移行する。
【００６９】
以上で論理構造認識処理を終了する。論理構造認識処理の終了時点でのＰｔおよびＷ＿ＬＳＴｉを取り出すことにより、マッチング結果を得ることができる。
次に、マッチング処理について詳しく説明する。
【００７０】
図１５は、論理構造認識処理部の機能を示すブロック図である。
論理構造認識処理部１２５は、完全グラフ化部１２５ａと、グラフ生成部１２５ｂと、クリーク抽出部１２５ｃと、マッチング結果算出部１２５ｄとを有している。
【００７１】
＜完全グラフ化部＞
完全グラフ化部１２５ａは、論理構造テンプレートの各要素のうち、関係が明らかに定められていない関係について、自分以外のすべての要素との関係を明らかに定められた関係を用いて論理構造テンプレートを明確にする。論理構造テンプレートを明確にすることを完全グラフ化という。
【００７２】
図１６は、完全グラフ化を説明する図である。
図中、「名前」ノードと「データ＃１」ノードおよび「データ＃２」ノードとの関係が不明である。また、「自署」ノードと「データ＃２」ノードとの関係が不明である。また、「ローマ字」ノードと「データ＃１」ノードとの関係が不明である。よってこれらの関係を明確にする。
【００７３】
ここで、例えば、実領域Ｐ、Ｑ、Ｒが存在する場合において、実領域ＰとＱとが階層関係で、実領域ＱとＲとが階層関係のとき（間接的に接続されている実領域の各関係がいずれも階層関係のとき）は実領域ＰとＲとの関係を階層関係にする。図１６では、「名前」ノードと「自署」ノードとが階層関係（ｈ）で、「自署」ノードと「データ＃１」ノードとが階層関係（ｈ）であるため、「名前」ノードと「データ＃１」ノードとを階層関係（ｈ）にする。また、「名前」ノードと「データ＃２」ノードとについても階層関係（ｈ）にする。他方、間接的に接続されている実矩形領域の各関係のうちいずれか１つでも階層関係以外の場合は、独立関係（ｄ）にする。論理構造テンプレートＴｅ２では、「自署」ノードと「データ＃１」ノードとが階層関係（ｈ）であるが、「データ＃１」ノードと「データ＃２」ノードとが平行関係（ｐ）であるため、「自署」ノードと「データ＃２」ノードとの関係を独立関係（ｄ）にする。また、間接的に複数の実矩形領域を介して接続されている場合は、そのうち１つの経路が間接的に接続されている実矩形領域の各関係がそれぞれ階層関係であっても、いずれか１つでも階層関係以外の経路が存在する場合は、独立関係（ｄ）にする。図１６では、「ローマ字」ノードと「データ＃１」ノードとの関係についても独立関係（ｄ）にする。
【００７４】
なお、実際に完全グラフ化部１２５ａが論理構造テンプレートＴｅ２における完全グラフ化の処理を行う場合には、図１６（ｂ）に示す、論理構造テンプレートＴｅ２を表形式で表現したテンプレートテーブルＴｅｔ２等を用いる。テンプレートテーブルＴｅｔ２では上下方向と左右方向にノードを配置し、交点に当たる欄にパスの階層関係を設定している。空欄の階層関係を全て埋めることにより完全グラフ化を行うことができる。
【００７５】
図１７は、完全グラフ化を行った論理構造テンプレートを示す図である。
図１７（ａ）に示すように、パスが接続された論理構造テンプレートＴｅ２ａが得られる。また、図１７（ｂ）に示すように、テンプレートテーブルＴｅｔ２の空欄の階層関係が全て埋められ、完全グラフ化が行われたことが分かる。
【００７６】
＜グラフ生成部＞
グラフ生成部１２５ｂは、完全グラフ化が行われた論理構造テンプレートを構成する各ノードに対し、入力される文字データにおける実領域を検索してリストアップする（リストアップ処理）。そして、リストアップされた実領域に対し、論理構造テンプレート上で定められた関係を満たすかどうかを判定し、実領域間の整合性を表すグラフを生成する。
【００７７】
＜リストアップ処理＞
リストアップ処理では、各ノードについて、可能テンプレートリストに属する下位の論理構造テンプレートに対して再帰的に論理構造テンプレートのマッチングを行い、複数の実領域を候補として抽出する。
【００７８】
図１８は、リストアップ処理を示すフローチャートである。なお、図１８において、Ｎ：マッチングを取ろうとしている論理構造テンプレートの中のノードの個数、ＮＴｉ：ノードに付された可能テンプレートリストに格納された可能テンプレートの個数、ＬＳＴｋ：ｋ番目の可能テンプレート、ＮＡｋ：マッチングにより出てきた個数、とする。
【００７９】
まず、パラメータとして使用するｉおよびｊをそれぞれ初期化（＝０）する（ステップＳ２１）。
次に、ｉがＮより小さいか否かを判断する（ステップＳ２２）。
【００８０】
ｉがＮ以上の場合（ステップＳ２２のＮｏ）、抽出処理を終了する。
一方、ｉがＮより小さい場合（ステップＳ２２のＹｅｓ）、可能テンプレートの個数に関するパラメータとして使用するｋを初期化する（ステップＳ２３）。
【００８１】
次に、ｋがＮＴｉより小さいか否かを判断する（ステップＳ２４）。
ｋがＮＴｉ以上の場合（ステップＳ２４のＮｏ）、ｉをインクリメントする（ステップＳ２５）。その後、ステップＳ２２に移行し、それ以降の処理を繰り返す。
【００８２】
一方、ｋがＮｔｉより小さい場合（ステップＳ２４のＹｅｓ）、ＬＳＴｋとマッチングする（ステップＳ２６）。
次に、パラメータとして使用するｍを初期化（＝０）する（ステップＳ２７）。
【００８３】
次に、ｍがＮＡｋより小さいか否かを判断する（ステップＳ２８）。ステップＳ２７にて初期化を行っているため、ＮＡｋが０でなければ（１つ以上マッチングしていれば）、ｍがＮＡｋより小さいことになる。
【００８４】
ｍがＮＡｋ以上の場合（ステップＳ２８のＮｏ）、ｋをインクリメントする（ステップＳ２９）。その後、ステップＳ２４に移行し、それ以降の処理を繰り返す。
一方、ｍがＮＡｋより小さい場合（ステップＳ２８のＹｅｓ）、ノードｊを生成する（ステップＳ３０）。
【００８５】
次に、ｊをインクリメントする（ステップＳ３１）。
次に、ｍをインクリメントする（ステップＳ３２）。その後、ステップＳ２８に移行し、それ以降の処理を繰り返す。
【００８６】
次に、リストアップ処理の具体例について説明する。
図１９および図２０は、リストアップ処理の具体例を説明する図である。ここで、図１９（ａ）および図２０（ａ）は、それぞれ文書レイアウトを示す図であり、図１９（ｂ）および図２０（ｂ）は、それぞれ論理構造テンプレートにリストアップ処理を施す過程を示す図である。
【００８７】
図１９（ｂ）に示すように、論理構造テンプレートＴｅ２は５個のノードからなるため、Ｎ＝５となる。５個のノードに対して順番に処理が施される。ここでは、「名前」ノードの処理を例に取る。「名前」ノードは、「名前」ノード自身が備える可能テンプレートリスト（「トピック」の下階層に存在する可能テンプレートリスト）のいずれかに同一視される。前述したように、「名前」ノードの可能テンプレートリストには「名前」ノード、「お名前」ノード、「氏名」ノードおよび「ご氏名」ノードの４つが格納されている。よって、ＮＴｉ＝４となる。これら４つのノード（下位論理構造テンプレート）に対して、再帰的にマッチングを行う。「お名前」ノードを例にとると、「お名前」という論理構造テンプレートに対して、対応する領域が一つあり（ＮＡｋ＝１）、これに応じて、実領域ａ１を候補として生成する。また、「名前」に対しても実領域ａ２を一つ生成し、「氏名」に対して実領域ａ３を生成し、「ご氏名」に対しても「氏名」と同一の実領域ａ４を生成する。
【００８８】
その後、実領域ａ２は実領域ａ１に包含されるので削除し、実領域ａ４は実領域ａ３と同一の領域であるが、実領域ａ３のマッチング率が１であり、実領域ａ４は０．６７なので実領域ａ４を削除する。そして、図２０（ｂ）に示すように、実領域ａ１を改めて実領域Ａ１と記し、実領域ａ３を実領域Ａ２と記す。その後、グラフを生成する。
【００８９】
図２１は、生成したグラフを示す図である。
グラフ生成部１２５ｂは、リストアップされた実領域に対し、論理構造テンプレート上で定められた関係を満たすかどうかを判定する。この判定は、実領域間の各文字データに含まれる座標の関係と、論理構造テンプレートのノード間の関係とを対比することにより行う。そして、関係を満たすと判定されたときはそれらに対応するノード間にパスを引き、満たさないと判断したときは何もしない。このようにして、実領域間の整合性を表すグラフｇ１を生成する。
【００９０】
＜クリーク抽出部＞
クリーク抽出部１２５ｃは、生成されたグラフｇ１からクリーク（任意の二頂点間に枝があるような頂点集合の中で最大のもの）を抽出することで、論理構造テンプレートを満たす実領域の集合を抽出する。
【００９１】
図２２は、抽出したクリークを示す図である。
クリーク抽出部１２５ｃは、斜線部に示す、グラフの極大完全部分グラフであるクリークＣＬ１を抽出する。ここで、極大完全部分グラフとは、そのグラフをとったときに、自分以外のどの実領域に対しても線が引かれているグラフをいう。すなわち、クリークを構成する全ての実領域は、自分以外の実領域とパスで結ばれる。
【００９２】
図２１では、例えば実領域Ａ１は、自分以外の全ての実領域Ｂ、Ｃ１、Ｃ２、Ｄについてパスが結ばれているため、実領域Ａ１を、クリークを構成する実領域として選択する。クリークに対応する実領域の集合は論理構造テンプレートを部分的に（場合によってはすべて）満たす。
【００９３】
＜マッチング結果算出部＞
マッチング結果算出部１２５ｄは、抽出されたクリークから（クリークは通常複数抽出される）、論理構造テンプレートを構成するノードの個数に対してある割合以上の個数を持つクリークを選択し、それらに対応するクリークとマッチング率（クリークのノードの個数／論理構造テンプレートを構成するノードの個数）をマッチング結果として算出する。図２２に示すクリークＣＬ１の場合、元々５つのノードのうち、「自署」ノード以外の４つのノードとの対応がとれたことになる。さらに、マッチング結果算出部１２５ｄは、対応のとれたノードについて、下の階層の文字階層におけるマッチングのマッチング率を計算する。例えば、帳票画像の文字データが、Ａ１「お名前」、Ｂ「ご木人自署」、Ｃ１「ローマ字」、Ｄ「Ｔａｒｏ  Ｙａｍａｄａ」であったとき、クリークＣＬ１と論理構造テンプレートＴｅ２とを比較すると、Ｂのみ１文字（本→木）誤っており、Ａ、Ｃ１、Ｄが１００％、Ｂが８０％（４文字／５文字）のマッチング率となる。その結果、図２２に示すクリークＣＬ１の論理構造テンプレートＴｅ２に対するマッチング率は（１＋０．８＋１＋０＋１）／５＝０．７６となる。
【００９４】
以上述べたように、本実施の形態の論理構造認識処理装置１００によれば、見出しとデータに関する定性的なレイアウト構造を論理構造テンプレートとして複数論理構造テンプレート格納部１１２に格納しておき、入力される文書レイアウトに対し、処理部１２０が、論理構造認識処理を行うことで、処理結果を予測することができる。例えば、見出しが一つだけ全く離れた位置のものを抽出したり、ある見出しに対して全く異なる位置にあるデータを対応づけたりすることがない。
【００９５】
また、論理構造テンプレートを追加登録することで、外部知識を容易に取り込むことが可能である。これにより、見積書・納品書等様々な帳票に対して、柔軟性の高い論理構造認識が可能となり、それぞれパラメータチューニングをする等の必要がなく、統一の手法で高精度な論理構造認識が可能になる。
【００９６】
また、処理部１２０が、論理構造認識処理を行うため、多様なレイアウトの帳票文書に対しても高精度かつ複雑なモデルを作成することなく、認識することができる。
また、完全グラフ化部１２５ａが、論理構造テンプレートの完全グラフ化を行うことにより、マッチングを行う問題を、グラフからクリークを抽出する問題に変換し、グラフ生成部１２５ｂが生成したグラフからクリーク抽出部１２５ｃがクリークを抽出し、マッチング結果算出部１２５ｄが、抽出したクリークマッチング結果を算出するようにしたので、レイアウト認識や、文字認識の失敗に影響されずに帳票文書の論理構造を認識することができる。
【００９７】
なお、本実施の形態では、テンプレート作成を論理構造認識処理装置１００内で行ったが、本発明はこれに限らず、別の装置で予め作成した論理構造テンプレートを読み込むようにしてもよい。
【００９８】
以上、本発明の論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００９９】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、論理構造認識処理装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）等が挙げられる。
【０１００】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０１】
論理構造認識処理プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１０２】
（付記１）  種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理プログラムにおいて、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段、
として機能させることを特徴とする論理構造認識処理プログラム。
【０１０３】
（付記２）  入力される前記文書レイアウトは、帳票のレイアウトであることを特徴とする付記１記載の論理構造認識処理プログラム。
（付記３）  前記出力手段は、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された最上位のテンプレート毎に、該テンプレートに含まれる前記ノード単位で前記各文字列との一致を判断することを特徴とする付記１記載の論理構造認識処理プログラム。
【０１０４】
（付記４）  前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする付記１記載の論理構造認識処理プログラム。
【０１０５】
（付記５）  前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない２つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記２つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする付記１記載の論理構造認識処理プログラム。
【０１０６】
（付記６）  前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする請求項１記載の論理構造認識処理プログラム。
【０１０７】
（付記７）  種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理方法において、
テンプレート格納手段が、互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納し、
認識情報取得手段が、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を取得し、
出力手段が、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する、
ことを特徴とする論理構造認識処理方法。
【０１０８】
（付記８）  入力される前記文書レイアウトは、帳票のレイアウトであることを特徴とする付記７記載の論理構造認識処理方法。
（付記９）  前記出力手段は、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された最上位のテンプレート毎に、該テンプレートに含まれる前記ノード単位で前記各文字列との一致を判断することを特徴とする付記７記載の論理構造認識処理方法。
【０１０９】
（付記１０）  前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする付記７記載の論理構造認識処理方法。
【０１１０】
（付記１１）  前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない２つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記２つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする付記７記載の論理構造認識処理方法。
【０１１１】
（付記１２）  前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする付記７記載の論理構造認識処理方法。
【０１１２】
（付記１３）  種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理装置において、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段と、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段と、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段と、
を有することを特徴とする論理構造認識処理装置。
【０１１３】
（付記１４）  入力される前記文書レイアウトは、帳票のレイアウトであることを特徴とする付記１３記載の論理構造認識処理装置。
（付記１５）  前記出力手段は、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された最上位のテンプレート毎に、該テンプレートに含まれる前記ノード単位で前記各文字列との一致を判断することを特徴とする付記１３記載の論理構造認識処理装置。
【０１１４】
（付記１６）  前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする付記１３記載の論理構造認識処理装置。
【０１１５】
（付記１７）  前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない２つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記２つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする付記１３記載の論理構造認識処理装置。
【０１１６】
（付記１８）  前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする請求項１３記載の論理構造認識処理装置。
【図面の簡単な説明】
【０１１７】
【図１】本発明の概要を示す図である。
【図２】論理構造認識処理装置のハードウェア構成例を示す図である。
【図３】論理構造認識処理装置の機能を示すブロック図である。
【図４】階層化を説明する図である。
【図５】論理構造テンプレートの一例を示す図である。
【図６】可能テンプレートリストを示す図である。
【図７】格納された論理構造テンプレートのデータ構造を示す図である。
【図８】階層関係を示す図である。
【図９】平行関係を示す図である。
【図１０】単語関係を示す図である。
【図１１】処理部の機能を示すブロック図である。
【図１２】一文字領域仮説生成部の機能を示す図である。
【図１３】文字認識部により作成される文書レイアウト階層のデータ構造を模式的に示す図である。
【図１４】論理構造認識処理を示すフローチャートである。
【図１５】論理構造認識処理部の機能を示すブロック図である。
【図１６】完全グラフ化を説明する図である。
【図１７】完全グラフ化を行った論理構造テンプレートを示す図である。
【図１８】リストアップ処理を示すフローチャートである。
【図１９】リストアップ処理の具体例を説明する図である。
【図２０】リストアップ処理の具体例を説明する図である。
【図２１】生成したグラフを示す図である。
【図２２】抽出したクリークを示す図である。
【符号の説明】
【０１１８】
１  コンピュータ
２  テンプレート格納手段
３  認識情報取得手段
４  出力手段
１００  論理構造認識処理装置
１１０  テンプレート作成部
１１１  論理構造テンプレート入力受付部
１１２  論理構造テンプレート格納部
１２０  処理部
１２１  レイアウト認識部
１２２  一文字領域仮説生成部
１２３  文字認識部
１２４  文字データ抽出部
１２５  論理構造認識処理部
１２５ａ  完全グラフ化部
１２５ｂ  グラフ生成部
１２５ｃ  クリーク抽出部
１２５ｄ  マッチング結果算出部
α、β  実矩形領域
ａ１、ａ２、ａ３、ａ４、Ａ１、Ａ２、Ｂ、Ｃ１、Ｃ２、Ｄ、Ｐ、Ｑ、Ｒ  実領域
ＣＬ１  クリーク
ｇ１  グラフ
Ｔｅｔ２  テンプレートテーブル
Ｔ１、Ｔ２、Ｔ３  テンプレート
Ｔｅ１、Ｔｅ２、Ｔｅ３  論理構造テンプレート
Ｔｅ２１、Ｔｅ２２、Ｔｅ２３  可能テンプレートリスト
【図１】
2008191833.tif 000003
【図２】
2008191833.tif 000004
【図３】
2008191833.tif 000005
【図４】
2008191833.tif 000006
【図５】
2008191833.tif 000007
【図６】
2008191833.tif 000008
【図７】
2008191833.tif 000009
【図８】
2008191833.tif 000010
【図９】
2008191833.tif 000011
【図１０】
2008191833.tif 000012
【図１１】
2008191833.tif 000013
【図１２】
2008191833.tif 000014
【図１３】
2008191833.tif 000015
【図１４】
2008191833.tif 000016
【図１５】
2008191833.tif 000017
【図１６】
2008191833.tif 000018
【図１７】
2008191833.tif 000019
【図１８】
2008191833.tif 000020
【図１９】
2008191833.tif 000021
【図２０】
2008191833.tif 000022
【図２１】
2008191833.tif 000023
【図２２】
2008191833.tif 000024