(57)【特許請求の範囲】
【請求項１】
複数のＸＢＲＬファイルに関する入力データより、前記複数のＸＢＲＬファイルそれぞれの要素およびアスペクトを直接指定する複数の抽出条件からそれぞれ構成される、複数の検証対象ルールを受け付け、
前記複数の検証対象ルールにそれぞれ含まれる抽出条件に基づいて、共通する複数の抽出条件を有する複数の検証対象ルールを組み合わせ、
前記複数のＸＢＲＬファイルそれぞれで規定された複数の要素の、アスペクトごとの値の分布を含む分布情報と、前記複数の検証対象ルールの組み合わせに関する組合せ情報とを参照し、前記複数の検証対象ルールに基づく抽出処理の処理順序を決定する、
処理をコンピュータに実行させる抽出プログラム。
【請求項２】
前記決定する処理は、前記複数の検証対象ルールのいずれかで共通して含まれる共通抽出条件について算出される分布推定値と、前記複数の検証対象ルール間で共通しない抽出条件の分布推定値に基づき、前記共通抽出条件および前記個別抽出条件の処理順序を決定する
ことを特徴とする請求項１に記載の抽出プログラム。
【請求項３】
前記処理順序を決定する処理によって決定された処理順序に基づいて、前記共通抽出条件および前記個別抽出条件を組み合わせた抽出処理を行い、
該抽出された抽出結果を保存する
ことを特徴とする請求項２に記載の抽出プログラム。
【請求項４】
前記複数のＸＢＲＬファイルの更新による前記分布情報の更新に応じて、前記共通抽出条件および前記個別抽出条件を決定する
ことを特徴とする請求項２に記載の抽出プログラム。
【請求項５】
複数のＸＢＲＬファイルに関する入力データより、前記複数のＸＢＲＬファイルそれぞれの要素およびアスペクトを直接指定する複数の抽出条件からそれぞれ構成される、複数の検証対象ルールを受け付け、
前記複数の検証対象ルールにそれぞれ含まれる抽出条件に基づいて、共通する複数の抽出条件を有する複数の検証対象ルールを組み合わせ、
前記入力データより、前記複数のＸＢＲＬファイルそれぞれで規定された複数の要素の、アスペクトごとの値の分布を含む分布情報を算出する算出部と、
前記算出部によって算出された分布情報と、前記複数の検証対象ルールの組み合わせに関する組合せ情報とを参照し、前記複数の検証対象ルールに基づく抽出処理の処理順序を決定する決定部と、
を有することを特徴とする抽出装置。
【請求項６】
コンピュータが、
複数のＸＢＲＬファイルに関する入力データより、前記複数のＸＢＲＬファイルそれぞれの要素およびアスペクトを直接指定する複数の抽出条件からそれぞれ構成される、複数の検証対象ルールを受け付け、
前記複数の検証対象ルールにそれぞれ含まれる抽出条件に基づいて、共通する複数の抽出条件を有する複数の検証対象ルールを組み合わせ、
前記複数のＸＢＲＬファイルそれぞれで規定された複数の要素の、アスペクトごとの値の分布を含む分布情報と、前記複数の検証対象ルールの組み合わせに関する組合せ情報とを参照し、前記複数の検証対象ルールに基づく抽出処理の処理順序を決定する、
処理を実行する抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出プログラム等に関する。
【背景技術】
【０００２】
ＸＢＲＬ（eXtensible  Business  Reporting  Language）文書による財務諸表を金融庁へ提出することが義務付けられている。ＸＢＲＬとは、各種財務報告用の情報を作成、流通、利用できるように標準化されたＸＭＬベースの言語である。ＸＢＲＬ文書とは、例えば財務会計報告に関して、ＸＢＲＬで記述された文書である。【０００３】
ＸＢＲＬ文書の作成に用いられるＸＢＲＬデータの品質が必ずしも高いとは限らない。通常、入力されたＸＢＲＬデータに対して、ＸＭＬやＸＢＲＬの構文や形式としての妥当性の検証に加え、各データ項目の財務的な意味や整合性に基づいた検証が行われる。各データ項目の財務的な意味や整合性に基づいた検証は、会計検査的な機能をサポートする位置づけの検証ともいえる。かかる検証を行うために利用される技術としてＸＢＲＬフォーミュラがある。ＸＢＲＬフォーミュラとは、ＸＢＲＬデータの内容の検証や計算を行うためのルールを定義する記述言語である。すなわち、検証処理は、ＸＢＲＬフォーミュラで記述された複数の検証ルールに基づいて、入力されるＸＢＲＬデータを検証する。【０００４】
例えば、監督・規制機関等では、一般事業法人からＸＢＲＬデータを受け取り、監査を行う。ＸＢＲＬデータは定期的に入力され、検証処理はＸＢＲＬフォーミュラで記述された検証ルールに基づいて、ＸＢＲＬデータの品質を確認する。この後、確認されたＸＢＲＬデータを用いてデータの処理が行われ、一定期間内で監査が完了される必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１１／０８９６８３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、ＸＢＲＬデータの入力数は、増大する傾向にある。このため、ＸＢＲＬフォーミュラで記述された検証ルールに基づいた検証処理は時間を要する傾向にある。個々の検証ルールが検証対象とするデータ項目の範囲は、入力される全てのＸＢＲＬデータに比べると、ごく一部であることが多い。個々の検証ルールにおいては、検証ルールが検証対象とするデータ項目を有するＸＢＲＬデータが高速に抽出されることが望ましい。【０００７】
１つの側面では、入力データから、検証ルールが検証対象とするデータ項目を有するＸＢＲＬデータを高速に抽出することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する抽出プログラムは、コンピュータに、複数のＸＢＲＬファイルを含む入力データより、前記複数のＸＢＲＬファイルそれぞれの要素およびアスペクトを直接指定する複数の抽出条件を組み合わせた抽出処理を行う際に、前記複数のＸＢＲＬファイルそれぞれで規定された複数の要素の、アスペクトごとの値の分布を含む分布情報を参照し、前記複数の抽出条件の適用順序を決定する、処理を実行させる。
【発明の効果】
【０００９】
１つの態様によれば、入力データから、検証ルールが検証対象とするデータ項目を有するＸＢＲＬデータを高速に抽出することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る抽出装置の構成を示す機能ブロック図である。
【図２】図２は、検証ルールの構造の一例を示す図である。
【図３】図３は、アスペクトの種類の一例を示す図である。
【図４】図４は、実施例１に係る入力データ解析部による解析結果の一例を示す図である。
【図５】図５は、実施例１に係る抽出条件取得部により取得された抽出条件の一例を示す図である。
【図６】図６は、実施例１に係る絞込み推定部による処理の具体例を示す図である。
【図７】図７は、実施例１に係る適用順序決定部による処理の具体例を示す図である。
【図８】図８は、実施例１に係る抽出処理のフローチャートの一例を示す図である。
【図９】図９は、実施例１に係る適用順序決定処理のフローチャートの一例を示す図である。
【図１０】図１０は、実施例２に係る抽出装置の構成を示す機能ブロック図である。
【図１１】図１１は、実施例２に係る組合せテーブルのデータ構造の一例を示す図である。
【図１２】図１２は、実施例２に係る抽出条件取得部により取得された抽出条件の一例を示す図である。
【図１３】図１３は、実施例２に係る絞込み推定部による処理の具体例を示す図である。
【図１４】図１４は、実施例２に係る適用順序決定部による処理の具体例を示す図である。
【図１５Ａ】図１５Ａは、実施例２に係る抽出処理の利用例を示す図（１）である。
【図１５Ｂ】図１５Ｂは、実施例２に係る抽出処理の利用例を示す図（２）である。
【図１５Ｃ】図１５Ｃは、実施例２に係る抽出処理の利用例を示す図（３）である。
【図１６】図１６は、実施例２に係る抽出処理のフローチャートの一例を示す図である。
【図１７】図１７は、実施例２に係る適用順序決定処理のフローチャートの一例を示す図である。
【図１８】図１８は、抽出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示す抽出プログラム、抽出装置および抽出方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
［実施例１に係る抽出装置の構成］
図１は、実施例１に係る抽出装置の構成を示す機能ブロック図である。実施例１に係る抽出装置は、入力データ９に含まれる複数のＸＢＲＬデータより、検証ルールに指定される抽出条件を用いて、検証の対象となるデータ項目を有するＸＢＲＬデータを抽出する。この抽出されたＸＢＲＬデータが検証ルールを用いて検証される。【００１３】
ここでいう「ＸＢＲＬデータ」とは、ＸＢＲＬで記述されたデータである。ＸＢＲＬとは、各種財務報告用の情報を作成、流通、利用できるように標準化されたＸＭＬベースの言語である。ＸＢＲＬデータの一例として、財務データが挙げられる。ＸＢＲＬデータは値と、値を補足する「アスペクト」と呼ばれる各種情報からなる。アスペクトには、値の要素名と各種の付加情報が含まれる。なお、以降、ＸＢＲＬデータは、データ項目を有する、ＸＢＲＬで記述されたデータであるとして、データ項目と同義に扱う。また、アスペクト情報については、後述する。【００１４】
ここでいう「検証ルール」とは、ＸＢＲＬデータの内容の検証や計算を行うためのルールであり、ＸＢＲＬフォーミュラを用いて記述される。ＸＢＲＬフォーミュラとは、ＸＢＲＬデータの内容の検証や計算を行うためのルールを定義する記述言語であり、検証ルールを定義する。なお、検証ルールの構造については、後述する。【００１５】
図１に示すように、抽出装置１は、制御部１０および記憶部２０を有する。【００１６】
記憶部２０は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部２０は、検証ルール２１および解析結果２２を有する。【００１７】
検証ルール２１は、ＸＢＲＬデータの内容の検証や計算を行うためのルールである。ここで、検証ルール２１の構造を、図２を参照して説明する。図２は、検証ルールの構造の一例を示す図である。【００１８】
図２に示すように、検証ルールには、一例として、「変数」と、「変数個別の抽出条件」と、「変数共通の抽出条件」と、「検証式」とが定義される。「変数共通の抽出条件」は、検証ルール内の全ての「変数個別の抽出条件」で定義される変数の共通の抽出条件である。ここでは、「変数」は、ａ１、ａ２、ａ３に対応する。「変数個別の抽出条件」は、ｂ１、ｂ２、ｂ３に対応する。「変数共通の抽出条件」は、ｃ０に対応する。「検証式」は、ｄ０に対応する。【００１９】
「変数共通の抽出条件」ｃ０により、入力データ９の全体から検証ルールで検証されるデータ項目を含む入力データ９が絞り込まれる。さらに、「変数」ａ１では、「変数個別の抽出条件」ｂ１により、絞り込まれた入力データ９から検証ルールで検証されるデータ項目を含む入力データ９が絞り込まれ、「変数」ａ１に割り当てられる。「変数」ａ２では、同様に「変数個別の抽出条件」ｂ２により、絞り込まれた入力データ９から検証ルールで検証されるデータ項目を含む入力データ９が絞り込まれ、「変数」ａ２に割り当てられる。「変数」ａ３では、同様に「変数個別の抽出条件」ｂ３により、絞り込まれた入力データ９から検証ルールで検証されるデータ項目を含む入力データ９が絞り込まれ、「変数」ａ３に割り当てられる。そして、割り当てられたデータ項目で、「検証式」ｄ０に合致するかどうかが検証される。図２の例では、「変数共通の抽出条件」ｃ０における１つ目の条件指定であるアスペクトは、「Dimension：CS」であり、その値は、「ｘ２６」である。２つ目の条件指定するアスペクトは、「Dimension：VG」であり、その値は、「ｘ８０」である。３つ目の条件指定するアスペクトは、「Dimension：D0」であり、その値は、「ｘ０」である。かかる「Dimension：CS」、「Dimension：VG」、「Dimension：DO」は、それぞれアスペクトである。かかる「Member:X26」、「Member：x80」、「Member：x0」は、それぞれのアスペクトに対する値である。【００２０】
ここで、アスペクトの種類について、図３を参照して説明する。図３は、アスペクトの種類の一例を示す図である。図３に示すように、各種類のアスペクトが存在する。例えば、アスペクトの種類には、「Location」、「Concept」、・・・、「Dimension」が存在する。「Location」は、親要素の情報を指すアスペクトである。「Concept」は、要素名を指すアスペクトである。「Dimension」は、軸を表す補足情報を指すアスペクトである。「Dimension」では、軸ごとにアスペクトの種類が存在する。Dimensionの軸には、Explicit軸、Typed軸という２種類が存在し、それぞれの軸の種別において任意の数の軸が定義される。【００２１】
図１に戻って、解析結果２２は、入力データ９を解析した結果である。すなわち、解析結果２２は、アスペクト種類に対応する値ごとに、入力データ９の件数で値となる頻度を表した分布である。なお、解析結果２２は、入力データ解析部１１によって予め解析され、解析結果が記憶部２０に記憶される。【００２２】
制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部１０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路の電子回路に対応する。または、制御部１０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。制御部１０は、入力データ解析部１１、抽出条件取得部１２、絞込み推定部１３、適用順序決定部１４およびデータ抽出部１５を有する。【００２３】
入力データ解析部１１は、入力データ９を解析する。例えば、入力データ解析部１１は、入力データ９より、各種類のアスペクトに対応する値ごとに、出現頻度を算出する。入力データ解析部１１は、算出する出現頻度を記憶部２０の解析結果２２に格納する。なお、入力データ解析部１１は、全種類のアスペクトを解析対象としても良いが、検証ルールの抽出条件で指定されるアスペクトの種類についてのみ解析対象としても良い。これは、検証ルールの抽出条件に定義されないアスペクトの種類を解析対象としても、使用する機会がないからである。【００２４】
ここで、入力データ解析部１１による解析結果２２を、図４を参照して説明する。図４は、実施例１に係る入力データ解析部による解析結果の一例を示す図である。図４に示すように、解析結果２２には、アスペクト２２ａと、値２２ｂと、分布情報２２ｃとが含まれる。アスペクト２２ａは、アスペクトの種類を示す。値２２ｂは、アスペクトの種類に対応する値を示す。分布情報２２ｃは、入力データ９の件数で値２２ｂとなる頻度を表した分布の情報である。つまり、分布情報２２ｃは、アスペクト２２ａの値２２ｂを持つ入力データ９の件数、すなわち、値２２ｂの出現頻度を表す。【００２５】
一例として、アスペクトの種類が「Dimension」である場合の解析結果を示す。アスペクト２２ａが「Dimension  軸（dim：D1）」、値２２ｂが「m:m10」である場合には、分布情報２２ｃが「２９０２７１」である。アスペクト２２ａが「Dimension  軸（dim：D1）」、値２２ｂが「m:m11」である場合には、分布情報２２ｃが「４６」である。アスペクト２２ａが「Dimension  軸（dim：D2）」、値２２ｂが「m:m20」である場合には、分布情報２２ｃが「２９９０５」である。アスペクト２２ａが「Dimension  軸（dim：D3）」、値２２ｂが「m:m30」である場合には、分布情報２２ｃが「２９０３８４」である。【００２６】
抽出条件取得部１２は、抽出条件解析結果から静的な抽出条件および動的な抽出条件を取得する。抽出条件解析結果とは、検証ルールから抽出条件を解析した結果であり、静的な抽出条件および動的な抽出条件が含まれる。すなわち、検証ルールに記載される抽出条件は、入力データ９に依存しないで定義されるので、入力データ９が入力される以前に予め解析される。ここで、静的な抽出条件とは、ＸＢＲＬデータそれぞれに記述されるアスペクトの種類および値を直接指定する抽出条件のことをいう。すなわち、静的な抽出条件とは、ＸＢＲＬデータに依存せず、照合する条件が最初から決定されるものであり、予め抽出対象となるアスペクトの種類およびアスペクトの値を知り得る条件のことをいう。動的な抽出条件とは、ＸＢＲＬデータそれぞれに記述されるアスペクトの種類および値を動的に指定する抽出条件のことをいう。すなわち、動的な抽出条件とは、抽出しようとするＸＢＲＬデータに依存し、ＸＢＲＬデータごとに照合する条件が決定されるものであり、予め抽出対象となるアスペクトの種類やアスペクトの値を知り得ない条件のことをいう。【００２７】
例えば、抽出条件取得部１２は、抽出条件解析結果から静的な抽出条件を取得する。すなわち、検証ルールに記載された変数共通の抽出条件の中の静的な抽出条件が取得される。また、抽出条件取得部１２は、抽出条件解析結果から動的な抽出条件を取得する。すなわち、検証ルールに記載された変数共通の抽出条件の中の動的な抽出条件が取得される。ここで、抽出条件取得部１２による取得された抽出条件を、図５を参照して説明する。図５は、実施例１に係る抽出条件取得部による取得された抽出条件の一例を示す図である。【００２８】
図５に示すように、上段は、静的な抽出条件の一例である。アスペクトの種類が「Dimension」である静的な抽出条件である。ここでは、抽出条件には、アスペクトの種類として「Dimension（dim：D1）」、その値として「mem:m10」が直接設定されている。すなわち、予め抽出対象となるアスペクトの種類およびアスペクトの値が知り得る静的な抽出条件である。【００２９】
また、下段は、動的な抽出条件の一例である。アスペクトの種類が「Dimension」である動的な抽出条件の一例である。ここでは、抽出条件には、ＸＢＲＬデータの値が正（＞０）である場合には、アスペクトの種類として「Dimension（dim：D1）」、その値として「mem:m10」を適用するように設定されている。ＸＢＲＬデータの値が０以下（≦０）である場合には、アスペクトの種類として「Dimension（dim：D2）」、その値として「mem:m20」を適用するように設定されている。すなわち、ＸＢＲＬデータごとに照合する条件が適用されるものであり、予め抽出対象となるアスペクトの種類やアスペクトの値を知り得ない動的な抽出条件である。【００３０】
図１に戻って、絞込み推定部１３は、解析結果２２から、抽出条件取得部１２によって取得された静的な抽出条件ごとの出現頻度を取得する。すなわち、絞込み推定部１３は、静的な抽出条件ごとに、絞り込む（抽出する）ことができるＸＢＲＬデータの数（「絞込み推定数」という）を推定する。例えば、絞込み推定部１３は、抽出条件取得部１２によって取得された静的な抽出条件から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。絞込み推定部１３は、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、読み出した分布情報２２ｃを絞込み推定数としてアスペクトおよび値に対応付けて設定する。絞込み推定数が小さい程、抽出条件の絞込み効果は大きいものとなる。【００３１】
適用順序決定部１４は、絞込み推定部１３によって推定された、複数の静的な抽出条件ごとの絞込み推定数に基づいて、複数の静的な抽出条件の適用順序を決定する。例えば、適用順序決定部１４は、絞込み推定部１３によって推定された複数の静的な抽出条件の絞込み推定数を参照し、静的な抽出条件の絞込み推定数が小さい程順序が早くなるように静的な抽出条件の適用順序を決定する。すなわち、適用順序決定部１４は、絞込み効果が高い順に、抽出条件の適用順序を決定する。つまり、適用順序決定部１４は、絞込み効果が最大の抽出条件を最初の適用順序とする。なお、適用順序決定部１４は、抽出条件取得部１２によって動的な抽出条件が取得された場合には、動的な抽出条件を、例えば、全ての静的な抽出条件の後の適用順序とすれば良い。すなわち、適用順序決定部１４は、静的な抽出条件によってある程度ＸＢＲＬデータを絞り込んだ後に、さらに動的な抽出条件によって絞り込むことができる順序に決定すれば良い。ＸＢＲＬデータが動的な抽出条件に合致するか否かの判定は、全てのＸＢＲＬデータと照合する必要があるため、判定処理の負荷が重くなるからである。したがって、適用順序決定部１４は、ＸＢＲＬデータをある程度絞り込んだ後に、さらに動的な抽出条件によって絞り込むような順序に決定すれば良い。【００３２】
データ抽出部１５は、適用順序決定部１４によって決定された適用順序を用いて、入力データ９に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。これにより、データ抽出部１５は、入力データから検証ルールに必要なデータ項目を有するＸＢＲＬデータを高速に抽出することができる。【００３３】
次に、絞込み推定部１３による処理を、図６を参照して説明する。図６は、実施例１に係る絞込み推定部による処理の具体例を示す図である。なお、図６では、抽出条件取得部１２によって静的な抽出条件が取得されたものとする。【００３４】
図６に示すように、絞込み推定部１３は、静的な抽出条件から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。ここでは、静的な抽出条件が＜１＞である場合には、アスペクトとして「Dimension軸（dim:D1）」、値として「mem:m10」が取り出される。静的な抽出条件が＜２＞である場合には、アスペクトとして「Dimension軸（dim:D2）」、値として「mem:m20」が取り出される。静的な抽出条件が＜３＞である場合には、アスペクトとして「Dimension軸（dim:D3）」、値として「mem:m30」が取り出される。【００３５】
絞込み推定部１３は、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、分布情報２２ｃを絞込み推定数としてアスペクトおよび値に対応付けて設定する。ここでは、「Dimension軸（dim:D1）」および「mem:m10」に対応付けて絞込み推定数として「２９０２７１」が設定される。「２９０２７１」の数のＸＢＲＬデータが絞り込まれると推定される。「Dimension軸（dim:D2）」および「mem:m20」に対応付けて絞込み推定数として「２９９０５」が設定される。「２９９０５」の数のＸＢＲＬデータが絞り込まれると推定される。「Dimension軸（dim:D3）」および「mem:m30」に対応付けられて絞込み推定数として「２９０３８４」が設定される。「２９０３８４」の数のＸＢＲＬデータが絞り込まれると推定される。これにより、符号ｅ１で示される「２９９０５」が最も小さい絞込み推定数となり、この抽出条件の絞込み効果は大きいものとなる。【００３６】
次に、適用順序決定部１４による処理を、図７を参照して説明する。図７は、実施例１に係る適用順序決定部による処理の具体例を示す図である。なお、図７では、抽出条件取得部１２によって静的な抽出条件（静的条件）＜１＞、＜２＞、＜３＞が取得され、動的な抽出条件（動的条件）＜１´＞、＜２´＞が取得されたものとする。また、絞込み推定部１３によって静的条件の絞込み推定数が設定されたものとする。【００３７】
図７に示すように、適用順序決定部１４は、複数の静的条件の絞込み推定数を参照し、静的条件の絞込み推定数が小さい程早い順序になるように静的条件の適用順序を決定する。ここでは、静的条件＜１＞の絞込み推定数が「２９０２７１」、静的条件＜２＞の絞込み推定数が「２９９０５」、静的条件＜３＞の絞込み推定数が「２９０３８４」であるので、静的条件の適用順序は、＜２＞、＜１＞、＜３＞に決定される。【００３８】
適用順序決定部１４は、抽出条件取得部１２によって動的条件が取得されているので、動的条件を、例えば、全ての静的条件の後の適用順序となるように決定する。ここでは、動的条件の適用順序は、全ての静的条件の後に＜１´＞、＜２´＞に決定される。なお、動的条件の適用順序については、並び替えをしても良いし、並び替えをしなくても良い。【００３９】
これにより、適用順序決定部１４による処理を適用した場合の静的な抽出条件に入力される入力データの延べ数は、以下のように最小化することができる。静的条件＜２＞への入力データの数は「２９０３８６」、静的条件＜１＞への入力データ数は「２９９０５」、静的条件＜３＞への入力データ数は「２９９０５」（最悪のケース）となり、入力データの延べ数は、「３５０１９６」となる。すなわち、各静的条件への入力データ数がそれぞれ「２９０３８６」である場合には、入力データの延べ数は、「８７１１５８」となる。したがって、適用順序決定部１４による処理を適用した場合の入力データの延べ数は、各静的条件への入力データ数がそれぞれ「２９０３８６」である場合の入力データの延べ数と比べて、１／２以下とすることができる。【００４０】
［抽出処理の手順］
次に、実施例１に係る抽出処理の手順について、図８を参照して説明する。図８は、実施例１に係る抽出処理のフローチャートの一例を示す図である。なお、抽出条件解析結果は、入力データ９を受け取る前に、記憶部２０に記憶されているものとする。【００４１】
まず、入力データ解析部１１は、入力データ９を受け取ったか否かを判定する（ステップＳ１１）。入力データ９を受け取っていないと判定した場合には（ステップＳ１１；Ｎｏ）、入力データ解析部１１は、入力データ９を受け取るまで、判定処理を繰り返す。【００４２】
一方、入力データ９を受け取ったと判定した場合には（ステップＳ１１；Ｙｅｓ）、入力データ解析部１１は、受け取った入力データ９を解析する（ステップＳ１２）。例えば、入力データ解析部１１は、入力データ９より、各種類のアスペクトに対応する値ごとに、出現頻度を算出する。入力データ解析部１１は、算出した、アスペクトに対応する値ごとの出現頻度を解析結果として記憶部２０の解析結果２２に格納する（ステップＳ１３）。【００４３】
続いて、抽出条件取得部１２は、抽出条件解析結果から静的な抽出条件および動的な抽出条件を取得する（ステップＳ１４）。【００４４】
絞込み推定部１３は、取得された静的な抽出条件ごとにＸＢＲＬデータの絞込み数を推定する（ステップＳ１５）。例えば、絞込み推定部１３は、取得された静的な抽出条件から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。絞込み推定部１３は、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出す。絞込み推定部１３は、読み出した分布情報２２ｃを絞込み推定数としてアスペクトおよび値に対応付けて設定する。【００４５】
続いて、適用順序決定部１４は、取得された静的および動的な抽出条件の適用順序を決定する（ステップＳ１６）。なお、適用順序の決定処理の手順は、後述する。【００４６】
そして、データ抽出部１５は、決定された適用順序に応じて入力データ９に対して抽出条件を適用し、入力データ９からＸＢＲＬデータを抽出する（ステップＳ１７）。これにより、データ抽出部１５は、入力データ９から検証ルールに必要なデータ項目を有するＸＢＲＬデータを高速に抽出することができる。【００４７】
［適用順序決定処理の手順］
次に、実施例１に係る適用順序決定処理の手順について、図９を参照して説明する。図９は、実施例１に係る適用順序決定処理のフローチャートの一例を示す図である。【００４８】
適用順序決定部１４は、静的な抽出条件の適用順序を、絞込み推定数が小さい程早くなるように決定する（ステップＳ２１）。例えば、適用順序決定部１４は、絞込み推定部１３によって推定された複数の静的な抽出条件の絞込み推定数を参照し、静的な抽出条件の絞込み推定数が小さい程順序が早くなるように静的な抽出順序を決定する。すなわち、適用順序決定部１４は、絞込み効果が高い順に、抽出条件の適用順序を決定する。【００４９】
そして、適用順序決定部１４は、抽出条件取得部１２によって動的な抽出条件が取得されたか否かを判定する（ステップＳ２２）。動的な抽出条件が取得されたと判定した場合には（ステップＳ２２；Ｙｅｓ）、適用順序決定部１４は、動的な抽出条件の適用順序を、静的な抽出条件の後となるように決定する（ステップＳ２３）。そして、適用順序決定部１４は、処理を終了する。【００５０】
一方、動的な抽出条件が選択されなかったと判定した場合には（ステップＳ２２；Ｎｏ）、適用順序決定部１４は、抽出条件の適用順序を決定したので、処理を終了する。【００５１】
［実施例１の効果］
上記実施例１によれば、抽出装置１は、複数のＸＢＲＬデータを含む入力データ９より、複数のＸＢＲＬデータそれぞれの要素およびアスペクトを直接指定する複数の抽出条件を組み合わせた抽出処理を行う。この際、抽出装置１は、複数のＸＢＲＬデータそれぞれで規定された複数の要素の、アスペクトごとの値の分布を含む分布情報を参照し、複数の抽出条件の適用順序を決定する。かかる構成によれば、抽出装置１は、入力データ９から検証の対象となる要素を有するＸＢＲＬデータを高速に抽出することができる。【００５２】
また、上記実施例１によれば、抽出装置１は、出現頻度が最も低い値となる抽出条件を最初に適用するように、複数の抽出条件の適用順序を決定する。かかる構成によれば、抽出装置１は、最初に、検証の対象となる要素を有するＸＢＲＬデータを最低個数分抽出することができ、この後の抽出処理の負荷を軽減できる。
【実施例２】
【００５３】
ところで、実施例１では、抽出装置１は、検証ルールから複数のＸＢＲＬデータそれぞれの要素およびアスペクトを直接指定する複数の抽出条件を取得する。そして、抽出装置１は、ＸＢＲＬデータにおけるアスペクトごとの値の出現頻度を参照し、複数の抽出条件の適用順序を決定する場合を説明した。しかしながら、抽出装置１は、さらに、以下の場合であっても良い。すなわち、抽出装置１は、複数の検証ルールで共通する複数の抽出条件をグループ化する。そして、抽出装置１は、グループ化した抽出グループ、およびＸＢＲＬデータにおけるアスペクトごとの値の出現頻度を参照し、検証ルールごとの複数の抽出条件の適用順序を決定する場合であっても良い。さらに、抽出装置１は、グループ化した抽出グループの抽出結果を、複数の検証ルールで再利用する場合であっても良い。【００５４】
ここで、実施例２において、複数の検証ルールで共通する複数の抽出条件をグループ化するのは、以下の理由による。通常、入力データに対するフォーミュラ検証では、複数の検証ルールが実施される。複数の検証ルールごとに、複数の抽出条件が実行される。複数の検証ルール間では、共通の抽出条件の構造が存在することがある。異なる検証ルールであっても、共通の抽出条件の構造が存在すれば、一方の検証ルールの適用結果を他方の検証ルールで再利用することが可能となる。したがって、実施例２では、複数の検証ルールで共通する複数の抽出条件をグループ化する。ただし、１つの検証ルールの適用結果を再利用することが可能となるのは、共通の抽出条件の構造を最初に適用する場合に限られる。【００５５】
なお、共通の抽出条件をグループ化して仮想的に１つの抽出条件とみなした場合の絞込み効果の推定数は、共通の抽出条件に含まれる抽出条件のうち絞込みに最も効果の高い抽出条件の絞込み推定数とすれば良い。これについて説明する。すなわち、厳密に推定しようとすると、検証ルール内の個々の抽出条件に対して、複数の特定のアスペクト値を持つデータ項目の出現頻度分布の解析が必要であるが、アスペクト値の組み合わせのバリエーションが多いと、バリエーションに応じたデータ項目ごとの解析処理も負荷（解析時間、メモリ使用量）がかかる。アスペクト値ごとのデータ項目の出現頻度分布であれば、データ項目ごとの解析の負荷は軽く、グループ中の、絞込みに効果の高い抽出条件が１つみつけられれば、検証ルール全体の効果を推定することができる。【００５６】
このように、共通の抽出条件の構造をグループ化し、仮想的に１つの抽出条件とみなすことで、共通の抽出条件の構造を１度だけ評価し、抽出結果を再利用することが可能となり、抽出処理を効率化することができる。【００５７】
そこで、実施例２では、抽出装置１は、複数の検証ルールで共通する複数の抽出条件をグループ化する。そして、抽出装置１は、グループ化した抽出グループ、およびＸＢＲＬデータにおけるアスペクトごとの値の出現頻度を参照し、検証ルールごとの複数の抽出条件の適用順序を決定する場合について説明する。【００５８】
［実施例２に係る抽出装置の構成］
図１０は、実施例２に係る抽出装置の構成を示す機能ブロック図である。なお、図１に示す抽出装置と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、ルール組合せ部４１および組合せテーブル３１を追加した点にある。実施例１と実施例２とが異なるところは、抽出条件取得部１２Ａ、絞込み推定部１３Ａ、適用順序決定部１４Ａおよびデータ抽出部１５Ａを変更した点にある。【００５９】
ルール組合せ部４１は、共通する複数の抽出条件を有する複数の検証ルールを組み合わせる。なお、ルール組合せ部４１は、入力データ９を入力する前に実施される。例えば、ルール組合せ部４１は、複数の検証ルールごとに、それぞれ静的な抽出条件を取り出す。ルール組合せ部４１は、取り出した、複数の検証ルールごとの静的な抽出条件に基づいて、共通する複数の抽出条件（抽出グループ）を有する複数の検証ルールを組み合わせる。そして、ルール組合せ部４１は、組み合わせた複数の検証ルールを対応付けて組合せテーブル３１に格納する。【００６０】
ここで、組合せテーブル３１のデータ構造を、図１１を参照して説明する。図１１は、実施例２に係る組合せテーブルのデータ構造の一例を示す図である。図１１に示すように、組合せテーブル３１は、検証ルール名３１ａ、静的抽出条件３１ｂおよび共通構造を持つ検証ルール名３１ｃを対応付けて記憶する。検証ルール名３１ａは、検証ルールの名称を示す。静的抽出条件３１ｂは、検証ルール名３１ａが示す検証ルールに含まれる静的な抽出条件を示す。共通構造を持つ検証ルール名３１ｃは、検証ルール名３１ａが示す検証ルールに含まれる静的抽出条件と共通する静的抽出条件を有する検証ルールの名称を示す。【００６１】
一例として、検証ルール名３１ａが「ルール１」である場合には、静的抽出条件３１ｂとして「抽出条件１，抽出条件２」、共通構造を持つ検証ルール名３１ｃとして「ルール３」と記憶している。すなわち、ルール３は、ルール１と共通する静的抽出条件を持つことを意味する。検証ルール名３１ａが「ルール２」である場合には、静的抽出条件３１ｂとして「抽出条件１，抽出条件３」、共通構造を持つ検証ルール名３１ｃとして「ルール３」と記憶している。すなわち、ルール３は、ルール２と共通する静的抽出条件を持つことを意味する。検証ルール名３１ａが「ルール３」である場合には、静的抽出条件３１ｂとして「抽出条件１，抽出条件２，抽出条件３」、共通構造を持つ検証ルール名３１ｃとして「なし」と記憶している。すなわち、ルール３と共通する静的抽出条件を持つルールはないことを意味する。【００６２】
抽出条件取得部１２Ａは、抽出条件解析結果から静的な抽出条件および動的な抽出条件を取得する。また、抽出条件取得部１２Ａは、検証ルールごとに、共通する複数の静的な抽出条件をグループ化した抽出グループおよび抽出グループに含まれない静的な抽出条件を選択する。例えば、抽出条件取得部１２Ａは、検証ルールごとに以下の処理を行う。抽出条件取得部１２Ａは、組合せテーブル３１を参照して、特定した検証ルールが他の検証ルールの静的な抽出条件の構造と共通する構造を持つか否かを判定する。言い換えれば、抽出条件取得部１２Ａは、特定した検証ルールの静的な抽出条件の構造が他の検証ルールの静的な抽出条件の構造を包含するか否かを判定する。抽出条件取得部１２Ａは、特定した検証ルールが他の検証ルールの静的な抽出条件の構造と共通する構造を持つと判定した場合には、この他の検証ルールを選択する。この他の検証ルールは、抽出グループに対応する。抽出条件取得部１２Ａは、特定した検証ルールの静的な抽出条件のうち共通する構造の静的な抽出条件に含まれない静的な抽出条件を選択する。【００６３】
絞込み推定部１３Ａは、抽出グループに関するグループ情報、および解析結果２２を参照し、検証ルールに含まれる抽出グループおよび抽出グループに含まれない静的な抽出条件の出現頻度を取得する。すなわち、絞込み推定部１３Ａは、検証ルールごとに、抽出グループの絞込み推定数および抽出グループに含まれない静的な抽出条件の絞込み推定数を推定する。例えば、絞込み推定部１３Ａは、検証ルールごとに以下の処理を行う。絞込み推定部１３Ａは、特定の検証ルールについて、抽出条件取得部１２Ａによって抽出グループに対応する他の検証ルールが選択された場合には、他の検証ルールと共通する静的な抽出条件から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。絞込み推定部１３Ａは、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、読み出した分布情報２２ｃを絞込み推定数として抽出条件に対応付けて設定する。絞込み推定数が小さい程、抽出条件の絞込み効果は大きいものとなる。絞込み推定部１３Ａは、絞込み推定数が最も小さい数を、抽出グループの絞込み推定数として設定する。そして、絞込み推定部１３Ａは、解析結果２２から、抽出グループに含まれない静的な抽出条件に対応する分布情報２２ｃを読み出し、読み出した分布情報２２ｃを絞込み推定数として設定する。なお、絞込み推定部１３Ａは、特定した検証ルールに抽出グループが複数存在する場合には、存在する抽出グループごとに絞込み推定処理を行う。【００６４】
適用順序決定部１４Ａは、絞込み推定部１３Ａによって推定された絞込み推定数に基づいて、抽出グループおよび抽出グループに含まれない静的な抽出条件の適用順序を決定する。適用順序決定部１４Ａは、絞込み推定部１３Ａによって推定された絞込み推定数に基づいて、抽出グループに含まれる静的な抽出条件の適用順序を決定する。例えば、適用順序決定部１４Ａは、検証ルールごとに以下の処理を行う。適用順序決定部１４Ａは、抽出グループの絞込み推定数および抽出グループに含まれない静的な抽出条件の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、抽出グループおよび抽出グループに含まれない静的な抽出条件の適用順序を決定する。また、適用順序決定部１４Ａは、抽出グループに含まれる静的な抽出条件の絞込み推定数を参照し、静的な抽出条件の絞込み推定数が小さい程順序が早くなるように静的な抽出条件の適用順序を決定する。なお、適用順序決定部１４Ａは、抽出グループが複数存在する場合には、それぞれの抽出グループの絞込み推定数に基づき、抽出グループを決定すれば良い。すなわち、適用順序決定部１４Ａは、絞込み推定数が最も小さい抽出グループを、適用順序決定で用いる抽出グループとして決定すれば良い。【００６５】
データ抽出部１５Ａは、検証ルールごとに、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データに対して抽出条件を適用し、ＸＢＲＬデータを抽出する。データ抽出部１５Ａは、ある検証ルールにおけるデータ抽出の際に、検証ルールに含まれる抽出グループのデータ抽出が既に行われた場合には、既に行われたデータ抽出の結果をこの検証ルールのデータ抽出の結果として取得する。ただし、データ抽出の結果が取得できる場合は、ある検証ルールにおいてこの抽出グループが最初に適用される場合に限る。この抽出グループが最初以外で適用されると、先行して適用されたデータ抽出の結果が連動できなくなるからである。【００６６】
次に、抽出条件取得部１２Ａによる処理を、図１２を参照して説明する。図１２は、実施例２に係る抽出条件取得部により取得された抽出条件の一例を示す図である。なお、図１２では、抽出条件取得部１２Ａは、図１１で示した組合せテーブル３１を参照するものとする。【００６７】
図１２に示すように、抽出条件取得部１２Ａは、抽出条件解析結果から、静的な抽出条件および動的な抽出条件を取得する。ここでは、ルール１では、静的な抽出条件として、抽出条件１および抽出条件２が取得される。ルール２では、静的な抽出条件として、抽出条件１および抽出条件３が取得される。ルール３では、静的な抽出条件として、抽出条件１、抽出条件２および抽出条件３が取得される。【００６８】
そして、抽出条件取得部１２Ａは、組合せテーブル３１を参照して、特定した検証ルールが他の検証ルールの静的な抽出条件の構造と共通する構造を持つか否かを判定する。ここでは、ルール１では、他のルールの静的な抽出条件の構造と共通する構造を持たないと判定される。ルール２では、他のルールの静的な抽出条件の構造と共通する構造を持たないと判定される。ルール３では、他のルールの静的な抽出条件の構造と共通する構造を持つと判定される。すなわち、ルール３の静的な抽出条件の構造は、抽出条件１、抽出条件２および抽出条件３であるので、ルール１の静的な抽出条件の構造である抽出条件１および抽出条件２と共通する構造を持つと判定される。また、ルール３の静的な抽出条件の構造は、抽出条件１、抽出条件２および抽出条件３であるので、ルール２の静的な抽出条件の構造である抽出条件１および抽出条件３と共通する構造を持つと判定される。【００６９】
そして、抽出条件取得部１２Ａは、特定した検証ルールが他の検証ルールの静的な抽出条件の構造と共通する構造を持つと判定した場合には、以下の処理を行う。抽出条件取得部１２Ａは、この他の検証ルールを選択するとともに、特定した検証ルールの静的な抽出条件のうち共通する構造の静的な抽出条件に含まれない静的な抽出条件を選択する。ここでは、ルール３について、他の検証ルールとしてルール１、ルール３の静的な抽出条件のうち共通する構造の静的な抽出条件に含まれない静的な抽出条件として抽出条件３が選択される。また、ルール３について、他の検証ルールとしてルール２、ルール３の静的な抽出条件のうち共通する構造の静的な抽出条件に含まれない静的な抽出条件として抽出条件２が選択される。【００７０】
次に、絞込み推定部１３Ａによる処理を、図１３を参照して説明する。図１３は、実施例２に係る絞込み推定部による処理の具体例を示す図である。なお、図１３では、検証ルール１，２について、抽出条件取得部１２Ａによって抽出グループが選択されなかったものとする。検証ルール３について、抽出条件取得部１２Ａによって抽出グループとして検証ルール１が選択され、抽出グループに含まれない静的な抽出条件として抽出条件３が選択されたものとする。検証ルール３について、抽出条件取得部１２Ａによって抽出グループとして検証ルール２が選択され、抽出グループに含まれない静的な抽出条件として抽出条件２が選択されたものとする。以降、検証ルールをルールと略記する場合がある。【００７１】
図１３に示すように、ルール１について、絞込み推定部１３Ａは、抽出グループが選択されないので、静的な抽出条件から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。ここでは、抽出条件１である場合には、アスペクトとして「Dimension軸（dim:D1）」、値として「mem:m10」が取り出される。抽出条件２である場合には、アスペクトとして「Dimension軸（dim:D2）」、値として「mem:m20」が取り出される。【００７２】
絞込み推定部１３Ａは、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、分布情報２２ｃを絞込み推定数として抽出条件に対応付けて設定する。ここでは、抽出条件１に対応付けられた「１９０２７１」の数のＸＢＲＬデータが絞り込まれると推定される。抽出条件２に対応付けられた「２９９０５」の数のＸＢＲＬデータが絞り込まれると推定される。そして、絞込み推定部１３Ａは、絞込み推定数が最も小さい数「２９９０５」を、ルール１の絞込み推定数として設定する。【００７３】
次に、ルール２について、絞込み推定部１３Ａは、抽出グループが選択されないので、静的な抽出条件から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。ここでは、抽出条件１である場合には、アスペクトとして「Dimension軸（dim:D1）」、値として「mem:m10」が取り出される。抽出条件３である場合には、アスペクトとして「Dimension軸（dim:D3）」、値として「mem:m30」が取り出される。【００７４】
絞込み推定部１３Ａは、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、分布情報２２ｃを絞込み推定数として抽出条件に対応付けて設定する。ここでは、抽出条件１に対応付けられた「１９０２７１」の数のＸＢＲＬデータが絞り込まれると推定される。抽出条件３に対応付けられた「２９０３８４」の数のＸＢＲＬデータが絞り込まれると推定される。そして、絞込み推定部１３Ａは、絞込み推定数が最も小さい数「１９０２７１」を、ルール２の絞込み推定数として設定する。【００７５】
次に、ルール３について、絞込み推定部１３Ａは、抽出グループとしてルール１が選択されたので、既に推定されたルール１の絞込み推定数を取得する。ここでは、ルール１の絞込み推定数として、「２９９０５」が取得される。【００７６】
絞込み推定部１３Ａは、抽出グループに含まれない抽出条件として抽出条件３が選択されたので、抽出条件３から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。ここでは、アスペクトとして「Dimension軸（dim:D3）」、値として「mem:m30」が取り出される。絞込み推定部１３Ａは、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、分布情報２２ｃを絞込み推定数として抽出条件に対応付けて設定する。ここでは、抽出条件３に対応付けられた「２９０３８４」の数のＸＢＲＬデータが絞り込まれると推定される。【００７７】
また、ルール３について、絞込み推定部１３Ａは、抽出グループとしてルール２が選択されたので、既に推定されたルール２の絞込み推定数を取得する。ここでは、ルール２の絞込み推定数として、「１９０２７１」が取得される。【００７８】
絞込み推定部１３Ａは、抽出グループに含まれない抽出条件として抽出条件２が選択されたので、抽出条件２から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。ここでは、アスペクトとして「Dimension軸（dim:D2）」、値として「mem:m20」が取り出される。絞込み推定部１３Ａは、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、分布情報２２ｃを絞込み推定数として抽出条件に対応付けて設定する。ここでは、抽出条件２に対応付けられた「２９９０５」の数のＸＢＲＬデータが絞り込まれると推定される。これにより、ルール１の絞込み推定数は「２９９０５」、ルール２の絞込み推定数は「１９０２７１」であるので、適用順序決定部１４Ａによって符号ｆ１で示されるルール１が適用順序決定で用いる抽出グループとして決定される。【００７９】
次に、適用順序決定部１４Ａによる処理を、図１４を参照して説明する。図１４は、実施例２に係る適用順序決定部による処理の具体例を示す図である。なお、ルール１〜３それぞれの絞込み推定数は、図１３で示したものとする。ルール３では、適用順序決定で用いる抽出グループとしてルール１が決定されるものとする。【００８０】
図１４に示すように、ルール１について、抽出条件取得部１２Ａによって抽出グループが選択されない。そこで、適用順序決定部１４Ａは、複数の抽出条件の絞込み推定数を参照し、抽出条件の絞込み推定数が小さい程早い順序になるように抽出条件の適用順序を決定する。ここでは、抽出条件１の絞込み推定数が「１９０２７１」、抽出条件２の絞込み推定数が「２９９０５」であるので、抽出条件の適用順序は、抽出条件２、抽出条件１に決定される。【００８１】
ルール２について、抽出条件取得部１２Ａによって抽出グループが選択されない。そこで、適用順序決定部１４Ａは、複数の抽出条件の絞込み推定数を参照し、抽出条件の絞込み推定数が小さい程早い順序になるように抽出条件の適用順序を決定する。ここでは、抽出条件１の絞込み推定数が「１９０２７１」、抽出条件３の絞込み推定数が「２９０３８４」であるので、抽出条件の適用順序は、抽出条件１、抽出条件３に決定される。【００８２】
ルール３について、抽出条件取得部１２Ａによって抽出グループが選択される。そして、適用順序決定部１４Ａは、適用順序決定で用いる抽出グループとしてルール１を決定する。そこで、適用順序決定部１４Ａは、抽出グループの絞込み推定数および抽出グループに含まれない静的な抽出条件の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、抽出グループおよび抽出グループに含まれない静的な抽出条件の適用順序を決定する。ここでは、抽出グループとしてのルール１の絞込み推定数が「２９９０５」、抽出グループに含まれない抽出条件３の絞込み推定数が「２９０３８４」であるので、適用順序は、ルール１、抽出条件３に決定される。【００８３】
また、ルール３について、適用順序決定部１４Ａは、抽出グループに含まれる抽出条件の絞込み推定数を参照し、静的な抽出条件の絞込み推定数が小さい程順序が早くなるように静的な抽出条件の適用順序を決定する。ここでは、抽出グループとしてのルール１に含まれる抽出条件１の絞込み推定数が「１９０２７１」、抽出条件２の絞込み推定数が「２９９０５」であるので、ルールに含まれる抽出条件の適用順序は、抽出条件２、抽出条件１に決定される。【００８４】
次に、実施例２に係る抽出処理の利用例を、図１５Ａ〜図１５Ｃを参照して説明する。図１５Ａ〜図１５Ｃは、実施例２に係る抽出処理の利用例を示す図である。図１５Ａは、組合せテーブル３１の一例を示す図である。図１５Ｂは、入力データ１に関する抽出処理であり、図１５Ｃは、更新された入力データである入力データ２に関する抽出処理である。【００８５】
図１５Ａに示すように、ルール組合せ部４１は、共通する複数の抽出条件（抽出グループ）を有する複数の検証ルールを組み合わせ、組み合わせた複数の検証ルールを対応付けて組合せテーブル３１に格納する。組合せテーブル３１には、検証ルール名３１ａが「ルール１」である場合には、静的抽出条件３１ｂとして「抽出条件１，抽出条件２，抽出条件３」、共通構造を持つ検証ルール名３１ｃとして「なし」と記憶している。すなわち、ルール１と共通する静的抽出条件を持つルールはないことを意味する。検証ルール名３１ａが「ルール２」である場合には、静的抽出条件３１ｂとして「抽出条件１，抽出条件３，抽出条件４」、共通構造を持つ検証ルール名３１ｃとして「なし」と記憶している。すなわち、ルール２と共通する静的抽出条件を持つルールはないことを意味する。検証ルール名３１ａが「ルール３」である場合には、静的抽出条件３１ｂとして「抽出条件１，抽出条件２」、共通構造を持つ検証ルール名３１ｃとして「ルール１」と記憶している。すなわち、ルール３は、ルール１と共通する静的抽出条件を持つことを意味する。検証ルール名３１ａが「ルール４」である場合には、静的抽出条件３１ｂとして「抽出条件１，抽出条件３」、共通構造を持つ検証ルール名３１ｃとして「ルール１，ルール２」と記憶している。すなわち、ルール４は、ルール１と共通する静的抽出条件を持つことを意味する。ルール４は、ルール２と共通する静的抽出条件を持つことを意味する。【００８６】
図１５Ｂに示すように、入力データ１において、入力データ解析部１１によって解析された複数の抽出条件の分布情報（推定数）は以下のとおりである。抽出条件１の推定数は「１０００」であるものとする。抽出条件２の推定数は「７００」であるものとする。抽出条件３の推定数は「９００」であるものとする。抽出条件４の推定数は「８００」であるものとする。【００８７】
ルール１について、抽出条件取得部１２Ａは、組合せテーブル３１を参照して、抽出グループとしてルール３、抽出グループに含まれない抽出条件として抽出条件３を選択する。ルール２について、抽出条件取得部１２Ａは、組合せテーブル３１を参照して、抽出グループとしてルール４、抽出グループに含まれない抽出条件として抽出条件４を選択する。ルール３について、抽出条件取得部１２Ａは、組合せテーブル３１を参照して、抽出グループがないので、抽出グループに含まれない抽出条件として抽出条件１，２を選択する。ルール４について、抽出条件取得部１２Ａは、組合せテーブル３１を参照して、抽出グループがないので、抽出グループに含まれない抽出条件として抽出条件１，３を選択する。【００８８】
次に、ルール１について、絞込み推定部１３Ａは、抽出グループとしてルール３があるので、解析結果２２を参照して、ルール３と共通する抽出条件１，２の絞込み推定数を設定する。絞込み推定部１３Ａは、絞込み推定数が最も小さい数を、ルール３の絞込み推定数として設定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件２の絞込み推定数が「７００」であるので、ルール３の絞込み推定数は、「７００」と設定される（ｇ１）。また、絞込み推定部１３Ａは、解析結果２２を参照して、抽出グループに含まれない抽出条件３の絞込み推定数を設定する。ここでは、抽出条件３の絞込み推定数は、「９００」と設定される。【００８９】
なお、ルール１について、抽出グループとしてルール４がある。ルール４の抽出条件を構成する抽出条件１，３の絞込み推定数は、それぞれ「１０００」、「９００」であるので、ルール４の絞込み推定数は、絞込み推定数が最も小さい数である「９００」となる。したがって、ルール１には、抽出グループとしてルール３およびルール４があるが、絞込み推定数が小さいルール３が、適用順序決定で用いる抽出グループとして決定される。【００９０】
適用順序決定部１４Ａは、ルール３の絞込み推定数およびルール３に含まれない抽出条件３の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、適用順序を決定する。ここでは、ルール３の絞込み推定数が「７００」、抽出条件３の絞込み推定数が「９００」であるので、適用順序は、ルール３、抽出条件３に決定される。また、適用順序決定部１４Ａは、ルール３に含まれる抽出条件の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、抽出条件の適用順序を決定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件２の絞込み推定数が「７００」であるので、適用順序は、抽出条件２、抽出条件１に決定される。【００９１】
データ抽出部１５Ａは、ルール１について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ１に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。このとき、データ抽出部１５Ａは、抽出グループとしてのルール３の抽出結果を保存する。【００９２】
次に、ルール２について、絞込み推定部１３Ａは、抽出グループとしてルール４があるので、解析結果２２を参照して、ルール４と共通する抽出条件１，３の絞込み推定数を設定する。絞込み推定部１３Ａは、絞込み推定数が最も小さい数を、ルール４の絞込み推定数として設定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件３の絞込み推定数が「９００」であるので、ルール４の絞込み推定数は、「９００」と設定される（ｇ２）。また、絞込み推定部１３Ａは、解析結果２２を参照して、抽出グループに含まれない抽出条件４の絞込み推定数を設定する。ここでは、抽出条件４の絞込み推定数は、「８００」と設定される。【００９３】
適用順序決定部１４Ａは、ルール４の絞込み推定数およびルール４に含まれない抽出条件４の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、適用順序を決定する。ここでは、ルール４の絞込み推定数が「９００」、抽出条件４の絞込み推定数が「８００」であるので、適用順序は、抽出条件４、ルール４に決定される。また、適用順序決定部１４Ａは、ルール４に含まれる抽出条件の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、抽出条件の適用順序を決定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件３の絞込み推定数が「９００」であるので、適用順序は、抽出条件３、抽出条件１に決定される。【００９４】
データ抽出部１５Ａは、ルール２について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ１に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。このとき、データ抽出部１５Ａは、抽出グループとしてのルール４の抽出結果を保存する。【００９５】
次に、ルール３について、絞込み推定部１３Ａは、抽出グループがなく、ルール３の抽出条件はルール１で推定済みであるので、ルール３について推定しないで、ルール１の推定結果を利用する。そして、データ抽出部１５Ａは、ルール３について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ１に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。なお、データ抽出部１５Ａは、ルール１が既に処理済みであればルール１に含まれるルール３の抽出条件の適用結果が保存されるので、その保存結果を抽出結果として取得する。すなわち、この場合、ルール３の抽出条件の適用処理は、ルール１におけるルール３の検証処理で一度だけとなる。【００９６】
次に、ルール４について、絞込み推定部１３Ａは、抽出グループがなく、ルール４はルール２で推定済みであるので、ルール４について推定しないで、ルール２の推定結果を利用する。そして、データ抽出部１５Ａは、ルール４について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ１に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。なお、データ抽出部１５Ａは、ルール２が既に処理済みでもルール２に含まれるルール４の抽出条件は最初に適用されなかったため適用結果は保存されず、抽出結果の再利用は行われない。【００９７】
図１５Ｃに示すように、入力データ２において、入力データ解析部１１によって解析された複数の抽出条件の分布情報（推定数）は以下のように更新されるとする。抽出条件１の推定数は「１０００」であるものとする。抽出条件２の推定数は「９００」であるものとする。抽出条件３の推定数は「７００」であるものとする。抽出条件４の推定数は「８００」であるものとする。すなわち、抽出条件２と抽出条件３の推定数が更新されたものとする。【００９８】
ルール１について、絞込み推定部１３Ａは、抽出グループとしてルール３があるので、解析結果２２を参照して、ルール３と共通する抽出条件１，２の絞込み推定数を設定する。絞込み推定部１３Ａは、絞込み推定数が最も小さい数を、ルール３の絞込み推定数として設定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件２の絞込み推定数が「９００」であるので、ルール３の絞込み推定数は、「９００」と設定される。また、絞込み推定部１３Ａは、解析結果２２を参照して、抽出グループに含まれない抽出条件３の絞込み推定数を設定する。ここでは、抽出条件３の絞込み推定数は、「７００」と設定される。【００９９】
これに対して、ルール１について、抽出グループとしてルール４がある。ルール４と共通する抽出条件１，３の絞込み推定数は、それぞれ「１０００」、「７００」であるので、ルール４の絞込み推定数は、絞込み推定数が最も小さい数である「７００」となる。また、絞込み推定部１３Ａは、解析結果２２を参照して、抽出グループに含まれない抽出条件２の絞込み推定数を設定する。ここでは、抽出条件２の絞込み推定数は、「９００」と設定される。したがって、抽出グループとしてルール３およびルール４があるが、絞込み推定数が小さいルール４が、適用順序決定で用いる抽出グループとして決定される。【０１００】
適用順序決定部１４Ａは、ルール４の絞込み推定数およびルール４に含まれない抽出条件２の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、適用順序を決定する。ここでは、ルール４の絞込み推定数が「７００」、抽出条件２の絞込み推定数が「９００」であるので、適用順序は、ルール４、抽出条件２に決定される。また、適用順序決定部１４Ａは、ルール４に含まれる抽出条件の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、抽出条件の適用順序を決定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件３の絞込み推定数が「７００」であるので、適用順序は、抽出条件３、抽出条件１に決定される。【０１０１】
データ抽出部１５Ａは、ルール１について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ２に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。このとき、データ抽出部１５Ａは、抽出グループとしてのルール４の抽出結果を保存する。【０１０２】
次に、ルール２について、絞込み推定部１３Ａは、抽出グループとしてルール４があるが、ルール４はルール１で推定済みであるので、ルール１の推定結果を利用する。ルール４の絞込み推定数は「７００」である。また、絞込み推定部１３Ａは、解析結果２２を参照して、抽出グループに含まれない抽出条件４の絞込み推定数を設定する。ここでは、抽出条件４の絞込み推定数は、「８００」と設定される。【０１０３】
適用順序決定部１４Ａは、ルール４の絞込み推定数およびルール４に含まれない抽出条件４の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、適用順序を決定する。ここでは、ルール４の絞込み推定数が「７００」、抽出条件４の絞込み推定数が「８００」であるので、適用順序は、ルール４、抽出条件４に決定される。【０１０４】
データ抽出部１５Ａは、ルール２について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ２に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。このとき、データ抽出部１５Ａは、抽出グループとしてのルール４の抽出結果を取得する。そして、データ抽出部１５Ａは、ルール４の抽出結果を入力して、抽出条件４を適用し、ＸＢＲＬデータを抽出する。【０１０５】
次に、ルール３について、絞込み推定部１３Ａは、抽出グループがなく、他のルールで推定済みでないので、解析結果２２を参照して、抽出条件１，２の絞込み推定数を設定する。絞込み推定部１３Ａは、絞込み推定数が最も小さい数を、ルール３の絞込み推定数として設定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件２の絞込み推定数が「９００」であるので、ルール３の絞込み推定数は、「９００」と設定される。【０１０６】
適用順序決定部１４Ａは、ルール３に含まれる抽出条件の絞込み推定数を参照し、絞込み推定数が小さい程順序が早くなるように、抽出条件の適用順序を決定する。ここでは、抽出条件１の絞込み推定数が「１０００」、抽出条件２の絞込み推定数が「９００」であるので、適用順序は、抽出条件２、抽出条件１に決定される。【０１０７】
データ抽出部１５Ａは、ルール３について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ２に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。【０１０８】
次に、ルール４について、絞込み推定部１３Ａは、抽出グループがなく、ルール４はルール１で推定済みであるので、ルール４について推定しないで、ルール１の推定結果を利用する。そして、データ抽出部１５Ａは、ルール４について、適用順序決定部１４Ａによって決定された適用順序を用いて、入力データ２に対して抽出条件を適用し、ＸＢＲＬデータを抽出する。なお、データ抽出部１５Ａは、ルール１が処理済みであればルール４の抽出条件の適用結果が保存されるので、その保存結果を抽出結果として取得する。すなわち、この場合、ルール４の抽出条件の適用処理は、ルール１におけるルール４の検証処理で一度だけとなる。【０１０９】
これにより、抽出装置１は、複数の検証ルールで共通する抽出条件の構造を抽出グループとして仮想的に１つの抽出条件として扱うので、抽出グループに係る推定結果および抽出結果を再利用することで、全体の抽出処理の適用を効率化することができる。また、抽出装置１は、複数のＸＢＲＬデータの更新による分布情報の更新に応じて抽出グループを決定するので、ＸＢＲＬデータの特徴に応じた抽出条件の適用を最適化することができる。【０１１０】
［抽出処理の手順］
次に、実施例２に係る抽出処理の手順について、図１６を参照して説明する。図１６は、実施例２に係る抽出処理のフローチャートの一例を示す図である。なお、ルール組合せ部４１によって組合せテーブル３１が作成されたものとする。また、抽出条件解析結果は、入力データ９を受け取る前に、記憶部２０に記憶されているものとする。【０１１１】
まず、入力データ解析部１１は、入力データ９を受け取ったか否かを判定する（ステップＳ３１）。入力データ９を受け取っていないと判定した場合には（ステップＳ３１；Ｎｏ）、入力データ解析部１１は、入力データ９を受け取るまで、判定処理を繰り返す。【０１１２】
一方、入力データ９を受け取ったと判定した場合には（ステップＳ３１；Ｙｅｓ）、入力データ解析部１１は、受け取った入力データ９を解析する（ステップＳ３２）。例えば、入力データ解析部１１は、入力データ９より、各種類のアスペクトに対応する値ごとに、出現頻度を算出する。入力データ解析部１１は、算出した、アスペクトに対応する値ごとの出現頻度を解析結果２２に格納する（ステップＳ３３）。【０１１３】
続いて、抽出条件取得部１２Ａは、検証ルールごとに、抽出条件解析結果から静的な抽出条件および動的な抽出条件を取得する（ステップＳ３４）。抽出条件取得部１２Ａは、組合せテーブル３１を参照して、検証ルールごとに、検証ルールが他の検証ルールの構造と共通する構造を持つ場合には、この検証ルールを選択するとともに、他の検証ルールに含まれない静的な抽出条件を選択する（ステップＳ３５）。すなわち、抽出条件取得部１２Ａは、検証ルールごとに、共通する複数の静的な抽出条件をグループ化した抽出グループおよび抽出グループに含まれない静的な抽出条件を選択する。【０１１４】
続いて、絞込み推定部１３Ａは、検証ルールごとに、選択した静的な抽出条件および選択した他の検証ルールのデータの絞込み数を推定する（ステップＳ３６）。例えば、絞込み推定部１３Ａは、抽出条件取得部１２Ａによって他の検証ルールが選択された場合には、他の検証ルールと共通する静的な抽出条件から、ＸＢＲＬデータと照合するアスペクトおよび値を取り出す。絞込み推定部１３Ａは、解析結果２２から、取り出されたアスペクトおよび値に対応する分布情報２２ｃを読み出し、読み出した分布情報２２ｃを絞込み推定数として抽出条件に対応付けて設定する。絞込み推定部１３Ａは、絞込み推定数が最も小さい数を、抽出グループの絞込み推定数として設定する。そして、絞込み推定部１３Ａは、解析結果２２から、抽出グループに含まれない静的な抽出条件に対応する分布情報２２ｃを読み出し、読み出した分布情報２２ｃを絞込み推定数として設定する。一方、絞込み推定部１３Ａは、抽出条件取得部１２Ａによって他の検証ルールが選択されなかった場合には、静的な抽出条件に対応する分布情報２２ｃを読み出し、読み出した分布情報２２ｃを絞込み推定数として設定する。【０１１５】
そして、適用順序決定部１４Ａは、検証ルールごとに、抽出条件の適用順序を決定する（ステップＳ３７）。なお、適用順序の決定処理の手順は、後述する。【０１１６】
そして、データ抽出部１５Ａは、決定された適用順序に応じて入力データ９に対して抽出条件を適用し、入力データ９からＸＢＲＬデータを抽出する（ステップＳ３８）。このとき、データ抽出部１５Ａは、抽出グループを最初に適用した場合には、抽出グループの適用結果（抽出結果）を保存する。また、データ抽出部１５Ａは、抽出グループが既に他の検証ルールで適用済みであれば、抽出グループの適用結果が保存されているので、保存された適用結果を抽出結果として取得する。つまり、データ抽出部１５Ａは、グループ化した抽出グループの抽出結果を、複数の検証ルールで再利用する。【０１１７】
［適用順序決定処理の手順］
次に、実施例２に係る適用順序決定処理の手順について、図１７を参照して説明する。図１７は、実施例２に係る適用順序決定処理のフローチャートの一例を示す図である。【０１１８】
適用順序決定部１４Ａは、１つの検証ルールを選択する（ステップＳ４１）。【０１１９】
適用順序決定部１４Ａは、選択した検証ルールが他の検証ルールの構造と共通する構造を持つか否かを判定する（ステップＳ４２）。すなわち、適用順序決定部１４Ａは、選択した検証ルールが他の検証ルールを包含するか否かを判定する。選択した検証ルールが他の検証ルールの構造と共通する構造を持つと判定した場合には（ステップＳ４２；Ｙｅｓ）、適用順序決定部１４Ａは、他の検証ルールの共通の静的抽出条件および静的な抽出条件の適用順序を、絞込み推定数が小さい程早くなるように決定する（ステップＳ４３）。そして、適用順序決定部１４Ａは、ステップＳ４５に移行する。【０１２０】
一方、選択した検証ルールが他の検証ルールの構造と共通する構造を持たないと判定した場合には（ステップＳ４２；Ｎｏ）、適用順序決定部１４Ａは、静的な抽出条件の適用順序を、絞込み推定数が小さい程早くなるように決定する（ステップＳ４４）。そして、適用順序決定部１４Ａは、ステップＳ４５に移行する。【０１２１】
ステップＳ４５において、適用順序決定部１４Ａは、抽出条件取得部１２Ａによって動的な抽出条件が選択されたか否かを判定する（ステップＳ４５）。動的な抽出条件が選択されたと判定した場合には（ステップＳ４５；Ｙｅｓ）、適用順序決定部１４Ａは、動的な抽出条件の適用順序を、静的な抽出条件の後となるように決定する（ステップＳ４６）。そして、適用順序決定部１４Ａは、処理を終了する。【０１２２】
一方、動的な抽出条件が選択されなかったと判定した場合には（ステップＳ４５；Ｎｏ）、適用順序決定部１４Ａは、抽出条件の適用順序を決定したので、処理を終了する。【０１２３】
［実施例２の効果］
このようにして、上記実施例２では、抽出装置１は、複数の検証ルールで共通する複数の抽出条件をグループ化した抽出グループに関するグループ情報、および、分布情報を参照する。抽出装置１は、検証ルールに含まれる抽出グループごとに算出される絞込み推定数に基づき、抽出グループおよび抽出グループに含まれない複数の抽出条件の適用順序を決定する。かかる構成によれば、抽出装置１は、グループ化した抽出グループの絞込み推定数の算出を一度だけ行えば、再利用することが可能となるので、各検証ルールにおける複数の抽出条件の適用順序の決定を、早期に行うことができる。また、抽出装置１は、グループ化した抽出グループについて、入力データ９からのＸＢＲＬデータの抽出処理を一度だけ行えば、再利用することが可能となるので、各検証ルールにおける入力データ９からのＸＢＲＬデータの抽出を、早期に行うことができる。【０１２４】
また、上記実施例２では、抽出装置１は、１つの検証ルールに抽出グループが複数存在する場合には、適用順序を決定する際に用いられる抽出グループを、絞込み推定数に基づき決定する。かかる構成によれば、抽出装置１は、絞込み推定数が小さい抽出グループを決定することで、抽出条件の適用順序を効率良く決定できる。【０１２５】
また、上記実施例２では、抽出装置１は、複数のＸＢＲＬデータの更新による分布情報の更新に応じて、抽出グループを決定する。かかる構成によれば、抽出装置１は、ＸＢＲＬデータの特徴に応じた抽出条件の適用を最適化することができる。【０１２６】
また、上記実施例２では、抽出装置１は、適用順序を決定する処理によって決定された適用順序に基づいて、抽出グループの複数の抽出条件および抽出グループに含まれない抽出条件を組み合わせた抽出処理を行う。抽出装置１は、抽出グループの複数の抽出条件を用いて抽出された抽出結果を保存する。かかる構成によれば、抽出装置１は、抽出グループにおける抽出結果を保存することで、同じ抽出グループを持つ検証ルールで、この保存した抽出結果を再利用することができる。この結果、抽出装置１は、各検証ルールにおける抽出処理を、早期に行うことができる。【０１２７】
［プログラム等］
なお、抽出装置１は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した制御部１０と、記憶部２０等の各機能を搭載することによって実現することができる。【０１２８】
また、図示した抽出装置１の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、抽出装置１の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、絞込み推定部１３と適用順序決定部１４とを１個の部として統合しても良い。一方、抽出条件取得部１２を、静的な抽出条件を取得する第１の取得部と、動的な抽出条件を取得する第２の取得部とに分散しても良い。抽出条件取得部１２Ａを、静的な抽出条件を取得する第１の取得部と、動的な抽出条件を取得する第２の取得部と、抽出グループと抽出グループに含まれない静的な抽出条件を選択する第３の取得部とに分散しても良い。また、検証ルール２１や解析結果２２等の記憶部２０を抽出装置１の外部装置としてネットワーク経由で接続するようにしても良い。【０１２９】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した抽出装置１と同様の機能を実現する抽出プログラムを実行するコンピュータの一例を説明する。図１８は、抽出プログラムを実行するコンピュータの一例を示す図である。【０１３０】
図１８に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。【０１３１】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、抽出プログラム２０５ａおよび抽出処理関連情報２０５ｂを記憶する。【０１３２】
ＣＰＵ２０３は、抽出プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、抽出装置１の各機能部に対応する。抽出処理関連情報２０５ｂは、検証ルール２１および解析結果２２等に対応する。そして、例えばリムーバブルディスク２１１が、抽出プログラム２０５ａ等の各情報を記憶する。【０１３３】
なお、抽出プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから抽出プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【０１３４】
１  抽出装置
９  入力データ
１０  制御部
１１  入力データ解析部
１２，１２Ａ  抽出条件取得部
１３，１３Ａ  絞込み推定部
１４，１４Ａ  適用順序決定部
１５  データ抽出部
２０  記憶部
２１  検証ルール
２２  解析結果
３１  組合せテーブル
４１  ルール組合せ部
【図１】
0006528841.tif 000002
【図２】
0006528841.tif 000003
【図３】
0006528841.tif 000004
【図４】
0006528841.tif 000005
【図５】
0006528841.tif 000006
【図６】
0006528841.tif 000007
【図７】
0006528841.tif 000008
【図８】
0006528841.tif 000009
【図９】
0006528841.tif 000010
【図１０】
0006528841.tif 000011
【図１１】
0006528841.tif 000012
【図１２】
0006528841.tif 000013
【図１３】
0006528841.tif 000014
【図１４】
0006528841.tif 000015
【図１５Ａ】
0006528841.tif 000016
【図１５Ｂ】
0006528841.tif 000017
【図１５Ｃ】
0006528841.tif 000018
【図１６】
0006528841.tif 000019
【図１７】
0006528841.tif 000020
【図１８】
0006528841.tif 000021