(57)【特許請求の範囲】
【請求項１】
コンピュータに、
検証ルールに含まれる抽出属性のうち、複数のデータに含まれる各データの属性それぞれと一致する抽出属性と、該抽出属性を含む検証ルールとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のデータ毎であって前記属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定する処理と、
前記複数のデータ毎に、各データの属性それぞれに対応する前記検証ルールにおいて共通する共通検証ルールを特定する処理と、
前記検証ルール毎に、前記共通検証ルールとして特定された各検証ルールに対応するデータを抽出する処理とを実行させることを特徴とする抽出プログラム。
【請求項２】
請求項１において、
前記抽出属性は、前記抽出属性の種別を示す抽出種別と、前記抽出種別に対応する値である抽出値とを含み、
前記検証ルールを特定する処理では、各データの属性の種別及び前記種別に対応する値と一致する前記抽出種別及び前記抽出値を含む前記抽出属性を含む前記検証ルールを特定する、
ことを特徴とする抽出プログラム。
【請求項３】
請求項１において、
前記検証ルールを特定する処理では、含まれる前記抽出属性が同一である複数の検証ルールが存在する場合、前記複数の検証ルールのうちのいずれかの検証ルールの情報のみが前記対応情報に含まれるものとして処理を行い、
前記データを抽出する処理では、前記共通検証ルールとして特定された前記いずれかの検証ルールに対応するデータが、前記共通検証ルールとして特定された前記複数の検証ルールそれぞれに対応するデータであるものとして処理を行う、
ことを特徴とする抽出プログラム。
【請求項４】
請求項１において、さらに、
前記対応情報に、他の検証ルールに含まれる抽出属性の全てを含む特定の検証ルールの情報が含まれる場合、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記他の検証ルールに含まれない抽出属性によってデータを抽出するために要する処理量を、前記特定の検証ルール毎に算出し、
算出した前記処理量が所定の閾値以下である前記特定の検証ルールが存在する場合、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記他の検証ルールに含まれない抽出属性によってデータを抽出する、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理では、前記対応情報に含まれる情報のうち、存在した前記特定の検証ルールに対応する情報以外の情報を参照する、
ことを特徴とする抽出プログラム。
【請求項５】
請求項４において、
前記処理量は、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータそれぞれが、前記特定の検証ルールに含まれる抽出属性のうち、前記他の検証ルールに含まれない抽出属性それぞれによって抽出されるデータであるか否かを判定する回数である、
ことを特徴とする抽出プログラム。
【請求項６】
請求項４において、
前記所定の閾値は、前記複数のデータの件数である、
ことを特徴とする抽出プログラム。
【請求項７】
請求項５において、
前記処理量は、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータの件数と、前記特定の検証ルールに含まれる抽出属性であって前記他の検証ルールに含まれない抽出属性のうち、抽出するデータの割合が最も小さい抽出属性によって抽出されるデータの件数とのうちの小さい方のデータの件数と、前記特定の検証ルールに含まれる抽出属性のうち、前記他の検証ルールに含まれない抽出属性の数から１を減算した値とを乗算して算出した値に、前記他の検証ルールに含まれる抽出属性によって抽出されるデータの件数を加算した値である、
ことを特徴とする抽出プログラム。
【請求項８】
請求項１において、さらに、
前記データを抽出する処理における処理結果に依存しない前提抽出属性が存在する場合、前記検証ルールを特定する処理の前に、前記前提抽出属性によって前記複数のデータからデータの抽出を行う、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理及び前記共通検証ルールを特定する処理では、前記複数のデータのうちの前記前提抽出属性によって抽出されたデータについて処理を行う、
ことを特徴とする抽出プログラム。
【請求項９】
請求項１において、さらに、
前記対応情報に、抽出するデータの割合が所定の閾値以下である有効抽出属性を含む特定の検証ルールの情報が含まれる場合、前記複数のデータのうちの前記有効抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記有効抽出属性以外の抽出属性によってデータを抽出するために要する処理量を、前記特定の検証ルール毎に算出し、
算出した前記処理量が所定の閾値以下である前記特定の検証ルールが存在する場合、前記複数のデータのうちの前記有効抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記有効抽出属性以外の抽出属性によってデータを抽出する、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理では、前記対応情報に含まれる情報にうち、存在した前記特定の検証ルールに対応する情報以外の情報を参照する、
ことを特徴とする抽出プログラム。
【請求項１０】
請求項１において、さらに、
前記複数のデータにおいて、同一の属性群をそれぞれ含む特定のデータ群が存在する場合、前記同一の属性群毎に、各同一の属性群に含まれる属性それぞれと一致する前記抽出属性を含む前記検証ルールを特定し、前記同一の属性群毎に、各同一の属性群に含まれる属性それぞれに対応する前記検証ルールにおいて共通する特定の検証ルールを特定し、
前記特定のデータ群に含まれるデータ毎であって前記属性のうちの前記同一の属性群に含まれない属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、前記特定のデータ群に含まれるデータ毎に、各データの属性のうちの前記同一の属性群に含まれない属性それぞれに対応する前記検証ルールと、前記特定の検証ルールとにおいて共通する検証ルールを、前記共通検証ルールとして特定する、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理及び前記共通検証ルールを特定する処理では、前記複数のデータのうち、前記特定のデータ群に含まれるデータ以外のデータについて処理を行う、
ことを特徴とする抽出プログラム。
【請求項１１】
検証ルールに含まれる抽出属性のうち、複数のデータに含まれる各データの属性それぞれと一致する抽出属性と、該抽出属性を含む検証ルールとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のデータ毎であって前記属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、前記複数のデータ毎に、各データの属性それぞれに対応する前記検証ルールにおいて共通する共通検証ルールを特定する特定部と、
前記検証ルール毎に、前記共通検証ルールとして特定された各検証ルールに対応するデータを抽出する抽出部と、を有する、
ことを特徴とする抽出装置。
【請求項１２】
コンピュータが、検証ルールに含まれる抽出属性のうち、複数のデータに含まれる各データの属性それぞれと一致する抽出属性と、該抽出属性を含む検証ルールとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のデータ毎であって前記属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、
コンピュータが、前記複数のデータ毎に、各データの属性それぞれに対応する前記検証ルールにおいて共通する共通検証ルールを特定し、
コンピュータが、前記検証ルール毎に、前記共通検証ルールとして特定された各検証ルールに対応するデータを抽出する、
ことを特徴とする抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出プログラム、抽出装置及び抽出方法に関する。
【背景技術】
【０００２】
例えば、利用者に対してサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、利用者に対して各種サービスの提供を行うために、用途に応じた業務システム（以下、情報処理システムとも呼ぶ）を構築して稼働させる。
【０００３】
具体的に、情報処理システムは、例えば、利用者から送信された入力データの内容が、予め定められた検証ルールに従っているか否かを判定する。そして、情報処理システムは、入力データに対する検証結果を利用者に送信する。これにより、利用者は、例えば、作成したデータの内容の整合性等を確認することが可能になる（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−００２９１１号公報
【特許文献２】特開２００６−２６００５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような情報処理システムは、利用者から入力データを受信した場合、例えば、入力データに対し、各検証ルールによって検証を行うデータ（以下、検証対象データ）の抽出を行う。そして、情報処理システムは、検証ルール毎に抽出された検証対象データに対して、各検証ルールによる検証を行う。これにより、情報処理システムは、入力データの内容の検証に伴う処理負担を抑制することが可能になる。
【０００６】
ここで、利用者から受信した入力データのデータ量が膨大である場合、入力データから検証対象データを抽出する際の情報処理システムの処理負担が大きくなる。そのため、情報処理システムは、例えば、検証対象データの抽出を行う条件（以下、抽出条件とも呼ぶ）が複数存在する場合、より少ないデータを抽出することができる抽出条件（以下、高効率な抽出条件とも呼ぶ）を、他の抽出条件よりも先に用いて検証対象データの抽出を行う。これにより、情報処理システムは、他の抽出条件によって抽出を行うデータの数を少なくすることが可能になるため、検証対象データを抽出する際の処理負担を抑制することが可能になる。
【０００７】
しかしながら、高効率な抽出条件が存在しない場合、情報処理システムは、検証対象データを抽出する際の処理負担を抑制することができない。そのため、情報処理システムは、この場合、入力データの内容の検証に伴う処理負担を抑制することができない。
【０００８】
そこで、一つの側面では、本発明は、データの抽出に伴う処理負担を抑制することを可能とする抽出プログラム、抽出装置及び抽出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施の形態の一態様では、コンピュータに、検証ルールに含まれる抽出属性のうち、複数のデータに含まれる各データの属性それぞれと一致する抽出属性と、該抽出属性を含む検証ルールとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のデータ毎であって前記属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、前記複数のデータ毎に、各データの属性それぞれに対応する前記検証ルールにおいて共通する共通検証ルールを特定し、前記検証ルール毎に、各検証ルールが前記共通検証ルールとして特定されたデータを抽出する、処理を実行させる。
【発明の効果】
【００１０】
一つの側面によれば、データの抽出に伴う処理負担を抑制することを可能とする。
【図面の簡単な説明】
【００１１】
【図１】図１は、情報処理システム１０の構成を示す図である。
【図２】図２は、入力データの具体例を説明する図である。
【図３】図３は、複数の検証ルール１３１のうちのある１つの検証ルール１３１を説明する図である。
【図４】図４は、入力データに対応するアスペクト情報の具体例を説明する図である。
【図５】図５は、入力データに対応するアスペクト情報の具体例を説明する図である。
【図６】図６は、抽出条件として含まれる抽出属性の具体例を説明する図である。
【図７】図７は、抽出結果情報１３５の具体例を説明する図である。
【図８】図８は、各アスペクト情報によって抽出される検証対象データの件数の具体例を説明する図である。
【図９】図９は、情報処理装置１のハードウエア構成の一例を示す図である。
【図１０】図１０は、情報処理装置１の機能ブロック図である。
【図１１】図１１は、第１の実施の形態における抽出処理の概略を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態における抽出処理の概略を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態における抽出処理の概略を説明するフローチャート図である。
【図１４】図１４は、対応情報１３２の具体例を説明する図である。
【図１５】図１５は、特定候補情報１３３の具体例を説明する図である。
【図１６】図１６は、特定候補情報１３３の具体例を説明する図である。
【図１７】図１７は、共通検証ルール情報１３４の具体例を説明する図である。
【図１８】図１８は、抽出結果情報１３５の具体例を説明する図である。
【図１９】図１９は、第１の実施の形態における抽出処理の詳細を説明するフローチャート図である。
【図２０】図２０は、第１の実施の形態における抽出処理の詳細を説明するフローチャート図である。
【図２１】図２１は、第１の実施の形態における抽出処理の詳細を説明するフローチャート図である。
【図２２】図２２は、特定候補情報１３３の具体例を説明する図である。
【図２３】図２３は、特定候補情報１３３の具体例を説明する図である。
【図２４】図２４は、共通検証ルール情報１３４の具体例を説明する図である。
【図２５】図２５は、Ｓ２４の処理が行われた後の抽出結果情報１３５の具体例について説明する図である。
【図２６】図２６は、第２の実施の形態における抽出処理の詳細を説明するフローチャート図である。
【図２７】図２７は、第２の実施の形態における抽出処理の詳細を説明するフローチャート図である。
【図２８】図２８は、第２の実施の形態における抽出処理の詳細を説明するフローチャート図である。
【図２９】図２９は、Ｓ３１及びＳ３２の処理の詳細を説明するフローチャート図である。
【図３０】図３０は、Ｓ３１及びＳ３２の処理の詳細を説明するフローチャート図である。
【図３１】図３１は、データ群情報１３９の具体例を説明する図である。
【発明を実施するための形態】
【００１２】
［情報処理システムの構成］
図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０には、例えば、情報処理装置１（以下、抽出装置１とも呼ぶ）と、記憶部２とを有する。そして、図１に示す情報処理装置１は、複数の利用者端末１１に接続している。
【００１３】
利用者端末１１は、利用者が使用する端末である。利用者は、利用者端末１１を介して、内容の整合性等の確認を行う入力データを情報処理装置１に送信する。利用者が送信する入力データは、例えば、内容の正確性が要求される財務情報等を含むデータである。なお、利用者が送信するデータは、例えば、ＸＢＲＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｂｕｓｉｎｅｓｓ  Ｒｅｐｏｒｔｉｎｇ  Ｌａｎｇｕａｇｅ）の形式に従ったデータである。
【００１４】
情報処理装置１は、利用者端末１１から送信した入力データを受信した場合、記憶部２に記憶された複数の検証ルール１３１（以下、検証ルール情報１３１とも呼ぶ）を取得する（図１の（１）及び（２））。この検証ルール１３１は、利用者端末１１から送信された入力データの内容を検証するために予め定められたルールである。検証ルール１３１は、例えば、ＸＢＲＬデータの内容の検証や計算を行うためのルールを定義する記述言語であるＸＢＲＬフォーミュラによって記述されたルールである。
【００１５】
そして、情報処理装置１は、入力データの内容が、複数の検証ルール１３１のそれぞれに従っているか否かをそれぞれ検証する（図１の（３））。その後、情報処理装置１は、入力データに対する検証結果を、入力データを送信した利用者端末１１に送信する。
【００１６】
［検証対象データの抽出］
次に、入力データに対して行われる検証対象データの抽出について説明を行う。図１に示す情報処理装置１は、利用者端末１１から入力データを受信した場合、例えば、入力データから検証対象データの抽出を行う。これにより、情報処理装置１は、入力データの内容の検証に伴う処理量を抑制することが可能になる。以下、入力データの具体例について説明を行う。
【００１７】
［入力データの具体例］
図２は、入力データの具体例を説明する図である。図２に示す入力データは、情報処理装置１が利用者端末１１から受信した入力データの具体例である。図２に示す入力データは、入力データに含まれる各情報を識別する「項番」と、入力データに含まれる各データの種別を示す「科目」と、「科目」に設定された情報に対応して設定された値である「値」とを項目として有する。
【００１８】
具体的に、図２に示す入力データにおいて、「項番」が「１」である情報には、「科目」として「売上」が設定され、「値」として「１０００００００」が設定されている。また、図２に示す入力データにおいて、「項番」が「４」である情報には、「科目」として「売上原価」が設定され、「値」として「５００００００」が設定されている。図２に含まれる他の情報については説明を省略する。なお、以下、図２で説明した入力データに含まれる「項番」が「１」から「６」である情報を、それぞれデータ１、データ２、データ３、データ４、データ５及びデータ６とも呼ぶ。
【００１９】
そして、情報処理装置１は、例えば、入力データから検証対象データの抽出を行う場合、入力データから検証ルール１３１毎の抽出条件を満たすデータを、検証ルール１３１毎の検証対象データとして抽出する。そして、情報処理装置１は、検証ルール１３１毎に抽出された検証対象データに対して、各検証ルール１３１に含まれる検証式による内容の検証を行う。以下、検証ルール１３１の具体例について説明を行う。
【００２０】
［検証ルールの具体例］
図３は、複数の検証ルール１３１のうちのある１つの検証ルール１３１を説明する図である。図３に示す検証ルール１３１には、抽出条件（１）と、抽出条件（２）と、抽出条件（３）と、検証式とが含まれている。検証ルール１３１に含まれる検証式は、例えば、入力データにおいて設定された異常な値を検知するための式である。
【００２１】
具体的に、図３に示す検証ルール１３１に含まれる検証式は、入力データに含まれる内容のうち、アメリカでのハードウエアの売上が０ドル以上であるか否かを検証するための式である。これにより、情報処理装置１は、例えば、アメリカでのハードウエアの売上として０ドル以上の金額が設定されることが明らかである場合において、０ドル未満の金額が設定されている場合に、入力データに異常な値が設定されていることを検知することが可能になる。
【００２２】
ここで、図３に示す検証式において検証されるデータは、アメリカでのハードウエアの売上に関するデータのみである。すなわち、情報処理装置１は、図３に示す検証式によって、アメリカでのハードウエアの売上に関するデータ以外のデータについての検証を行う必要がない。そのため、情報処理装置１は、図３に示すように、検証式による検証を行う前に、検証ルール１３１に含まれる抽出条件によって、アメリカでのハードウエアの売上に関するデータのみを抽出して検証対象データとする。そして、情報処理装置１は、抽出した検証対象データについて、検証式による検証を行う。
【００２３】
具体的に、図３に示す例において、情報処理装置１は、利用者端末１１から入力データを受信した場合、抽出条件（１）の内容を参照し、各データに対応する属性のうちの「項目名」が「売上」であるデータを抽出する。そして、情報処理装置１は、抽出条件（２）の内容を参照し、抽出条件（１）によって抽出されたデータから、各データに対応する属性のうちの「製品カテゴリ」が「ハードウエア」であるデータを抽出する。さらに、情報処理装置１は、抽出条件（３）の内容を参照し、抽出条件（３）によって抽出されたデータから、各データに対応する属性のうちの「地域カテゴリ」が「アメリカ」であるデータを抽出する。
【００２４】
その後、情報処理装置１は、検証式によって、抽出条件（３）によって抽出されたデータのそれぞれにおいて、アメリカでのハードウエアの売上が０ドル以上であるか否かを検証する。そして、情報処理装置１は、例えば、検証結果を利用者端末１１に送信する。これにより、情報処理装置１は、検証式による入力データの内容の検証を効率的に行うことが可能になる。
【００２５】
なお、情報処理装置１は、例えば、検証式に複数の変数が含まれている場合、抽出条件（１）から（３）によって抽出されたデータに対し、検証式に含まれる変数毎の個別の抽出条件による更なる抽出を行うものであってもよい。
【００２６】
［検証対象データの抽出の詳細］
次に、検証対象データの抽出の詳細について説明を行う。情報処理装置１は、検証ルール１３１毎の検証対象ルールの抽出を行う場合、入力データそれぞれに対応する属性を示す情報であるアスペクト情報と、各検証ルール１３１において抽出条件として含まれる属性（以下、抽出属性とも呼ぶ）を示す情報である抽出アスペクト情報との比較を行う。
【００２７】
すなわち、事業者は、例えば、入力データから検証対象データの抽出を行う前に、入力データの内容に対する検証方法を予め決定する。そして、事業者は、予め定めた検証方法による入力データの内容の検証を行うために、抽出アスペクト情報を含む複数の検証ルール１３１を作成する。そして、情報処理装置１は、利用者端末１１から入力データを受信した場合に、入力データに含まれる各データに対応するアスペクト情報と、各検証ルール１３１に含まれる抽出アスペクト情報とを比較することにより、検証ルール１３１毎の検証対象データの抽出を行う。以下、入力データに含まれる各データに対応するアスペクト情報及び検証ルール１３１に含まれる抽出アスペクト情報の具体例について説明を行う。
【００２８】
なお、以下、アスペクト情報は、アスペクト情報の種別と、各種別に対応する値（各種別に対応する条件）とを含むものとして説明を行う。また、以下、抽出アスペクト情報は、抽出アスペクト情報の種別（以下、抽出種別とも呼ぶ）と、抽出種別に対応する値（以下、抽出値とも呼ぶ）とを含むものとして説明を行う。
【００２９】
［アスペクト情報の具体例］
図４及び図５は、入力データに含まれる各データ対応するアスペクト情報の具体例を説明する図である。図４（Ａ）から（Ｃ）及び図５（Ａ）から（Ｃ）に示す各アスペクト情報は、図２で説明したデータ１からデータ６にそれぞれ対応するアスペクト情報である。
【００３０】
図４（Ａ）に示すデータ１のアスペクト情報は、データ１のアスペクト情報に含まれる各情報を識別する「項番」と、データ１のアスペクト情報の種別が設定される「種別」と、「種別」に設定された情報に対応する値が設定される「値」とを項目として有する。
【００３１】
具体的に、図４（Ａ）に示すデータ１のアスペクト情報において、「項番」が「１」である情報には、「種別」として「項目名」が設定され、「値」として「売上」が設定されている。また、図４（Ａ）に示すデータ１のアスペクト情報において、「項番」が「２」である情報には、「種別」として「製品カテゴリ」が設定され、「値」として「ハードウエア」が設定されている。さらに、図４（Ａ）に示すデータ１のアスペクト情報において、「項番」が「３」である情報には、「種別」として「地域カテゴリ」が設定され、「値」として「アメリカ」が設定されている。
【００３２】
また、図４（Ｂ）、図４（Ｃ）及び図５（Ａ）から（Ｃ）に示す各アスペクト情報は、図４（Ａ）に示す各アスペクト情報と同じ項目を有している。図４（Ｂ）、図４（Ｃ）及び図５（Ａ）から（Ｃ）に示す各アスペクト情報については説明を省略する。
【００３３】
なお、図４及び図５において、「種別」として「項目名」、「製品カテゴリ」及び「地域カテゴリ」を有するアスペクト情報について説明を行ったが、各アスペクト情報は、例えば、「期間」や「単位」等、他の「種別」に対応する情報を有するものであってもよい。
【００３４】
［抽出アスペクト情報の具体例］
次に、抽出アスペクト情報の具体例について説明を行う。図６は、抽出アスペクト情報の具体例を説明する図である。以下、検証ルール１３１として、検証ルール１３１ａから１３１ｇが記憶部２に記憶されているものとして説明を行う。また、検証ルール１３１ａから１３１ｆには、抽出アスペクト情報１４１ａから１４１ｆがそれぞれ含まれるものとして説明を行う。さらに、検証ルール１３１ｇには、抽出アスペクト情報が含まれていない（検証式のみが含まれる）ものとして説明を行う。なお、抽出アスペクト情報１４１ａから１４１ｆを総称して抽出アスペクト１４１とも呼ぶ。
【００３５】
図６（Ａ）から（Ｆ）に示す抽出アスペクト情報１４１は、図４及び図５で説明したアスペクト情報と同一の項目を有している。具体的に、図６（Ａ）に示す抽出アスペクト情報１４１ａにおいて、「項番」が「１」である情報には、「種別」として「項目名」が設定され、「値」として「売上」が設定されている。また、図６（Ａ）に示す抽出アスペクト情報１４１ａにおいて、「項番」が「１」である情報には、「種別」として「製品カテゴリ」が設定され、「値」として「ソリューション」が設定されている。すなわち、図６（Ａ）に示す抽出アスペクト情報１４１ａは、「項目名」が「売上」であり、「製品カテゴリ」が「ソリューション」であるアスペクト情報に対応するデータを抽出するための抽出アスペクト情報１４１である。
【００３６】
また、図６（Ｂ）に示す抽出アスペクト情報１４１ｂにおいて、「項番」が「１」である情報には、「種別」として「項目名」が設定され、「値」として「売上」が設定されている。また、図６（Ｂ）に示す抽出アスペクト情報１４１ｂにおいて、「項番」が「２」である情報には、「種別」として「製品カテゴリ」が設定され、「値」として「ハードウエア」が設定されている。そして、図６（Ｂ）に示す抽出アスペクト情報１４１ｂにおいて、「項番」が「３」である情報には、「種別」として「地域カテゴリ」が設定され、「値」として「アメリカ」が設定されている。すなわち、図５（Ｂ）に示す抽出アスペクト情報１４１ｂは、「項目名」が「売上」であり、「製品カテゴリ」が「ハードウエア」であり、「地域カテゴリ」が「アメリカ」であるアスペクト情報に対応するデータを抽出するための抽出アスペクト情報１４１である。
【００３７】
さらに、図６（Ｆ）に示す抽出アスペクト情報１４１ｆにおいて、「項番」が「１」である情報には、「種別」として「地域カテゴリ」が設定され、「値」として「アメリカ」以外の全ての値を示す「Ｎｏｔ  アメリカ」が設定されている。すなわち、図６（Ｆ）に示す抽出アスペクト情報１４１ｆは、「地域カテゴリ」に「アメリカ」以外の値が設定されたアスペクト情報に対応するデータを抽出するための抽出アスペクト情報１４１である。
【００３８】
［抽出結果情報の具体例］
次に、抽出アスペクト情報１４１による検証対象データの抽出結果（以下、抽出結果情報１３５とも呼ぶ）の具体例について説明を行う。図７は、抽出結果情報１３５の具体例を説明する図である。
【００３９】
図７に示す抽出結果情報１３５は、抽出結果情報１３５に含まれる各情報を識別する「項番」と、検証ルール１３１を識別する情報が設定される「検証ルール」と、入力データに含まれる各データを示す情報が設定される「入力データ」とを項目として有している。
【００４０】
具体的に、図４（Ａ）から（Ｃ）及び図５（Ａ）から（Ｃ）に示すアスペクト情報における「種別」が「項目名」である情報の「値」には、ぞれぞれ「売上」、「売上」、「売上」、「売上原価」、「売上原価」及び「売上原価」が設定されている。また、図４（Ａ）から（Ｃ）及び図５（Ａ）から（Ｃ）に示すアスペクト情報における「種別」が「製品カテゴリ」である情報の「値」には、ぞれぞれ「ハードウエア」、「ソフトウエア」、「ソリューション」、「ハードウエア」、「ソフトウエア」及び「ソリューション」が設定されている。そして、図６（Ａ）で説明した抽出アスペクト情報１４１ａには、「種別」として「項目名」が設定され、「値」として「売上」が設定されている抽出属性が含まれている。また、図６（Ａ）で説明した抽出アスペクト情報１４１ａには、「種別」として「製品カテゴリ」が設定され、「値」として「ソリューション」が設定されている抽出属性が含まれている。
【００４１】
そのため、図６（Ａ）で説明した抽出アスペクト情報１４１ａは、図４（Ｃ）に示すアスペクト情報のみと合致する。したがって、情報処理装置１は、図７に示すように、「項番」が「１」である情報の「検証ルール」に、図６（Ａ）で説明した抽出アスペクト情報１４１ａを含む検証ルール１３１ａを示す「１３１ａ」を設定する。そして、情報処理装置１は、「項番」が「１」である情報の「入力データ」に、図４（Ｃ）で説明したアスペクト情報に対応するデータを示す「データ３」等を設定する。
【００４２】
なお、検証ルール１３１ｇには、抽出アスペクト情報１４１が含まれていない。そのため、図２で説明した入力データに対して、検証ルール１３１ｇによるデータの抽出が行われた場合、入力データに含まれる全てのデータが抽出される。したがって、情報処理装置１は、図７に示すように、「検証ルール」が「１３１ｇ」である情報の「入力データ」に、入力データに含まれる全てのデータを示す「全データ」を設定する。図７に含まれる他の情報については説明を省略する。
【００４３】
ここで、利用者から受信した入力データのデータ量が膨大である場合、検証対象データを抽出する際の情報処理装置１の処理負担が大きくなる。そのため、情報処理装置１は、例えば、各検証ルール１３１に対応する抽出属性が複数存在する場合、より少ないデータを抽出することができる抽出属性（以下、高効率な抽出属性とも呼ぶ）を、他の抽出属性よりも先に用いて検証対象データの抽出を行う。これにより、情報処理システムは、検証対象データを抽出する際の処理負担を抑制することが可能になる。以下、高効率な抽出属性について説明を行う。
【００４４】
［高効率な抽出属性］
図８は、各アスペクト情報によって抽出される検証対象データの件数の具体例を説明する図である。図８に示す情報は、図６で説明した抽出アスペクト情報１４１と同じ項目を有している。また、図８に示す情報は、抽出アスペクト情報に含まれる各抽出属性によって入力データから抽出されるデータの件数が設定される「件数」を項目として有する。なお、図８に示す例では、入力データに１００００件のデータが含まれているものとして説明を行う。
【００４５】
具体的に、図８に示す情報において、「種別」が「項目名」であって「値」が「売上」である情報（「項番」が「１」である情報）の「件数」には、「６０００（件）」が設定されている。すなわち、図８に示す情報における「項番」が「１」である情報は、「種別」が「項目名」であって「値」が「売上」である抽出属性によって入力データの抽出を行った場合、６０００（件）のデータが抽出されることを示している。
【００４６】
そのため、図６（Ｂ）で説明した抽出アスペクト情報１４１ｂによってデータの抽出を行う場合において、「種別」が「項目名」であって「値」が「売上」である抽出属性によるデータの抽出を最初に行った場合、情報処理装置１は、例えば、６０００（件）のデータを抽出する。そのため、この場合、他の抽出属性によるデータの抽出は、６０００（件）のデータに対して行われる。
【００４７】
これに対し、図６（Ｂ）で説明した抽出アスペクト情報１４１ｂによってデータの抽出を行う場合において、「種別」が「地域カテゴリ」であって「値」が「アメリカ」である抽出属性によるデータの抽出を最初に行った場合、情報処理装置１は、例えば、２０００（件）のデータを抽出する。そのため、この場合、他の抽出属性によるデータ抽出は、２０００（件）のデータに対して行われる。
【００４８】
すなわち、情報処理装置１は、入力データに対して検証ルール１３１によるデータの抽出を行う場合、高効率な抽出属性による抽出を先に行うことにより、入力データから検証対象データを抽出する際の処理負担を抑制することが可能になる。図８に含まれる他の情報については説明を省略する。
【００４９】
しかしながら、各検証ルール１３１において高効率な抽出属性が存在しない場合、情報処理装置１は、検証対象データを抽出する際の処理負担を抑制することができない。そのため、情報処理装置１は、この場合、入力データの内容の検証に伴う処理負担を抑制することができない。
【００５０】
そこで、本実施の形態における情報処理装置１は、検証ルール１３１に含まれる抽出属性のうち、入力データ（以下、複数のデータとも呼ぶ）に含まれる各データの属性それぞれと一致する抽出属性と、各抽出属性を含む検証ルール情報１３１とを対応付けた対応情報を参照し、入力データ毎であって属性毎に、各データの属性それぞれが各抽出属性と一致するか否かを判定する。そして、情報処理装置１は、入力データ毎に、各データの属性それぞれと一致すると判定された各抽出属性を含む検証ルール情報（以下、共通検証ルール情報とも呼ぶ）を特定する。その後、情報処理装置１は、検証ルール情報１３１毎に、各検証ルール情報１３１が共通検証ルール情報として特定されたデータを抽出する。
【００５１】
すなわち、情報処理装置１は、予め対応情報を作成することにより、入力データに対応するアスペクト情報と検証ルール１３１に含まれる抽出アスペクト情報１４１とを直接比較することなく、各検証ルール情報１３１に対応するデータの抽出を行うことが可能になる。そのため、情報処理装置１は、入力データの件数に応じた安定的な処理量によってデータの抽出を行うことが可能になる。
【００５２】
これにより、情報処理装置１は、高効率な抽出属性が存在しない検証ルール情報１３１が存在する場合であっても、入力データからのデータの抽出を効率的に行うことが可能になる。
【００５３】
［情報処理装置のハードウエア構成］
次に、情報処理装置１のハードウエア構成について説明する。図９は、情報処理装置１のハードウエア構成の一例を示す図である。
【００５４】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００５５】
記憶媒体１０４は、例えば、記憶媒体１０４内のプログラム格納領域（図示しない）に、入力データから検証対象データを抽出する処理（以下、抽出処理とも呼ぶ）を行うためのプログラム１１０を記憶する。また、記憶媒体１０４は、例えば、抽出処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。なお、情報格納領域１３０は、図１等で説明した記憶部２に対応する。
【００５６】
ＣＰＵ１０１は、図９に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働して抽出処理を行う。また、外部インターフェース１０３は、例えば、イントラネットやインターネット等からなるネットワークＮＷを介して利用者端末１１と通信を行う。
【００５７】
［情報処理装置の機能］
次に、情報処理装置１の機能について説明する。図１０は、情報処理装置１の機能ブロック図である。
【００５８】
情報処理装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、情報送受信部１１１と、対応情報作成部１１２（以下、単に作成部１１２とも呼ぶ）と、情報特定部１１３（以下、単に特定部１１３とも呼ぶ）として動作する。また、情報処理装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、データ抽出部１１４（以下、単に抽出部１１４とも呼ぶ）と、処理量算出部１１５と、データ検証部１１６として動作する。さらに、情報格納領域１３０には、検証ルール情報１３１と、対応情報１３２と、特定候補情報１３３と、共通検証ルール情報１３４と、抽出結果情報１３５と、再利用情報１３６と、前提情報１３７と、処理量情報１３８と、データ群情報１３９とが記憶されている。
【００５９】
情報送受信部１１１は、利用者が利用者端末１１を介して送信した入力データを受信する。また、情報送受信部１１１は、データ検証部１１６が検証対象データに対して行った検証結果を利用者端末１１に送信する。
【００６０】
対応情報作成部１１２は、例えば、利用者端末１１から入力データを受信する前に、対応情報１３２を作成する。対応情報１３２は、入力データに含まれる各データの属性それぞれと一致する抽出属性と、各抽出属性含む検証ルール情報１３１とを対応付けた情報である。具体的に、対応情報１３２は、入力データに含まれると想定される各データの属性それぞれの値の状態と、各値の状態を許容する抽出属性（抽出アスペクト情報に含まれる個々の条件）を含む検証ルール情報１３１とを対応づけた情報である。そして、対応情報作成部１１２は、例えば、作成した対応情報１３２を情報格納領域１３０に記憶する。
【００６１】
情報特定部１１３は、入力データからデータの抽出を行う際に、対応情報１３２を参照し、各データの属性それぞれと一致する抽出属性を含む検証ルール情報１３１を、入力データ毎であって属性毎に特定する。そして、情報特定部１１３は、特定した検証ルールのうち共通する共通検証ルール情報１３４を、入力データ毎に特定する。さらに、情報特定部１１３は、例えば、特定した共通検証ルール情報１３４として情報格納領域１３０に記憶する。
【００６２】
データ抽出部１１４は、入力データから検証ルール情報１３１に含まれる抽出属性によるデータの抽出を行う。具体的に、データ抽出部１１４は、情報格納領域１３０に記憶された共通検証ルール情報１３４を参照し、検証ルール情報１３１毎に、各検証ルール情報１３１が共通検証ルール情報１３４として特定されたデータを抽出する。そして、データ抽出部１１４は、例えば、入力データから抽出された検証対象データを示す情報を、抽出結果情報１３５として情報格納領域１３０に記憶する。
【００６３】
処理量算出部１１５は、情報格納領域１３０に記憶された対応情報１３２に、他の検証ルール情報１３１に含まれる抽出属性の全てを含む検証ルール情報１３１の情報が存在するか否かを判定する。そして、処理量算出部１１５は、存在すると判定した検証ルール情報１３１に含まれる抽出属性のうち、他の検証ルール情報１３１に含まれない抽出属性によって、入力データが抽出されるか否かを判定するために要する処理量（以下、処理量情報１３８とも呼ぶ）を算出する。処理量算出部１１５による処理の詳細については後述する。
【００６４】
データ検証部１１６は、入力データから抽出した検証対象データに対して、例えば、各検証ルール情報１３１に含まれる検証式による検証を行う。そして、データ検証部１１６は、検証式による検証結果を作成する。なお、データ検証部１１６は、作成した検証結果を情報格納領域１３０に記憶するものであってもよい。特定候補情報１３３、再利用情報１３６、前提情報１３７及びデータ群情報１３９については後述する。
【００６５】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図１１から図１３は、第１の実施の形態における抽出処理の概略を説明するフローチャート図である。また、図１４から図１６は、第１の実施の形態における抽出処理の概略を説明する図である。図１４から図１６を参照しながら図１１から図１３の抽出処理の概略について説明する。
【００６６】
情報処理装置１は、図１１に示すように、対応情報作成タイミングまで待機する（Ｓ１のＮＯ）。対応情報作成タイミングは、例えば、事業者が対応情報１３２を作成する旨の入力を情報処理装置１に行ったタイミングであってよい。
【００６７】
そして、対応情報作成タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、入力データに含まれる各データの属性それぞれと一致する抽出属性と、抽出属性を含む検証ルール情報１３１とを対応付けた対応情報１３２を作成する（Ｓ２）。具体的に、対応情報１３２は、入力データに含まれると想定される各データの属性それぞれの値の状態と、各値の状態を許容する抽出属性を含む検証ルール情報１３１とを対応づけた情報である。
【００６８】
以下、Ｓ２の処理の詳細について説明を行う。
【００６９】
［Ｓ２の処理の詳細］
図１３は、対応情報１３２を作成する処理（以下、対応情報作成処理とも呼ぶ）について説明するフローチャート図である。
【００７０】
情報処理装置１は、図１３に示すように、情報格納領域１３０に記憶された各検証ルール情報１３１に含まれる抽出属性を全て取得する（Ｓ１０１）。具体的に、情報処理装置１は、例えば、図６で説明した抽出アスペクト情報１４１ａから１４１ｆにおける「種別」に設定された情報と「値」に設定された情報とを対応付けて取得する。そして、情報処理装置１は、Ｓ１０１の処理で特定した抽出属性それぞれを示す情報と、各抽出属性が含まれる検証ルール情報１３１を示す情報とを対応付けた対応情報１３２を情報格納領域１３０に記憶する（Ｓ１０２）。具体的に、対応情報１３２は、入力データに含まれると想定される各データの属性それぞれの値の状態と、各値の状態を許容する抽出属性（抽出アスペクト情報に含まれる個々の条件）を含む検証ルール情報１３１とを対応づけた情報である。以下、対応情報作成処理によって作成された対応情報１３２の具体例について説明を行う。
【００７１】
［対応情報の具体例］
図１４は、対応情報１３２の具体例を説明する図である。図１４に示す対応情報１３２は、対応情報１３２に含まれる各情報を識別する「項番」と、抽出アスペクト情報１４１の抽出種別が設定される「種別」と、全抽出属性から抽出した値のバリエーションが設定される「値」と、検証ルールが設定される「検証ルール」とを項目として有する。以下、図２で説明した入力データに対して、図６で説明した抽出アスペクト情報１４１ａから１４１ｆをそれぞれ含む検証ルール情報１３１ａから１３１ｆと、抽出アスペクト情報１４１を含まない検証ルール情報１３１ｇとによってデータの抽出が行われる場合について説明を行う。
【００７２】
なお、図６で説明した抽出アスペクト情報１４１における「種別」が「項目名」である情報の「値」には、「売上」以外について言及する抽出属性は存在しない。しかし、実際の入力データには「売上」以外の値が存在することが考えられる。そのため、以下、抽出アスペクト情報１４１で明示的に言及されない値をまとめて扱うための「上記以外の値」という特別な値を導入する。また、以下、アスペクト情報の種別によっては当該のアスペクト情報がそもそも存在しない場合もあるため、「値なし」という特別な値も導入する。
【００７３】
具体的に、図６で説明した抽出アスペクト情報１４１のうち、抽出アスペクト情報１４１ａ、１４１ｂ、１４１ｃ及び１４１ｅには、「種別」が「項目名」であって「値」が「売上」である情報が設定されている。そして、抽出アスペクト情報１４１ａ、１４１ｂ、１４１ｃ及び１４１ｅは、検証ルール情報１３１ａ、１３１ｂ、１３１ｃ及び１３１ｅにそれぞれ含まれる。そのため、情報処理装置１は、図１４に示すように、「種別」が「項目名」であって「値」が「売上」である情報の「検証ルール」に、検証ルール情報１３１ａ、１３１ｂ、１３１ｃ及び１３１ｅをそれぞれ示す「１３１ａ」、「１３１ｂ」、「１３１ｃ」及び「１３１ｅ」を設定する。
【００７４】
また、図６で説明した抽出アスペクト情報１４１において、抽出アスペクト情報１４１ａ、１４１ｂ、１４１ｃ及び１４１ｅには、「種別」が「項目名」である情報の「値」に「売上」以外の情報が設定されていない。そのため、情報処理装置１は、図１４に示すように、「上記以外の値」の定義から、「種別」が「項目名」であって「値」が「上記以外の値」である情報の「検証ルール」に、検証ルール情報１３１ａ、１３１ｂ、１３１ｃ及び１３１ｅをそれぞれ示す「１３１ａ」、「１３１ｂ」、「１３１ｃ」及び「１３１ｅ」を設定しない。さらに、図６に示す抽出アスペクト情報１４１において、検証ルール情報１３１ａ、１３１ｂ、１３１ｃ及び１３１ｅには、「種別」が「項目名」であって「値」が「売上」である情報が設定されている。そのため、情報処理装置１は、図１４に示すように、「値なし」の定義から、「種別」が「項目名」であって「値」が「値なし」である情報の「検証ルール」に、検証ルール情報１３１ａ、１３１ｂ、１３１ｃ及び１３１ｅをそれぞれ示す「１３１ａ」、「１３１ｂ」、「１３１ｃ」及び「１３１ｅ」を設定しない。
【００７５】
一方、図６で説明した抽出アスペクト情報１４１において、抽出アスペクト情報１４１ｄ、１４１ｆには、「種別」が「項目名」である情報が存在しない。また、検証ルール情報１３１ｇには、抽出アスペクト情報１４１が含まれていない。すなわち、情報処理装置１は、検証ルール情報１３１ｄ、１３１ｆまたは１３１ｇによって入力データからデータの抽出を行う場合、「項目名」に設定された情報の内容に依らずにデータの抽出を行う。そのため、情報処理装置１は、図１４に示すように、「種別」が「項目名」である各情報（「項番」が「１」から「３」である情報）の「検証ルール」に、検証ルール情報１３１ｄ、１３１ｆ及び１３１ｇをそれぞれ示す「１３１ｄ」、「１３１ｆ」及び「１３１ｇ」を設定する。図１４に示す他の情報については説明を省略する。
【００７６】
図１２に戻り、情報処理装置１は、データ抽出タイミングまで待機する（Ｓ３のＮＯ）。データ抽出タイミングは、例えば、情報処理装置１が利用者端末１１から入力データを受信したタイミングであってよい。そして、データ抽出タイミングになった場合（Ｓ３のＹＥＳ）、情報処理装置１は、入力データからデータの抽出を行う際に、対応情報１３２を参照し、各データの属性それぞれと一致する抽出属性を含む検証ルール情報１３１（各データの属性それぞれを満たす抽出属性を含む検証ルール情報１３１）を、入力データ毎であって属性毎に特定する（Ｓ４）。具体的に、情報処理装置１は、各データの属性それぞれが各抽出属性と一致するか否か示す特定候補情報１３３を作成し、情報格納領域１３０に記憶する。以下、特定候補情報１３３の具体例について説明を行う。
【００７７】
［特定候補情報の具体例］
図１５、図１６、図２２及び図２３は、特定候補情報１３３の具体例を説明する図である。図１５（Ａ）から（Ｃ）及び図１６（Ａ）から（Ｃ）に示す特定候補情報１３３ａから１３３ｆは、図２で説明した入力データに含まれるデータ１からデータ６のそれぞれに対応する情報である。また、図２２（Ａ）から（Ｃ）及び図２３（Ａ）から（Ｃ）に示す特定候補情報１３３ａから１３３ｆは、図１５（Ａ）から（Ｃ）及び図１６（Ａ）から（Ｃ）に示す特定候補情報１３３ａから１３３ｆそれぞれの作成途中の状態を示す情報である。なお、図２２及び図２３の説明については後述する。
【００７８】
図１５（Ａ）に示す特定候補情報１３３ａは、図４及び図５で説明した入力データに含まれる各データに対応するアスペクト情報と同じ項目を有している。また、図１５（Ａ）に示す特定候補情報１３３ａは、共通検証ルール情報１３４の候補となる検証ルール情報１３１が設定される「候補」を項目として有している。
【００７９】
具体的に、情報処理装置１は、Ｓ４の処理において、図１５（Ａ）に示す特定候補情報１３３ａの「種別」及び「値」に、図４（Ａ）で説明したアスペクト情報の「種別」及び「値」に設定された情報と同じ情報を設定する。すなわち、情報処理装置１は、「項番」が「１」である情報に、「種別」として「項目名」を設定し、「値」として「売上」を設定する。また、情報処理装置１は、「項番」が「２」である情報に、「種別」として「製品カテゴリ」を設定し、「値」として「ハードウエア」を設定する。さらに、情報処理装置１は、「項番」が「３」である情報に、「種別」として「地域カテゴリ」を設定し、「値」として「アメリカ」を設定する。
【００８０】
その後、情報処理装置１は、図１４で説明した対応情報１３２において、図１５（Ａ）に示す特定候補情報１３３ａにおける「種別」及び「値」に設定された情報と同じ情報の「検証ルール」に設定された情報を特定する。そして、情報処理装置１は、図１５（Ａ）に示す特定候補情報１３３ａにおける「候補」に、特定した情報を設定する。
【００８１】
すなわち、図１５（Ａ）に示す特定候補情報１３３ａにおいて、「項番」が「１」である情報の「種別」及び「値」には、「項目名」及び「売上」が設定されている。そのため、情報処理装置１は、図１４で説明した対応情報１３２において、「種別」及び「値」が設定された情報（「項番」が「１」である情報）の「検証ルール」に設定された情報である「１３１ａ」から「１３１ｇ」を特定する。そして、情報処理装置１は、図１５（Ａ）に示すように、特定した情報である「１３１ａ」から「１３１ｇ」を、「項番」が「１」である情報の「候補」に設定する。図１５（Ａ）に含まれる他の情報については説明を省略する。
【００８２】
また、図１５（Ｂ）、図１５（Ｃ）及び図１６（Ａ）から（Ｃ）に示す特定候補情報１３３ｂから１３１ｆは、図１５（Ａ）に示す特定候補情報１３３ａと同じ項目を有している。図１５（Ｂ）、図１５（Ｃ）及び図１６（Ａ）から（Ｃ）に示す特定候補情報１３３ａに含まれる各情報については説明を省略する。
【００８３】
図１２に戻り、情報処理装置１は、Ｓ４の処理で特定した検証ルール情報１３１のうち、共通する検証ルール情報１３１である共通検証ルール情報１３４を、入力データ毎に特定する（Ｓ５）。そして、情報処理装置１は、例えば、特定した共通検証ルール情報１３４を情報格納領域１３０に記憶する。以下、共通検証ルール情報１３４の具体例について説明を行う。
【００８４】
［共通検証ルール情報の具体例］
図１７及び図２４は、共通検証ルール情報１３４の具体例を説明する図である。図１７に示す共通検証ルール情報１３４は、共通検証ルール情報１３４に含まれる各情報を識別する「項番」と、入力データに含まれる各データを示す「入力データ」と、共通検証ルール情報１３４が設定される「共通検証ルール」とを項目として有する。また、図２４に示す共通検証ルール情報１３４は、図１７に示す共通検証ルール情報１３４の作成途中の状態を示す情報である。なお、図２４の説明については後述する。
【００８５】
具体的に、図１５（Ａ）に示す特定候補情報１３３ａにおいて、「項番」が「１」から「３」である情報の「候補」にそれぞれ設定された情報のうち、共通する情報は、１３１ｂ、１３１ｄ及び１３１ｇである。そのため、情報処理装置１は、図１７に示すように、「入力データ」が「データ１」である情報（「項番」が「１」である情報）の「共通検証ルール」に、「１３１ｂ」、「１３１ｄ」及び「１３１ｇ」を設定する。
【００８６】
すなわち、図４（Ａ）で説明したアスペクト情報は、図６で説明した抽出アスペクト情報１４１ｂ、１４１ｄ及び１４１ｇにそれぞれ合致する情報である。そして、抽出アスペクト情報１４１ｂ、１４１ｄ及び１４１ｇは、検証ルール情報１３１ｂ、１３１ｄ及び１３１ｇに含まれる情報である。そのため、図１７に示す共通検証ルール情報１３４における「項番」が「１」である情報は、図２で説明したデータ１が、図６で説明した検証ルール情報１３１ｂ、１３１ｄ及び１３１ｇによって抽出されることを示している。図１７に含まれる他の情報については説明を省略する。
【００８７】
図１２に戻り、情報処理装置１は、検証ルール情報１３１毎に、各検証ルール情報１３１が共通検証ルール情報１３４として特定されたデータを抽出する（Ｓ６）。すなわち、情報処理装置１は、各検証ルール情報１３１が共通検証ルール情報１３４として特定されたデータを示す抽出結果情報１３５を作成する。そして、情報処理装置１は、例えば、作成した抽出結果情報１３５を情報格納領域１３０に記憶する。以下、抽出結果情報１３５の具体例について説明を行う。
【００８８】
［抽出結果情報の具体例］
図１８及び図２５は、抽出結果情報１３５の具体例を説明する図である。図１８に示す抽出結果情報１３５は、抽出結果情報１３５に含まれる各情報を識別する「項番」と、検証ルール情報１３１を設定する「検証ルール」と、入力データに含まれる各データを識別する「入力データ」とを項目として有する。また、図２５に示す抽出結果情報１３５は、図１８に示す抽出結果情報１３５の作成途中の状態を示す情報である。なお、図２５の説明については後述する。
【００８９】
具体的に、図１７で説明した共通検証ルール情報１３４において、「共通検証ルール」として「１３１ａ」が設定されている情報の「入力データ」に設定された情報は、「項番」が「３」に設定された情報のみである。そのため、情報処理装置１は、図１８に示すように、「検証ルール」が「１３１ａ」である情報（「項番」が「１」である情報）の「入力データ」に「データ３」等を設定する。すなわち、情報処理装置１は、図２で説明した入力データのうち検証ルール情報１３１ａによって抽出されるデータがデータ３であると特定する。図１８に含まれる他の情報については説明を省略する。
【００９０】
このように、本実施の形態における情報処理装置１は、入力データに含まれる各データの属性それぞれと一致する抽出属性と、各抽出属性を含む検証ルール情報１３１とを対応付けた対応情報１３２を作成する。そして、情報処理装置１は、入力データからデータの抽出を行う際に、対応情報１３２を参照し、入力データ毎であって属性毎に、各データの属性それぞれが各抽出属性と一致するか否かを判定する。さらに、情報処理装置１は、入力データ毎に、各データの属性それぞれと一致すると判定された各抽出属性を含む共通検証ルール情報１３４を特定する。その後、情報処理装置１は、検証ルール情報１３１毎に、各検証ルール情報１３１が共通検証ルール情報１３４として特定されたデータを抽出する。
【００９１】
すなわち、情報処理装置１は、予め対応情報１３２を作成することにより、入力データに対応するアスペクト情報と検証ルール１３１に含まれる抽出アスペクト情報１４１とを直接比較することなく、各検証ルール情報１３１に対応するデータの抽出を行うことが可能になる。そのため、情報処理装置１は、入力データのデータ件数に応じた安定的な処理量によってデータの抽出を行うことが可能になる。
【００９２】
これにより、情報処理装置１は、高効率な抽出属性が存在しない検証ルール情報１３１が存在する場合であっても、入力データからのデータの抽出を効率的に行うことが可能になる。
【００９３】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図１９から図２１は、第１の実施の形態における抽出処理の詳細を説明するフローチャート図である。また、図２２から図２５は、第１の実施の形態における抽出処理の詳細を説明する図である。図２２から図２５を参照しながら、図１９から図２１の抽出処理の詳細を説明する。なお、以下、入力データの件数が１００００件であるものとして説明を行う。また、図６で説明した抽出アスペクト情報１４１を含む検証ルール情報１３１及び図１４で説明した対応情報１３２が、情報格納領域１３０に予め記憶されているものとして説明を行う。
【００９４】
情報処理装置１の情報特定部１１３は、情報格納領域１３０から検証ルール情報１３１を１つ取得し、取得した検証ルール情報１３１の抽出アスペクト情報１４１に含まれる抽出属性の情報を取得する（Ｓ１１）。その後、情報特定部１１３は、Ｓ１１の処理において抽出属性の取得に成功したか否かを判定する（Ｓ１２）。
【００９５】
そして、Ｓ１１の処理において抽出属性の取得に成功した場合（Ｓ１２のＹＥＳ）、情報特定部１１３は、対応情報１３２を参照し、Ｓ１１の処理で取得した検証ルール情報１３１が、全ての抽出属性を含む他の検証ルール情報１３１が存在するか否かを判定する（Ｓ１４）。
【００９６】
その結果、抽出属性の全てを含む他の検証ルール情報１３１が存在すると判定した場合（Ｓ１４のＹＥＳ）、情報処理装置１の処理量算出部１１５は、データの抽出に伴う処理量情報１３８を算出する（Ｓ１５）。この場合、処理量算出部１１５は、例えば、入力データのうちの他の検証ルール情報１３１に含まれる抽出属性によって抽出されることが予測されるデータの件数を特定する。そして、処理量算出部１１５は、例えば、特定したデータに対して、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうちの他の検証ルール情報１３１に含まれない抽出属性によってデータの抽出を行うために要する処理量情報１３８を算出する。
【００９７】
すなわち、Ｓ１１の処理で取得した検証ルール情報１３１に、他の検証ルール情報１３１に含まれる抽出属性の全てが含まれる場合において、他の検証ルール情報１３１の抽出アスペクト情報１４１による入力データに対するデータの抽出が既に行われている場合がある。そして、情報処理装置１のデータ抽出部１１４は、図１１等で説明した対応情報１３２を参照して行うデータの抽出よりも、他の検証ルール情報１３１によるデータの抽出結果を再利用してデータの抽出を行った方が、データの抽出に伴う処理量が少ない場合がある。そのため、処理量算出部１１５は、Ｓ１５の処理において、他の検証ルール情報１３１によるデータの抽出結果を再利用してデータの抽出を行う場合の処理量情報１３８を算出する。これにより、情報特定部１１３は、後述するように、図１１等で説明した対応情報１３２を参照してデータの抽出を行うか否か（他の検証ルール情報１３１の抽出アスペクト情報１４１によるデータの抽出結果を再利用してデータの抽出を行うか否か）について判定を行うことが可能になる。
【００９８】
具体的に、処理量算出部１１５は、例えば、Ｓ１５の処理において、入力データのうちの他の検証ルール情報１３１に含まれる抽出属性によって抽出されることが予測されるデータの件数を特定する。また、処理量算出部１１５は、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる抽出属性であって、他の検証ルール情報１３１に含まれない抽出属性のうち、抽出するデータの割合が最も小さい抽出属性によって抽出されることが予測されるデータの件数を特定する。
【００９９】
そして、処理量算出部１１５は、特定したデータの件数のうちの小さい方のデータの件数に、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、他の検証ルール情報１３１に含まれない抽出属性の数から１を減算した値を乗算する。さらに、処理量算出部１１５は、乗算して取得した値に、他の検証ルール情報１３１に含まれる抽出属性によって抽出されるデータの件数を加算したデータの値を、処理量情報１３８として算出する。
【０１００】
すなわち、処理量算出部１１５は、入力データのうちの他の検証ルール情報１３１に含まれる抽出属性によって抽出が予想されるデータの件数を特定する。そして、処理量算出部１１５は、特定したデータそれぞれについて、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、他の検証ルール情報１３１に含まれない抽出属性それぞれによって抽出されるデータであるか否を判定する回数の上限を算出する。Ｓ１５の処理の具体例については後述する。
【０１０１】
なお、Ｓ１４の処理において、他の検証ルール情報１３１が複数存在する場合、情報特定部１１３は、抽出されるデータ件数が最も小さくなると予想される他の検証ルール情報１３１を選択するものであってよい。
【０１０２】
その後、情報特定部１１３は、図２０に示すように、Ｓ１５の処理で算出した処理量情報１３８が所定の閾値以下であるか否かを判定する（Ｓ２１）。所定の閾値は、例えば、入力データの件数である。また、所定の閾値は、例えば、入力データの件数と所定の係数とを乗算して算出された値であってもよい。
【０１０３】
そして、Ｓ１５の処理で算出した処理量情報１３８が所定の閾値以下であると判定した場合（Ｓ２１のＹＥＳ）、情報特定部１１３は、入力データから抽出を行う検証ルール情報１３１の抽出アスペクト情報１４１を、Ｓ１４の処理で存在すると判定した他の検証ルール情報１３１の抽出アスペクト情報１４１に決定する（Ｓ２２）。すなわち、情報特定部１１３は、この場合、他の検証ルール情報１３１の抽出アスペクト情報１４１によるデータの抽出結果を再利用してデータの抽出を行うことを決定する。
【０１０４】
一方、Ｓ１４の処理において、抽出属性の全てを含む他の検証ルール情報１３１が存在しないと判定した場合（Ｓ１４のＮＯ）、処理量算出部１１５は、Ｓ１１の処理で取得した検証ルール情報１３１の抽出アスペクト情報１４１によってデータを抽出するために要する処理量情報１３８を算出する（Ｓ１６）。
【０１０５】
すなわち、Ｓ１１の処理で取得した検証ルール情報１３１に、他の検証ルール情報１３１に含まれる抽出属性の全てが含まれていない場合であっても、図１１等で説明した対応情報１３２を参照せずにデータの抽出を行った方が有利な場合がある。具体的に、図１１等で説明した対応情報１３２を参照してデータの抽出を行うよりも、Ｓ１１の処理で抽出した検証ルール情報１３１に含まれる抽出属性によって順にデータの抽出を行った方が、データの抽出に伴う処理量を抑えることができる場合がこれに該当する。そのため、処理量算出部１１５は、Ｓ１５の処理において、Ｓ１１の処理で抽出した検証ルール情報１３１に含まれる各抽出属性によってデータの抽出を順に行う場合の処理量を算出する。これにより、情報特定部１１３は、後述するように、図１１等で説明した対応情報１３２を参照してデータの抽出を行うか否か（Ｓ１１の処理で抽出した検証ルール情報１３１に含まれる各抽出属性によってデータの抽出を順に行うか否か）についての判定を行うことが可能になる。
【０１０６】
そして、情報特定部１１３は、図２０に示すように、Ｓ１６の処理で算出した処理量情報１３８が所定の閾値以下であるか否かを判定する（Ｓ２３）。その結果、Ｓ１６の処理で算出した処理量情報１３８が所定の閾値以下であると判定した場合（Ｓ２３のＹＥＳ）、情報特定部１１３は、入力データから抽出を行う検証ルール情報１３１の抽出アスペクト情報１４１を、Ｓ１１の処理で取得した検証ルール情報１３１の抽出アスペクト情報１４１に決定する（Ｓ２４）。すなわち、情報特定部１１３は、この場合、Ｓ１１の処理で抽出した検証ルール情報１３１に含まれる抽出属性によってデータの抽出を順に行うことを決定する。
【０１０７】
その後、Ｓ２２の処理またはＳ２４の処理の後、データ抽出部１１４は、Ｓ２２の処理またはＳ２４の処理で決定した検証ルール情報１３１の抽出アスペクト情報１４１によって既に抽出されたデータ（抽出結果）が存在するか否かを判定する（Ｓ２５）。その結果、既に抽出されたデータが存在しないと判定した場合（Ｓ２５のＮＯ）、データ抽出部１１４は、入力データから、Ｓ２２の処理またはＳ２４の処理で決定した検証ルール情報１３１の抽出アスペクト情報１４１によるデータの抽出を行い、情報格納領域１３０に記憶する（Ｓ２６）。その後、データ抽出部１１４は、Ｓ２５以降の処理を再度実行する。
【０１０８】
すなわち、データ抽出部１１４は、検証ルール情報１３１において抽出アスペクト情報１４１の包含関係がある場合、データ抽出部１１４は、いずれの検証ルール情報１３１が先に評価されても、含まれる側の抽出アスペクト情報１４１によるデータの抽出を行う。これにより、データ抽出部１１４は、検証ルール情報１３１の抽出アスペクト情報１４１によるデータの抽出を行う際に、他の検証ルール情報１３１の抽出アスペクト情報１４１によるデータの抽出結果を再利用できる確率を高めることが可能になる。
【０１０９】
一方、既に抽出されたデータが存在すると判定した場合（Ｓ２５のＹＥＳ）、データ抽出部１１４は、Ｓ２５の処理で存在したデータ（抽出結果）を情報格納領域１３０から取得する（Ｓ２７）。その後、データ抽出部１１４は、Ｓ２７の処理で取得したデータから、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、Ｓ２２の処理またはＳ２４の処理で決定した検証ルール情報１３１に含まれない抽出属性によってデータを抽出する（Ｓ２８）。
【０１１０】
すなわち、Ｓ２２の処理が実行された場合、データ抽出部１１４は、Ｓ２８の処理において、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、Ｓ２２の処理で決定した検証ルール情報１３１に含まれない抽出属性によるデータの抽出を行う。これにより、データ抽出部１１４は、Ｓ２２の処理において、入力データから抽出を行う検証ルール情報１３１の抽出アスペクト情報１４１が他の検証ルール情報１３１の抽出アスペクト情報１４１に決定された場合であっても、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる全ての抽出属性によるデータの抽出を行うことが可能になる。
【０１１１】
なお、データ抽出部１１４は、他の検証ルール情報１３１の抽出アスペクト情報１４１の抽出結果の再利用を行った場合、他の検証ルール情報１３１と、他の検証ルール情報１３１の抽出アスペクト情報１４１の抽出結果を再利用してデータの抽出を行った検証ルール情報１３１とを対応付けた再利用情報１３６を作成するものであってよい。具体的に、データ抽出部１１４は、この場合、Ｓ１１の処理で取得した検証ルール情報１３１を示す情報と、Ｓ２２の処理で決定した検証ルール情報１３１を示す情報とを対応付けた再利用情報１３６を作成する。そして、データ抽出部１１４は、例えば、作成した再利用情報１３６を情報格納領域１３０に記憶する。これにより、情報処理装置１は、抽出結果の再利用を行った検証ルール情報１３１の管理を行うことが可能になる。
【０１１２】
その後、データ抽出部１１４は、図２１に示すように、情報格納領域１３０に記憶された全ての検証ルール情報１３１について抽出済であるか否かを判定する（Ｓ３４）。そして、全ての検証ルール情報１３１について抽出済であると判定した場合（Ｓ３４のＹＥＳ）、データ抽出部１１４は、Ｓ４及びＳ５の処理を終了する。一方、全ての検証ルール情報１３１について抽出済でないと判定した場合（Ｓ３４のＮＯ）、データ抽出部１１４は、Ｓ１１以降の処理を再度行う。
【０１１３】
また、Ｓ２１の処理において、Ｓ１５の処理で算出した処理量情報１３８が所定の閾値以下でないと判定した場合（Ｓ２１のＮＯ）、情報特定部１１３は、図２１に示すように、対応情報１３２を参照し、各データの属性それぞれと一致する抽出属性を含む検証ルール情報１３１（各データの属性それぞれを満たす抽出属性を含む検証ルール情報１３１）を、入力データ毎であって属性毎に特定する（Ｓ３１）。続いて、情報特定部１１３は、Ｓ３１の処理で特定した検証ルール情報１３１のうち共通する共通検証ルール情報１３４を、入力データ毎に特定する（Ｓ３２）。
【０１１４】
そして、データ抽出部１１４は、入力データのうち、Ｓ１１の処理で取得した検証ルール情報１３１を共通検証ルール情報１３４として特定されたデータを抽出する（Ｓ３３）。その後、データ抽出部１１４は、Ｓ３４以降の処理を行う。なお、Ｓ１６の処理で算出した処理量情報１３８が所定の閾値以下でないと判定した場合も同様に（Ｓ２１のＮＯ）、情報特定部１１３は、Ｓ３１以降の処理を行う。
【０１１５】
すなわち、情報特定部１１３は、Ｓ２１またはＳ２３の処理において、図１１等で説明した対応情報１３２を参照せずにデータの抽出を行う場合の処理量が所定の閾値よりも大きい場合、図１１等で説明した対応情報１３２を参照してデータの抽出を行う。これにより、データ抽出部１１４は、各検証ルール１３１ａによる入力データに対するデータの抽出に伴う処理量に応じて、データの抽出に伴う処理負担の抑制を行うことが可能になる。
【０１１６】
また、Ｓ１２の処理において、Ｓ１１の処理において抽出属性の取得に成功しなかった場合（Ｓ１２のＮＯ）、データ抽出部１１４は、入力データに含まれる全てのデータを抽出する（Ｓ１３）。すなわち、Ｓ１１の処理において抽出属性の取得に成功しなかった場合とは、Ｓ１１の処理で取得した検証ルール情報１３１に抽出属性が含まれていない場合である。そのため、データ抽出部１１４は、この場合、入力データに含まれる全てのデータを抽出する。そして、データ抽出部１１４は、Ｓ３４以降の処理を行う。
【０１１７】
なお、情報特定部１１３は、Ｓ２１の処理またはＳ２３の処理からＳ３１の処理に分岐する検証ルール情報１３１について、検証ルールリスト（図示しない）に保存しておくものであってもよい。そして、情報特定部１１３は、Ｓ３４の処理において、全ての検証ルール情報１３１が抽出されたと判定した後に、検証ルールリストに含まれる検証ルール情報１３１に対してまとめてＳ３１からＳ３３の処理に相当する処理を行ってもよい。また、Ｓ３１及びＳ３２の処理は、いずれも入力データ毎の処理であるため、情報特定部１１３は、入力データ毎に、Ｓ３１及びＳ３２の処理を順次実施して共通検証ルール情報１３４を求めた後、共通検証ルール情報１３４に含まれる検証ルールリストの検証ルールの全てを、入力データに対する検証対象ルールとするものであってもよい。これにより、情報特定部１１３は、Ｓ３１の処理の実行において入力データを一巡するだけでよく、各入力データの属性を抽出する処理の回数の削減も可能である。
【０１１８】
［Ｓ４及びＳ５の処理の具体例（１）］
次に、Ｓ４及びＳ５の処理の具体例について説明を行う。初めに、Ｓ１１の処理において、図６（Ｄ）で説明した抽出アスペクト情報１４１ｄを含む検証ルール情報１３１ｄが取得された場合について説明を行う。
【０１１９】
具体的に、検証ルール情報１３１ｄには、抽出属性を全て含む他の検証ルール情報１３１が存在しない（Ｓ１４のＮＯ）。そのため、情報特定部１１３は、Ｓ１６以降の処理を行う。
【０１２０】
ここで、図６（Ｄ）で説明した抽出アスペクト情報１４１ｄには、「種別」が「製品カテゴリ」であって「値」が「ハードウエア」である抽出属性のみが含まれる。そして、データ抽出部１１４は、この場合、入力データ（１００００（件））に対して、「種別」が「製品カテゴリ」であって「値」が「ハードウエア」である抽出属性のみによるデータの抽出を行う。そのため、データ抽出部１１４は、Ｓ１６の処理において、処理量情報１３８として「１００００（件）」を算出する。
【０１２１】
そして、例えば、所定の閾値が「１３０００（件）」である場合、処理量情報１３８である「１００００（件）」は、所定の閾値よりも小さい（Ｓ２３のＹＥＳ）。そのため、処理量算出部１１５は、入力データに対して抽出を行う検証ルール情報１３１の抽出アスペクト情報１４１を、検証ルール情報１３１ｄの抽出アスペクト情報１４１ｄに決定する（Ｓ２４）。その後、データ抽出部１１４は、入力データに対して検証ルール情報１３１ｄの抽出アスペクト情報１４１ｄによるデータの抽出を行い、情報格納領域１３０に記憶する（Ｓ２５のＮＯ、Ｓ２６）。
【０１２２】
なお、Ｓ１１の処理において検証ルール情報１３１ｄが取得された場合、情報特定部１１３は、Ｓ２２の処理を実行しない。そのため、データ抽出部１１４は、Ｓ２８の処理において更なるデータの抽出を行わない。
【０１２３】
次に、Ｓ１１の処理において、図６（Ｃ）で説明した抽出アスペクト情報１４１ｃを含む検証ルール情報１３１ｃが取得された場合について説明を行う。この場合、検証ルール情報１３１ｃには、抽出属性を全て含む他の検証ルール情報１３１が存在しない（Ｓ１４のＮＯ）。そのため、情報特定部１１３は、Ｓ１６以降の処理を行う。
【０１２４】
ここで、図８で説明した情報において、抽出アスペクト情報１４１ｃに含まれる抽出属性である情報のうち、「種別」が「項目名」であって「値」が「売上」である情報の「件数」には、「６０００（件）」が設定されている。また、図８で説明した情報において、抽出アスペクト情報１４１ｃに含まれる抽出属性である情報のうち、「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である情報の「件数」には、「２０００（件）」が設定されている。そのため、抽出アスペクト情報１４１ｃに含まれる抽出属性において、「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である情報に対応する抽出属性は、「種別」が「項目名」であって「値」が「売上」である情報に対応する抽出属性と比較して、高効率な抽出属性である。したがって、処理量算出部１１５は、「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である抽出属性による抽出を先に行うことにより、抽出アスペクト情報１４１ｃによってデータを抽出する際に要する処理量情報１３８を抑えることが可能になる。
【０１２５】
具体的に、データ抽出部１１４は、全ての入力データ（１００００（件））に対して、「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である抽出属性によるデータの抽出を行う。そして、この場合、データ抽出部１１４は、入力データから２０００（件）のデータを抽出すると予測される。さらに、データ抽出部１１４は、「製品カテゴリ」であって「値」が「ソフトウエア」である抽出属性によって抽出されたデータ（２０００（件））に対して、「種別」が「項目名」であって「値」が「売上」である抽出属性によるデータの抽出を行う。
【０１２６】
したがって、処理量算出部１１５は、この場合、処理量情報１３８として、「１００００（件）」と「２０００（件）」とを加算した件数である「１２０００（件）」を算出する（Ｓ１６）。
【０１２７】
そして、例えば、所定の閾値が「１３０００（件）」である場合、処理量情報１３８である「１２０００（件）」は、所定の閾値よりも小さい（Ｓ２３のＹＥＳ）。そのため、処理量算出部１１５は、入力データに対して抽出を行う検証ルール情報１３１を、検証ルール情報１３１ｃに決定する（Ｓ２４）。その後、データ抽出部１１４は、入力データに対して検証ルール情報１３１ｃによるデータの抽出を行い、情報格納領域１３０に記憶する（Ｓ２５のＮＯ、Ｓ２６）。
【０１２８】
なお、Ｓ１１の処理において検証ルール情報１３１ｃが取得された場合、情報特定部１１３は、Ｓ２２の処理を実行しない。そのため、データ抽出部１１４は、Ｓ２８の処理において更なるデータの抽出を行わない。
【０１２９】
続いて、Ｓ１１の処理において、図６（Ｂ）で説明した抽出アスペクト情報１４１ｂを含む検証ルール情報１３１ｂが取得された場合について説明を行う。
【０１３０】
図６（Ｂ）で説明した抽出アスペクト情報１４１ｂには、「種別」が「項目名」であって「値」が「売上」である抽出属性と、「種別」が「製品カテゴリ」であって「値」が「ハードウエア」である抽出属性とが含まれている。さらに、図６（Ｂ）で説明した抽出アスペクト情報１４１ｂには、「種別」が「地域カテゴリ」であって「値」が「アメリカ」である抽出属性が含まれている。すなわち、図６（Ｂ）で説明した検証ルール情報１３１には、図６（Ｄ）で説明した抽出アスペクト情報１４１に含まれる抽出属性の全て（「種別」が「製品カテゴリ」であって「値」が「ハードウエア」である検証ルール）が含まれている（Ｓ１４のＹＥＳ）。そのため、処理量算出部１１５は、Ｓ１５以降の処理を行う。
【０１３１】
具体的に、図８で説明した情報において、「種別」が「製品カテゴリ」であって「値」が「ハードウエア」である情報の「件数」には、「７５００（件）」が設定されている。そのため、処理量算出部１１５は、Ｓ１５の処理において、入力データのうちの他の検証ルール情報１３１に含まれる抽出属性によって抽出されることが予測されるデータの件数として「７５００（件）」を特定する。
【０１３２】
また、図８で説明した情報において、「種別」が「項目名」であって「値」が「売上」である情報の「件数」には、「６０００（件）」が設定されている。さらに、図８で説明した情報において、「種別」が「地域カテゴリ」であって「値」が「アメリカ」である情報の「件数」には、「２０００（件）」が設定されている。そのため、処理量算出部１１５は、この場合、Ｓ１１の処理で取得した検証ルール情報１３１に含まれる抽出属性であって他の検証ルール情報１３１に含まれない抽出属性のうち、抽出するデータの割合が最も小さい抽出属性によって抽出されるデータの件数として「２０００（件）」を特定する。したがって、処理量算出部１１５は、特定したデータの件数のうちの小さい方のデータの件数である「２０００（件）」を特定する。
【０１３３】
さらに、図６（Ｂ）で説明した抽出アスペクト情報１４１ｂに含まれる抽出属性の数が「３」であるのに対し、図６（Ｄ）の抽出アスペクト情報１４１ｄに含まれる抽出属性の数は、「１」である。そのため、処理量算出部１１５は、抽出アスペクト情報１４１ｂに含まれる抽出属性のうち、抽出アスペクト情報１４１ｄに含まれない抽出属性の数から１を減算した数として「１」を特定する。したがって、処理量算出部１１５は、「２０００（件）」に「１」を乗算した件数である「２０００（件）」を算出する。
【０１３４】
そして、処理量算出部１１５は、算出した「２０００（件）」に、検証ルール情報１３１ｄに含まれる抽出属性によって抽出されたデータの件数として特定した「７５００（件）」を加算して算出した「９５００（件）」を、処理量情報１３８として算出する。ここで、例えば、所定の閾値が「８０００（件）」である場合、処理量情報１３８である「９５００（件）」は、所定の閾値よりも大きい（Ｓ２１のＮＯ）。そのため、Ｓ３１以降の処理を行う。
【０１３５】
具体的に、情報特定部１１３は、図２２及び図２３に示すように、検証ルール情報１３１ｂに対応する情報が設定された特定候補情報１３３（図１５及び図１６で説明した特定候補情報１３３の作成途中の状態）を作成する（Ｓ３１）。そして、情報特定部１１３は、図２４に示すように、検証ルール情報１３１ｂに対応する情報が設定された共通検証ルール情報１３４（図１７で説明した共通検証ルール情報１３４の作成途中の状態）を作成する（Ｓ３２）。さらに、データ抽出部１１４は、図２５に示すように、検証ルール情報１３１ｂに対応する情報が設定された抽出結果情報１３５（図１８で説明した抽出結果情報１３５の作成途中の状態）を作成する（Ｓ３３）。
【０１３６】
一方、Ｓ１１の処理において、検証ルール情報１３１ｂが取得された場合であって、例えば、所定の閾値が「１３０００（件）」であり、処理量情報１３８である「９５００（件）」よりも大きい場合（Ｓ２１のＹＥＳ）、情報特定部１１３は、Ｓ２２以降の処理を行う。すなわち、情報特定部１１３は、この場合、入力データから抽出を行う検証ルール情報１３１を、他の検証ルール情報１３１である検証ルール情報１３１ｄに決定する（Ｓ２２）。
【０１３７】
そして、この場合、検証ルール情報１３１ｄによる抽出結果が既に存在するため（Ｓ２５のＹＥＳ）、データ抽出部１１４は、Ｓ２７以降の処理を行う。すなわち、情報特定部１１３は、検証ルール情報１３１ｄによって抽出されたデータに対し、検証ルール情報１３１ｂに含まれる抽出属性のうちの検証ルール情報１３１ｄに含まれない抽出属性によるデータの抽出を行う（Ｓ２８）。
【０１３８】
具体的に、検証ルール情報１３１ｂに含まれる抽出属性のうち、検証ルール情報１３１ｄに含まれない抽出属性は、「種別」が「項目名」であって「値」が「売上」である抽出属性と、「種別」が「地域カテゴリ」であって「値」が「アメリカ」である抽出属性である。そして、図８で説明した情報において、「種別」が「項目名」であって「値」が「売上」である情報の「件数」には、「６０００（件）」が設定されている。また、図８で説明した情報において、「種別」が「地域カテゴリ」であって「値」が「アメリカ」である情報の「件数」には、「２０００（件）」が設定されている。そのため、データ抽出部１１４は、検証ルール情報１３１ｄによって抽出されたデータに対して、例えば、「種別」が「地域カテゴリ」であって「値」が「アメリカ」である抽出属性を、「種別」が「項目名」であって「値」が「売上」である抽出属性よりも優先してデータの抽出を行う。
【０１３９】
このように、本実施の形態における情報処理装置１は、入力データに含まれる各データの属性それぞれと一致する抽出属性と、各抽出属性を含む検証ルール情報１３１とを対応付けた対応情報１３２を作成する。そして、情報処理装置１は、入力データからデータの抽出を行う際に、対応情報１３２を参照し、入力データ毎であって属性毎に、各データの属性それぞれが各抽出属性と一致するか否かを判定する。さらに、情報処理装置１は、入力データ毎に、各データの属性それぞれと一致すると判定された各抽出属性を含む共通検証ルール情報１３４を特定する。その後、情報処理装置１は、検証ルール情報１３１毎に、各検証ルール情報１３１が共通検証ルール情報１３４として特定されたデータを抽出する。
【０１４０】
これにより、情報処理装置１は、高効率な抽出属性が存在しない検証ルール情報１３１が存在する場合であっても、入力データからのデータの抽出を効率的に行うことが可能になる。
【０１４１】
なお、検証ルール情報１３１に前提情報１３７が存在する場合、かつ、その前提情報１３７がデータの抽出結果に依存しない場合、データの抽出処理前に、当該の検証ルール情報１３１をデータの抽出対象とすべきか否かを前もって判断しても良い。前提情報１３７とは、抽出されたデータに対して実際に検証ルール情報１３１を実施するかどうかを判定する条件式である。前提情報１３７が抽出データに依存しないとは、前提情報１３７の条件式において抽出結果が格納される変数が参照されない場合が該当する。データの抽出処理の前に、データ抽出した後に実施されることの無い検証ルール情報１３１を排除することで、情報処理装置１は、Ｓ４及びＳ５の処理をより効率的に行うことが可能になる。
【０１４２】
［第２の実施の形態の詳細］
次に、第２の実施の形態の詳細について説明する。図２６から図２８は、第２の実施の形態における抽出処理の詳細を説明するフローチャート図である。
【０１４３】
第１の実施の形態における抽出処理では、他の検証ルール情報１３１の抽出属性を全て含む検証ルール情報１３１が存在する場合、対応情報１３２を参照して行うデータの抽出に代えて、他の検証ルール情報１３１による抽出結果を再利用するデータの抽出を行うか否かの判定を行う。これに対し、第２の実施の形態における抽出処理では、対応情報１３２を参照して行うデータの抽出に代えて、検証ルール情報１３１に高効率な抽出属性（以下、有効抽出属性とも呼ぶ）が含まれている場合、有効抽出属性による抽出を優先させたデータの抽出を行うか否かの判定を行う。
【０１４４】
これにより、データ抽出部１１４は、有効抽出属性を含む検証ルール情報１３１に含まれる抽出属性によるデータの抽出を効率的に行うことが可能になる。以下、第２の実施の形態の詳細について説明を行う。
【０１４５】
情報特定部１１３は、情報格納領域１３０から検証ルール情報１３１を１つ取得し、検証ルール情報１３１に含まれる抽出属性の情報を取得する（Ｓ４１）。その後、情報特定部１１３は、Ｓ４１の処理において抽出属性の取得に成功したか否かを判定する（Ｓ４２）。
【０１４６】
そして、Ｓ４１の処理において抽出属性の取得に成功した場合（Ｓ４２のＹＥＳ）、情報特定部１１３は、対応情報１３２を参照し、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、抽出する情報の割合が所定の閾値以下である有効抽出属性を含むか否かを判定する（Ｓ４４）。
【０１４７】
その結果、抽出する情報の割合が所定の閾値以下である有効抽出属性を含むと判定した場合（Ｓ４４のＹＥＳ）、処理量算出部１１５は、データの抽出に伴う処理量情報１３８を算出する（Ｓ４５）。この場合、処理量算出部１１５は、入力データのうちの有効抽出属性によって抽出されることが予測されるデータの件数を特定する。そして、処理量算出部１１５は、特定したデータの件数に対して、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうちの有効抽出属性以外の抽出属性によってデータの抽出を行うために要する処理量情報１３８を算出する。
【０１４８】
すなわち、Ｓ４１の処理で取得した検証ルール情報１３１に有効抽出属性が含まれる場合、対応情報１３２を参照して行うデータの抽出よりも、検証ルール情報１３１に含まれる抽出属性によって順にデータの抽出を行った方が、データの抽出に伴う処理量が少ない場合がある。そのため、処理量算出部１１５は、Ｓ４５の処理において、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性によって順にデータの抽出を行う場合の処理量情報１３８を算出する。これにより、情報特定部１１３は、後述するように、対応情報１３２を参照してデータの抽出を行うか否か（検証ルール情報１３１に含まれる抽出属性によって順にデータの抽出を行うか否か）について判定を行うことが可能になる。
【０１４９】
具体的に、処理量算出部１１５は、Ｓ４５の処理において、入力データのうちの有効抽出属性によって抽出されることが予測されるデータの件数を特定する。そして、処理量算出部１１５は、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性であって有効抽出属性以外の抽出属性のうち、抽出するデータの割合が最も小さい抽出属性によって抽出されることが予測されるデータの件数を特定する。
【０１５０】
そして、処理量算出部１１５は、特定したデータの件数のうちの小さい方のデータの件数に、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、有効抽出属性以外の抽出属性の数から１を減算した値を乗算する。さらに、処理量算出部１１５は、乗算することにより取得した値に、有効抽出属性によって抽出されるデータの件数を加算した値を、処理量情報１３８として算出する。
【０１５１】
すなわち、処理量算出部１１５は、入力データのうちの有効抽出属性によって抽出されたデータそれぞれが、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、有効抽出属性以外の抽出属性それぞれによって抽出されるデータであるか否かを判定する回数の上限を算出する。
【０１５２】
その後、情報特定部１１３は、図２７に示すように、Ｓ４５の処理で算出した処理量情報１３８が所定の閾値以下であるか否かを判定する（Ｓ５１）。
【０１５３】
そして、Ｓ４５の処理で算出した処理量情報１３８が所定の閾値以下であると判定した場合（Ｓ５１のＹＥＳ）、情報特定部１１３は、入力データから抽出を行う抽出属性（最初にデータの抽出を行う抽出属性）を、Ｓ４４の処理で存在すると判定した有効抽出属性に決定する（Ｓ５２）。すなわち、情報特定部１１３は、この場合、検証ルール情報１３１に含まれる抽出属性（有効抽出属性を含む）によって、抽出するデータの割合が小さい順にデータの抽出を行うことを決定する。
【０１５４】
一方、Ｓ４４の処理において、有効抽出属性が存在しないと判定した場合（Ｓ４４のＮＯ）、処理量算出部１１５は、Ｓ４１の処理で取得した抽出属性によってデータを抽出するために要する処理量情報１３８を算出する（Ｓ４６）。
【０１５５】
すなわち、Ｓ４１の処理で取得した検証ルール情報１３１に、有効抽出属性が含まれていない場合であっても、図１１等で説明した対応情報１３２を参照せずにデータの抽出を行った方が有利な場合がある。具体的に、図１１等で説明した対応情報１３２を参照してデータの抽出を行うよりも、Ｓ４１の処理で抽出した検証ルール情報１３１に含まれる抽出属性によって、抽出するデータの割合が小さい順にデータの抽出を行った方が、データの抽出に伴う処理量を抑えることができる場合がこれに該当する。そのため、処理量算出部１１５は、Ｓ４６の処理において、Ｓ４１の処理で抽出した検証ルール情報１３１に含まれる各抽出属性によってデータの抽出を行う場合の処理量情報１３８を算出する。
【０１５６】
そして、情報特定部１１３は、図２７に示すように、Ｓ４６の処理で算出した処理量情報１３８が所定の閾値以下であるか否かを判定する（Ｓ５３）。その結果、Ｓ５３の処理で算出した処理量情報１３８が所定の閾値以下であると判定した場合（Ｓ５３のＹＥＳ）、情報特定部１１３は、入力データから抽出を行う検証ルール情報１３１の抽出アスペクト情報１４１を、Ｓ４１の処理で取得した検証ルール情報１３１の抽出アスペクト情報１４１に決定する（Ｓ５４）。すなわち、情報特定部１１３は、この場合、Ｓ４１の処理で抽出した検証ルール情報１３１に含まれる抽出属性によってデータの抽出を行うことを決定する。
【０１５７】
その後、Ｓ５２の処理またはＳ５４の処理の後、データ抽出部１１４は、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性のうち、Ｓ５２の処理またはＳ５４の処理で決定した抽出属性に含まれない抽出属性によってデータを抽出する（Ｓ５５）。
【０１５８】
その後、データ抽出部１１４は、図２８に示すように、情報格納領域１３０に記憶された全ての検証ルール情報１３１について抽出済であるか否かを判定する（Ｓ６４）。そして、全ての検証ルール情報１３１について抽出済であると判定した場合（Ｓ６４のＹＥＳ）、データ抽出部１１４は、Ｓ４及びＳ５の処理を終了する。一方、全ての検証ルール情報１３１について抽出済でないと判定した場合（Ｓ６４のＮＯ）、データ抽出部１１４は、Ｓ４１以降の処理を再度行う。
【０１５９】
また、Ｓ５１の処理において、Ｓ４６の処理で算出した処理量情報１３８が所定の閾値以下でないと判定した場合（Ｓ５１のＮＯ）、情報特定部１１３は、図２８に示すように、対応情報１３２を参照し、各データの属性それぞれと一致する抽出属性を含む検証ルール情報１３１を、入力データ毎に特定する（Ｓ６１）。続いて、情報特定部１１３は、Ｓ６１の処理で特定した検証ルール情報１３１のうち共通する共通検証ルール情報１３４を、入力データ毎に特定する（Ｓ６２）。そして、データ抽出部１１４は、入力データのうち、Ｓ４１の処理で取得した検証ルール情報１３１を共通検証ルール情報１３４として特定されたデータを抽出する（Ｓ６３）。その後、データ抽出部１１４は、Ｓ６４以降の処理を行う。なお、Ｓ４６の処理で算出した処理量情報１３８が所定の閾値以下でないと判定した場合も同様に（Ｓ５１のＮＯ）、情報特定部１１３は、Ｓ６１以降の処理を行う。
【０１６０】
一方、Ｓ４１の処理において抽出属性の取得に成功しなかった場合（Ｓ４２のＮＯ）、データ抽出部１１４は、入力データに含まれる全てのデータを抽出する（Ｓ４３）。すなわち、Ｓ４１の処理において抽出属性の取得に成功しなかった場合とは、Ｓ４１の処理で取得した検証ルール情報１３１に抽出属性が含まれていない場合である。そのため、データ抽出部１１４は、この場合、入力データに含まれる全てのデータを抽出する。そして、データ抽出部１１４は、Ｓ６４以降の処理を行う。
【０１６１】
［Ｓ４及びＳ５の処理の具体例（２）］
次に、Ｓ４及びＳ５の処理の具体例について説明を行う。以下、Ｓ４１の処理において、図６（Ｃ）で説明した抽出アスペクト情報１４１ｃを含む検証ルール情報１３１ｃが取得された場合について説明を行う。
【０１６２】
図８で説明した情報において、抽出アスペクト情報１４１ｃに含まれる抽出属性である情報のうち、「種別」が「項目名」であって「値」が「売上」である情報の「件数」には、「６０００（件）」が設定されている。また、図８で説明した情報において、抽出アスペクト情報１４１ｃに含まれる抽出属性である情報のうち、「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である情報の「件数」には、「２０００（件）」が設定されている。そのため、Ｓ４４の処理における所定の閾値が「２５（％）」である場合、「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である抽出属性は、有効抽出属性である（Ｓ４４のＹＥＳ）。そのため、処理量算出部１１５は、Ｓ４５の処理を行う。
【０１６３】
具体的に、図８で説明した情報において、「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である情報の「件数」には、「２０００（件）」が設定されている。そのため、処理量算出部１１５は、Ｓ４５の処理において、入力データのうちの有効抽出属性によって抽出されることが予測されるデータの件数として「２０００（件）」を特定する。
【０１６４】
また、図８で説明した情報において、「種別」が「項目名」であって「値」が「売上」である情報の「件数」には、「６０００（件）」が設定されている。そのため、処理量算出部１１５は、この場合、Ｓ４１の処理で取得した検証ルール情報１３１に含まれる抽出属性であって有効抽出属性以外の抽出属性のうち、抽出するデータの割合が最も小さい抽出属性によって抽出されるデータの件数として「６０００（件）」を特定する。したがって、処理量算出部１１５は、特定したデータの件数のうちの小さい方のデータの件数である「２０００（件）」を特定する。
【０１６５】
さらに、図６（Ｃ）で説明した抽出アスペクト情報１４１ｃに含まれる抽出属性の数が「２」であるため、抽出アスペクト情報１４１ｃに含まれる抽出属性のうち、有効抽出属性以外の抽出属性の数から１を減算した数は、「０」である。そのため、処理量算出部１１５は、「２０００（件）」に「０」を乗算した件数である「０（件）」を算出する。
【０１６６】
そして、処理量算出部１１５は、乗算することにより算出した「０（件）」に、有効抽出属性によって抽出されたデータの件数として特定した「２０００（件）」を加算して算出した「２０００（件）」を、処理量情報１３８として算出する。ここで、例えば、所定の閾値が「１３０００（件）」である場合、処理量情報１３８として算出した「２０００（件）」は、所定の閾値よりも小さい（Ｓ５１のＹＥＳ）。そのため、Ｓ５２以降の処理を行う。
【０１６７】
具体的に、情報特定部１１３は、入力データから抽出を行う抽出属性を、有効抽出属性（「種別」が「製品カテゴリ」であって「値」が「ソフトウエア」である抽出属性）に決定する（Ｓ５２）。その後、データ抽出部１１４は、有効抽出属性によって抽出したデータから、検証ルール情報１３１ｃに含まれる抽出属性のうち、有効抽出属性に含まれない抽出属性（「種別」が「項目名」であって「値」が「売上」である抽出属性）によってデータを抽出する（Ｓ５５）。
【０１６８】
これにより、情報特定部１１３は、検証ルール１３１に有効抽出属性が含まれているか否かに応じて、データの抽出に伴う処理量を抑えながらデータの抽出を行うことが可能になる。
【０１６９】
［Ｓ３１及びＳ３２の処理の詳細］
次に、Ｓ３１及びＳ３２の処理（Ｓ６１及びＳ６２の処理）の詳細について説明を行う。図２９及び図３０は、Ｓ３１及びＳ３２の処理の詳細を説明するフローチャート図である。なお、以下、複数の属性を単に属性群とも呼ぶ。
【０１７０】
情報特定部１１３は、例えば、入力データにおいて、同一の属性群を含む複数のデータ（以下、データ群とも呼ぶ）が存在するか否かを判定する（Ｓ７１）。そして、同一の属性群を含むデータ群が存在する場合（Ｓ７１のＹＥＳ）、情報特定部１１３は、対応情報１３２を参照し、Ｓ７１の処理で存在したデータ群に含まれる同一の属性群に含まれる属性それぞれと一致する抽出属性を含む検証ルール情報１３１を、同一の属性群毎に特定する（Ｓ７２）。さらに、情報特定部１１３は、Ｓ７１の処理で存在したデータ群に含まれる同一の属性群それぞれに対応する検証ルール情報１３１において共通する共通検証ルール情報１３４ａを、同一の属性群毎に特定する（Ｓ７３）。そして、情報特定部１１３は、Ｓ７３の処理において、データ群情報１３９を作成して情報格納領域１３０に記憶する。以下、データ群情報１３９の具体例について説明を行う。
【０１７１】
［データ群情報の具体例］
図３１は、データ群情報１３９の具体例を説明する図である。図３１に示すデータ群情報１３９は、データ群情報１３９に含まれる各情報を識別する「項番」と、入力データに含まれる各データを識別する「入力データ」と、入力データに含まれる各データの種別が設定される「種別」とを項目として有している。また、図３１に示すデータ群情報１３９は、入力データに含まれる各データの値が設定される「値」と、Ｓ７３の処理で特定された共通検証ルール情報１３４が設定される「共通検証ルール」とを項目として有している。
【０１７２】
具体的に、例えば、図４（Ａ）で説明したアスペクト情報と、図５（Ａ）で説明したアスペクト情報とにおいて、「種別」が「製品カテゴリ」であって「値」が「ハードウエア」であるアスペクト情報（それぞれ「項番」が「２」であるアスペクト情報）が同一である。また、例えば、図４（Ａ）で説明したアスペクト情報と、図５（Ａ）で説明したアスペクト情報とにおいて、「種別」が「地域カテゴリ」であって「値」が「アメリカ」であるアスペクト情報（それぞれ「項番」が「３」であるアスペクト情報）が同一である。そのため、情報特定部１１３は、Ｓ７１の処理において、図４（Ａ）で説明したアスペクト情報に対応するデータと、図５（Ａ）で説明したアスペクト情報に対応するデータとを、データ群として判定する。
【０１７３】
そして、情報特定部１１３は、Ｓ７２の処理において、図１４で説明した対応情報１３２を参照し、「種別」が「製品カテゴリ」であって「値」が「ハードウエア」である情報の「検証ルール」に設定された情報である「１３１ｂ」、「１３１ｄ」、「１３１ｅ」、「１３１ｆ」及び「１３１ｇ」を特定する。また、情報特定部１１３は、「種別」が「地域カテゴリ」であって「値」が「アメリカ」である情報の「検証ルール」に設定された情報である「１３１ａ」、「１３１ｂ」、「１３１ｃ」、「１３１ｄ」及び「１３１ｇ」を特定する。そして、情報特定部１１３は、Ｓ７３の処理において、それぞれ特定した情報に共通する情報である「１３１ｂ」、「１３１ｄ」及び「１３１ｇ」を、共通検証ルール情報１３４ａとして特定する。
【０１７４】
そのため、情報特定部１１３は、図３１に示すように、「項番」が「１」である情報において、「入力データ」として「データ１」及び「データ４」を設定し、「種別」として「製品カテゴリ」を設定し、「製品カテゴリ」に対応する「値」として「ハードウエア」を設定する。また、情報特定部１１３は、「項番」が「１」である情報において、「種別」として「地域カテゴリ」を設定し、「地域カテゴリ」に対応する「値」として「アメリカ」を設定する。さらに、情報特定部１１３は、「項番」が「１」である情報において、「共通検証ルール」として「１３１ｂ」、「１３１ｄ」及び「１３１ｇ」を設定する。図３１に含まれる他の情報については説明を省略する。
【０１７５】
すなわち、情報特定部１１３は、共通する属性を含む入力データに対応する共通検証ルール情報１３４の特定を行う前に、共通検証ルール情報１３４ａの特定を行う。これにより、情報特定部１１３は、入力データにおいて、共通する属性を含む複数のデータ（データ群）が存在する場合、共通検証ルール情報１３４ａの特定を複数回行う必要がなくなる。そのため、情報特定部１１３は、データの抽出に伴う処理負担を軽減することが可能になる。
【０１７６】
図２９に戻り、情報特定部１１３は、対応情報１３２を参照し、各データの属性のうちの同一の属性群に含まれない属性と一致する抽出属性を含む検証ルール情報１３１を特定する（Ｓ７４）。この場合、情報特定部１１３は、入力データ毎であって同一の属性群に含まれない属性毎に、検証ルール情報１３１の特定を行う。そして、情報特定部１１３は、同一の属性群に対応するデータ群に含まれるデータそれぞれについて、各データの属性のうちの同一の属性群に含まれない属性それぞれに対応する検証ルール情報１３１と、Ｓ７３の処理で特定した共通検証ルール情報１３４ａとにおいて共通する共通検証ルール情報１３４を特定する（Ｓ７５）。この場合、情報特定部１１３は、同一の属性群に対応するデータ群に含まれるデータ毎に共通検証ルール情報１３４を特定する。
【０１７７】
具体的に、例えば、図４（Ａ）で説明したアスペクト情報と、図５（Ａ）で説明したアスペクト情報とにおいて、「種別」が「項目名」であるアスペクト情報（それぞれ「項番」が「１」であるアスペクト情報）は同一でない。そのため、情報特定部１１３は、Ｓ７４の処理において、図１４で説明した対応情報１３２を参照し、「種別」が「項目名」であって「値」が「売上」である情報の「検証ルール」に設定された情報である「１３１ａ」、「１３１ｂ」、「１３１ｃ」、「１３１ｄ」、「１３１ｅ」、「１３１ｆ」及び「１３１ｇ」を特定する。
【０１７８】
その後、情報特定部１１３は、Ｓ７５の処理において、図３１で説明したデータ群情報１３９を参照し、図４（Ａ）で説明したデータ１のアスペクト情報に対応する共通検証ルール情報１３４ａを取得する。そして、情報特定部１１３は、取得した共通検証ルール情報１３４ａと、Ｓ７４の処理で特定した検証ルール情報１３１とにおいて共通する共通検証ルール情報１３４を特定する。すなわち、情報特定部１１３は、この場合、「１３１ｂ」、「１３１ｄ」及び「１３１ｇ」を共通検証ルール情報１３４として特定する。
【０１７９】
一方、同一の属性群を含むデータ群が存在しない場合（Ｓ７１のＮＯ）、情報特定部１１３は、図３０に示すように、対応情報１３２を参照し、各データの属性それぞれと一致する抽出属性を含む検証ルール情報１３１を、入力データ毎であって属性毎に特定する（Ｓ８１）。そして、情報特定部１１３は、Ｓ８１の処理で特定した検証ルール情報１３１のうち共通する共通検証ルール情報１３４を、入力データ毎に特定する（Ｓ８２）。すなわち、Ｓ７１の処理において、同一の属性群を含むデータ群が存在しない場合、情報特定部１１３は、図２１等で説明したＳ３２及びＳ３３の処理と同じ処理を行う。
【０１８０】
これにより、情報特定部１１３は、共通する属性を含むデータ群が存在する場合、共通検証ルール情報１３４ａの特定を複数回行う必要がなくなる。そのため、情報特定部１１３は、データの抽出に伴う処理負担を抑制することが可能になる。
【０１８１】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１８２】
（付記１）
コンピュータに、
検証ルールに含まれる抽出属性のうち、複数のデータに含まれる各データの属性それぞれと一致する抽出属性と、該抽出属性を含む検証ルールとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のデータ毎であって前記属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、
前記複数のデータ毎に、各データの属性それぞれに対応する前記検証ルールにおいて共通する共通検証ルールを特定し、
前記検証ルール毎に、各検証ルールが前記共通検証ルールとして特定されたデータを抽出する、
処理を実行させることを特徴とする抽出プログラム。
【０１８３】
（付記２）
付記１において、
前記抽出属性は、前記抽出属性の種別を示す抽出種別と、前記抽出種別に対応する値である抽出値とを含み、
前記検証ルールを特定する処理では、各データの属性の種別及び前記種別に対応する値と一致する前記抽出種別及び前記抽出値を含む前記抽出属性を含む前記検証ルールを特定する、
ことを特徴とする抽出プログラム。
【０１８４】
（付記３）
付記１において、
前記検証ルールを特定する処理では、含まれる前記抽出属性が同一である複数の検証ルールが存在する場合、前記複数の検証ルールのうちのいずれかの検証ルールの情報のみが前記対応情報に含まれるものとして処理を行い、
前記データを抽出する処理では、前記いずれかの検証ルールが前記共通検証ルールとして特定されたデータが、前記複数の検証ルールそれぞれが前記共通検証ルールとして特定されたデータであるものとして処理を行う、
ことを特徴とする抽出プログラム。
【０１８５】
（付記４）
付記１において、さらに、
前記対応情報に、他の検証ルールに含まれる抽出属性の全てを含む特定の検証ルールの情報が含まれる場合、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記他の検証ルールに含まれない抽出属性によってデータを抽出するために要する処理量を、前記特定の検証ルール毎に算出し、
算出した前記処理量が所定の閾値以下である前記特定の検証ルールが存在する場合、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記他の検証ルールに含まれない抽出属性によってデータを抽出する、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理では、前記対応情報に含まれる情報にうち、存在した前記特定の検証ルールに対応する情報以外の情報を参照する、
ことを特徴とする抽出プログラム。
【０１８６】
（付記５）
付記４において、
前記処理量は、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータそれぞれが、前記特定の検証ルールに含まれる抽出属性のうち、前記他の検証ルールに含まれない抽出属性それぞれによって抽出されるデータであるか否かを判定する回数である、
ことを特徴とする抽出プログラム。
【０１８７】
（付記６）
付記４において、
前記所定の閾値は、前記複数のデータの件数である、
ことを特徴とする抽出プログラム。
【０１８８】
（付記７）
付記４において、
前記所定の閾値は、前記複数のデータの件数と、所定の係数とを乗算した値である、
ことを特徴とする抽出プログラム。
【０１８９】
（付記８）
付記５において、
前記処理量は、前記複数のデータのうちの前記他の検証ルールに含まれる抽出属性によって抽出されるデータの件数と、前記特定の検証ルールに含まれる抽出属性であって前記他の検証ルールに含まれない抽出属性のうち、抽出するデータの割合が最も小さい抽出属性によって抽出されるデータの件数とのうちの小さい方のデータの件数と、前記特定の検証ルールに含まれる抽出属性のうち、前記他の検証ルールに含まれない抽出属性の数から１を減算した値とを乗算して算出した値に、前記他の検証ルールに含まれる抽出属性によって抽出されるデータの件数を加算した値である、
ことを特徴とする抽出プログラム。
【０１９０】
（付記９）
付記１において、さらに、
前記データを抽出する処理における処理結果に依存しない前提抽出属性が存在する場合、前記検証ルールを特定する処理の前に、前記前提抽出属性によって前記複数のデータからデータの抽出を行う、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理及び前記共通検証ルールを特定する処理では、前記複数のデータのうちの前記前提抽出属性によって抽出されたデータについて処理を行う、
ことを特徴とする抽出プログラム。
【０１９１】
（付記１０）
付記１において、さらに、
前記対応情報に、抽出するデータの割合が所定の閾値以下である有効抽出属性を含む特定の検証ルールの情報が含まれる場合、前記複数のデータのうちの前記有効抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記有効抽出属性以外の抽出属性によってデータを抽出するために要する処理量を、前記特定の検証ルール毎に算出し、
算出した前記処理量が所定の閾値以下である前記特定の検証ルールが存在する場合、前記複数のデータのうちの前記有効抽出属性によって抽出されるデータから、前記特定の検証ルールに含まれる抽出属性のうちの前記有効抽出属性以外の抽出属性によってデータを抽出する、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理では、前記対応情報に含まれる情報にうち、存在した前記特定の検証ルールに対応する情報以外の情報を参照する、
ことを特徴とする抽出プログラム。
【０１９２】
（付記１１）
付記１において、さらに、
前記複数のデータにおいて、同一の属性群をそれぞれ含む特定のデータ群が存在する場合、前記同一の属性群毎に、各同一の属性群に含まれる属性それぞれと一致する前記抽出属性を含む前記検証ルールを特定し、前記同一の属性群毎に、各同一の属性群に含まれる属性それぞれに対応する前記検証ルールにおいて共通する特定の検証ルールを特定し、
前記特定のデータ群に含まれるデータ毎であって前記属性のうちの前記同一の属性群に含まれない属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、前記特定のデータ群に含まれるデータ毎に、各データの属性のうちの前記同一の属性群に含まれない属性それぞれに対応する前記検証ルールと、前記特定の検証ルールとにおいて共通する検証ルールを、前記共通検証ルールとして特定する、
処理をコンピュータに実行させ、
前記検証ルールを特定する処理及び前記共通検証ルールを特定する処理では、前記複数のデータのうち、前記特定のデータ群に含まれるデータ以外のデータについて処理を行う、
ことを特徴とする抽出プログラム。
【０１９３】
（付記１２）
検証ルールに含まれる抽出属性のうち、複数のデータに含まれる各データの属性それぞれと一致する抽出属性と、該抽出属性を含む検証ルールとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のデータ毎であって前記属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、前記複数のデータ毎に、各データの属性それぞれに対応する前記検証ルールにおいて共通する共通検証ルールを特定する特定部と、
前記検証ルール毎に、各検証ルールが前記共通検証ルールとして特定されたデータを抽出する抽出部と、を有する、
ことを特徴とする抽出装置。
【０１９４】
（付記１３）
検証ルールに含まれる抽出属性のうち、複数のデータに含まれる各データの属性それぞれと一致する抽出属性と、該抽出属性を含む検証ルールとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のデータ毎であって前記属性毎に、各属性と一致する前記抽出属性を含む前記検証ルールを特定し、
前記複数のデータ毎に、各データの属性それぞれに対応する前記検証ルールにおいて共通する共通検証ルールを特定し、
前記検証ルール毎に、各検証ルールが前記共通検証ルールとして特定されたデータを抽出する、
ことを特徴とする抽出方法。
【符号の説明】
【０１９５】
１：情報処理装置            ２：記憶部
１１：利用者端末            ＮＷ：ネットワーク
【図１】
0006712046.tif 000002
【図２】
0006712046.tif 000003
【図３】
0006712046.tif 000004
【図４】
0006712046.tif 000005
【図５】
0006712046.tif 000006
【図６】
0006712046.tif 000007
【図７】
0006712046.tif 000008
【図８】
0006712046.tif 000009
【図９】
0006712046.tif 000010
【図１０】
0006712046.tif 000011
【図１１】
0006712046.tif 000012
【図１２】
0006712046.tif 000013
【図１３】
0006712046.tif 000014
【図１４】
0006712046.tif 000015
【図１５】
0006712046.tif 000016
【図１６】
0006712046.tif 000017
【図１７】
0006712046.tif 000018
【図１８】
0006712046.tif 000019
【図１９】
0006712046.tif 000020
【図２０】
0006712046.tif 000021
【図２１】
0006712046.tif 000022
【図２２】
0006712046.tif 000023
【図２３】
0006712046.tif 000024
【図２４】
0006712046.tif 000025
【図２５】
0006712046.tif 000026
【図２６】
0006712046.tif 000027
【図２７】
0006712046.tif 000028
【図２８】
0006712046.tif 000029
【図２９】
0006712046.tif 000030
【図３０】
0006712046.tif 000031
【図３１】
0006712046.tif 000032