(57)【要約】【課題】発見したパターンの集合を、類似したパターンの少ない集合とすることができるパターン発見装置、およびプログラムを提供することである。【解決手段】実施形態のパターン発見装置は、パターン生成部と、パターン格納部と、パターン選択部と、パターン削除部とを持つ。パターン生成部は、複数のアイテムを含むデータからパターンを生成する。パターン格納部は、前記パターン生成部によって生成された前記パターンを格納する。パターン選択部は、前記パターン格納部に格納されているパターンの集合から、選択したパターンを除くことによる前記集合におけるアイテムの分布状況の変化を表す評価値を参照して、前記集合からパターンを選択する。パターン削除部は、前記パターン選択部が選択したパターンを、前記パターン格納部から削除する。【選択図】図１
2015197698.tif 000002
【特許請求の範囲】
【請求項１】
複数のアイテムを含むデータからパターンを生成するパターン生成部と、
前記パターン生成部によって生成された前記パターンを格納するパターン格納部と、
前記パターン格納部に格納されているパターンの集合から、選択したパターンを除くことによる前記集合におけるアイテムの分布状況の変化を表す評価値を参照して、前記集合からパターンを選択するパターン選択部と、
前記パターン選択部が選択したパターンを、前記パターン格納部から削除するパターン削除部と
を備えるパターン発見装置。
【請求項２】
前記評価値は、選択したパターンを前記集合から除いた集合が、前記集合に比べて、アイテムの頻度が平均化された状態に、より近づくほど、大きい、または、小さい値である、請求項１に記載のパターン発見装置。
【請求項３】
前記評価値は、選択したパターンを前記集合から除いた集合におけるアイテムの頻度の分散への、前記集合におけるアイテムの頻度の分散からの減少を表す値である、
請求項２に記載のパターン発見装置。
【請求項４】
前記パターン選択部は、前記集合に含まれるパターンであって、所定の条件を満たすパターンのうち、前記評価値が表す減少が、最も大きいパターンを選択する、
請求項３に記載のパターン発見装置。
【請求項５】
前記所定の条件は、前記集合に含まれるパターン同士の包含関係、前記集合に含まれるパターンの頻度を示す値、前記集合に含まれるパターンを構成するアイテムの数、前記集合に含まれるパターンを構成するアイテムの種類の数とのうち、少なくとも１つを用いた条件である、
請求項４に記載のパターン発見装置。
【請求項６】
前記集合に含まれるパターンであって、構成するアイテムの数が同じものからなる同種集合の中から、選択したパターンを除くことによる前記同種集合におけるアイテムの分布状況の変化を表す評価値を参照して、パターンを選択し、前記パターン格納部から削除することを、前記同種集合に含まれるパターンの数が予め決められた数になるまで繰り返す同種パターン選択部と、
前記集合に含まれるパターンのうち、前記集合に含まれるパターンのいずれかに包含されているパターンを、前記パターン格納部から削除する被含意パターン削除部と、
を備える、請求項１から請求項５のいずれかに記載のパターン発見装置。
【請求項７】
コンピュータを、
複数のアイテムを含むデータからパターンを生成するパターン生成部、
前記パターン生成部によって生成された前記パターンを格納するパターン格納部、
前記パターン格納部に格納されているパターンの集合から、選択したパターンを除くことによる前記集合におけるアイテムの分布状況の変化を表す評価値を参照して、前記集合からパターンを選択するパターン選択部、
前記パターン選択部が選択したパターンを、前記パターン格納部から削除するパターン削除部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、パターン発見装置、およびプログラムに関する。
【背景技術】
【０００２】
従来、離散的なアイテムの並びによって構成された系列データの集合から、パターンの頻出性に基づいた指標などを参照して、特徴的なアイテムの並びをパターンとして発見するパターン発見装置がある。しかし、パターン発見装置において、多くのパターンを発見したものの、似たものが多く含まれてしまう場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４９５３８３４号公報
【非特許文献】
【０００４】
【非特許文献１】Rakesh Agrawal, Ramakrishnan Srikant, "Mining Sequential Patterns", Proceedings of the 11th International Conference on Data Engineering, p3-14, March 6, 1995
【非特許文献２】Petre Tzvetkov, Xifeng Yan, Jiawei Han, "TSP: Mining Top-K Closed Sequential Patterns", Knowledge and Information Systems, vol7, issue 4,pp.438-457, 2005
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、発見したパターンの集合を、類似したパターンの少ない集合とすることができるパターン発見装置、およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態のパターン発見装置は、パターン生成部と、パターン格納部と、パターン選択部と、パターン削除部とを持つ。パターン生成部は、複数のアイテムを含むデータからパターンを生成する。パターン格納部は、前記パターン生成部によって生成された前記パターンを格納する。パターン選択部は、前記パターン格納部に格納されているパターンの集合から、選択したパターンを除くことによる前記集合におけるアイテムの分布状況の変化を表す評価値を参照して、前記集合からパターンを選択する。パターン削除部は、前記パターン選択部が選択したパターンを、前記パターン格納部から削除する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態のパターン発見装置１０の構成を示す概略ブロック図。
【図２】第１の実施形態のパラメータ格納部１２の記憶内容例を示すテーブル。
【図３】第１の実施形態のデータ格納部１１の記憶内容例を示すテーブル。
【図４】第１の実施形態のパターン発見装置１０の動作を示すフローチャート。
【図５】第１の実施形態のパターン格納部１５の記憶内容例（その１）を示すテーブル。
【図６】第１の実施形態のパターン格納部１５の記憶内容例（その２）を示すテーブル。
【図７】第１の実施形態のパターン格納部１５の記憶内容例（その３）を示すテーブル。
【図８】第１の実施形態のパターン選択部１６の動作を示すフローチャート。
【図９】第１の実施形態のパターン格納部１５が格納するアイテムの頻度分布例（その１）を示すテーブル。
【図１０】第１の実施形態のパターン格納部１５が格納するアイテムの頻度分布例（その２）を示すテーブル。
【図１１】第１の実施形態のパターン格納部１５が格納するアイテムの頻度分布例（その３）を示すテーブル。
【図１２】第２の実施形態のパターン発見装置１０ａの構成を示す概略ブロック図。
【図１３】第２の実施形態のデータ格納部１１ａの記憶内容例を示すテーブル。
【図１４】第２の実施形態のパターン発見装置１０ａの動作を示すフローチャート。
【図１５】第２の実施形態のパターン格納部１５の記憶内容例を示すテーブル。
【図１６】第２の実施形態の被含意パターン選択部１６ｃの動作を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、実施形態のパターン発見装置、およびプログラムを、図面を参照して説明する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態のパターン発見装置１０の構成を示す概略ブロック図である。パターン発見装置１０は、データ格納部１１、パラメータ格納部１２、パターン生成部１３、パターン発見制御部１４、パターン格納部１５、パターン選択部１６、パターン削除部１７、パターン出力部１８を含む。
【００１０】
データ格納部１１は、本装置のパターン検出の対象となるデータを記憶する。本装置で対象とするデータは離散的なアイテムの組み合わせで構成されたアイテム集合であり、多数の当該アイテム集合から構成されている。ヘルスケア分野のアイテムとしては、例えば、健診項目「血圧」の検診結果「正常」というように、特定の健診項目の検査結果が正常値である、特定の健診項目の検査結果が異常値であるといったものがアイテムとなる。さらに、特定の受信者に関する複数の健診項目の健診結果をまとめたものがアイテム集合となる。このようなアイテム集合を複数の受診者について収集したものが対象のデータとなる。
【００１１】
また、リテール分野においては、例えば、購買された商品がアイテムであり、特定の顧客が特定の日に購入した商品の集合がアイテム集合となる。このようなアイテム集合を、複数の顧客および複数の日に渡って収集したものが対象のデータとなる。
以下の説明においては、アイテムは便宜上小文字のアルファベットによって表現する。
【００１２】
パラメータ格納部１２は、パターン生成部１３がパターンを生成する際に参照するパラメータを記憶する。パラメータ格納部１２は、パターン生成部１３が参照するパラメータとして、最小支持度と、最大パターン数とを記憶する。最小支持度は、パターン生成部１３が生成するパターンが有すべき支持度の最小値である。最大パターン数は、データ格納部１１が記憶するデータから検出するパターンの最大数である。なお、ｉ番目のパターンの支持度Ｄｉは、そのパターンの頻出性に関する評価値であり、式（１）で表されるように、データ中の、そのパターンの出現回数ｎｉを、データの件数ＮＴで割った値である。出現回数ｎｉは、ｉ番目のパターンを含むアイテム集合の数であり、データの件数ＮＴは、データに含まれているアイテム集合の数である。
【００１３】
【数１】
2015197698.tif 000003
【００１４】
パターン生成部１３は、パラメータ格納部１２が記憶するパラメータを参照し、データ格納部１１が記憶するデータからパターンを生成する。パターン生成部１３は、生成したパターンをパターン格納部１５に格納する。なお、パターン生成部１３は、アイテム数の少ないパターンから順に生成するが、あるアイテム数のパターンを生成する際に、そのアイテム数よりもアイテム数の少ないパターンを、パターン格納部１５から読み出す。
【００１５】
パターン発見制御部１４は、パターン発見装置１０の各部の処理順序などを制御する。パターン格納部１５は、パターン生成部１３が生成したパターンを記憶する。パターン選択部１６は、パターン格納部１５が記憶するパターンの集合に含まれる、互いに類似するパターンが少なくなるように、パターン格納部１５から削除するパターンを選択する。パターン選択部１６は、削除するパターンを選択する際に、パターン格納部１５に格納されているパターンの集合から、選択したパターンを除くことによる、その集合におけるアイテムの分布状況の変化を表す評価値を参照する。パターン選択部１６によるパターン選択の詳細は、後述する。
【００１６】
パターン削除部１７は、パターン選択部１６が選択したパターンを、パターン格納部１５から削除する。パターン出力部１８は、パターン発見制御部１４による制御に従い、パターン格納部１５が記憶するパターンを出力する。
【００１７】
図２は、パラメータ格納部１２の記憶内容例を示すテーブルである。パラメータ格納部１２は、予め設定された最小支持度と、最大パターン数とを記憶する。図２の例では、パラメータ格納部１２は、最小支持度「０．１」と、最大パターン数「１００」とを記憶している。
【００１８】
図３は、データ格納部１１の記憶内容例を示すテーブルである。データ格納部１１は、アイテム集合を識別するデータＩＤと、１つまたは複数のアイテムからなるアイテム集合とを対応付けて記憶している。図３の例では、例えば、データＩＤ「ｔ１」と対応付けて、アイテム「ａ」、「ｂ」、「ｃ」、「ｆ」からなるアイテム集合を記憶している。また、データＩＤ「ｔ２」と対応付けて、アイテム「ａ」、「ｂ」、「ｄ」からなるアイテム集合を記憶している。同様にして、データＩＤ「ｔｎ」までの各データＩＤに対応付けて、アイテム集合を記憶している。パターン発見装置１０は、このようなデータの中から、データを特徴付けるアイテムの組み合わせであるパターンを、最大パターン数以下だけ発見する。
【００１９】
図４は、パターン発見装置１０の動作を説明するフローチャートである。まず、ステップＳａ１では、パターン発見制御部１４がパターン生成部１３にパラメータの読み込み開始を通知する。この通知を受けたパターン生成部１３は、パラメータ格納部１２に格納されているパラメータの読み込みを行う。また、パラメータの読み込みが終了した段階で、パターン生成部１３はパターン発見制御部１４にパラメータの読み込みが終了したことを通知する。
【００２０】
次に、ステップＳａ２では、パターン発見制御部１４がパターン生成部１３にデータの読み込み開始を通知する。この通知を受けたパターン生成部１３は、データ格納部１１に格納されているデータの読み込みを行う。また、データの読み込みが終了した段階で、パターン生成部１３は、パターン発見制御部１４にデータの読み込みが終了したことを通知する。
【００２１】
次に、ステップＳａ３では、パターン発見制御部１４がパターン数を０に初期化し、パターン生成部１３にパターン生成の開始を通知する。次に、ステップＳａ４では、パターン生成の開始通知を受けて、パターン生成部１３がパターンの候補を１つ生成する。このとき、パターンの候補を作成できない場合には（Ｓａ４−失敗）、パターン生成部１３は、パターンの生成処理の終了をパターン発見制御部１４に通知し、パターン発見制御部１４は、処理を終了する。
【００２２】
一方、ステップＳａ４にてパターンの候補を生成できる場合には（Ｓａ４−成功）、パターン生成部１３は、パターンの候補が生成できたことをパターン発見制御部１４に通知する。パターン発見制御部１４はパターン生成部１３に、ステップＳａ５の処理を実施することを通知する。なお、ステップＳａ４におけるパターンの候補の生成には、例えば、非特許文献１（"Mining Sequential Patterns", Proceedings of the 11th International Conference on Data Engineering, p3-14, March 6, 1995）に記載の方法を用いることができるが、その他の方法を用いてもよい。
【００２３】
ステップＳａ５では、パターン生成部１３は、生成したパターンの候補を含むアイテム集合の頻度ｎｉを算出し、式（１）を用いて、当該候補の支持度を算出する。パターン生成部１３は、この支持度がステップＳａ１にて読み込んだ最小支持度以上となっている場合には、パターンの生成に成功したと判定し（Ｓａ５−成功）、パターンの生成に成功したことをパターン発見制御部１４に通知する。この通知を受けたパターン発見制御部１４は、ステップＳａ６の処理を実施することをパターン生成部１３に通知する。一方、ステップＳａ５にて、算出した支持度が最小支持度未満となっている場合には、パターン生成部１３は、パターンの生成に失敗したと判定し（Ｓａ５−失敗）、パターンの生成に失敗したことをパターン発見制御部１４に通知する。この通知を受けたパターン発見制御部１４はパターン生成部１３に、ステップＳａ４の処理を実施することを通知する。
【００２４】
ここで、パターンの候補を含むアイテム集合の頻度の算出方法について簡単に説明する。データ格納部１１は、図３の例を記憶しているとして説明する。パターンの候補として、「ａ，ｆ」が生成されている場合、アイテム集合ｔ１及びｔ３には、アイテム「ａ」、「ｆ」がともに存在するため、アイテム集合ｔ１及びｔ３はパターンの候補を含んでいると判定される。一方、アイテム集合ｔ２及びｔｎには「ａ」及び「ｆ」の一方しか存在しないため、アイテム集合ｔ２及びｔｎはパターンの候補を含んでいないと判定される。また、アイテム集合ｔ４には「ａ」、「ｆ」のいずれも存在していないため、アイテム集合ｔ４はパターンの候補を含んでいないと判定される。パターンを含んでいると判定されたデータの個数がパターンの候補を含むアイテム集合の頻度となる。
【００２５】
上記のようにして算出したパターンの頻度に基づいて、パターン生成部１３は、パターンの候補の支持度を、式（１）によって算出する。
例えば、最小支持度が０．５である場合に、「ａ，ｆ」の支持度が０．６と算出されるとすれば、支持度は最小支持度以上であるため、ステップＳａ５へと処理が進むことになる。一方、「ａ，ｆ」の支持度が０．４と算出されるとすれば、ステップＳａ４へと処理が進むことになる。
【００２６】
ステップＳａ６では、パターン生成部１３は、生成したパターンとその支持度をパターン格納部１５に格納して、パターンの数を１積算する。また、パターン生成部１３は、パターン発見制御部１４にパターンを格納したことを通知する。パターン発見制御部１４は、パターン生成部１３にステップＳａ７の処理を実施することを通知する。
例えば、パターンの候補「ａ，ｆ」の支持度が０．６であるとすれば、図５に示すように、当該候補がパターンとして、その支持度とともに格納されることになり、パターンの数が１積算されることになる。
【００２７】
ステップＳａ７では、パターン生成部１３は、パターン格納部１５に登録されているパターンの数が、ステップＳａ１にて読み込んだ最大パターン数を超えているかどうかを判定し、判定結果をパターン発見制御部１４に通知する。パターン発見制御部１４は、最大パターン数を超えていない場合には（Ｓａ７−以下）、ステップＳａ４を実施することをパターン生成部１３に通知する。一方、最大パターン数を超えている場合には（Ｓａ７−超える）、パターン発見制御部１４は、ステップＳａ８を実施することをパターン生成部１３に通知する。
【００２８】
例えば、最大パターン数が１００である場合に、図５に示すパターンが格納されている場合には、パターンの最大数を超えていないので（ｍ＜１００）、ステップＳａ４へと処理が進むことになる。一方、図６に示すような１０１個のパターンがパターン格納部１５に格納されている場合には、最大パターン数以上であるため、ステップＳａ８へと処理が進むことになる。
【００２９】
ステップＳａ８では、パターン選択部１６は、パターン格納部１５に格納されているパターン集合から、選択したパターンを除くことによる、この集合におけるアイテムの分布状況の変化を表す評価値を参照して、削除するパターンを選択する。これにより、パターン選択部１６は、パターン格納部１５に格納されているパターン間で、類似するものが減るように、削除するパターンを選択している。
【００３０】
また、本実施形態では、この選択の際に、パターン選択部１６は、分布状況の変化を表す評価値以外に、パターンの頻度、パターンの含意関係なども参照する。なお、パターンの選択方法に関する詳細は後述する。パターン選択部１６は、選択したパターンを、パターン発見制御部１４に通知する。この通知を受けたパターン発見制御部１４は、パターン削除部１７に、パターン選択部１６が選択したパターンの削除を通知して、処理をステップＳａ９へと進める。
【００３１】
ステップＳａ９では、パターン削除部１７は、パターン発見制御部１４に通知されたパターン、すなわちパターン選択部１６が選択したパターンをパターン格納部１５から削除し、パターン数を１減らす。さらに、パターン削除部１７は、パターン発見制御部１４にパターンの削除が終了したことを通知する。この通知を受けたパターン発見制御部１４は、ステップＳａ４の処理を実施することを、パターン生成部１３に通知する。
【００３２】
例えば、図６のパターンがパターン格納部１５に格納されている場合に、パターン選択部１６によりパターン「ａ，ｂ」が選択されているときは、パターン削除部１７は、パターンＩＤ「ｐ１」のパターン「ａ，ｂ」をパターン格納部１５から削除する。これにより、パターン格納部１５に格納されているパターンは、図７のようになる。
【００３３】
図８は、パターン選択部１６の動作を説明するフローチャートである。図８のフローチャートは、図４のステップＳａ８におけるパターン選択処理の詳細である。まず、ステップＳｂ１では、パターン選択部１６は、パターン格納部１５に格納されているパターンの集合の中からパターンを１つ取り出して、処理をステップＳｂ２へと進める。取り出すパターンは、例えば、パターン格納部１５の先頭に格納されているものなど、どのような基準で決められてもよい。このとき、最大パターン数は１以上に設定されているため、取り出すパターンが存在しないといったことは生じない。
【００３４】
次に、ステップＳｂ２では、パターン選択部１６は、パターン格納部１５に格納されているパターンの集合の中から選択したパターンを取り除いた場合における残存パターン集合に対して、パターンの評価値を算出して、処理をＳｂ２へと進める。この評価値は、パターン格納部１５に格納されているパターンの集合から、選択したパターンを除くことによる、この集合におけるアイテムの分布状況の変化を表す評価値である。例えば、パターン選択部１６は、パターン格納部１５のｉ番目のパターンに関する、この評価値Ｅｉを、式（２）により算出する。
【００３５】
【数２】
2015197698.tif 000004
【００３６】
ここで、σｉは、パターン格納部１５に格納されているパターンの集合からｉ番目のパターンを除いた集合におけるアイテムの頻度の分散である。また、σＴは、パターン格納部１５に格納されているパターンの集合におけるアイテムの頻度の分散である。この評価値がより大きいということは、そのパターンを削除することにより、パターン格納部１５に格納されているパターンの集合におけるアイテムの頻度の分散が、より小さくなることを表している。
【００３７】
したがって、この評価値がより大きいパターンを削除することで、よりアイテムの頻度が平均化された集合にすることができる。集合に類似したパターンが含まれていると、アイテムの頻度に偏りが発生するため、この評価値を参照して、アイテムの頻度の偏りがより小さい集合とすることで、類似したパターンの少ない集合となることが期待できる。
【００３８】
パターン格納部１５に格納されているパターンの集合に含まれているアイテムの頻度分布が図９のように与えられているときを例に説明する。選択されているパターンは、パターン「ａ，ｂ」であるとする。パターン「ａ，ｂ」を図９のアイテムの頻度分布から削除することにより、アイテム「ａ」、「ｂ」それぞれの頻度が１ずつ減り、アイテムの頻度分布は図１０のようになる。図９、図１０の頻度分布におけるアイテムの頻度の分散は、それぞれ、６８５．７１４３、６６８．７７５５である。式（２）よって算出されるパターン「ａ，ｂ」の評価値は、０．０２４７０２（≒１−６６８．７７５５／６８５．７１４３）である。
【００３９】
図８の説明に戻って、ステップＳｂ３では、パターン選択部１６は、パターン格納部１５に格納されているパターン集合のうち、まだ選択されていないパターンを１つ取り出す。このとき、取り出すパターンが存在しない場合には（Ｓｂ３−失敗）、パターン選択部１６における処理は終了する。一方、パターンが取り出された場合には（Ｓｂ３−成功）、ステップＳｂ４へと処理を進める。
【００４０】
ステップＳｃ４では、パターン選択部１６は、選択されている２つのパターンに対して、パターンの含意関係を判定する。前に選択されているパターンが、後に選択されているパターンに被含意であるときは（Ｓｂ４−被含意）、処理は、ステップＳｂ３に進む。また、前に選択されているパターンが、後に選択されているパターンを含意しているときは（Ｓｂ４−含意）、処理は、ステップＳｂ８に進む。前に選択されているパターンと、後に選択されているパターンとの間に含意関係がないときは（Ｓｂ４−非含意）、処理は、ステップＳｂ５に進む。
【００４１】
ここで、パターンの含意関係は、パターンを構成するアイテムによって評価される。具体的には、パターン選択部１６は、一方のパターンに含まれるアイテムの集合がもう一方のパターンに含まれるアイテムの集合の部分集合になっている場合に、含意関係が存在すると判定する。例えば、前に選択されているパターンが「ａ，ｂ」であり、その後に選択されているパターンが「ａ，ｂ，ｃ」である場合には、前に選択されているパターンは、後に選択されているパターンに含まれることになる。この場合、前に選択されているパターンは、後に選択されているパターンに被含意であると判定され、ステップＳｂ３へと処理が進むことになる。
【００４２】
その逆に、前に選択されているパターンが「ａ，ｂ，ｃ」であり、後に選択されているパターンが「ａ，ｂ」の場合には、前に選択されているパターンは、後に選択されているパターンを含むことになる。このため、前に選択されているパターンは、後に選択されているパターンを含意していると判定され、ステップＳｂ８へと処理が進むことになる。一方、前に選択されているパターンが「ａ，ｂ」であり、後に選択されているパターンが「ａ，ｆ」の場合には含意関係は存在していないため、非含意と判定されることになり、ステップＳｂ５へと処理を進めることになる。
【００４３】
ステップＳｂ５では、パターン選択部１６は、選択されている２つのパターン各々に付随するパターンの支持度を比較し、その大小関係を評価する。前に選択されているパターンの支持度が、後に選択されているパターンの支持度よりも小さいときは（Ｓｂ５−小さい）、処理は、ステップＳｂ３に進む。逆に、前に選択されているパターンの支持度が、後に選択されているパターンの支持度よりも大きいときは（Ｓｂ５−大きい）、処理は、ステップＳｂ８に進む。また、前に選択されているパターンの支持度と、後に選択されているパターンの支持度とが等しいときは（Ｓｂ５−等しい）、処理は、ステップＳｂ６に進む。なお、ステップＳｂ５において、パターン選択部１６は、予め決められた所定以上の差があるときのみ、大きい、または、小さいと判定し、差が所定以内のときは、等しいと判定してもよい。
【００４４】
例えば、前に選択されているパターンが「ａ，ｂ」であり、後に選択されているパターンが「ａ，ｅ」であり、各パターンには図６に示す支持度がそれぞれ与えられているとする。このとき、パターン「ａ，ｂ」の支持度が０．６、パターン「ａ，ｅ」の支持度が０．７と与えられているため、前に選択されているパターン「ａ，ｂ」の支持度の方が小さいと判定される。その結果、ステップＳｂ３へと処理が進む。
【００４５】
その逆に、前に選択されているパターンが「ａ，ｅ」、後に選択されているパターンが「ａ，ｂ」の場合には、前に選択されているパターンの支持度の方が大きいと判定され、処理は、ステップＳｃ８へと進むことになる。一方、前に選択されているパターンが「ａ，ｂ」、後に選択されているパターンが「ａ，ｆ」の場合には、支持度が０．６と等しくなるため、等しいと判定され、ステップＳｂ６へと処理が進むことになる。
【００４６】
ステップＳｂ６では、パターン選択部１６は、選択されている２つのパターン各々を構成するアイテムの種類数を比較し、アイテムの種類数の大小関係を評価する。アイテムの種類は、アイテムの項目名と値との組み合わせであってもよいし、アイテムの項目名であってもよいし、アイテムの項目名の種類であってもよい。ヘルスケア分野では、例えば、健診項目とその結果との組み合わせ、あるいは健診項目などがアイテムの種類である。また、リテール分野では、例えば、購買された商品の種類が、アイテムの種類である。
【００４７】
ステップＳｂ６において、前に選択されているパターンのアイテムの種類数が、後に選択されているパターンのアイテムの種類数よりも少ないときは（Ｓｂ６−少ない）、処理は、ステップＳｂ３に進む。逆に、前に選択されているパターンのアイテムの種類数が、後に選択されているパターンのアイテムの種類数よりも多いときは（Ｓｂ６−多い）、処理は、ステップＳｂ８に進む。また、前に選択されているパターンのアイテムの種類数と、後に選択されているパターンのアイテムの種類数とが等しいときは（Ｓｂ６−等しい）、処理は、ステップＳｂ７に進む。
【００４８】
例えば、前に選択されているパターンが「ａ，ｂ」、後に選択されているパターンが「ａ，ｅ，ｆ」であり、各パターンを構成するアイテムの種類数が２、３であるとする。このときは、前に選択されているパターンのアイテムの種類数の方が少なくなり、ステップＳｂ３へと処理が進むことになる。その逆に、前に選択されているパターンが「ａ，ｅ，ｆ」、後に選択されているパターンが「ａ，ｂ」の場合には、前に選択されているパターンのアイテムの種類数の方が多いと判定され、ステップＳｂ６へと処理が進む。一方、前に選択されているパターンが「ａ，ｂ」、後に選択されているパターンが「ａ，ｆ」であり、アイテムの種類数がともに２であるときは、等しいと判定されるため、ステップＳｂ７へと処理は進む。
【００４９】
ステップＳｂ７では、選択されている２つのパターン各々を構成するアイテムの数を比較し、アイテムの数の大小関係を評価する。前に選択されているパターンのアイテムの数が、後に選択されているパターンのアイテムの数よりも少ないときは（Ｓｂ７−少ない）、処理は、ステップＳｂ３に進む。逆に、前に選択されているパターンのアイテムの数が、後に選択されているパターンのアイテムの数よりも多いときは（Ｓｂ７−多い）、処理は、ステップＳｂ８に進む。また、前に選択されているパターンのアイテムの数と、後に選択されているパターンのアイテムの数とが等しいときは（Ｓｂ７−等しい）、処理は、ステップＳｂ１０に進む。
【００５０】
例えば、前に選択されているパターンが「ａ，ｂ」、後に選択されているパターンが「ａ，ｅ，ｆ」である場合、各パターンを構成するアイテムの数は２、３となる。このため、前に与えられているパターンのアイテムの数の方が少なくなり、ステップＳｂ３へと処理が進むことになる。その逆に、前に与えられているパターンが「ａ，ｅ，ｆ」、後に与えられているパターンが「ａ，ｂ」の場合には、前に与えられているパターンのアイテムの数の方が多いと判定され、ステップＳｂ８へと処理が進むことになる。
【００５１】
一方、前に選択されているパターンが「ａ，ｂ」、後に選択されているパターンが「ａ，ｆ」である場合には、アイテムの数はともに２となり、等しいと判定されるため、ステップＳｂ１０へと処理が進む。ただし、パターン発見問題において、パターンを構成するアイテムの重複が認められていない場合など、アイテムの種類数とアイテムの数は同一となる場合は、ステップＳｂ６及びステップＳｂ７のいずれかを行うだけで十分である。
【００５２】
ステップＳｂ８では、パターン選択部１６は、前に選択されているパターンを除いたパターン集合に対して算出されているパターンの評価値を初期化する。次に、ステップＳｂ９では、パターン選択部１６は、現在の後に選択されているパターンを、新たな前に選択されているパターンとすることで、選択パターンを更新した後、ステップＳｂ２に進む。これにより、新たな前に選択されているパターンの評価値が算出される。
【００５３】
一方、ステップＳｂ１０では、パターン選択部１６は、パターン格納部１５に格納されているパターン集合の中から、後に選択されているパターンを除いた場合の評価値を、式（２）を用いて、算出する。例えば、図９に示す頻度分布のパターン集合がパターン格納部１５に格納されており、後に選択されているパターンがパターン「ａ，ｆ」であるとする。このとき、パターンの評価値は、０．０２８８６９（≒１−６６５．９１８４／６８５．７１４３）となる。
【００５４】
図８に戻って、ステップＳｂ１１では、パターン選択部１６は、前に選択されているパターンの評価値と、後に選択されているパターンの評価値の大小関係を評価する。前に選択されているパターンの評価値が、後に選択されているパターンの評価値以上であるときは（Ｓｂ１１−以上）、処理は、ステップＳｂ３に進む。前に選択されているパターンの評価値が、後に選択されているパターンの評価値より小さいときは（Ｓｂ１１−小さい）、処理は、ステップＳｂ１２に進む。
【００５５】
例えば、前に選択されているパターンが「ａ，ｂ」であり、後に選択されているパターンが「ａ，ｆ」の場合には、ステップＳｂ２とステップＳｂ１０にて説明したように、評価値は、それぞれ０．０２４７０２及び０．０２８８６９である。したがって、前に選択されているパターンの評価値の方が小さいと判定され、ステップＳｂ１２へと処理が進む。その逆に、前に選択されているパターンが「ａ，ｆ」、後に選択されているパターンが「ａ，ｂ」の場合には、前に選択されているパターンの評価値が後に選択されているパターンの評価値以上となる。したがって、ステップＳｂ３へと処理が進む。本実施形態においては、評価値が等しい場合には、ステップＳｂ３に進み、前に選択されているパターンを残すようにしているが、ステップＳｂ１２に進み、後に選択されているパターンを残すようにしてもよい。
【００５６】
ステップＳｂ１２では、パターン選択部１６は、現在の後に選択されているパターンを、新たな前に選択されているパターンとすることで、選択パターンを更新する。次に、ステップＳｂ１３では、パターン選択部１６は、新たな前に選択されているパターンの評価値を、元の後に選択されているパターンの評価値とすることにより、評価値の更新を行う。次に、処理は、ステップＳｂ３に進む。
【００５７】
以上のようにして、図８のステップＳｂ１１にて、前に選択されているパターンの評価値の方が小さいときは、より評価値が大きい、後に選択されているパターンを、新たな前に選択されているパターンとしている。これにより、より評価値の大きいパターンが、削除される対象となる。したがって、パターン格納部１５に格納されているパターンを構成するアイテムの多様性を保った、互いに非類似なパターンをパターン格納部１５に格納されるパターン集合に残すことができる。
【００５８】
また、パターン発見装置１０は、最小支持度によって出現頻度が少な過ぎて意味がないパターンを削除しつつ、含意関係にあるパターンや、アイテムの多様性が低いパターンを削除することにより、似通ったパターンが多数発見されるのを抑制することができる。また、発見されるパターンの上限を指定することにより、パターンが大量に発見されるのを抑止することができ、計算時間の過大な増加やメモリ不足によるパターン発見の失敗を回避することができる。
【００５９】
このように、パターン選択部１６は、パターン格納部１５に格納されているパターンの集合から、選択したパターンを除くことによる、この集合におけるアイテムの分布状況の変化を表す評価値を参照して、この集合からパターンを選択する。そして、パターン削除部１７は、パターン選択部１６が選択したパターンを、パターン格納部１５から削除する。
【００６０】
これにより、パターン格納部１５に格納されているパターンの集合において、よりアイテムの頻度が平均化されている状態となるパターンを削除することができる。集合に類似したパターンが含まれていると、アイテムの頻度に偏りが発生するため、よりアイテムの頻度が平均化されている状態となるパターンを削除することで、発見したパターンの集合が、類似したパターンの少ない集合となることが期待できる。
【００６１】
（第２の実施形態）
図１２は、第２の実施形態のパターン発見装置１０ａの構成を示す概略ブロック図である。同図において、図１の各部に対応する部分には、同一の符号を付し、説明を省略する。パターン発見装置１０ａは、データ格納部１１ａ、パラメータ格納部１２、パターン生成部１３、パターン発見制御部１４ａ、パターン格納部１５、同種パターン選択部１６ａ、異種パターン選択部１６ｂ、被含意パターン選択部１６ｃ、パターン削除部１７、パターン出力部１８を含む。
【００６２】
データ格納部１１ａは、パターン発見装置１０ａのパターン検出の対象となるデータを記憶する。このデータは、アイテムの集合として構成されるとともに、アイテムの出現する順序も有する。図１３は、データ格納部１１ａの記憶内容例を示すテーブルである。図１３の例においては、「>」で区切られた単位において、同じ順序で発生したことが表されており、異なる順序においては、右に行く程その順序が後になることが表されている。従って、データＩＤ「ｓ１」のアイテム集合においては、アイテム「ａ」、「ｂ」が同順序で発生しており、その後で、アイテム「ｃ」、アイテム「ｆ」が異なる順序で、順に発生している。
【００６３】
また、データＩＤ「ｓｎ」及び「ｓｎ＋１」のアイテム集合は、構成するアイテムは全く同じになっているものの、アイテムの出現する順序が異なっている。したがって、同一のアイテム集合ではない。また、データＩＤ「ｓｎ＋２」の例に示すように、同一のアイテムが異なる順位において複数回出現することが可能となっている。
【００６４】
パターン発見制御部１４ａは、図１のパターン発見制御部１４と同様に、パターン発見装置１０ａの各部の処理順序などを制御する。ただし、パターン発見制御部１４とは、処理順序が異なる。これにより、パターン格納部１５に格納されているパターンに含まれる、アイテムの部分集合の数が同じパターンの数は、予め決められた最大同種パターン数以下となる。また、パターン格納部１５に格納されているパターンに含まれるパターンの数は、予め決められた最大パターン数以下となる。
同種パターン選択部１６ａ（パターン選択部）は、パターン格納部１５に格納されているパターンのうち、アイテム数が同じパターンの集合（同種集合）から、削除するパターンを選択する。同種パターン選択部１６ａは、図１のパターン選択部１６と同様にして、削除するパターンを選択する。
【００６５】
異種パターン選択部１６ｂ（パターン選択部）は、パターン格納部１５に格納されているパターン全体の集合から、削除するパターンを選択する。異種パターン選択部１６ｂは、図１のパターン選択部１６と同様にして、削除するパターンを選択する。ただし、後述するように、被含意のパターンが削除された状態で、処理が行われるため、異種パターン選択部１６ｂの処理は、ステップＳｂ４を有していなくてもよい。
被含意パターン選択部１６ｃは、パターン格納部１５が格納しているパターンのうち、いずれかのパターンに含意されている被含意のパターンを、削除するために選択する。
【００６６】
図１４は、パターン発見装置１０ａの動作を説明するフローチャートである。ステップＳｃ１、Ｓｃ２は、図４のステップＳａ１、Ｓａ２と同様であるので、説明を省略する。次に、ステップＳｂ３では、パターン生成部１３は系列の長さが短いものから順にパターンを発見していくため、パターン発見制御部１４ａは、系列の長さを１に設定する。ここで、系列の長さとは、パターンを構成するアイテムの組み合わせにおいて、同順位に発生するアイテムの部分集合の個数のことである。例えば、図１３のデータＩＤ「ｓ１」のアイテム集合の場合、「｛ａ，  ｂ｝」、「ｃ」、「ｆ」と３つの異なる順序に属するアイテムの部分集合が存在するため、その長さは３である。
【００６７】
ステップＳｃ４では、パターン発見制御部１４ａがパターン数を０に初期化し、設定された系列長におけるパターンの生成開始をパターン生成部１３に通知する。次に、ステップＳｃ５では、設定された系列長におけるパターン生成の開始の通知を受けて、パターン生成部１３は、パターンの候補を生成する。生成に失敗したときは（Ｓｃ５−失敗）、処理は、ステップＳｃ１１に進む。生成に成功したときは（Ｓｃ５−成功）、処理は、ステップＳｃ６に進む。
【００６８】
ステップＳｃ６では、パターン生成部１３は、データ格納部１１ａに格納されているデータを参照して、生成したパターンの候補を含むデータの頻度を算出し、式（１）によって支持度を算出する。このとき、パターン生成部１３は、算出した支持度がパラメータ格納部１２から読み込まれた最小支持度以上になっているかどうかを判定し、判定結果をパターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、判定結果を受けて、最小支持度以上になっている場合には、ステップＳｃ７へと処理を進める。一方、最小支持度より小さくなっている場合には、パターン発見制御部１４ａは、ステップＳｃ５へと処理を進める。
【００６９】
ただし、パターンの頻度の算出において、パターンを構成するアイテムの順序関係を含めて一致するかどうかを考慮してデータとパターンとの間の含意関係を評価する。例えば、パターンの候補として、「ａ＞ｂ」が生成されているとする。このとき、図１３のデータにおいて、パターンの候補を含んでいるデータを説明する。データＩＤ「ｓ１」のアイテム集合の場合においては、「ａ」、「ｂ」は同時に発生したアイテムとなっているため、パターンの候補におけるアイテム「ａ」と「ｂ」との順序関係と異なっているため含んでいないと判定される。同様に、データＩＤ「ｓｎ＋３」のアイテム集合は、アイテムの出現順序がパターンの候補のものと逆順となっているために、含んでいないと判定される。
【００７０】
一方、データＩＤ「ｓｎ＋４」のアイテム集合においては、途中の順序にアイテム「ｆ」を含んではいるものの、アイテム「ａ」とアイテム「ｂ」の順序関係は保たれているため、パターンの候補を含んでいると判定される。また、データＩＤ「ｓｎ＋５」のアイテム集合においては、アイテム「ａ」とアイテム「ｂ」が、「ａ」の次に「ｂ」といった順に、２度出現しているものの、アイテム集合単位に含んでいるかどうかを判定することになるため、このアイテム集合に対するパターンの候補の頻度は１と判定される。この他、データＩＤ「ｓ２」のアイテム集合がパターンの候補を含んでいると判定されることになる。
【００７１】
ステップＳｃ７及びステップＳｃ８では、図４におけるステップＳａ６のパターン登録及びステップＳａ７のパターン数判定と同様な処理を行うことにより、ステップＳｂ４あるいはステップＳｂ９のいずれかに処理を進めることになる。ただし、ステップＳａ６のパターン登録およびステップＳａ７のパターン数判定においては、現在生成対象になっている系列長におけるパターンの数と、現在の系列長よりも短い系列長のパターンは別々に管理されている。
【００７２】
例えば、現在の系列長の長さが３であり、１０１個目の長さ３のパターン「ｇ＞ｆ＞ｆ」が登録された場合には、図１５に示すようにパターンが登録されていることになる。図１５の例においては、系列長が２以下となるｋ（≦１００）個のパターンが、系列長３のパターンの他に登録されていることになる。
【００７３】
ステップＳｃ９では、図４におけるステップＳａ８のパターン選択と同様な処理を、現在の系列長に一致するパターンの集合に対して、同種パターン選択部１６ａが実施することにより、削除するパターンを選択する。
【００７４】
例えば、支持度が等しいパターン「ａ＞ｆ＞ｂ」及び「ｂ＞ｆ＞｛ａ，ｆ｝」という２つのパターンの内からいずれかのパターンを選択する場合の例を説明する。このとき、パターンを構成するアイテムの種類は「ａ」、「ｂ」、「ｆ」となり、どちらパターンの場合においても３種類であるものの、前者のアイテムの数は４となっているため、前者のパターン「ａ＞ｆ＞ｂ」が削除対象のパターンとして選択されることになる。
【００７５】
また、支持度が等しい「ａ＞ｂ」及び「ａ＞ｆ」という２つのパターンの内からいずれかのパターンを選択する場合の例を説明する。このとき、パターン集合のアイテムの頻度分布が図９のように与えられているとすれば、パターン「ａ＞ｂ」を除いた場合及びパターン「ａ＞ｆ」を除いた場合のアイテムの頻度分布は、図１０、図１１に示すようにそれぞれ与えられることになる。このため、パターン「ａ＞ｂ」及び「ａ＞ｆ」の評価値は、図４の場合における例と同様に、０．０２４７０２、０．０２８８６９となる。このため、パターン「ａ＞ｆ」が削除対象のパターンとして選ばれる。
【００７６】
ステップＳｃ１０では、図４におけるステップＳａ９のパターン削除と同様な処理を実施することにより、同種パターン選択部１６ａにより選択されたパターンを、パターン格納部１５に格納されているパターンから削除する。また、パターンの数を１減らし、ステップＳｃ５へと処理を進める。
【００７７】
一方、ステップＳｃ１１では、被含意パターン選択部１６ｃが、パターン格納部１５に格納されているパターンのうち、現在の系列長のパターンのいずれかと包含関係にあるパターン、すなわち被含意のパターンを判定する。パターン削除部１７は、被含意と判定されたパターンを削除する。パターン生成部１３によるパターンの生成では、現在の系列長のパターンの候補を生成するために、系列長が現在の系列長より１つ短い下位のパターンが必要となる。このため、現在の系列長のパターンを生成している段階では、パターン格納部１５には、１つ短い下位のパターンが保存されている。
【００７８】
一方、現在の系列長の生成が終了した段階では、１つ下位のパターンは不要となるため、現在の系列長に含意されるパターンを削除することにより、パターン格納部１５に格納されるパターンの数を少なくする。なお、被含意パターン選択部１６ｃの詳細に関しては、後述する。
【００７９】
ステップＳｃ１２では、パターン生成部１３は、系列長を考慮せずに、パターン格納部１５に登録されているパターンの数が最大パターン数以下になっているかどうかを判定し、判定結果をパターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、最大パターン数以下になっている場合には（Ｓｃ１２−以下）、処理をステップＳｃ１５に進める。一方、最大パターン数を超えている場合には（Ｓｃ１２−超える）、処理をステップＳｂ１３へと処理を進める。なお、ステップＳｃ８における最大パターン数と、ステップＳｃ１２における最大パターン数は同じであってもよいし、異なっていてもよい。
【００８０】
ステップＳｃ１３では、異種パターン選択部１６ｂは、系列の長さを考慮せずに、図４におけるステップＳａ８のパターン選択と同様な処理を実施することにより、削除対象となるパターンを１つ選択する。異種パターン選択部１６ｂは、選択したパターンをパターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、処理をステップＳｃ１４へと進める。
【００８１】
ステップＳｃ１４では、パターン削除部１７は、図４におけるステップＳａ９のパターン削除と同様な処理を実施する。これにより、異種パターン選択部１６ｂによって選択されたパターンを、パターン格納部１５に格納されているパターンから削除する。また、パターンの数を１減らして、処理をステップＳｃ１２へと進む。これらのステップＳｃ１２からステップＳｃ１４の一連の処理は、パターン格納部１５に格納されているパターンの数が最大数以下になるまで繰り返されることになる。
【００８２】
ステップＳｃ１５では、現在の系列長を延伸可能かどうかを、パターン生成部１３が判定し、結果をパターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、系列長が延伸できる場合には（Ｓｃ１５−成功）、系列長を１加算して処理をステップＳｃ４へと進める。一方、延伸できない場合には（Ｓｃ１５−失敗）、本装置の処理を終了する。
【００８３】
ここで、系列長が延伸できるかどうかは、現在の系列長に一致するパターンがパターン格納部１５に少なくとも１つ存在するかどうかによって判断することができ、少なくとも１つ存在する場合には、パターン生成部１３は、系列長の延伸が可能と判定する。
【００８４】
図１６は、被含意パターン選択部１６ｃの動作を説明するフローチャートである。図１６のフローチャートは、図１４のステップＳｃ１１の詳細を説明する。まず、ステップＳｄ１では、被含意パターン選択部１６ｃが、パターン格納部１５に格納されている現在の系列長のパターンで、まだ抽出されていないパターンの中から、上位パターンとしてパターンを１つ取り出す。このとき、被含意パターン選択部１６ｃは、パターンを取り出せたかどうかを、パターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、上位パターンが取り出せた場合には（Ｓｄ１−成功）、処理をステップＳｄ２へと進める一方、上位パターンが抽出できない場合には（Ｓｄ１−失敗）、ステップＳｃ１１の被含意パターン削除を終了する。
【００８５】
ステップＳｄ２では、被含意パターン選択部１６ｃは、パターン格納部１５に格納されている、現在の系列長よりも１つ短く、まだ抽出されていないパターンの中から、下位パターンとしてパターンを１つ取り出す。このとき、被含意パターン選択部１６ｃは、パターンを取り出せたかどうかを、パターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、下位パターンが取り出せた場合には（Ｓｄ２−成功）、処理をステップＳｄ３へと進める一方、下位パターンが抽出できない場合には（Ｓｄ２−失敗）、処理をステップＳｄ１へと進める。
【００８６】
ステップＳｄ３では、被含意パターン選択部１６ｃは、上位パターンが下位パターンを含意するかどうかを判定し、結果をパターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、含意関係の判定結果に従って、含意する場合には（Ｓｄ４−被含意）、処理をステップＳｄ４へと進める。一方、非含意の場合には（Ｓｄ４−非含意）、処理をステップＳｄ２へと進める。
【００８７】
例えば、上位パターンとして「ａ＞ｂ＞ｆ」が選択されており、下位パターンとして「ａ＞ｂ」、「ａ＞ｆ」、「ｂ＞ｆ」のいずれかが選択されている場合には、被含意パターン選択部１６ｃは、含意していると判定する。一方、上位パターンが同じで、下位パターンとして、「ｂ＞ａ」、「ｆ＞ａ」、「ｆ＞ｂ」のいずれかが選択されている場合には、被含意パターン選択部１６ｃは、非含意と判定する。
【００８８】
ステップＳｄ４では、パターン削除部１７は、ステップＳｄ３にて含意すると判定されたときの下位パターンをパターン格納部１５から削除し、パターンの数を１減らす。また、パターンを削除したことをパターン発見制御部１４ａに通知する。パターン発見制御部１４ａは、処理をステップＳｄ２へと進める。
【００８９】
以上のような処理を実施することにより、パターン発見装置１０ａは、データやパターンを構成するアイテムの出現順序を考慮した、最大パターン数以下の特徴的なパターンを発見することができる。
【００９０】
上述の各実施形態では、パターン選択部１６、同種パターン選択部１６ａ、異種パターン選択部１６ｂは、図８のフローチャートに示すよう動作するが、含意関係判定、支持度判定、アイテム種類数判定、アイテム数判定、評価値判定の順序は、異なる順序であってもよい。
【００９１】
また、パターンの評価値としては、パターン間の類似性を評価する他の基準を利用することも可能であるとともに、パターンの出現順序を考慮した類似性を評価することもできる。
また、パターン選択部１６、同種パターン選択部１６ａ、異種パターン選択部１６ｂにおいては、含意、被含意、非含意といった３種類のタイプの判定が行われているが、パターン格納部１５に格納されているパターンをアイテムの出現順及び系列の長さ順といった基準でソートしておくことにより、含意か非含意のいずれかを判定するかでよいように構成することもできる。
【００９２】
また、上述の各実施形態において、評価値Ｅｉは、選択したパターンを、パターン格納部１５から除いた集合（削除後集合）が、パターン格納部１５に格納されている集合（削除前集合）に比べて、アイテムの頻度が平均化された状態に、より近づくほど、大きい値であればよい。例えば、削除後集合におけるアイテムの頻度の分散への、削除前集合におけるアイテムの頻度の分散からの減少を表す値であればよい。そのような評価値Ｅｉとしては、式（２）以外に、例えば、式（３）によって算出したものがある。
【００９３】
【数３】
2015197698.tif 000005
【００９４】
また、上述の各実施形態において、評価値Ｅｉは、選択したパターンを、パターン格納部１５から除いた集合が、パターン格納部１５に格納されている集合に比べて、アイテムの頻度が平均化された状態に、より近づくほど、小さい値であってもよい。例えば、評価値Ｅｉは、式（４）により算出されてもよい。ただし、この場合、図８のステップＳｂ１１における判定で、前に選択されているパターンの評価値が、後に選択されているパターンの評価値より大きいときに、処理は、ステップＳｂ１２に進む。
【００９５】
【数４】
2015197698.tif 000006
【００９６】
また、上述の各実施形態において、パターン選択部１６、同種パターン選択部１６ａ、異種パターン選択部１６ｂは、パターン同士の包含関係、パターンの頻度を示す値、パターンを構成するアイテムの数、パターンを構成するアイテムの種類の数などを用いた所定の条件を満たすパターンの内、評価値が最も大きいパターンを選択しているが、これらのうち、一部を参照してもよいし、全てを参照しなくてもよい。
【００９７】
以上説明した少なくとも１つの実施形態によれば、上述の評価値を参照して、パターン格納部１５からパターンを選択するパターン選択部と、パターン選択部が選択したパターンを、パターン格納部１５から削除するパターン削除部１７を持つことにより、パターン格納部１５に格納されているパターンの集合が、類似したパターンの少ない集合となるようにすることができる。
【００９８】
また、図１におけるパターン発見装置１０、もしくは図１２におけるパターン発見装置１０ａの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、パターン発見装置１０、１０ａを実現するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００９９】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１００】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１０１】
１０、１０ａ…パターン発見装置、１１…データ格納部、１２…パラメータ格納部、１３…パターン生成部、１４、１４ａ…パターン発見制御部、１５…パターン格納部、１６…パターン選択部、１６ａ…同種パターン選択部、１６ｂ…異種パターン選択部、１６ｃ…被含意パターン選択部、１７…パターン削除部、１８…パターン出力部
【図１】
2015197698.tif 000007
【図２】
2015197698.tif 000008
【図３】
2015197698.tif 000009
【図４】
2015197698.tif 000010
【図５】
2015197698.tif 000011
【図６】
2015197698.tif 000012
【図７】
2015197698.tif 000013
【図８】
2015197698.tif 000014
【図９】
2015197698.tif 000015
【図１０】
2015197698.tif 000016
【図１１】
2015197698.tif 000017
【図１２】
2015197698.tif 000018
【図１３】
2015197698.tif 000019
【図１４】
2015197698.tif 000020
【図１５】
2015197698.tif 000021
【図１６】
2015197698.tif 000022