(57)【特許請求の範囲】
【請求項１】
コンピュータを、
上端の行方向の見出し項目と左端の列方向の見出し項目と前記行方向の見出し項目および前記列方向の見出し項目が交差するデータ項目となるマトリクス状の論理構造を有し前記各見出し項目およびデータ項目に文字列が記述されている帳票を読み込むことにより、前記帳票に記述されている文字列の中から、項目ごとに、項目位置に応じて単語候補を抽出する単語候補抽出手段、
前記単語候補抽出手段によって抽出された単語候補を前記見出し項目内に位置する見出し単語候補群と前記データ項目内に位置するデータ単語候補群に分け、前記行方向の見出し項目内の見出し単語候補の場合、当該見出し単語候補の列方向を含む右側の各データ項目内に位置するデータ単語候補の各々と組み合わせて行方向の一見出し・一データ組候補を生成するとともに、前記列方向の見出し項目内の見出し単語候補の場合、当該見出し単語候補の行方向を含む下側の各データ項目内に位置するデータ単語候補の各々と組み合わせて列方向の一見出し・一データ組候補を生成する一見出し・一データ組候補生成手段、
前記一見出し・一データ組候補生成手段によって生成された前記行方向の一見出し・一データ組候補と前記列方向の一見出し・一データ組候補を組み合わせることにより、前記行方向の見出し項目内の見出し単語候補と前記列方向の見出し項目内の見出し単語候補と前記行方向の一見出し・一データ組候補および前記列方向の一見出し・一データ組候補で重複したデータ項目内のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成手段、
前記多見出し・一データ組候補生成手段によって生成された多見出し・一データ組候補を構成する前記行方向の見出し項目内の見出し単語候補と前記列方向の見出し項目内の見出し単語候補と前記行方向および前記列方向の見出し項目が交差するデータ項目内のデータ単語候補が唯一である場合に、前記行方向および前記列方向の見出し項目内の見出し単語候補と前記交差するデータ項目内のデータ単語候補の組み合わせを確定組とし、当該データ単語候補を前記多見出し・一データ組候補から削除するとともに、前記多見出し・一データ組候補内の前記行方向の残余の見出し項目内の見出し単語候補と前記列方向の残余の見出し項目内の見出し単語候補と前記行方向および前記列方向の見出し項目が交差する残余のデータ項目内のデータ単語候補が唯一である場合に、前記行方向および前記列方向の残余の見出し項目内の見出し単語候補と前記交差する残余のデータ項目内のデータ単語候補の組み合わせを確定組とし、当該データ単語候補を前記多見出し・一データ組候補から削除する確定手段、
前記確定手段によって抽出された確定組を出力する出力手段、
として機能させることを特徴とする論理構造認識プログラム。
【請求項２】
前記コンピュータを、
前記確定組の中に、前記行方向または列方向のいずれか一方の方向の見出し項目内に見出し単語候補が複数あり、前記データ項目内に前記いずれか一方の方向の見出し項目内の複数の見出し単語候補と同数となる複数のデータ単語候補がある不定組が存在する場合、前記いずれか一方の方向の見出し項目内の複数の見出し単語候補から選ばれた見出し単語候補と前記同数となる複数のデータ単語候補から選ばれたデータ単語候補の組み合わせごとに、前記選ばれた見出し単語候補と前記選ばれたデータ単語候補との距離を求め、当該距離に基づいて、前記不定組の中から妥当な確定組を選択するデータ単語候補評価手段として機能させ、
前記出力手段は、
前記データ単語候補評価手段によって選択された妥当な確定組を出力することを特徴とする請求項１に記載の論理構造認識プログラム。
【請求項３】
コンピュータを、
第１の見出し項目と当該第１の見出し項目に並んで前記第１の見出し項目から所定方向に第２の見出し項目とデータ項目とが交互に１または複数存在する論理構造を有し前記各見出し項目およびデータ項目に文字列が記述されている帳票を読み込むことにより、前記帳票に記述されている文字列の中から、項目ごとに、項目位置に応じて単語候補を抽出する単語候補抽出手段、
前記単語候補抽出手段によって抽出された単語候補を前記第１の見出し項目内に位置する第１の見出し単語候補群と前記第２の見出し項目内に位置する第２の見出し単語候補群と前記データ項目内に位置するデータ単語候補群に分け、前記第１の見出し項目内の前記第１の見出し単語候補の場合、当該第１の見出し単語候補から前記所定方向の各データ項目内に位置するデータ単語候補の各々と組み合わせて第１の一見出し・一データ組候補を生成するとともに、前記第２の見出し項目内の前記第２の見出し単語候補の場合、当該第２の見出し単語候補から前記所定方向の各データ項目内に位置するデータ単語候補の各々と組み合わせて第２の一見出し・一データ組候補を生成する一見出し・一データ組候補生成手段、
前記一見出し・一データ組候補生成手段によって生成された前記第１の一見出し・一データ組候補と前記第２の一見出し・一データ組候補を組み合わせることにより、前記第１の見出し項目内の前記第１の見出し単語候補と前記第２の見出し項目内の前記第２の見出し単語候補と前記第１の一見出し・一データ組候補および前記第２の一見出し・一データ組候補で重複したデータ項目内のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成手段、
前記多見出し・一データ組候補生成手段によって生成された多見出し・一データ組候補を構成する前記第１の見出し単語候補と当該第１の見出し単語候補に隣接する前記第２の見出し単語候補と当該第２の見出し単語候補に隣接するデータ単語候補の組み合わせを確定組とし、当該確定組となった前記第２の見出し単語候補および前記データ単語候補を前記多見出し・一データ組候補から削除するとともに、前記多見出し・一データ組候補内の前記第１の見出し単語候補と残余の前記第２の見出し単語候補と当該残余の前記第２の見出し単語候補に隣接する残余の前記データ単語候補の組み合わせを確定組とし、当該確定組となった前記第２の見出し単語候補および前記データ単語候補を前記多見出し・一データ組候補から削除する確定手段、
前記確定手段によって抽出された確定組を出力する出力手段、
として機能させることを特徴とする論理構造認識プログラム。
【請求項４】
前記コンピュータを、
前記確定組を構成する前記第１の見出し単語候補と前記第２の見出し単語候補と前記データ単語候補の組み合わせが前記所定方向に並んでいるか否かを判断することにより、前記所定方向に並んでいる確定組を妥当な確定組として選択する見出し単語候補評価手段として機能させ、
前記出力手段は、
前記見出し単語候補評価手段によって選択された妥当な確定組を出力することを特徴ととする請求項３に記載の論理構造認識プログラム。
【請求項５】
前記見出し単語候補評価手段は、
前記第１および第２の見出し単語候補が同一単語となる複数の確定組が存在する場合、一方の確定組における前記第２の見出し単語候補および前記データ単語候補の外接矩形の面積と他方の確定組における前記第２の見出し単語候補および前記データ単語候補の外接矩形の面積を比較することにより、当該面積の小さい方の確定組を前記妥当な確定組として選択することを特徴とする請求項４に記載の論理構造認識プログラム。
【請求項６】
上端の行方向の見出し項目と左端の列方向の見出し項目と前記行方向の見出し項目および前記列方向の見出し項目が交差するデータ項目となるマトリクス状の論理構造を有し前記各見出し項目およびデータ項目に文字列が記述されている帳票を読み込むことにより、前記帳票に記述されている文字列の中から、項目ごとに、項目位置に応じて単語候補を抽出する単語候補抽出手段と、
前記単語候補抽出手段によって抽出された単語候補を前記見出し項目内に位置する見出し単語候補群と前記データ項目内に位置するデータ単語候補群に分け、前記行方向の見出し項目内の見出し単語候補の場合、当該見出し単語候補の列方向を含む右側の各データ項目内に位置するデータ単語候補の各々と組み合わせて行方向の一見出し・一データ組候補を生成するとともに、前記列方向の見出し項目内の見出し単語候補の場合、当該見出し単語候補の行方向を含む下側の各データ項目内に位置するデータ単語候補の各々と組み合わせて列方向の一見出し・一データ組候補を生成する一見出し・一データ組候補生成手段と、
前記一見出し・一データ組候補生成手段によって生成された前記行方向の一見出し・一データ組候補と前記列方向の一見出し・一データ組候補を組み合わせることにより、前記行方向の見出し項目内の見出し単語候補と前記列方向の見出し項目内の見出し単語候補と前記行方向の一見出し・一データ組候補および前記列方向の一見出し・一データ組候補で重複したデータ項目内のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成手段と、
前記多見出し・一データ組候補生成手段によって生成された多見出し・一データ組候補を構成する前記行方向の見出し項目内の見出し単語候補と前記列方向の見出し項目内の見出し単語候補と前記行方向および前記列方向の見出し項目が交差するデータ項目内のデータ単語候補が唯一である場合に、前記行方向および前記列方向の見出し項目内の見出し単語候補と前記交差するデータ項目内のデータ単語候補の組み合わせを確定組とし、当該データ単語候補を前記多見出し・一データ組候補から削除するとともに、前記多見出し・一データ組候補内の前記行方向の残余の見出し項目内の見出し単語候補と前記列方向の残余の見出し項目内の見出し単語候補と前記行方向および前記列方向の見出し項目が交差する残余のデータ項目内のデータ単語候補が唯一である場合に、前記行方向および前記列方向の残余の見出し項目内の見出し単語候補と前記交差する残余のデータ項目内のデータ単語候補の組み合わせを確定組とし、当該データ単語候補を前記多見出し・一データ組候補から削除する確定手段と、
前記確定手段によって抽出された確定組を出力する出力手段と、
を備えることを特徴とする論理構造認識装置。
【請求項７】
第１の見出し項目と当該第１の見出し項目に並んで前記第１の見出し項目から所定方向に第２の見出し項目とデータ項目とが交互に１または複数存在する論理構造を有し前記各見出し項目およびデータ項目に文字列が記述されている帳票を読み込むことにより、前記帳票に記述されている文字列の中から、項目ごとに、項目位置に応じて単語候補を抽出する単語候補抽出手段と、
前記単語候補抽出手段によって抽出された単語候補を前記第１の見出し項目内に位置する第１の見出し単語候補群と前記第２の見出し項目内に位置する第２の見出し単語候補群と前記データ項目内に位置するデータ単語候補群に分け、前記第１の見出し項目内の前記第１の見出し単語候補の場合、当該第１の見出し単語候補から前記所定方向の各データ項目内に位置するデータ単語候補の各々と組み合わせて第１の一見出し・一データ組候補を生成するとともに、前記第２の見出し項目内の前記第２の見出し単語候補の場合、当該第２の見出し単語候補から前記所定方向の各データ項目内に位置するデータ単語候補の各々と組み合わせて第２の一見出し・一データ組候補を生成する一見出し・一データ組候補生成手段と、
前記一見出し・一データ組候補生成手段によって生成された前記第１の一見出し・一データ組候補と前記第２の一見出し・一データ組候補を組み合わせることにより、前記第１の見出し項目内の前記第１の見出し単語候補と前記第２の見出し項目内の前記第２の見出し単語候補と前記第１の一見出し・一データ組候補および前記第２の一見出し・一データ組候補で重複したデータ項目内のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成手段と、
前記多見出し・一データ組候補生成手段によって生成された多見出し・一データ組候補を構成する前記第１の見出し単語候補と当該第１の見出し単語候補に隣接する前記第２の見出し単語候補と当該第２の見出し単語候補に隣接するデータ単語候補の組み合わせを確定組とし、当該確定組となった前記第２の見出し単語候補および前記データ単語候補を前記多見出し・一データ組候補から削除するとともに、前記多見出し・一データ組候補内の前記第１の見出し単語候補と残余の前記第２の見出し単語候補と当該残余の前記第２の見出し単語候補に隣接する残余の前記データ単語候補の組み合わせを確定組とし、当該確定組となった前記第２の見出し単語候補および前記データ単語候補を前記多見出し・一データ組候補から削除する確定手段と、
前記確定手段によって抽出された確定組を出力する出力手段と、
を備えることを特徴とする論理構造認識装置。
【請求項８】
上端の行方向の見出し項目と左端の列方向の見出し項目と前記行方向の見出し項目および前記列方向の見出し項目が交差するデータ項目となるマトリクス状の論理構造を有し前記各見出し項目およびデータ項目に文字列が記述されている帳票を読み込むことにより、前記帳票に記述されている文字列の中から、項目ごとに、項目位置に応じて単語候補を抽出する単語候補抽出工程と、
前記単語候補抽出工程によって抽出された単語候補を前記見出し項目内に位置する見出し単語候補群と前記データ項目内に位置するデータ単語候補群に分け、前記行方向の見出し項目内の見出し単語候補の場合、当該見出し単語候補の列方向を含む右側の各データ項目内に位置するデータ単語候補の各々と組み合わせて行方向の一見出し・一データ組候補を生成するとともに、前記列方向の見出し項目内の見出し単語候補の場合、当該見出し単語候補の行方向を含む下側の各データ項目内に位置するデータ単語候補の各々と組み合わせて列方向の一見出し・一データ組候補を生成する一見出し・一データ組候補生成工程と、
前記一見出し・一データ組候補生成工程によって生成された前記行方向の一見出し・一データ組候補と前記列方向の一見出し・一データ組候補を組み合わせることにより、前記行方向の見出し項目内の見出し単語候補と前記列方向の見出し項目内の見出し単語候補と前記行方向の一見出し・一データ組候補および前記列方向の一見出し・一データ組候補で重複したデータ項目内のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成工程と、
前記多見出し・一データ組候補生成工程によって生成された多見出し・一データ組候補を構成する前記行方向の見出し項目内の見出し単語候補と前記列方向の見出し項目内の見出し単語候補と前記行方向および前記列方向の見出し項目が交差するデータ項目内のデータ単語候補が唯一である場合に、前記行方向および前記列方向の見出し項目内の見出し単語候補と前記交差するデータ項目内のデータ単語候補の組み合わせを確定組とし、当該データ単語候補を前記多見出し・一データ組候補から削除するとともに、前記多見出し・一データ組候補内の前記行方向の残余の見出し項目内の見出し単語候補と前記列方向の残余の見出し項目内の見出し単語候補と前記行方向および前記列方向の見出し項目が交差する残余のデータ項目内のデータ単語候補が唯一である場合に、前記行方向および前記列方向の残余の見出し項目内の見出し単語候補と前記交差する残余のデータ項目内のデータ単語候補の組み合わせを確定組とし、当該データ単語候補を前記多見出し・一データ組候補から削除する確定工程と、
前記確定工程によって抽出された確定組を出力する出力工程と、
を含んだことを特徴とする論理構造認識方法。
【請求項９】
第１の見出し項目と当該第１の見出し項目に並んで前記第１の見出し項目から所定方向に第２の見出し項目とデータ項目とが交互に１または複数存在する論理構造を有し前記各見出し項目およびデータ項目に文字列が記述されている帳票を読み込むことにより、前記帳票に記述されている文字列の中から、項目ごとに、項目位置に応じて単語候補を抽出する単語候補抽出工程と、
前記単語候補抽出工程によって抽出された単語候補を前記第１の見出し項目内に位置する第１の見出し単語候補群と前記第２の見出し項目内に位置する第２の見出し単語候補群と前記データ項目内に位置するデータ単語候補群に分け、前記第１の見出し項目内の前記第１の見出し単語候補の場合、当該第１の見出し単語候補から前記所定方向の各データ項目内に位置するデータ単語候補の各々と組み合わせて第１の一見出し・一データ組候補を生成するとともに、前記第２の見出し項目内の前記第２の見出し単語候補の場合、当該第２の見出し単語候補から前記所定方向の各データ項目内に位置するデータ単語候補の各々と組み合わせて第２の一見出し・一データ組候補を生成する一見出し・一データ組候補生成工程と、
前記一見出し・一データ組候補生成工程によって生成された前記第１の一見出し・一データ組候補と前記第２の一見出し・一データ組候補を組み合わせることにより、前記第１の見出し項目内の前記第１の見出し単語候補と前記第２の見出し項目内の前記第２の見出し単語候補と前記第１の一見出し・一データ組候補および前記第２の一見出し・一データ組候補で重複したデータ項目内のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成工程と、
前記多見出し・一データ組候補生成工程によって生成された多見出し・一データ組候補を構成する前記第１の見出し単語候補と当該第１の見出し単語候補に隣接する前記第２の見出し単語候補と当該第２の見出し単語候補に隣接するデータ単語候補の組み合わせを確定組とし、当該確定組となった前記第２の見出し単語候補および前記データ単語候補を前記多見出し・一データ組候補から削除するとともに、前記多見出し・一データ組候補内の前記第１の見出し単語候補と残余の前記第２の見出し単語候補と当該残余の前記第２の見出し単語候補に隣接する残余の前記データ単語候補の組み合わせを確定組とし、当該確定組となった前記第２の見出し単語候補および前記データ単語候補を前記多見出し・一データ組候補から削除する確定工程と、
前記確定工程によって抽出された確定組を出力する出力工程と、
を含んだことを特徴とする論理構造認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、紙帳票や電子化された帳票上での文字列間の関係（論理構造）を認識する論理構造認識プログラム、論理構造認識装置、および論理構造認識方法に関する。
【背景技術】
【０００２】
従来、紙帳票の中から必要なデータを抽出するには、予め既知のレイアウトを持つ帳票（定型帳票）が利用されてきた。定型帳票からのデータ抽出では、ある意味を持つ文字や文字列が特定の領域に存在することを定めたレイアウト定義体を作成し、該当する領域に書かれた文字や文字列を認識することによってデータの抽出が行われてきた。しかし、数枚しか処理しない帳票に対してレイアウト定義体を作成すると、レイアウト定義体の作成コストが膨大になることから、そのような帳票に対しては人手によってデータを入力しており、膨大なデータ入力コストが必要になっていた。
【０００３】
近年、表の中の見出しの順序が変わってもデータの位置を特定することが可能になり、表が作成される場合の同列の見出しが逆転する場合のデータ抽出方法について開示されている（下記特許文献１を参照。）。
【０００４】
【特許文献１】特開２００５−２７５８３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の未知のレイアウトに対する帳票からの論理構造認識処理は、見出しの間の関係が大見出しと小見出しのように階層的であったり、階層を構成した中での小見出し間の横並びの関係に基づいてデータを抽出する方式、または、特定の罫線やセルを持ち、各見出しグループの中での順序が一意で無い帳票に対して適用可能な論理構造認識方式のいずれかである。
【０００６】
したがって、（１）複数の見出しより与えられるデータで、表を構成するかどうかわからない帳票、（２）同じ見出しが複数使用され、それらが一つ一つのデータに対応している帳票、（３）（見出し１）−（見出し２）−（見出し１に対応するデータ）−（見出し２に対応するデータ）のように他の見出しやデータを跨いで構成されている帳票に対しては適用できない、という問題があった。
【０００７】
たとえば、上述した特許文献１では表が使用されることを前提として、セルの関係を用いているため、上記（１）や（３）が依然として解消されない。また、（２）が解消されないと、同じ見出し文字列が各データに対応して使用されたときに曖昧さが残り、論理構造認識の精度が劣るという問題があった。
【０００８】
この発明は、上述した従来技術による問題点を解消するため、どのような形式の帳票であってもその論理構造認識を高精度に実現することができる論理構造認識プログラム、論理構造認識装置、および論理構造認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、この論理構造認識プログラム、論理構造認識装置、および論理構造認識方法は、帳票に記述されている文字列の中から単語候補を抽出し、抽出された単語候補を前記帳票の見出しを構成する見出し単語候補群と前記帳票のデータを構成するデータ単語候補群に分け、前記単語候補の前記帳票上の位置に基づいて、前記見出し単語候補群の中から選ばれた一の見出し単語候補と当該一の見出し単語候補により特定される可能性がある前記データ単語候補群の中の一のデータ単語候補とからなる一見出し・一データ組候補を生成し、生成された一見出し・一データ組候補を、種類が異なる見出し単語候補どうしで組み合わせることにより、複数種類の見出し単語候補および一のデータ単語候補とからなる多見出し・一データ組候補を生成し、生成された多見出し・一データ組候補を構成する見出し単語候補とデータ単語候補の前記帳票上の位置に基づいて、前記多見出し・一データ組候補の中から、前記データごとに、前記データと当該データを特定する見出しからなる確定組を抽出し、抽出された確定組を出力することを要件とする。
【００１０】
また、上記論理構造認識プログラム、論理構造認識装置、および論理構造認識方法において、前記確定組の中に、複数種類の見出しと当該複数種類の見出しにより特定されるデータとからなる第１の確定組候補と、前記複数種類の見出しのうち一の見出しの位置のみが前記第１の確定組とは異なる第２の確定組候補とが存在する場合、前記一の見出しの位置と前記データの位置とに基づいて、前記第１および第２の確定組候補の中から妥当な確定組を選択し、選択された妥当な確定組を出力することとしてもよい。
【００１１】
また、上記論理構造認識プログラム、論理構造認識装置、および論理構造認識方法において、前記データに対する前記一の見出しの前記帳票上の相対的な位置に基づいて、前記第１および第２の確定組候補の中から妥当な確定組を選択し、選択された妥当な確定組を出力することとしてもよい。
【００１２】
また、上記論理構造認識プログラム、論理構造認識装置、および論理構造認識方法において、前記データと前記一の見出しとを包含する領域の面積に基づいて、前記第１および第２の確定組候補の中から妥当な確定組を選択し、選択された妥当な確定組を出力することとしてもよい。
【００１３】
また、上記論理構造認識プログラム、論理構造認識装置、および論理構造認識方法において、前記確定組の中に、第１の見出しにより特定されるデータが複数あり、当該複数のデータにより特定される第２の見出しが前記データと同数存在する不定組が存在する場合、前記複数のデータおよび複数の前記第２の見出しの組み合わせからなる複数通りの確定組候補における前記データおよび前記第２の見出しの相対的な位置に基づいて前記確定組候補を比較することにより、前記複数通りの確定組候補の中から、妥当な確定組を選択し、選択された妥当な確定組を出力することとしてもよい。
【００１４】
また、上記論理構造認識プログラム、論理構造認識装置、および論理構造認識方法において、前記データと前記第２の見出しとの距離を前記確定組候補どうしで比較することにより、前記複数通りの確定組候補の中から、妥当な確定組を選択し、選択された妥当な確定組を出力することとしてもよい。
【００１５】
また、上記論理構造認識プログラム、論理構造認識装置、および論理構造認識方法において、前記データと前記第２の見出しとを包含する面積を前記確定組候補どうしで比較することにより、前記複数通りの確定組候補の中から、妥当な確定組を選択し、選択された妥当な確定組を出力することとしてもよい。
【００１６】
これらの論理構造認識プログラム、論理構造認識装置、および論理構造認識方法によれば、さまざまなレイアウトの帳票を読み込んで、複数の見出しと当該複数の見出しにより特定されるデータを一意に特定することができ、帳票の論理構造を自動認識することができる。
【００１７】
また、曖昧な見出し群により構成される確定組候補が存在する場合には、データと曖昧な見出し群との相対的な帳票上の位置により、妥当な見出しを特定することで、複数の見出しと当該複数の見出しにより特定されるデータを一意に特定することができ、帳票の論理構造を自動認識することができる。
【００１８】
同様に、曖昧な見出し群と曖昧なデータ群とにより構成される確定組候補が存在する場合には、複数通りの確定組候補の曖昧なデータと曖昧な見出しとの相対的な位置により、妥当なデータと見出しの組み合わせを特定することで、複数の見出しと当該複数の見出しにより特定されるデータを一意に特定することができ、帳票の論理構造を自動認識することができる。
【発明の効果】
【００１９】
この論理構造認識プログラム、論理構造認識装置、および論理構造認識方法によれば、どのような形式の帳票であってもその論理構造認識を高精度に実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この論理構造認識プログラム、論理構造認識装置、および論理構造認識方法の好適な実施の形態を詳細に説明する。本実施の形態における論理構造認識では、論理構造認識対象の一つである紙媒体やイメージデータの帳票を読み取って、帳票に記述されている文字情報とレイアウト情報（表などのレイアウトがある場合）を解析して、文字情報の論理構造を認識する技術である。ここでいう論理構造とは、帳票に記述されている見出しとその見出しにより特定されるデータとの対応関係を示す論理的な構造である。また、本明細書において、単に、「データ」と記述した場合には、任意の数値（金額、数量など）、すなわち、ワイルドカードのことをいう。
【００２１】
（論理構造認識対象の一例）
図１は、論理構造認識対象の一例（帳票）を示す説明図である。（Ａ）において、帳票１００はマトリクス状の論理構造を持ち、各セルの中には文字列が記述されている。文字列には、見出し項目として、旅費、設備費、消耗品費などの品目と、１７年度〜１９年度などの年度がある。これらを総称して文字情報と称す。そして、ある品目とある年度が交差する領域に記述されている値が、その品目についてのその年度の値であると特定される。たとえば、１７年度の旅費のデータは、１００，０００（円）である。
【００２２】
（Ｂ）は、（Ａ）に示した帳票１００のレイアウト情報である。レイアウト情報は、文字情報を除いた枠や線などの情報である。各セルには、それぞれＣ１〜Ｃ１６という識別子（セル番号）を割り振っておく。したがって、本実施の形態により論理構造が認識された場合、このレイアウト情報を基にして、スプレッドシートを生成して、そのスプレッドシートの各セルに該当する文字情報を書き込むことで、帳票１００を、論理構造が認識された文字情報が記述されたスプレッドシートに変換することができる。
【００２３】
（文字情報の読み取り結果）
図２は、帳票１００の文字情報を示す説明図である。文字情報は、帳票１００の読み取り結果をあらわしており、文字番号、文字コード、座標、およびセル番号を有する。文字番号とは、“１”から昇順に割り振られる固有の番号である。
【００２４】
文字コードは、帳票１００から読み取られた文字である。同一文字コードであっても別々の文字番号が割り振られる。座標は、帳票１００上の文字コードの位置を特定する情報である。原点を帳票上の任意の位置とし、文字コードを囲む矩形の左上座標と右下座標により、文字コードの位置を特定している。セル番号は、その文字コードが記述されているセルの識別子である。
【００２５】
（共通論理構造ＤＢの記憶内容）
つぎに、共通論理構造ＤＢの記憶内容について説明する。図３−１〜図３−４は、共通論理構造ＤＢの記憶内容を示す説明図である。図３−１および図３−２は、見出し項目に関する論理要素（以下、「見出し論理要素」という）を示すテーブルであり、図３−３および図３−４は、データに関する論理要素（以下、「データ論理要素」という）を示すテーブルである。
【００２６】
図３−１は、論理要素グループＧ１：品目の論理要素テーブルである。見出し論理要素テーブル３０１は、要素番号、代表単語、単語を有する。要素番号とは、代表単語名固有の番号である。以降、要素番号Ｅｉｊの論理要素を論理要素Ｅｉｊと表記する。代表単語とは、品目をあらわす代表的な単語である。また、単語とは、代表単語と同義語または類義語をあらわす文字列である。
【００２７】
要素番号Ｅ１１を例に挙げると、代表単語は“旅費”であり、その単語は、“旅費”、“出張費”、“出張旅費”である。このように、同義語や類義語を用意しておくことにより、多種多様な帳票に対して、同種の見出しであることを特定することができる。
【００２８】
図３−２は、論理要素グループＧ２：年度の論理要素テーブルである。この見出し論理要素テーブル３０２も論理要素テーブル３０１と同様、要素番号、代表単語、単語を有する。要素番号Ｅ２１を例に挙げると、代表単語は“１７年度”であり、その単語は、“１７年度”、“１７年”、“２００５年度”、“２００５年”である。
【００２９】
図３−３は、論理要素グループＧ３：データの論理要素テーブルである。このデータ論理要素テーブル３０３については、図３−１および図３−２に示した要素番号、代表単語、単語のほかに、他のグループＧ１，Ｇ２との関係も保持している。また、データは、量見出し（品目と年度）により特定される値であるため、代表単語は、論理要素グループＧ１：品目の代表単語と論理要素グループＧ２：年度の代表単語とをつなげた文字列となる。要素番号Ｅ３１を例に挙げると、その代表単語は、“旅費”と“１７年度”とつなげた“旅費１７年度”となる。
【００３０】
また、単語については、帳票１００には任意の数値が記述されるので、＊（ワイルドカード）とする。ただ、ワイルドカードとしても、数値のみ、数値およびカンマ、数値および通貨マーク（￥、円、＄、ドルなど）、数値，カンマおよび通貨マークなどのように、ワイルドカードに関する同義語や類義語を保持しておく。
【００３１】
また、他のグループＧ１，Ｇ２との関係については、対応見出し論理要素数と対応見出し論理要素（の要素番号）とを保持する。対応見出し論理要素とは、そのデータを特定する見出し項目に関する論理要素であり、対応見出し論理要素数とは、その数である。要素番号Ｅ３１を例に挙げると、代表単語“旅費１７年度”に関するデータは、２つの対応見出し論理要素Ｅ１１（代表単語“旅費”），Ｅ２１（代表単語“１７年度”）により特定されることがわかる。なお、品目に関する論理要素数は３通り（Ｅ１１〜Ｅ１３）あり、年度に関する論理要素数も３通り（Ｅ２１〜Ｅ２３）あるため、データに関する論理要素数は、３×３で９通り（Ｅ３１〜Ｅ３９）存在する。
【００３２】
図３−４は、図３−３に示したデータに関する論理要素テーブル３０３の他の例を示している。図３−４に示したデータに関する論理要素テーブル３０４では、論理要素（要素番号、代表単語、単語）については、論理要素テーブル３０３と同一である。一方、他のグループとの関係については、図３−３では、対応見出し論理要素単位で表現したのに対し、図３−４では対応論理要素グループ単位で表現している。
【００３３】
図３−４で表現した場合には、図３−１および図３−２の論理要素テーブルを参照して、図３−３に示した論理要素テーブル３０３を生成することとなる。要素番号Ｅ３１を例に挙げると、対応論理要素グループはＧ１，Ｇ２であり、代表単語は“旅費”と“１７年度”とつなげた“旅費１７年度”であるため、対応論理要素グループＧ１の論理要素テーブル３０１から“旅費”を代表単語とする要素番号Ｅ１１を特定でき、対応論理要素グループＧ２の論理要素テーブル３０２から“１７年度”を代表単語とする要素番号Ｅ２１を特定できる。
【００３４】
（単語候補抽出結果）
図４−１〜図４−３は、図１に示した帳票１００からの単語候補抽出結果を示す説明図である。図４−１は、論理要素グループＧ１：品目に関する単語候補抽出結果４０１である。図４−２は、論理要素グループＧ２：年度に関する単語候補抽出結果４０２である。図４−３は、論理要素グループＧ３：データに関する単語候補抽出結果４０３である。
【００３５】
図４−１〜図４−３において、単語候補抽出結果４０１〜４０３では、要素番号およびその代表単語ごとに、単語候補、文字数、文字番号が保持される。単語候補とは、論理要素テーブル３０１〜３０４の単語の中から図２に示した文字コードとマッチした単語である。また、文字数とは単語候補の文字数であり、文字番号とは、単語候補の各文字コードの文字番号である。なお、図４−１〜図４−３中、論理要素Ｅｉｊの単語候補をＷｅｉｊ−ｋと表記する。ｋは単語候補の番号である。
【００３６】
単語候補は、その要素番号により特定される単語の中からマッチする単語が選ばれる。図４−１に示した論理要素グループＧ１：品目に関する単語抽出結果を例に挙げると、図１に示した品目のうち“旅費”については、要素番号Ｅ１１の中の単語群のうち“旅費”がマッチする。また、レイアウト情報により、図１に示した品目のうち“旅費”は、セルＣ５内に記述されているため、セルＣ５を手がかりとして、図２に示した文字情報から文字数（＝２）と文字番号（１５，１６）を得る。なお、見出し論理要素の単語候補を見出し単語候補と呼び、データ論理要素の単語候補をデータ単語候補と呼ぶ。
【００３７】
（論理構造認識装置の機能的構成）
つぎに、論理構造認識装置の機能的構成について説明する。図５は、論理構造認識装置５００の機能的構成を示すブロック図である。図５において、論理構造認識装置５００は、単語候補抽出部５０１と、見出し論理要素グループ数検出部５０２と、一見出し・一データ組候補生成部５０３と、多見出し・一データ組候補生成部５０４と、確定組除去部５０５と、見出し単語候補評価部５０６と、データ単語候補評価部５０７と、出力部５０８と、を備えている。
【００３８】
これら各機能５０１〜５０８は、論理構造認識装置５００の記憶部（ＨＤやメモリ）に記憶された当該機能５０１〜５０８に関するプログラムをＣＰＵに実行させることにより、または、入出力Ｉ／Ｆにより、当該機能を実現することができる。
【００３９】
また、各機能５０１〜５０８からの出力データは上記記憶部に保持される。また、図５中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをＣＰＵに実行させるものとする。また、共通論理構造ＤＢは、論理構造認識装置５００または論理構造認識装置５００と通信可能な外部のサーバに備えられ、図３−１〜図３−３（または図３−４）に示した論理要素テーブル３０１〜３０３（または３０４）を記憶する。
【００４０】
まず、単語候補抽出部５０１は、帳票１００に記述されている文字情報の中から該当する単語を単語候補として抽出する機能を有する。具体的には、図２に示した読み取り結果や共通論理構造ＤＢ５１０（図３−１〜図３−４に示した論理要素テーブル３０１〜３０４）を参照して、図４−１〜図４−３に示した単語候補抽出結果を出力する。
【００４１】
また、見出し論理要素グループ数検出部５０２は、帳票１００を構成する見出し項目の種類数となる見出し論理要素グループ数を検出する機能を有する。具体的には、たとえば、図１に示した帳票１００では、見出し論理要素として、論理要素グループＧ１：品目と論理要素グループＧ２：年度が単語候補抽出に用いられたため、見出し論理要素グループ数Ｎｍａｘ＝２と検出される。
【００４２】
また、一見出し・一データ組候補生成部５０３は、帳票１００の中から選ばれた一つの見出し項目と当該見出し項目により特定される一つのデータとの組み合わせ（一見出し・一データ組。以下、単に「二つ組」と称す。）となる候補を生成する機能を有する。また、多見出し・一データ組候補生成部５０４は、帳票１００の中から選ばれた複数（Ｎ個。Ｎは２≦Ｎ≦Ｎｍａｘ。）の見出し項目と当該見出し項目により特定される一つのデータとの組み合わせ（多見出し・一データ組。以下、単に「（Ｎ＋１）つ組」と称す。）となる候補を生成する機能を有する。
【００４３】
また、確定組除去部５０５は、（Ｎ＋１）つ組候補から、同一の見出し単語候補の組み合わせに対応するデータがただ一つに確定する場合に、それらをデータと対応する見出しとして確定して出力する機能を有する。また、一つのデータ論理要素のデータ単語候補を持つ（Ｎ＋１）つ組候補がただ一つしか存在しない場合にそれらをデータと対応する見出しとして確定して出力する機能を有する。さらに、それらを（Ｎ＋１）つ組候補から除去して確定可能な（Ｎ＋１）つ組候補が存在するかどうかを確認する再帰処理を実行する機能を有する。
【００４４】
また、見出し単語候補評価部５０６は、確定組除去部５０５によってデータ論理要素のデータ単語候補が複数存在することにより唯一つの（Ｎ＋１）つ組に限定できない場合に、データ単語候補が同一のものだけであるデータ論理要素を持つ（Ｎ＋１）つ組候補から、異なる位置の見出し単語候補を与える見出し論理要素を選択し、該当する見出し単語候補とデータ単語候補との位置関係に基づいて、（Ｎ＋１）つ組の組み合わせとして評価する機能を有する。
【００４５】
また、データ単語候補評価部５０７は、確定組除去部５０５によって複数のデータ論理要素の単語候補が存在する場合において唯一つの（Ｎ＋１）つ組に限定できない場合に、同一の見出し単語候補から構成されデータ単語候補のみが異なる組み合わせを持つ（Ｎ＋１）つ組候補と、同一のデータ単語候補をすべて持つ異なる論理要素の見出し単語候補の組み合わせに対して、それらの位置関係に基づいて、（Ｎ＋１）つ組の組み合わせとして評価する機能を有する。
【００４６】
また、出力部５０８は、論理構造認識結果を出力する機能を有する。出力形式としては、ディスプレイへの表示、プリンタによる印刷出力、外部のコンピュータへの送信、内部の記憶部への格納などがある。また、サーバ＆クライアント型である場合、論理構造認識装置５００はサーバとなるため、クライアントに論理構造認識結果を送信し、受信したクライアントのディスプレイに表示されることとなる。
【００４７】
（論理構造認識処理手順）
つぎに、論理構造認識処理手順について説明する。図６は、論理構造認識処理手順を示すフローチャートである。図６において、帳票１００を読み込んで（ステップＳ６０１）、文字情報（図２を参照）とレイアウト情報１０１に分解し、単語候補抽出部５０１により図４−１〜図４−３に示したような単語候補抽出結果を得る（ステップＳ６０２）。つぎに、見出し論理要素数検出部５０２により、帳票１００の見出し論理要素数Ｎｍａｘを検出する（ステップＳ６０３）。
【００４８】
そして、一見出し・一データ組候補生成部５０３による一見出し・一データ組候補生成処理（ステップＳ６０４）、多見出し・一データ組候補生成部５０４による多見出し・一データ組候補生成処理（ステップＳ６０５）、確定組除去部５０５による確定組除去処理（ステップＳ６０６）、見出し単語候補評価部５０６による見出し単語候補評価処理（ステップＳ６０７）、データ単語候補評価部５０７によるデータ単語候補評価処理（ステップＳ６０８）を実行する。見出し単語候補評価処理（ステップＳ６０７）およびデータ単語候補評価処理（ステップＳ６０８）は必要に応じて実行する。
【００４９】
最後に、ステップＳ６０６〜Ｓ６０８の処理結果を出力部５０８により出力する（ステップＳ６０９）。以下、上述した一見出し・一データ組候補生成部５０３、多見出し・一データ組候補生成部５０４、確定組除去部５０５、見出し単語候補評価部５０６、およびデータ単語候補評価部５０７の詳細について説明する。
【００５０】
［一見出し・一データ組候補生成部５０３の詳細説明］
まず、一見出し・一データ組候補生成部５０３について説明する。図７は、二つ組候補の生成内容を示す説明図である。二つ組候補とは、ある見出し項目と、その見出し項目により特定される可能性があるデータとの組み合わせである。帳票１００の見出し項目は、その下方向、右方向、右下方向に位置するデータと対応関係がある。ここでは、見出し項目に対してその下方向、右方向または右下方向の位置を指定領域と称す。したがって、見出し項目ごとに指定領域が異なる。この見出し項目とその指定領域に位置するデータが二つ組候補を構成する。
【００５１】
図７において、太線楕円は、選択見出し項目であり、細線楕円は、選択見出し項目により特定される可能性があるデータである。太線楕円と細線楕円を結ぶ線分が組み合わせであることを示している。この太線楕円と細線楕円との組み合わせが二つ組候補となる。
【００５２】
（Ａ）は、論理要素グループＧ１：品目の要素番号Ｅ１１の見出し単語候補“旅費”を選択した場合の二つ組候補を示している。“旅費”と論理要素グループＧ３のデータ単語候補との位置関係から、９個の二つ組候補が得られる。なお、単語候補“１７年度”〜“１９年度”は異なるグループＧ２であるが、見出し項目であるため二つ組候補の対象外である。
【００５３】
（Ｂ）は、論理要素グループＧ１：品目の要素番号Ｅ１３の見出し単語候補“消耗品費”を選択した場合の二つ組候補を示している。“消耗品費”と論理要素グループＧ３のデータ単語候補との位置関係から、３個の二つ組候補が得られる。他のデータは、“雑費”から見て右上に位置するため、二つ組候補の対象外である。
【００５４】
（Ｃ）は、論理要素グループＧ２：年度の要素番号Ｅ２１の見出し単語候補“１７年度”を選択した場合の二つ組候補を示している。“１７年度”と論理要素グループＧ３のデータ単語候補との位置関係から、９個の二つ組候補が得られる。
【００５５】
（Ｄ）は、論理要素グループＧ２：年度の要素番号Ｅ２３の見出し単語候補“１９年度”を選択した場合の二つ組候補を示している。“１９年度”と論理要素グループＧ３のデータ単語候補との位置関係から、３個の二つ組候補が得られる。
【００５６】
図８は、一見出し・一データ組候補生成処理（ステップＳ６０４）の詳細な処理手順を示すフローチャートである。まず、二つ組候補数ｎをｎ＝１とし（ステップＳ８０１）、論理要素グループＧｉの番号ｉをｉ＝１とし（ステップＳ８０２）、論理要素Ｅｉｊの番号ｊをｊ＝１とする（ステップＳ８０３）。
【００５７】
このあと、論理要素Ｅｉｊがデータの論理要素であるか否かを判断する（ステップＳ８０４）。データの論理要素でない場合（ステップＳ８０４：Ｎｏ）、ｊをインクリメントして（ステップＳ８０５）、ステップＳ８０４に戻る。一方、データの論理要素である場合（ステップＳ８０５：Ｙｅｓ）、見出し論理要素グループＧｉ（Ｇｉと区別するため、Ｇ（ｉｉ）とする）の番号ｉｉをｉｉ＝１とし（ステップＳ８０６）、見出し論理要素グループＧ（ｉｉ）を読み込む（ステップＳ８０７）。たとえば、ｉｉ＝１である場合、図４−１〜図４−３に示した単語候補抽出結果の中から見出し論理要素グループＧ１（図４−１に示した論理要素グループＧ１）を読み込む。
【００５８】
そして、見出し論理要素Ｅｉｊ（Ｅｉｊと区別するため、Ｅ（ｉｉ，ｊ）と表記。）を読み込む（ステップＳ８０８）。たとえば、図４−１に示した論理要素グループＧ１が見出し論理要素グループＧ（ｉｉ）として読み込まれた場合、ｉｉ＝１、ｊ＝１であるため、Ｅ（ｉｉ，ｊ）として、論理要素グループＧ１の中から見出し論理要素Ｅ１１が読み込まれる。
【００５９】
このあと、ステップＳ８０４で特定されたデータ論理要素Ｅｉｊの単語候補番号ｋをｋ＝１とし（ステップＳ８０９）、ステップＳ８０８で読み込まれた見出し論理要素Ｅ（ｉｉ，ｊ）の単語候補番号ｋ（ステップＳ８０９のｋと区別するため、ｋｋとする）をｋｋ＝１とする（ステップＳ８１０）。
【００６０】
そして、見出し単語候補Ｗｅ（ｉｉ，ｊ−ｋｋ）から見たときにデータ単語候補Ｗｅｉｊ−ｋが指定領域内に存在するか否かを判断する（ステップＳ８１１）。指定領域に存在するか否かは、図２に示したセル番号や座標により特定することができる。
【００６１】
指定領域内に存在する場合（ステップＳ８１１：Ｙｅｓ）、その見出し単語候補Ｗｅ（ｉｉ，ｊ−ｋｋ）とデータ単語候補Ｗｅｉｊ−ｋとの組み合わせを、ｎ番目の二つ組として格納する（ステップＳ８１２）。そして、ｎをインクリメントして（ステップＳ８１１）、ステップＳ８１４に移行する。一方、指定領域内に存在しない場合（ステップＳ８１１：Ｎｏ）、ステップＳ８１４に移行する。
【００６２】
ステップＳ８１４では、見出し論理要素Ｅ（ｉｉ，ｊ）の単語候補番号ｋｋをインクリメントする。そして、ｋｋ≦ＫＫであるか否かを判断する（ステップＳ８１５）。ここで、ＫＫは、見出し論理要素Ｅ（ｉｉ，ｊ）の単語候補の総数である。ｋｋ≦ＫＫである場合（ステップＳ８１５：Ｙｅｓ）、ステップＳ８１１に移行して、インクリメント後の見出し単語候補Ｗｅ（ｉｉ，ｊ−ｋｋ）からみたときにデータ単語候補Ｗｅｉｊ−ｋが指定領域内に存在するか否かを判断する。
【００６３】
一方、ｋｋ≦ＫＫでない場合（ステップＳ８１５：Ｎｏ）、データ論理要素Ｅｉｊの単語候補番号ｋをインクリメントし（ステップＳ８１６）、ｋ≦Ｋであるか否かを判断する（ステップＳ８１７）。ここで、Ｋは、データ論理要素Ｅｉｊの単語候補の総数である。ｋ≦Ｋである場合（ステップＳ８１７：Ｙｅｓ）、ステップＳ８１０に移行して、見出し単語候補Ｗｅ（ｉｉ，ｊ−ｋｋ）からみたときにインクリメント後のデータ単語候補Ｗｅｉｊ−ｋが指定領域内に存在するか否かを判断する（ステップＳ８１０、Ｓ８１１）。
【００６４】
一方、ｋ≦Ｋでない場合（ステップＳ８１７：Ｎｏ）、見出し論理要素グループｇｐ（ｉｉの番号ｉｉをインクリメントし（ステップＳ８１８）、ｉｉ≦ＩＩであるか否かを判断する（ステップＳ８１９）。ここで、ＩＩは、見出し論理要素グループＧ（ｉｉ）の総数である。ｉｉ≦ＩＩである場合（ステップＳ８１９：Ｙｅｓ）、ステップＳ８０７に移行して、インクリメント後の見出し論理要素グループＧ（ｉｉ）を読み込む。
【００６５】
一方、ｉｉ≦ＩＩでない場合（ステップＳ８１９：Ｎｏ）、他の見出し論理要素の要素番号ｊをインクリメントし（ステップＳ８２０）、ｊ≦Ｊであるか否かを判断する（ステップＳ８２１）。ここで、Ｊは、他の論理要素の総数である。ｊ≦Ｊである場合（ステップＳ８２１：Ｙｅｓ）、ステップＳ８０４に移行して、インクリメント後の論理要素Ｅｉｊがデータ論理要素であるか否かを判断する。
【００６６】
一方、ｊ≦Ｊでない場合（ステップＳ８２１：Ｎｏ）、論理要素グループ番号ｉをインクリメントして（ステップＳ８２２）、ｉ≦Ｉであるか否かを判断する（ステップＳ８２３）。ここで、Ｉは、論理要素グループＧｉの総数である。ｉ≦Ｉである場合（ステップＳ８２３：Ｙｅｓ）、ステップＳ８０３に移行して、インクリメント後の論理要素グループＧｉに属する論理要素Ｅｉｊがデータ論理要素であるか否かを判断することになる（ステップＳ８０４）。
【００６７】
一方、ｉ≦Ｉでない場合（ステップＳ８２３：Ｎｏ）、一見出し・一データ組候補生成部５０３による一連の処理を終了して、ステップＳ６０５に移行する。これにより、図７に示したような二つ組候補が自動生成されることとなる。
【００６８】
［多見出し・一データ組候補生成部５０４の詳細説明］
つぎに、多見出し・一データ組候補生成部５０４について説明する。図９は、（Ｎ＋１）つ組候補の生成内容を示す説明図である。（Ｎ＋１）つ組候補とは、複数種の見出し項目と、それらの見出し項目により特定される可能性があるデータとの組み合わせである。帳票１００の見出し項目は、その下方向、右方向、右下方向に位置するデータと対応関係がある。ここでは、複数種の見出し項目の下方向、右方向または右下方向の重複する位置を指定領域と称す。
【００６９】
したがって、複数種の見出し項目ごとに指定領域が異なる。この複数種の見出し項目とその指定領域に位置するデータが（Ｎ＋１）つ組候補を構成する。図９では、Ｎ＝２、すなわち、見出し項目として２つの項目（品目と年度）を用いて得られる三つ組候補を説明する。
【００７０】
図９において、太線楕円は、選択見出し項目であり、細線楕円は、両選択見出し項目により特定される可能性があるデータである。太線楕円と細線楕円を結ぶ線分が組み合わせであることを示している。この２つの太線楕円と細線楕円との組み合わせが二つ組候補となる。
【００７１】
（Ａ）は、論理要素グループＧ１：品目の要素番号Ｅ１３の見出し単語候補“消耗品費”を選択した場合の二つ組候補を示している。“消耗品費”と論理要素グループＧ３のデータ単語候補との位置関係から、３個の二つ組候補が得られる。他のデータは、“消耗品費”から見て右上に位置するため、二つ組候補の対象外である。
【００７２】
（Ｂ）は、論理要素グループＧ２：年度の要素番号Ｅ２３の見出し単語候補 “１９年度”を選択した場合の二つ組候補を示している。“１９年度”と論理要素グループＧ３のデータ単語候補との位置関係から、３個の二つ組候補が得られる。
【００７３】
（Ｃ）は、論理要素グループＧ１：品目の要素番号Ｅ１３の見出し単語候補 “消耗品費”と、論理要素グループＧ２：年度の要素番号Ｅ２３の見出し単語候補 “１９年度”とを選択した場合の三つ組候補を示している。すなわち、（Ａ）と（Ｂ）に共通するデータ（８，０００）のみが三つ組候補を構成する。
【００７４】
（Ｄ）は、論理要素グループＧ１：品目の要素番号Ｅ１１の見出し単語候補 “旅費”と、論理要素グループＧ２：年度の要素番号Ｅ２１の見出し単語候補 “１７年度”とを選択した場合の三つ組候補を示している。すなわち、図７（Ａ）と図７（Ｂ）に共通する９個のデータが三つ組候補を構成する。
【００７５】
図１０は、多見出し・一データ組候補生成処理（ステップＳ６０５）の詳細な処理手順を示すフローチャートである。図１０において、まず、見出し論理要素グループ数ＮをＮ＝２に設定し（ステップＳ１００１）、（Ｎ＋１）つ組候補生成処理を実行する（ステップＳ１００２）。このあと、Ｎをインクリメントし（ステップＳ１００３）、Ｎ＜Ｎｍａｘであるか否かを判断する（ステップＳ１００４）。Ｎ＜Ｎｍａｘでない場合（ステップＳ１００４：Ｎｏ）、ステップＳ１００２に戻る。一方、Ｎ＜Ｎｍａｘである場合（ステップＳ１００４：Ｙｅｓ）、多見出し・一データ組候補生成部５０４による一連の処理を終了する。これにより、図９の（Ｃ）、（Ｄ）に示したような（Ｎ＋１）つ組候補が自動生成されることとなる。
【００７６】
つぎに、図１０に示した（Ｎ＋１）つ組候補生成処理の詳細な処理手順について説明する。図１１および図１２は、（Ｎ＋１）つ組候補生成処理の詳細な処理手順を示すフローチャートである。（Ｎ＋１）つ組候補はＮつ組候補を基に作成され、任意の数の見出し項目に指示されても可能である。図１１において、（Ｎ＋１）つ組候補数ｄをｄ＝１とし（ステップＳ１１０１）、Ｎつ組候補の番号ｎをｎ＝１とする（ステップＳ１１０２）。
【００７７】
そして、ｎ番目のＮつ組候補に関する情報を読み込む（ステップＳ１１０３）。読み込まれる情報を以下に示す。
・ＨＮ（ｎ，＊）：ｎ番目のＮつ組候補の＊番目の見出し単語候補
・ＤＮ（ｎ）：ｎ番目のＮつ組候補のデータ単語候補
・ＧＨＮ（ｎ，＊）：ＨＮ（ｎ，＊）の＊番目の論理要素グループ番号
・ＥＨＮ（ｎ，＊）：ＨＮ（ｎ，＊）の＊番目の論理要素番号
・ＧＤＮ（ｎ）：ＤＮ（ｎ）の論理要素グループ番号
・ＥＤＮ（ｎ）：ＤＮ（ｎ）の論理要素番号
【００７８】
つぎに、二つ組候補の番号ｍをｍ＝１とし（ステップＳ１１０４）、ｍ番目の二つ組候補に関する情報を読み込む（ステップＳ１１０５）。読み込まれる情報を以下に示す。
・Ｈ２（ｍ）：ｍ番目の二つ組候補の見出し論理要素の単語候補
・Ｄ２（ｍ）：ｍ番目の二つ組候補のデータ論理要素の単語候補
・ＧＨ２（ｍ）：Ｈ２（ｍ）の論理要素グループ番号
・ＥＨ２（ｍ）：Ｈ２（ｍ）の論理要素番号
・ＧＤ２（ｍ）：Ｄ２（ｍ）の論理要素グループ番号
・ＥＤ２（ｍ）：Ｄ２（ｍ）の論理要素番号
【００７９】
そして、ＤＮ（ｎ）とＤ２（ｍ）は同一の文字番号列から構成されているか否かを判断する（ステップＳ１１０６）。同一の文字番号列で構成されていない場合（ステップＳ１１０６：Ｎｏ）、図１２のステップＳ１２０４に移行する。一方、同一の文字番号列から構成されている場合（ステップＳ１１０６：Ｙｅｓ）、ＧＤＮ（ｎ）とＧＤ２（ｍ）が同一であるか否かを判断する（ステップＳ１１０７）。
【００８０】
同一でない場合（ステップＳ１１０７：Ｎｏ）、図１２のステップＳ１２０４に移行する。一方、同一である場合（ステップＳ１１０７：Ｙｅｓ）、ＧＤＮ（ｎ）とＧＤ２（ｍ）が同一であるか否かを判断する（ステップＳ１１０８）。同一でない場合（ステップＳ１１０８：Ｎｏ）、図１２のステップＳ１２０４に移行する。一方、同一である場合（ステップＳ１１０８：Ｙｅｓ）、フラグｆをｆ＝０に設定する（ステップＳ１１０９）。
【００８１】
そして、Ｎつ組候補の親番号ｉをｉ＝１とし（ステップＳ１１１０）、ＧＨＮ（ｎ，＊）とＧＨ２（ｍ）とが異なるか否かを判断する（ステップＳ１１１１）。同一である場合（ステップＳ１１１１：Ｎｏ）、フラグｆをｆ＝１に設定し（ステップＳ１１１２）、ステップＳ１１１３に移行する。一方、異なる場合（ステップＳ１１１１：Ｙｅｓ）、親番号ｉをインクリメントする（ステップＳ１１１３）。
【００８２】
このあと、ｉ＜Ｎであるか否かを判断し（ステップＳ１１１４）、ｉ＜Ｎである場合（ステップＳ１１１４：Ｙｅｓ）、ステップＳ１１１１に戻る。一方、ｉ＜Ｎでない場合（ステップＳ１１１４：Ｎｏ）、すなわち、ｉ＝Ｎとなった場合、図１２のステップＳ１２０１に移行する。
【００８３】
そして、図１２において、フラグｆ＝０であるか否かを判断する（ステップＳ１２０１）。ｆ＝０でない場合（ステップＳ１２０１：Ｎｏ）、ステップＳ１２０４に移行する。一方、ｆ＝０である場合（ステップＳ１２０１：Ｙｅｓ）、（Ｎ＋１）つ組候補として保存して（ステップＳ１２０２）、（Ｎ＋１）つ組候補数ｄをインクリメントする（ステップＳ１２０３）。
【００８４】
そして、ステップＳ１２０４において、二つ組候補の番号ｍをインクリメントして（ステップＳ１２０４）、ｍ≦ｍｍａｘであるか否かを判断する（ステップＳ１２０５）。ここで、ｍｍａｘは二つ組候補の総数である。ｍ≦ｍｍａｘである場合（ステップＳ１２０５：Ｙｅｓ）、図１１に示したステップＳ１１０５に移行する。
【００８５】
一方、ｍ≦ｍｍａｘでない場合（ステップＳ１２０５：Ｎｏ）、Ｎつ組候補の番号ｎをインクリメントして（ステップＳ１２０６）、ｎ≦ｎｍａｘであるか否かを判断する（ステップＳ１２０７）。ここで、ｎｍａｘはＮつ組候補の総数である。ｎ≦ｎｍａｘである場合（ステップＳ１２０７：Ｙｅｓ）、図１１に示したステップＳ１１０３に移行する。一方、ｎ≦ｎｍａｘでない場合（ステップＳ１２０７：Ｎｏ）、図１０に示したステップＳ１００３に移行して、（Ｎ＋１）つ組候補生成処理を終了する。
【００８６】
［確定組除去部５０５の詳細説明］
つぎに、確定組除去部５０５について説明する。図１３および図１４は、（Ｎ＋１）つ組候補の確定組除去内容を示す説明図である。（Ｎ＋１）つ組候補生成部によって生成された（Ｎ＋１）つ組候補群には、候補が確定できているものとできていないものが存在する。これを、候補が確定できるものから決定し、決定された（Ｎ＋１）つ組候補を（Ｎ＋１）つ組候補群から除去することで、再帰的に複数の見出しに対応するデータを決定する。
【００８７】
図１３および図１４では、Ｎ＝２、すなわち、見出し項目として２つの項目（品目と年度）を用いて得られる三つ組候補を説明する。太線楕円は、選択見出し項目であり、細線楕円は、選択見出し項目により特定される可能性があるデータである。太線楕円と細線楕円を結ぶ線分が組み合わせであることを示している。この太線楕円と細線楕円との組み合わせが三つ組候補となる。まず、図１３について説明する。
【００８８】
図１３は、前向き処理を示している。（Ａ）は、論理要素グループＧ１の見出し単語候補“旅費”と、論理要素グループＧ２の見出し単語候補“１７年度”とを選択した場合の三つ組候補を示している。すなわち、図７（Ａ）と図７（Ｂ）に共通する９個のデータが三つ組候補を構成する。この段階では、見出し単語候補“旅費”および“１７年度”を含み三つ組候補は、９組存在する。
【００８９】
（Ｂ）は、（Ａ）に示した状態から、見出し単語候補“旅費”および“１７年度”と三つ組候補を構成する９個のデータ単語候補“１００，０００”〜“８，０００”の中から、データ単語候補“１００，０００”が確定・除去する状態を示している。未確定のデータ単語候補については、多重化された細線楕円で示している。データ単語候補は９個存在するが、データ単語候補“１００，０００”は、見出し単語候補“旅費”および“１７年度”でしか特定されず、他の見出し単語候補の組み合わせでは候補にあげられないため、自動的に（Ｎ＋１）つ組として確定し、（Ｎ＋１）つ組候補群から除去される。すなわち、１７年度の旅費は１００，０００であると確定する。
【００９０】
（Ｃ）は、（Ｂ）で未確定な残余の８個のデータ単語候補の中から、見出し単語候補“旅費”および“１８年度”と三つ組候補を構成するデータ単語候補“１１０，０００”と、見出し単語候補“設備費”および“１７年度”と三つ組候補を構成するデータ単語候補“４００，０００”を確定・除去する状態を示している。いずれの三つ組み候補も、“年度”および“１７年度”を除く他の見出し単語候補の組み合わせでは候補にあげられないため、自動的に（Ｎ＋１）つ組として確定し、（Ｎ＋１）つ組候補群から除去される。すなわち、１７年度の設備費は４００，０００であると確定し、１８年度の旅費は１１０，０００であると確定する。
【００９１】
（Ｄ）は、前向き処理の処理順序を示している。（Ｄ）のように、最も右下のデータから左上に向かって、処理することを前向き処理といい、データ単語候補が１つずつ削減される。したがって、各データ単語候補を特定する論理要素グループＧ１，Ｇ２の見出し単語候補を一意に特定することができる。２巡目〜４巡目については複数のデータ単語候補が存在するが、同一巡目内であればどのデータ単語候補を先に確定させてもよい。
【００９２】
図１４は、後ろ向き処理を示している。（Ａ）は、論理要素グループＧ１の見出し単語候補“消耗品費”と論理要素グループＧ２の見出し単語候補“１９年度”と、この２つの見出し単語候補により特定されるデータ単語候補“８，０００”とから構成される（Ｎ＋１）つ組候補である。データ単語候補が１つしかないため、自動的に（Ｎ＋１）つ組として確定し、（Ｎ＋１）つ組候補群から除去される。すなわち、１９年度の消耗品費は８，０００であると確定する。
【００９３】
（Ｂ）は、論理要素グループＧ１の見出し単語候補“消耗品費”と論理要素グループＧ２の見出し単語候補“１８年度”と、この２つの見出し単語候補により特定される２つのデータ単語候補“５，０００”、“８，０００”とから構成される（Ｎ＋１）つ組候補である。データ単語候補が２つあるが、データ単語候補“８，０００”については、（Ａ）で確定済みなので、他方のデータ単語候補“５，０００”に絞り込まれる。したがって、自動的に（Ｎ＋１）つ組として確定し、（Ｎ＋１）つ組候補群から除去される。すなわち、１８年度の消耗品費は５，０００であると確定する。
【００９４】
（Ｃ）は、後ろ向き処理の処理順序を示している。（Ｃ）のように、最も右下のデータから左上に向かって、処理することを後ろ向き処理といい、データ単語候補が１つずつ削減される。したがって、各データ単語候補を特定する論理要素グループＧ１，Ｇ２の見出し単語候補を一意に特定することができる。２巡目〜４巡目については複数のデータ単語候補が存在するが、同一巡目内であればどのデータ単語候補を先に確定させてもよい。
【００９５】
図１５は、確定組除去処理（ステップＳ６０６）の詳細な処理手順を示すフローチャートである。図１５において、まず、図１３に示した前向き処理を実行し（ステップＳ１５０１）、（Ｎ＋１）つ組候補除去処理を実行する（ステップＳ１５０２）。このあと、図１４に示した後ろ向き処理を実行し（ステップＳ１５０３）、（Ｎ＋１）つ組候補除去処理を実行する（ステップＳ１５０４）。これにより確定組が保持され、ステップＳ６０７に移行する。
【００９６】
なお、確定組除去処理（ステップＳ６０６）では、前向き処理（ステップＳ１５０１）とその（Ｎ＋１）つ組候補除去処理（ステップＳ１５０２）のみ実行してもよく、後ろ向き処理（ステップＳ１５０３）とその（Ｎ＋１）つ組候補除去処理（ステップＳ１５０４）のみ実行することとしてもよい。後ろ向き処理（ステップＳ１５０３）に先立って、前向き処理（ステップＳ１５０１）とその（Ｎ＋１）つ組候補除去処理（ステップＳ１５０２）を実行しておくことにより、後ろ向き処理（ステップＳ１５０３）に送る（Ｎ＋１）つ組候補の出力数を削減することができ、後ろ向き処理（ステップＳ１５０３）において、効率的に確定組を除去することができる。
【００９７】
図１６は、図１３に示した前向き処理の詳細な処理手順を示すフローチャートである。図１６において、まず、除去候補数ｉをｉ＝０とし（ステップＳ１６０１）、入力（Ｎ＋１）つ組候補番号ｎをｎ＝１とする（ステップＳ１６０２）。検出フラグｆをｆ＝０とし（ステップＳ１６０３）、出力（Ｎ＋１）つ組候補番号ｍをｍ＝１とする（ステップＳ１６０４）。そして、ｍ≠ｎであるか否かを判断する（ステップＳ１６０５）。
【００９８】
ｍ≠ｎでない場合（ステップＳ１６０５：Ｎｏ）、ステップＳ１６０８に移行する。一方、ｍ≠ｎである場合（ステップＳ１６０５：Ｙｅｓ）、ｎ番目のデータ単語候補の文字番号に、ｍ番目のデータ単語候補の文字番号が含まれているか否かを判断する（ステップＳ１６０６）。含まれている場合（ステップＳ１６０６：Ｙｅｓ）、検出フラグｆをｆ＝１にして（ステップＳ１６０７）、ステップＳ１６０８に移行する。一方、含まれていない場合（ステップＳ１６０６：Ｎｏ）、検出フラグｆはｆ＝０のままでステップＳ１６０８に移行する。
【００９９】
ステップＳ１６０８では、出力（Ｎ＋１）つ組候補番号ｍをインクリメントして（ステップＳ１６０８）、ｍ≦ｍｍａｘであるか否かを判断する（ステップＳ１６０９）。ここで、ｍｍａｘとは、（Ｎ＋１）つ組候補数である。ｍ≦ｍｍａｘである場合（ステップＳ１６０９：Ｙｅｓ）、ステップＳ１６０５に移行する。一方、ｍ≦ｍｍａｘでない場合（ステップＳ１６０９：Ｎｏ）、検出フラグｆ＝０であるか否かを判断する（ステップＳ１６１０）。
【０１００】
ｆ＝０でない場合（ステップＳ１６１０：Ｎｏ）、ステップＳ１６１３に移行する。一方、ｆ＝０である場合（ステップＳ１６１０：Ｙｅｓ）、ｎ番目の（Ｎ＋１）つ組候補を除去候補として保存する（ステップＳ１６１１）。このあと、除去候補数ｉをインクリメントして（ステップＳ１６１２）、入力（Ｎ＋１）つ組候補番号ｎをインクリメントして（ステップＳ１６１３）、ｎ≦ｍｍａｘであるか否かを判断する（ステップＳ１６１４）。
【０１０１】
ｎ≦ｍｍａｘである場合（ステップＳ１６１４：Ｙｅｓ）、ステップＳ１６０３に戻る。一方、ｎ≦ｍｍａｘでない場合（ステップＳ１６１４：Ｎｏ）、前向き処理を終了して、ステップＳ１５０２に移行する。
【０１０２】
図１７は、（Ｎ＋１）つ組候補除去処理（ステップＳ１５０２またはＳ１５０４）の詳細な処理手順を示すフローチャートである。図１７において、まず、入力（Ｎ＋１）つ組候補番号ｎをｎ＝１とし（ステップＳ１７０１）、出力（Ｎ＋１）つ組候補番号ｍをｍ＝１とし（ステップＳ１７０２）、除去配列番号ｐをｐ＝１とする（ステップＳ１７０３）。
【０１０３】
ここで、入力（Ｎ＋１）つ組候補とは、前段の処理の出力結果である。すなわち、（Ｎ＋１）つ組候補除去処理がステップＳ１５０２である場合には、入力（Ｎ＋１）つ組候補とは、図１６に示した前向き処理（ステップＳ１５０１）から出力された（Ｎ＋１）つ組候補であり、この（Ｎ＋１）つ組候補除去処理（ステップＳ１５０２）により、（Ｎ＋１）つ組候補を確定させる。
【０１０４】
一方、（Ｎ＋１）つ組候補除去処理がステップＳ１５０４である場合には、入力（Ｎ＋１）つ組候補とは、図１８に示す後ろ向き処理（ステップＳ１５０３）から出力された（Ｎ＋１）つ組候補であり、この（Ｎ＋１）つ組候補除去処理（ステップＳ１５０４）により、（Ｎ＋１）つ組候補を確定させる。
【０１０５】
図１７に戻って、ステップＳ１７０３のあと、ｅ（ｐ）＝ｎであるか否かを判断する（ステップＳ１７０４）。ここで、ｅ（ｐ）とは、除去配列番号ｐの入力（Ｎ＋１）つ組候補（図１６のステップＳ１６１１で保存された除去候補）である。
【０１０６】
ｅ（ｐ）＝ｎである場合（ステップＳ１７０４：Ｙｅｓ）、ステップＳ１７０７に移行する。一方、ｅ（ｐ）＝ｎでない場合（ステップＳ１７０４：Ｎｏ）、ｎ番目の入力（Ｎ＋１）つ組候補を、出力（Ｎ＋１）つ組候補群にコピーする（ステップＳ１７０５）。このあと、出力（Ｎ＋１）つ組候補番号ｍをインクリメントして（ステップＳ１７０６）、除去配列番号ｐをインクリメントする（ステップＳ１７０７）。そして、ｐ≦ｐｍａｘであるか否かを判断する（ステップＳ１７０８）。ここで、ｐｍａｘとは除去候補となった（Ｎ＋１）つ組候補数である。
【０１０７】
ｐ≦ｐｍａｘである場合（ステップＳ１７０８：Ｙｅｓ）、ステップＳ１７０４に戻る。一方、ｐ≦ｐｍａｘでない場合（ステップＳ１７０８：Ｎｏ）、入力（Ｎ＋１）つ組候補番号ｎをインクリメントして（ステップＳ１７０９）、ｎ≦ｎｍａｘであるか否かを判断する（ステップＳ１７１０）。ここで、ｎｍａｘとは、入力（Ｎ＋１）つ組候補数である。
【０１０８】
ｎ≦ｎｍａｘである場合（ステップＳ１７１０：Ｙｅｓ）、ステップＳ１７０２に戻る。一方、ｎ≦ｎｍａｘでない場合（ステップＳ１７１０：Ｎｏ）、ステップＳ１７０５で得られた出力（Ｎ＋１）つ組候補群を出力する（ステップＳ１７１１）。このあと、（Ｎ＋１）つ組候補除去処理がステップＳ１５０２であればステップＳ１５０３に移行し、ステップＳ１５０４であればステップＳ６０７に移行する。
【０１０９】
図１８は、図１４に示した後ろ向き処理の詳細な処理手順を示すフローチャートである。図１８において、まず、除去候補数ｉをｉ＝０とし（ステップＳ１８０１）、入力（Ｎ＋１）つ組候補番号ｎをｎ＝１とする（ステップＳ１８０２）。検出フラグｆをｆ＝０とし（ステップＳ１８０３）、出力（Ｎ＋１）つ組候補番号ｍをｍ＝１とする（ステップＳ１８０４）。そして、ｍ≠ｎであるか否かを判断する（ステップＳ１８０５）。
【０１１０】
ｍ≠ｎでない場合（ステップＳ１８０５：Ｎｏ）、ステップＳ１８０７に移行する。一方、ｍ≠ｎである場合（ステップＳ１８０５：Ｙｅｓ）、見出し論理要素比較処理を実行する（ステップＳ１８０６）。見出し論理要素比較処理（ステップＳ１８０６）については後述する。
【０１１１】
見出し論理要素比較処理（ステップＳ１８０６）のあと、（Ｎ＋１）つ組候補番号ｍをインクリメントし（ステップＳ１８０７）、ｍ≦ｎｍａｘであるか否かを判断する（ステップＳ１８０８）。ここで、ｎｍａｘとは、（Ｎ＋１）つ組候補数である。ｍ≦ｎｍａｘである場合（ステップＳ１８０８：Ｙｅｓ）、ステップＳ１８０５に戻る。一方、ｍ≦ｎｍａｘでない場合（ステップＳ１８０８：Ｎｏ）、検出フラグｆがｆ＝０であるか否かを判断する（ステップＳ１８０９）。
【０１１２】
ｆ＝０でない場合（ステップＳ１８０９：Ｎｏ）、ステップＳ１８１２に移行する。一方、ｆ＝０である場合（ステップＳ１８０９：Ｙｅｓ）、ｎ番目の（Ｎ＋１）つ組候補を除去候補として保存する（ステップＳ１８１０）。このあと、除去候補数ｉをインクリメントして（ステップＳ１８１１）、（Ｎ＋１）つ組候補番号ｎをインクリメントして（ステップＳ１８１２）、ｎ≦ｍｍａｘであるか否かを判断する（ステップＳ１８１３）。
【０１１３】
ｎ≦ｍｍａｘである場合（ステップＳ１８１３：Ｙｅｓ）、ステップＳ１８０３に戻る。一方、ｎ≦ｍｍａｘでない場合（ステップＳ１８１３：Ｎｏ）、後ろ向き処理を終了して、ステップＳ１５０４に移行する。
【０１１４】
図１９は、図１８に示した見出し論理要素比較処理（ステップＳ１８０６）の詳細な処理手順を示すフローチャートである。図１９において、（Ｎ＋１）つ組候補番号ｎの見出し番号ｊをｊ＝１とし（ステップＳ１９０１）、（Ｎ＋１）つ組候補番号ｍの見出し番号ｋをｋ＝１とし（ステップＳ１９０２）、見出し同値フラグｆｆをｆｆ＝０とする（ステップＳ１９０３）。
【０１１５】
そして、見出し番号ｊの見出し単語候補の論理要素が見出し番号ｋの見出し単語候補の論理要素に等しいか否かを判断する（ステップＳ１９０４）。等しくない場合（ステップＳ１９０４：Ｎｏ）、見出し同値フラグｆｆをインクリメントして（ステップＳ１９０６）、ステップＳ１９０９に移行する。一方、等しい場合（ステップＳ１９０４：Ｙｅｓ）、見出し番号ｊの見出し単語候補の文字番号列と見出し番号ｋの見出し単語候補の文字番号列とが等しいか否かを判断する（ステップＳ１９０５）。
【０１１６】
等しい場合（ステップＳ１９０５：Ｙｅｓ）、見出し同値フラグｆｆをインクリメントして（ステップＳ１９０６）、ステップＳ１９０９に移行する。一方、等しくない場合（ステップＳ１９０５：Ｎｏ）、見出し番号ｋをインクリメントして（ステップＳ１９０７）、ｋ≦ｋｍａｘであるか否かを判断する（ステップＳ１９０８）。ここで、ｋｍａｘは、見出し数である。ｋ≦ｋｍａｘである場合（ステップＳ１９０８：Ｙｅｓ）、ステップＳ１９０３に戻り、見出し同値フラグがｆｆ＝０にリセットされる。
【０１１７】
一方、ｋ≦ｋｍａｘでない場合（ステップＳ１９０８：Ｎｏ）、見出し番号ｊをインクリメントして（ステップＳ１９０９）、ｊ＝ｊｍａｘであるか否かを判断する（ステップＳ１９１０）。ｊ＝ｊｍａｘでない場合（ステップＳ１９１０：Ｎｏ）、見出し同値フラグｆｆがｆｆ＝ｋｍａｘであるか否かを判断する（ステップＳ１９１１）。ここで、ｋｍａｘは、見出し数である。ｆｆ＝ｋｍａｘでない場合（ステップＳ１９１１：Ｎｏ）、見出し論理要素比較処理（ステップＳ１８０６）を終了して、ステップＳ１８０７に移行する。一方、ｆｆ＝ｋｍａｘである場合（ステップＳ１９１１：Ｙｅｓ）、検出フラグｆをｆ＝１に設定して（ステップＳ１９１２）、見出し論理要素比較処理（ステップＳ１８０６）を終了して、ステップＳ１８０７に移行する。
【０１１８】
このように、上述した実施の形態では、図１に示したような帳票１００の論理構造を認識することができる。また、上述した実施の形態では、表や見出しの順序それにレイアウトに依存しない帳票１００についても適用することができる。
【０１１９】
図２０は、帳票の他の例を示す説明図である。（Ａ）に示す帳票２００１は、１７年度の旅費、設備費、消耗品費を１行で記載した帳票である。（Ｂ）に示す帳票２００２は、１７年度の旅費、設備費、消耗品費と、１８年度の旅費、設備費、消耗品費と、を２行で記載した帳票である。
【０１２０】
図２１は、図２０（Ａ）に示した帳票２００１から得られる二つ組候補を示す説明図である。図２１中、太線楕円は、見出し単語候補をあらわし、細線楕円はデータ単語候補をあらわす。帳票２００１が１行であらわされている場合、見出し単語候補と二つ組を構成する可能性のあるデータ単語候補は、その見出し単語候補の右方向に位置することとなる。この性質を利用して二つ組候補を生成する。
【０１２１】
図２１では、二つ組候補群２１０１はデータ単語候補が３つ存在するため、３つの二つ組候補（｛１７年度、１００，０００｝、｛１７年度、４００，０００｝、｛１７年度、３，０００｝）が生成される。二つ組候補群２１０２もデータ単語候補が３つ存在するため、３つの二つ組候補（｛旅費、１００，０００｝、｛旅費、４００，０００｝、｛旅費、３０００｝）が生成される。
【０１２２】
二つ組候補群２１０３はデータ単語候補が２つ存在するため、２つの二つ組候補（｛設備費、４００，０００｝、｛設備費、３，０００｝）が生成される。二つ組候補群２１０４は、データ単語候補が１つ存在するため、そのまま二つ組｛消耗品費、３，０００｝）として決まる。
【０１２３】
図２２は、図２０（Ａ）に示した帳票２００１から得られる（Ｎ＋１）つ組候補を示す説明図である。ここでは、２種類の見出し論理要素（品目と年度）を用いているため、Ｎ＝２である。（Ａ）では、三つ組候補群２２０１はデータ単語候補が３つ存在するため、３個の三つ組候補（｛１７年度、旅費、１００，０００｝、｛１７年度、旅費、４００，０００｝、｛１７年度、旅費、３，０００｝）が生成される。
【０１２４】
この３個の三つ組候補のうち、｛１７年度、旅費、１００，０００｝のデータ単語候補“１００，０００”は、他の三つ組候補群２２０２，２２０３には用いられていないため、三つ組候補のうち、｛１７年度、旅費、１００，０００｝は前向き処理（ステップＳ１５０１）で確定・除去される。
【０１２５】
（Ｂ）では、三つ組候補群２２０２はデータ単語候補が２つ存在するため、２個の三つ組候補（｛１７年度、設備費、４００，０００｝、｛１７年度、設備費、３，０００｝）が生成される。（Ｃ）では、三つ組候補群２２０３はデータ単語候補が１つ存在するため、そのまま三つ組｛１７年度、消耗品費、３，０００｝）が生成される。この三つ組候補（群）２２０３は、データ単語候補が“３，０００”のみであるため、後ろ向き処理（ステップＳ１５０３）で確定・除去される。
【０１２６】
図２３は、図２０（Ｂ）に示した帳票２００２から得られる二つ組候補を示す説明図である。図２３中、太線楕円は、見出し単語候補をあらわし、細線楕円はデータ単語候補をあらわす。帳票２００２が複数行（ここでは２行）であらわされている場合、見出し単語候補と二つ組を構成する可能性のあるデータ単語候補は、その見出し単語候補の右方向、下方向、または右下方向に位置することとなる。この性質を利用して二つ組候補を生成する。
【０１２７】
〔見出し単語候補評価部５０６の詳細説明〕
図２３では、同一のデータ単語候補“５，０００”に対して見出し単語候補として“１８年度”および“消耗品費”を選択した場合の三つ組候補を示している。（Ａ）は、１７年度の行の"消耗品費"を選択した場合の三つ組候補２３０１を示しており、（Ｂ）は、１８年度の行の“消耗品費”を選択した場合の三つ組候補２３０２を示している。
【０１２８】
このように、同一の見出し単語候補“消耗品費”が複数存在する場合は、三つ組候補を一意に特定することができなくなる。そのため、同一のデータ単語候補“５，０００”の位置を基準とした場合の各見出し単語候補“消耗品費”の位置により、どの見出し単語候補が正しいかを判断する。このような処理は、図５に示した見出し単語候補評価部５０６がおこなう。
【０１２９】
図２４は、同一の見出し単語候補“消耗品費”が複数存在する場合の見出し単語候補の評価手法を示す説明図である。帳票では、見出し単語候補により特定される可能性のあるデータ単語候補は、その見出し単語候補の右方向、下方向、または右下方向に位置すれば特定される可能性があるが、図２４のように、右方向と右下方向で競合する場合、右方向を優先して採用する。同様に、下方向と右下方向で競合する場合も下方向を優先して採用する。すなわち、データ単語候補からみて水平または垂直方向（またはそれに近い方向）に位置する見出し単語候補を優先する。
【０１３０】
より具体的には、見出し単語候補の外接矩形２４０２，２４０３の各重心ｇ２，ｇ３とデータ単語候補の外接矩形２４０１の重心ｇ１とを結ぶ線分Ｌ１２，Ｌ１３を求め、データ単語候補の重心ｇ１を通る水平線Ｌに対し線分Ｌ１２，Ｌ１３が垂直または水平にどの程度近いか、すなわち、角度θ１２，θ１３を評価することによって妥当な見出し単語候補を選択することができる。
【０１３１】
角度θ１２は、水平線Ｌと線分Ｌ１２とのなす角度であり、角度θ１３は、水平線Ｌと線分Ｌ１３とのなす角度である。そして、各角度のｓｉｎ２θを求める。θには、角度θ１２，θ１３を代入する。その結果、ｓｉｎ２θの値が０となった場合、水平または垂直（またはそれに近い）と判断して、その見出し単語候補を、妥当な見出し単語候補として選択する。
【０１３２】
図２４に示した例では、θ１３が１８０度であるため、ｓｉｎ２θの値が０となり、外接矩形２４０３の見出し単語候補が選ばれる。すなわち、図２３では、（Ｂ）に示した三つ組候補が正解となる。
【０１３３】
図２５は、見出し単語候補評価処理（ステップＳ６０７）の詳細な手順を示すフローチャートである。図２５において、まず、評価対象候補数ｉをｉ＝０とし（ステップＳ２５０１）、（Ｎ＋１）つ組候補番号ｎをｎ＝１とし（ステップＳ２５０２）、検出フラグｆをｆ＝０とし（ステップＳ２５０３）、もう一方の（Ｎ＋１）つ組候補番号ｍをｍ＝１とする（ステップＳ２５０４）。
【０１３４】
そして、番号ｎの（Ｎ＋１）つ組候補と番号ｍの（Ｎ＋１）つ組候補とは、同じ論理要素グループの同じ論理要素であるか否かを判断する（ステップＳ２５０５）。同じ論理要素グループの同じ論理要素でない場合（ステップＳ２５０５：Ｎｏ）、ステップＳ２５１３に移行する。一方、同じ論理要素グループの同じ論理要素である場合（ステップＳ２５０５：Ｙｅｓ）、ｍ≠ｎであるか否かを判断する（ステップＳ２５０６）。
【０１３５】
ｍ≠ｎでない場合（ステップＳ２５０６：Ｎｏ）、ステップＳ２５１３に移行する。ｍ≠ｎである場合（ステップＳ２５０６：Ｙｅｓ）、番号ｎの（Ｎ＋１）つ組候補のデータ単語候補の文字番号に、番号ｍの（Ｎ＋１）つ組候補のデータ単語候補の文字番号が含まれているか否かを判断する（ステップＳ２５０７）。
【０１３６】
含まれていない場合（ステップＳ２５０７：Ｎｏ）、ステップＳ２５１３に移行する。一方、含まれている場合（ステップＳ２５０７：Ｙｅｓ）、番号ｎの（Ｎ＋１）つ組候補と番号ｍの（Ｎ＋１）つ組候補との間で、論理要素グループ、論理要素、文字番号が一致しない見出し単語候補数を計数する（ステップＳ２５０８）。
【０１３７】
そして、見出し単語候補数の差が１つ以下であるか否かを判断する（ステップＳ２５０９）。差が１つ以下でない場合（ステップＳ２５０９：Ｎｏ）、ステップＳ２５１３に移行する。一方、差が１つ以下である場合（ステップＳ２５０９：Ｙｅｓ）、その見出し単語候補とデータ単語候補との角度を算出する（ステップＳ２５１０）。そして、番号ｎの（Ｎ＋１）つ組候補の見出し単語候補の位置が、データ単語候補の位置に対して水平または垂直（または近い）か否かを判断する（ステップＳ２５１１）。
【０１３８】
水平または垂直（または近い）でない場合（ステップＳ２５１１：Ｎｏ）、ステップＳ２５１３に移行する。一方、水平または垂直（または近い）である場合（ステップＳ２５１１：Ｙｅｓ）、検出フラグｆをｆ＝１とし（ステップＳ２５１２）、ｍをインクリメントする（ステップＳ２５１３）。
【０１３９】
そして、ｍ≦ｍｍａｘであるか否かを判断する（ステップＳ２５１４）。ここで、ｍｍａｘとは、（Ｎ＋１）つ組候補数である。ｍ≦ｍｍａｘである場合（ステップＳ２５１４：Ｙｅｓ）、ステップＳ２５０５に戻る。一方、ｍ≦ｍｍａｘでない場合（ステップＳ２５１４：Ｎｏ）、検出フラグｆがｆ＝１であるか否かを判断する（ステップＳ２５１５）。
【０１４０】
ｆ＝１でない場合（ステップＳ２５１５：Ｎｏ）、除去候補対象外であるため、ステップＳ２５１７に移行する。一方、ｆ＝１である場合（ステップＳ２５１５：Ｙｅｓ）、そのｎ番目の（Ｎ＋１）つ組候補を除去候補ｅ（ｐ）として保存して（ステップＳ２５１６）、番号ｎをインクリメントする（ステップＳ２５１７）。
【０１４１】
このあと、ｎ≦ｍｍａｘであるか否かを判断する（ステップＳ２５１８）。ｎ≦ｍｍａｘである場合（ステップＳ２５１８：Ｙｅｓ）、ステップＳ２５０４に戻る。一方、ｎ≦ｍｍａｘでない場合（ステップＳ２５１８：Ｎｏ）、見出し単語候補評価処理を終了する。このステップＳ２５１６で保存された除去候補ｅ（ｐ）が確定した（Ｎ＋１）つ組として出力されることとなる。
【０１４２】
図２６は、同一の見出し単語候補“消耗品費”が複数存在する場合の見出し単語候補の他の評価手法を示す説明図である。図２６では、一組の見出し単語候補の外接矩形およびデータ単語候補の外接矩形を包含するあらたな外接矩形の大きさ（面積）により、妥当な見出し単語候補を採用する例である。外接矩形が小さい方の見出し単語候補が採用される。
【０１４３】
外接矩形２６０１は、データ単語候補の外接矩形２４０１と見出し単語候補の外接矩形２４０２に外接する矩形であり、外接矩形２６０２は、データ単語候補の外接矩形２４０１と見出し単語候補の外接矩形２４０３に外接する矩形である。両外接矩形２６０１，２６０２を比較すると、外接矩形２６０２のほうが小さいので、その外接矩形２６０２に含まれる外接矩形２４０３の見出し単語候補が妥当な見出し単語候補として選ばれる。
【０１４４】
図２７は、見出し単語候補評価処理（ステップＳ６０７）の詳細な他の手順を示すフローチャートである。図２７のフローチャートは、図２５のフローチャートのステップＳ２５１０，Ｓ２５１１がステップＳ２７１０，Ｓ２７１１に置き換わっただけで、残余のステップは図２５と同一である。
【０１４５】
ステップＳ２７１０では、各番号ｎ，ｍの見出し単語候補を検出し、共通のデータ単語候補を組み合わせて、番号ｎの見出し単語候補の外接矩形およびデータ単語候補の外接矩形を包含する番号ｎの外接矩形と、番号ｍの見出し単語候補の外接矩形およびデータ単語候補の外接矩形を包含する番号ｍの外接矩形と生成し、両外接矩形の面積を算出する。そして、ステップＳ２７１１に移行する。
【０１４６】
ステップＳ２７１１では、番号ｎの外接矩形の面積が番号ｍの外接矩形の面積より小さいか否かを判断する。小さくなければ（ステップＳ２７１１：Ｎｏ）、ステップＳ２５１３に移行する。一方、小さければ（ステップＳ２７１１：Ｙｅｓ）、ステップＳ２５１２に移行する。後の処理は図２５と同様である。
【０１４７】
このように、見出し単語候補評価部５０６によれば、同一の見出し単語候補が複数存在しても、妥当な見出し単語候補を特定することができ、帳票の論理構造認識の高精度化を測ることができる。
【０１４８】
〔データ単語候補評価部５０７の詳細説明〕
つぎに、図５に示したデータ単語候補評価部５０７の詳細説明をする。図２８は、帳票の別の例を示す説明図である。（Ａ）に示すように、帳票２８００の見出し項目（“旅費”、“設備費”）やデータ（“１００，０００”、“４００，０００”）には、２段併記されている箇所が含まれている。人間が見ると、旅費が１００，０００（円）であり、設備費が４００，０００（円）であることが直感的に分かるが、この論理構造を上述したように認識する場合、一意に特定することができない。
【０１４９】
図２８の例では、見出し項目２８０１の見出し単語候補は“１７年度”のみであるが、見出し項目２８０２の見出し単語候補は２つ（"旅費"、"設備費"）存在する。同様に、データ項目２８０３のデータ単語候補も２つ（"１００，０００"、"４００，０００"）存在する。したがって、三つ組候補としては、（Ｂ）〜（Ｅ）の４通り存在する。図２８中、太線楕円は、見出し単語候補をあらわし、細線楕円はデータ単語候補をあらわす。
【０１５０】
（Ｂ）は、見出し単語候補“１７年度”と見出し単語候補“旅費”とデータ単語候補“１００，０００”からなる三つ組候補２８Ｂを示している。（Ｃ）は、見出し単語候補“１７年度”と見出し単語候補“設備費”とデータ単語候補“４００，０００”からなる三つ組候補２８Ｃを示している。
【０１５１】
（Ｄ）は、見出し単語候補“１７年度”と見出し単語候補“旅費”とデータ単語候補“４００，０００”からなる三つ組候補２８Ｄを示している。（Ｅ）は、見出し単語候補“１７年度”と見出し単語候補“設備費”とデータ単語候補“１００，０００”からなる三つ組候補２８Ｅを示している。
【０１５２】
三つ組候補群２８Ｂ〜２８Ｅを特定したら、見出し項目２８０２から選ばれた見出し単語候補とデータ項目から選ばれたデータ単語候補との間の距離を算出し、三つ組候補群２８Ｂ〜２８Ｅの中から、算出距離が同一となる三つ組候補の組み合わせを特定する。
【０１５３】
図２９は、三つ組候補の組み合わせの評価例を示す説明図である。（Ａ）は、三つ組候補群２８Ｂ，２８Ｃの組み合わせの評価例であり、（Ｂ）は、三つ組候補群２８Ｄ，２８Ｅの組み合わせの評価例である。各三つ組候補群２８Ｂ〜２８Ｅで算出された距離をそれぞれｄｂ，ｄｃ，ｄｄ，ｄｅとする。（Ａ）では、距離ｄｂ，ｄｃが等しく、（Ｂ）では、距離ｄｄ，ｄｅの長さは異なる。したがって、三つ組候補群２８Ｂ，２８Ｃが妥当な三つ組候補として選ばれることとなる。なお、実際に妥当な三つ組候補を選択する場合、見出し単語候補とデータ単語候補との重心間の距離を求め、分散が小さい三つ組候補が選ばれることとなる。
【０１５４】
図３０は、データ単語候補評価処理（ステップＳ６０８）の詳細な手順を示すフローチャートである。図３０において、まず、（Ｎ＋１）つ組候補番号ｎをｎ＝１とし（ステップＳ３００１）、候補番号ｎと同時に成立する（Ｎ＋１）つ組候補（同時成立候補）の数ｔｂｌ＿ｍａｘを、ｔｂｌ＿ｍａｘ（ｎ）＝０に設定する（ステップＳ３００２）。そして、候補番号テーブルｔｂｌ（ｉ，ｊ）（ただし、ｉ＝１〜ｎ−１，ｊ＝１〜ｔｂｌ＿ｍａｘ（ｉ））に候補番号ｎがあるか否かを判断する（ステップＳ３００３）。
【０１５５】
候補番号ｎがある場合（ステップＳ３００３：Ｙｅｓ）、ステップＳ３０１４に移行する。一方、候補番号ｎがない場合（ステップＳ３００３：Ｎｏ）、候補番号テーブルｔｂｌ（ｉ，ｊ）を、ｔｂｌ（ｎ，１）＝１に設定し（ステップＳ３００４）、ｔｂｌ＿ｍａｘ（ｎ）＝１に設定する（ステップＳ３００５）。
【０１５６】
このあと、候補番号ｎの（Ｎ＋１）つ組候補の同時成立候補の候補番号ｍをｍ＝１に設定に設定する（ステップＳ３００６）。そして、同時成立可能性確認処理を実行する（ステップＳ３００７）。この同時成立可能性確認処理（ステップＳ３００７）については後述する。
【０１５７】
このあと、同時成立可能性フラグをｆとし、同時成立可能性フラグｆがｆ＝１であるか否かを判断する（ステップＳ３００８）。ｆ＝１でない場合（ステップＳ３００８：Ｎｏ）、ステップＳ３０１１に移行する。一方、ｆ＝１である場合（ステップＳ３００８：Ｙｅｓ）、同時成立候補数ｔｂｌ＿ｍａｘ（ｎ）を、ｔｂｌ＿ｍａｘ（ｎ）＝ｔｂｌ＿ｍａｘ（ｎ）＋１とし（ステップＳ３００９）、候補番号テーブルｔｂｌ（ｉ，ｊ）を、ｔｂｌ（ｎ，ｔｂｌ＿ｍａｘ（ｎ））＝ｍに設定する（ステップＳ３０１０）。
【０１５８】
このあと、同時成立候補番号ｍをインクリメントする（ステップＳ３０１１）。そして、ｍ≦ｎｍａｘであるか否かを判断する（ステップＳ３０１２）。ここで、ｎｍａｘは、（Ｎ＋１）つ組候補数である。ｍ≦ｎｍａｘである場合（ステップＳ３０１２：Ｙｅｓ）、ステップＳ３００７に移行する。一方、ｍ≦ｎｍａｘでない場合（ステップＳ３０１２：Ｎｏ）、重心距離分散算出処理を実行する（ステップＳ３０１３）。この重心距離分散算出処理（ステップＳ３０１３）については後述する。
【０１５９】
このあと、候補番号ｎをインクリメントし（ステップＳ３０１４）、ｎ≦ｎｍａｘであるか否かを判断する（ステップＳ３０１５）。ｎ≦ｎｍａｘである場合（ステップＳ３０１５：Ｙｅｓ）、ステップＳ３００２に移行する。一方、ｎ≦ｎｍａｘでない場合（ステップＳ３０１５：Ｎｏ）、最小分散選択処理を実行する（ステップＳ３０１６）。この最小分散選択処理（ステップＳ３０１６）については後述する。
【０１６０】
このあと、最小分散選択処理（ステップＳ３０１６）で選択された（Ｎ＋１）つ組候補番号ｔｂｌ（ｍｉｎ＿ｎ，＊）のｔｂｌ＿ｍａｘ（ｍｉｎ＿ｎ）個の候補を除去候補としてコピーする（ステップＳ３０１７）。そして、ステップＳ６０９へ移行する。
【０１６１】
図３１は、同時成立可能性確認処理（ステップＳ３００７）の詳細な処理手順を示すフローチャートである。図３１において、まず、同時成立可能性フラグｆをｆ＝０とし（ステップＳ３１０１）、候補番号ｎの（Ｎ＋１）つ組候補のデータ単語候補の論理要素グループと候補番号ｍの（Ｎ＋１）つ組候補のデータ単語候補の論理要素グループが等しいか否かを判断する（ステップＳ３１０２）。等しくない場合（ステップＳ３１０２：Ｎｏ）、同時成立可能性フラグｆをｆ＝０にして（ステップＳ３１１４）、ステップＳ３００８に移行する。
【０１６２】
一方、等しい場合（ステップＳ３１０２：Ｙｅｓ）、候補番号ｎの（Ｎ＋１）つ組候補のデータ単語候補の論理要素と候補番号ｍの（Ｎ＋１）つ組候補のデータ単語候補の論理要素が等しいか否かを判断する（ステップＳ３１０３）。等しい場合（ステップＳ３１０３：Ｙｅｓ）、同時成立可能性フラグｆをｆ＝０にして（ステップＳ３１１４）、ステップＳ３００８に移行する。
【０１６３】
一方、等しくない場合（ステップＳ３１０３：Ｎｏ）、候補番号ｎの（Ｎ＋１）つ組候補のデータ単語候補の文字番号列と候補番号ｍの（Ｎ＋１）つ組候補のデータ単語候補の文字番号列に同一の文字番号が存在するか否かを判断する（ステップＳ３１０４）。存在する場合（ステップＳ３１０４：Ｙｅｓ）、同時成立可能性フラグｆをｆ＝０にして（ステップＳ３１１４）、ステップＳ３００８に移行する。
【０１６４】
一方、存在しない場合（ステップＳ３１０４：Ｎｏ）、候補番号ｎの見出し番号ｐをｐ＝０とし（ステップＳ３１０５）、候補番号ｍの見出し番号ｑをｑ＝０とする（ステップＳ３１０６）。そして、見出し番号ｐの論理要素グループと見出し番号ｑの論理要素グループとが等しいか否かを判断する（ステップＳ３１０７）。等しくない場合（ステップＳ３１０７：Ｎｏ）、同時成立可能性フラグｆをｆ＝０にして（ステップＳ３１１４）、ステップＳ３００８に移行する。
【０１６５】
一方、等しい場合（ステップＳ３１０７：Ｙｅｓ）、見出し番号ｐの論理要素と見出し番号ｑの論理要素とが等しいか否かを判断する（ステップＳ３１０８）。等しい場合（ステップＳ３１０８：Ｙｅｓ）、ステップＳ３１１１に移行する。
【０１６６】
一方、等しくない場合（ステップＳ３１０８：Ｎｏ）、同時成立可能性フラグｆをｆ＝１にして（ステップＳ３１０９）、見出し番号ｑをインクリメントする（ステップＳ３１１０）。このあと、ｑ≦ｐｍａｘであるか否かを判断する（ステップＳ３１１１）。ここで、ｐｍａｘは、見出し単語候補数である。
【０１６７】
ｑ≦ｐｍａｘである場合（ステップＳ３１１１：Ｙｅｓ）、ステップＳ３１０７に戻る。ｑ≦ｐｍａｘでない場合（ステップＳ３１１１：Ｎｏ）、見出し番号ｐをインクリメントして、ｐ≦ｐｍａｘであるか否かを判断する（ステップＳ３１１２）。ｐ≦ｐｍａｘである場合（ステップＳ３１１３：Ｙｅｓ）、ステップＳ３１０６に戻る。一方、ｐ≦ｐｍａｘでない場合（ステップＳ３１１３：Ｎｏ）、ステップＳ３００８に移行する。
【０１６８】
図３２−１は、重心距離分散算出処理（ステップＳ３０１３）の詳細な処理手順を示すフローチャートである。図３２−１において、まず、平均をあらわす変数ａをａ＝０とし（ステップＳ３２０１）、分散をあらわす変数ｂをｂ＝０とし（ステップＳ３２０２）、対象要素抽出処理を実行する（ステップＳ３２０３）。対象要素抽出処理（ステップＳ３２０３）については後述する。
【０１６９】
このあと、ｊ＝０とし（ステップＳ３２０４）、同時成立候補の候補番号ｋをｋ＝ｔｂｌ（ｎ，ｊ）とする（ステップＳ３２０５）。そして、他の同時成立候補とは異なる単語候補を検索する（ステップＳ３２０６）。このあと、ｘ＝ＤＧＸ（ｋ）−ＤＨＸ（ｋ，ｌ）を算出する（ステップＳ３２０７）。ＤＧＸ（ｋ）とは、候補番号ｋの同時成立候補のデータ単語候補の重心のＸ座標値であり、ＤＨＸ（ｋ，ｌ）は、候補番号ｋの同時成立候補のｌ番目の見出し単語候補の重心のＸ座標値である。
【０１７０】
そして、同様に、ｙ＝ＤＧＹ（ｋ）−ＤＨＹ（ｋ，ｌ）を算出する（ステップＳ３２０８）。ＤＧＹ（ｋ）とは、候補番号ｋの同時成立候補のデータ単語候補の重心のＹ座標値であり、ＤＨＹ（ｋ，ｌ）は、候補番号ｋの同時成立候補のｌ番目の見出し単語候補の重心のＹ座標値である。このあと、算出されたｘおよびｙを用いて、候補番号ｋの同時成立候補のｌ番目の見出し単語候補とデータ単語候補との間の距離ｄを算出する（ステップＳ３２０９）。
【０１７１】
そして、算出された距離ｄを、平均をあらわす変数ａに加算して変数ａを更新し（ステップＳ３２１０）、分散をあらわす変数ｂに距離ｄの二乗を加算して変数ｂを更新し（ステップＳ３２１１）、ｊをインクリメントする（ステップＳ３２１２）。そして、ｊ≦ｔｂｌ＿ｍａｘ（ｎ）であるか否かを判断する（ステップＳ３２１３）。
【０１７２】
ｊ≦ｔｂｌ＿ｍａｘ（ｎ）である場合（ステップＳ３２１３：Ｙｅｓ）、ステップＳ３２０５に戻る。一方、ｊ≦ｔｂｌ＿ｍａｘ（ｎ）でない場合（ステップＳ３２１３：Ｎｏ）、変数ａを平均ｍｅａｎ（ｎ）として保存し（ステップＳ３２１４）、変数ｂを分散ｖａｒ（ｎ）として保存する（ステップＳ３２１５）。これにより、重心距離分散算出処理を終了して、ステップＳ３０１４に移行する。
【０１７３】
図３２−２は、対象要素抽出処理（ステップＳ３２０３）の詳細な処理手順を示すフローチャートである。図３２−２において、まず、対象要素番号ｌ（＊，＊）を、ｌ（＊，＊）＝０とし（ステップＳ３２２１）、候補番号テーブルｔｂｌ（ｎ，ｌ）の見出し番号ｐをｐ＝１とし（ステップＳ３２２２）、同時成立候補番号ｚをｚ＝２とし（ステップＳ３２２３）、候補番号テーブルｔｂｌ（ｎ，ｚ）の見出し番号ｑをｑ＝１とする（ステップＳ３２２４）。
【０１７４】
見出し番号ｐの論理要素グループと見出し番号ｑの論理要素グループとが等しいか否かを判断し（ステップＳ３２２５）、等しくない場合（ステップＳ３２２５：Ｎｏ）、ステップＳ３２３０に移行する。一方、等しい場合（ステップＳ３２２５：Ｙｅｓ）、見出し番号ｐの論理要素と見出し番号ｑの論理要素とが等しいか否かを判断し（ステップＳ３２２６）、等しくない場合（ステップＳ３２２６：Ｎｏ）、ｌ（ｐ，ｚ）＝ｑとし（ステップＳ３２２７）、ｌ（ｐ，ｌ）＝ｐとし（ステップＳ３２２８）、ｌｌ＝ｐとして（ステップＳ３２２９）、ステップＳ３２３２に移行する。
【０１７５】
一方、ステップＳ３２２６において、見出し番号ｐの論理要素と見出し番号ｑの論理要素とが等しい場合（ステップＳ３２２６：Ｙｅｓ）、見出し番号ｑをインクリメントし（ステップＳ３２３０）、ｑ≦ｐｍａｘであるか否かを判断する（ステップＳ３２３１）。ｐｍａｘは見出し数である。
【０１７６】
ｑ≦ｐｍａｘである場合（ステップＳ３２３１：Ｙｅｓ）、ステップＳ３２２５に戻る。一方、ｑ≦ｐｍａｘでない場合（ステップＳ３２３１：Ｎｏ）、見出し番号ｐをインクリメントして（ステップＳ３２３２）、ｐ≦ｐｍａｘであるか否かを判断する（ステップＳ３２３３）。ｐ≦ｐｍａｘである場合（ステップＳ３２３３：Ｙｅｓ）、ステップＳ３２２４に戻る。一方、ｐ≦ｐｍａｘでない場合（ステップＳ３２３３：Ｎｏ）、対象要素抽出処理を終了する。
【０１７７】
図３３は、最小分散選択処理（ステップＳ３０１６）の詳細な処理手順を示すフローチャートである。図３３において、まず、最小分散値ｍｉｎをｍｉｎ＝０とし（ステップＳ３３０１）、最小分散候補番号ｍｉｎ＿ｎ＝０とし（ステップＳ３３０２）、（Ｎ＋１）つ組候補の候補番号ｎをｎ＝１とする（ステップＳ３３０３）。
【０１７８】
そして、同時成立候補数ｔｂｌ＿ｍａｘ（ｎ）が、ｔｂｌ＿ｍａｘ（ｎ）＞０であるか否かを判断する（ステップＳ３３０４）。ｔｂｌ＿ｍａｘ（ｎ）＞０でない場合（ステップＳ３３０４：Ｎｏ）、ステップＳ３３０８に移行する。一方、ｔｂｌ＿ｍａｘ（ｎ）＞０である場合（ステップＳ３３０４：Ｙｅｓ）、最小分散値ｍｉｎがｍｉｎ＞ｖａｒ（ｎ）であるか否かを判断する（ステップＳ３３０５）。
【０１７９】
ｍｉｎ＞ｖａｒ（ｎ）でない場合（ステップＳ３３０５：Ｎｏ）、ステップＳ３３０８に移行する。一方、ｍｉｎ＞ｖａｒ（ｎ）である場合（ステップＳ３３０５：Ｙｅｓ）、最小分散値ｍｉｎをｍｉｎ＝ｖａｒ（ｎ）とし（ステップＳ３３０６）、最小分散候補番号ｍｉｎ＿ｎをｍｉｎ＿ｎ＝ｎとする（ステップＳ３３０７）。そして、ｎをインクリメントし（ステップＳ３３０８）、ｎ≦ｎｍａｘであるか否かを判断する（ステップＳ３３０９）。ｎｍａｘは（Ｎ＋１）つ組候補数である。ｎ≦ｎｍａｘである場合（ステップＳ３３０９：Ｙｅｓ）、ステップＳ３３０４に戻る。一方、ｎ≦ｎｍａｘでない場合（ステップＳ３３０９：Ｎｏ）、ステップＳ３０１７に移行する。
【０１８０】
図３４は、三つ組候補の組み合わせの他の評価例を示す説明図である。図２９では、見出し単語候補とデータ単語候補との重心間距離をもとめて、分散が小さい（Ｎ＋１）つ組候補を妥当な（Ｎ＋１）つ組候補として選択したが、図３４では、重心間距離ではなく、見出し単語候補の外接矩形とデータ単語候補の外接矩形とを包含する外接矩形の形状どうしを比較することで評価する例である。
【０１８１】
（Ａ）は、三つ組候補群２８Ｂ，２８Ｃの組み合わせの評価例であり、（Ｂ）は、三つ組候補群２８Ｄ，２８Ｅの組み合わせの評価例である。各三つ組候補群２８Ｂ〜２８Ｅで得られた外接矩形をそれぞれｒｂ，ｒｃ，ｒｄ，ｒｅとする。（Ａ）では、外接矩形ｒｂ，ｒｃの面積が等しく（外接矩形間の分散が小さく）、（Ｂ）では、外接矩形ｄｄ，ｄｅの面積は異なる（外接矩形間の分散が大きい）。したがって、三つ組候補群２８Ｂ，２８Ｃが妥当な三つ組候補として選ばれることとなる。なお、実際に妥当な三つ組候補を選択する場合、外接矩形間の分散が小さい三つ組候補が選ばれることとなる。
【０１８２】
図３５は、データ単語候補評価処理（ステップＳ６０８）の詳細な他の手順を示すフローチャートである。図３５のフローチャートは、図３０のフローチャートのステップＳ３０１３がステップＳ３５１３に置き換わっただけで、残余のステップは図３０と同一である。ステップＳ３５１３では、外接矩形分散算出処理を実行する。
【０１８３】
図３６は、図３５に示した外接矩形分散算出処理（ステップＳ３５１５）の詳細な処理手順を示すフローチャートである。図３６において、まず、平均をあらわす変数ａをａ＝０とし（ステップＳ３６０１）、分散をあらわす変数ｂをｂ＝０とし（ステップＳ３６０２）、同時成立候補の番号ｋをｋ＝１とする（ステップＳ３６０３）。そして、他の同時成立候補とは異なる単語候補を検索する（ステップＳ３６０４）。
【０１８４】
このあと、ｋ番目の同時成立候補の見出し単語候補とデータ単語候補とを包含する外接矩形を算出する。具体的には、外接矩形の左上ｘ座標ｓｘ＝ＭＩＮ（ｈｓｘ，ｄｓｘ）を算出する（ステップＳ３６０５）。ｈｓｘとは見出し単語候補の左上ｘ座標値であり、ｄｓｘとはデータ単語候補の左上ｘ座標値である。
【０１８５】
同様に、外接矩形の左上ｙ座標ｓｙ＝ＭＩＮ（ｈｓｙ，ｄｓｙ）を算出する（ステップＳ３６０６）。ｈｓｙとは見出し単語候補の左上ｙ座標値であり、ｄｓｙとはデータ単語候補の左上ｙ座標値である。また、外接矩形の右下ｘ座標ｅｘ＝ＭＩＮ（ｈｅｘ，ｄｅｘ）を算出する（ステップＳ３６０７）。ｈｅｘとは見出し単語候補の右下ｘ座標値であり、ｄｅｘとはデータ単語候補の右下ｘ座標値である。同様に、外接矩形の右下ｙ座標ｅｙ＝ＭＩＮ（ｈｅｙ，ｄｅｙ）を算出する（ステップＳ３６０８）。ｈｅｙとは見出し単語候補の右下ｙ座標値であり、ｄｅｙとはデータ単語候補の右下ｙ座標値である。
【０１８６】
そして、外接矩形の面積Ｓ（Ｓ＝（ｅｘ−ｓｘ）×（ｅｙ−ｓｙ））を算出する（ステップＳ３６０９）。算出された面積Ｓを平均をあらわす変数ａに加算して変数ａを更新し（ステップＳ３６１０）、分散をあらわす変数ｂに面積Ｓの二乗を加算して変数ｂを更新し（ステップＳ３６１１）、同時成立候補の番号ｋをインクリメントする（ステップＳ３６１２）。そして、ｋ≦ｊであるか否かを判断する（ステップＳ３６１３）。
【０１８７】
ｋ≦ｊである場合（ステップＳ３６１３：Ｙｅｓ）、ステップＳ３６０５に戻る。一方、ｋ≦ｊでない場合（ステップＳ３６１３：Ｎｏ）、変数ａを平均として保存し（ステップＳ３６１４）、変数ｂを分散として保存する（ステップＳ３６１５）。これにより、外接矩形分散算出処理を終了して、ステップＳ３０１４に移行する。
【０１８８】
このように、データ単語候補評価部５０７によれば、見出し単語候補とデータ単語候補との組み合わせが複数存在しても、妥当な組み合わせを特定することができ、帳票の論理構造認識の高精度化を測ることができる。
【０１８９】
（論理構造認識装置のハードウェア構成）
図３７は、本実施の形態にかかる論理構造認識装置のハードウェア構成を示す説明図である。図３７において、論理構造認識装置５００は、コンピュータ本体３７１０と、入力装置３７２０と、出力装置３７３０と、から構成されており、不図示のルータやモデムを介してＬＡＮ，ＷＡＮやインターネットなどのネットワーク３７４０に接続可能である。
【０１９０】
コンピュータ本体３７１０は、ＣＰＵ，メモリ，インターフェースを有する。ＣＰＵは、論理構造認識装置５００の全体の制御を司る。メモリは、ＲＯＭ，ＲＡＭ，ＨＤ，光ディスク３７１１，フラッシュメモリから構成される。メモリはＣＰＵのワークエリアとして使用される。
【０１９１】
また、メモリには各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。ＨＤおよび光ディスク３７１１はディスクドライブによりデータのリード／ライトが制御される。また、光ディスク３７１１およびフラッシュメモリはコンピュータ本体３７１０に対し着脱自在である。インターフェースは、入力装置３７２０からの入力、出力装置３７３０への出力、ネットワーク３７４０に対する送受信の制御をおこなう。
【０１９２】
また、入力装置３７２０としては、キーボード３７２１、マウス３７２２、スキャナ３７２３などがある。キーボード３７２１は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス３７２２は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ３７２３は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体３７１０内のメモリに格納される。なお、スキャナ３７２３にＯＣＲ機能を持たせてもよい。
【０１９３】
また、出力装置３７３０としては、ディスプレイ３７３１、スピーカ３７３２、プリンタ３７３３などがある。ディスプレイ３７３１は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。スピーカ３７３２は、効果音や読み上げ音などの音声を出力する。また、プリンタ３７３３は、画像データや文書データを印刷する。
【０１９４】
なお、本実施の形態で説明した論理構造認識方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な媒体であってもよい。
【０１９５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９６】
（付記１）コンピュータを、
帳票に記述されている文字列の中から単語候補を抽出する単語候補抽出手段、
前記単語候補抽出手段によって抽出された単語候補を前記帳票の見出しを構成する見出し単語候補群と前記帳票のデータを構成するデータ単語候補群に分け、前記単語候補の前記帳票上の位置に基づいて、前記見出し単語候補群の中から選ばれた一の見出し単語候補と当該一の見出し単語候補により特定される可能性がある前記データ単語候補群の中の一のデータ単語候補とからなる一見出し・一データ組候補を生成する一見出し・一データ組候補生成手段、
前記一見出し・一データ組候補生成手段によって生成された一見出し・一データ組候補を、種類が異なる見出し単語候補どうしで組み合わせることにより、複数種類の見出し単語候補および一のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成手段、
前記多見出し・一データ組候補生成手段によって生成された多見出し・一データ組候補を構成する見出し単語候補とデータ単語候補の前記帳票上の位置に基づいて、前記多見出し・一データ組候補の中から、前記データごとに、前記データと当該データを特定する見出しからなる確定組を抽出する確定手段、
前記確定手段によって抽出された確定組を出力する出力手段、
として機能させることを特徴とする論理構造認識プログラム。
【０１９７】
（付記２）前記コンピュータを、
前記確定組の中に、複数種類の見出しと当該複数種類の見出しにより特定されるデータとからなる第１の確定組候補と、前記複数種類の見出しのうち一の見出しの位置のみが前記第１の確定組とは異なる第２の確定組候補とが存在する場合、前記一の見出しの位置と前記データの位置とに基づいて、前記第１および第２の確定組候補の中から妥当な確定組を選択する見出し単語候補評価手段として機能させ、
前記出力手段は、
前記見出し単語候補評価手段によって選択された妥当な確定組を出力することを特徴とする付記１に記載の論理構造認識プログラム。
【０１９８】
（付記３）前記見出し単語候補評価手段は、
前記データに対する前記一の見出しの前記帳票上の相対的な位置に基づいて、前記第１および第２の確定組候補の中から妥当な確定組を選択し、
前記出力手段は、
前記見出し単語候補評価手段によって選択された妥当な確定組を出力することを特徴とする付記２に記載の論理構造認識プログラム。
【０１９９】
（付記４）前記見出し単語候補評価手段は、
前記データと前記一の見出しとを包含する領域の面積に基づいて、前記第１および第２の確定組候補の中から妥当な確定組を選択し、
前記出力手段は、
前記見出し単語候補評価手段によって選択された妥当な確定組を出力することを特徴とする付記２に記載の論理構造認識プログラム。
【０２００】
（付記５）前記コンピュータを、
前記確定組の中に、第１の見出しにより特定されるデータが複数あり、当該複数のデータにより特定される第２の見出しが前記データと同数存在する不定組が存在する場合、前記複数のデータおよび複数の前記第２の見出しの組み合わせからなる複数通りの確定組候補における前記データおよび前記第２の見出しの相対的な位置に基づいて前記確定組候補を比較することにより、前記複数通りの確定組候補の中から、妥当な確定組を選択するデータ単語候補評価手段として機能させ、
前記出力手段は、
前記データ単語候補評価手段によって選択された妥当な確定組を出力することを特徴とする付記１に記載の論理構造認識プログラム。
【０２０１】
（付記６）前記データ単語候補評価手段は、
前記データと前記第２の見出しとの距離を前記確定組候補どうしで比較することにより、前記複数通りの確定組候補の中から、妥当な確定組を選択し、
前記出力手段は、
前記データ単語候補評価手段によって選択された妥当な確定組を出力することを特徴とする付記５に記載の論理構造認識プログラム。
【０２０２】
（付記７）前記データ単語候補評価手段は、
前記データと前記第２の見出しとを包含する面積を前記確定組候補どうしで比較することにより、前記複数通りの確定組候補の中から、妥当な確定組を選択し、
前記出力手段は、
前記データ単語候補評価手段によって選択された妥当な確定組を出力することを特徴とする付記５に記載の論理構造認識プログラム。
【０２０３】
（付記８）帳票に記述されている文字列の中から単語候補を抽出する単語候補抽出手段と、
前記単語候補抽出手段によって抽出された単語候補を前記帳票の見出しを構成する見出し単語候補群と前記帳票のデータを構成するデータ単語候補群に分け、前記単語候補の前記帳票上の位置に基づいて、前記見出し単語候補群の中から選ばれた一の見出し単語候補と当該一の見出し単語候補により特定される可能性がある前記データ単語候補群の中の一のデータ単語候補とからなる一見出し・一データ組候補を生成する一見出し・一データ組候補生成手段と、
前記一見出し・一データ組候補生成手段によって生成された一見出し・一データ組候補を、種類が異なる見出し単語候補どうしで組み合わせることにより、複数種類の見出し単語候補および一のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成手段と、
前記多見出し・一データ組候補生成手段によって生成された多見出し・一データ組候補を構成する見出し単語候補とデータ単語候補の前記帳票上の位置に基づいて、前記多見出し・一データ組候補の中から、前記データごとに、前記データと当該データを特定する見出しからなる確定組を抽出する確定手段と、
前記確定手段によって確定された確定組を出力する出力手段と、
を備えることを特徴とする論理構造認識装置。
【０２０４】
（付記９）帳票に記述されている文字列の中から単語候補を抽出する単語候補抽出工程と、
前記単語候補抽出工程によって抽出された単語候補を前記帳票の見出しを構成する見出し単語候補群と前記帳票のデータを構成するデータ単語候補群に分け、前記単語候補の前記帳票上の位置に基づいて、前記見出し単語候補群の中から選ばれた一の見出し単語候補と当該一の見出し単語候補により特定される可能性がある前記データ単語候補群の中の一のデータ単語候補とからなる一見出し・一データ組候補を生成する一見出し・一データ組候補生成工程と、
前記一見出し・一データ組候補生成工程によって生成された一見出し・一データ組候補を、種類が異なる見出し単語候補どうしで組み合わせることにより、複数種類の見出し単語候補および一のデータ単語候補とからなる多見出し・一データ組候補を生成する多見出し・一データ組候補生成工程と、
前記多見出し・一データ組候補生成工程によって生成された多見出し・一データ組候補を構成する見出し単語候補とデータ単語候補の前記帳票上の位置に基づいて、前記多見出し・一データ組候補の中から、前記データごとに、前記データと当該データを特定する見出しからなる確定組を抽出する確定工程と、
前記確定工程によって確定された確定組を出力する出力工程と、
を含んだことを特徴とする論理構造認識方法。
【図面の簡単な説明】
【０２０５】
【図１】論理構造認識対象の一例（帳票）を示す説明図である。
【図２】帳票の文字情報を示す説明図である。
【図３−１】共通論理構造ＤＢの記憶内容（その１）を示す説明図である。
【図３−２】共通論理構造ＤＢの記憶内容（その２）を示す説明図である。
【図３−３】共通論理構造ＤＢの記憶内容（その３）を示す説明図である。
【図３−４】共通論理構造ＤＢの記憶内容（その４）を示す説明図である。
【図４−１】図１に示した帳票からの単語候補抽出結果（その１）を示す説明図である。
【図４−２】図１に示した帳票からの単語候補抽出結果（その２）を示す説明図である。
【図４−３】図１に示した帳票からの単語候補抽出結果（その３）を示す説明図である。
【図５】論理構造認識装置の機能的構成を示すブロック図である。
【図６】論理構造認識処理手順を示すフローチャートである。
【図７】二つ組候補の生成内容を示す説明図である。
【図８】一見出し・一データ組候補生成処理（ステップＳ６０４）の詳細な処理手順を示すフローチャートである。
【図９】（Ｎ＋１）つ組候補の生成内容を示す説明図である。
【図１０】多見出し・一データ組候補生成処理（ステップＳ６０５）の詳細な処理手順を示すフローチャートである。
【図１１】（Ｎ＋１）つ組候補生成処理の詳細な処理手順を示すフローチャート（その１）である。
【図１２】（Ｎ＋１）つ組候補生成処理の詳細な処理手順を示すフローチャート（その２）である。
【図１３】（Ｎ＋１）つ組候補の確定組除去内容を示す説明図（その１）である。
【図１４】（Ｎ＋１）つ組候補の確定組除去内容を示す説明図（その２）である。
【図１５】確定組除去処理（ステップＳ６０６）の詳細な処理手順を示すフローチャートである。
【図１６】図１３に示した前向き処理の詳細な処理手順を示すフローチャートである。
【図１７】（Ｎ＋１）つ組候補除去処理（ステップＳ１５０２またはＳ１５０４）の詳細な処理手順を示すフローチャートである。
【図１８】図１４に示した後ろ向き処理の詳細な処理手順を示すフローチャートである。
【図１９】図１８に示した見出し論理要素比較処理（ステップＳ１８０６）の詳細な処理手順を示すフローチャートである。
【図２０】帳票の他の例を示す説明図である。
【図２１】図２０（Ａ）に示した帳票２００１から得られる二つ組候補を示す説明図である。
【図２２】図２０（Ａ）に示した帳票２００１から得られる（Ｎ＋１）つ組候補を示す説明図である。
【図２３】図２０（Ｂ）に示した帳票２００２から得られる二つ組候補を示す説明図である。
【図２４】同一の見出し単語候補“消耗品費”が複数存在する場合の見出し単語候補の評価手法を示す説明図である。
【図２５】見出し単語候補評価処理（ステップＳ６０７）の詳細な手順を示すフローチャートである。
【図２６】同一の見出し単語候補“消耗品費”が複数存在する場合の見出し単語候補の他の評価手法を示す説明図である。
【図２７】見出し単語候補評価処理（ステップＳ６０７）の詳細な他の手順を示すフローチャートである。
【図２８】帳票の別の例を示す説明図である。
【図２９】三つ組候補の組み合わせの評価例を示す説明図である。
【図３０】データ単語候補評価処理（ステップＳ６０８）の詳細な手順を示すフローチャートである。
【図３１】同時成立可能性確認処理（ステップＳ３００７）の詳細な処理手順を示すフローチャートである。
【図３２−１】重心距離分散算出処理（ステップＳ３０１３）の詳細な処理手順を示すフローチャートである。
【図３２−２】対象要素抽出処理（ステップＳ３２０３）の詳細な処理手順を示すフローチャートである。
【図３３】最小分散選択処理（ステップＳ３０１６）の詳細な処理手順を示すフローチャートである。
【図３４】三つ組候補の組み合わせの他の評価例を示す説明図である。
【図３５】データ単語候補評価処理（ステップＳ６０８）の詳細な他の手順を示すフローチャートである。
【図３６】図３５に示した外接矩形分散算出処理（ステップＳ３５１５）の詳細な処理手順を示すフローチャートである。
【図３７】本実施の形態にかかる論理構造認識装置のハードウェア構成を示す説明図である。
【符号の説明】
【０２０６】
１００  帳票
１０１  レイアウト情報
３０１〜３０４  論理要素テーブル
４０１〜４０３  単語候補抽出結果
５００  論理構造認識装置
５０１  単語候補抽出部
５０２  論理要素グループ数検出部
５０３  一見出し・一データ組候補生成部
５０４  多見出し・一データ組候補生成部
５０５  確定組除去部
５０６  見出し単語候補評価部
５０７  データ単語候補評価部
５０８  出力部
【図１】
0004476318.tif 000002
【図２】
0004476318.tif 000003
【図３−１】
0004476318.tif 000004
【図３−２】
0004476318.tif 000005
【図３−３】
0004476318.tif 000006
【図３−４】
0004476318.tif 000007
【図４−１】
0004476318.tif 000008
【図４−２】
0004476318.tif 000009
【図４−３】
0004476318.tif 000010
【図５】
0004476318.tif 000011
【図６】
0004476318.tif 000012
【図７】
0004476318.tif 000013
【図８】
0004476318.tif 000014
【図９】
0004476318.tif 000015
【図１０】
0004476318.tif 000016
【図１１】
0004476318.tif 000017
【図１２】
0004476318.tif 000018
【図１３】
0004476318.tif 000019
【図１４】
0004476318.tif 000020
【図１５】
0004476318.tif 000021
【図１６】
0004476318.tif 000022
【図１７】
0004476318.tif 000023
【図１８】
0004476318.tif 000024
【図１９】
0004476318.tif 000025
【図２０】
0004476318.tif 000026
【図２１】
0004476318.tif 000027
【図２２】
0004476318.tif 000028
【図２３】
0004476318.tif 000029
【図２４】
0004476318.tif 000030
【図２５】
0004476318.tif 000031
【図２６】
0004476318.tif 000032
【図２７】
0004476318.tif 000033
【図２８】
0004476318.tif 000034
【図２９】
0004476318.tif 000035
【図３０】
0004476318.tif 000036
【図３１】
0004476318.tif 000037
【図３２−１】
0004476318.tif 000038
【図３２−２】
0004476318.tif 000039
【図３３】
0004476318.tif 000040
【図３４】
0004476318.tif 000041
【図３５】
0004476318.tif 000042
【図３６】
0004476318.tif 000043
【図３７】
0004476318.tif 000044