(57)【特許請求の範囲】
【請求項１】
複数の区画が含まれる複数の表を含む文書データが格納された文書データベースから、前記複数の表を抽出し、
抽出対象の表の第１の見出しが格納された表抽出条件データベースを参照して、前記第１の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、
前記照合の結果が所定条件を満たす表を抽出し、
前記所定条件を満たす表に含まれる各区画の長さに基づき、該表における見出し項目の区画とデータ項目の区画との対応付けに用いる見出し項目の区画の長さ又は該見出し項目と対応するデータ項目の区画の長さの少なくとも何れか一方を補正する
処理をコンピュータに実行させる表構造自動認識プログラム。
【請求項２】
前記補正する処理において、
前記所定条件を満たす表に含まれる、前記データ項目の区画毎に、当該データ項目の区画の長さを取得して当該データ項目の区画の長さを正規化し、
前記対応付けに用いるデータ項目の区画の長さを前記正規化された値に補正する
処理をコンピュータに実行させる請求項１記載の表構造自動認識プログラム。
【請求項３】
前記補正する処理において、
前記データ項目の区画のデータが整合する見出し同士が対応付けて格納された項目整合データベースを参照して、前記第１の見出しと対応付けられた第２の見出しを取得し、
前記第１の見出し及び第２の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、
前記照合の結果が所定条件を満たす第２の表を抽出し、
前記第２の表に含まれる見出し項目の区画の長さの平均値を用いて、前記対応付けに用いる見出し項目の区画の長さを補正する
処理をコンピュータに実行させる請求項１又は２記載の表構造自動認識プログラム。
【請求項４】
前記所定条件を満たす表の見出し項目の区画の各々と、データ項目の区画の各々とを結ぶ線分を求め、
前記線分同士が交差する回数が所定回数以下となる前記表の前記見出し項目と前記データ項目との組み合わせを特定し、
前記特定された見出し項目とデータ項目とを対応付けて出力する
処理をコンピュータに実行させる請求項１乃至３の何れか一項に記載の表構造自動認識プログラム。
【請求項５】
コンピュータが表構造の自動認識を行う表構造自動認識方法であって、
複数の区画が含まれる複数の表を含む文書データが格納された文書データベースから、前記複数の表を抽出し、
抽出対象の表の第１の見出しが格納された表抽出条件データベースを参照して、前記第１の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、
前記照合の結果が所定条件を満たす表を抽出し、
前記所定条件を満たす表に含まれる各区画の長さに基づき、該表における見出し項目の区画とデータ項目の区画との対応付けに用いる見出し項目の区画の長さ又は該見出し項目と対応するデータ項目の区画の長さの少なくとも何れか一方を補正する表構造自動認識方法。
【請求項６】
表構造の自動認識を行う表構造自動認識装置であって、
複数の区画が含まれる複数の表を含む文書データが格納された文書データベースから、前記複数の表を抽出する矩形領域抽出部と、
抽出対象の表の第１の見出しが格納された表抽出条件データベースを参照して、前記第１の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、前記照合の結果が所定条件を満たす表を抽出する見出し項目照合部と、
前記所定条件を満たす表に含まれる各区画の長さに基づき、該表における見出し項目の区画とデータ項目の区画との対応付けに用いる見出し項目の区画の長さ又は該見出し項目と対応するデータ項目の区画の長さの少なくとも何れか一方を補正する長さ補正部と、を有する表構造自動認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表構造の自動認識を行う表構造自動認識プログラム、表構造自動認識方法及び表構造自動認識装置に関する。
【背景技術】
【０００２】
ソフトウェア開発では、各種の要件を定義する表が含まれる複数の設計書間の整合性等を確認する整合検査が行われる。整合検査では、各設計書において表構造の定義に合致した表を特定し、特定した表から項目を抽出して項目同士が一致しているか否かを確認する。
【０００３】
従来の整合検査では、表構造の定義は人手により行われており、設計書の分量が多い場合は表の構造定義を行うのが困難であった。このため従来では、表構造の自動認識等の技術を用いて表構造の定義に係る手間を軽減させている。
【０００４】
表構造の自動認識の手法としては、例えば項目名及び階層構造や二次元構造といった項目の種類を予め定義しておき、項目に対応する値を取得する手法がある。また他には、項目名の文字列と属性を登録した項目名単語辞書を利用し、帳票画像中から文字列を検出し項目名辞書と照合する手法がある。さらに、例えばデータの属性を表す見出し項目辞書を準備し、見出しに対してデータの属性、見出しとの距離、位置関係により矩形領域を算出し、矩形領域が最小となる項目の値を得る手法が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２７５８３０号公報
【特許文献２】特開２００８−２０４２２６号公報
【特許文献３】特開２００９−１１０４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の表構造の自動認識の手法では、一般の文字列であるデータに対して属性を定義しなければならず、項目に対して属性を推定する機能が必要となる。また見出しと項目との位置関係により見出しと項目とを対応付ける場合、項目の記述量が多い場合等に見出しと項目との対応付けを誤る可能性がある。
【０００７】
本発明の一実施形態では、上記事情を鑑み、簡単な表の構造定義で高精度に表の自動認識を行う表構造自動認識プログラム、表構造自動認識方法及び表構造自動認識装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
開示の技術は、複数の区画が含まれる複数の表を含む文書データが格納された文書データベースから、前記複数の表を抽出し、抽出対象の表の第１の見出しが格納された表抽出条件データベースを参照して、前記第１の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、前記照合の結果が所定条件を満たす表を抽出し、前記所定条件を満たす表に含まれる各区画の長さに基づき、該表における見出し項目の区画とデータ項目の区画との対応付けに用いる見出し項目の区画の長さ又は該見出し項目と対応するデータ項目の区画の長さの少なくとも何れか一方を補正する処理をコンピュータに実行させる。
【０００９】
上記各処理を実行する方法、上記プログラムを実行する装置、上記プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１０】
簡単な表の構造定義で高精度に表の自動認識を行う。
【図面の簡単な説明】
【００１１】
【図１】表構造の自動認識の概要を説明する図である。
【図２】表構造自動認識装置のハードウェア構成例を示す図である。
【図３】表構造自動認識装置の機能構成の一例を説明する図である。
【図４】記憶部に格納された各データベースを説明する図である。
【図５】表抽出条件データベースの一例を示す図である。
【図６】項目整合データベースの一例を示す図である。
【図７】表構造自動認識装置の全体の動作を説明するフローチャートである。
【図８】矩形領域の抽出を説明する図である。
【図９】矩形領域抽出部の処理を説明するフローチャートである。
【図１０】表抽出条件に合致した類似表の抽出を説明する図である。
【図１１】見出し項目照合部の処理を説明するフローチャートである。
【図１２】類似度の算出と見出し項目と区画の対応付けを説明する図である。
【図１３】見出し項目毎の類似度を算出した例を示す第一の図である。
【図１４】見出し項目毎の類似度を算出した例を示す第二の図である。
【図１５】ステップＳ１１１２の処理の詳細を説明するフローチャートである。
【図１６】見出し項目一覧に対して最も類似度の高い区間を対応が1対１となるように割り振った例を示す図である。
【図１７】データ項目長さ補正部による処理を説明するフローチャートである。
【図１８】データ項目の長さの補正の具体例を説明する第一図である。
【図１９】データ項目の長さの補正の具体例を説明する第二図である。
【図２０】見出し項目長さ補正部による処理を説明するフローチャートである。
【図２１】見出し項目の長さの補正の具体例を示す第一の図である。
【図２２】見出し項目の長さの補正の具体例を示す第二の図である。
【図２３】見出し項目の長さの補正の具体例を示す第三の図である。
【図２４】見出し項目の長さの補正の具体例を示す第四の図である。
【図２５】見出し対応データ特定部による処理を説明するフローチャートである。
【図２６】見出し項目に対応するデータ項目の特定を説明する図である。
【図２７】表の入力形式を説明する図である。
【図２８】見出し項目とデータ項目の対応付けをとる入力例を示す図である。
【図２９】対応付けの結果の例を示す図である。
【発明を実施するための形態】
【００１２】
本実施例では、表構造自動認識装置により、見出しが定義された表構造の自動認識を行う。表構造の自動認識とは、表の見出しと項目との対応付けを行うことを含む。表構造の自動認識は、例えば文書データそれぞれに要件を定義した表が含まれる場合に、各表における要件の定義の整合性を確認する整合検査等に用いられる。文書データとは、例えばソフトウェア設計等を行う際に作成される設計書データ等である。
【００１３】
以下に図１を参照して表構造自動認識装置による表構造の自動認識の概要を説明する。図１は、表構造の自動認識の概要を説明する図である。
【００１４】
本実施例では、予め設計書に含まれる文書が種別毎に分類されており、種別毎に文書に含まれる表の見出し項目が定義されている。表構造自動認識装置は、文書種別毎に文書から複数のセル（区画）からなる表を矩形領域として抽出する（ステップＳ１１）。続いて表構造自動認識装置は、抽出した表の見出し項目のデータを照合し、見出し項目のデータ同士が類似する表を抽出する（ステップＳ１２）。続いて表構造自動認識装置は、抽出した表のデータ項目の長さと見出し項目の長さを補正する（ステップＳ１３）。尚本実施例の見出し項目の長さとは、見出し項目に対応した区画の長さである。具体的には見出し項目に対応した区画内の文字数である。またデータ項目の長さとは、データ項目に対応した区画の長さである。具体的にはデータ項目に対応する区画内の文字数である。続いて表構造自動認識装置は、見出し項目に対応するデータ項目の候補を特定する（ステップＳ１４）。
【００１５】
本実施例では、このように表の見出し項目と表が含まれる文書の種別による表構造の定義から、文書中に含まれる表構造の自動認識を行う。
【００１６】
上述した表構造の自動認識を実現する表構造自動認識装置は、コンピュータ装置であって、図２に示すようなハードウェア構成を有する。
【００１７】
図２は、表構造自動認識装置のハードウェア構成例を示す図である。表構造自動認識装置１００では、入力装置１１、表示装置１２、主記憶装置１３、ＣＰＵ１４、インターフェース装置１５、補助記憶装置１６及びドライバ装置１７がバスＢで相互に接続されている。
【００１８】
バスＢで相互に接続されている入力装置１１、表示装置１２、主記憶装置１３、ＣＰＵ１４、インターフェース装置１５、補助記憶装置１６及びドライバ装置１７は、ＣＰＵ１４による管理下で相互にデータの送受を行うことができる。ＣＰＵ１４は、表構造自動認識装置１００全体の動作制御を司る中央処理装置である。
【００１９】
インターフェース装置１５は他の情報処理装置からのデータを受信し、そのデータのデータをＣＰＵ１４に渡す。さらに、インターフェース装置１５はＣＰＵ１４からの指示に応じて他の情報処理装置にデータを送信する。
【００２０】
補助記憶装置１６には、表構造自動認識装置１００の機能を発揮させるプログラムの一部として、少なくとも表構造自動認識装置１００に表構造の自動認識処理を実行させる表構造自動認識プログラムが記憶されている。
【００２１】
そして表構造自動認識装置１００は、ＣＰＵ１４が表構造自動認識プログラムを補助記憶装置１６から読み出して実行することで、表構造の自動認識機能を有する装置となる。表構造自動認識プログラムはＣＰＵ１４とアクセス可能な主記憶装置１３に格納されていても良い。入力装置１１はＣＰＵ１４の管理下でデータの入力を受付ける。表構造自動認識プログラムは表構造自動認識装置１００が読み取り可能な記録媒体１８に記録しておくことができる。
【００２２】
表構造自動認識装置１００で読み取り可能な記録媒体１８には、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録媒体には、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。また、光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ  −  Ｏｐｔｉｃａｌ  ｄｉｓｋ）などがある。表構造自動認識プログラムを流通させる場合には、例えば表構造自動認識プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型の記録媒体１８を販売することが考えられる。
【００２３】
そして表構造自動認識プログラムを実行する表構造自動認識装置１００は、例えばドライバ装置１７が表構造自動認識プログラムを記録した記録媒体１８から、表構造自動認識プログラムを読み出す。ＣＰＵ１４は、読み出された表構造自動認識プログラムを主記憶装置１３若しくは補助記憶装置１６に格納する。
【００２４】
そして表構造自動認識装置１００は、自己の記憶装置である主記憶装置１３若しくは補助記憶装置１６から表構造自動認識プログラムを読み取り、表構造自動認識プログラムに従った処理を実行する。
【００２５】
図３は、表構造自動認識装置の機能構成の一例を説明する図である。本実施例の表構造自動認識装置１００は、認識処理部２００と記憶部３００とを有する。
【００２６】
認識処理部２００は、矩形領域抽出部２１０と、見出し項目照合部２２０と、長さ補正部２３０と、見出し対応項目特定部２４０と、を有する。
【００２７】
矩形領域抽出部２１０は、設計書データベース３１０に格納された設計書データから表を抽出する。本実施例の設計書データは、例えば複数の表やテキストデータ等を含む文書データである。尚文書データは、表のみであっても良い。本実施例の設計書データベース３１０は、所謂文書データベースであって、文書データである設計書データが格納されている。
【００２８】
見出し項目照合部２２０は、抽出した表の見出し項目のデータと、設計書データベース３１０に格納された他の表の見出し項目のデータとを照合し、類似する表（以下、類似表）を抽出する。長さ補正部２３０は、類似表と抽出された表の見出し項目の長さとデータ項目の長さとに基づき、抽出された表の見出し項目の長さとデータ項目の長さとを補正する。見出し対応項目特定部２４０は、抽出された表において見出し項目に対応するデータ項目を特定する。尚各部の処理の詳細は後述する。
【００２９】
記憶部３００は、設計書データベース３１０と、表抽出条件データベース３２０と、項目整合データベース３３０とを有する。記憶部３００は、主記憶装置１３及び／又は補助記憶装置１６内に形成されるものであり、上記各データベースは主記憶装置１３及び／又は補助記憶装置１６内に設けられる。
【００３０】
以下に図４乃至図６を参照して記憶部３００に格納された各データベースについて説明する。図４は、記憶部に格納された各データベースを説明する図である。
【００３１】
図４に示す部分４１は、設計書データベース３１０を説明するものである。実施例の設計書データは、部分４１に示すように、文書種別毎に分けられており、文書種別毎に設計書データベース３１０に格納される。本実施例では、設計書データは文書種別Ａ、Ｂ、Ｃに分けられて設計書データベース３１０に格納されている。文書種別は、例えば設計書データに含まれる表の形式毎に分類される。
【００３２】
図４に示す部分４２は表抽出条件データベース３２０を説明するものである。本実施例の表抽出条件データベース３２０には、文書種別毎に、設計書データに含まれる表の見出し項目を識別する識別子と、表の見出し項目のデータとが対応付けられて格納されている。例えば表抽出条件データベース３２０には、文書種別Ａの表形式における見出し項目１、２を識別する識別子と、見出し項目１、２のデータとが文書書別Ａの表抽出条件として格納されている。また表抽出条件データベース３２０には、文書種別Ｂの表形式における見出し項目１の識別子と見出し項目１のデータとが格納されている。
【００３３】
図４に示す部分４３は、項目整合データベース３３０を説明するものである。本実施例の項目整合データベース３３０では、異なる文書種別の設計書データに含まれる表において、整合性が期待されるデータ項目同士が対応付けられて格納されている。例えば項目整合データベース３３０には、整合性が期待されるデータ項目として、文書種別Ａのデータ項目４１と文書種別Ｂのデータ項目４３とが対応付けられて格納されている。また文書種別Ｂのデータ項目４３と整合が期待されるデータ項目として、文書種別Ｃに含まれるデータ項目４４が対応付けられて格納されている。
【００３４】
図５は、表抽出条件データベースの一例を示す図である。本実施例の表抽出条件データベース３２０では、文書種別と、見出し項目の識別子と、見出し項目のデータとが対応付けられて格納されている。
【００３５】
図５の例では、文書種別毎の見出し項目の一覧が格納されている。例えば見出し項目一覧３２１は、文書種別Ａの見出し項目の一覧であり、見出し項目一覧３２２は文書種別Ｂの見出し項目の一覧である。見出し項目一覧３２１の見出し項目Ａ−１のデータは、「組織名／役割名／担当名」である。また見出し項目一覧３２２の見出し項目Ｂ−１のデータは「組織および役割」である。本実施例では、表抽出条件データベース３２０に格納された文書種別毎の見出し項目一覧が、設計書データから表を抽出する際の条件となる。
【００３６】
図６は、項目整合データベースの一例を示す図である。本実施例の項目整合データベース３３０では、整合性が期待されるデータ項目の見出し項目同士が対応付けられて格納されている。例えば図６の例では、文書種別Ａの見出し項目一覧３２１と文書種別Ｂの見出し項目一覧３２２において、見出し項目Ａ−１と見出し項目Ｂ−１とが対応付けられている。これは、見出し項目Ａ−１に対応したデータ項目と、見出し項目Ｂ−１で対応したデータ項目とが整合する可能性が高いことを示している。
【００３７】
次に図７を参照して本実施例の表構造自動認識装置１００の動作を説明する。図７は、表構造自動認識装置の全体の動作を説明するフローチャートである。図７に示す各ステップの処理の詳細は後述する。
【００３８】
本実施例の表構造自動認識装置１００は、表構造の自動認識処理が開始されると、矩形領域抽出部２１０により、処理対象の設計書データから矩形領域を抽出する（ステップＳ７０１）。ここで抽出される矩形領域は、設計書データに含まれる表である。
【００３９】
続いて表構造自動認識装置１００は、表抽出条件データベース３２０にリストされた文書種別毎の見出し項目一覧を表の抽出条件とし、見出し項目照合部２２０により抽出条件に合致した類似表を抽出する（ステップＳ７０２）。具体的には例えば、文書種別Ａの設計書データに含まれる表の見出し項目一覧を類似表の抽出条件とし、文書種別Ａにおいて見出し項目一覧がある程度一致している表を抽出して類似表とする。
【００４０】
続いて表構造自動認識装置１００は、長さ補正部２３０の有するデータデータ項目長さ補正部２３１により、抽出された類似表のデータ項目の長さを補正する（ステップＳ７０３）。次に表構造自動認識装置１００は、長さ補正部２３０の有する見出しデータ項目長さ補正部２３２により、抽出された類似表の見出し項目の長さを補正する（ステップＳ７０４）。
【００４１】
続いて表構造自動認識装置１００は、見出し対応データ特定部２４０により、補正後の見出し項目に対応するデータ項目を特定する（ステップＳ７０５）。続いて表構造自動認識装置１００は、見出し項目とデータ項目とを対応付けたリストを出力する（ステップＳ７０６）。
【００４２】
以下に図８を参照してステップＳ７０１で実行される矩形領域の抽出の詳細を説明する。図８は、矩形領域の抽出を説明する図である。
【００４３】
図８に示す設計書データ８０は、例えば文書種別Ａの設計書データである。設計書データ８０は、文書８１、８２、・・・、８ｎを含む。本実施例の矩形領域抽出部２１０は、文書種別Ａの設計書データ８０が処理対象として選択されると、設計書データ８０に含まれる文書毎に、矩形領域を検出して抽出する。形領域抽出部２１０は、例えば文書８１から矩形領域１、矩形領域２を抽出する。また形領域抽出部２１０は、文書８２から矩形領域３、矩形領域４を抽出する。
【００４４】
図９は、矩形領域抽出部の処理を説明するフローチャートである。
【００４５】
本実施例の矩形領域抽出部２１０は、設計書データベース３１０から処理対象となる設計書データを選択する（ステップＳ９０１）。続いて矩形領域抽出部２１０は、ポインタを設計書データに含まれる文書の左上に設定する（ステップＳ９０２）。続いて矩形領域抽出部２１０は、ポインタを文書の右端まで走査し、矩形領域の左上角が存在するか否かを判断する（ステップＳ９０３）。
【００４６】
矩形領域抽出部２１０は、角を検出した場合（ステップＳ９０４）、後述するステップＳ９０９へ進む。ステップＳ９０４において角を検出しない場合、矩形領域抽出部２１０は、ポインタの位置が文書の右下にあるか否かを判断する（ステップＳ９０５）。ステップＳ９０５において、ポインタの位置が文書の右下にある場合、矩形領域抽出部２１０は、設計書データに含まれる他の文書があるか否かを判断する（ステップＳ９０６）。
【００４７】
ステップＳ９０６において他の文書が存在しない場合、矩形領域抽出部２１０は処理を終了する。ステップＳ９０６において他の文書が存在する場合、矩形領域抽出部２１０は、次の文書を選び（ステップＳ９０７）、ステップＳ９０２へ戻る。ステップＳ９０５おいて、ポインタの位置が文書の右下にない場合、矩形領域抽出部２１０は、ポインタを現在の次の位置に下げて左端に移動させ（ステップＳ９０８）、ステップＳ９０３に戻る。具体的に矩形領域抽出部２１０は、例えば現在のポインタの位置がｋなら、ポインタの位置をｋ＋１とする。
【００４８】
ステップＳ９０４において角が検出された場合、矩形領域抽出部２１０は、左上角より、右、下に伸びている線をスキャンし、左下角、右上角を検出する（ステップＳ９０９）。続いて矩形領域抽出部２１０は、右上角より下に伸びている線をスキャンし、右下角を検出する（ステップＳ９１０）。続いて矩形領域抽出部２１０は、文書中の矩形領域の位置情報を保存する（ステップＳ９１１）。位置情報とは、文書における左上角、右上角、左下角、右下角の座標値である。続いて矩形領域抽出部２１０は、ポインタを右上角の隣にセットし（ステップＳ９１２）、ステップＳ９０３へ戻る。具体的には例えば、矩形領域抽出部２１０は、ポインタの現在位置がｍならば、ｍ＋１にポインタをセットする。尚本実施例の矩形領域である表は、ｍ列×ｎ行のセルを有するものであり、セルの固まりとした。
【００４９】
次にステップＳ７０２で行われる表抽出条件に合致した類似表の抽出の詳細を説明する。図１０は、表抽出条件に合致した類似表の抽出を説明する図である。
【００５０】
本実施例の見出し項目照合部２２０は、表抽出条件データベース３２０に格納された見出し項目一覧に基づき、表抽出条件に合致した矩形領域抽出部２１０により抽出された表の類似表を抽出する。
【００５１】
図１０の例では、処理対象の設計書データ８０は文書種別Ａであるため、表抽出条件データベース３２０に格納された文書種別Ａの見出し項目一覧３２１を表抽出条件としている。本実施例の見出し項目照合部２３０は、見出し項目一覧３２１と矩形領域抽出部２１０により抽出された表の見出し項目とを比較して類似度を算出し、類似度が所定閾値以上の表を抽出する。図１０の例では、矩形領域１〜４が抽出されている。本実施例では、見出し項目照合部２２０により抽出されたこの矩形領域の表を類似表と呼ぶ。
【００５２】
以下に本実施例の見出し項目照合部２２０の処理の詳細を説明する。図１１は、見出し項目照合部の処理を説明するフローチャートである。
【００５３】
本実施例の見出し項目照合部２２０は、表抽出条件データベース３２０から、処理対象の設計書データ８０の文書種別Ａに対応する表抽出条件を取得する（ステップＳ１１０１）。表抽出条件は、具体的には文書種別Ａの見出し項目一覧３２１である。続いて見出し項目照合部２２０は、表抽出条件に含まれる見出し項目をｍ１，ｍ２，・・・，ｍｎとする（ステップＳ１１０２）。
【００５４】
続いて見出し項目照合部２２０は、表抽出条件の類似度の閾値を取得する（ステップＳ１１０３）。この閾値は、予め表構造自動認識装置１００の記憶部３００に予め格納されているものとした。
【００５５】
次に見出し項目照合部２２０は、矩形領域抽出部２１０により抽出された矩形領域で文書種別Ａの表形式に対応する矩形領域をｈ１，ｈ２，・・・，ｈｎとする（ステップＳ１１０４）。続いて見出し項目照合部２２０は、矩形領域を一つ取り出し（ステップＳ１１０５）、区画に分割して各区画をｋ１，ｋ２，・・・，ｋｎとする（ステップＳ１１０６）。尚区画とは、矩形領域の中で線に囲まれた領域である。
【００５６】
次に見出し項目照合部２２０は、見出し項目一覧３２１に含まれる一つの見出し項目を取り出し（ステップＳ１１０７）、取り出した見出し項目と区画ｋ１，ｋ２，・・・，ｋｎ内の各文字列との類似度を算出する（ステップＳ１１０８）。本実施例の類似度とは、取り出した見出し項目と区画内の文字列とで一致する文字数に基づく値である。類似度の算出の詳細は後述する。
【００５７】
続いて見出し項目照合部２２０は、算出結果を保存する（ステップＳ１１０９）。算出結果は、見出し項目、区画（ｋ１，ｋ２，・・・，ｋｎの何れか）、類似度の３つの値が対応付けられた組として記憶部３００等に保存される。続いて見出し項目照合部２２０は、残りの見出し項目が存在するか否かを判断する（ステップＳ１１１０）。ステップＳ１１１０において残りの見出し項目が存在する場合、見出し項目照合部２２０は次の見出し項目を取り出し（ステップＳ１１１１）、ステップＳ１１０８以降の処理を繰り返す。
【００５８】
ステップ１１１０において残りの見出し項目が存在しない場合、見出し項目照合部２２０は、矩形領域において、見出し項目一覧に対して最も類似度の高い区間を対応が1対１となるように割り振る（テップ１１１２）。ステップＳ１１１２では、上記各組を類似度の高い順に並びかえ、見出し項目と区画が１対１となるようにすれば良い。ステップＳ１１１２の処理の詳細は後述する。
【００５９】
続いて見出し項目照合部２２０は、見出し項目と区画を１対１に対応させた類似度の平均を求め、平均が閾値以上である場合は、矩形領域、見出し項目、区画の中の文字列を類似表として出力する（ステップ１１１３）。見出し項目照合部２２０は、残りの矩形領域が存在するか否かを判断する（ステップ１１１４）。ステップＳ１１１４において、残りの矩形領域がある場合、次の矩形領域を取り出し（ステップ１１１５）、ステップＳ１１０６へ戻る。ステップＳ１１１４において残りの矩形領域がない場合、見出し項目照合部２２０は処理を終了する。
【００６０】
以下に図１２を参照して、ステップＳ１１０８、ステップＳ１１０９における見出し項目照合部２２０による類似度の算出と見出し項目と区画の対応付けについて説明する。図１２は、類似度の算出と見出し項目と区画の対応付けを説明する図である。
【００６１】
図１２では、例えば文書種別Ａの表抽出条件である見出し項目一覧３２１と矩形領域１〜Ｎを照合する場合を示している。文書種別Ａから出力された矩形領域は、領域１２１に示されるような区画に分割される。
【００６２】
見出し項目照合部２２０は、矩形領域１の区画１〜区画８の文字列に対して、見出し項目一覧３２１の見出し項目Ａ−１と一致する文字数を調べる。そして、式（１）に示す類似度算出式により、見出し項目Ａ−１と区画１の類似度を算出し、類似度として記憶部３００等に保持する。
【００６３】
同様に見出し項目照合部２２０は、区画１〜区画８の文字列に対して見出し項目Ａ−２と一致する文字数を調べる。そして、式（１）に示す類似度算出式により、見出し項目Ａ−１と区画１の類似度を算出する。見出し項目照合部２２０は、矩形領域１〜Ｎの各区画に対して、見出し項目一覧３２１に含まれる全ての見出し項目について上述の処理を行う。
【００６４】
図１３は、見出し項目毎の類似度を算出した例を示す第一の図である。図１３では、矩形領域１の区画１〜８に対する見出し項目Ａ−１〜Ａ−４との類似度の算出結果１３１を示している。本実施例では、図１３に示す見出し項目と、区画と、類似度とが一つの組として保存される。
【００６５】
図１４は、見出し項目毎の類似度を算出した例を示す第二の図である。図１４では、矩形領域Ｎの区画１〜８に対する見出し項目Ａ−１〜Ａ−４との類似度を算出結果１４１を示している。
【００６６】
次に図１５を参照して、ステップＳ１１１２における見出し項目照合部２２０による割り振りの詳細を説明する。図１５は、ステップＳ１１１２の処理の詳細を説明するフローチャートである。
【００６７】
見出し項目照合部２２０は、ステップＳ１１０９で保存された組において、類似度の値が大きい順にソートする（ステップＳ１５０１）。続いて見出し項目照合部２２０は、ポインタを最初の組にセットする（ステップＳ１５０２）。続いて見出し項目照合部２２０は、現在ポインタが指す組の見出し項目と、区画と、類似度とを出力する（ステップＳ１５０３）。すなわち見出し項目と区画の類似度が最も大きい組が出力される。本実施例では、この出力が１対１の割り振りの結果となる。
【００６８】
続いて見出し項目照合部２２０は、出力した組を類似度の算出結果から削除する（ステップＳ１５０４）。尚ここでは削除するものとしたが、出力されないように該当する組に出力禁止フラグを付けても良い。続いて見出し項目照合部２２０は、ポインタを一つ進める（ステップＳ１５０５）。ステップＳ１５０５においてポインタが指す組が存在する場合（ステップＳ１５０６）、見出し項目照合部２２０はステップＳ１５０３へ戻る。ステップＳ１５０５においてポインタが指す組が存在しない場合、見出し項目照合部２２０はステップＳ１１１２の処理を終了する。
【００６９】
図１６は、見出し項目一覧に対して最も類似度の高い区間を対応が1対１となるように割り振った例を示す図である。図１６では、算出結果１３１に対して図１５で説明した処理を行った結果を割振結果１６１として示している。
【００７０】
割振結果１６１では、矩形領域１において見出し項目Ａ−１と最も類似する区間は区画２であり、見出し項目Ａ−２と最も類似する区間は区画３であり、見出し項目Ａ−３と最も類似する区間は区画４であり、見出し項目Ａ−４と最も類似する区間は区画１となる。本実施例では割振結果１６１以外の組は、記憶部３００から削除されても良い。
【００７１】
本実施例の見出し項目照合部２２０は、文書種別Ａの設計書データ８０から抽出された全ての矩形領域について、上述の割振結果を求める。そして見出し項目照合部２２０は、割振結果１６１に含まれる類似度の平均値が閾値以上である矩形領域を抽出し、類似表として記憶部３００に保持する。例えば図１６に示す割振結果１６１の場合、４つの類似度１，１，０．８，０．５の平均値が閾値以上であった場合、矩形領域１は類似表１として保持される。
【００７２】
次にステップＳ７０３で行われる類似表のデータ項目の長さの補正の詳細を説明する。本実施例の表構造自動認識装置１００において、データ項目長さ補正部２３１は、抽出された類似表のデータ項目の長さを補正する。図１７は、データ項目長さ補正部による処理を説明するフローチャートである。
【００７３】
データ項目長さ補正部２３１は、ステップＳ７０２の処理結果の文書種別に対応する類似表を準備する（ステップＳ１７０１）。続いてデータ項目長さ補正部２３１は、類似表を一つ取り出す（ステップＳ１７０２）。続いてデータ項目長さ補正部２３１は、類似表を区画毎に分割する（ステップＳ１７０３）。続いてデータデータ項目長さ補正部２３１は、区画毎のデータ項目のデータを取得してデータ項目の長さを記憶部３００等に記憶する（ステップＳ１７０４）。尚データ項目の長さとは、データ項目に対応する区画の長さであり、具体的には区画内の文字数を示す。
【００７４】
続いてデータデータ項目長さ補正部２３１は、残りの類似表が存在するか否かを判断する（ステップＳ１７０５）。ステップＳ１７０５において類似表が残っている場合、データ項目長さ補正部２３１は次の類似表を取り出し（ステップＳ１７０６）、ステップＳ１７０３に戻る。ステップＳ１７０６において残りの類似表が存在しない場合、取得したデータ項目の長さを用いて、類似表のデータ項目の長さを正規化する（ステップＳ１７０７）。具体的にはデータ項目長さ補正部２３１は、各類似表のデータ項目毎のデータの長さの平均値を求め、各データ項目の長さをこの平均値とするように補正しても良い。
【００７５】
図１８は、データ項目の長さの補正の具体例を説明する第一図である。図１８では、類似表として、文書種別Ａの矩形領域１〜４が抽出された場合を示している。図１８（Ａ）は、見出し項目とデータ項目との対応を示す図であり、図１８（Ｂ）はデータ項目の長さの補正を説明する図である。
【００７６】
本実施例のデータ項目長さ補正部２３１は、見出し項目照合部２２０により見出し項目Ａ−１〜Ａ−４が割り振られた区画以外の区画をデータ項目の区画とする。例えば文書種別Ａの類似表では、図１８（Ａ）に示すように、区画１〜４には見出し項目Ａ−１〜Ａ−４が割り振られている。よって区画５〜８が見出し項目Ａ−１〜Ａ−４に対応するデータ項目１〜データ項目４の区画となる。
【００７７】
データ項目長さ補正部２３１は、図１８（Ｂ）に示すように、矩形領域１〜４の区画５〜８の文字数を各区画のデータ項目の長さとして取得する。矩形領域１では、区画５の文字列は９文字であるため、区画５のデータ項目の長さは９となる。尚本実施例では、スペースや符号等も１文字とカウントするものとした。また矩形領域１の区画６の文字数は４文字であるため、区画６のデータ項目の長さは４となる。
【００７８】
データ項目長さ補正部２３１は、抽出された矩形領域（類似表）毎に、区画５〜８のデータ項目の長さを取得した記憶部３００に保持する。
【００７９】
図１９は、データ項目の長さの補正の具体例を説明する第二図である。図１９では、図１８でデータ項目長さ補正部２３１による補正後のデータ項目の長さから、矩形領域毎のデータ項目の長さを補正する例を示している。図１９（Ａ）は区画５〜８のデータ項目の長さの平均値の例を示しており、図１９（Ｂ）は矩形領域１のデータ項目の長さを補正した例を示している。
【００８０】
本実施例では、各区画のデータ項目の長さの平均が補正後のデータ項目の長さとなる。図１９（Ａ）に示すように、矩形領域１〜４における区画５のデータ項目の長さの合計は３６である。よってデータ項目長さ補正部２３１はこの平均値９を区画５の補正後のデータ項目の長さとする。データ項目長さ補正部２３１は、区画６〜８に対しても同様に補正後のデータ項目の長さを算出する。尚平均値の算出において、小数点第２位の値は切り上げるものとした。算出された補正後のデータ項目の長さは、各区画と対応付けられて記憶部３００等に保持される。
【００８１】
そしてデータ項目長さ補正部２３１は、補正後のデータ項目の長さに基づき区画５〜８の文字列の長さを補正する。この補正により、例えば図１９（Ｂ）に示すように、矩形領域１の区画５のデータ項目の文字列の長さは９となり、区画６のデータ項目の文字列の長さは４となり、区画７のデータ項目の文字列の長さは４．５となり、区画８のデータ項目の文字列の長さは３．５となる。
【００８２】
次にステップＳ７０４で行われる類似表の見出し項目の長さの補正の詳細を説明する。本実施例の表構造自動認識装置１００において、見出し項目長さ補正部２３２は、抽出された類似表の見出し項目の長さを補正する。図２０は、見出し項目長さ補正部による処理を説明するフローチャートである。
【００８３】
本実施例の見出し項目長さ補正部２３２は、見出し項目の長さ補正の対象とする文書種別に対する表抽出条件を取得する（ステップＳ２００１）。ここで補正対象の文書種別を文書種別Ａとし、文書種別Ａの表抽出条件を対象表抽出条件とする。すなわち対象表抽出条件とは、文書種別Ａの見出し項目一覧３２１である。
【００８４】
続いて見出し項目長さ補正部２３２は、項目整合データベース３３０を参照し、文書種別Ａと整合性が期待される文書種別の見出し項目一覧（表抽出条件）を取得する（ステップＳ２００２）。ここでは文書種別Ａと整合性が期待される文書種別を文書種別Ｂとし、文書種別Ｂの表抽出条件を対応表抽出条件とする。すなわち対応表抽出条件とは文書種別Ｂの見出し項目一覧３２２である。
【００８５】
続いて見出し項目長さ補正部２３２は、対応表抽出条件に基づき文書種別Ｂの設計書データから抽出された類似表を準備する（ステップＳ２００３）。次に見出し項目長さ補正部２３２は、対象表抽出条件から一つ見出し項目を取り出す（ステップＳ２００４）。具体的には例えば、見出し項目一覧３２１から一つの見出し項目を取り出す。
【００８６】
続いて見出し項目長さ補正部２３２は、整合性が期待される文書種別に対応する見出し項目が対応表抽出条件中に存在するか否かを判断する（ステップＳ２００５）。具体的には例えば、文書種別Ｂの見出し項目一覧３２２中に、ステップＳ２００４で取り出した見出し項目と整合性が期待できる見出し項目が存在するか否かを判断する。
【００８７】
ステップＳ２００５において該当する見出し項目が存在する場合、見出し項目長さ補正部２３２は、対応表抽出条件に対する類似表中で、対応する見出し項目と合致する見出し項目の長さの平均値を算出する（ステップＳ２００６）。具体的には例えば、見出し項目一覧３２２を表抽出条件として文書種別Ｂの設計書データから抽出した類似表において、ステップＳ２００４で取り出した見出し項目と整合性が期待できる見出し項目を抽出し、抽出した見出し項目の文字数の平均値を算出する。ステップＳ２００５において該当する見出し項目が存在しない場合、後述するステップＳ２００８へ進む。
【００８８】
続いて見出し項目長さ補正部２３２は、ステップＳ２００４で取り出した見出し項目の長さを、ステップＳ２００６で算出した見出し項目の平均値を用いて補正する（ステップＳ２００７）。続いて見出し項目長さ補正部２３２は、残りの見出し項目が存在するか否かを判断する（ステップＳ２００８）。ステップＳ２００８で残りの見出し項目が存在する場合、見出し項目長さ補正部２３２は次の見出し項目を取り出し（ステップＳ２００９）、ステップＳ２００５に戻る。ステップＳ２００８で残りの見出し項目が存在しない場合、見出し項目長さ補正部２３２は処理を終了する。
【００８９】
以下に図２１乃至図２４を参照して見出し項目の長さの補正について具体的に説明する。図２１は、見出し項目の長さの補正の具体例を示す第一の図である。
【００９０】
図２１では、文書種別Ａの類似表の見出し項目の長さを補正する場合を示している。見出し項目長さ補正部２３２は、項目整合データベース３３０に基づき、文書種別Ａの見出し項目Ａ−１と文書種別Ｂの見出し項目Ｂ−１とが整合性が期待されると判断する。また見出し項目長さ補正部２３２は、見出し項目Ａ−３と文書種別Ｃの見出し項目Ｃ−１とが整合性が期待されると判断する。
【００９１】
そして見出し項目長さ補正部２３２は、表抽出条件データベース３２０から文書種別Ｂの見出し項目一覧３２２を表抽出条件として取得する。そして図７のステップＳ７０１、ステップＳ７０２の処理を文書種別Ｂの設計書データに対して行い、文書種別Ｂの類似表を抽出する。また見出し項目長さ補正部２３２は文書種別Ｃについても見出し項目一覧３２３を表抽出条件として取得し、文書種別Ｃの類似表を抽出する。
【００９２】
図２２は、見出し項目の長さの補正の具体例を示す第二の図である。見出し項目長さ補正部２３２は、文書種別Ｂの類似表と文書種別Ｃの類似表を抽出すると、文書種別Ａの見出し項目一覧３２１から一つ見出し項目を取り出し、文書種別Ｂ，Ｃに取り出した見出し項目と整合性が期待できる見出し項目があるか否か判断する。
【００９３】
図２２において、例えば見出し項目一覧３２１の見出し項目Ａ−１を取り出すと、見出し項目Ａ−１は見出し項目Ｂ−１と整合性が期待でき、見出し項目Ａ−３は見出し項目Ｃ−１と整合性が期待できることがわかる。また見出し項目Ａ−２、Ａ−４との整合性が期待できる見出し項目は、文書種別Ｂ，Ｃには存在しないことがわかる。
【００９４】
図２３は、見出し項目の長さの補正の具体例を示す第三の図である。文書種別Ｂ，Ｃにおいて文書種別Ａの見出し項目と整合性が期待できる見出し項目がわかると、見出し項目長さ補正部２３２は、各文書種別の類似表における該当見出し項目の長さの平均値を算出する。
【００９５】
図２３（Ａ）は、文書種別Ｂの類似表における見出し項目Ｂ−１の長さの平均値の算出を説明する図であり、図２３（Ｂ）は、文書種別Ｃの類似表における見出し項目Ｃ−１の長さの平均値の算出を説明する図である。
【００９６】
図２３（Ａ）に示すように、文書種別Ｂは、見出し項目Ｂ−１が見出し項目Ａ−１と整合性が期待される見出し項目である。よって見出し項目長さ補正部２３２は、文書種別Ｂの各類似表から見出し項目Ｂ−１の文字数を抽出し、この平均値を求める。図２３（Ａ）の例では、文書種別Ｂから３つの類似表が抽出された例である。よって見出し項目長さ補正部２３２は、３つの類似表の見出し項目Ｂ−１の長さ（文字列の数）の平均値を算出する。
【００９７】
また図２３（Ｂ）に示すように、文書種別Ｃは、見出し項目Ｃ−１が見出し項目Ａ−３と整合性が期待される見出し項目である。よって見出し項目長さ補正部２３２は、文書種別Ｃの各類似表から見出し項目Ｃ−１の文字数を抽出し、この平均値を求める。この平均値は、記憶部３００等に記憶される。
図２３（Ｂ）の例では、文書種別Ｃから３つの類似表が抽出された例である。よって見出し項目長さ補正部２３２は、３つの類似表の見出し項目Ｃ−１の長さ（文字列の数）の平均値を算出する。尚平均値の算出において、小数点以下の数値は切り捨てるものとした。
【００９８】
図２４は、見出し項目の長さの補正の具体例を示す第四の図である。図２４（Ａ）は補正方法について説明する図であり、図２４（Ｂ）は矩形領域１の見出し項目を補正した例を示す図である。
【００９９】
本実施例の見出し項目長さ補正部２３２は、文書種別Ａの見出し項目の長さと、他の文書種別で整合性が期待される見出し項目の長さの平均値とを用いて文書種別Ａの見出し項目の長さを補正する。具体的には図２４（Ａ）に示すように、文書種別Ａの見出し項目の長さと他の文書種別で整合性が期待される見出し項目の長さの平均値との和の１／２の値が補正後の見出し項目の長さとなる。
【０１００】
図２４では、文書種別Ｂの見出し項目Ｂ−１と整合性が期待される見出し項目がある見出し項目Ａ−１と、文書種別Ｃの見出し項目Ｃ−１と整合性が期待される見出し項目がある見出し項目Ａ−３とが補正される。見出し項目Ａ−１の長さは１５であり、見出し項目Ｂ−１の長さの平均値は１１である。よって見出し項目Ａ−１の補正後の長さは１３となる。
【０１０１】
また見出し項目Ａ−３の長さは６であり、見出し項目Ｃ−１の長さの平均値は４である。よって見出し項目Ａ−３の補正後の長さは５となる。
【０１０２】
このように補正した結果、矩形領域１の見出し項目は、図２４（Ｂ）に示すように、見出し項目Ａ−１は長さ１３、見出し項目Ａ−２は長さ３、見出し項目Ａ−３は長さ５、見出し項目Ａ−４は長さ２となる。
【０１０３】
尚本実施例では、例えば文書種別Ａの見出し項目Ａ−１と整合性が期待される見出し項目が他の文書種別の見出し項目一覧に存在しない場合、文書種別Ａと表形式が類似した文書種別において類似した見出し項目の文字数の平均値を用いて見出し項目の補正を行う。例えば項目整合データベース３３０において、文書種別Ａの見出し項目Ａ−４は、整合性が期待される見出し項目が存在しない。よって見出し項目長さ補正部２３２は、見出し項目Ａ−１と整合性が期待される見出し項目が含まれる文書種別Ｂの見出し項目一覧３２２のうち、見出し項目Ａ−４と類似する見出し項目Ｂ−５の文字数と、見出し項目Ａ−４の文字数との平均値を見出し項目Ａ−４の補正に用いても良い。
【０１０４】
尚本実施例では、見出し項目の長さの補正とデータ項目の長さの補正とを両方行うものとして説明したが、これに限定されない。例えば見出し項目又はデータ項目の何れか一方の長さを補正しても良い。何れか一方の補正を行う場合はデータ項目の長さを補正することが好ましい。
【０１０５】
次にステップＳ７０５で行われる補正後の見出し項目に対応するデータ項目の特定の詳細を説明する。本実施例の表構造自動認識装置１００において、見出し対応データ特定部２４０は、補正後の見出し項目に対応するデータ項目を特定する。図２５は、見出し対応データ特定部による処理を説明するフローチャートである。
【０１０６】
見出し対応データ特定部２４０は、データ項目と見出し項目が補正された補正後の類似表を取得する（ステップＳ２５０１）。続いて見出し対応データ特定部２４０は、取得した類似表から見出し項目を一つ取り出す（ステップＳ２５０２）。続いて見出し対応データ特定部２４０は、取り出した見出し項目と、類似表中の各データ項目との組み合わせにより、作り出される領域の面積を計算する（ステップＳ２５０３）。
【０１０７】
具体的には見出し対応データ特定部２４０は、見出し項目とデータ項目により作り出される領域を見出し項目の長さとデータ項目の長さをそれぞれ上辺と下辺とする台形とみなし、領域の面積を（見出し項目の長さ＋データ項目の長さ）×高さ÷２として計算する。このとき高さは、例えば１つの区画の高さを１として計算しても良い。
【０１０８】
見出し対応データ特定部２４０は、この領域の計算を、１つの見出し項目に対して全てのデータ項目について行い、見出し項目、データ項目、面積の３つを対応付けた組として記憶部３００等に保存する（ステップＳ２５０４）。
【０１０９】
見出し対応データ特定部２４０は、残りの見出し項目が存在するか否かを判断する（ステップＳ２５０５）。ステップＳ２５０５において残りの見出し項目がある場合、見出し対応データ特定部２４０は次の見出し項目を取り出し（ステップＳ２５０６）、ステップＳ２５０３へ戻る。
【０１１０】
ステップＳ２５０５において残りの見出し項目が存在しない場合、見出し対応データ特定部２４０は、所定の条件に該当する計算結果を除く（ステップＳ２５０７）。本実施例では、１つのデータ項目が複数の見出し項目に対応しているものの計算結果と、見出し項目とデータ項目を結ぶ線分との交差数が一定閾値を越える計算結果とを除く。尚交差数の一定閾値は、例えば類似表中の見出し項目の数に対する一定の割合として与えられても良い。また交差数の一定閾値は、見出し項目の数に応じて変更されても良い。交差数の一定閾値は、記憶部３００等に予め格納されている。
【０１１１】
続いて見出し対応データ特定部２４０は、計算結果から見出し項目毎に領域の面積が最も小さい組を選び出す（ステップＳ２５０８）。見出し項目対応データ項目特定部２４０は、選ばれた組の見出し項目とデータ項目を最終結果として出力する（ステップＳ２５０９）。この見出し項目対応データ項目特定部２４０の処理により、類似表中の見出し項目に対応するデータ項目が特定される。
【０１１２】
図２６は、見出し項目に対応するデータ項目の特定を説明する図である。図２６では、交差数の一定閾値を例えば１とした場合に、図２６（Ａ）は、見出し項目とデータ項目を結ぶ線分の交差数が一定閾値を越える場合を示しており、図２６（Ｂ）は見出し項目とデータ項目を結ぶ線分の交差数が一定閾値を越えない場合を示している。
【０１１３】
図２６（Ａ）では、見出し項目に対応する区画２６１に対して面積が最小の領域を作り出すデータ項目に対応する区間は区画２６２である。しかし、区画２６１の見出し項目と区画２６２のデータ項目とを結ぶ線分Ｈ１は、他の見出し項目とデータ項目とを結ぶ線分と３個所で交差する。したがってこの交差数は３となり、一定閾値を越えるため、区画２６２のデータ項目は区画２６１の見出し項目と対応するデータ項目には選択されない。
【０１１４】
図２６（Ｂ）では、交差数が一定閾値を越えるデータ項目を除いた場合に、区画２６１の見出し項目と最小の面積の領域を作り出す区画は区画２６３である。区画２６１の見出し項目と区画２６３のデータ項目とを結ぶ線分Ｈ２は、他の見出し項目とデータ項目とを結ぶ線分と交差しない。よって交差数は０となり、一定閾値を越えないため、区画２６３のデータ項目は区画２６１の見出し項目に対応するデータ項目として特定される。
【０１１５】
このように本実施例では、見出し項目とデータ項目とが作り出す領域の面積が最小であることに加え、見出し項目とデータ項目とを結ぶ線分の交差数に制約を設ける。これは、表の解釈において、交差数が多いほど認知的負担が大きくなるという観察を反映したものである。
【０１１６】
本実施例では、このように交差数に制約を設けることで表構造の自動認識の精度を高めることができる。
【０１１７】
次に、本実施例の表構造自動認識装置１００において表構造の自動認識を行う際の表構造の入力形式と出力形式について説明する。
【０１１８】
図２７は、表の入力形式を説明する図である。図２７（Ａ）は、表の一例を示しており、図２７（Ｂ）は図２７（Ａ）で示す表構造の入力形式の一例を示している。
【０１１９】
本実施例では、見出し項目を「Ｈ：座標：文字列長さ」で表し、データ項目を「座標：文字列長さ」で表し、領域の高さを「座標Ｙ：高さ」で表す。また本実施例では、座標は例えばＭＳExcel（登録商標）形式で表す。
【０１２０】
図２７（Ａ）に示すｔａｂｌｅ２は、座標Ｆ２，Ｇ２，Ｇ３，Ｈ３で示される区画が見出し項目であり、各区画には見出し項目の文字列が入力されている。またｔａｂｌｅ２では、残りの区画がデータ項目であり、各区画にはデータ項目の文字列が入力されている。よってｔａｂｌｅ２は、図２７（Ｂ）に示すように、「Ｈ：Ｆ２：２  Ｈ：Ｇ２：３  Ｈ：Ｇ３：２」で見出し項目を示す。また先頭にＨ：がないものがデータ項目であり「Ｆ５：４  Ｇ４：１６  Ｇ５：１３  Ｈ５：５」でデータ項目を示す。また「２：１  ３：１  ４：２  ５：２」で各区画の高さを示す。例えば、Ｙ座標が２のものは高さが１であると解釈する。
【０１２１】
図２８は、見出し項目とデータ項目の対応付けをとる入力例を示す図である。本実施例の表構造自動認識装置１００に複数の表の表構造を入力する場合、図２８に示すように複数の表の表構造を一つのデータとして入力しても良い。図２８では、ｔａｂｌｅ１〜ｔａｂｌｅ６までの表構造が含まれるデータを示している。
【０１２２】
次に図２９を参照して本実施例の表構造自動認識装置１００から出力される見出し項目とデータ項目との対応付けの形式について説明する。図２９は、対応付けの結果の例を示す図である。
【０１２３】
本実施例では、見出し項目とデータ項目の対応付けを行った結果が、「交差数＃領域サイズ＃個々の領域１＃個々の領域２＃・・・＃個々の領域ｎ」という形式で出力される。尚個々の領域は、「個々の領域サイズ＿領域の高さ＿見出し項目＿データ項目」で表され、見出し項目は「Ｈ：座標：文字列長さ」で表され、データ項目は「座標：文字列長さ」で表される。尚領域サイズは、表を形成する矩形領域の面積であり、個々の領域サイズは表に含まれる区画毎の面積である。
【０１２４】
例えば図２９のｔａｂｌｅ２では、交差数が１、領域サイズが１０６．５、領域１の領域サイズが１８、領域の高さが６、見出し項目の座標がＦ２で見出し項目の長さが２、見出し項目に対応するデータ項目の座標がＦ５でデータ項目の長さが４となる。また領域２の領域サイズが２４、領域の高さが６、見出し項目の座標がＧ２で見出し項目の長さが３、見出し項目に対応するデータ項目の座標がＨ５でデータ項目の長さが５となる。
【０１２５】
以上のように本実施例では、見出し項目及びデータ項目の座標と文字列長さを入力するだけで、見出し項目に対応したデータ項目を特定することができる。よって簡単な表の構造定義で高精度に表の自動認識を行うことができる。
【０１２６】
本発明は、以下に記載する付記のような構成が含まれる。
（付記１）
複数の区画が含まれる複数の表を含む文書データが格納された文書データベースから、前記複数の表を抽出し、
抽出対象の表の第１の見出しが格納された表抽出条件データベースを参照して、前記第１の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、
前記照合の結果が所定条件を満たす表を抽出し、
前記所定条件を満たす表に含まれる各区画の長さに基づき、該表における見出し項目の区画とデータ項目の区画との対応付けに用いる見出し項目の区画の長さ又は該見出し項目と対応するデータ項目の区画の長さの少なくとも何れか一方を補正する
処理をコンピュータに実行させる表構造自動認識プログラム。
（付記２）
前記補正する処理において、
前記所定条件を満たす表に含まれる、前記データ項目の区画毎に、当該データ項目の区画の長さを取得して当該データ項目の区画の長さを正規化し、
前記対応付けに用いるデータ項目の区画の長さを前記正規化された値に補正する
処理をコンピュータに実行させる付記１記載の表構造自動認識プログラム。
（付記３）
前記補正する処理において、
前記データ項目の区画のデータが整合する見出し同士が対応付けて格納された項目整合データベースを参照して、前記第１の見出しと対応付けられた第２の見出しを取得し、
前記第１の見出し及び第２の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、
前記照合の結果が所定条件を満たす第２の表を抽出し、
前記第２の表に含まれる見出し項目の区画の長さの平均値を用いて、前記対応付けに用いる見出し項目の区画の長さを補正する
処理をコンピュータに実行させる付記１又は２記載の表構造自動認識プログラム。
（付記４）
前記所定条件を満たす表の見出し項目の区画の各々と、データ項目の区画の各々とを結ぶ線分を求め、
前記線分同士が交差する回数が所定回数以下となる前記表の前記見出し項目と前記データ項目との組み合わせを特定し、
前記特定された見出し項目とデータ項目とを対応付けて出力する
処理をコンピュータに実行させる付記１乃至３の何れか一項に記載の表構造自動認識プログラム。
（付記５）
前記所定回数は、前記所定条件を満たす表の見出し項目の数に対して所定の割合となるように設定される付記４記載の表構造自動認識プログラム。
（付記６）
前記照合において、
前記表抽出条件データベースに格納された見出し項目のデータと前記文書データベースから抽出された前記複数の表の見出し項目のデータとが一致する割合に基づき前記複数の表のそれぞれの類似度を算出する処理と、
前記類似度が所定の閾値以上である表を前記複数の表から抽出する処理と、をコンピュータに実行させる付記１ないし５の何れか一項に記載の表構造自動認識プログラム。
（付記７）
コンピュータが表構造の自動認識を行う表構造自動認識方法であって、
複数の区画が含まれる複数の表を含む文書データが格納された文書データベースから、前記複数の表を抽出し、
抽出対象の表の第１の見出しが格納された表抽出条件データベースを参照して、前記第１の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、
前記照合の結果が所定条件を満たす表を抽出し、
前記所定条件を満たす表に含まれる各区画の長さに基づき、該表における見出し項目の区画とデータ項目の区画との対応付けに用いる見出し項目の区画の長さ又は該見出し項目と対応するデータ項目の区画の長さの少なくとも何れか一方を補正する表構造自動認識方法。
（付記８）
表構造の自動認識を行う表構造自動認識装置であって、
複数の区画が含まれる複数の表を含む文書データが格納された文書データベースから、前記複数の表を抽出する矩形領域抽出部と、
抽出対象の表の第１の見出しが格納された表抽出条件データベースを参照して、前記第１の見出しと前記複数の表の各々に含まれる見出し項目の区画のデータとを照合し、前記照合の結果が所定条件を満たす表を抽出する見出し項目照合部と、
前記所定条件を満たす表に含まれる各区画の長さに基づき、該表における見出し項目の区画とデータ項目の区画との対応付けに用いる見出し項目の区画の長さ又は該見出し項目と対応するデータ項目の区画の長さの少なくとも何れか一方を補正する長さ補正部と、を有する表構造自動認識装置。
【符号の説明】
【０１２７】
１００  表構造自動認識装置
２００  認識処理部
２１０  矩形領域抽出部
２２０  見出し項目照合部
２３０  長さ補正部
２３１  データ項目長さ補正部
２３２  見出し項目長さ補正部
２４０  見出し対応データ特定部
３００  記憶部
３１０  設計書データベース
３２０  表抽出条件データベース
３３０  項目整合データベース
【図１】
0005664481.tif 000002
【図２】
0005664481.tif 000003
【図３】
0005664481.tif 000004
【図４】
0005664481.tif 000005
【図５】
0005664481.tif 000006
【図６】
0005664481.tif 000007
【図７】
0005664481.tif 000008
【図８】
0005664481.tif 000009
【図９】
0005664481.tif 000010
【図１０】
0005664481.tif 000011
【図１１】
0005664481.tif 000012
【図１２】
0005664481.tif 000013
【図１３】
0005664481.tif 000014
【図１４】
0005664481.tif 000015
【図１５】
0005664481.tif 000016
【図１６】
0005664481.tif 000017
【図１７】
0005664481.tif 000018
【図１８】
0005664481.tif 000019
【図１９】
0005664481.tif 000020
【図２０】
0005664481.tif 000021
【図２１】
0005664481.tif 000022
【図２２】
0005664481.tif 000023
【図２３】
0005664481.tif 000024
【図２４】
0005664481.tif 000025
【図２５】
0005664481.tif 000026
【図２６】
0005664481.tif 000027
【図２７】
0005664481.tif 000028
【図２８】
0005664481.tif 000029
【図２９】
0005664481.tif 000030