【文献】
阿部 秀尚、外1名,慢性ウイルス性肝炎データマイニングへのWekaの適用,人工知能学会誌,日本,(社)人工知能学会,2004年 5月 1日,第19巻,第3号,p.347−354
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について添付図面を用いて説明する。
【0012】
図1は、本発明の実施例のデータ管理装置の一例を示すブロック図である。データ管理装置1は、基幹系システムを構成する業務アプリケーションとしてデータベース10から選択したデータに対してデータマイニングを行って新たな知識を取得し、新たな知識を業務アプリケーション340やデータウェアハウス11に反映する知識抽出システム30を実行する。
【0013】
データ管理装置1は、演算を行うCPU8と、データやプログラムを保持する主記憶装置2と、データベース10やプログラムを格納する補助記憶装置4と、ネットワーク500と通信を行うネットワークインタフェース5と、補助記憶装置4に読み書き行う補助記憶装置インタフェース3と、キーボードやマウスで構成された入力装置6と、ディスプレイやスピーカ等で構成された出力装置7と、から構成される計算機である。
【0014】
主記憶装置2には、オペレーティングシステム(OS)20がロードされCPU8によって実行される。そして、OS20上では、データベース10やデータウェアハウス11のデータに基づいて新たな知識を取得して、業務アプリケーション340やデータウェアハウス11に反映する知識抽出システム30が稼働する。
【0015】
知識抽出システム30は、基幹系システムと情報系システムで構成される。基幹系システムは、業務アプリケーション340と、予測OLAP分析330で構成される。業務アプリケーション340は、例えば、データベース10を管理するDBMS(Data Base Management System)で構成される。なお、図中DB1〜DB4は、業務毎のデータベースを示す。
【0016】
一方、情報系システムは、処理部として表定義処理310と、データロード処理部320と、データクレンジング部410と、データ選出部420と、データマイニング部430と、モデル評価部440と、知識反映部450を含む。なお、情報系システムで、予測OLAP分析330を使用しても良い。
【0017】
情報系システムは、後述するように、データクレンジング部410がデータベース10のデータについてデータクレンジングを行ってからデータウェアハウス11に格納する。データ選出部420は、データウェアハウス11に格納されているデータから分析するデータを選択し、分析データセット12を出力する。次に、データマイニング部430が分析データセット12を分析してモデル13を抽出する。次に、モデル評価部440により、モデル13を評価して有用な知識であれば知識反映部450によって、業務アプリケーション340に新たな知識を反映させる。なお、データウェアハウス11のデータは、基幹系システムから利用しても良い。
【0018】
CPU8は、各機能部のプログラムに従って処理を実行することによって、所定の機能を実現する機能部となる。例えば、CPU8は、表定義プログラムに従って処理を実行することで表定義処理310として機能する。他のプログラムについても同様である。さらに、CPU8は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0019】
知識抽出システム30の各機能を実現するプログラム、データまたはデータ構造等の情報は、補助記憶装置4や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0020】
補助記憶装置4には、解析するデータの元となるデータベース10と、データベース10から選択した分析対象のデータ等を格納するデータウェアハウス11と、データマイニングの対象となる分析データセット12と、データマイニングの結果としてのモデル13が格納される。
【0021】
なお、図示はしないが、上述したように、OS20や知識抽出システム30のプログラムを補助記憶装置4に格納することができる。
【0022】
また、
図1において、データベース10にはRDB(Relational Data Base)で構成されたDB1〜DB4が格納されている例を示すが、これらのデータベース10は、分析対象の元のデータであり、外部のデータベースの複製や部分などで構成することができる。
【0023】
本発明のデータ管理装置1では、データベース10のデータからデータマイニング部430によってモデル13を抽出し、当該モデル13を新たな知識として取得する処理(
図2の知識抽出プロセスの活用)と、新たな知識を業務アプリケーション340のデータベース10に反映する処理(
図2のデータ分析の活用)の2つの処理が繰り返して実行される。
図2は、データ管理装置で行われる処理の一例を示す概略図である。以下、
図2を参照しながら、本発明のデータ管理装置1で行われる処理の概要を説明する。
【0024】
まず、基幹系システムで生成されたデータベース10について、データクレンジング部410がデータクレンジングを実施する。データクレンジング部410では、データベース10から誤りや重複のあるデータを特定し、これらの特定したデータを取り除いてデータベース10の整合性を確保する。データクレンジングが完了したデータベース10のデータはデータウェアハウス11に格納される。
【0025】
次に、データ選出部420は、データマイニングの目的に応じてデータウェアハウス11に格納されたデータを選択し、分析データセット12を生成する。そして、データマイニング部430は、分析データセット12に所定のデータマイニングを適用することで、未知のモデル等の知識の抽出を行う。知識の一例としては、決定木13−1や、クラスタリング結果13−2等のモデル13である。なお、データマイニングの手法については、周知又は公知の手法を用いればよいので、ここでは詳述しない。
【0026】
モデル評価部440では、データマイニング部430で取得したモデルを可視化ツールで表示し、人の評価または評価値の算出によって、有用な知識として取得する。なお、可視化ツールは、データをグラフや表等で表示するソフトウェアである。なお、モデル評価部440は、人の評価に限定されるものではなく、モデル13の評価値を演算するソフトウェアを用い、評価値の大小によって有用な知識となるモデル13を判定するようにしても良い。データマイニングの手法によってこの評価値は異なるが、クラスタリングと決定木について示す。クラスタリングの場合、クラスタリング結果の人による評価は定性的で主観的になるので、定量的な評価尺度としてクラスタリング結果の各クラスタに関するエントロピー値(entropy)、また二乗誤差を用いて算出する各クラスタの凝集値(cohesion)、さらに二つのクラスタの重心間の距離を用いるクラスタ間の分離値(separation)などの大小によって判定する。決定木の場合、学習データを利用して作成される決定木によってどの程度の信頼性で予測が可能かをクロスバリデーション法で算出する予測精度の大小によって判定する。
【0027】
モデル評価部440の結果、有用な知識として、決定木やクラスタリング結果からなるモデル13が抽出される(S1)。なお、有用な知識としては、決定木やクラスタリング結果のモデル13に加えて、モデル13の定義を新たな知識としてもよい。
【0028】
次に、知識反映部450では、モデル評価部440で取得した知識(モデル)を業務アプリケーション340のデータや、データウェアハウス11のデータに反映して活用する。
【0029】
業務アプリケーション340に対する知識反映部450は、上記抽出された決定木やクラスタリング結果からなるモデル13をSQLのモデルに変換することで、業務アプリケーション340のデータベース10に新たな知識を反映させることが出来る(S3)。モデル13をSQLのモデルに変換する手法としては、後述するように、データマイニング部430により決定木を取得し、決定木または決定表をSQLで表現することで実現できる。
【0030】
また、データウェアハウス11に対する知識反映部450は、上記抽出された決定木13−1やクラスタリング結果13−2からなるモデル13を関係表14に変換してからデータウェアハウス(DWH)11に格納する(S2)。そして、データウェアハウス11に格納したモデル13を、再度データマイニングに加えて新たな知識の抽出を行う。関係表14は、例えば、クラスタリング結果や、決定表のSQL表現あるいは決定木のSQL表現を含むことができる。
【0031】
上記の手順からなる知識抽出のプロセスを繰り返し、新たに取得された知識(モデル13)を業務アプリケーション340やデータウェアハウス11に活用することによって、業務の分析を高度化することが期待できる。
【0032】
なお、新たに取得された知識(モデル13)を業務アプリケーション340で利用するか、データウェアハウス11で利用するかの判定をデータ管理装置1の利用者が行っても良い。例えば、モデル評価部440で評価を行った後に、モデル13を業務アプリケーション340とデータウェアハウス11のいずれで利用するかを入力装置6から受け付けて、利用者の指令に応じてモデル13の利用先を決定することができる。
【0033】
図3は、データベース10とデータウェアハウス11と分析データセット12とモデル13の関係を示すブロック図である。データ管理装置1は、予め設定された定義によりスタースキーマ130を構成する。
【0034】
図3において、データベース10にはRDB(Relational DataBase)で構成されたDB1〜DB4(
図1参照)が格納されている例を示すが、これらのデータベース10は、分析対象の元のデータであり、外部のデータベースの複製や部分などで構成することができる。
【0035】
そして、データベース10のデータのうち、分析対象のデータを時系列的に抽出したデータを、スタースキーマ130のファクト表110として用いる。
【0036】
スタースキーマ130で定義されたテーブル群は、データベース10を元データとするファクト表110と、分析または集計するデータを定義した複数の次元表120a〜120dとから構成される。なお、以下では、次元表の総称をデータベース10で示す。ファクト表110と次元表120(120a〜120d)は、主キーで関連付けられる。
【0037】
図3の例では、スタースキーマ130の構造が、ファクト表110に対して商品、顧客、期間、地域の次元表120a〜120dから構成される例を示す。
【0038】
このため、次元表120aは、商品名に関する商品次元表であり(
図8参照)、次元表120bは、期間に関する期間次元表であり(
図8参照)、次元表120cは、顧客に関する顧客次元表であり(
図8参照)、次元表120dは、地域名に関する地域次元表である(
図8参照)。
【0039】
また、データマイニングの目的に応じてデータウェアハウス11に格納された、スタースキーマ130からデータを選択し、分析データセット12を生成する(
図11、
図12、
図16参照)。
【0040】
さらに、データマイニング部430で抽出された決定木やクラスタリング結果からなるモデル13から、クラスタリング結果の関係表(
図11、
図13参照)14、決定木または決定表のSQL表現に変換する(
図15、
図17参照)。
【0041】
図4は、情報系システムと基幹系システムで行われる処理の一例を示すフローチャートである。データクレンジング部410は、データベース10のデータについてデータクレンジングを実施する。データクレンジング部410によって、整合性が保証されたデータをデータウェアハウス(図中DWH)11に保存される。
【0042】
データウェアハウス11では、予め設定したスタースキーマの定義520に基づいて、データベース10のデータからスタースキーマ130を構成する。
【0043】
次に、データ選出部420では、データウェアハウス11のスタースキーマ130から分析対象のデータを分析データセット12(学習データ)として抽出する。分析データセット12は、データウェアハウス11に格納された複数の次元表120a〜120d及び履歴表(ファクト表110)を、関連付けジョインや、集約等の問合せによって抽出する。
【0044】
データマイニング部430は、データウェアハウス11から抽出した分析データセット12に対してデータマイニングを実施し、決定木13−1やクラスタリング結果13−2等のモデル13を取得する。そして、決定木13−1やクラスタリング結果13−2を関係表14に変換する。
【0045】
モデル評価部440は、データマイニング部430で取得された知識、即ち決定木13−1、クラスタリング結果13−2等のモデル13や関係表14を可視化ツールで出力装置7に表示し、人による評価や解釈を経て有用な知識として取得する。なお、モデル評価部440では、予測OLAP分析330に基づくモデルの評価を行っても良い。
【0046】
一方、知識反映部450では、上記取得したクラスタリング結果のモデル13をSQLモデルへ変換してから関係表14(
図11、
図13参照)に変換してデータウェアハウス11に格納し(S2)、再度データマイニングの別の手法の適用や、異なるパラメータの適用を実施する。
【0047】
また、取得したモデル13や関係表14を基幹系システムの業務アプリケーション340に反映させる場合は、抽出された決定木やクラスタリング結果からなるモデル13から、クラスタリング結果の関係表(
図11、
図13参照)、決定木または決定表のSQL表現に変換(
図15、
図17参照)した関係表14を業務アプリケーション340に組み合わせる(S3)。これは、後述するように、予測OLAP分析330で新たなデータの属性値の予測を行うための決定木13−1をモデル13とする。
【0048】
特に、モデル評価部440では、カテゴリや分類を変えて分析評価を繰り返して試行錯誤しながらモデル13を作成する。例えば、収入は金額に応じてカテゴリ基準を決めることで、{高、低}のカテゴリ値に変換する。また、ある顧客が1週間にサイトをアクセスする回数は、アクセス回数が1回は少、2〜5回は中、6回以上は多という、カテゴリ基準を決めることで{多、中、少}の3値のカテゴリ値に変換します。このようなデータ処理は同じ分析データセット12に対して、カテゴリ基準を試行錯誤で変更しながらデータマイニング等の分析の設定パラメータが異なる分析を繰り返して行うことを特徴とする。
【0049】
図5は、データ管理装置1のデータマイニング部430で行われるクラスタリングの一例を示す図である。クラスタリングでは、母集団の分析データセット12のメンバ間の距離を、特定の属性に基づいて算出し、データ間の距離に基づく類似性でメンバの分類を行う。
【0050】
図5は、分析データセット12が、タブレットの契約月数と、契約者の年齢の関係を示すデータの例を示す。図中の手動は、人の経験や仮説によって分析データセット12を分類した例を示す。手動で分類した場合、図示のように契約月数の長短と、契約者の年齢の高低による分類は可能である。
【0051】
これに対して、データマイニング部430で、クラスタリング結果13−2をモデル13とする場合、人の経験や仮説では分類できないクラスタを抽出することができる。クラスタ1〜4は、各々のクラスタ内ではデータ間の距離が近いクラスタであるが、新たにクラスタNは年齢層が所定の範囲(契約者の年齢が中程度)のクラスタが見出せ、クラスタ1と3を含む。つまりクラスタリングによって、手作業では得られないクラスタNというモデルを取得することができるのである。
【0052】
このクラスタリングの結果に対してモデル評価部440で評価を行うことで、契約月数に係わらずクラスタNの中年齢層を抽出することができ、クラスタNに含まれる2つのクラスタ1と3の中年齢層に対して営業上の戦略を立案する等の知識を取得することができる。
【0053】
図6は、データ管理装置1のデータマイニング部430で行われる決定木13−1の一例を示す図である。決定木13−1は、過去のデータから生成されて、新たなデータについて予測を行うモデルである。図示の決定木13−1では、職業と年齢、趣向(映画の好き嫌い)及びタブレットの購入の有無から、推薦する商品を予測する構成となっている。なお、推薦商品の設定はデータ管理装置1の利用者等が行うものとする。
【0054】
上記の決定木13−1を、新たな顧客データに対して用いることで、新たな顧客毎に最適な商品を予測することが可能となる。
【0055】
次に、スタースキーマ130を生成するデータの一例を
図7、
図8に示す。
【0056】
図7は、スタースキーマ130の定義520の一例である。表定義処理310は、
図7のスタースキーマ130の定義520を読み込んで、
図8に示すファクト表(顧客売上履歴表110a)と次元表120a〜120dを生成する。
【0057】
定義520は、データベース10のデータの意味を記述する複数の次元表120a〜120dの定義と、データベース10のデータを、一元的な時系列データとして格納する履歴表(ファクト表)の定義が含まれる。
【0058】
図8は、スタースキーマを生成する際のデータの関係を示す図である。
図8は
図1に示したデータベース10を構成するデータベースDB1の販売データベースから、
図3に示した次元表120とファクト表110(顧客売上履歴表110a)を生成する例を示す。この処理は、
図1に示した知識抽出システム30の、表定義処理310で行われる。なお、本実施例では、ファクト表110として顧客売上履歴表110aを生成する例を示す。
【0059】
表定義処理310は、データベースDB1の販売データベースから顧客売上履歴表110aを生成する。顧客売上履歴表110aは、販売された商品識別子111と、当該商品を購入した顧客識別子112と、当該商品が販売された地域コード113と、当該商品が販売された時期を格納する期間コード114と、販売された価格を格納する売価115と、販売された個数116とを含んでひとつのレコード(または行)が構成される。なお、本実施例では、顧客売上履歴表110aの商品識別子111と、顧客識別子112と、地域コード113と、期間コード114とを複数の識別子からなる主キーとして扱い、売価115と個数116を属性として扱う。
【0060】
次に、表定義処理310は、顧客売上履歴表110aの商品識別子111を主キーとする商品次元表120aをデータベース10から生成する。商品次元表120aは、主キーとなる商品識別子121と、商品名122と、契約月数129を含んでひとつのレコード(または行)が構成される。そして、本実施例では、商品識別子121を顧客売上履歴表110aの商品識別子111に関連付けられた識別子として扱い、商品名122を属性として扱う。
【0061】
次に、表定義処理310は、顧客売上履歴表110aの顧客識別子112を主キーとする顧客次元表120cをデータベース10から生成する。顧客次元表120cは、主キーとなる顧客識別子125と、顧客名126、年齢126a、年齢126b、職業126c、収入126d、映画126eを含んでひとつのレコード(または行)が構成される。そして、本実施例では、顧客識別子125を顧客売上履歴表110aの顧客識別子112に関連付けられた識別子として扱い、顧客名126〜映画126eを属性として扱う。
【0062】
次に、表定義処理310は、顧客売上履歴表110aの地域コード113を主キーとする地域次元表120dをデータベース10から生成する。地域次元表120dは、主キーとなる地域コード127と地域名128を含んでひとつのレコード(または行)が構成される。そして、本実施例では、地域コード127を顧客売上履歴表110aの地域コード113に関連付けられた識別子として扱い、地域名128を属性として扱う。
【0063】
次に、表定義処理310は、顧客売上履歴表110aの期間コード114を主キーとする期間次元表120bをデータベース10から生成する。期間次元表120bは、主キーとなる期間コード123と属性としての期間名124を含んでひとつのレコード(または行)が構成される。そして、本実施例では、期間コード123を顧客売上履歴表110aの期間コード114に関連付けられた識別子として扱い、期間名124を属性として扱う。
【0064】
以上のように、表定義処理310は、分析対象に識別子を付与し、識別子に関連する属性を対応付ける。そして、識別子と、当該識別子に対応する属性を行として格納する複数の次元表120を作成する。複数の次元表の識別子に対応する複数の識別子と、当該複数の識別子に対応する属性を関連づけた行として格納する顧客売上履歴表110aを生成する。
【0065】
図9は、データ管理装置1で行われる表定義処理310の一例を示すフローチャートである。この処理は、データ管理装置1の利用者の指令に基づいて実行される。データ管理装置1は、
図7に示したスタースキーマ130の定義520を読み込んでから
図9の処理を開始する。
【0066】
データ管理装置1は、読み込んだ定義520に基づいて、分析対象を識別する主キーと、主キーに関連する複数の属性をそれぞれ列とする複数の次元表120a〜120dを定義する(S11)。
【0067】
データ管理装置1は、定義520に基づいて、複数の次元表の主キーを参照する複数の列から主キーを構成し、当該主キーに関連する複数の属性をそれぞれ列とする履歴表110aを定義する(S12)。
【0068】
上記の処理により、
図8で示したように、実世界のデータであるデータベース10の意味を記述する複数の次元表120a〜120dと、実世界のデータを一元的な時系列データとして格納する顧客売上履歴表110aが生成される。
【0069】
図10は、データ管理装置1のデータロード処理部320で行われる処理の一例を示すフローチャートである。この処理は、
図9の処理が完了した後に実行される。あるいは、データ管理装置1の利用者などが入力装置6から実行を指示したときに行われる。
【0070】
データロード処理部320は、表定義処理310が生成した分析対象の各次元表120a〜120dにデータベース10またはデータウェアハウス11からデータをロードする(S21)。
【0071】
次に、データロード処理部320は、表定義処理310が生成した分析対象の顧客売上履歴表110a(ファクト表110)にデータベース10からデータをロードする。そして、データロード処理部320は、次元表120a〜120dの主キーを参照する列情報と、それらの列に関連する属性を、行として顧客売上履歴表110aにロードする(S22)。
【0072】
以上の処理により、スタースキーマ130のファクト表110(顧客売上履歴表110a)と、次元表120a〜120dにデータベース10のデータが取り込まれる。
【0073】
図11は、クラスタリングの結果をデータウェアハウス11に反映させる一例を示す図である。この処理は、
図9の処理が完了した後に実行される。
【0074】
データマイニング部430は、データ選出部420によりデータウェアハウス11から抽出した分析データセット12についてデータマイニングを実施する。
図12は、データ選出部420が選択した分析データセット12の一例を示す図である。この例では、分析データセット12が、顧客id1211と、年齢1212と、契約月数1213からひとつのレコードを構成する例を示す。分析データセット12を構成する要素については、データ管理装置1の利用者が入力装置6等で次元表120a〜120dや顧客売上履歴表110aのデータを指定する。
【0075】
図12の例では、データ選出部420が、顧客次元表120cから顧客id125と年齢126bを取得する。次に、顧客売上履歴表110aから顧客id125に対応する商品識別子111を取得し、商品次元表120aから商品識別子111に対応する契約月数129を取得する。そして、データ選出部420は、顧客id125と年齢126bに、契約月数129を結合して、顧客id1211と、年齢1212と、契約月数1213にデータを書き込んで分析データセット12を生成する。
【0076】
次に、分析データセット12について、データマイニング部430でクラスタリングを行った結果、
図11のようなモデル13−2が得られる。モデル評価部440で評価を受けた後、知識反映部450はクラスタリング結果13−2のモデル13を後述するように、関係表14へ変換する。
【0077】
知識反映部450は、クラスタリング結果13−2を変換した関係表14をデータウェアハウス11に格納する。なお、知識反映部450は、クラスタリング結果13−2のモデル13から木構造を抽出して、この木構造をSQLに変換し、顧客売上履歴表110aや次元表120a〜120dに問い合わせることで関係表14を生成する。
【0078】
知識反映部450は、取得した知識を関係表14としてデータウェアハウス11に格納し、顧客売上履歴表110aや次元表120a〜120dの関連付けを行う。これにより、業務アプリケーション340等から、顧客売上履歴表110aや次元表120a〜120dとともにデータウェアハウス11に格納された関係表14に問合せることが可能となる。
【0079】
図13は、関係表14の一例を示す図である。関係表14は、クラスタの識別子を格納するクラスタid1411と、顧客id1412と、年齢1413と、契約月数1414からひとつのレコードを構成する例を示す。クラスタid1411はクラスタリング結果13−2に対応し、顧客id1412と年齢1413は、顧客次元表120cに対応し、契約月数1414は商品次元表120aに対応し、顧客次元表120cと商品次元表120aは顧客識別子112と商品識別子111で対応付けられる。知識反映部450は、関係表14の各フィールドが対応する次元表120a〜120dや顧客売上履歴表110aとの関係を、データウェアハウス11に格納しておくことができる。
【0080】
図14は、データ管理装置1で行われるクラスタリングの結果13−2を関係表14に変換する処理の一例を示すフローチャートである。
【0081】
基幹系システムの業務アプリケーション340で利用するデータベース10について、データクレンジング部410がデータクレンジングを実施する(S31)。データクレンジング部410によりデータベース10の整合性を確保し、データクレンジングが完了したデータベース10のデータはデータウェアハウス11に格納される。
【0082】
次に、データ選出部420により、データマイニングの目的に応じてデータウェアハウス11に格納されたデータを選択し、分析データセット12を生成する。分析データセット12は、データ選出部420が分析対象のデータを含む複数の次元表120a〜120dや顧客売上履歴表110a(ファクト表110)に対して、関連付けジョインや、集約等の問合せを行うことでデータウェアハウス11から抽出する(S32)。
【0083】
データマイニング部430は、分析データセット12に対してデータマイニングを実施し、モデル13を抽出する(S33)。このモデル13は、例えば、
図5のクラスタリング結果13−2や、
図6に示した決定木13−1として分析データセット12から抽出される。抽出されたモデル13を可視化して評価する場合には、上述のように可視化ツールを用いてモデルの評価(モデル評価部440)を行って抽出されたモデル13が新たな知識となるか判定する。なお、データマイニング部430によって抽出されたモデル13を、新たな知識として取得する場合には、モデル評価部440を省略してもよい。
【0084】
新たな知識として取得されたモデル13を、異なるデータマイニングを実施する場合、知識反映部450はモデル13を関係表14に変換してからデータウェアハウス11に格納する(S34)。
【0085】
以上のように、本実施例では、取得したモデル13を関係表14に変換してデータウェアハウス11に格納することで、再度データマイニングの他の手法を適用することができる。
【0086】
取得したモデル13を関係表14に変換しておくことで、データ選出部420ではデータベース10から生成した次元表120a〜120dや顧客売上履歴表110a(ファクト表110)とともに、新たな知識に基づく関係表14に問合せを行うことができる。
【0087】
そして、パラメータを変えてデータマイニングを繰り返すことで、試行錯誤しながらモデル13を生成することが可能となり、人の経験や仮説に頼ることなく、新たなモデル13を抽出し、取得することが可能となるのである。そして、取得したモデル13は、関係表14としてデータウェアハウス11に格納することで、上述のようにスタースキーマ130とともに問合せ可能となる。
【0088】
なお、データウェアハウス11に格納されるデータは、業務アプリケーション340で生成されたデータに限定されるものではなく、他の計算機システムで生成または収集されたデータに基づきデータマイニングを適用して得られるモデル、あるいはそのモデルから変換して得られる関係表であってもよい。
【0089】
図15〜
図19は、
図2、
図3のステップS3で示したように、データマイニング部430で得られた新しい知識としてのモデルを、知識反映部450がSQLモデル(SQL表現)に変換して、業務アプリケーション340で利用する例を示す。以下では、データウェアハウス11から抽出した分析データセット(学習データ)12'から、予測OLAP分析330で、新たなデータの属性の予測を行うための決定木13−1をSQL表現に変換する例を示す。
【0090】
図15は、データ選出部420がデータウェアハウス11から抽出した分析データセット12'にデータマイニングとして決定木の抽出を実施して、決定木13−1を取得した例を示す。
【0091】
図16は、分析データセット12'の一例を示す図である。この分析データセット12'は、
図12に示した分析データセット12とは異なるデータで構成される。
図16の例では、分析データセット12'が、顧客id1221と、年齢1222と、職業1223と、収入1224と、映画の好き嫌いを格納する映画1225と、タブレットを保有しているか否かを格納するタブレット保有1226からひとつのレコードを構成する例を示す。これらの分析データセット12'を構成する要素については、データ管理装置1の利用者が入力装置6等で次元表120a〜120dや顧客売上履歴表110aのデータを指定する。この例では、顧客次元表120cと商品次元表120a及び顧客売上履歴表110aにデータ選出部420が問合せて分析データセット12'を生成する。なお、分析データセット12'において、タブレット保有1226は、顧客id1221に対応する商品識別子111から商品次元表120aの商品識別子121を検索し、商品名にタブレットが存在すれば"あり"とし、存在しない場合は"なし"とする。
【0092】
データマイニング部430は、分析データセット12'に対して決定木の抽出を実施し、
図15に示す決定木13−1を取得する。この決定木13−1は、業務アプリケーション340に適用して、新たなデータの属性を予測するものである。本実施例では、予測する属性として、タブレットの保有の有無を予測する例を示す。
【0093】
知識反映部450は、決定木13−1を新たな知識としてのモデル13として取得する。知識反映部450はデータマイニングの結果として抽出された決定木13−1を、関係表14'に変換する。
【0094】
知識反映部450は、関係表14'として、決定木13−1の木構造から、
図15に示す決定木のSQL表現1310、または決定表のSQL表現1320に変換する。決定表のSQL表現1320は、職業1321、映画1322、年齢1323、タブレット保有1324からひとつのレコードが構成される。
【0095】
知識反映部450は、決定木13−1から決定木のSQL表現1310または決定表のSQL表現1320を生成し、
図17、
図18で示すように業務アプリケーション340に組み合わせる。
【0096】
図17は、データ管理装置1で行われる予測処理の説明図である。データ管理装置1は、「タブレット保有」のカラムが未定の新たなデータ100を受け付ける。データ管理装置1は、受け付けたデータ100に対して予測OLAP分析330を実施し、決定木のSQL表現1310または決定表のSQL表現1320を含む関係表14'を参照して、「タブレット保有」が「あり」と判定して、この予測値をデータ100に加える。そして、知識反映部450は、予測値を加えたデータ100'を、予測ファクト表110bとしてスタースキーマ130のファクト表110に追加する。
【0097】
このように、新たなデータを予測するためのSQL表現を決定木13−1から生成し、新たなデータの予測値をスタースキーマ130のファクト表110に追加することで、予測した値を業務アプリケーション340等で利用することができる。
【0098】
図18は、データ管理装置1で行われる予測処理の他の例を示す説明図である。
図15で示したように、新たな知識として取得した決定木のSQL表現1310(SQLモデル)または決定表のSQL表現1320を、業務アプリケーション340で利用する例を示す。この例では、見込み顧客に対するタブレットの販売の予測を、上記
図15で取得した決定木のSQL表現1310または決定表のSQL表現1320を用いて行うものである。
【0099】
図18において、スタースキーマ130のファクト表110には、2013年6月1日〜20日までの実際の売上(図中実算)と、予算が格納されている。業務アプリケーション340は、スタースキーマ130のファクト表110を読み込んで、タブレットの売り上げを出力装置7に表示する。
【0100】
予測の処理対象データは、
図18に示すように、タブレットの売り上げ見込み顧客のプロファイル200である。データ管理装置1は、プロファイル200から決定木のSQL表現1310(又は決定表のSQL表現1320)を用いて、各顧客毎のタブレットの保有の有無210を予測し、タブレットを保有していない人に、タブレットを販売したときの売上高の予測を行う。
【0101】
データ管理装置1の予測OLAP分析330は、プロファイル200を読み込んで、決定木のSQL表現1310を用いて顧客毎にタブレット保有の有無210を予測する。さらに、予測OLAP分析330は、タブレット保有の有無210から2013年6月21日〜30日の売り上げ予測を算出し、ファクト表110cとしてファクト表110に追加する。なお、各日にち毎の売上予測は、プロファイル200を日にち毎に分割したり、日にち毎のプロファイル200を用意することで算出する。
【0102】
業務アプリケーション340は、ファクト表110に加えて、予測データ(図中の予測21−30)のファクト表110cも読み込んで、2013年6月1日〜20日までの実際の売上(図中の実算1−20)を実線で表示し、また2013年6月1日〜20日までの予算を破線で表示し、さらに2013年6月21日〜30日までの予測値を点線で表示する。
【0103】
以上のように、情報システム系で分析データセット12'から得たモデル13(決定木13−1)をSQL表現(SQLモデル)の関係表14'に変換し、業務アプリケーション340で利用することにより、新たなデータの利用方法を提供することが可能となる。
【0104】
図19は、データ管理装置1で行われる予測処理の一例を示すフローチャートである。
【0105】
データクレンジング部410は、業務アプリケーション340で生成されたデータベース10について、データクレンジングを実施する(S41)。データクレンジング部410によってデータベース10のデータの整合性を確保した後に、当該データをデータウェアハウス11に格納する。
【0106】
次に、データ選出部420により、データウェアハウス11に格納されたデータを選択し、分析データセット12'を生成する。分析データセット12'は、データ選出部420が分析対象のデータを含む複数の次元表120a〜120dや履歴表110a(ファクト表110)に対して、関連付けジョインや、集約等の問合せを行うことでデータウェアハウス11から抽出する(S42)。
【0107】
データマイニング部430は、分析データセット12'に対してデータマイニングを実施して、モデル13を抽出する(S43)。このモデル13は、例えば、
図6に示した決定木13−1として分析データセット12から抽出される。なお、データマイニング部430によって抽出されたモデル13を、そのまま新たな知識として取得する場合には、モデル評価部440を省略してもよい。
【0108】
次に、データ管理装置1は、新たな知識として取得されたモデル13を関係表14'に変換する(S44)。この際、
図15で示したように、知識反映部450は、予測を可能にする決定木のSQL表現(または述語表現)1310または決定表のSQL表現1320から構成される関係表14'に変換する。
【0109】
次に、予測OLAP分析330は、新たなデータを受け付けると、決定木のSQL表現1310または決定表のSQL表現1320を用いて、予測した結果を新たなファクト表110cとして生成する(S45)。予測OLAP分析330は、新たに生成したファクト表110cをデータウェアハウス11に格納される顧客売上履歴表110aに加える(S46)。
【0110】
次に、知識反映部450は、取得した決定木のSQL表現1310または決定表のSQL表現を、業務アプリケーション340に組み合わせる(S47)。そして、業務アプリケーション340を実行することで(S48)、新たに加えたファクト表110cを既存のファクト表110と共に活用することができる。
【0111】
以上のように、分析データセット12からデータマイニング部430よって抽出したモデル13から、新たなデータを予測する決定木のSQL表現1310または決定表のSQL表現1320からなる関係表14'へ変換する。そして、決定木のSQL表現1310または決定表のSQL表現1320で予測したデータで新たなファクト表110cを追加し、既存のファクト表110に加える。そして、決定木のSQL表現1310または決定表のSQL表現1320を業務アプリケーション340に組み合わせることで、新たなファクト表110cを追加した既存のファクト表110を利用することが可能となるのである。換言すれば、決定木のSQL表現1310または決定表のSQL表現1320でデータの属性を予測し、予測した結果を業務アプリケーション340へ提供することで、既存の業務アプリケーション340に変更を加えることなく、新たなモデル13を利用することができるのである。
【0112】
以上のように、本実施例では、データマイニング部430で取得された知識、即ち決定木13−1、クラスタリング結果13−2等のモデル13と、基幹系システムの業務アプリケーション340のSQLデータモデルを組み合わせることができる。また、取得したモデル13を変換した関係表をデータウェアハウス11に格納して再度データマイニングの別の手法を適用することができる。つまり、決定木13−1、クラスタリング結果13−2からなるモデル13をSQLモデルに変換し、関係表14(または14')として表現することで、データウェアハウス11のファクト表(事実表)110、次元表120a〜120dとともに問合せが可能となる。
【0113】
そして、取得したモデル13の関係表14'への問合せ処理は、既存の業務アプリケーション340の変更なしに実行が可能である。また、同じ分析データセット12(12')に対してカテゴリや分類を変えて設定パラメータが異なる分析評価を繰り返すことで、試行錯誤しながら新たなモデル13を抽出することができる。特に、大量のデータに対して設定パラメータが異なる分析評価を繰り返すことで、人の経験や仮説に依存しない新たな知識、換言すれば新たなモデル13を抽出し、業務アプリケーション340に適用することが可能となるのである。
【0114】
また、上記実施例では、データマイニングの手法として決定木及びクラスタリングを示したが、この他の手法、例えば相関ルール抽出などにも適用が可能である。相関ルール抽出の場合、相関ルールはデータ項目が同時に発生するという共起性に着目して、複数のデータ項目間に有意な規則性を発見する。この規則性は、実施例に示唆する決定木のSQL表現(
図15、
図17の決定木のSQL表現1310)と同様に、CASE〜WHEN〜THEN〜のような表現が可能である。即ち、相関ルール抽出を適用することで、相関ルールのSQL表現(CASE〜WHEN〜THEN〜)を関係表14に反映できる(
図3、
図4の関係表14)。これによって、
図6に示す決定木を利用する商品推薦と同様に、相関ルール抽出に基づき、同時購入される商品の推薦などに適用が可能である。さらに、回帰分析、判別分析などその他の統計解析手法を適用してSQL表現(CASE〜WHEN〜THEN〜)を関係表14に反映できれば、同様に適用が可能である。
【0115】
また、上記実施例では、データベース10を管理する業務アプリケーション340と、データウェアハウス11と、知識抽出システム30を同一の計算機で提供する例を示したが、それぞれ異なる計算機で提供されても良い。例えば、業務アプリケーション340及びデータベース10を業務サーバで提供し、データウェアハウス11と知識抽出システム30を分析サーバで提供するようにしてもよい。
【0116】
また、本実施例では、補助記憶装置4を含む計算機でデータ管理装置を構成する例を示したが、ネットワークを介してデータ管理装置1と補助記憶装置が接続される構成であっても良い。
【0117】
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
【0118】
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
【0119】
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。