説明

論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置

【課題】複雑なレイアウトを持つ文書の論理構造を高精度に認識する。
【解決手段】認識情報取得手段3により、外部から入力される文書レイアウトのレイアウト構造が認識され、そのレイアウト構造および文字情報が得られる。また、出力手段4により、得られた文字情報の各文字列に対し、テンプレート格納手段2に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致が、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断されて文字情報との整合性を備える前記テンプレートが検出され、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かが判断され、位置関係を満たすテンプレートが、入力された文書レイアウトのテンプレートとして出力され、そのマッチング結果を文書レイアウトに対する論理構造認識結果として出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置に関し、特に、論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置に関する。
【背景技術】
【0002】
近年、帳票の電子化の流れが加速化し、帳票の効率的な電子化が求められてきている。そのため、帳票画像の論理構造を認識することによって帳票からキーワードやデータを自動で抽出することが中心的な課題となっている。
【0003】
帳票画像の論理構造を認識することによって帳票からキーワードやデータを自動で抽出する方法として、例えば、見出しの文字列候補とそのデータの正規表現の対からなるリストの論理定義体を用意しておき、帳票画像の文字認識結果等から得られる文字情報を論理定義体と照らし合わせ、キーワードを抽出する方法が知られている(例えば、特許文献1参照)。
【0004】
また、論理構造の階層構造とレイアウト上の近接性の関係を利用した確率伝搬法によって、見出しとデータを確定させる方法が知られている(例えば、特許文献2参照)。この手法によって、深い階層を持つ表からなる帳票でも論理構造を認識できる。
【0005】
またこのほかにも、帳票文書ではないが、一般文書に対していくつかの手法が提案されている。例えば、文書画像分割手段によって得られる文字ブロック、文字行、グラフィックス等の属性を持つ領域を、文書要素をノード、配置関係をリンクとするグラフ構造のモデルとマッチングさせ、対象文書画像の構造がどの構造モデルにマッチングするかを求め、各領域に論理構造のラベルを付与する方法が知られている(例えば、特許文献3参照)。
【0006】
また、認識結果を概念辞書とスキーマ情報とに照らし合わせ、項目かデータかを判別し、項目とデータとを対応づける方法が知られている(例えば特許文献4参照)。
【特許文献1】特願2006−300325号公報
【特許文献2】特願2006−209065号公報
【特許文献3】特開平5−159101号公報
【特許文献4】特開2006−134106号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、従来の技術には以下のような問題がある。例えば、特許文献1では、階層的な見出しに対応していないこと、また、見出しとデータの関係が単純な場合にしか対応していないこと等の問題がある。
【0008】
また、特許文献2では、人間が見て明らかに対応しないと考える見出しとデータを対応づける誤りをすることや、パラメータの設定が難しいという問題がある。
また、特許文献3では、マッチングアルゴリズムは深さ優先探索アルゴリズムで、モデルを表現しているグラフ構造におけるノードの対応をリンクにそって順に仮定していくため、レイアウト要素と構造モデルの対応がレイアウト要素から構造モデルへ全射でなければならないという条件があり、多様なレイアウトの文書を対象とするのが難しく、論理構造を認識する前のレイアウトや文字の認識失敗に大きく影響されるという問題がある。
【0009】
さらに、特許文献4では、階層構造を持つ表構造のように項目とデータが複雑な対応関係にあるとき、どのように対応を認識するかについては明らかにされていない。
本発明はこのような点に鑑みてなされたものであり、複雑なレイアウトを持つ文書の論理構造を高精度に認識する論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を提供することを目的とする。
【0010】
また、本発明の他の目的としては、多様なレイアウトの文書に対しても高精度かつ複雑なモデルを作ることなく認識できる論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を提供することを目的とする。
【0011】
さらに、本発明の他の目的としては、レイアウト認識や文字認識の失敗に影響されずに文書の論理構造を認識する論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明では上記問題を解決するために、図1に示すような処理をコンピュータ1に実行させるための論理構造認識処理プログラムが提供される。
本発明に係る論理構造認識処理プログラムは、種々の文書レイアウト入力に対し、整合性の高いテンプレートとそのマッチング結果である文書レイアウトに対する論理構造認識結果を出力するプログラムである。
【0013】
この論理構造認識処理プログラムを実行するコンピュータ1は以下の機能を有する。
テンプレート格納手段2は、互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートを複数格納する。このテンプレートの各ノードは、それぞれ下位テンプレートを構成しており、下位テンプレートには、下位テンプレートを構成するノード間の位置関係が定義づけられている。
【0014】
認識情報取得手段3は、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る。
出力手段4は、得られた文字情報の各文字列に対し、テンプレート格納手段2に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致を、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断して文字情報との整合性を備えるテンプレートを検出し、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たすテンプレートを、入力された文書レイアウトのテンプレートとして出力する。
【0015】
このような論理構造認識処理プログラムによれば、認識情報取得手段3により、外部から入力される文書レイアウトのレイアウト構造が認識され、そのレイアウト構造および文字情報が得られる。また、出力手段4により、得られた文字情報の各文字列に対し、テンプレート格納手段2に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致が、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断されて文字情報との整合性を備えるテンプレートが検出され、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かが判断され、位置関係を満たすテンプレートが、入力された文書レイアウトのテンプレートとして出力され、そのマッチング結果である文書レイアウトに対する論理構造認識結果として出力する。
【発明の効果】
【0016】
本発明によれば、下位のノードの一致性を判断して再帰的にテンプレートの整合性を検証するようにしたので、複雑なレイアウトを持つ文書の論理構造を高精度に認識することができる。
【0017】
また、テンプレートを追加登録することで、外部知識を容易に取り込むことが可能である。これにより、見積書・納品書等、様々な文書レイアウト入力に対して、それぞれパラメータチューニングをする等の必要がなく、統一の手法で高精度な論理構造認識が可能になる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
【0019】
論理構造認識処理プログラムは、コンピュータ1をテンプレート格納手段2、認識情報取得手段3および出力手段4として機能させる。
テンプレート格納手段2には、複数のテンプレートが格納されている。
【0020】
これらのテンプレートは、それぞれ見出しまたはデータで構成されたノードを少なくとも1つ有するテンプレートである。例えばテンプレートT1は、見出し(例えば「お名前」、「住所」等)を構成する3つのノードとデータを構成する2つのノードとを有している。
【0021】
テンプレートは、ノード間の位置関係が定義づけられている。
また、各ノードは、それぞれが1つのテンプレート(下位のテンプレート)を構成しており、下位のテンプレートには、下位のテンプレートを構成するノード間の位置関係が定義づけられている。
【0022】
例えばテンプレートT1のノードN1は、3つのノードを有するテンプレートT2を構成している。そして、テンプレートT2のノードN2は、テンプレートT3を構成している。
【0023】
テンプレートを構成するノードの構成単位は、下位に行くほど小さくなり、例えば(全体→トピック→文字列→文字)となる。ここでトピックとは、文字列の集合であり、意味的にあるまとまりをなすものである。
【0024】
管理者は、ノードが文字で構成されるまでこのようなテンプレートの作成を繰り返し行い、作成した各テンプレートをテンプレート格納手段に格納する。
認識情報取得手段3は、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る。
【0025】
出力手段4は、得られた文字情報の各文字列に対し、テンプレート格納手段2に格納されたテンプレート毎に、テンプレート(対象テンプレート)に含まれるノード単位で文字列との一致を、そのノードによって構成されるテンプレートの整合性を再帰的に検証して判断し、対象テンプレート全体として文字情報との整合性を備えるテンプレートを検出する。
【0026】
また、出力手段4は、検出されたテンプレートのノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たすテンプレートを、入力された文書レイアウトのテンプレートとして出力する。
【0027】
このような論理構造認識処理プログラムによれば、認識情報取得手段3により、文書レイアウトの論理構造が認識され、そのレイアウト構造および文字情報が得られる。そして、出力手段4により、得られた文字情報の各文字列に対し、テンプレート格納手段2に格納されたテンプレート毎に、テンプレートに含まれるノード単位で各文字列との一致が、そのノードによって構成される下位テンプレートの整合性を再帰的に検証することにより判断されて文字情報との整合性を備えるテンプレートが検出され、検出されたテンプレートの各ノード間の位置関係が、得られたレイアウト構造を満たすか否かが判断され、位置関係を満たすテンプレートが、入力された文書レイアウトのテンプレートとして出力され、そのマッチング結果である文書レイアウトに対する論理構造認識結果として出力する。
【0028】
以下、本発明の実施の形態を説明する。
図2は、論理構造認識処理装置のハードウェア構成例を示す図である。
論理構造認識処理装置100は、入力される文書レイアウトに対し、予め用意された複数の論理構造テンプレート(テンプレート)を当てはめる論理構造認識処理を行うことによって、文書レイアウトに対する整合性の高いテンプレートを出力する装置である。
【0029】
この論理構造認識処理装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
【0030】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。
【0031】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0032】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
【0033】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の論理構造認識処理装置100において論理構造認識処理を行うために、論理構造認識処理装置100内には、以下のような機能が設けられる。
【0034】
図3は、論理構造認識処理装置の機能を示すブロック図である。
論理構造認識処理装置100は、テンプレート作成部110と、処理部120とを有している。
【0035】
テンプレート作成部110は、ユーザの入力により、処理部120が論理構造認識処理を行う際に用いる論理構造テンプレートを作成する。
テンプレート作成部110は、論理構造テンプレート入力受付部111と、論理構造テンプレート格納部112とを有している。
【0036】
論理構造テンプレート入力受付部111は、モニタ11に論理構造テンプレートを作成するための入力受付画面を表示する。論理構造テンプレート入力受付部111はGUI(Graphical User Interface)機能を備えており、ユーザは、入力受付画面を見ながらキーボード12やマウス13を用いて、論理構造テンプレートを作成する。
【0037】
このようにして作成された論理構造テンプレートは、文書のレイアウトを全体−トピック−文字列−文字に階層化したテンプレートであり、後述する自動レイアウト認識や、自動文字認識等によって得られるレイアウト構造と共通のレイアウトを持つよう意識して作成されたものである。例えば、見積書であれば、「日付情報」、「依頼番号」等が含まれるというように、同じ種類の帳票であれば、レイアウトは異なっていても含まれる情報項目等、共通する箇所が多くある。これらをまとめたものが論理構造テンプレートである。例えば帳票の論理構造テンプレートは、例えば文字列、データからなる組と、それらの間に成り立つ関係が存在する。文字列は、例えば“お名前”や“ご本人自署”等、テンプレートを構成する情報であり、データは、例えば文字列に対応して入力された情報である。なお、文字列が固定であるのと異なり、データについては限定できないが、データを表現する形式とデータの文字種は、定義することができる。例えば日付のデータは、「*年*月*日」と表現することができる(*は、任意の数字)。
【0038】
図4は、階層化を説明する図である。
図4に示す申込書200において、例えば名前登録部201のトピックとして、「お名前」、「ローマ字」等の文字列の集合を考えることができる。また、「お名前」、「ローマ字」それぞれについて、文字単位での集合を考えることができる。ここで、「トピック」とは、文字列の集合であり、意味的にあるまとまりをなすものであり、「文字列」とは、トピックを構成するものであり、「文字」とは文字列を構成するものである。
【0039】
論理構造テンプレートは、ノード(節点・頂点)間の関係を示している。
図5は、論理構造テンプレートの一例を示す図である。なお、図5では、説明を分かり易くするために、論理構造テンプレートを、文書レイアウト階層と対比して示している。
【0040】
論理構造テンプレートは、ノードの集合と、ノードを接続するパス(枝、辺)の集合で構成される「繋がり方」に着目して抽象化された「点とそれを結ぶ線」の概念である。
図5には、「全体」の論理構造テンプレートTe1と、「トピック」の論理構造テンプレートTe2と、「文字列」の論理構造テンプレートTe3とが図示されている。
【0041】
ユーザは、例えば論理構造テンプレートTe1を作成する。そして、論理構造テンプレートTe1の「氏名」ノードについて論理構造テンプレートTe2を作成する(図示していないが、「住所」ノード、「アンケート」ノードについても論理構造テンプレートを作成する)。そして、論理構造テンプレートTe2の「名前」ノードについて論理構造テンプレートTe3を作成する。
【0042】
また、作成の際には、関連づけたいノードを指定し、これらをパスで接続した後に、ノード間の関係を示す添え字を付す。このようにすることで、ノードは、その論理構造テンプレートが属する階層の下の階層の論理構造テンプレートのいずれかに同一視される。よって、あらゆる階層のノードは、最下層のノードである文字の集合で表現することができる。
【0043】
また、ユーザは、文字列のノードに、同一視される可能性のある(同一または類似の)論理構造テンプレートをリストとして保持させておく。このリストを「可能テンプレートリスト」という。
【0044】
図6は、可能テンプレートリストを示す図である。
図6に示す「トピック」の論理構造テンプレートTe2には、「名前」ノードに、それぞれ「名前」ノード、「お名前」ノード、「氏名」ノード、「ご氏名」ノードを備える可能テンプレートリストTe21を保持させておく。「ローマ字」ノードに、「ローマ字」ノードを備える可能テンプレートリストTe22を保持させておく。「自署」ノードに、それぞれ「自署」ノード、「本人自署」ノード、「ご本人自署」ノードを備える可能テンプレートリストTe23を保持させておく。
【0045】
論理構造テンプレート入力受付部111は、このようにして作成した「全体」の論理構造テンプレートと、「トピック」の論理構造テンプレートと、「文字列」の論理構造テンプレートとをそれぞれ論理構造テンプレート格納部112に格納する。
【0046】
図7は、格納された論理構造テンプレートのデータ構造を示す図である。
図7に示すように、「全体」の論理構造テンプレートTe1は、「トピックの個数」、「各トピックのデータ」、「トピック間の関係」の情報を有している。「トピック」の論理構造テンプレートTe2は、「文字列の個数」、「各文字列のデータ」、「文字列間の関係」の情報を有している。「文字列」の論理構造テンプレートは、「文字の個数」、「各文字のデータ」、および「文字間の関係」の情報を有している。「文字」の論理構造テンプレートは、コード(文字コード)を有している。
【0047】
次に、ノード間の関係について詳しく説明する。
以下、論理構造テンプレート、または、ノードを実際のレイアウト上で実現したときの領域のことを、「実領域」と言う。ノードとノードとの関係は、ノードの実領域間の関係を表す。ノードに対する実矩形領域を、ノードを構成する文字集合がすべて、かつ、それらのみが一つのセル(cell)に属しているときはそのセルの領域とし、それ以外は、ノードを構成する文字集合の外接矩形と定義する。ノード間の関係は、ノードに対する実矩形領域間に対する、階層関係(h)、平行関係(p)、単語関係(w)、独立関係(d)の4つの関係で構成される。
【0048】
<階層関係(h)>
図8は、階層関係を示す図である。なお、図8中、紙面上方向を「上」、紙面下方向を「下」、紙面左方向を「左」、紙面右方向を「右」、紙面の上下方向をY方向、紙面の左右方向をX方向という(図9および図10も同様)。
【0049】
ノードaに対する実矩形領域αがノードbに対する実矩形領域βに対し、
実矩形領域αと実矩形領域βとがともにセル領域のときは
・左にあり、かつ、Y方向へ射影したときに真に含む
・上にあり、かつ、X方向へ射影したときに真に含む
それ以外のときは、
・左にあり、かつ、Y方向へ射影したときに重複部分がある
・上にあり、かつ、X方向へ射影したときに重複部分がある
のいずれかが成り立つとき、階層関係(h)が成り立つとする。
【0050】
<平行関係(p)>
図9は平行関係を示す図である。
ノードaに対する実矩形領域αがノードbに対する実矩形領域βに対し、
実矩形領域αと実矩形領域βとがともにセル領域のときは、
・左にあり、かつ、Y方向へ射影したときに一致する
・右にあり、かつ、Y方向へ射影したときに一致する
・上にあり、かつ、X方向へ射影したときに一致する
・下にあり、かつ、X方向へ射影したときに一致する
それ以外のときは、
・左にあり、かつ、Y方向へ射影したときに重複部分がある
・右にあり、かつ、Y方向へ射影したときに重複部分がある
・上にあり、かつ、X方向へ射影したときに重複部分がある
・下にあり、かつ、X方向へ射影したときに重複部分がある
のいずれかが成り立つとき、平行関係(p)が成り立つとする。
【0051】
<単語関係(w)>
図10は、単語関係を示す図である。
ノードaに対する実矩形領域αがノードbに対する実矩形領域βに対し、
・左にあり、かつ、中心線がほぼ一致する
・右にあり、かつ、中心線がほぼ一致する
・上にあり、かつ、中心線がほぼ一致する
・下にあり、かつ、中心線がほぼ一致する
のいずれかが成り立つとき、単語関係(w)が成り立つとする。
【0052】
<独立関係(d)>
ノードaに対する実矩形領域αがノードbに対する実矩形領域βに対し、重複しない関係が成り立つとき、独立関係(d)が成り立つとする。
【0053】
例えば、図5に示す「全体」の論理構造テンプレートTe1では、「タイトル」ノード、「氏名」ノード、「住所」ノード、および「アンケート」ノードがあり、「タイトル」ノードと「氏名」ノードおよび「住所」ノードとの間は階層関係(h)によって結ばれて(関連づけられて)いる。また、論理構造テンプレートTe2では、「名前」ノード、「自署」ノード、「ローマ字」ノード、「データ#1」ノード、「データ#2」ノードがあり、それらの間は階層関係(h)または平行関係(p)によって結ばれている。
【0054】
再び図3に戻って説明する。
処理部120は、文書レイアウト入力に対し、それらの構造を満たす箇所を作成された論理構造テンプレートを用いて検索し、得られる検索結果の整合性を取ることで、全体の論理構造を認識する。以下、文書レイアウトとして帳票を例にとって説明する。
【0055】
図11は、処理部の機能を示すブロック図である。
処理部120は、レイアウト認識部121と、一文字領域仮説生成部122と、文字認識部123と、文字データ抽出部124と、論理構造認識処理部125とを有している。
【0056】
レイアウト認識部121は、紙帳票をスキャナでスキャンする等して得られた帳票画像のレイアウトを認識し、文字画像を含む読み取り領域を抽出する。
図12は、一文字領域仮説生成部の機能を示す図である。
【0057】
一文字領域仮説生成部122は、レイアウト認識と文字認識の誤りに対応するため、文字を構成する可能性のある連結成分の組合せを、重複を許しながら多重に生成する。詳しくは、帳票画像の2値画像をラベリングした後、各連結成分について、近傍の連結成分との組合せを一文字領域と仮定した統合矩形を生成する。具体的には、連結成分に対して、近傍の連結成分と統合したときにあるサイズの閾値の範囲以内に収まるように、まず垂直方向から統合し、次に水平方向に統合していく。サイズの閾値は段階的に複数個設定し、閾値ごとに統合矩形を生成する。これらの統合矩形の領域は互いに重複することがある。例えば、「A株式会社」における「株」の領域は、辺の「木」の領域と旁の「朱」の領域と重複している。
【0058】
処理部120は、レイアウト認識部121の機能と、一文字領域仮説生成部122の機能とを状況に応じて使い分けることにより、最適な文字認識結果(文字データ)を得ることができる。
【0059】
文字認識部123は、レイアウト認識部121が抽出した読み取り領域に対しては、認識用辞書等を用いて文字認識を行い、文字認識結果を出力する。また、一文字領域仮説生成部122が生成した統合矩形に対しては、統合矩形を一文字認識することにより、互いに重なる文字認識結果を出力する。例えば「株」については、「株」、「木」、「朱」の3つの文字認識結果を出力する。
【0060】
図13は、文字認識部により作成される文書レイアウト階層のデータ構造を模式的に示す図である。
全体から、帳票の「表の個数」および「各表のデータ」を取得する。各表のデータは、それぞれ「座標」、「セルの個数」および「各セルのデータ」を有している。各セルのデータは、それぞれ「座標」、「テキストブロックの個数」および「各テキストブロックのデータ」を有している。各テキストブロックのデータは、それぞれ「座標」、「文字の個数」および「各文字のデータ」(文字データ)を有している。各文字データは、それぞれ「座標」および「コード」を有している。
【0061】
再び図11に戻って説明する。
文字データ抽出部124は、文書作成用エディタによって作成された電子文書に対し、ファイルからコードおよび座標を有する文字データを抽出する。
【0062】
論理構造認識処理部125は、文字認識部123または文字データ抽出部124から得られる文字データに基づいて、論理構造認識処理を行い、例えばマッチングしたところが最も多い論理構造テンプレートを出力する。
【0063】
<論理構造認識処理>
論理構造認識処理は、得られた文字データを、「全体」の論理構造テンプレートと順次マッチングさせ、最もマッチング率の高い論理構造テンプレートとのマッチング結果を論理構造認識結果とする処理である。文字データに対し、論理構造テンプレートをマッチングさせると、論理構造テンプレートに対する実領域とマッチングの度合を表すマッチング率が出力される。
【0064】
図14は、論理構造認識処理を示すフローチャートである。ここで、N:「全体」の論理テンプレートの数、W_LSTi(i=0,・・・,N−1):「全体」の論理テンプレート、Pti(0≦Pti≦1):i番目の項目文字列のマッチング度、Pt:最大のマッチング度、とする。
【0065】
まず、パラメータi=0、j=−1、Pt=0とする(初期化)(ステップS1)。
次に、iがNより小さいか否かを判断する(ステップS2)。
iがN以上の場合(ステップS2のNo)、論理構造認識処理を終了する。
【0066】
iがNより小さい場合(ステップS2のYes)、W_LSTiとマッチングさせて、Ptiを得る(マッチング処理)(ステップS3)。マッチング処理については後述する。
【0067】
次に、マッチング処理によって得られたPtiがPt以上か否かを判断する(ステップS4)。
PtiがPtより小さい場合(ステップS4のNo)、ステップS6に移行する。
【0068】
一方、PtiがPt以上の場合(ステップS4のYes)、Pt=Pti、j=iとする(ステップS5)。
次に、iをインクリメントし(ステップS6)、ステップS2に移行する。
【0069】
以上で論理構造認識処理を終了する。論理構造認識処理の終了時点でのPtおよびW_LSTiを取り出すことにより、マッチング結果を得ることができる。
次に、マッチング処理について詳しく説明する。
【0070】
図15は、論理構造認識処理部の機能を示すブロック図である。
論理構造認識処理部125は、完全グラフ化部125aと、グラフ生成部125bと、クリーク抽出部125cと、マッチング結果算出部125dとを有している。
【0071】
<完全グラフ化部>
完全グラフ化部125aは、論理構造テンプレートの各要素のうち、関係が明らかに定められていない関係について、自分以外のすべての要素との関係を明らかに定められた関係を用いて論理構造テンプレートを明確にする。論理構造テンプレートを明確にすることを完全グラフ化という。
【0072】
図16は、完全グラフ化を説明する図である。
図中、「名前」ノードと「データ#1」ノードおよび「データ#2」ノードとの関係が不明である。また、「自署」ノードと「データ#2」ノードとの関係が不明である。また、「ローマ字」ノードと「データ#1」ノードとの関係が不明である。よってこれらの関係を明確にする。
【0073】
ここで、例えば、実領域P、Q、Rが存在する場合において、実領域PとQとが階層関係で、実領域QとRとが階層関係のとき(間接的に接続されている実領域の各関係がいずれも階層関係のとき)は実領域PとRとの関係を階層関係にする。図16では、「名前」ノードと「自署」ノードとが階層関係(h)で、「自署」ノードと「データ#1」ノードとが階層関係(h)であるため、「名前」ノードと「データ#1」ノードとを階層関係(h)にする。また、「名前」ノードと「データ#2」ノードとについても階層関係(h)にする。他方、間接的に接続されている実矩形領域の各関係のうちいずれか1つでも階層関係以外の場合は、独立関係(d)にする。論理構造テンプレートTe2では、「自署」ノードと「データ#1」ノードとが階層関係(h)であるが、「データ#1」ノードと「データ#2」ノードとが平行関係(p)であるため、「自署」ノードと「データ#2」ノードとの関係を独立関係(d)にする。また、間接的に複数の実矩形領域を介して接続されている場合は、そのうち1つの経路が間接的に接続されている実矩形領域の各関係がそれぞれ階層関係であっても、いずれか1つでも階層関係以外の経路が存在する場合は、独立関係(d)にする。図16では、「ローマ字」ノードと「データ#1」ノードとの関係についても独立関係(d)にする。
【0074】
なお、実際に完全グラフ化部125aが論理構造テンプレートTe2における完全グラフ化の処理を行う場合には、図16(b)に示す、論理構造テンプレートTe2を表形式で表現したテンプレートテーブルTet2等を用いる。テンプレートテーブルTet2では上下方向と左右方向にノードを配置し、交点に当たる欄にパスの階層関係を設定している。空欄の階層関係を全て埋めることにより完全グラフ化を行うことができる。
【0075】
図17は、完全グラフ化を行った論理構造テンプレートを示す図である。
図17(a)に示すように、パスが接続された論理構造テンプレートTe2aが得られる。また、図17(b)に示すように、テンプレートテーブルTet2の空欄の階層関係が全て埋められ、完全グラフ化が行われたことが分かる。
【0076】
<グラフ生成部>
グラフ生成部125bは、完全グラフ化が行われた論理構造テンプレートを構成する各ノードに対し、入力される文字データにおける実領域を検索してリストアップする(リストアップ処理)。そして、リストアップされた実領域に対し、論理構造テンプレート上で定められた関係を満たすかどうかを判定し、実領域間の整合性を表すグラフを生成する。
【0077】
<リストアップ処理>
リストアップ処理では、各ノードについて、可能テンプレートリストに属する下位の論理構造テンプレートに対して再帰的に論理構造テンプレートのマッチングを行い、複数の実領域を候補として抽出する。
【0078】
図18は、リストアップ処理を示すフローチャートである。なお、図18において、N:マッチングを取ろうとしている論理構造テンプレートの中のノードの個数、NTi:ノードに付された可能テンプレートリストに格納された可能テンプレートの個数、LSTk:k番目の可能テンプレート、NAk:マッチングにより出てきた個数、とする。
【0079】
まず、パラメータとして使用するiおよびjをそれぞれ初期化(=0)する(ステップS21)。
次に、iがNより小さいか否かを判断する(ステップS22)。
【0080】
iがN以上の場合(ステップS22のNo)、抽出処理を終了する。
一方、iがNより小さい場合(ステップS22のYes)、可能テンプレートの個数に関するパラメータとして使用するkを初期化する(ステップS23)。
【0081】
次に、kがNTiより小さいか否かを判断する(ステップS24)。
kがNTi以上の場合(ステップS24のNo)、iをインクリメントする(ステップS25)。その後、ステップS22に移行し、それ以降の処理を繰り返す。
【0082】
一方、kがNtiより小さい場合(ステップS24のYes)、LSTkとマッチングする(ステップS26)。
次に、パラメータとして使用するmを初期化(=0)する(ステップS27)。
【0083】
次に、mがNAkより小さいか否かを判断する(ステップS28)。ステップS27にて初期化を行っているため、NAkが0でなければ(1つ以上マッチングしていれば)、mがNAkより小さいことになる。
【0084】
mがNAk以上の場合(ステップS28のNo)、kをインクリメントする(ステップS29)。その後、ステップS24に移行し、それ以降の処理を繰り返す。
一方、mがNAkより小さい場合(ステップS28のYes)、ノードjを生成する(ステップS30)。
【0085】
次に、jをインクリメントする(ステップS31)。
次に、mをインクリメントする(ステップS32)。その後、ステップS28に移行し、それ以降の処理を繰り返す。
【0086】
次に、リストアップ処理の具体例について説明する。
図19および図20は、リストアップ処理の具体例を説明する図である。ここで、図19(a)および図20(a)は、それぞれ文書レイアウトを示す図であり、図19(b)および図20(b)は、それぞれ論理構造テンプレートにリストアップ処理を施す過程を示す図である。
【0087】
図19(b)に示すように、論理構造テンプレートTe2は5個のノードからなるため、N=5となる。5個のノードに対して順番に処理が施される。ここでは、「名前」ノードの処理を例に取る。「名前」ノードは、「名前」ノード自身が備える可能テンプレートリスト(「トピック」の下階層に存在する可能テンプレートリスト)のいずれかに同一視される。前述したように、「名前」ノードの可能テンプレートリストには「名前」ノード、「お名前」ノード、「氏名」ノードおよび「ご氏名」ノードの4つが格納されている。よって、NTi=4となる。これら4つのノード(下位論理構造テンプレート)に対して、再帰的にマッチングを行う。「お名前」ノードを例にとると、「お名前」という論理構造テンプレートに対して、対応する領域が一つあり(NAk=1)、これに応じて、実領域a1を候補として生成する。また、「名前」に対しても実領域a2を一つ生成し、「氏名」に対して実領域a3を生成し、「ご氏名」に対しても「氏名」と同一の実領域a4を生成する。
【0088】
その後、実領域a2は実領域a1に包含されるので削除し、実領域a4は実領域a3と同一の領域であるが、実領域a3のマッチング率が1であり、実領域a4は0.67なので実領域a4を削除する。そして、図20(b)に示すように、実領域a1を改めて実領域A1と記し、実領域a3を実領域A2と記す。その後、グラフを生成する。
【0089】
図21は、生成したグラフを示す図である。
グラフ生成部125bは、リストアップされた実領域に対し、論理構造テンプレート上で定められた関係を満たすかどうかを判定する。この判定は、実領域間の各文字データに含まれる座標の関係と、論理構造テンプレートのノード間の関係とを対比することにより行う。そして、関係を満たすと判定されたときはそれらに対応するノード間にパスを引き、満たさないと判断したときは何もしない。このようにして、実領域間の整合性を表すグラフg1を生成する。
【0090】
<クリーク抽出部>
クリーク抽出部125cは、生成されたグラフg1からクリーク(任意の二頂点間に枝があるような頂点集合の中で最大のもの)を抽出することで、論理構造テンプレートを満たす実領域の集合を抽出する。
【0091】
図22は、抽出したクリークを示す図である。
クリーク抽出部125cは、斜線部に示す、グラフの極大完全部分グラフであるクリークCL1を抽出する。ここで、極大完全部分グラフとは、そのグラフをとったときに、自分以外のどの実領域に対しても線が引かれているグラフをいう。すなわち、クリークを構成する全ての実領域は、自分以外の実領域とパスで結ばれる。
【0092】
図21では、例えば実領域A1は、自分以外の全ての実領域B、C1、C2、Dについてパスが結ばれているため、実領域A1を、クリークを構成する実領域として選択する。クリークに対応する実領域の集合は論理構造テンプレートを部分的に(場合によってはすべて)満たす。
【0093】
<マッチング結果算出部>
マッチング結果算出部125dは、抽出されたクリークから(クリークは通常複数抽出される)、論理構造テンプレートを構成するノードの個数に対してある割合以上の個数を持つクリークを選択し、それらに対応するクリークとマッチング率(クリークのノードの個数/論理構造テンプレートを構成するノードの個数)をマッチング結果として算出する。図22に示すクリークCL1の場合、元々5つのノードのうち、「自署」ノード以外の4つのノードとの対応がとれたことになる。さらに、マッチング結果算出部125dは、対応のとれたノードについて、下の階層の文字階層におけるマッチングのマッチング率を計算する。例えば、帳票画像の文字データが、A1「お名前」、B「ご木人自署」、C1「ローマ字」、D「Taro Yamada」であったとき、クリークCL1と論理構造テンプレートTe2とを比較すると、Bのみ1文字(本→木)誤っており、A、C1、Dが100%、Bが80%(4文字/5文字)のマッチング率となる。その結果、図22に示すクリークCL1の論理構造テンプレートTe2に対するマッチング率は(1+0.8+1+0+1)/5=0.76となる。
【0094】
以上述べたように、本実施の形態の論理構造認識処理装置100によれば、見出しとデータに関する定性的なレイアウト構造を論理構造テンプレートとして複数論理構造テンプレート格納部112に格納しておき、入力される文書レイアウトに対し、処理部120が、論理構造認識処理を行うことで、処理結果を予測することができる。例えば、見出しが一つだけ全く離れた位置のものを抽出したり、ある見出しに対して全く異なる位置にあるデータを対応づけたりすることがない。
【0095】
また、論理構造テンプレートを追加登録することで、外部知識を容易に取り込むことが可能である。これにより、見積書・納品書等様々な帳票に対して、柔軟性の高い論理構造認識が可能となり、それぞれパラメータチューニングをする等の必要がなく、統一の手法で高精度な論理構造認識が可能になる。
【0096】
また、処理部120が、論理構造認識処理を行うため、多様なレイアウトの帳票文書に対しても高精度かつ複雑なモデルを作成することなく、認識することができる。
また、完全グラフ化部125aが、論理構造テンプレートの完全グラフ化を行うことにより、マッチングを行う問題を、グラフからクリークを抽出する問題に変換し、グラフ生成部125bが生成したグラフからクリーク抽出部125cがクリークを抽出し、マッチング結果算出部125dが、抽出したクリークマッチング結果を算出するようにしたので、レイアウト認識や、文字認識の失敗に影響されずに帳票文書の論理構造を認識することができる。
【0097】
なお、本実施の形態では、テンプレート作成を論理構造認識処理装置100内で行ったが、本発明はこれに限らず、別の装置で予め作成した論理構造テンプレートを読み込むようにしてもよい。
【0098】
以上、本発明の論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【0099】
また、本発明は、前述した実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、論理構造認識処理装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
【0100】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0101】
論理構造認識処理プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0102】
(付記1) 種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理プログラムにおいて、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段、
として機能させることを特徴とする論理構造認識処理プログラム。
【0103】
(付記2) 入力される前記文書レイアウトは、帳票のレイアウトであることを特徴とする付記1記載の論理構造認識処理プログラム。
(付記3) 前記出力手段は、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された最上位のテンプレート毎に、該テンプレートに含まれる前記ノード単位で前記各文字列との一致を判断することを特徴とする付記1記載の論理構造認識処理プログラム。
【0104】
(付記4) 前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする付記1記載の論理構造認識処理プログラム。
【0105】
(付記5) 前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない2つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記2つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする付記1記載の論理構造認識処理プログラム。
【0106】
(付記6) 前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする請求項1記載の論理構造認識処理プログラム。
【0107】
(付記7) 種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理方法において、
テンプレート格納手段が、互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納し、
認識情報取得手段が、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を取得し、
出力手段が、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する、
ことを特徴とする論理構造認識処理方法。
【0108】
(付記8) 入力される前記文書レイアウトは、帳票のレイアウトであることを特徴とする付記7記載の論理構造認識処理方法。
(付記9) 前記出力手段は、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された最上位のテンプレート毎に、該テンプレートに含まれる前記ノード単位で前記各文字列との一致を判断することを特徴とする付記7記載の論理構造認識処理方法。
【0109】
(付記10) 前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする付記7記載の論理構造認識処理方法。
【0110】
(付記11) 前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない2つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記2つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする付記7記載の論理構造認識処理方法。
【0111】
(付記12) 前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする付記7記載の論理構造認識処理方法。
【0112】
(付記13) 種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理装置において、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段と、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段と、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段と、
を有することを特徴とする論理構造認識処理装置。
【0113】
(付記14) 入力される前記文書レイアウトは、帳票のレイアウトであることを特徴とする付記13記載の論理構造認識処理装置。
(付記15) 前記出力手段は、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された最上位のテンプレート毎に、該テンプレートに含まれる前記ノード単位で前記各文字列との一致を判断することを特徴とする付記13記載の論理構造認識処理装置。
【0114】
(付記16) 前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする付記13記載の論理構造認識処理装置。
【0115】
(付記17) 前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない2つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記2つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする付記13記載の論理構造認識処理装置。
【0116】
(付記18) 前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする請求項13記載の論理構造認識処理装置。
【図面の簡単な説明】
【0117】
【図1】本発明の概要を示す図である。
【図2】論理構造認識処理装置のハードウェア構成例を示す図である。
【図3】論理構造認識処理装置の機能を示すブロック図である。
【図4】階層化を説明する図である。
【図5】論理構造テンプレートの一例を示す図である。
【図6】可能テンプレートリストを示す図である。
【図7】格納された論理構造テンプレートのデータ構造を示す図である。
【図8】階層関係を示す図である。
【図9】平行関係を示す図である。
【図10】単語関係を示す図である。
【図11】処理部の機能を示すブロック図である。
【図12】一文字領域仮説生成部の機能を示す図である。
【図13】文字認識部により作成される文書レイアウト階層のデータ構造を模式的に示す図である。
【図14】論理構造認識処理を示すフローチャートである。
【図15】論理構造認識処理部の機能を示すブロック図である。
【図16】完全グラフ化を説明する図である。
【図17】完全グラフ化を行った論理構造テンプレートを示す図である。
【図18】リストアップ処理を示すフローチャートである。
【図19】リストアップ処理の具体例を説明する図である。
【図20】リストアップ処理の具体例を説明する図である。
【図21】生成したグラフを示す図である。
【図22】抽出したクリークを示す図である。
【符号の説明】
【0118】
1 コンピュータ
2 テンプレート格納手段
3 認識情報取得手段
4 出力手段
100 論理構造認識処理装置
110 テンプレート作成部
111 論理構造テンプレート入力受付部
112 論理構造テンプレート格納部
120 処理部
121 レイアウト認識部
122 一文字領域仮説生成部
123 文字認識部
124 文字データ抽出部
125 論理構造認識処理部
125a 完全グラフ化部
125b グラフ生成部
125c クリーク抽出部
125d マッチング結果算出部
α、β 実矩形領域
a1、a2、a3、a4、A1、A2、B、C1、C2、D、P、Q、R 実領域
CL1 クリーク
g1 グラフ
Tet2 テンプレートテーブル
T1、T2、T3 テンプレート
Te1、Te2、Te3 論理構造テンプレート
Te21、Te22、Te23 可能テンプレートリスト

【特許請求の範囲】
【請求項1】
種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理プログラムにおいて、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段、
として機能させることを特徴とする論理構造認識処理プログラム。
【請求項2】
前記見出しで構成された前記各ノードは、それぞれ該各ノードと同一又は類似の関係を示す前記下位テンプレートが格納された可能テンプレートリストを備えており、
前記出力手段は、各ノードについて、前記可能テンプレートリストに格納された前記下位テンプレートに対し、再帰的に整合性を検証することを特徴とする請求項1記載の論理構造認識処理プログラム。
【請求項3】
前記出力手段は、
前記テンプレートにおいて互いの位置関係が直接定義づけられていない2つのノードが存在する場合、間接的に定義づけられた互いの位置関係を利用して前記2つのノードの直接的な位置関係を決定する決定手段と、
前記テンプレートにおける前記見出しまたは前記データを頼りに得られた前記文字情報の各文字列に一致する前記ノードを抽出し、抽出した前記ノードを互いにパスで結んだグラフを生成するグラフ生成手段と、
生成された前記グラフから、クリークを抽出するクリーク抽出手段と、
抽出された前記クリークが複数存在する場合、前記テンプレートにおける前記ノードの個数に対する前記クリークのノードの個数の割合が最も大きい組み合わせを前記文書レイアウトのテンプレートとして出力するマッチング結果算出手段と、
を有することを特徴とする請求項1記載の論理構造認識処理プログラム。
【請求項4】
前記認識情報取得手段は、入力される前記文書レイアウトから、文字を構成する可能性のあるパターンの組合せを、重複を許しながら多重に生成し、それぞれを文字認識して前記文字情報を得ることを特徴とする請求項1記載の論理構造認識処理プログラム。
【請求項5】
種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理方法において、
テンプレート格納手段が、互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納し、
認識情報取得手段が、外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を取得し、
出力手段が、得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する、
ことを特徴とする論理構造認識処理方法。
【請求項6】
種々の文書レイアウト入力に対し、整合性の高いテンプレートを出力する論理構造認識処理装置において、
互いの位置関係が定義づけられそれぞれ見出しまたはデータで構成された複数のノードを有するテンプレートであって、前記テンプレートの各ノードは、それぞれ下位テンプレートを構成しており、前記下位テンプレートには、前記下位テンプレートを構成するノード間の位置関係が定義づけられている前記テンプレートを複数格納するテンプレート格納手段と、
外部から入力される文書レイアウトのレイアウト構造を認識することによりそのレイアウト構造および文字情報を得る認識情報取得手段と、
得られた前記文字情報の各文字列に対し、前記テンプレート格納手段に格納された前記テンプレート毎に、前記テンプレートに含まれる前記ノード単位で前記各文字列との一致を、そのノードによって構成される前記下位テンプレートの整合性を再帰的に検証することにより判断して前記文字情報との整合性を備える前記テンプレートを検出し、検出された前記テンプレートの前記各ノード間の位置関係が、得られたレイアウト構造を満たすか否かを判断し、位置関係を満たす前記テンプレートを、入力された前記文書レイアウトのテンプレートとして出力する出力手段と、
を有することを特徴とする論理構造認識処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2008−191833(P2008−191833A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2007−24125(P2007−24125)
【出願日】平成19年2月2日(2007.2.2)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】