(57)【要約】      （修正有）【課題】RDB（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）の仕様としての観点から、データから抽出した相関ルールをスコアリングすることにより、その仕様を示す情報である相関ルールを適切にランキングしたりフィルタリングしたりしながら確認するための付加情報を提供する。【解決手段】データベースに格納されたデータから、当該データベースのDBカラムのデータ依存関係や制約条件等を抽出する相関ルール分析装置１００であって、入力されたDBテーブルデータから、複数カラム間のデータの同時出現関係の情報を相関ルールとして抽出する、相関ルール抽出手段１１６と、抽出した相関ルールを特定の共通性に基づいて集約する、相関ルール集約手段１１８と、集約された各相関ルールの出現頻度および組み合わせから、データ依存関係や制約条件としての有用性指標を算出する、集約結果妥当性判定手段１１９を有する。【選択図】図１
2016014944.tif 000002
【特許請求の範囲】
【請求項１】
データベースに格納されたデータから、当該データベースのDBカラムのデータ依存関係および制約条件の少なくとも一方を抽出する相関ルール分析装置であって、
分析対象であるデータが格納されたDBテーブルデータから、複数カラム間のデータの同時出現関係の情報を相関ルールとして抽出する相関ルール抽出手段と、
抽出された前記相関ルールを特定の共通性に基づいて集約する相関ルール集約手段と、
集約された前記相関ルールそれぞれにおける出現頻度および組み合わせから、データ依存関係や制約条件としての有用性指標を算出する集約結果妥当性判定手段とを有することを特徴とする相関ルール分析装置。
【請求項２】
請求項１に記載の相関ルール分析装置であって、
前記特定の共通性には、前記相関ルールの条件部の値と結論部の値との間に成り立つ半順序関係の同一性を含むことを特徴とする相関ルール分析装置。
【請求項３】
請求項２に記載の相関ルール分析装置であって、
前記データベースのデータの特徴を、当該データから判定するカラム特性判定処理手段と、
相関ルールの集約をするために適用する共通性の枠組みを、データベースのデータの特徴から決定する相関ルール集約規則判定手段とをさらに有することを特徴とする、相関ルール分析装置。
【請求項４】
請求項２または３のいずれかに記載の相関ルール分析装置であって、
前記相関ルールを前記半順序関係の同一性に基づいて集約する場合に、集約前の相関ルールのLift値を、当該の半順序関係の内容を踏まえて算出する相関ルール集約前処理手段をさらに有することを特徴とする相関ルール分析装置。
【請求項５】
請求項４に記載の相関ルール分析装置であって、
前記相関ルール集約前処理手段は、前記Lift値を算出する場合際に、結論部の値の出現回数をカウントしたソート済みテーブルを一時データとして利用することによりLift値算出を実行することを特徴とする相関ルール分析装置。
【請求項６】
請求項１〜５のいずれか１項に記載の相関ルール分析装置であって、
前記相関ルール集約処理手段は、集約後の相関ルールのLift値を、集約前の相関ルールのLift値の調和平均として算出する
ことを特徴とする、相関ルール分析装置。
【請求項７】
請求項２〜６のいずれか１項に記載の相関ルール分析装置であって、
前記半順序関係には、日付としての値の前後関係が含まれることを特徴とする、相関ルール分析装置。
【請求項８】
請求項２〜７のいずれか１項に記載の相関ルール分析装置であって、
前記半順序関係には、数値の大小関係が含まれることを特徴とする、相関ルール分析装置。
【請求項９】
請求項１〜８のいずれか１項に記載の相関ルール分析装置であって、
集約した相関ルールを出力する場合に、集約結果妥当性判定手段が判定した有用性の指標値によって、順序や範囲を決定する集約結果視覚化処理手段
をさらに有することを特徴とする相関ルール分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムの開発等のために、対象である情報システムで利用するDB（Database）の仕様を把握するための相関ルールを分析するための技術に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開平１１−２５９５６７（特許文献１）がある。この公報には、相関ルールを分析するために、「競合する事象のデータセットを抽出でき、発生比率が低くても関連性が強いというデータセットを探索できる技術を提供する」ことが記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２５９５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報システムの開発や保守においては、DB（Database）の仕様を理解することが重要となる。DBの仕様には、明示的に仕様書に記載されるものもあるが、暗黙的に規定されるものもある。暗黙的な仕様を理解するためには、DBのデータから特徴を抽出する技術が有効である。具体的には、バスケット解析を用いることで、データの同時出現関係の規則（相関ルール）から、DBが保持するデータが満たすべき依存関係・制約条件（仕様の一側面）を見つけることができる。なお、本発明では、DBとして特にRDB（Relational Database）を想定する。このときバスケット解析により、カラム間に存在するデータ依存関係・制約条件を見つけることができる。
【０００５】
たとえば、あるRDBのテーブルにおいて、『「削除フラグ」の値が「1」のときには、必ず「削除年月日」の値がNULLでない』という相関ルールをバスケット解析によって見つけることができれば、『「削除フラグ」が「１」のとき、「削除年月日」の値は必須である』という仕様の存在を推測することができる。
一般に、バスケット解析では、大量の相関ルールが出力されることが多い。このため、人間が確認する際の手間を削減するための工夫が必要になる。抽出された相関ルールを（１）集約することによって、相関ルールの総数を減らしたり、また、（２）機械的にスコアリングすることで、フィルタリング・ランキング（ソート）できるようにしたり、といった手段が用いられる。
【０００６】
このうち（２）スコアリングについては、相関ルールの指標値である支持度（Support）、確度（Confidence）、リフト値（Lift）といった値が用いられることが多い。また、前記特許文献１には、「期待関連指数」「関連強さ指数」などの指標により、「従来のバスケット解析で低い評価となるが有用なルール」を、スコアに反映する方法について述べている。
【０００７】
しかしながら、これら従来の方法で数値化するものは、個々の相関ルールとしての有用性のみであり、カラム間に存在する仕様としての有用性を示す指標とはなっていない。カラム間に存在する仕様は複数の相関ルールから構成されるため、このような指標のみでは不十分であるという問題点がある。
【０００８】
また、従来の方法によって数値化した指標値は、あらゆる相関ルールを画一的に扱うものであり、仕様としての特性を踏まえた指標値ではない。具体的には、データの対応関係を示す相関ルール（例：「年休フラグ」が「1」のとき「代休フラグ」は「0」である）と、データの大小関係を示す相関ルール（例：「売価」が「105」のとき「材料費」が「30」である）とでは、同じ方法で評価値を算出することになる。このため、相関ルールの有用性を適切に示す評価値を算出できないという問題点がある（具体的には、実施例において説明する）。
【０００９】
そこで本発明は、複数の相関ルールを統合し、また、データの特性を踏まえた観点での評価値を出力することで、RDBテーブルのカラム間に存在する仕様としての有用性を数値化する仕組みを提供する。これにより、RDBの仕様としての観点から、相関ルールを適切にスコアリングすることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明では、上述のスコアリングとして、データについての条件の出現割合と、制約を満たす割合の比率を用いるものである。この結果を相関ルールの集約に用いることが可能になる。より詳細には、以下の構成を採用する。  データベースに格納されたデータから、当該データベースのDBカラムのデータ依存関係や制約条件等のいずれかを少なくとも抽出する相関ルール分析装置であって、分析対象であるデータが格納されたDBテーブルデータから、複数カラム間のデータの同時出現関係の情報を相関ルールとして抽出する相関ルール抽出手段と、抽出した相関ルールを特定の共通性に基づいて集約する相関ルール集約手段と、集約された各相関ルールの出現頻度および組み合わせから、データ依存関係および制約条件の少なくとも一方を含む有用性指標を算出する集約結果妥当性判定手段を有するものである。ここで、本願明細書では、「同時出現関係」とは、一方が出現した際、他方も出現することを意味し、必ずしも時間的に一致して出現しなくともよい。なお、本発明には、方法や上記装置を実現させるためのコンピュータプログラムも含まれる。
【発明の効果】
【００１１】
本発明によれば、RDBの仕様としての観点から、RDBのデータから抽出した相関ルールをスコアリングすることができる。これにより、例えば本発明の利用者が、RDBの仕様を分析する際に、その仕様を示す情報である相関ルールを、適切にランキングしたりフィルタリングしたりしながら確認するための付加情報を提供することができる。このため、RDBの仕様の分析作業を効率化することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例における相関ルール分析装置の構成図の例である。
【図２】本発明の一実施例における相関ルール分析装置の処理を説明するフローチャートの例である。
【図３】本発明の一実施例におけるデータベースから読み込むテーブルのデータを説明するイメージ図の例である。
【図４】本発明の一実施例におけるカラム値の出現回数をカウントする処理を説明するイメージ図の例である。
【図５】本発明の一実施例におけるカラム特性判定規則を説明するイメージ図の例である。
【図６】本発明の一実施例におけるカラム特性情報を作成する処理を説明するイメージ図の例である。
【図７】本発明の一実施例におけるカラム値の組の出現回数をカウントする処理を説明するイメージ図の例である。
【図８】本発明の一実施例における相関ルール集約規則を説明するイメージ図の例である。
【図９】本発明の一実施例における相関ルール集約規則を選択する処理を説明するイメージ図の例である。
【図１０】本発明の一実施例における相関ルール集約名を導出する処理を説明するイメージ図の例である。
【図１１】本発明の一実施例における相関ルールを再構成する処理を説明するイメージ図の例である。
【図１２】本発明の一実施例における再構成した相関ルールの原因側件数情報を補完する処理を説明するイメージ図の例である。
【図１３】本発明の一実施例における再構成した相関ルールの結果側件数情報を補完する処理を説明するイメージ図の例である。
【図１４】本発明の一実施例における相関ルールの情報を補完する処理を効率的におこなうために用いるカラム値出現回数を説明するイメージ図の例である。
【図１５】本発明の一実施例における相関ルールの情報から指標値を算出して更新する処理を説明するイメージ図の例である。
【図１６】本発明の一実施例における相関ルールを集約する処理を説明するイメージ図の例である。
【図１７】本発明の一実施例における相関ルール集約結果についてLiftによる差異を説明するイメージ図の例である。
【図１８】本発明の一実施例における相関ルール集約結果の情報を補完する規則を説明するイメージ図の例である。
【図１９】本発明の一実施例における相関ルール集約結果の情報を補完する処理を説明するイメージ図の例である。
【図２０】本発明の一実施例における相関ルール集約結果を視覚的に理解容易な形式に変換する処理を説明するイメージ図の例である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施例実施例を図面を用いて説明する。
本実施例では、相関ルール分析装置の例を説明する。
図１は、本実施例の相関ルール分析装置の構成図の例である。本相関ルール分析装置１００は、ＣＰＵ１０１、メモリ１０２、入力装置１０３、出力装置１０４、外部記憶装置１０５を有する。すなわち、いわゆるコンピュータで実現されるものである。外部記憶装置１０５は、分析対象テーブルデータ記憶部１０６、カラム値出現回数記憶部１２１、カラム特性判定規則記憶部１０７、カラム特性記憶部１０８、相関ルール集約規則記憶部１０９、相関ルール記憶部１１０、相関ルール集約結果記憶部１１１、集約後相関ルール評価規則記憶部１１２を保持しており、さらに処理プログラム１１３を保持する。処理プログラム１１３は、カラム値出現回数カウント処理部１２２、カラム特性判定部１１４、相関ルール集約規則判定部１１５、相関ルール抽出処理部１１６、相関ルール集約前処理部１１７、相関ルール集約処理部１１８、集約結果妥当性判定部１１９、集約結果視覚化処理部１２０を保持する。
【００１４】
処理プログラム１１３は実行の際にはメモリ１０２に読み込まれ、ＣＰＵ１０１によって実行されるものとする。なお、その処理内容は、フローチャートを用いて後述する。
【００１５】
カラム特性判定規則記憶部１０７、相関ルール集約規則記憶部１０９、集約後相関ルール評価規則記憶部１１２には、それぞれ予めカラム特性判定規則、相関ルール集約規則、集約後相関ルール評価規則を入力しておく、カラム特性判定規則、相関ルール集約規則、集約後相関ルール評価規則の詳細については、後述する。
入力装置１０３を介して外部から入力されたRDBテーブルのデータは、分析対象テーブルデータ記憶部１０６に書き込む。
【００１６】
カラム値出現回数カウント処理部１２２は、分析対象テーブルデータ記憶部１０６から読み出したカラムのデータを参照しながら、各カラムのデータの出現回数をカウントし、結果をカラム値出現回数記憶部１２１に書き込む。
カラム特性判定部１１４は、カラム値出現回数記憶部１２１から読み出したカラム値の出現回数を参照しながら、カラム特性判定規則記憶部１０７から読み出したカラム特性判定規則を用いてカラム特性情報を作成し、カラム特性記憶部１０８に書き込む。
相関ルール抽出処理部１１６は、分析対象テーブルデータ記憶部１０６から読み出したカラムのデータを参照しながら、各カラムの値の組の出現回数をカウントし、結果を相関ルール記憶部１１０に書き込む。
【００１７】
カラム特性集約規則判定部１１５は、カラム特性記憶部１０８から読み出したカラム特性情報を参照しながら、相関ルール集約規則記憶部１０９から読み出した相関ルール集約規則を用いて相関ルール集約規則を選択し、相関ルール記憶部１１０が保持する相関ルールの情報に書き込む。また、カラム特性集約規則判定部１１５は、選択された相関ルール集約規則を用い、抽出済みの各相関ルールに対する相関ルール集約名を導出し、相関ルール記憶部１１０が保持する相関ルールの情報に書き込む。
【００１８】
相関ルール集約前処理部１１７は、相関ルール記憶部１１０から読み出した相関ルールを、再構成し、相関ルール記憶部１１０の情報を更新する。また、相関ルール集約前処理部１１７は、相関ルール記憶部１１０から相関ルールを読み出し、カラム値出現回数記憶部１２１から読み出したカラム値出現回数、および、相関ルール集約規則記憶部１０９から読み出した相関ルール集約規則を参照して必要な数値を算出することで、情報を補完した後、再度、相関ルール記憶部１１０の相関ルールとして書き込む。さらに相関ルール集約前処理部１１７は、相関ルール記憶部１１０から読み出した相関ルールの情報を用いて、相関ルールの指標値を算出し、相関ルールの情報を更新した後で、再度、相関ルール記憶部１１０の相関ルールとして書き込む。
【００１９】
相関ルール集約処理部１１８は、相関ルール記憶部１１０から読み出した相関ルールの情報を、相関ルールの集約名の共通性に基づいて集約した後、集約後相関ルールとして相関ルール集約結果記憶部１１１に書き込む。
【００２０】
集約結果妥当性判定部１１９は、相関ルール集約結果記憶部１１１から読み出した集約後相関ルールの情報を参照し、集約後相関ルール評価規則記憶部１１２から読み出した集約後相関ルール評価規則の情報を用いて補完した後、再度、集約後相関ルール記憶部１１１に書き込む。
【００２１】
集約結果視覚化処理部１２０は、装置の利用者の指示に従い、相関ルール集約結果記憶部１１１から相関ルール集約結果を読み出し、視覚的に理解容易な形式に変換した後、出力装置１０４に出力する。
【００２２】
図２は、本実施例の相関ルール分析装置の処理を説明するフローチャートの例である。以降、図２のフローチャートに基づいて、図１の各部の動作を説明する。
【００２３】
ステップ２０１は、相関ルール分析装置への入力情報として、RDBテーブルのデータを入力するステップである。入力操作は、装置の利用者が実施する。ステップ２０１では、入力装置１０３から入力されたRDBのデータのうち、１テーブルに対応するデータを、分析対象テーブルデータ記憶部１０６に書き込む。
【００２４】
図３は、本実施例のデータベースから読み込むテーブルのデータを説明するイメージ図の例である。入力データ３００は、計１０行のレコードを保持しており、各レコードは4つのカラム「更新年月日」３０１、「承認年月日」３０２、「作成者生年月日」３０３、「承認者生年月日」３０４のデータを持つ。また、ヘッダ行３０５には、各カラムを特定するための識別子が与えられているものとする。なお、ヘッダ行３０５に対応する情報は、入力情報として必須ではない。当該情報が分析装置への入力情報として与えられない場合には、分析装置１００内でカラム毎にユニークなIDを機械的に付与し、ヘッダ行３０５用の代替情報とし、以下のステップを進めればよい。
【００２５】
ステップ２０２は、相関ルール分析装置への入力情報として、分析対象のカラムの組を選択するステップである。選択操作は、装置の利用者が実施する。
カラムの組の情報は、「原因側カラム」「結果側カラム」の組によって構成される。「原因側カラム」「結果側カラム」については、本実施例のステップ２０５の説明、および、それ以降のステップの説明において記載する。本実施例では、以下、特に説明のない限り、装置の利用者が「原因側カラム」として「更新年月日」３０１を、また、結果側カラム名として「承認年月日」３０２を選択した場合を想定して説明をおこなう。なお、本ステップを省略し、各カラムの組み合わせそれぞれを分析対象とするとういうことでも良い。
【００２６】
以下のステップ２０３から２０９までは、入力情報をもとにした機械的な処理であり、人手を介することなくデータベース分析装置のみで実施できる処理である。
ステップ２０３では、カラム値出現回数カウント処理部１２２が、分析対象テーブルデータ記憶部１０６から読み出したカラムのデータを参照しながら、各カラムのデータの出現回数をカウントし、結果をカラム値出現回数記憶部１２１に書き込む。
【００２７】
図４は、本実施例のカラム値の出現回数をカウントする処理を説明するイメージ図の例である。カラム値出現回数カウント処理部１２２は、入力データ３００が保持するカラムのうち、ステップ２０２で選択されたカラムの組に含まれる各カラムについて、それぞれカラム値出現回数情報を作成する。図４に記載のカラム値出現回数情報４００は、図３に記載の「更新年月日」カラム３０１に対応するものである。カラム値出現回数情報４００は、カラム値４０１および出現数４０２を保持する。カラム値特性情報判定部１０６は、「更新年月日」カラム３０１の値を重複排除した上で、カラム値４０１の情報として保存する。また、カラム値特性情報判定部１０６は、「更新年月日」カラムのカラム値４０１の各値の出現回数を、「更新年月日」カラム３０１を参照することによってカウントし、出現数４０２の情報として登録する。
【００２８】
図４は「更新年月日」３０１に関する処理の説明であったが、ステップ２０２で選択したカラムの組に含まれる「承認年月日」３０２に関しても、同様の処理をおこなう。
ステップ２０４では、カラム特性判定部１１４が、カラム値出現回数記憶部１２１から読み出したカラム値の出現回数を参照しながら、カラム特性判定規則記憶部１０７から読み出したカラム特性判定規則を用いてカラム特性情報を作成し、カラム特性記憶部１０８に書き込む。
【００２９】
図５は、本実施例のカラム特性判定規則を説明するイメージ図の例である。カラム特性判定規則５００は、カラム特性名５０１、マッチ条件５０２を持つ。カラム特性名５０１は、カラム特性を特定する、ユニークなIDである。マッチ条件５０２は、ある値が当該カラム特性を持つと判定されるための条件を示すものであり、図５においては正規表現で示している。これは、あるカラムの出現値が一定割合以上、前記正規表現にマッチする文字列であった場合に、当該カラム特性である、と判定するということを意味している。本実施例においては、前記「一定の割合」は、カラム特性によらない閾値であり、80%であるものとする。なお、この閾値は、カラム特性毎に異なる値を用いても良い。
【００３０】
また、本実施例のように、カラムの値が文字列で与えられる場合、それを量的な値に変換するための関数として、変換ロジック５０３を持っていても良い。本実施例の以降では、特に断りがない場合でも、カラム値を半順序関係上で扱う場合においては、このような変換ロジックによって変換した後で評価・処理しているものとする。
【００３１】
図６は、本実施例のカラム特性情報を作成する処理を説明するイメージ図の例である。カラム特性情報６００は、カラム名６０１およびカラム特性名６０２を持つ。カラム特性判定部１１４は、カラム値出現回数情報４００に該当するカラム名を、カラム名６０１として記録する。また、カラム特性名６０２の判定のため、カラム特性判定部１１４は、各カラムについて、各カラム特性に対するマッチ条件５０２を満たすデータの割合を算出する。本実施例においては、「更新年月日」のカラム値４０１に対しては、カラム特性名「年月日」の場合に、各データがマッチし、100%となる。このマッチ割合が閾値80%を超えていることから、「更新年月日」のカラム特性は「年月日」であると判定し、判定結果のカラム特性名５０１をカラム特性情報６００のカラム特性名６０２として記録する。
なお、前記割合の算出においては、出現実数によって算出しても良いし、出現種数によって算出しても良い。
【００３２】
また、前記割合が、複数のカラム特性に対して一定以上となった場合については、前記割合が最高であるカラム特性を選択する、などによってひとつを決定すればよい。もしくは、ひとつのカラムが複数のカラム特性を持つものとして、カラム特性のそれぞれを採用するのでも良い。本実施例においては、簡便さのため、ひとつのカラムがひとつのカラム特性を持つものとして、以降のステップを説明する。
【００３３】
ステップ２０５では、相関ルール抽出処理部１１６が、分析対象テーブルデータ記憶部１０６から読み出したカラムのデータを参照しながら、各カラムの値の組の出現回数をカウントし、結果を相関ルール記憶部１１０に書き込む。
【００３４】
図７は、本実施例のカラム値の組の出現回数をカウントする処理を説明するイメージ図の例である。カラム間相関ルール情報７００は、原因側カラム名７０１、結果側カラム名７０２、原因側値７０４、結果側値７０５、件数７０６、集約規則７０７、原因側件数７０８、結果側件数７０９、Lift値７１０を保持する。うち、ステップ２０５では、原因側カラム名７０１、結果側カラム名７０２、原因側値７０４、結果側値７０５、件数７０６の情報の登録をおこなう。
【００３５】
相関ルール抽出処理部１１６は、ステップ２０２で選択された「原因側カラム」「結果側カラム」のカラム名を、それぞれ原因側カラム名７０１、結果側カラム名７０２として登録する。さらに相関ルール抽出処理部１１６は、入力情報３００のうち、それぞれ原因側カラム・結果側カラムである「更新年月日」３０１と「承認年月日」３０２について、組み合わせの重複排除をした上で、原因側値７０４、結果側値７０５の値の組として、保存する。また、相関ルール抽出処理部１１６は、前述の値の組の出現回数を、「更新年月日」３０１と「承認年月日」３０２の値を参照することによってカウントし、件数７０６の情報として登録する。
【００３６】
ステップ２０６では、カラム特性集約規則判定部１１５が、カラム特性記憶部１０８から読み出したカラム特性情報を参照しながら、相関ルール集約規則記憶部１０９から読み出した相関ルール集約規則を用いて相関ルール集約規則を選択し、相関ルール記憶部１１０が保持する相関ルールの情報に書き込む。
【００３７】
さらに、カラム特性集約規則判定部１１５は、選択された相関ルール集約規則を用い、抽出済みの各相関ルールに対する相関ルール集約名を導出し、相関ルール記憶部１１０が保持する相関ルールの情報に書き込む。
【００３８】
図８は、本実施例の相関ルール集約規則を説明するイメージ図の例である。相関ルール集約規則８００は、集約規則名８０１と、それに対応する原因側カラム特性名８０２、結果側カラム特性名８０３を持つ。また、ひとつの集約規則名８０１に対し、複数の集約名８０４、および、集約対象相関ルール判定ロジック８０５を持つ。集約対象相関ルール判定ロジック８０５に記載の情報は、いずれも２つの入力値をとり、真偽値を返す、関数の情報となっている。
【００３９】
図９は、本実施例の相関ルール集約規則を選択する処理を説明するイメージ図の例である。カラム特性集約規則判定部１１５は、カラム間相関ルール情報７００が保持する原因側カラム名７０１、結果側カラム名７０２に対応する情報を、カラム特性情報６００のカラム名６０１から同じカラム名を探し出すことにより、抽出する。さらにカラム特性集約規則判定部１１５は、前記カラム名６０１に対応するカラム特性名６０２を抽出する。その後、抽出したカラム特性名を原因側カラム特性名８０２、結果側カラム名８０３として持つ集約規則を、相関ルール集約規則８００から探し出す。図９においては、前記探し出した結果を明示的に示すため、集約規則名８０１を、カラム間相関ルール情報７００の集約規則７０７の付加情報７１２として記載している。
【００４０】
図１０は、本実施例の相関ルール集約名を導出する処理を説明するイメージ図の例である。
カラム特性集約規則判定部１１５は、カラム間相関ルール情報７００が保持する相関ルール１００１のうち、ひとつを選択する。その後、選択された相関ルールの原因値７０４、結果値７０４を入力パラメータとして、前述の探し出された集約対象相関ルール判定ロジック８０５の関数を、順次実行していく。実行により真という結果が得られた場合、その集約名８０４を、選択中の相関ルールの集約規則７０７として登録する。実行により偽という結果が得られた場合、真が得られるまで、本処理を繰り返す。関数それぞれについて偽であった場合には、集約規則７０６は空欄のままでよい。カラム間相関ルール情報７００が保持する各相関ルール１００１について、同様の処理をおこなうことにより、ステップ２０６を完了する。
【００４１】
ステップ２０７では、相関ルール集約前処理部１１７が、相関ルール記憶部１１０から読み出した相関ルールを、再構成し、相関ルール記憶部１１０の情報を更新する。
さらに相関ルール集約前処理部１１７は、相関ルール記憶部１１０から相関ルールを読み出し、カラム値出現回数記憶部１２１から読み出したカラム値出現回数、および、相関ルール集約規則記憶部１０９から読み出した相関ルール集約規則を参照して必要な数値を算出することで、情報を補完した後、再度、相関ルール記憶部１１０の相関ルールとして書き込む。
【００４２】
その後、相関ルール集約前処理部１１７は、相関ルール記憶部１１０から読み出した相関ルールの情報を用いて、相関ルールの指標値を算出し、相関ルールの情報を更新した後で、再度、相関ルール記憶部１１０の相関ルールとして書き込む。
【００４３】
図１１は、本実施例の相関ルールを再構成する処理を説明するイメージ図の例である。相関ルール集約前処理部１１７は、カラム間相関ルール情報７００が保持する相関ルール１００１のうち、同一の原因側値７０４・同一の集約規則７０７を持つ相関ルールの組み合わせを抽出する。抽出された相関ルールをひとつにまとめることにより、相関ルールを再構成する。再構成する際には、結果側値７０５については纏める前のルールが保持していた結果側値を列挙したもの、件数７０６については纏める前のルールが保持していた件数の和、とする。また、原因側値７０４、および、集約規則７０７については、纏める前のルールが保持していた値を用いれば良い。このような処理を、同一の原因側値７０４・同一の集約規則７０７を持つ相関ルールがなくなるまで実施することにより、再構成後のカラム間相関ルール情報を作成する。
【００４４】
図１２は、本実施例の再構成した相関ルールの原因側件数情報を補完する処理を説明するイメージ図の例である。相関ルール集約前処理部１１７は、カラム間相関ルール情報７００が保持する原因側カラム名７０１に対応するカラム値出現回数情報４００を、カラム値出現回数記憶部１２１から読み出す。その後、相関ルール情報７００が保持する再構成後の相関ルール１２０１の各々について、その原因側値７０４に該当する情報を、前述の読み出したカラム値出現回数情報４００のカラム値４０１から探し出し、探し出された結果に対応する出現回数４０２を、当該の相関ルール１２０１の原因側件数７０７として記録する。このような処理を、カラム間相関ルール７００が保持する各相関ルール１２０１について実施することにより、原因側件数７０８の情報を補完する。
【００４５】
図１３は、本実施例の再構成した相関ルールの結果側件数情報を補完する処理を説明するイメージ図の例である。相関ルール集約前処理部１１７は、カラム間相関ルール情報７００が保持する結果側カラム名７０２に対応するカラム値出現回数情報４００を、カラム値出現回数記憶部１２１から読み出す。その後、相関ルール集約前処理部１１７は、カラム間相関ルール情報７００が保持する再構成後の相関ルール１２０１のうちひとつを選択し、その集約規則７０７に該当する集約対象相関ルール判定ロジック８０５を、相関ルール集約規則記憶部１０９から読み出した相関ルール集約規則８００のうち同一の集約名８０４を持つ集約規則を探し出すことにより、抽出する。さらに相関ルール集約前処理部１１７は、選択中である再構成後の相関ルールの原因側値７０４を第一の入力パラメータ、前記読み出したカラム値出現回数情報４００の各カラム値を第二の引数として、前記抽出した集約対象相関ルール判定ロジック８０５を実行する。実行結果が真となったカラム値に対応する出現回数４０２の和を、選択中である最高生後の相関ルールの結果側件数７０９として書き込む。このような操作を、カラム間相関ルール情報７００が保持する各再構成後の相関ルール１２０１に対して実行することにより、結果側件数７０９の情報を補完する。
【００４６】
図１４は、本実施例の相関ルールの情報を補完する処理を効率的におこなうために用いるカラム値出現回数を説明するイメージ図の例である。図１３で説明した処理は、図１４に記載のカラム値出現回数４００のように、半順序関係に基づき、各範囲に該当する値の数をカウントしておくことにより、集約対象相関ルール判定ロジック８０５の都度の実行を省略できるため、処理を効率化できる。具体的には、まず、カラム間相関ルール情報７００の結果側カラム７０２に対応するカラム値出現回数情報４００について、そのカラム値４０１より前の日付の出現数１４０１、後の日付の出現数１４０２を、出現回数４０２の該当する範囲の値の和を計算することにより、算出する。相関ルール集約前処理部１１７は、再構成後の相関ルール１２０１に対する結果側件数７０９の情報を、原因側値７０４とカラム値４０１の対応関係、また、集約規則７０７の内容を参照し、カラム値出現回数４００から対応する箇所を探し出すことで、発見して補完する。
【００４７】
図１５は、本実施例の相関ルールの情報から指標値を算出して更新する処理を説明するイメージ図の例である。相関ルール集約前処理部１１７は、カラム間相関ルール情報７００が保持する、各再構成後の相関ルール１２０１に関し、次の値を計算することで、それぞれの相関ルールのLift値を算出する。
（当該相関ルールの件数／原因側件数） ／ （結果側件数／相関ルールの件数の合計）
算出した値は、各相関ルールのLift値７１０として、カラム間相関ルール情報７００に書き込む。書き込んだ結果のカラム間相関ルール情報７００によって相関ルール記憶部１１０の情報を更新することにより、本ステップを完了する。
【００４８】
なお、ここでは相関ルールの指標値としてLift値のみを算出しているが、相関ルールの他の指標値であるSupport値、Confidence値などを、本処理で併せて算出しても良い。
ステップ２０８では、相関ルール集約処理部１１８が、相関ルール記憶部１１０から読み出した相関ルールの情報を、相関ルールの集約名の共通性に基づいて集約した後、集約後相関ルールとして相関ルール集約結果記憶部１１１に書き込む。
【００４９】
図１６は、本実施例の相関ルールを集約する処理を説明するイメージ図の例である。相関ルール集約処理部１１８は、相関ルール記憶部１１０から読み出したカラム間相関ルール情報７００に対する集約後相関ルール１６００を作成する。集約後相関ルール１６００は、原因側カラム名１６０１、結果側カラム名１６０２、有効性１６０３、集約規則１６０４、原因側値１６０５、結果側値１６０６、件数１６０７、Lift値１６０８、Support値１６０９を持つ。相関ルール集約処理部１１８は、読み出したカラム間相関ルール情報７００の原因側カラム名７０１を集約後相関ルール１６００の原因側カラム名１６０１として、また、結果側カラム名７０２を集約後相関ルール１６００の結果側カラム名１６０２として、それぞれ登録する。その後、相関ルール集約処理部１１８は、カラム間相関ルール情報７００が保持する再構成後の相関ルール１２０１のそれぞれを、集約規則７０７が同一であるもののグループに分割する。さらに、相関ルール集約処理部１１８は、前述の分割されたグループ毎に、集約規則１６０４、原因側値１６０５、結果側値１６０６、件数１６０７、Lift値１６０８、Support値１６０９の情報を集約後相関ルール１６００に追加する。集約規則１６０４の情報には、当該グループの相関ルール１２０１に共通の集約規則７０７の値を記載する。原因側値１６０５の情報には、当該グループの相関ルール１２０１に出現する原因側値７０４の、半順序関係上の上限値・下限値として記載する。結果側値１６０６の情報には、当該グループの相関ルール１２０１に出現する結果側値７０５の、半順序関係上の上限値・下限値として記載する。件数１６０７には、当該グループの相関ルール１２０１の件数７０６の合計値を記載する。Lift値１６０８には、当該グループの相関ルール１２０１のLift値７１０の調和平均を記載する。Support値１６０９には、当該グループの相関ルール１２０１の件数７０６の合計を、対象となる全相関ルール１２０１の件数７０６の合計によって割った値を記載する。
【００５０】
なお、前述の分割された全てのグループについて、件数１６０７、Lift値１６０８、Support値１６０９の算出が完了した後、集約後相関ルール１６００の集計評価値１６１０としての件数１６０７、Lift値１６０８、Support値１６０９を算出しても良い。その場合、件数１６０７については、対象となる全グループの件数１６０７の合計値を算出し、記載する。Lift値１６０８については、対象となる全グループのLift値１６０８の調和平均を算出し、記載する。Support１６０９については、対象となる全グループのSupport値１６０９の合計値を算出し、記載する。
【００５１】
図１７は、本実施例の相関ルール集約結果のLift値による差異を説明するイメージ図の例である。集約後相関ルール１７０１は、本実施例において例題としてきた集約後相関ルールであり、図３の入力情報３００における「更新年月日」３０１を原因側カラム１６０１、かつ、「承認年月日」３０２を結果側カラム１６０２として導出したものである。また、集約後相関ルール１７０２は、前述の集約後相関ルール１７０１を導出する方法と同様の方法を用い、「承認者生年月日」３０４を原因側カラム１６０１、かつ、「承認年月日」３０２を結果側カラム１６０２として導出したものである。
【００５２】
これらの集約後相関ルールは、いずれもSupport値１６０９が100%であり、常に時間の前後関係が成り立っていることから、Support値の観点のみから判断すれば、仕様として有効なルールと思われるものである。しかしながら、相関ルール１７０２においては、Lift値１６０８が１．０と低い値になっており、仕様としての有用性が低いことを示している。
【００５３】
なお、Lift値は、「原因側値」によって「結果側値」がとりうる範囲が狭められる度合いを示す値であり、「原因側値」が規定されない場合を基準値（１．０）とした倍率によって示される値である。値が１．０である場合には、「原因側値」によって特に制約条件が加わっていないことから、相関ルールとしての有用性は低いと判断できる。
図１７の事例の前後関係の場合、本手法において算出したLift値１６０８は、原因側カラム１６０１と結果側カラム１６０２とのデータ分布領域の間の重複が皆無の場合には１．０となる。Lift値を参照することにより、そもそもデータ領域に重複がなく、仕様上、「原因側カラム」１６０１の特定の出現値によって「結果側カラム」１６０２の値が影響を受けているとは考えにくいようなものを発見することができる。
【００５４】
ステップ２０９では、集約結果妥当性判定部１１９が、相関ルール集約結果記憶部１１１から読み出した集約後相関ルールの情報を参照し、集約後相関ルール評価規則記憶部１１２から読み出した集約後相関ルール評価規則の情報を用いて補完した後、再度、集約後相関ルール記憶部１１１に書き込む。
【００５５】
図１８は、本実施例の相関ルール集約結果の情報を補完する規則を説明するイメージ図の例である。集約後相関ルール評価規則１８００は、１つ以上の集約後相関ルール有効性判定条件１８０１から構成されており、各々の集約後相関ルール有効性判定条件１８０１は、有効性情報１８０２を持つ。また、集約後相関ルール判定条件１８０１は、対象集約規則１８０３とSupport値条件１８０４の組を１つ以上保持している。なお、対象集約規則１８０３に記載の値は、相関ルール集約規則８００に記載の集約名８０４として使われている値のいずれかである。また、Support値条件１８０４に記載の内容は、数値の制約条件を示すものである。
【００５６】
図１９は、本実施例の相関ルール集約結果の情報を補完する処理を説明するイメージ図の例である。集約結果妥当性判定部１１９は、相関ルール集約結果記憶部１１１から読み出した集約後相関ルール１６００に対し、対応する集約後相関ルール判定条件１８０１を抽出する。具体的には、集約後相関ルール判定条件１８０１を、集約後相関ルール評価規則１８００の先頭から判定していき、最初に条件に合致した集約後相関ルール判定条件１８０１を抽出する。
【００５７】
集約後相関ルール判定条件１８０１の抽出にあたっては、当該の集約後相関ルール判定条件が保持するすべての対象集約規則１８０３とSupport値条件１８０４の組について、後述の条件を判定する。すべてのケースについて条件を満たしていた場合において、条件に合致したとものと判定し、当該の集約後相関ルール判定条件１８０１を抽出する。
【００５８】
対象集約規則１８０３とSupport値条件１８０４の組が示す条件の判定にあたっては、まず、対象集約規則１８０３と同じ値を持つ集約規則１６０４を集約後相関ルール１６００から探し出し、これに対応するSupport値１６０９の値を抽出する。対象集約規則１８０３と同じ値を集約規則１６０４が見つからなかった場合、Support値は0%であると見なす。その後、抽出されたSupport値が、Support値条件１８０４の制約条件を満たしているかを判定する。
【００５９】
なお、集約後相関ルール評価規則１８００から、集約後相関ルール１６００に対応する集約後相関ルール判定条件１８０１を抽出できなかった場合、集約後相関ルール１６００の有効性１６０３を空欄のままとして、ステップ２０９を完了してよい。空欄である状態は、集約後相関ルール１６００の内容は仕様として想定されたルール構成でないことを示すものであり、仕様としての有用度が低い情報であることを示すものである。
【００６０】
ステップ２１０は、本発明の利用者が、相関ルール分析装置１００によるデータの分析結果を、出力装置１０４を通じて取得するステップである。集約結果視覚化処理部１２０は、装置の利用者の指示に従い、相関ルール集約結果記憶部１１１から相関ルール集約結果を読み出し、視覚的に理解容易な形式に変換した後、出力装置１０４に出力する。なお、出力は、計算機で扱えるようテキストデータ又はバイナリデータとして出力しても良いし、開発者が閲覧できるようモニタに文字又はグラフィックを表示してもよい。
【００６１】
図２０は、本実施例の相関ルール集約結果を視覚的に理解容易な形式に変換する処理を説明するイメージ図の例である。相関ルール視覚化処理部１２０は、相関ルール集約結果記憶部１１１から集約後相関ルールを読み出す。さらに、読み出した集約後相関ルールのうち、装置の利用者が指定した有用度が高いもの（ここでは、有効性１６０３が「高」、かつ、Lift値１６０８が「1.05以上」のもの）を特定して抽出した後、出力装置１０４に出力する。
【符号の説明】
【００６２】
１００    相関ルール分析装置
１０１    ＣＰＵ
１０２    メモリ
１０３    入力装置
１０４    出力装置
１０５    外部記憶装置
１０６    分析対象テーブルデータ記憶部
１０７    カラム特性判定規則記憶部
１０８    カラム特性記憶部
１０９    相関ルール集約規則記憶部
１１０    相関ルール記憶部
１１１    相関ルール集約結果記憶部
１１２    集約後相関ルール評価規則記憶部
１１３    処理プログラム
１１４    カラム特性判定部
１１６    相関ルール抽出処理部
１１５    相関ルール集約規則判定部
１１７    相関ルール集約前処理部
１１８    相関ルール集約処理部
１１９    集約結果妥当性判定部
１２０    集約結果視覚化処理部
１２１    カラム値出現回数記憶部
１２２    カラム値出現回数カウント処理部
【図１】
2016014944.tif 000003
【図２】
2016014944.tif 000004
【図３】
2016014944.tif 000005
【図４】
2016014944.tif 000006
【図５】
2016014944.tif 000007
【図６】
2016014944.tif 000008
【図７】
2016014944.tif 000009
【図８】
2016014944.tif 000010
【図９】
2016014944.tif 000011
【図１０】
2016014944.tif 000012
【図１１】
2016014944.tif 000013
【図１２】
2016014944.tif 000014
【図１３】
2016014944.tif 000015
【図１４】
2016014944.tif 000016
【図１５】
2016014944.tif 000017
【図１６】
2016014944.tif 000018
【図１７】
2016014944.tif 000019
【図１８】
2016014944.tif 000020
【図１９】
2016014944.tif 000021
【図２０】
2016014944.tif 000022