データベース生成装置、データベース生成方法及びコンピュータプログラム
【課題】異なるデータ形式を有する複数の表データが存在する場合であっても、新たなデータベースを正しく生成することができるデータベース生成装置、データベース生成方法及びコンピュータプログラムを提供する。
【解決手段】一又は複数の電子文書ファイルを取得し、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する。抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析した結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する。特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出し、データベース項目及び対応するデータを一覧表示する。表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける。
【解決手段】一又は複数の電子文書ファイルを取得し、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する。抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析した結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する。特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出し、データベース項目及び対応するデータを一覧表示する。表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異なるデータ形式を有する複数の表データが存在する場合であっても、容易に一のデータベースを生成することができるデータベース生成装置、データベース生成方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
関係データベースを生成する場合、事前に生成されている表データを利用することが多い。表データのデータベース項目が一致している場合には、複数の表データをマージすることにより容易に新たなデータベースを生成することができる。
【0003】
しかし、表データのデータ形式が標準化されていない場合、表データのデータ形式は作成者に依存しており、また同一のアプリケーションであっても使用するソフトウェアプログラムによってデータベース項目の相違、データベース項目の配列の相違等が存在しており、そのままマージすることができない。斯かる問題を解決するべく、従来は中間ファイルフォーマットを用いて、データベース項目が相違している、あるいはデータベース項目の配列順序が相違している複数の表データをマージして1つの表データを生成している。
【0004】
例えば特許文献1では、表データの中間ファイルとして良く用いられているCSVファイルを用い、複数の表データファイルから1つのデータベースを生成しているデータベース管理システムが開示されている。
【特許文献1】特開2006−059135号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1のように、CSVファイルを介して複数の表データをマージする場合、どのデータベース項目が相違しているか、どのデータベース項目の配列順序が相違しているか等に関する情報を事前に知っておく必要が有り、これらの情報に応じて適切な変換手順を設定しておかないと、所望の表データを生成することができないという問題点があった。
【0006】
また、表データのセル位置に基づいて自動的に表データをマージする方法も考えられているが、表データの開始セル位置が一定ではなく、開始セル位置の相違に基づいてマージ対象となるセルの位置補正を行わないと、複数の異なるファイル又は異なるシート上の表データを正しくマージすることはできない。
【0007】
本発明は斯かる事情に鑑みてなされたものであり、異なるデータ形式を有する複数の表データが存在する場合であっても、新たなデータベースを正しく生成することができるデータベース生成装置、データベース生成方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために第1発明に係るデータベース生成装置は、表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置において、一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段と、取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段と、抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段と、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段と、特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段と、抽出されたデータベース項目及び対応するデータを一覧表示する表示手段と、表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段とを備えることを特徴とする。
【0009】
また、第2発明に係るデータベース生成装置は、第1発明において、前記データ抽出規則特定手段は、一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段と、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段と、受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段とを備えることを特徴とする。
【0010】
また、第3発明に係るデータベース生成装置は、第1又は第2発明において、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段と、前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段と、該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段とを備え、前記データ抽出手段は、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出するようにしてあり、前記表示手段は、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示するようにしてあることを特徴とする。
【0011】
また、第4発明に係るデータベース生成装置は、第1乃至第3発明のいずれか1つにおいて、前記解析手段は、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段を備え、該手段で同一であると判断した場合、前記データ抽出手段は、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出するようにしてあることを特徴とする。
【0012】
次に、上記目的を達成するために第5発明に係るデータベース生成方法は、表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なデータベース生成方法において、一又は複数の前記電子文書ファイルを取得し、取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出し、抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析し、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定し、特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出し、抽出されたデータベース項目及び対応するデータを一覧表示し、表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付けることを特徴とする。
【0013】
また、第6発明に係るデータベース生成方法は、第5発明において、一又は複数の前記電子文書ファイルの指定を受け付け、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付け、受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定することを特徴とする。
【0014】
また、第7発明に係るデータベース生成方法は、第5又は第6発明において、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出し、前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断し、変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与し、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出し、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示することを特徴とする。
【0015】
また、第8発明に係るデータベース生成方法は、第5乃至第7発明のいずれか1つにおいて、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断し、同一であると判断した場合、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出することを特徴とする。
【0016】
次に、上記目的を達成するために第9発明に係るコンピュータプログラムは、表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なコンピュータプログラムにおいて、前記データベース生成装置を、一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段、取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段、抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段、特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段、抽出されたデータベース項目及び対応するデータを一覧表示する表示手段、及び表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段として機能させることを特徴とする。
【0017】
また、第10発明に係るコンピュータプログラムは、第9発明において、前記データ抽出規則特定手段を、一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段、及び受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段として機能させることを特徴とする。
【0018】
また、第11発明に係るコンピュータプログラムは、第9又は第10発明において、前記データ抽出規則特定手段を、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段、前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段、及び該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段として機能させ、前記データ抽出手段を、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出する手段として機能させ、前記表示手段を、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示する手段として機能させることを特徴とする。
【0019】
また、第12発明に係るコンピュータプログラムは、第9乃至第11発明のいずれか1つにおいて、前記解析手段を、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段として機能させ、該手段で同一であると判断した場合、前記データ抽出手段を、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出する手段として機能させることを特徴とする。
【0020】
第1発明、第5発明、及び第9発明では、一又は複数の電子文書ファイルを取得し、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出して、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する。解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定し、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する。抽出されたデータベース項目及び対応するデータを一覧表示し、表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける。罫線情報に基づいて電子文書ファイル中の表データの位置を特定することができ、新たに生成するデータベースの基礎となるデータベース項目及びデータを抽出するデータ抽出規則を正しく特定することができる。
【0021】
第2発明、第6発明、及び第10発明では、一又は複数の電子文書ファイルの指定を受け付け、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける。受け付けた範囲指定に従って、データベース項目及びデータ抽出規則を特定する。これにより、新たに生成するデータベースに使用するデータベース項目及びデータ抽出規則に不備が生じた場合であっても、ユーザの範囲指定により適切なデータベース項目及びデータ抽出規則を特定することができ、表データをマージすることを半自動化することができる。
【0022】
第3発明、第7発明及び第11発明では、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出する。データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断し、変更部分が存在すると判断した場合、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する。データ抽出規則の変更部分を反映してデータベース項目及び対応するデータを抽出し、データベース項目に付与されているタグ情報に従ってデータベース項目を配列して、データベース項目及び対応するデータを一覧表示する。これにより、複数のファイル上で表データの位置が相違する場合、データベース項目が相違する場合、データベース項目の配列順序が相違する場合等であっても、斯かる相違に起因して変更されたデータ抽出規則に従ってデータを抽出し、同一のデータベース項目については同一のタグ情報をキー情報として集約することができ、新たな異なるデータベース項目については、異なるタグ情報により新規のデータベース項目として追加することができる。したがって、ユーザがデータベース項目の相違点を事前にすべて知ることができない場合であっても、データベース項目が重複又は欠落することなく新たなデータベースを生成して一覧表示することが可能となる。
【0023】
第4発明、第8発明及び第12発明では、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断し、同一であると判断した場合、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出する。これにより、連続して区画が同一である場合には一の項目がさらに複数の項目に分割される可能性が少ないことから、各データベース項目に対応するデータを漏れなく抽出することが可能となる。
【発明の効果】
【0024】
本発明によれば、罫線情報に基づいて電子文書ファイル中の表データの位置を特定することができ、新たに生成するデータベースの基礎となるデータベース項目及び対応するデータを抽出するデータ抽出規則を正しく特定することができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施の形態に係るデータベース生成装置について、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
【0026】
また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。
【0027】
以下の実施の形態では、コンピュータシステムにコンピュータプログラムを導入したデータベース生成装置について説明するが、当業者であれば明らかな通り、本発明はその一部をコンピュータで実行することが可能なコンピュータプログラムとして実施することができる。したがって、本発明は、データベース生成装置というハードウェアとしての実施の形態、ソフトウェアとしての実施の形態、又はソフトウェアとハードウェアとの組み合わせの実施の形態をとることができる。コンピュータプログラムは、ハードディスク、DVD、CD、光記憶装置、磁気記憶装置等の任意のコンピュータで読み取ることが可能な記録媒体に記録することができる。
【0028】
(実施の形態1)
図1は、本発明の実施の形態1に係るデータベース生成装置の構成例を示すブロック図である。本発明の実施の形態1に係るデータベース生成装置1は、少なくともCPU(中央演算装置)11、メモリ12、記憶装置13、I/Oインタフェース14、ビデオインタフェース15、可搬型ディスクドライブ16、通信インタフェース17及び上述したハードウェアを接続する内部バス18で構成されている。
【0029】
CPU11は、内部バス18を介してデータベース生成装置1の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置13に記憶されているコンピュータプログラム100に従って、種々のソフトウェア的機能を実行する。メモリ12は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム100の実行時にロードモジュールが展開され、コンピュータプログラム100の実行時に発生する一時的なデータ等を記憶する。
【0030】
記憶装置13は、内蔵される固定型記憶装置(ハードディスク)、SRAM等の揮発性メモリ、ROM等の不揮発性メモリ等で構成されている。記憶装置13に記憶されているコンピュータプログラム100は、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体90から、可搬型ディスクドライブ16によりダウンロードされ、実行時には記憶装置13からメモリ12へ展開して実行される。もちろん、通信インタフェース17を介してネットワーク2に接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【0031】
また記憶装置13は、電子文書ファイル記憶部131、データ抽出規則記憶部132、データベース記憶部133及びゆらぎ情報記憶部134を備えている。電子文書ファイル記憶部131には、表データを内容に含み、新たなデータベースを生成するための基礎となる電子文書ファイルを記憶する。
【0032】
データ抽出規則記憶部132には、例えば電子文書ファイルに含まれる表データのうち最大のサイズを有する表データを選択する、ファイルの先頭からn(nは自然数)番目の表データを選択する等の、表データからデータベース項目及び対応するデータを抽出するデータ抽出規則を記憶している。
【0033】
データベース記憶部133には、複数の電子文書ファイルに含まれる表データをマージして新たに生成されたデータベースを記憶する。ゆらぎ情報記憶部134には、マージする対象となる表データ間の相違に関する情報、いわゆるゆらぎ情報を記憶する。ゆらぎ情報としては、例えば表データの開始セルの位置の相違に関する表位置ゆらぎ情報、表データの項目の順序が相違する、新規項目の存在、項目の抜けの存在等の項目の相違に関する項目ゆらぎ情報等がある。また、英語表記での大文字と小文字との相違、全角と半角との相違等も含む広い概念である。
【0034】
通信インタフェース17は内部バス18に接続されており、インターネット、LAN、WAN等の外部のネットワーク2に接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。電子文書ファイル記憶部131は、データベース生成装置1の記憶装置13に備えることに限定されるものではなく、外部のコンピュータの記憶装置に記憶されることによりネットワーク2上に点在していても良い。
【0035】
I/Oインタフェース14は、キーボード21、マウス22等のデータ入力媒体と接続され、データの入力を受け付ける。また、ビデオインタフェース15は、CRTモニタ、LCD等の表示装置23と接続され、所定の画像を表示する。
【0036】
図2は、本発明の実施の形態1に係るデータベース生成装置1の機能ブロック図である。電子文書ファイル取得部201は、一又は複数の表データを含む電子文書ファイルを取得する。電子文書ファイルは、記憶装置13内に記憶されている電子文書ファイルを電子文書ファイル記憶部131に集約しても良いし、ネットワーク2を介して外部のコンピュータから取得しても良い。また、キーボード21、マウス22等の入力装置を介して入力しても良い。
【0037】
罫線情報抽出部202は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0038】
解析部203は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。
【0039】
データ抽出規則特定部204は、解析部203での解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する。特定されたデータベース項目及びデータ抽出規則は、データ抽出規則記憶部132に記憶される。
【0040】
データ抽出規則特定部204は、ファイル指定受付部205、範囲指定受付部206、及び特定部207を備えても良い。解析部203の解析結果だけでは、データベース項目を特定することができない場合もありうるからである。このような場合、手動にてデータベース項目及びデータ抽出規則の特定を受け付ける。
【0041】
データ抽出部208は、ファイル指定受付部205にて一又は複数の電子文書ファイルの指定を受け付け、範囲指定受付部206にて複数のシートが存在する場合にはシートの指定、及びシートに含まれる表データ中にて該表データと他の表データとのマージ対象となる範囲指定を受け付ける。特定部207は、受け付けた範囲指定に従って、データベース項目及びデータ抽出規則を特定する。
【0042】
データ抽出部208は、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する。抽出されたデータベース項目及び対応するデータはデータベース記憶部133に記憶される。
【0043】
表示部209は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示し、確定情報受付部210は、表示されたデータベース項目及び対応するデータが適正であるか否かをユーザが判断し、ユーザが適正であると判断した場合、すなわちデータベース項目に重複、抜け等が生じておらず、適正にマージされていると判断した場合には、ユーザによる適正であると判断した旨を示す確定情報の入力を受け付ける。
【0044】
図3は、本発明の実施の形態1に係るデータベース生成装置1のCPU11のデータベース生成処理の手順を示すフローチャートである。図3において、データベース生成装置1のCPU11は、一又は複数の表データを含む電子文書ファイルを取得する(ステップS301)。電子文書ファイルは、記憶装置13の電子文書ファイル記憶部131内に記憶されている電子文書ファイルを読み出しても良いし、ネットワーク2を介して外部のコンピュータから読み出しても良い。また、キーボード21、マウス22等の入力装置を介して入力を受け付けても良い。
【0045】
CPU11は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する(ステップS302)。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0046】
CPU11は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する(ステップS303)。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。
【0047】
図4は、罫線情報に基づいて表データの抽出を行う処理の例示図である。具体的には、電子文書ファイルのデータの走査方向につきユーザの指定を受け付け、項目が階層化されているか否かを1行ずつ判定する。図4(a)では、表データを下方向42へ走査する場合を示しており、項目領域41の1行目には項目「材料名」、「重量」、「物質」、「比率」が存在することを検出することができる。2行目では、項目「比率」が「平均重量」、「最大重量」に分割され、項目数が増加していることを検出することができる。
【0048】
3行目では、項目名を検出することはできないものの、2行目の項目とセル位置及び項目数が同一であることを検出することができる。したがって、2行目まで見出し部であり、3行目以降がデータ部であることを自動認識することができ、新たなデータベース生成のためのデータ抽出は、3行目以降のデータ部から行うことができる。
【0049】
図4(b)では、表データを右方向44へ走査する場合を示しており、項目領域43の1列目には項目「材料名」、「重量」、「物質」、「比率」が存在することを検出することができる。2列目では、項目「比率」が「平均重量」、「最大重量」に分割され、項目数が増加していることを検出することができる。
【0050】
3列目では、項目名を検出することはできないものの、2列目の項目とセル位置及び項目数が同一であることを検出することができる。したがって、2列目まで見出し部であり、3列目以降がデータ部であることを自動認識することができ、新たなデータベース生成のためのデータ抽出は、3列目以降のデータ部から行うことができる。
【0051】
このように走査方向によらず、罫線情報に基づいて、データベース生成時に抽出するべきデータベース項目及び対応するデータのセル位置を正確に検出することができるので、表データの行と列とが反転している場合であっても一のデータベースとしてマージすることが可能となる。
【0052】
図3に戻って、データベース生成装置1のCPU11は、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する(ステップS304)。CPU11は、一又は複数の電子文書ファイル又は該電子文書ファイル中の表データから、新たに生成するデータベースのデータベース項目及び対応するデータを抽出する(ステップS305)。データを抽出する規則は、データ抽出規則記憶部132に記憶されているデータ抽出規則に従う。
【0053】
なお、罫線情報の解析結果だけでは正しくデータベース項目等が特定できない場合も生じうる。この場合、手動にてデータベース項目及びデータ抽出規則の特定を受け付ける。図5は、本発明の実施の形態1に係るデータベース生成装置1のCPU11の手動特定処理の手順を示すフローチャートである。
【0054】
図5において、データベース生成装置1のCPU11は、図3のステップS303の処理の実行終了後、一又は複数の電子文書ファイルの指定を受け付け(ステップS501)、複数のシートが存在する場合にはシートの指定、及びシートに含まれる表データ中にて該表データと他の表データとのマージ対象となる範囲指定を受け付ける(ステップS502)。CPU11は、受け付けた範囲指定に従って、データベース項目及びデータ抽出規則を特定し(ステップS503)、処理を図3のステップS305へ進める。
【0055】
図6は、範囲指定が必要となる場合の例示図である。図6(a)は、表データの構造が特段の規則性を有していない場合の例示図である。この場合、キーボード21、マウス22等の入力装置により、表データとして使用する領域61のみを範囲指定として受け付ける。指定を受け付けた範囲に、例えば他の表データのデータベース項目とリンクするようなタグ情報を付加することにより、新たなデータベースのデータとして用いることができる。
【0056】
図6(b)は、表データとして認識できない領域区分となっている場合の例示図である。図6(b)の例では、見出し部として認識するべき領域62が表として認識できる領域、すなわち矩形領域となっていない。この場合、キーボード21、マウス22等の入力装置により、領域62を含めて列ごとの領域63の範囲指定を受け付け、見出し部「材料」、「重量」、「比率1」、「比率2」に対して、他の表データのデータベース項目とリンクするようにタグ情報を付加する。これにより、新たなデータベースのデータとして用いることができる。
【0057】
図3に戻って、データベース生成装置1のCPU11は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示し(ステップS306)、表示されたデータベース項目及び対応するデータが適正である旨の確認情報を受け付けたか否かを判断する(ステップS307)。CPU11が、確認情報を受け付けていないと判断した場合(ステップS307:NO)、再度新たなデータベースを生成するべく処理を終了し、確認情報を受け付けたと判断した場合(ステップS307:YES)、ユーザがデータベース項目に重複、抜け等が生じておらず、適正にマージされていると判断したので、生成された新たなデータベースを検索処理の対象等として記憶装置13に記憶する(ステップS308)。
【0058】
このように、罫線情報に基づいて抽出対象となる表データの存在位置を特定することができ、表データからデータベース項目及び対応するデータを抽出するためのデータ抽出規則を正しく特定することができるので、新たなデータベースを適正に生成することが可能となる。
【0059】
また、マージ対象となる表データ間に、いわゆるゆらぎ情報が存在する場合がある。ここで、「ゆらぎ情報」とは、表データ間の相違に関する情報の総称である。例えば表データの開始セルの位置の相違に関する表位置ゆらぎ情報、表データの項目の順序が相違する、新規項目の存在、項目の抜けの存在等の項目の相違に関する項目ゆらぎ情報等がある。
【0060】
図7は、表データの位置に相違が存在する「表位置ゆらぎ情報」の説明図である。図7(a)から図7(c)に示すように、表データを示す罫線が存在する領域の左上のセル71、72、73のサイズが相違することにより、電子文書ファイル中の表データのセル位置がそれぞれ相違している。表位置ゆらぎ情報が存在する場合、例えばデータ抽出規則を「上から1番目の表」等に特定しておく、又は記憶してあるデータ抽出規則から選択することにより、図7(a)から図7(c)に示すすべての表データを抽出の対象とすることができる。つまり、表データの開始位置(開始セル位置)をあらかじめ定めるのではなく、罫線情報に基づいて表データを抽出し、一の電子文書ファイル中又は一の電子文書ファイルに含まれる一のシート中に複数の表データが抽出された場合には、「上から1番目の表」、「最大の表」、「特定の項目を含む表」等の直接的な位置ではない表の特徴をデータ抽出規則として設定して記憶しておくことにより、表位置のゆらぎに対応して表データを抽出することができる。
【0061】
図8は、表データの項目に相違が存在する「項目ゆらぎ情報」の説明図である。図8(a)を基準とした場合、図8(b)は項目Cと項目Bとの順序が入れ替わっている。従来のCSVファイルを用いて表データをマージする場合には、項目Cと項目Bとの順序が入れ替わっていることを事前にユーザが知っている状態で、入れ替え指示を出す必要があった。
【0062】
本実施の形態1では、項目が入れ替わっていることを検出して、項目名にリンクしたタグ情報を付与する。すなわち図8(a)の見出し部81では、例えば項目Aに対してタグ情報‘a’を、項目Bに対してタグ情報‘b’を、項目Cに対してタグ情報‘c’を、それぞれ付与する。図8(b)の見出し部82では、項目Bと項目Cとの順序が入れ替わっているが、タグ情報は図8(a)と同様の対応関係で付与しておく。データ抽出時にはタグ情報‘a’、タグ情報‘b’及びタグ情報‘c’を基礎としてデータを集約するので、基礎となる表データで項目がどのように配置されていても、新たなデータベースでは、タグ情報の順に集約することができる。したがって、項目Cと項目Bとの順序が入れ替わっていることを事前にユーザが知らなくても、表データを適正にマージすることが可能となる。
【0063】
また、図8(c)では、見出し部83に新たな項目である項目D、項目Eが存在するのに対し、項目Cが欠落している。この場合も、項目Dに対してタグ情報‘d’を、項目Eに対してタグ情報‘e’を、それぞれ付与することにより、データ抽出時にタグ情報を基礎としてデータを抽出する限り、誤った項目を集約するおそれはない。すなわち、新規に追加された項目は独立して集約することができるし、欠落している項目については本表データからはデータを抽出することがない。
【0064】
以上のように、表データ間にゆらぎ情報が存在する場合であっても、タグ情報を基礎として同一項目についてはデータを集約することができ、ユーザが項目の入れ替わりに関する情報等を正確に把握することなく、新たなデータベースを生成することが可能となる。つまり、抽出するべき項目、項目の順序等をあらかじめ定めるのではなく、レコードを抽出する場合に項目名も抽出し、項目をタグ情報として例えばXMLデータベース形式で記憶し、タグ情報(項目名)によって表を再構成することで、項目のゆらぎに対応して表データを抽出することができる。また、何らかの原因により本来は同じ項目として取り扱うべき項目を異なる項目として認識した場合であっても、表を再構成するときに、同じ項目として取り扱うべき項目を同一化する指示を受け付けることが可能な構成とすることにより、事後的に項目ゆらぎを修正することも可能となる。
【0065】
図9は、本発明の実施の形態1に係るデータベース生成装置1のCPU11のゆらぎ補正処理の手順を示すフローチャートである。
【0066】
図9において、データベース生成装置1のCPU11は、図3のステップS304の処理実行後、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出する(ステップS901)。抽出するゆらぎ情報は、上述した2つに限定されるものではない。
【0067】
CPU11は、データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断する(ステップS902)。CPU11が、変更部分が存在しないと判断した場合(ステップS902:NO)、CPU11は、ゆらぎ情報に起因するデータ抽出規則に対する何らかの補正処理(以下、ゆらぎ補正)が実行されていないと判断して、処理を図3のステップS307へ進める。CPU11が、変更部分が存在すると判断した場合(ステップS902:YES)、CPU11は、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する(ステップS903)。
【0068】
CPU11は、データ抽出規則の変更部分を反映してデータベース項目及び対応するデータを抽出し(ステップS904)、データベース項目に付与されているタグ情報に従ってデータベース項目を配列して、データベース項目及び対応するデータを一覧表示し(ステップS905)、処理を図3のステップS307へ進める。
【0069】
このようにすることで、マージ対象となる表データ間にゆらぎ情報が存在する場合であっても、ユーザは事前にその存在を把握しておく必要がなく、適正なゆらぎ補正を実行した状態で新たなデータベース項目及び対応するデータを視認することができる。したがって、ユーザに過剰な負荷がかかることなく、容易に新たなデータベースを生成することが可能となる。
【0070】
(実施の形態2)
本発明の実施の形態2に係るデータベース生成装置の構成は、実施の形態1と同様であることから、同一の符号を付することにより、詳細な説明を省略する。本実施の形態2では、異なるデータ形式を有する複数の表データが存在する場合であっても、容易に新たなデータベースを生成することができ、ゆらぎ補正の内容を視認することができる点で実施の形態1と相違する。
【0071】
図10は、本発明の実施の形態2に係るデータベース生成装置1の機能ブロック図である。図10では、実施の形態1と同様の機能ブロックについては同一の符号を付している。電子文書ファイル取得部201は、一又は複数の表データを含む電子文書ファイルを取得する。電子文書ファイルは、記憶装置13内に記憶されている電子文書ファイルを電子文書ファイル記憶部131に集約しても良いし、ネットワーク2を介して外部のコンピュータから取得しても良い。また、キーボード21、マウス22等の入力装置を介して入力しても良い。
【0072】
罫線情報抽出部202は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0073】
解析部203は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。
【0074】
データ抽出規則特定部204は、解析部203での解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する。特定されたデータベース項目及びデータ抽出規則は、データ抽出規則記憶部132に記憶される。
【0075】
データ抽出規則特定部204は、ファイル指定受付部205、範囲指定受付部206、及び特定部207を備えても良い。解析部203の解析結果だけでは、データベース項目を特定することができない場合もありうるからである。このような場合、手動にてデータベース項目及びデータ抽出規則の特定を受け付ける。
【0076】
ゆらぎ情報抽出部1001は、解析部203での解析結果に基づいて、いわゆるゆらぎ情報が存在する場合には、存在するゆらぎ情報を抽出する。例えば、抽出対象となる表データ間において項目ゆらぎ情報が存在する場合、項目の順序の相違、項目の相違等に関する情報を抽出する。
【0077】
判断部1002は、データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断する。すなわち、ゆらぎ情報の存在によって、タグ情報に基づく表データの抽出規則が変更されるので、変更部分が存在すると判断した場合にはデータ抽出規則に対して何らかのゆらぎ補正が実行されていると判断することができる。
【0078】
タグ情報付与部1003は、判断部1002で変更部分が存在すると判断した場合、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する。すなわち項目の配列、順序、種類等が異なる表データであっても、タグ情報が同一である場合には同一の項目であることを担保する。これにより、タグ情報に基づいてデータベースを構成することにより、ゆらぎ情報が存在する場合であっても適切に新たなデータベースを生成することができる。
【0079】
データ抽出部1004は、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する。データ抽出規則にはタグ情報に関する項目が含まれ、タグ情報に応じてデータベース項目及び対応するデータが抽出され、データベース記憶部133に記憶される。
【0080】
表示部209は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示する。一方、ゆらぎ情報表示部1005は、データ抽出の対象となる電子文書ファイルに関するゆらぎ情報の種類に関する情報、及びゆらぎ情報が存在するシートを特定する情報を表示する。
【0081】
図11は、本発明の実施の形態2に係るデータベース生成装置1のCPU11のデータベース生成処理の手順を示すフローチャートである。図11において、データベース生成装置1のCPU11は、一又は複数の表データを含む電子文書ファイルを取得する(ステップS1101)。電子文書ファイルは、記憶装置13内の電子文書ファイル記憶部131に記憶されている電子文書ファイルを読み出しても良いし、ネットワーク2を介して外部のコンピュータから読み出しても良い。また、キーボード21、マウス22等の入力装置を介して入力を受け付けても良い。
【0082】
CPU11は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する(ステップS1102)。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0083】
CPU11は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する(ステップS1103)。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。区別する方法は実施の形態1と同様であることから、詳細な説明は省略する。
【0084】
CPU11は、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する(ステップS1104)。CPU11は、解析結果に基づいて、いわゆるゆらぎ情報が存在する場合には、存在するゆらぎ情報を抽出する(ステップS1105)。すなわち、抽出対象となる表データ間において、項目の順序の相違、項目の相違等に関する情報を抽出する。
【0085】
CPU11は、データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断する(ステップS1106)。すなわち、ゆらぎ情報の存在によって、タグ情報に基づく表データの抽出規則が変更されるので、変更部分が存在すると判断した場合にはデータ抽出規則に対して何らかのゆらぎ補正が実行されていると判断することができる。
【0086】
CPU11が、データ抽出規則の変更部分が存在すると判断した場合(ステップS1106:YES)、CPU11は、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する(ステップS1107)。すなわち項目の配列、順序、種類等が異なる表データであっても、タグ情報が同一である場合には同一の項目であることを担保する。これにより、タグ情報に基づいてデータベースを構成することで、ゆらぎ情報が存在する場合であっても適切に新たなデータベースを生成することができる。
【0087】
CPU11が、データ抽出規則の変更部分が存在しないと判断した場合(ステップS1106:NO)、CPU11は、ステップS1107をスキップし、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する(ステップS1108)。データ抽出規則にはタグ情報に関する項目が含まれ、タグ情報に応じてデータベース項目及び対応するデータが抽出され、データベース記憶部133に記憶される。
【0088】
CPU11は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示するとともに(ステップS1109)、データ抽出の対象となる電子文書ファイルに関するゆらぎ情報の種類に関する情報、及びゆらぎ情報が存在する位置に関する情報、例えばゆらぎ情報が存在する電子文書ファイル名、シート名、セル位置等を表示する(ステップS1110)。
【0089】
このように、ゆらぎ情報が存在する場合であっても、ゆらぎ情報に応じてデータ抽出規則を変更する、すなわちタグ情報を基礎としたデータ抽出規則を変更することにより、正しくデータベース項目及び対応するデータを集約することが可能となる。また、ゆらぎ情報が生じた電子文書ファイル、シート、セル位置等を視認することができ、ゆらぎ補正をどのように行うかを判断することができる。
【0090】
図12は、抽出されたゆらぎ情報の一覧を表示する表示画面の例示図である。図12の例では、「表位置ゆらぎ」、「項目ゆらぎ」、「文字ゆらぎ」、「エラー」の各項目について、その総数、電子文書ファイル名、シート名等の一覧を、それぞれ領域121、122、123、124に表示している。
【0091】
また、ゆらぎ情報の一覧表示画面から、ゆらぎ補正がどのように実行されたか確認できることが好ましい。図13は、ゆらぎ補正の内容を確認するための表示画面の例示図である。図13(a)は、図12と同様、抽出されたゆらぎ情報の一覧を表示する表示画面の例示図であり、図13(b)は、ゆらぎ情報の内容を示す表示画面の例示図であり、図13(c)は、ゆらぎ情報抽出の対象となった表データを並列に表示する表示画面の例示図である。
【0092】
図13(a)の表示画面において、ゆらぎ補正がどのように行われたのか知りたい項目135について、マウス等の入力装置による選択を受け付ける。項目135の選択を受け付けた場合、図13(b)に示すように、対応する表データのシート自体を表示する表データ表示領域136とゆらぎ情報の内容を表示するゆらぎ情報表示領域138を含む表示画面が表示される。表データ表示領域136には、ゆらぎ情報の対象となった表データのシートが表示され、ゆらぎ情報表示領域138には、表位置ゆらぎ情報に対するゆらぎ補正の内容が表示されている。
【0093】
図13の例では、表データが開始するセル位置にゆらぎが生じており、図13(b)の表示画面のようにデータ抽出規則における開始するセル位置137を変更した旨を示す情報が表示されている。すなわち、データ抽出規則では、セル位置「C:3」からデータを抽出するよう指示されていたのに対し、ゆらぎ情報により、データ抽出規則を、セル位置「D:5」からデータを抽出するよう変更した旨を示している。
【0094】
また、シート自体を比較することが可能なように並列して表示しても良い。この場合、図13(c)に示すように、表データ表示領域136の横に並列して、ゆらぎ元表データ表示領域139を表示しておき、ゆらぎの対象となるセル位置137、140をそれぞれ強調表示することにより、どのようにゆらぎ補正が実行されているのか、明確に視認することができる。
【0095】
また、ゆらぎ情報の一覧表示画面において、エラー表示がなされている表データは、事前に想定しているゆらぎ補正では対応できなかった表データの存在を示している。図14は、エラー表示の内容を示す表示画面の例示図である。図14(a)は、図12と同様、抽出されたゆらぎ情報の一覧を表示する表示画面の例示図であり、図14(b)は、エラー情報の内容を示す表示画面の例示図であり、図14(c)は、エラー情報抽出の対象となった表データを並列に表示する表示画面の例示図である。
【0096】
図14(a)の表示画面において、エラー表示がなされている項目141について、マウス等の入力装置による選択を受け付ける。項目141の選択を受け付けた場合、図14(b)に示すように、対応する表データのシート自体を表示する表データ表示領域142とエラー情報の内容を表示するエラー情報表示領域144を含む表示画面が表示される。表データ表示領域142には、表データのシート自体が表示され、エラー情報表示領域144には、エラーが生じた原因を示す原因情報、例えば表データ内の項目がすべて一致していない旨を示す情報が表示されている。
【0097】
図14の例では、表データの項目が、データ抽出規則に規定されている新たなデータベースのデータベース項目とすべて一致していないことから、ゆらぎ情報の補正処理を行うことができない。したがって、項目をデータベース項目にあわせるよう補正するには、シート自体を比較することが可能なように並列して表示することが好ましい。
【0098】
図14(c)では、表データ表示領域142の横に並列して、ゆらぎ情報を抽出できなかった元表データ表示領域145を表示している。両者の項目領域143と項目領域146とを比較できるよう、例えば強調表示することにより、項目名がどのように相違しているのかを、明確に視認することができる。
【0099】
なお、原因情報としては、少なくともエラー情報が生じている電子文書ファイルを特定する情報、エラー情報の内容に関する情報、及びエラー情報が生じているシートを特定する情報を含むことが好ましい。また、原因情報は、データ抽出規則の変更部分に関する情報を含むことも望ましい。これは、ゆらぎ情報を表示する場合にゆらぎ情報が生じている電子文書ファイルを特定する情報、ゆらぎ情報に関する情報、ゆらぎ情報が生じているシートを特定する情報を含むことに準ずる。
【0100】
エラー情報が生じている電子文書ファイルを特定する情報、エラー情報の内容に関する情報、及びエラー情報が生じているシートを特定する情報を含むことにより、ゆらぎ情報を補正しきれなかった電子文書ファイル及びシートを特定することができ、補正ができなかった原因を視認することが可能となる。また、データ抽出規則の相違を視認することができ、データ抽出規則を変更することにより新たなデータベース生成に用いることができるか否かを判断することができる。
【0101】
さらに、原因情報を解析して、エラー情報表示領域144に、エラー情報が生じている表データを抽出することが可能な他のデータ抽出規則を検索して表示することが好ましい。データ抽出規則を変更することが可能である場合には、エラーを解消することができる可能性もあり、エラー情報が生じている表データであってもエラーを解消することで新たなデータベースに取り込むことができるからである。
【0102】
図15は、他のデータ抽出規則を示唆する旨の情報を表示する表示画面の例示図である。図15の例では、表データ表示領域152の横に並列して、ゆらぎ情報を抽出できなかった元表データ表示領域155を表示している。両方の表データ領域153と表データ領域156とを比較し、いずれの表も表のサイズが最も大きい表であることを検出した場合、エラー情報表示領域154には、いずれの表も1番大きな表である旨のメッセージを表示する。斯かる情報が表示されることにより、データ抽出規則として「最も大きいサイズの表データ」を採用した場合には、表データ領域156に表示されている表データについても新たなデータベースに取り込むことが可能となる。
【0103】
図16は、原因情報を表示する場合の本発明の実施の形態2に係るデータベース生成装置1のCPU11の処理手順を示すフローチャートである。図16において、データベース生成装置1のCPU11は、図11のステップS1110の処理の後、エラー情報が生じた電子文書ファイルが存在するか否かを判断する(ステップS1601)。
【0104】
CPU11が、エラー情報が生じた電子文書ファイルが存在しないと判断した場合(ステップS1601:NO)、CPU11は、処理を終了する。CPU11が、エラー情報が生じた電子文書ファイルが存在すると判断した場合(ステップS1601:YES)、CPU11は、エラー情報が生じた原因に関する原因情報を表示装置23に表示し(ステップS1602)、他のデータ抽出規則が記憶装置13のデータ抽出規則記憶部132に記憶されているか否かを判断する(ステップS1603)。
【0105】
CPU11が、他のデータ抽出規則が記憶されていないと判断した場合(ステップS1603:NO)、CPU11は、処理を終了する。CPU11が、他のデータ抽出規則が記憶されていると判断した場合(ステップS1603:YES)、CPU11は、記憶されている他のデータ抽出規則から一のデータ抽出規則を選択し(ステップS1604)、エラー情報が生じた表データから、データベース項目及び対応するデータを抽出する(ステップS1605)。
【0106】
CPU11は、再度エラー情報が生じたか否かを判断し(ステップS1606)、CPU11が、エラー情報が生じたと判断した場合(ステップS1606:YES)、CPU11は、記憶されているすべての他のデータ抽出規則を選択したか否かを判断する(ステップS1607)。CPU11が、すべてのデータ抽出規則を選択したと判断した場合(ステップS1607:YES)、CPU11は、処理を終了する。
【0107】
CPU11が、まだ選択されていない他のデータ抽出規則が存在すると判断した場合(ステップS1607:NO)、CPU11は、次の他のデータ抽出規則を選択し(ステップS1608)、処理をステップS1605に戻して、上述した処理を繰り返す。CPU11が、エラー情報が生じていないと判断した場合(ステップS1606:NO)、CPU11は、選択した他のデータ抽出規則に関するメッセージを表示装置23に表示する(ステップS1609)。
【0108】
このようにすることで、複数の表データ間にゆらぎ情報が存在する場合であっても、ゆらぎ情報を補正して新たなデータベースを生成することができ、どのようにゆらぎ補正を実行したか、あるいはゆらぎ補正を実行することができなかった原因に関する原因情報を表示することにより、元の表データ又はデータ抽出規則を変更するための情報を得ることが可能となる。また、エラー情報が生じた電子文書ファイルを特定することができ、エラー情報が生じた原因を視認することができるとともに、データ抽出規則を変更することによりエラー情報が生じることなく新たなデータベース生成を行うことができるか否かを判断することが可能となる。
【0109】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば変更すべきデータ抽出規則が見つかった場合、自動的にデータ抽出規則を変更しても良いし、ユーザによる変更指示の入力を受け付けても良い。また、データ抽出規則が変更された場合、自動的に再度データベース生成処理を実行するようにしても良いし、ユーザによるデータベース再生成指示の入力を受け付けても良い。
【図面の簡単な説明】
【0110】
【図1】本発明の実施の形態1に係るデータベース生成装置の構成例を示すブロック図である。
【図2】本発明の実施の形態1に係るデータベース生成装置の機能ブロック図である。
【図3】本発明の実施の形態1に係るデータベース生成装置のCPUのデータベース生成処理の手順を示すフローチャートである。
【図4】罫線情報に基づいて表データの抽出を行う処理の例示図である。
【図5】本発明の実施の形態1に係るデータベース生成装置のCPUの手動特定処理の手順を示すフローチャートである。
【図6】範囲指定が必要となる場合の例示図である。
【図7】表データの位置に相違が存在する「表位置ゆらぎ情報」の説明図である。
【図8】表データの項目に相違が存在する「項目ゆらぎ情報」の説明図である。
【図9】本発明の実施の形態1に係るデータベース生成装置のCPUのゆらぎ補正処理の手順を示すフローチャートである。
【図10】本発明の実施の形態2に係るデータベース生成装置の機能ブロック図である。
【図11】本発明の実施の形態2に係るデータベース生成装置のCPUのデータベース生成処理の手順を示すフローチャートである。
【図12】抽出されたゆらぎ情報の一覧を表示する表示画面の例示図である。
【図13】ゆらぎ補正の内容を確認するための表示画面の例示図である。
【図14】エラー表示の内容を示す表示画面の例示図である。
【図15】他のデータ抽出規則を示唆する旨の情報を表示する表示画面の例示図である。
【図16】原因情報を表示する場合の本発明の実施の形態2に係るデータベース生成装置のCPUの処理手順を示すフローチャートである。
【符号の説明】
【0111】
1 データベース生成装置
2 ネットワーク
11 CPU
12 RAM
13 記憶装置
14 I/Oインタフェース
15 ビデオインタフェース
16 可搬型ディスクドライブ
17 通信インタフェース
18 内部バス
23 表示装置
90 可搬型記録媒体
100 コンピュータプログラム
131 電子文書ファイル記憶部
132 データ抽出規則記憶部
133 データベース記憶部
134 ゆらぎ情報記憶部
【技術分野】
【0001】
本発明は、異なるデータ形式を有する複数の表データが存在する場合であっても、容易に一のデータベースを生成することができるデータベース生成装置、データベース生成方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
関係データベースを生成する場合、事前に生成されている表データを利用することが多い。表データのデータベース項目が一致している場合には、複数の表データをマージすることにより容易に新たなデータベースを生成することができる。
【0003】
しかし、表データのデータ形式が標準化されていない場合、表データのデータ形式は作成者に依存しており、また同一のアプリケーションであっても使用するソフトウェアプログラムによってデータベース項目の相違、データベース項目の配列の相違等が存在しており、そのままマージすることができない。斯かる問題を解決するべく、従来は中間ファイルフォーマットを用いて、データベース項目が相違している、あるいはデータベース項目の配列順序が相違している複数の表データをマージして1つの表データを生成している。
【0004】
例えば特許文献1では、表データの中間ファイルとして良く用いられているCSVファイルを用い、複数の表データファイルから1つのデータベースを生成しているデータベース管理システムが開示されている。
【特許文献1】特開2006−059135号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1のように、CSVファイルを介して複数の表データをマージする場合、どのデータベース項目が相違しているか、どのデータベース項目の配列順序が相違しているか等に関する情報を事前に知っておく必要が有り、これらの情報に応じて適切な変換手順を設定しておかないと、所望の表データを生成することができないという問題点があった。
【0006】
また、表データのセル位置に基づいて自動的に表データをマージする方法も考えられているが、表データの開始セル位置が一定ではなく、開始セル位置の相違に基づいてマージ対象となるセルの位置補正を行わないと、複数の異なるファイル又は異なるシート上の表データを正しくマージすることはできない。
【0007】
本発明は斯かる事情に鑑みてなされたものであり、異なるデータ形式を有する複数の表データが存在する場合であっても、新たなデータベースを正しく生成することができるデータベース生成装置、データベース生成方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために第1発明に係るデータベース生成装置は、表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置において、一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段と、取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段と、抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段と、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段と、特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段と、抽出されたデータベース項目及び対応するデータを一覧表示する表示手段と、表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段とを備えることを特徴とする。
【0009】
また、第2発明に係るデータベース生成装置は、第1発明において、前記データ抽出規則特定手段は、一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段と、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段と、受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段とを備えることを特徴とする。
【0010】
また、第3発明に係るデータベース生成装置は、第1又は第2発明において、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段と、前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段と、該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段とを備え、前記データ抽出手段は、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出するようにしてあり、前記表示手段は、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示するようにしてあることを特徴とする。
【0011】
また、第4発明に係るデータベース生成装置は、第1乃至第3発明のいずれか1つにおいて、前記解析手段は、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段を備え、該手段で同一であると判断した場合、前記データ抽出手段は、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出するようにしてあることを特徴とする。
【0012】
次に、上記目的を達成するために第5発明に係るデータベース生成方法は、表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なデータベース生成方法において、一又は複数の前記電子文書ファイルを取得し、取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出し、抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析し、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定し、特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出し、抽出されたデータベース項目及び対応するデータを一覧表示し、表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付けることを特徴とする。
【0013】
また、第6発明に係るデータベース生成方法は、第5発明において、一又は複数の前記電子文書ファイルの指定を受け付け、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付け、受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定することを特徴とする。
【0014】
また、第7発明に係るデータベース生成方法は、第5又は第6発明において、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出し、前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断し、変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与し、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出し、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示することを特徴とする。
【0015】
また、第8発明に係るデータベース生成方法は、第5乃至第7発明のいずれか1つにおいて、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断し、同一であると判断した場合、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出することを特徴とする。
【0016】
次に、上記目的を達成するために第9発明に係るコンピュータプログラムは、表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なコンピュータプログラムにおいて、前記データベース生成装置を、一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段、取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段、抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段、特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段、抽出されたデータベース項目及び対応するデータを一覧表示する表示手段、及び表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段として機能させることを特徴とする。
【0017】
また、第10発明に係るコンピュータプログラムは、第9発明において、前記データ抽出規則特定手段を、一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段、及び受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段として機能させることを特徴とする。
【0018】
また、第11発明に係るコンピュータプログラムは、第9又は第10発明において、前記データ抽出規則特定手段を、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段、前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段、及び該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段として機能させ、前記データ抽出手段を、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出する手段として機能させ、前記表示手段を、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示する手段として機能させることを特徴とする。
【0019】
また、第12発明に係るコンピュータプログラムは、第9乃至第11発明のいずれか1つにおいて、前記解析手段を、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段として機能させ、該手段で同一であると判断した場合、前記データ抽出手段を、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出する手段として機能させることを特徴とする。
【0020】
第1発明、第5発明、及び第9発明では、一又は複数の電子文書ファイルを取得し、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出して、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する。解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定し、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する。抽出されたデータベース項目及び対応するデータを一覧表示し、表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける。罫線情報に基づいて電子文書ファイル中の表データの位置を特定することができ、新たに生成するデータベースの基礎となるデータベース項目及びデータを抽出するデータ抽出規則を正しく特定することができる。
【0021】
第2発明、第6発明、及び第10発明では、一又は複数の電子文書ファイルの指定を受け付け、指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける。受け付けた範囲指定に従って、データベース項目及びデータ抽出規則を特定する。これにより、新たに生成するデータベースに使用するデータベース項目及びデータ抽出規則に不備が生じた場合であっても、ユーザの範囲指定により適切なデータベース項目及びデータ抽出規則を特定することができ、表データをマージすることを半自動化することができる。
【0022】
第3発明、第7発明及び第11発明では、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出する。データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断し、変更部分が存在すると判断した場合、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する。データ抽出規則の変更部分を反映してデータベース項目及び対応するデータを抽出し、データベース項目に付与されているタグ情報に従ってデータベース項目を配列して、データベース項目及び対応するデータを一覧表示する。これにより、複数のファイル上で表データの位置が相違する場合、データベース項目が相違する場合、データベース項目の配列順序が相違する場合等であっても、斯かる相違に起因して変更されたデータ抽出規則に従ってデータを抽出し、同一のデータベース項目については同一のタグ情報をキー情報として集約することができ、新たな異なるデータベース項目については、異なるタグ情報により新規のデータベース項目として追加することができる。したがって、ユーザがデータベース項目の相違点を事前にすべて知ることができない場合であっても、データベース項目が重複又は欠落することなく新たなデータベースを生成して一覧表示することが可能となる。
【0023】
第4発明、第8発明及び第12発明では、罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断し、同一であると判断した場合、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出する。これにより、連続して区画が同一である場合には一の項目がさらに複数の項目に分割される可能性が少ないことから、各データベース項目に対応するデータを漏れなく抽出することが可能となる。
【発明の効果】
【0024】
本発明によれば、罫線情報に基づいて電子文書ファイル中の表データの位置を特定することができ、新たに生成するデータベースの基礎となるデータベース項目及び対応するデータを抽出するデータ抽出規則を正しく特定することができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施の形態に係るデータベース生成装置について、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
【0026】
また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。
【0027】
以下の実施の形態では、コンピュータシステムにコンピュータプログラムを導入したデータベース生成装置について説明するが、当業者であれば明らかな通り、本発明はその一部をコンピュータで実行することが可能なコンピュータプログラムとして実施することができる。したがって、本発明は、データベース生成装置というハードウェアとしての実施の形態、ソフトウェアとしての実施の形態、又はソフトウェアとハードウェアとの組み合わせの実施の形態をとることができる。コンピュータプログラムは、ハードディスク、DVD、CD、光記憶装置、磁気記憶装置等の任意のコンピュータで読み取ることが可能な記録媒体に記録することができる。
【0028】
(実施の形態1)
図1は、本発明の実施の形態1に係るデータベース生成装置の構成例を示すブロック図である。本発明の実施の形態1に係るデータベース生成装置1は、少なくともCPU(中央演算装置)11、メモリ12、記憶装置13、I/Oインタフェース14、ビデオインタフェース15、可搬型ディスクドライブ16、通信インタフェース17及び上述したハードウェアを接続する内部バス18で構成されている。
【0029】
CPU11は、内部バス18を介してデータベース生成装置1の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置13に記憶されているコンピュータプログラム100に従って、種々のソフトウェア的機能を実行する。メモリ12は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム100の実行時にロードモジュールが展開され、コンピュータプログラム100の実行時に発生する一時的なデータ等を記憶する。
【0030】
記憶装置13は、内蔵される固定型記憶装置(ハードディスク)、SRAM等の揮発性メモリ、ROM等の不揮発性メモリ等で構成されている。記憶装置13に記憶されているコンピュータプログラム100は、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体90から、可搬型ディスクドライブ16によりダウンロードされ、実行時には記憶装置13からメモリ12へ展開して実行される。もちろん、通信インタフェース17を介してネットワーク2に接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【0031】
また記憶装置13は、電子文書ファイル記憶部131、データ抽出規則記憶部132、データベース記憶部133及びゆらぎ情報記憶部134を備えている。電子文書ファイル記憶部131には、表データを内容に含み、新たなデータベースを生成するための基礎となる電子文書ファイルを記憶する。
【0032】
データ抽出規則記憶部132には、例えば電子文書ファイルに含まれる表データのうち最大のサイズを有する表データを選択する、ファイルの先頭からn(nは自然数)番目の表データを選択する等の、表データからデータベース項目及び対応するデータを抽出するデータ抽出規則を記憶している。
【0033】
データベース記憶部133には、複数の電子文書ファイルに含まれる表データをマージして新たに生成されたデータベースを記憶する。ゆらぎ情報記憶部134には、マージする対象となる表データ間の相違に関する情報、いわゆるゆらぎ情報を記憶する。ゆらぎ情報としては、例えば表データの開始セルの位置の相違に関する表位置ゆらぎ情報、表データの項目の順序が相違する、新規項目の存在、項目の抜けの存在等の項目の相違に関する項目ゆらぎ情報等がある。また、英語表記での大文字と小文字との相違、全角と半角との相違等も含む広い概念である。
【0034】
通信インタフェース17は内部バス18に接続されており、インターネット、LAN、WAN等の外部のネットワーク2に接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。電子文書ファイル記憶部131は、データベース生成装置1の記憶装置13に備えることに限定されるものではなく、外部のコンピュータの記憶装置に記憶されることによりネットワーク2上に点在していても良い。
【0035】
I/Oインタフェース14は、キーボード21、マウス22等のデータ入力媒体と接続され、データの入力を受け付ける。また、ビデオインタフェース15は、CRTモニタ、LCD等の表示装置23と接続され、所定の画像を表示する。
【0036】
図2は、本発明の実施の形態1に係るデータベース生成装置1の機能ブロック図である。電子文書ファイル取得部201は、一又は複数の表データを含む電子文書ファイルを取得する。電子文書ファイルは、記憶装置13内に記憶されている電子文書ファイルを電子文書ファイル記憶部131に集約しても良いし、ネットワーク2を介して外部のコンピュータから取得しても良い。また、キーボード21、マウス22等の入力装置を介して入力しても良い。
【0037】
罫線情報抽出部202は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0038】
解析部203は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。
【0039】
データ抽出規則特定部204は、解析部203での解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する。特定されたデータベース項目及びデータ抽出規則は、データ抽出規則記憶部132に記憶される。
【0040】
データ抽出規則特定部204は、ファイル指定受付部205、範囲指定受付部206、及び特定部207を備えても良い。解析部203の解析結果だけでは、データベース項目を特定することができない場合もありうるからである。このような場合、手動にてデータベース項目及びデータ抽出規則の特定を受け付ける。
【0041】
データ抽出部208は、ファイル指定受付部205にて一又は複数の電子文書ファイルの指定を受け付け、範囲指定受付部206にて複数のシートが存在する場合にはシートの指定、及びシートに含まれる表データ中にて該表データと他の表データとのマージ対象となる範囲指定を受け付ける。特定部207は、受け付けた範囲指定に従って、データベース項目及びデータ抽出規則を特定する。
【0042】
データ抽出部208は、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する。抽出されたデータベース項目及び対応するデータはデータベース記憶部133に記憶される。
【0043】
表示部209は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示し、確定情報受付部210は、表示されたデータベース項目及び対応するデータが適正であるか否かをユーザが判断し、ユーザが適正であると判断した場合、すなわちデータベース項目に重複、抜け等が生じておらず、適正にマージされていると判断した場合には、ユーザによる適正であると判断した旨を示す確定情報の入力を受け付ける。
【0044】
図3は、本発明の実施の形態1に係るデータベース生成装置1のCPU11のデータベース生成処理の手順を示すフローチャートである。図3において、データベース生成装置1のCPU11は、一又は複数の表データを含む電子文書ファイルを取得する(ステップS301)。電子文書ファイルは、記憶装置13の電子文書ファイル記憶部131内に記憶されている電子文書ファイルを読み出しても良いし、ネットワーク2を介して外部のコンピュータから読み出しても良い。また、キーボード21、マウス22等の入力装置を介して入力を受け付けても良い。
【0045】
CPU11は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する(ステップS302)。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0046】
CPU11は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する(ステップS303)。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。
【0047】
図4は、罫線情報に基づいて表データの抽出を行う処理の例示図である。具体的には、電子文書ファイルのデータの走査方向につきユーザの指定を受け付け、項目が階層化されているか否かを1行ずつ判定する。図4(a)では、表データを下方向42へ走査する場合を示しており、項目領域41の1行目には項目「材料名」、「重量」、「物質」、「比率」が存在することを検出することができる。2行目では、項目「比率」が「平均重量」、「最大重量」に分割され、項目数が増加していることを検出することができる。
【0048】
3行目では、項目名を検出することはできないものの、2行目の項目とセル位置及び項目数が同一であることを検出することができる。したがって、2行目まで見出し部であり、3行目以降がデータ部であることを自動認識することができ、新たなデータベース生成のためのデータ抽出は、3行目以降のデータ部から行うことができる。
【0049】
図4(b)では、表データを右方向44へ走査する場合を示しており、項目領域43の1列目には項目「材料名」、「重量」、「物質」、「比率」が存在することを検出することができる。2列目では、項目「比率」が「平均重量」、「最大重量」に分割され、項目数が増加していることを検出することができる。
【0050】
3列目では、項目名を検出することはできないものの、2列目の項目とセル位置及び項目数が同一であることを検出することができる。したがって、2列目まで見出し部であり、3列目以降がデータ部であることを自動認識することができ、新たなデータベース生成のためのデータ抽出は、3列目以降のデータ部から行うことができる。
【0051】
このように走査方向によらず、罫線情報に基づいて、データベース生成時に抽出するべきデータベース項目及び対応するデータのセル位置を正確に検出することができるので、表データの行と列とが反転している場合であっても一のデータベースとしてマージすることが可能となる。
【0052】
図3に戻って、データベース生成装置1のCPU11は、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する(ステップS304)。CPU11は、一又は複数の電子文書ファイル又は該電子文書ファイル中の表データから、新たに生成するデータベースのデータベース項目及び対応するデータを抽出する(ステップS305)。データを抽出する規則は、データ抽出規則記憶部132に記憶されているデータ抽出規則に従う。
【0053】
なお、罫線情報の解析結果だけでは正しくデータベース項目等が特定できない場合も生じうる。この場合、手動にてデータベース項目及びデータ抽出規則の特定を受け付ける。図5は、本発明の実施の形態1に係るデータベース生成装置1のCPU11の手動特定処理の手順を示すフローチャートである。
【0054】
図5において、データベース生成装置1のCPU11は、図3のステップS303の処理の実行終了後、一又は複数の電子文書ファイルの指定を受け付け(ステップS501)、複数のシートが存在する場合にはシートの指定、及びシートに含まれる表データ中にて該表データと他の表データとのマージ対象となる範囲指定を受け付ける(ステップS502)。CPU11は、受け付けた範囲指定に従って、データベース項目及びデータ抽出規則を特定し(ステップS503)、処理を図3のステップS305へ進める。
【0055】
図6は、範囲指定が必要となる場合の例示図である。図6(a)は、表データの構造が特段の規則性を有していない場合の例示図である。この場合、キーボード21、マウス22等の入力装置により、表データとして使用する領域61のみを範囲指定として受け付ける。指定を受け付けた範囲に、例えば他の表データのデータベース項目とリンクするようなタグ情報を付加することにより、新たなデータベースのデータとして用いることができる。
【0056】
図6(b)は、表データとして認識できない領域区分となっている場合の例示図である。図6(b)の例では、見出し部として認識するべき領域62が表として認識できる領域、すなわち矩形領域となっていない。この場合、キーボード21、マウス22等の入力装置により、領域62を含めて列ごとの領域63の範囲指定を受け付け、見出し部「材料」、「重量」、「比率1」、「比率2」に対して、他の表データのデータベース項目とリンクするようにタグ情報を付加する。これにより、新たなデータベースのデータとして用いることができる。
【0057】
図3に戻って、データベース生成装置1のCPU11は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示し(ステップS306)、表示されたデータベース項目及び対応するデータが適正である旨の確認情報を受け付けたか否かを判断する(ステップS307)。CPU11が、確認情報を受け付けていないと判断した場合(ステップS307:NO)、再度新たなデータベースを生成するべく処理を終了し、確認情報を受け付けたと判断した場合(ステップS307:YES)、ユーザがデータベース項目に重複、抜け等が生じておらず、適正にマージされていると判断したので、生成された新たなデータベースを検索処理の対象等として記憶装置13に記憶する(ステップS308)。
【0058】
このように、罫線情報に基づいて抽出対象となる表データの存在位置を特定することができ、表データからデータベース項目及び対応するデータを抽出するためのデータ抽出規則を正しく特定することができるので、新たなデータベースを適正に生成することが可能となる。
【0059】
また、マージ対象となる表データ間に、いわゆるゆらぎ情報が存在する場合がある。ここで、「ゆらぎ情報」とは、表データ間の相違に関する情報の総称である。例えば表データの開始セルの位置の相違に関する表位置ゆらぎ情報、表データの項目の順序が相違する、新規項目の存在、項目の抜けの存在等の項目の相違に関する項目ゆらぎ情報等がある。
【0060】
図7は、表データの位置に相違が存在する「表位置ゆらぎ情報」の説明図である。図7(a)から図7(c)に示すように、表データを示す罫線が存在する領域の左上のセル71、72、73のサイズが相違することにより、電子文書ファイル中の表データのセル位置がそれぞれ相違している。表位置ゆらぎ情報が存在する場合、例えばデータ抽出規則を「上から1番目の表」等に特定しておく、又は記憶してあるデータ抽出規則から選択することにより、図7(a)から図7(c)に示すすべての表データを抽出の対象とすることができる。つまり、表データの開始位置(開始セル位置)をあらかじめ定めるのではなく、罫線情報に基づいて表データを抽出し、一の電子文書ファイル中又は一の電子文書ファイルに含まれる一のシート中に複数の表データが抽出された場合には、「上から1番目の表」、「最大の表」、「特定の項目を含む表」等の直接的な位置ではない表の特徴をデータ抽出規則として設定して記憶しておくことにより、表位置のゆらぎに対応して表データを抽出することができる。
【0061】
図8は、表データの項目に相違が存在する「項目ゆらぎ情報」の説明図である。図8(a)を基準とした場合、図8(b)は項目Cと項目Bとの順序が入れ替わっている。従来のCSVファイルを用いて表データをマージする場合には、項目Cと項目Bとの順序が入れ替わっていることを事前にユーザが知っている状態で、入れ替え指示を出す必要があった。
【0062】
本実施の形態1では、項目が入れ替わっていることを検出して、項目名にリンクしたタグ情報を付与する。すなわち図8(a)の見出し部81では、例えば項目Aに対してタグ情報‘a’を、項目Bに対してタグ情報‘b’を、項目Cに対してタグ情報‘c’を、それぞれ付与する。図8(b)の見出し部82では、項目Bと項目Cとの順序が入れ替わっているが、タグ情報は図8(a)と同様の対応関係で付与しておく。データ抽出時にはタグ情報‘a’、タグ情報‘b’及びタグ情報‘c’を基礎としてデータを集約するので、基礎となる表データで項目がどのように配置されていても、新たなデータベースでは、タグ情報の順に集約することができる。したがって、項目Cと項目Bとの順序が入れ替わっていることを事前にユーザが知らなくても、表データを適正にマージすることが可能となる。
【0063】
また、図8(c)では、見出し部83に新たな項目である項目D、項目Eが存在するのに対し、項目Cが欠落している。この場合も、項目Dに対してタグ情報‘d’を、項目Eに対してタグ情報‘e’を、それぞれ付与することにより、データ抽出時にタグ情報を基礎としてデータを抽出する限り、誤った項目を集約するおそれはない。すなわち、新規に追加された項目は独立して集約することができるし、欠落している項目については本表データからはデータを抽出することがない。
【0064】
以上のように、表データ間にゆらぎ情報が存在する場合であっても、タグ情報を基礎として同一項目についてはデータを集約することができ、ユーザが項目の入れ替わりに関する情報等を正確に把握することなく、新たなデータベースを生成することが可能となる。つまり、抽出するべき項目、項目の順序等をあらかじめ定めるのではなく、レコードを抽出する場合に項目名も抽出し、項目をタグ情報として例えばXMLデータベース形式で記憶し、タグ情報(項目名)によって表を再構成することで、項目のゆらぎに対応して表データを抽出することができる。また、何らかの原因により本来は同じ項目として取り扱うべき項目を異なる項目として認識した場合であっても、表を再構成するときに、同じ項目として取り扱うべき項目を同一化する指示を受け付けることが可能な構成とすることにより、事後的に項目ゆらぎを修正することも可能となる。
【0065】
図9は、本発明の実施の形態1に係るデータベース生成装置1のCPU11のゆらぎ補正処理の手順を示すフローチャートである。
【0066】
図9において、データベース生成装置1のCPU11は、図3のステップS304の処理実行後、異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出する(ステップS901)。抽出するゆらぎ情報は、上述した2つに限定されるものではない。
【0067】
CPU11は、データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断する(ステップS902)。CPU11が、変更部分が存在しないと判断した場合(ステップS902:NO)、CPU11は、ゆらぎ情報に起因するデータ抽出規則に対する何らかの補正処理(以下、ゆらぎ補正)が実行されていないと判断して、処理を図3のステップS307へ進める。CPU11が、変更部分が存在すると判断した場合(ステップS902:YES)、CPU11は、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する(ステップS903)。
【0068】
CPU11は、データ抽出規則の変更部分を反映してデータベース項目及び対応するデータを抽出し(ステップS904)、データベース項目に付与されているタグ情報に従ってデータベース項目を配列して、データベース項目及び対応するデータを一覧表示し(ステップS905)、処理を図3のステップS307へ進める。
【0069】
このようにすることで、マージ対象となる表データ間にゆらぎ情報が存在する場合であっても、ユーザは事前にその存在を把握しておく必要がなく、適正なゆらぎ補正を実行した状態で新たなデータベース項目及び対応するデータを視認することができる。したがって、ユーザに過剰な負荷がかかることなく、容易に新たなデータベースを生成することが可能となる。
【0070】
(実施の形態2)
本発明の実施の形態2に係るデータベース生成装置の構成は、実施の形態1と同様であることから、同一の符号を付することにより、詳細な説明を省略する。本実施の形態2では、異なるデータ形式を有する複数の表データが存在する場合であっても、容易に新たなデータベースを生成することができ、ゆらぎ補正の内容を視認することができる点で実施の形態1と相違する。
【0071】
図10は、本発明の実施の形態2に係るデータベース生成装置1の機能ブロック図である。図10では、実施の形態1と同様の機能ブロックについては同一の符号を付している。電子文書ファイル取得部201は、一又は複数の表データを含む電子文書ファイルを取得する。電子文書ファイルは、記憶装置13内に記憶されている電子文書ファイルを電子文書ファイル記憶部131に集約しても良いし、ネットワーク2を介して外部のコンピュータから取得しても良い。また、キーボード21、マウス22等の入力装置を介して入力しても良い。
【0072】
罫線情報抽出部202は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0073】
解析部203は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。
【0074】
データ抽出規則特定部204は、解析部203での解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する。特定されたデータベース項目及びデータ抽出規則は、データ抽出規則記憶部132に記憶される。
【0075】
データ抽出規則特定部204は、ファイル指定受付部205、範囲指定受付部206、及び特定部207を備えても良い。解析部203の解析結果だけでは、データベース項目を特定することができない場合もありうるからである。このような場合、手動にてデータベース項目及びデータ抽出規則の特定を受け付ける。
【0076】
ゆらぎ情報抽出部1001は、解析部203での解析結果に基づいて、いわゆるゆらぎ情報が存在する場合には、存在するゆらぎ情報を抽出する。例えば、抽出対象となる表データ間において項目ゆらぎ情報が存在する場合、項目の順序の相違、項目の相違等に関する情報を抽出する。
【0077】
判断部1002は、データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断する。すなわち、ゆらぎ情報の存在によって、タグ情報に基づく表データの抽出規則が変更されるので、変更部分が存在すると判断した場合にはデータ抽出規則に対して何らかのゆらぎ補正が実行されていると判断することができる。
【0078】
タグ情報付与部1003は、判断部1002で変更部分が存在すると判断した場合、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する。すなわち項目の配列、順序、種類等が異なる表データであっても、タグ情報が同一である場合には同一の項目であることを担保する。これにより、タグ情報に基づいてデータベースを構成することにより、ゆらぎ情報が存在する場合であっても適切に新たなデータベースを生成することができる。
【0079】
データ抽出部1004は、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する。データ抽出規則にはタグ情報に関する項目が含まれ、タグ情報に応じてデータベース項目及び対応するデータが抽出され、データベース記憶部133に記憶される。
【0080】
表示部209は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示する。一方、ゆらぎ情報表示部1005は、データ抽出の対象となる電子文書ファイルに関するゆらぎ情報の種類に関する情報、及びゆらぎ情報が存在するシートを特定する情報を表示する。
【0081】
図11は、本発明の実施の形態2に係るデータベース生成装置1のCPU11のデータベース生成処理の手順を示すフローチャートである。図11において、データベース生成装置1のCPU11は、一又は複数の表データを含む電子文書ファイルを取得する(ステップS1101)。電子文書ファイルは、記憶装置13内の電子文書ファイル記憶部131に記憶されている電子文書ファイルを読み出しても良いし、ネットワーク2を介して外部のコンピュータから読み出しても良い。また、キーボード21、マウス22等の入力装置を介して入力を受け付けても良い。
【0082】
CPU11は、取得した一又は複数の電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する(ステップS1102)。具体的には、罫線で囲まれている部分を表データと認識し、その他の罫線がどのように配置されているかに関する情報を取得する。
【0083】
CPU11は、抽出した複数の罫線情報に基づいて電子文書ファイルの内容を解析する(ステップS1103)。具体的には、罫線によりレコード単位で項目がどのように区分けされているかを判断し、見出し部とデータ部とを区別する。区別する方法は実施の形態1と同様であることから、詳細な説明は省略する。
【0084】
CPU11は、解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定する(ステップS1104)。CPU11は、解析結果に基づいて、いわゆるゆらぎ情報が存在する場合には、存在するゆらぎ情報を抽出する(ステップS1105)。すなわち、抽出対象となる表データ間において、項目の順序の相違、項目の相違等に関する情報を抽出する。
【0085】
CPU11は、データベース項目、データ抽出規則及び抽出されたゆらぎ情報に基づいて、データ抽出規則の変更部分が存在するか否かを判断する(ステップS1106)。すなわち、ゆらぎ情報の存在によって、タグ情報に基づく表データの抽出規則が変更されるので、変更部分が存在すると判断した場合にはデータ抽出規則に対して何らかのゆらぎ補正が実行されていると判断することができる。
【0086】
CPU11が、データ抽出規則の変更部分が存在すると判断した場合(ステップS1106:YES)、CPU11は、同一のデータベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与する(ステップS1107)。すなわち項目の配列、順序、種類等が異なる表データであっても、タグ情報が同一である場合には同一の項目であることを担保する。これにより、タグ情報に基づいてデータベースを構成することで、ゆらぎ情報が存在する場合であっても適切に新たなデータベースを生成することができる。
【0087】
CPU11が、データ抽出規則の変更部分が存在しないと判断した場合(ステップS1106:NO)、CPU11は、ステップS1107をスキップし、特定したデータベース項目及びデータ抽出規則にて、一又は複数の電子文書ファイルからデータベース項目及び対応するデータを抽出する(ステップS1108)。データ抽出規則にはタグ情報に関する項目が含まれ、タグ情報に応じてデータベース項目及び対応するデータが抽出され、データベース記憶部133に記憶される。
【0088】
CPU11は、抽出されたデータベース項目及び対応するデータを表示装置23にて一覧表示するとともに(ステップS1109)、データ抽出の対象となる電子文書ファイルに関するゆらぎ情報の種類に関する情報、及びゆらぎ情報が存在する位置に関する情報、例えばゆらぎ情報が存在する電子文書ファイル名、シート名、セル位置等を表示する(ステップS1110)。
【0089】
このように、ゆらぎ情報が存在する場合であっても、ゆらぎ情報に応じてデータ抽出規則を変更する、すなわちタグ情報を基礎としたデータ抽出規則を変更することにより、正しくデータベース項目及び対応するデータを集約することが可能となる。また、ゆらぎ情報が生じた電子文書ファイル、シート、セル位置等を視認することができ、ゆらぎ補正をどのように行うかを判断することができる。
【0090】
図12は、抽出されたゆらぎ情報の一覧を表示する表示画面の例示図である。図12の例では、「表位置ゆらぎ」、「項目ゆらぎ」、「文字ゆらぎ」、「エラー」の各項目について、その総数、電子文書ファイル名、シート名等の一覧を、それぞれ領域121、122、123、124に表示している。
【0091】
また、ゆらぎ情報の一覧表示画面から、ゆらぎ補正がどのように実行されたか確認できることが好ましい。図13は、ゆらぎ補正の内容を確認するための表示画面の例示図である。図13(a)は、図12と同様、抽出されたゆらぎ情報の一覧を表示する表示画面の例示図であり、図13(b)は、ゆらぎ情報の内容を示す表示画面の例示図であり、図13(c)は、ゆらぎ情報抽出の対象となった表データを並列に表示する表示画面の例示図である。
【0092】
図13(a)の表示画面において、ゆらぎ補正がどのように行われたのか知りたい項目135について、マウス等の入力装置による選択を受け付ける。項目135の選択を受け付けた場合、図13(b)に示すように、対応する表データのシート自体を表示する表データ表示領域136とゆらぎ情報の内容を表示するゆらぎ情報表示領域138を含む表示画面が表示される。表データ表示領域136には、ゆらぎ情報の対象となった表データのシートが表示され、ゆらぎ情報表示領域138には、表位置ゆらぎ情報に対するゆらぎ補正の内容が表示されている。
【0093】
図13の例では、表データが開始するセル位置にゆらぎが生じており、図13(b)の表示画面のようにデータ抽出規則における開始するセル位置137を変更した旨を示す情報が表示されている。すなわち、データ抽出規則では、セル位置「C:3」からデータを抽出するよう指示されていたのに対し、ゆらぎ情報により、データ抽出規則を、セル位置「D:5」からデータを抽出するよう変更した旨を示している。
【0094】
また、シート自体を比較することが可能なように並列して表示しても良い。この場合、図13(c)に示すように、表データ表示領域136の横に並列して、ゆらぎ元表データ表示領域139を表示しておき、ゆらぎの対象となるセル位置137、140をそれぞれ強調表示することにより、どのようにゆらぎ補正が実行されているのか、明確に視認することができる。
【0095】
また、ゆらぎ情報の一覧表示画面において、エラー表示がなされている表データは、事前に想定しているゆらぎ補正では対応できなかった表データの存在を示している。図14は、エラー表示の内容を示す表示画面の例示図である。図14(a)は、図12と同様、抽出されたゆらぎ情報の一覧を表示する表示画面の例示図であり、図14(b)は、エラー情報の内容を示す表示画面の例示図であり、図14(c)は、エラー情報抽出の対象となった表データを並列に表示する表示画面の例示図である。
【0096】
図14(a)の表示画面において、エラー表示がなされている項目141について、マウス等の入力装置による選択を受け付ける。項目141の選択を受け付けた場合、図14(b)に示すように、対応する表データのシート自体を表示する表データ表示領域142とエラー情報の内容を表示するエラー情報表示領域144を含む表示画面が表示される。表データ表示領域142には、表データのシート自体が表示され、エラー情報表示領域144には、エラーが生じた原因を示す原因情報、例えば表データ内の項目がすべて一致していない旨を示す情報が表示されている。
【0097】
図14の例では、表データの項目が、データ抽出規則に規定されている新たなデータベースのデータベース項目とすべて一致していないことから、ゆらぎ情報の補正処理を行うことができない。したがって、項目をデータベース項目にあわせるよう補正するには、シート自体を比較することが可能なように並列して表示することが好ましい。
【0098】
図14(c)では、表データ表示領域142の横に並列して、ゆらぎ情報を抽出できなかった元表データ表示領域145を表示している。両者の項目領域143と項目領域146とを比較できるよう、例えば強調表示することにより、項目名がどのように相違しているのかを、明確に視認することができる。
【0099】
なお、原因情報としては、少なくともエラー情報が生じている電子文書ファイルを特定する情報、エラー情報の内容に関する情報、及びエラー情報が生じているシートを特定する情報を含むことが好ましい。また、原因情報は、データ抽出規則の変更部分に関する情報を含むことも望ましい。これは、ゆらぎ情報を表示する場合にゆらぎ情報が生じている電子文書ファイルを特定する情報、ゆらぎ情報に関する情報、ゆらぎ情報が生じているシートを特定する情報を含むことに準ずる。
【0100】
エラー情報が生じている電子文書ファイルを特定する情報、エラー情報の内容に関する情報、及びエラー情報が生じているシートを特定する情報を含むことにより、ゆらぎ情報を補正しきれなかった電子文書ファイル及びシートを特定することができ、補正ができなかった原因を視認することが可能となる。また、データ抽出規則の相違を視認することができ、データ抽出規則を変更することにより新たなデータベース生成に用いることができるか否かを判断することができる。
【0101】
さらに、原因情報を解析して、エラー情報表示領域144に、エラー情報が生じている表データを抽出することが可能な他のデータ抽出規則を検索して表示することが好ましい。データ抽出規則を変更することが可能である場合には、エラーを解消することができる可能性もあり、エラー情報が生じている表データであってもエラーを解消することで新たなデータベースに取り込むことができるからである。
【0102】
図15は、他のデータ抽出規則を示唆する旨の情報を表示する表示画面の例示図である。図15の例では、表データ表示領域152の横に並列して、ゆらぎ情報を抽出できなかった元表データ表示領域155を表示している。両方の表データ領域153と表データ領域156とを比較し、いずれの表も表のサイズが最も大きい表であることを検出した場合、エラー情報表示領域154には、いずれの表も1番大きな表である旨のメッセージを表示する。斯かる情報が表示されることにより、データ抽出規則として「最も大きいサイズの表データ」を採用した場合には、表データ領域156に表示されている表データについても新たなデータベースに取り込むことが可能となる。
【0103】
図16は、原因情報を表示する場合の本発明の実施の形態2に係るデータベース生成装置1のCPU11の処理手順を示すフローチャートである。図16において、データベース生成装置1のCPU11は、図11のステップS1110の処理の後、エラー情報が生じた電子文書ファイルが存在するか否かを判断する(ステップS1601)。
【0104】
CPU11が、エラー情報が生じた電子文書ファイルが存在しないと判断した場合(ステップS1601:NO)、CPU11は、処理を終了する。CPU11が、エラー情報が生じた電子文書ファイルが存在すると判断した場合(ステップS1601:YES)、CPU11は、エラー情報が生じた原因に関する原因情報を表示装置23に表示し(ステップS1602)、他のデータ抽出規則が記憶装置13のデータ抽出規則記憶部132に記憶されているか否かを判断する(ステップS1603)。
【0105】
CPU11が、他のデータ抽出規則が記憶されていないと判断した場合(ステップS1603:NO)、CPU11は、処理を終了する。CPU11が、他のデータ抽出規則が記憶されていると判断した場合(ステップS1603:YES)、CPU11は、記憶されている他のデータ抽出規則から一のデータ抽出規則を選択し(ステップS1604)、エラー情報が生じた表データから、データベース項目及び対応するデータを抽出する(ステップS1605)。
【0106】
CPU11は、再度エラー情報が生じたか否かを判断し(ステップS1606)、CPU11が、エラー情報が生じたと判断した場合(ステップS1606:YES)、CPU11は、記憶されているすべての他のデータ抽出規則を選択したか否かを判断する(ステップS1607)。CPU11が、すべてのデータ抽出規則を選択したと判断した場合(ステップS1607:YES)、CPU11は、処理を終了する。
【0107】
CPU11が、まだ選択されていない他のデータ抽出規則が存在すると判断した場合(ステップS1607:NO)、CPU11は、次の他のデータ抽出規則を選択し(ステップS1608)、処理をステップS1605に戻して、上述した処理を繰り返す。CPU11が、エラー情報が生じていないと判断した場合(ステップS1606:NO)、CPU11は、選択した他のデータ抽出規則に関するメッセージを表示装置23に表示する(ステップS1609)。
【0108】
このようにすることで、複数の表データ間にゆらぎ情報が存在する場合であっても、ゆらぎ情報を補正して新たなデータベースを生成することができ、どのようにゆらぎ補正を実行したか、あるいはゆらぎ補正を実行することができなかった原因に関する原因情報を表示することにより、元の表データ又はデータ抽出規則を変更するための情報を得ることが可能となる。また、エラー情報が生じた電子文書ファイルを特定することができ、エラー情報が生じた原因を視認することができるとともに、データ抽出規則を変更することによりエラー情報が生じることなく新たなデータベース生成を行うことができるか否かを判断することが可能となる。
【0109】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば変更すべきデータ抽出規則が見つかった場合、自動的にデータ抽出規則を変更しても良いし、ユーザによる変更指示の入力を受け付けても良い。また、データ抽出規則が変更された場合、自動的に再度データベース生成処理を実行するようにしても良いし、ユーザによるデータベース再生成指示の入力を受け付けても良い。
【図面の簡単な説明】
【0110】
【図1】本発明の実施の形態1に係るデータベース生成装置の構成例を示すブロック図である。
【図2】本発明の実施の形態1に係るデータベース生成装置の機能ブロック図である。
【図3】本発明の実施の形態1に係るデータベース生成装置のCPUのデータベース生成処理の手順を示すフローチャートである。
【図4】罫線情報に基づいて表データの抽出を行う処理の例示図である。
【図5】本発明の実施の形態1に係るデータベース生成装置のCPUの手動特定処理の手順を示すフローチャートである。
【図6】範囲指定が必要となる場合の例示図である。
【図7】表データの位置に相違が存在する「表位置ゆらぎ情報」の説明図である。
【図8】表データの項目に相違が存在する「項目ゆらぎ情報」の説明図である。
【図9】本発明の実施の形態1に係るデータベース生成装置のCPUのゆらぎ補正処理の手順を示すフローチャートである。
【図10】本発明の実施の形態2に係るデータベース生成装置の機能ブロック図である。
【図11】本発明の実施の形態2に係るデータベース生成装置のCPUのデータベース生成処理の手順を示すフローチャートである。
【図12】抽出されたゆらぎ情報の一覧を表示する表示画面の例示図である。
【図13】ゆらぎ補正の内容を確認するための表示画面の例示図である。
【図14】エラー表示の内容を示す表示画面の例示図である。
【図15】他のデータ抽出規則を示唆する旨の情報を表示する表示画面の例示図である。
【図16】原因情報を表示する場合の本発明の実施の形態2に係るデータベース生成装置のCPUの処理手順を示すフローチャートである。
【符号の説明】
【0111】
1 データベース生成装置
2 ネットワーク
11 CPU
12 RAM
13 記憶装置
14 I/Oインタフェース
15 ビデオインタフェース
16 可搬型ディスクドライブ
17 通信インタフェース
18 内部バス
23 表示装置
90 可搬型記録媒体
100 コンピュータプログラム
131 電子文書ファイル記憶部
132 データ抽出規則記憶部
133 データベース記憶部
134 ゆらぎ情報記憶部
【特許請求の範囲】
【請求項1】
表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置において、
一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段と、
取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段と、
抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段と、
解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段と、
特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段と、
抽出されたデータベース項目及び対応するデータを一覧表示する表示手段と、
表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段と
を備えることを特徴とするデータベース生成装置。
【請求項2】
前記データ抽出規則特定手段は、
一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段と、
指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段と、
受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段と
を備えることを特徴とする請求項1記載のデータベース生成装置。
【請求項3】
異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段と、
前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段と、
該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段と
を備え、
前記データ抽出手段は、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出するようにしてあり、
前記表示手段は、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示するようにしてあることを特徴とする請求項1又は2記載のデータベース生成装置。
【請求項4】
前記解析手段は、
罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段を備え、
該手段で同一であると判断した場合、前記データ抽出手段は、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出するようにしてあることを特徴とする請求項1乃至3のいずれか一項に記載のデータベース生成装置。
【請求項5】
表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なデータベース生成方法において、
一又は複数の前記電子文書ファイルを取得し、
取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出し、
抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析し、
解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定し、
特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出し、
抽出されたデータベース項目及び対応するデータを一覧表示し、
表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付けることを特徴とするデータベース生成方法。
【請求項6】
一又は複数の前記電子文書ファイルの指定を受け付け、
指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付け、
受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定することを特徴とする請求項5記載のデータベース生成方法。
【請求項7】
異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出し、
前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断し、
変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与し、
前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出し、
前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示することを特徴とする請求項5又は6記載のデータベース生成方法。
【請求項8】
罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断し、
同一であると判断した場合、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出することを特徴とする請求項5乃至7のいずれか一項に記載のデータベース生成方法。
【請求項9】
表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なコンピュータプログラムにおいて、
前記データベース生成装置を、
一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段、
取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段、
抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段、
解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段、
特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段、
抽出されたデータベース項目及び対応するデータを一覧表示する表示手段、及び
表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段
として機能させることを特徴とするコンピュータプログラム。
【請求項10】
前記データ抽出規則特定手段を、
一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段、
指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段、及び
受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段
として機能させることを特徴とする請求項9記載のコンピュータプログラム。
【請求項11】
前記データ抽出規則特定手段を、
異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段、
前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段、及び
該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段
として機能させ、
前記データ抽出手段を、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出する手段として機能させ、
前記表示手段を、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示する手段として機能させることを特徴とする請求項9又は10記載のコンピュータプログラム。
【請求項12】
前記解析手段を、
罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段として機能させ、
該手段で同一であると判断した場合、前記データ抽出手段を、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出する手段として機能させることを特徴とする請求項9乃至11のいずれか一項に記載のコンピュータプログラム。
【請求項1】
表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置において、
一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段と、
取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段と、
抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段と、
解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段と、
特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段と、
抽出されたデータベース項目及び対応するデータを一覧表示する表示手段と、
表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段と
を備えることを特徴とするデータベース生成装置。
【請求項2】
前記データ抽出規則特定手段は、
一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段と、
指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段と、
受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段と
を備えることを特徴とする請求項1記載のデータベース生成装置。
【請求項3】
異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段と、
前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段と、
該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段と
を備え、
前記データ抽出手段は、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出するようにしてあり、
前記表示手段は、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示するようにしてあることを特徴とする請求項1又は2記載のデータベース生成装置。
【請求項4】
前記解析手段は、
罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段を備え、
該手段で同一であると判断した場合、前記データ抽出手段は、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出するようにしてあることを特徴とする請求項1乃至3のいずれか一項に記載のデータベース生成装置。
【請求項5】
表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なデータベース生成方法において、
一又は複数の前記電子文書ファイルを取得し、
取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出し、
抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析し、
解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定し、
特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出し、
抽出されたデータベース項目及び対応するデータを一覧表示し、
表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付けることを特徴とするデータベース生成方法。
【請求項6】
一又は複数の前記電子文書ファイルの指定を受け付け、
指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付け、
受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定することを特徴とする請求項5記載のデータベース生成方法。
【請求項7】
異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出し、
前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断し、
変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与し、
前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出し、
前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示することを特徴とする請求項5又は6記載のデータベース生成方法。
【請求項8】
罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断し、
同一であると判断した場合、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出することを特徴とする請求項5乃至7のいずれか一項に記載のデータベース生成方法。
【請求項9】
表データが含まれる一又は複数の電子文書ファイル中から抽出したデータに基づいて新たなデータベースを生成するデータベース生成装置で実行することが可能なコンピュータプログラムにおいて、
前記データベース生成装置を、
一又は複数の前記電子文書ファイルを取得する電子文書ファイル取得手段、
取得した一又は複数の前記電子文書ファイルに含まれる罫線に関する罫線情報をそれぞれ抽出する罫線情報抽出手段、
抽出した複数の罫線情報に基づいて前記電子文書ファイルの内容を解析する解析手段、
解析結果に基づいて、生成するデータベースのデータベース項目及びデータ抽出規則を特定するデータ抽出規則特定手段、
特定したデータベース項目及びデータ抽出規則にて、一又は複数の前記電子文書ファイルから前記データベース項目及び対応するデータを抽出するデータ抽出手段、
抽出されたデータベース項目及び対応するデータを一覧表示する表示手段、及び
表示されたデータベース項目及び対応するデータが適正である旨を示す確定情報の入力を受け付ける確定情報受付手段
として機能させることを特徴とするコンピュータプログラム。
【請求項10】
前記データ抽出規則特定手段を、
一又は複数の前記電子文書ファイルの指定を受け付けるファイル指定受付手段、
指定を受け付けた一又は複数の電子文書ファイルの表データの範囲指定を受け付ける範囲指定受付手段、及び
受け付けた範囲指定に従って、前記データベース項目及び前記データ抽出規則を特定する特定手段
として機能させることを特徴とする請求項9記載のコンピュータプログラム。
【請求項11】
前記データ抽出規則特定手段を、
異なる電子文書ファイルから抽出した表データの位置の相違に関する情報、及び/又は異なる電子文書ファイルから抽出したデータベース項目の相違に関する情報を少なくとも含む表データの相違に関するゆらぎ情報を抽出するゆらぎ情報抽出手段、
前記データベース項目、前記データ抽出規則及び抽出されたゆらぎ情報に基づいて、前記データ抽出規則の変更部分が存在するか否かを判断する判断手段、及び
該判断手段で変更部分が存在すると判断した場合、同一の前記データベース項目に対しては同一の、異なるデータベース項目に対しては異なるタグ情報を付与するタグ情報付与手段
として機能させ、
前記データ抽出手段を、前記データ抽出規則の変更部分を反映して前記データベース項目及び対応するデータを抽出する手段として機能させ、
前記表示手段を、前記データベース項目に付与されているタグ情報に従って前記データベース項目を配列して、前記データベース項目及び対応するデータを一覧表示する手段として機能させることを特徴とする請求項9又は10記載のコンピュータプログラム。
【請求項12】
前記解析手段を、
罫線により区切られた区画が複数列又は複数行にわたって同一であるか否かを判断する手段として機能させ、
該手段で同一であると判断した場合、前記データ抽出手段を、複数列又は複数行にわたって同一である最初の行又は列での区画に相当するデータベース項目にてデータを抽出する手段として機能させることを特徴とする請求項9乃至11のいずれか一項に記載のコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−97263(P2010−97263A)
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2008−265354(P2008−265354)
【出願日】平成20年10月14日(2008.10.14)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願日】平成20年10月14日(2008.10.14)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】
[ Back to top ]