(57)【特許請求の範囲】
【請求項１】
全トランザクションについてアイテム別に出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、これにより得られる表をセルフジョイン（SELF JOIN）して２つのアイテムの同時出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、抽出されたアイテムの組について最小コンフィデンス値以上の相関規則を生成する相関規則発見手法を用いた情報分析方法において、
トランザクション追加情報が入力された際、データベースに格納された追加前のマイニング結果のアイテム組の出現頻度に、追加情報中における、追加前のデータマイニング結果で共通するアイテム組の出現頻度を加算することによって第１分析結果情報を得るとともに、前記追加情報のアイテム組毎の出現頻度を求めることによって第２分析結果情報を得るステップと、
前記第１分析結果情報と第２分析結果情報のうち前記第１分析結果情報に存在しないアイテム組を選択したものとの和を求めることによって第３分析結果情報を生成するステップと
を有することを特徴とする情報分析方法。
【請求項２】
前記第２分析結果情報とともに、分析を行った時刻を特定する情報および累積頻度を特定する情報を次の情報追加時に過去の情報を削除するために利用する分析結果情報として保存するステップを含むことを特徴とする請求項１記載の情報分析方法。
【請求項３】
全トランザクションについてアイテム別に出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、これにより得られる表をセルフジョイン（SELF JOIN）して２つのアイテムの同時出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、抽出されたアイテムの組について最小コンフィデンス値以上の相関規則を生成する相関規則発見手法を用いた情報分析方法であって、
トランザクション情報が追加および削除された際、データベースに格納された追加前のマイニング結果のアイテム組の出現頻度に、追加情報中における、追加前のマイニング結果で共通するアイテム組の出現頻度を加算することによって第１分析結果情報を求めるとともに、前記追加情報のアイテム組毎の出現頻度を求めることによって第２分析結果情報を求めるステップと、
前記第１分析結果情報から削除すべき分析結果情報を減じて得られる分析結果情報と前記第２分析結果情報のうち前記第１分析結果情報に存在しないアイテム組を選択したものとの和を求めることによって第３分析結果情報を生成するステップと
を有することを特徴とする情報分析方法。
【請求項４】
全トランザクションについてアイテム別に出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、これにより得られる表をセルフジョイン（SELF JOIN）して２つのアイテムの同時出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、抽出されたアイテムの組について最小コンフィデンス値以上の相関規則を生成する相関規則発見手法を用いた情報分析装置において、
トランザクション追加情報を生成する追加情報発生部と、前記追加情報が入力された際、データベースに格納された追加前のマイニング結果のアイテム組の出現頻度に、追加情報中における、追加前のマイニング結果で共通するアイテム組の出現頻度を加算することによって第１分析結果情報を生成する検証部と、
前記追加情報のアイテム組毎の出現頻度を求めることによって第２分析結果情報を生成する新規マイニング部と、
前記第１分析結果情報と前記第２分析結果情報のうち前記第１分析結果情報に存在しないアイテム組を選択したものとの和を求めることによって第３分析結果情報を生成する合成部と
を具備することを特徴とする情報分析装置。
【請求項５】
前記第２分析結果情報とともに、分析を行った時刻を特定する情報および累積頻度を特定する情報を次の情報追加時に過去の情報を削除するために利用する分析結果情報として保存する保存部を含むことを特徴とする請求項４記載の情報分析装置。
【請求項６】
全トランザクションについてアイテム別に出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、これにより得られる表をセルフジョイン（SELF JOIN）して２つのアイテムの同時出現頻度を求め、この出現頻度が最小サポート値以下のアイテムを除去し、抽出されたアイテムの組について最小コンフィデンス値以上の相関規則を生成する相関規則発見手法を用いた情報分析装置において
情報が追加および削除された際、データベースに格納された追加前のマイニング結果のアイテム組の出現頻度に、追加情報中における、追加前のマイニング結果で共通するアイテム組の出現頻度を加算することによって第１分析結果情報を得る検証部と、
前記追加情報のアイテム組毎の出現頻度を求めることによって第２分析結果情報を得る新規マイニング部と、
前記第１分析結果情報から削除すべき分析結果情報を減じて得られる分析結果情報と前記第２分析結果情報のうち前記第１分析結果情報に存在しないアイテム組を選択したものとの和を求めることによって第３分析結果情報を生成する合成部と
を具備することを特徴とする情報分析装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、相関規則発見手法を用いた情報分析方法および装置に関する。
【０００２】
【従来の技術】
大規模データべースから知識を抽出する技術としてデータマイニングが注目されている。データマイニングの手法としては、決定木、ニューラルネット、相関規則発見、クラスタリングなど様々な手法が提案されている。これらの手法によりデータべースの中に隠されている特徴を抽出し、マーケテイングなどのさまざまな分野への応用が期待されている。
【０００３】
一般にマイニングの対象とするデータべースは基幹システムで運用中のものではなく、定期的にスナップショットをとり、別のデータべース（データウエアハウス）として構築したものを利用する。そのため、データべースの更新はリアルタイムに反映されず、一定期間の後に追加されたデータを一括して追加することにより行われるのが通常である。このため、データべース全体にわたる傾向を把握するには定期的なデータの追加が行われる度にデータべース全体についてマイニングを行う必要がある。マイニングの対象となるデータべースは膨大な場合が多く、データの追加の都度にデータべース全体についてマイニングを実行するのには多大な実行時間を要している。
【０００４】
相関規則発見は代表的なマイニング手法の一つであり、小売業におけるバスケット分析を行う手法として利用されている。バスケット分析とは、顧客が１トランザクションで同時に購入するアイテムの組を分析する手法であり、例えば「ビールを買う顧客は同時に紙おむつも買う」というような相関規則が発見できる。この処理は以下のような手順で行われる。
【０００５】
１：全トランザクションについてアイテム別に出現頻度を求める。
２：出現頻度が最小サポート値以下のアイテムを除去する。
３：この表をセルフジョイン（ＳＥＬＦ  ＪＯＩＮ）して２つのアイテムの同時出現頻度を求める。
４：出現頻度が最小サポート値以下のアイテムを除去する。
５：抽出されたアイテムの対について最小コンフィデンス値以上の相関規則を生成する。
【０００６】
さらに、これを繰り返して、３個以上のアイテムの組についても同様に相関規則を生成する。なお、最小サポート値、最小コンフィデンス値はユーザが初期設定するものであり、｛Ａ１．Ａ２…Ａｎ｝→Ｂという形式の相関規則に関して、サポート値、コンフィデンス値は以下のように定義される。
【０００７】
サポート値＝（Ａ１．Ａ２…Ａｎ、Ｂの出現回数）／全トランザクション数
コンフィデンス値＝（Ａｌ．Ａ２…Ａｎ、Ｂの出現回数）／（Ａ１．Ａ２…Ａｎの出現回数）
この２つを用いて、出現頻度の高いアイテム間の相関測則が抽出される。
【０００８】
【発明が解決しようとする課題】
従来では、アイテム別の出現頻度、およびアイテムの組の出現頻度を求めるにはデータべース全体をサーチする必要がある。あるいは、アイテム毎にインデックスが作成されている場合には、インデックス全体をサーチする必要がある。また、最小サポート値以上のアイテムが多数ある場合には、セルフジョイン操作に要する処理が膨大となる。このように相関規則発見では大規模なデータべース全体に対して分析するのに、多大な処理時間を要する。
【０００９】
即ち、従来の方法では、データべースの内容が追加される度に、データべース全体にわたって再度マイニングを行う必要があり、その都度多大な処理時間を要していた。
【００１０】
従って、本発明の目的は、データべースの追加された部分のみに関する情報分析（マイニング）、および情報の追加以前に行われた情報分析（マイニング）結果を利用することにより、最新のデータべースの内容に含まれる特徴を効率よく抽出する情報分析方法および装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、相関規則発見手法を用いた情報分析方法であって、追加情報が入力された際、既存の分析結果情報を前記追加情報にて検証して第１分析結果情報を得るとともに前記追加情報を分析して第２分析結果情報を得るステップと、前記第１分析結果情報と第２分析結果情報とを合成し、第３分析結果情報を生成するステップと有することを特徴とする情報分析方法を提供する。
【００１２】
本発明は、相関規則発見手法を用いた情報分析方法であって情報が追加および削除された際、既存の分析結果情報を追加情報にて検証して第１分析結果情報を求めるとともに前記追加情報を分析して第２分析結果情報を求めるステップと、前記第１分析結果情報から削除すべき分析結果情報を減じて得られる分析結果情報と前記第２分析結果情報を合成して、第３分析結果情報を生成することを特徴とする情報分析方法を提供する。
【００１３】
特に本発明は、相関規則発見において情報が追加されたとき、追加情報のみをマイニングして追加情報マイニング情報を生成し、情報追加以前の情報のマイニングより得られた過去のマイニング情報に対して前記追加情報により相関規則の検証を行い、この検証結果に従って過去のマイニング情報に追加情報のマイニング情報を合成して、追加情報を含むデータべース全体のマイニング結果を生成することを特徴とするインクリメンタル情報マイニング方法を提供する。
【００１４】
本発明は、相関規則発見手法を用いた情報分析装置であって、追加情報を入力する手段と、前記追加情報が入力された際、既存の分析結果情報を前記追加情報にて検証して第１分析結果情報を生成する手段と、前記追加情報を分析して第２分析結果情報を生成する手段と、前記第１分析結果情報と前記第２分析結果情報とを合成し、第３分析結果情報を生成する手段とを具備することを特徴とする情報分析装置を提供する。
【００１５】
本発明は、相関規則発見手法を用いた情報分析装置であって、情報が追加および削除された際、既存の分析結果情報を追加情報にて検証して第１分析結果情報を得る手段と、前記追加情報を分析して第２分析結果情報を得る手段と、前記第１分析結果情報から削除すべき分析結果情報を減じて得られる分析結果情報と前記第２分析結果情報を合成して、第３分析結果情報を生成する手段とを具備することを特徴とする情報分析装置を提供する。
【００１６】
本発明は、相関規則発見において情報を追加する手段と、追加情報のみをマイニングして抽出し、第１のマイニング結果情報を生成する新規マイニング手段と、追加される以前の情報のマイニングにより得られた過去マイニング結果情報を前記追加情報により検証して第２のマイニング結果情報を生成する検証手段と、この検証手段により得られる前記第２のマイニング結果情報と前記第１のマイニング結果情報とを合成して、前記追加情報を含むデータべース全体のマイニング結果を生成する合成手段とで構成されることを特徴とするインクリメンタル情報マイニング装置を提供する。
【００１７】
本発明によると、追加情報のみについてマイニングを行い、情報の追加以前に行われたマイニング結果を利用することにより、最新のデータべースの内容に含まれる特徴が効率よく抽出される。従って、情報が追加されるときに大規模データべース全体を取扱う必要がなく、日常的に行われる情報マイニング操作を大幅に高速化することが可能となる。
【００１８】
【発明の実施の形態】
図１は、この発明のインクリメンタルデータマイニング方法を実現するシステムの構成を示している。これによると、過去マイニング系と新規マイニング系が示されている。過去マイニング系は、原データベース１１と過去マイニング部１２とを含む。原データベース１１は過去に収集された多数のアイテムデータを格納しており、過去マイニング部１２は過去のデータに対してマイニングを行い、過去のマイニング結果１３を生成する。
【００１９】
新規マイニング系は、追加データ発生部２１，新規マイニング部２２，検証部２３および合成部２４により構成される。追加データ発生部２１の出力は新規マイニング部２２および検証部２３に接続され、新規マイニング部２２および検証部２３の出力は合成部２４に接続される。
【００２０】
新規マイニング部２２は、従来のマイニングと同様の処理を行うが、データべース全体ではなく、追加データのみについてマイニングを行う。従って、マイニング処理が、従来と比べて大幅に高速化できる。検証部２３は過去のマイニング結果が現在のデータべースに対しても引き続き成立するか否かを検証するものである。具体的には、この検証部２３は、過去のマイニング結果、即ち過去の相関規則が追加データに対して成り立つかを検証する。合成部２４は新規マイニング部２２と検証部２３の結果を合成して出力するとともに、次回のマイニングにおける検証部の判断に必要な情報を生成する。
【００２１】
一般に未知のデータをマイニングして知識を抽出するよりも、過去に抽出された知識が現在に当てはまるかどうかを検証する方が容易である。例えば相関規則発見においては、過去に抽出された知識としてアイテムの組を想定すると、これらが追加データ中に存在する頻度を数えれば追加データに対して過去のマイニング結果が当てはまるか否かを容易に検証することができる。このため、追加されたデータを含むデータべース全体に対するマイニングの高速化が可能となる。
【００２２】
（第１の実施形態）
本発明の第１の実施形態のインクリメンタルデータマイニング方法を説明する。先ず、４つのトランザクションについてデータマイニングを行う過去マイニング系を図２のフローチャートを参照しながら説明する。この例では、各トランザクションは一回の消費者の購入に相当し、ユニークな識別番号（ＴＩＤ）が与えられる。この場合、トランザクションは、１００、２００、３００、４００の４つとする。Ａ、Ｂ、Ｃ、Ｄ、Ｅは個々のアイテムを表す。各トランザクション毎に購入したアイテムのリストは表１に示すものと仮定する。
【００２３】
表１
ＴＩＤ            アイテムリスト
１００            （Ａ、Ｃ、Ｄ）
２００            （Ｂ、Ｃ、Ｅ）
３００            （Ａ、Ｂ、Ｃ、Ｅ）
４００            （Ｂ、Ｅ）
上記のアイテムリストが原データベース１１から読み出され（Ｓ１１）、過去マイニング部１２に送られると、これからアイテム毎の出現頻度が求められる（Ｓ１２）。このときに得られる出現頻度が表２に示される。
【００２４】
表２
アイテム        出現頻度
Ａ              ２
Ｂ              ３
Ｃ              ３
Ｄ              １
Ｅ              ３
ここで、最小サポート値を０．３とし、頻度の低いアイテムを除去する（Ｓ１３）。すなわちトランザクション数が４であるので、出現頻度が１．２未満のものを除去する。ここではアイテムＤが除去される。残った４つのアイテムに関してセルフジョイントを行い（Ｓ１４）、アイテムの組を生成する。この後、元のトランザクションデータよりアイテム組の出現頻度を求める（Ｓ１５）と、アイテム組の出現頻度は表３のようになる。
【００２５】
表３
アイテム組              出現頻度
（Ａ、Ｂ）                  １
（Ａ、Ｃ）                  ２
（Ａ、Ｅ）                  １
（Ｂ、Ｃ）                  ２
（Ｂ、Ｅ）                  ３
（Ｃ、Ｅ）                  ２
この中で、（Ａ、Ｂ）、（Ａ、Ｅ）は出現頻度が最小サポート値（１．２）未満であるので除去する（Ｓ１６）。除去後も、複数個のアイテム組が得られるので処理は継続する（Ｓ１７）。即ち、処理はステップＳ１４に戻り、２つ組のセルフジョインが取られる（Ｓ１４）。これにより、アイテムの３つの組が生成される。トランザクションデータより出現頻度を求めるとアイテム組（Ｂ、Ｃ、Ｅ）の出現頻度が２であることがわかり、それ以外には解がないことが分かる。ここでループは終了する（Ｓ１７）。
【００２６】
ここまでの処理により検出されたアイテム組を用いて相関規則を生成するには、アイテムの組の要素をコンフィデンス値により規則の左辺と右辺に分解すればよい。
【００２７】
コンフィデンス値＝（左辺と右辺の出現回数）／（左辺の出現回数）
により定義されているので、例えば（Ａ、Ｂ）については
Ａ→Ｂのコンフィデンス値＝１／２
Ｂ→Ａのコンフィデンス値＝１／３
となる。これらより、最小コンフィデンス値以上のものが生成される相関規則となる。即ち、最小コンフィデンス値以上のものがマイニング結果として出力される（Ｓ１８）。なお、本アルゴリズムにおいて処理上のボトルネックとなる部分は最小サポート値以上のアイテム組を求める部分であり、マイニング結果としては最小サポート値以下のアイテム組を出力するところまでを対象とする。従って、この例に関するマイニング結果は表４に示すように、アイテム組と、それぞれの出現頻度とする。
【００２８】
表４
アイテム組              出現頻度
（Ａ、Ｃ）                  ２
（Ｂ、Ｃ）                  ２
（Ｂ、Ｅ）                  ３
（Ｃ、Ｅ）                  ２
（Ｂ、Ｃ、Ｅ）              ２
次に、追加データがある場合について新規マイニング部の動作を図３のフローチャートを参照しながら説明する。上記のデータべースに対する追加データは表５に示すものとする。
【００２９】
表５
ＴＩＤ                    アイテムリスト
５００                    （Ａ、Ｂ、Ｃ）
６００                    （Ａ、Ｃ、Ｅ）
７００                    （Ｂ、Ｅ、Ｆ）
８００                    （Ａ、Ｂ、Ｆ）
この追加データが入力されると（Ｓ２１）、この追加データについて出現頻度が求められる（Ｓ２２）。このときに得られる出現頻度が表６に示される。
【００３０】
表６
アイテム        出現頻度
Ａ              ３
Ｂ              ３
Ｃ              ２
Ｅ              ２
Ｆ              ２
ここで、最小サポート値を０．３とし、頻度の低いアイテムを除去する（Ｓ２３）。すなわちトランザクション数が４であるので、出現頻度が１．２未満のものを除去する。ここでは除去対象アイテムがないので、５つのアイテムに関してセルフジョイントを行い（Ｓ２４）、アイテム組を生成する。この後、元のトランザクションデータよりアイテム組の出現頻度を求める（Ｓ２５）と、アイテム組の出現頻度は表７のようになる。
【００３１】
表７
アイテム                出現頻度
（Ａ、Ｂ）                  ２
（Ａ、Ｃ）                  ２
（Ｂ、Ｆ）                  ２
（Ｅ、Ｆ）                  １
この中で、（Ｅ、Ｆ）は出現頻度が最小サポート値未満であるので除去する（Ｓ２６）。これにより、３つのアイテム組が生成される。トランザクションデータより出現頻度を求めるとこれらアイテム組の出現頻度が２であることがわかり、それ以外には解がないことが分かる。ここでループは終了する（Ｓ１７）。そして最小サポート値以上のアイテムの組が選ばれる（Ｓ２８）。これにより、表８に示すアイテム組とその出現頻度が得られる。これは追加データのみに関する結果に相当する。
【００３２】
表８
アイテム                出現頻度
（Ａ、Ｂ）                  ２
（Ａ、Ｃ）                  ２
（Ｂ、Ｆ）                  ２
次に、追加データを加えたデータべース全体のマイニングについて説明する。まず、単純に追加前のマイニング結果と追加データに関するマイニング結果を合計するだけでは正しいマイニング結果が得られないことを説明する。
【００３３】
表４に示した追加前のマイニング結果と表８に示した追加データのマイニング結果を合計すると、トランザクション数は８となるので最小サポート値０．３とすると頻度が２．４以上のアイテム組として表９に示す２つのアイテム組が得られる。
【００３４】
表９
アイテム              出現頻度
（Ａ、Ｃ）                  ４
（Ｂ、Ｅ）                  ３
一方、追加データを予め元のデータべースに加えて、全体からマイニングを行うと、頻度が２．４以上のアイテムの組として表１０に示す結果が得られる。
【００３５】
表１０
アイテム              出現頻度
（Ａ、Ｂ）                  ３
（Ａ、Ｃ）                  ４
（Ｂ、Ｃ）                  ３
（Ｂ、Ｅ）                  ４
（Ｃ、Ｅ）                  ３
表９と表１０を比べればわかるように、追加前と追加後のマイニング結果を合計するだけでは、全体でマイニングして得られた５つの結果の中で、分割してマイニングした結果を合計して得られるのは２つのみとなり、３つの情報が失われることがわかる。
【００３６】
本発明の方法は、追加前のマイニング結果を追加データに対して検証し、これに追加データのマイニング結果を合成するというものである。以下この手法について図４および図５のフローチャートを参照して説明する。
【００３７】
追加前のデータ（ＴＩＤ＝１００〜４００）に対するマイニング結果、即ち過去のマイニング結果が求められる（Ｓ３１）。このマイニング結果は、表４と同じである。これらについて、追加データ（ＴＩＤ＝５００〜８００）に対して検証を行う。すなわち、追加データ中の出現頻度が算出され（Ｓ３２）、そしてアイテム組が追加データの中に現れる頻度に加算される（Ｓ３３）。検証結果を加えたマイニング結果は、表１１に示すようになる。
【００３８】
表１１
アイテム                出現頻度
（Ａ、Ｃ）           ２＋２＝４
（Ｂ、Ｃ）           ２＋１＝３
（Ｂ、Ｅ）           ３＋１＝４
（Ｃ、Ｅ）           ２＋１＝３
（Ｂ、Ｃ、Ｅ）              ２＋０＝２
（Ａ、Ｃ）、（Ｂ、Ｃ）、（Ｂ、Ｅ）、（Ｃ、Ｅ）は最小サポート値と比較される（Ｓ３４）。最小サポート値×トランザクション数以上の出現頻度を持つアイテム組が合成部２４に渡される（Ｓ３５）。
【００３９】
また、追加データのみに対するマイニング結果は、表８に示した通りであり、下表１２に示すように３個のアイテム組が得られる。これが合成部２４に渡される。
【００４０】
表１２
アイテム              出現頻度
（Ａ、Ｂ）                  ２
（Ａ、Ｃ）                  ２
（Ｂ、Ｆ）                  ２
合成部２４では、図５のフローチャートに示すように新規マイニング部２２の結果（Ｓ４１）と検証部２３のデータ（Ｓ４２）とを合成し、追加のマイニング結果を生成する。この合成において、生成される規則が過去のマイニング結果からの継続と新規マイニング結果の両方に存在するかが判定される（Ｓ４３）。この判定がＮＯであれば、新規マイニング部の出力のみに存在するかが判定される（Ｓ４４）。規則が両方に存在すれば、継続として出力される（Ｓ４５）。規則が新規マイニング部にのみに存在すれば、新規出力として出力される（Ｓ４６）。このとき、それぞれの規則に継続／新規の区別が併記される。合成の結果は表１３のようになる。
【００４１】
表１３
アイテム組              出現頻度
（Ａ、Ｃ）                  ４      継続
（Ｂ、Ｃ）                  ３      継続
（Ｂ、Ｅ）                  ４      継続
（Ｃ、Ｅ）                  ３      継続
（Ａ、Ｂ）                  ２      新規
（Ｂ、Ｆ）                  ２      新規
この追加のマイニング結果と、追加データを加えた全体でマイニングを行った結果（表１０）とを比べてみると、全体でマイニングを行った場合に見つかった５個の規則はすべて含まれており、さらに（Ｂ、Ｆ）が本発明の手法で新たに抽出されている。これは、本発明の手法において継続的に発生する特徴を抽出する能力はデータべース全体でマイニングを行った結果と等価であり、それに加えて新規データのみについて含まれている特徴（Ｂ、Ｆ）を摘出する能力があることを示している。
【００４２】
以上ではデータが１度だけ追加される場合について説明したが、データが継続的に追加され、その度にマイニングを行う場合について説明する。この場合のシステムの構成が図６に示されている。これによると、初期マイニング系と新規マイニング系が示されている。初期マイニング系は、初期データベース３１と初期マイニング部３２とを含む。初期データベース３１は初期に収集された多数のアイテムデータを格納しており、初期マイニング部３２は初期のデータに対してマイニングを行い、初期のマイニング結果３３を生成する。
【００４３】
新規マイニング系は、図１と同様に追加データ発生部２１，新規マイニング部２２，検証部２３および合成部２４により構成される。このシステムによると、合成部２４の出力がマイニング結果として次回に用いられる。
【００４４】
例えば毎月１回データが追加されるような場合に月単位で追加データに対してマイニングを行った場合、月毎のマイニング結果にかなりのばらつきが存在すると考えられる。一方、データを追加してからデータべース全体に対してマイニングを行うと、全体を通して頻度の高い規則のみが抽出される。
【００４５】
従来ではこの両方の規則を抽出するには、追加データに関するマイニングと全体のマイニングの２つのマイニングを行う必要があった。本発明の手法では追加データに対するマイニングを基本とし、全体に対するマイニングを行うことなく全体を通して頻度の高い規則を効率よく求めることが可能となる。
【００４６】
そこで、以下にデータが連続的に追加される例を説明する。最初のマイニングを行う時刻を０とし、時刻１、２、３、４でそれぞれデータの追加があったとする。時刻０でのデータ件数、および各時刻において追加されるデータの件数はそれぞれ１０００件とする。最小サポート値は０．１、すなわち各時刻において追加されるデータの中で１００件以上の頻度の規則を抽出するものとする。
【００４７】
時刻０〜４について追加データのマイニングが行われた結果、表１４に示すように６種の規則について、各時刻において追加されるデータ内での頻度が得られたと仮定する。
【００４８】
0003556574.tif 000002
即ち、各時刻に追加されるデータのみについてマイニングを行うと、結果として頻度が１００以上の規則が得られる。すなわち、表１４で下線部分がマイニング結果として出力される。
【００４９】
次に、各時刻においてデータを追加した後、全体に関してマイニングを行った場合について説明する。各規則の頻度は、その時刻までの頻度の累積値となり、表１５のようになる。
【００５０】
0003556574.tif 000003
この場合は、時刻０で１００以上、時刻１で２００以上、時刻２で３００以上、時刻３で４００以上、時刻４で５００以上の規則がマイニング結果として出力される。すなわち、表１５で下線部分が結果として出力される。
【００５１】
本発明の手法は、図７に示すように合成部において、各時刻のマイニング結果として、規則、開始時刻、累積頻度の３つの情報を以下の手順により生成し、保存および再利用するものとする。
【００５２】
先ず、規則が累積マイニング結果３３に含まれているかが判定される（Ｓ５１）。この判定がＹＥＳであれば、即ち過去のマイニング結果に含まれている規則ならば、過去のマイニング結果の累積頻度に現在時刻の追加データの頻度を加えて規則を出力し（Ｓ５４）、開始時刻はそのままとする（Ｓ５５）。
【００５３】
ステップ５１での判定がＮＯであれば、即ち過去のマイニング結果に含まれていない規則であり、現在時刻の追加データの頻度が最小サポート値より高ければ、累積頻度を現在の時刻の追加データの頻度として規則を出力し（Ｓ５２）、開始時刻を現在時刻とする（Ｓ５３）。
【００５４】
この手法を上記の例に適用すると、各時刻でのマイニングの出力は下表１６のようになる。
【００５５】
0003556574.tif 000004
0003556574.tif 000005
このようにすると、ある時刻において追加されるデータの中で一度でも最小サポート値以上の頻度のある規則は、その後ずっとマイニング結果として出力されることとなる。すなわち、任意の時刻においてデータべース全体についてマイニングして得られる結果はすべてこのリストの中に含まれる。
【００５６】
なお、本手法ではマイニング結果がデータを追加する度に増加するため、マイニングの実行時間が増加する可能性がある。その改良として、累積頻度の比率が一定以下になったとき出力する規則を除去する方法も考えられる。例えば、累積頻度の比率が０．０５以下になったら規則を結果より除去するとすると、時刻４で規則２が除去される。このような判断は、開始時刻と各時刻に追加されるトランザクション数を保持すれば容易に計算できる。
【００５７】
（第２の実施形態）
第１の実施形態ではデータべースが追加される場合について述べたが、過去１年間というようにデータべース内に格納するデータの期間を一定とする使い方をされる場合がある。この場合は新しいデータを追加する度に、期間をはずれたデータを除去する必要があり、マイニング結果の保持に関しても除去を考慮する必要がある。
【００５８】
以下に、本発明の第２の実施形態に従った周期的なインクリメントマイニングシステムを図８を参照して説明する。
【００５９】
図８の構成によると、図６のシステムに時刻別マイニング結果４１が付加されている。このシステムを第１の実施形態で用いた例と同じデータで説明する。すなわち、時刻０−５における規則１−６の出現頻度を表１４と同じものを用いる。
【００６０】
ここで、周期は３、すなわち過去３回のデータを保持するものとする。周期を３としたときのデータべース全体のマイニング結果を表１７に示す。
【００６１】
0003556574.tif 000006
この場合は、時刻０で頻度が１００以上、時刻１で２００以上、時刻３以降では３００以上の規則がマイニング結果として出力される。すなわち、上記の表１７で下線部分が結果として出力される。
【００６２】
以下では周期３において、追加部分のマイニング結果と過去のマイニング結果より全体のマイニング結果を求める手法について図９のフローチャートを参照して説明する。
【００６３】
時刻２までは第１の実施形態と同一であり、時刻３のときに時刻０のデータを除去して時刻３のデータを追加し、時刻４では時刻１のデータを削除して時刻４のデータを追加する。マイニング結果としては、第１の実施形態と同様にデータべース全体について成り立つ規則に関して規則内容、開始時刻、累積頻度を特定する情報を保持するのに加え、各時刻における追加データに関するマイニング結果４１、すなわちデータの追加時点で出力される規則の追加データにおける出現頻度を保持するものとする。各時刻における手順は図９のフローチャートに示されるように行う。
【００６４】
先ず、規則が累積マイニング結果３３に含まれているかが判定される（Ｓ６１）。この判定がＹＥＳであれば、即ち、規則が過去のマイニング結果に含まれている規則であれば、開始時刻が１周期前以前かが判定される（Ｓ６２）。この判定がＹＥＳであれば、累積頻度が直前の累積頻度−削除時の頻度＋現在時刻の頻度で算出される（Ｓ６３）。即ち、一定期間の累積マイニング結果は累積マイニング結果を追加データによって検証して得られるマイニング結果から削除すべき期間のマイニング結果を減じ、追加のマイニング結果を合成することによって求められる。開始時刻は１周期前＋１とされる（Ｓ６４）。
【００６５】
ステップＳ６１での判定がＹＥＳであり、ステップＳ６２での判定がＮＯであれば、累積頻度が直前の累積頻度＋現在時刻の頻度によって求められ（Ｓ６５）、開始時刻はそのままの値とされる（Ｓ６６）。
【００６６】
ステップＳ６１の判定がＮＯであれば、過去のマイニング結果に含まれていない規則において、現存時刻の追加データにおける頻度が最小サポート値より高ければ、累積頻度を現在時刻の追加データにおける頻度として規則を出力し（Ｓ６７）、開始時刻を現在時刻とする（Ｓ６８）。
【００６７】
上記の手順に従った周期３とした場合の各時刻におけるマイニング結果を表１８に示す。
【００６８】
0003556574.tif 000007
0003556574.tif 000008
明らかに、本方式において出力されるマイニング結果は、データべース全体について行ったマイニング結果を含む。また、第１の実施形態と同様に、頻度が一定以下になった規則をマイニング結果から削除することも容易である。
【００６９】
上述のように本発明によると、データの追加・削除があったときに過去のデータべースにアクセスすることなく、過去のマイニング結果を追加データについて検証して得たマイニング結果と追加データに関するマイニング結果とを合成することにより全体のマイニングを行う。
【００７０】
【発明の効果】
本発明によれば、データべースにデータが追加されるとき、データべース全体をマイニングすることなく、追加されるデータのマイニングと追加される以前のデータべースのマイニング結果を合成することによりデータベース全体のマイニングが可能となり、大規模データのマイニングを効率よく実行するために有効である。
【００７１】
また、データの追加時にもっとも古い時刻のデータを削除するような周期的なデータベースにおいても同様に過去のマイニング結果を利用してデータべース全体のマイニングが可能となり、大規模データのマイニングを効率よく実行するために有効である。
【図面の簡単な説明】
【図１】本発明の一実施形態に従ったインクリメンタルマイニングシステムのブロック図。
【図２】本発明の過去のマイニング結果を得るためのインクリメンタルマイニング方法を説明するフローチャート。
【図３】第１の実施形態に従った新規マイニング結果を得るためのインクリメンタルマイニング方法を説明するフローチャート。
【図４】第１の実施形態の新規マイニングで使用する検証部を説明するフローチャート。
【図５】第１の実施形態の新規マイニングで使用する合成部を説明するフローチャート。
【図６】初期マイニング結果を用いるインクリメンタルマイニングシステムのブロック図。
【図７】図６のマイニングシステムにおける合成部を説明するフローチャート。
【図８】本発明の第２の実施形態に従ったインクリメンタルマイニングシステムのブロック図。
【図９】図８のマイニングシステムにおける合成部を説明するフローチャート。
【符号の説明】
１１…原データベース
１２…過去マイニング部
１３…過去のマイニング結果
２１…追加データ部
２２…新規マイニング部
２３…検証部
２４…合成部
３１…初期データベース
３２…初期マイニング部
【図１】
0003556574.tif 000009
【図２】
0003556574.tif 000010
【図３】
0003556574.tif 000011
【図４】
0003556574.tif 000012
【図５】
0003556574.tif 000013
【図６】
0003556574.tif 000014
【図７】
0003556574.tif 000015
【図８】
0003556574.tif 000016
【図９】
0003556574.tif 000017