"記憶手段に格納された、少なくとも1つの要素を含む複数の集合に対して、包含数閾値未満の要素しか含まない集合の削除と、出現数閾値未満の集合にしか含まれない要素の削除とを行う第1の削除手段と、集合と要素との削除後に前記記憶手段内に残存する集合のうち、要素の共通性によって関連付けられた集合が属するグループを生成するグループ生成手段と、生成されたグループごとに、前記記憶手段内の該グループに属する集合に対して、前記包含数閾値未満の要素しか含まない集合の削除と、該グループに属する集合のうち前記出現数閾値未満の集合にしか含まれない要素の削除とを行う第2の削除手段と、集合と要素との削除後にグループに残存する集合に含まれる要素のリストを出力する出力手段と、を有する情報処理装置。前記第1の削除手段と前記第2の削除手段とは、削除する集合および要素が無くなるまで、集合の削除と要素の削除とを交互に繰り返すことを特徴とする請求項1記載の情報処理装置。前記グループ生成手段は、集合と要素との削除後に前記記憶手段内に残存する集合のうち、共有数閾値以上の要素を共有する集合間を関連付け、関連付けられた集合間を辿ることで到達可能な複数の集合が属するグループを生成する、ことを特徴とする請求項1または2のいずれかに記載の情報処理装置。集合と要素との削除が行われたグループごとに、該グループに残存する集合を、要素の共通性によって関連付け、関連付けられた複数の集合が該グループに残存する集合の一部の場合、関連付けられた複数の集合が属する別のグループを生成する別グループ生成手段をさらに有し、前記出力手段は、集合と要素との削除が行われたグループから別のグループが生成できなかった場合、該グループに残存する集合に含まれる要素のリストを出力する、ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。前記別グループ生成手段は、集合と要素との削除が行われたグループに残存する集合のうち、共有数閾値以上の要素を共有する集合間を関連付け、関連付けられた集合間を辿ることで到達可能な複数の集合が該グループに残存する集合の一部である場合、該複数の集合が属する別のグループを生成することを特徴とする請求項4記載の情報処理装置。要素は、取り引きの対象となる品目であり、集合は、同時に取り引きされた品目を含むトランザクションであることを特徴とする請求項1乃至5のいずれかに記載の情報処理装置。コンピュータに、記憶手段に格納された、少なくとも1つの要素を含む複数の集合に対して、包含数閾値未満の要素しか含まない集合の削除と、出現数閾値未満の集合にしか含まれない要素の削除とを行い、集合と要素との削除後に前記記憶手段内に残存する集合のうち、要素の共通性によって関連付けられた集合が属するグループを生成し、生成されたグループごとに、前記記憶手段内の該グループに属する集合に対して、前記包含数閾値未満の要素しか含まない集合の削除と、該グループに属する集合のうち前記出現数閾値未満の集合にしか含まれない要素の削除とを行い、集合と要素との削除後にグループに残存する集合に含まれる要素のリストを出力する、処理を実行させるプログラム。コンピュータが、記憶手段に格納された、少なくとも1つの要素を含む複数の集合に対して、包含数閾値未満の要素しか含まない集合の削除と、出現数閾値未満の集合にしか含まれない要素の削除とを行い、集合と要素との削除後に前記記憶手段内に残存する集合のうち、要素の共通性によって関連付けられた集合が属するグループを生成し、生成されたグループごとに、前記記憶手段内の該グループに属する集合に対して、前記包含数閾値未満の要素しか含まない集合の削除と、該グループに属する集合のうち前記出現数閾値未満の集合にしか含まれない要素の削除とを行い、集合と要素との削除後にグループに残存する集合に含まれる要素のリストを出力する、ことを特徴とする要素抽出方法。しかし、アイテムの共通性によって集められたトランザクションのうちの、いずれかのトランザクションに同時に含まれることの多いアイテムの集合を抽出する処理について、処理を効率化するための有効な技術はなかった。アイテムの共通性によって集められたトランザクションのうちの、いずれかのトランザクションに同時に含まれることの多いアイテムの集合は、以下のような知識の習得に利用できる。例えば、食堂において顧客が注文した品目をアイテムとするトランザクションに基づいて、アイテムの共通性によってトランザクションを集める。そして集めたトランザクションのうちの、いずれかのトランザクションに同時に含まれることの多いアイテムの集合を抽出できる。このようにして抽出されたアイテムの集合で示される品目を掲載したメニューを作成することで、好みが似た多くの顧客が同時に注文する品目を網羅したメニューを作成できる。作成されたメニューは、好みが似た、多くの顧客にとって使いやすいメニューとなる。なお、アイテムの共通性によって集められたトランザクションのうちの、いずれかのトランザクションに同時に含まれることの多いアイテムの集合により得られる知識は、上記のような食堂のメニューに掲載する品目に関する知識の習得に限られない。例えば、商品の小売店において、1つの商品棚に纏めて置くのに適した商品の知識の習得にも利用可能である。また、このようなデータマイニングによる知識習得処理の効率化は、トランザクションに基づく知識の習得に限らず、各種情報を要素とする集合に基づく知識習得一般に有用な技術である。1つの側面では、本発明は、要素の共通性によって関連付けられた複数の集合のいずれかに、同時に含まれることの多い要素の集合を効率的に抽出する情報処理装置、プログラム、および要素抽出方法を提供することを目的とする。1つの案では、第1の削除手段、グループ生成手段、第2の削除手段、および出力手段を有する情報処理装置が提供される。第1の削除手段は、記憶手段に格納された、少なくとも1つの要素を含む複数の集合に対して、包含数閾値未満の要素しか含まない集合の削除と、出現数閾値未満の集合にしか含まれない要素の削除とを行う。グループ生成手段は、集合と要素との削除後に記憶手段内に残存する集合のうち、要素の共通性によって関連付けられた集合が属するグループを生成する。第2の削除手段は、生成されたグループごとに、記憶手段内の該グループに属する集合に対して、包含数閾値未満の要素しか含まない集合の削除と、該グループに属する集合のうち出現数閾値未満の集合にしか含まれない要素の削除とを行う。出力手段は、集合と要素との削除後にグループに残存する集合に含まれる要素のリストを出力する。1態様によれば、要素の共通性によって関連付けられた複数の集合のいずれかに、同時に含まれることの多い複数の要素を効率的に抽出することができる。以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。第1の実施の形態第1の実施の形態では、要素の共通性によって関連付けられた複数の集合のいずれかに、同時に含まれることの多い要素の集合の抽出条件を以下のように定義する。[第1の要素抽出条件]抽出される複数の要素それぞれは、その要素を含む出現数閾値以上の集合が、1つのグループに属する複数の集合内に存在し、そのグループに属する各集合は、抽出される複数の要素のうちの包含数閾値以上の要素を含む。[第2の要素抽出条件]抽出される複数の要素に対して第1の要素抽出条件を満たすグループに属する複数の集合は、抽出される複数の要素のうちの共有数閾値以上の要素を共有する集合同士を関連付けることによる関連性を有する集合の集まりである。次に、上記第1第2の要素抽出条件を満たす複数の要素を抽出するための機能について説明する。図1は、第1の実施の形態に係る装置の機能構成例を示す図である。情報処理装置Cは、記憶手段1、第1の削除手段2、グループ生成手段3、第2の削除手段4、別グループ生成手段5および出力手段6を有する。記憶手段1は、少なくとも1つの要素を含む複数の集合1a,1b,1cを記憶する。第1の削除手段2は、記憶手段1に対して、包含数閾値未満の要素しか含まない集合の削除と、出現数閾値未満の集合にしか含まれない要素の削除とを、削除する集合および要素が無くなるまで繰り返す。グループ生成手段3は、集合と要素との削除後に記憶手段1内に残存する集合のうち、要素の共通性によって関連付けられた集合が属するグループを生成する。例えばグループ生成手段3は、削除する集合および要素が無くなった記憶手段1内に残存する集合のうち、共有数閾値以上の要素を共有する集合間を関連付け、関連付けられた集合間を辿ることで到達可能な複数の集合が属するグループを生成する。第2の削除手段4は、生成されたグループごとに集合と要素との削除処理を行う。例えば第2の削除手段4は、記憶手段1内のグループに属する集合に対して、包含数閾値未満の要素しか含まない集合の削除と、該グループに属する集合のうち出現数閾値未満の集合にしか含まれない要素の削除とを行う。第2の削除手段4は、集合と要素との削除処理を、削除する集合および要素が無くなるまで繰り返す。別グループ生成手段5は、集合と要素との削除が行われたグループごとに、そのグループに残存する集合を、要素の共通性によって関連付ける。そして、別グループ生成手段5は、関連付けられた複数の集合がそのグループに残存する集合の一部の場合、関連付けられた複数の集合が属する別のグループを生成する。例えば、別グループ生成手段5は、集合と要素との削除が行われたグループに残存する集合のうち、共有数閾値以上の要素を共有する集合間を関連付け、関連付けられた集合間を辿ることで到達可能な複数の集合を求める。そして別グループ生成手段5は、求められた複数の集合が、元のグループに属する集合の一部である場合、求められた複数の集合が属する別のグループを生成する。出力手段6は、集合と要素との削除が行われたグループに残存する集合に含まれる要素のリストを出力する。例えば出力手段6は、集合と要素との削除が行われたグループから別のグループが作成できなかった場合、集合と要素との削除が行われたグループに属する集合に含まれる要素のリストを出力する。なお、第1の削除手段2、グループ生成手段3、第2の削除手段4、別グループ生成手段5および出力手段6は、情報処理装置Cが有するCPUCentralProcessingUnitにより実現することができる。また、記憶手段1は、情報処理装置Cが有するRAMRandomAccessMemoryやハードディスクドライブHDDHardDiskDriveなどにより実現することができる。また、図1に示した各機能間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。図2は、第1の実施の形態における要素のリスト出力処理の手順の一例を示すフローチャートである。以下、図2に示す処理をステップ番号に沿って説明する。なお、以下の処理は、例えばユーザによる実行指示の入力に応じて開始される。[ステップS1]第1の削除手段2は、記憶手段1内のすべての集合1a,1b,1c,を処理対象として、所定の削除条件を満たす集合と要素とを削除する。例えば第1の削除手段2は、記憶手段1に対して、包含数閾値未満の要素しか含まない集合の削除と、出現数閾値未満の集合にしか含まれない要素の削除とを、削除する集合および要素が無くなるまで繰り返す。[ステップS2]グループ生成手段3は、記憶手段1内に残存する集合に基づいて、複数の集合からなるグループを生成する。例えばグループ生成手段3は、削除する集合および要素が無くなった記憶手段1内に残存する集合のうち、共有数閾値以上の要素を共有する集合間を関連付け、関連付けられた集合間を辿ることで到達可能な複数の集合が属するグループを生成する。[ステップS3]第2の削除手段4は、ステップS2で生成されたグループに属する集合を処理対象として、所定の削除条件を満たす集合と要素とを削除する。例えば第2の削除手段4は、記憶手段1内のグループに属する集合に対して、包含数閾値未満の要素しか含まない集合の削除と、そのグループに属する集合のうち出現数閾値未満の集合にしか含まれない要素の削除とを行う。第2の削除手段4は、集合と要素との削除処理を、削除する集合および要素が無くなるまで繰り返す。[ステップS4]別グループ生成手段5は、削除する集合および要素が無くなったグループごとに、そのグループの一部を分離した別のグループを生成する。例えば別グループ生成手段5は、既存のグループに残存する集合のうち、共有数閾値以上の要素を共有する集合間を関連付け、関連付けられた集合間を辿ることで到達可能な複数の集合を求める。別グループ生成手段5は、求められた複数の集合が、元のグループに属する集合の一部である場合、求められた複数の集合が属する別のグループを生成する。[ステップS5]出力手段6は、ステップS4の処理において別のグループが生成できたか否かを判断する。出力手段6は、別のグループが生成できたのであれば、処理をステップS3に進める。また出力手段6は、別のグループが生成できていないのであれば、処理をステップS6に進める。[ステップS6]出力手段6は、生成済みのグループそれぞれから、そのグループに残存する集合のいずれかに含まれる要素のリストを出力する。このようにして、上記第1第2の条件を満たす複数の要素が抽出される。図3は、第1の実施の形態による要素の抽出例を示す図である。図3では、第1の実施の形態による要素抽出過程を、記憶手段1内の集合の状態遷移で示している。なお、図3の例では、出現数閾値、包含数閾値、および共有数閾値がすべて2であるものとする。第1の状態は、記憶手段1に格納された集合の初期状態である。図3では、記憶手段1に7個の集合a,b,c,d,e,f,gが格納されている。各集合の識別子の右に、その集合に含まれる要素がアルファベットで示されている。記憶手段1に格納された複数の集合のうち、集合eは要素を1つしか含んでおらず、包含数閾値未満の要素しか含んでいないこととなる。そのため、集合eは、記憶手段1から削除される。また、集合eの削除後に残存する各集合に含まれる要素の出現数をカウントすると、要素Eの出現数が1であり、出現数閾値未満である。そこで、集合dから、要素Eが削除される。要素Eが削除されたことにより、集合dに含まれる要素数は2から1に減少する。すると集合dに含まれる要素数は、包含数閾値未満となり、記憶手段1から集合dが削除される。これ以上、集合および要素を削除できないため、集合と要素との最初の削除処理は終了する。第2の状態は、集合と要素との最初の削除処理は終了後の状態である。記憶手段1内に残存する集合のうち、共有数閾値以上の要素を共有する集合が関連付けられる。すると、集合a,b,cが互いに共有数閾値以上の要素を共有しており、関連付けられる。また集合f,gが共有数閾値以上の要素を共有しており、関連付けられる。そこで集合a,b,cが属するグループ6aと、集合f,gが属するグループ6bとが生成される。第3の状態は、グループ生成後の状態を示す図である。生成されたグループ6a,6bそれぞれについて、包含数閾値未満の要素しか含んでいない集合と、同一グループ内の出現数閾値未満の集合にしか含まれない要素とが削除される。すると、要素Fは、グループ別に出現数をカウントすると、グループ6a,6bのいずれにおいても1回しか出現しない。そこで、各グループ6a,6bから、要素Fが削除される。第4の状態は、集合と要素との2回目の削除処理は終了後の状態である。第4の状態で各グループ6a,6b内に残存する集合に基づいて、グループ内での集合の関連付けが行われる。図3の例では、既に生成されているグループ6a,6bの集合が互いに関連付けられるだけであり、元のグループの一部を分離した別のグループは生成されない。そこで既に生成されているグループ6a,6bごとに、そのグループに残存する集合に含まれる要素のリスト7a,7bが出力される。このようにして出力された要素のリスト7a,7bは、上記の第1第2の要素抽出条件を満たす。従って要素のリスト7a,7bは、要素の共通性によって関連付けられた複数の集合のいずれかに、同時に含まれることの多い要素の集合である。しかも第1の実施の形態に示した処理は、第1第2の要素抽出条件を満たさない集合および要素の削除と、要素の共通性による集合のグループ分けとを交互に行うことで要素を効率的に絞り込んでいる。そのため、複数の要素のあらゆる組み合わせについて、上記の第1第2の要素抽出条件を満たすかどうかを判断する場合に比べて、計算量が少なくて済む。その結果、要素数が大量になっても、要素の共通性によって関連付けられた複数の集合のいずれかに、同時に含まれることの多い要素の集合を効率的に抽出することが可能となる。なお、出現数閾値、包含数閾値、および共有数閾値の設定内容によっては、1つのグループの一部の集合が属する別のグループを生成できないことが、予め分かっている場合もある。例えば出現数閾値、包含数閾値、および共有数閾値が、すべて2の場合、最初にグループ化したときに関連付けられた集合間で共有された要素は、2つ以上の集合に含まれるため、その後の削除処理で削除されることはない。また、グループに属する集合は、削除されることのない2つ以上の要素を含む。そのため、集合が削除されることもない。そのため、そのグループに対して要素の共有性に基づく集合間の関連付けを行うと、グループ内のすべての集合が関連付けられ、別のグループは生成されない。このように別のグループが生成されないことが自明な場合には、図2のステップS4、S5の処理を実行せずに、集合と削除とを行ったグループから要素のリストを出力することができる。第2の実施の形態次に第2の実施の形態について説明する。第2の実施の形態は、POSからトランザクションデータを収集し、顧客に提示するメニュー一覧に載せるのに適したアイテムの組み合わせに関する知識を取得するものである。なお、トランザクションデータに含まれるアイテムは、第1の実施の形態に示した要素の一例である。またトランザクションデータは、第1の実施の形態に示した、要素を含む集合の一例である。図4は、第2の実施の形態で想定するアイテム抽出例を示す図である。図4の例では、飲食店のPOS端末装置は、各顧客が注文した品目を含むPOSデータ21を記憶する。なお、POSデータ21に含まれる、顧客ごとの注文した品目のリストが、トランザクションデータである。図4では、例えば顧客1が、炒飯、餃子、青椒肉絲を注文したことが記憶されている。このようなPOSデータ21が所定の調査期間分記憶されると、そのPOSデータ21に基づいてデータマイニングを行う。データマイニングでは、同時に注文されることの多い、できるだけ大きな品目の集合を生成する。そして、飲食店の店員は、同時に注文されることの多い品目の集合を載せたメニュー22を作成する。例えば、炒飯、餃子、青椒肉絲、および麻婆豆腐が同時に抽出されることが多い場合、これらの品目を同一ページに載せたメニュー22が作成される。このように抽出された集合に含まれる品目を、メニューの同じページに掲載しておくことで、顧客は、注文したい品目を1つのページ内で見つけることができ、注文がしやすくなる。第2の実施の形態では、利用しやすいメニューを、以下のように定義する。メニュー中どの品目に対しても、そのメニュー他の多くの品目と併せて注文した顧客が、過去に多数存在すること。メニュー中の多くの品目を併せて注文した顧客の集まり顧客群は、好みが似たメニューから多くのメニューを共通に注文した顧客の集まりであること。具体的には、以下の条件を満たすメニューを作成するものとする。なお、予め閾値k,m,nが設定されているものとする。ここでkは2以上の整数、mは1以上の整数、nは1以上のk以下の整数である。[条件1]メニューに含まれる各品目は、メニューに含まれる品目のうちk品以上の品目を注文した顧客群のなかのm人以上の顧客によって注文されていること。この条件をトランザクションデータに当てはめると、抽出されるアイテム集合中のどのアイテムも、アイテム集合中のk個以上のアイテムを含むようなm個以上のトランザクションに含まれることである。[条件2メニューからk品以上の品目を注文した顧客群に属する各顧客は、その顧客群に属する他の顧客との間で、メニュー内のn品以上の品目を共通に注文しているという関連付けによって結び付けられていること。この条件をトランザクションデータに当てはめると、アイテム集合中のk個以上のアイテムを含むようなトランザクションの集合は、アイテム集合中のn個以上のアイテムを共有することで関連付けられたトランザクションの集まりであることである。図5は、利用しやすいメニューの条件に沿った品目集合の抽出例を示す図である。図5では、POSデータ21をグラフィカルに示している。図5に示したPOSデータ21では、顧客と、その顧客が注文した品目とを線で接続している。また、上記[条件1]、[条件2]における閾値k,m,nの値は、それぞれk=2、m=2、n=2とする。図5の例において、2つのアイテム集合MA,MBについて、上記[条件1]、[条件2]を満たすか否かを検討する。アイテム集合MAアイテム集合MAには、顧客が注文した品目を示すアイテムとして炒飯、餃子、青椒肉絲、および麻婆豆腐が含まれている。まずアイテム集合MAに関して、[条件1]の適合の有無を検討する。アイテム集合MAに含まれる品目のいずれかを注文した顧客は、顧客1、顧客2、顧客3、顧客4である。ここで顧客1、顧客2、顧客3は、アイテム集合MAから3品の品目を注文している。一方顧客4は、アイテム集合MAから1品の品目を注文している。すると、アイテム集合MAに含まれる品目のうちk=2品以上の注文をした顧客は、顧客1、顧客2、顧客3である。そこで顧客1、顧客2、顧客3を含む顧客群Aが形成される。アイテム集合の各品目のうち炒飯は、顧客群Aに属する3人の顧客から注文されている。餃子、青椒肉絲、麻婆豆腐は、顧客群Aに属する2人の顧客から注文されている。すると、いずれの品目もm=2人以上の顧客によって注文されている。以上により、アイテム集合MAは[条件1]を満たしている。次に、アイテム集合MAに関して、[条件2]の適合の有無を検討する。顧客群Aに属する顧客1は、顧客群Aに属する他の顧客2との間で、アイテム集合MA内の炒飯、餃子を共通で注文している。顧客群Aに属する顧客2は、顧客群Aに属する他の顧客3との間で、アイテム集合MA内の炒飯、麻婆豆腐を共通で注文している。顧客群Aに属する顧客3は、顧客群Aに属する他の顧客1との間で、アイテム集合MA内の炒飯、青椒肉絲を共通で注文している。そうすると、顧客群Aに属するいずれの顧客も、その顧客群に属する他の顧客との間で、アイテム集合MA内のn=2品以上の品目を共通に注文している。従って[条件2]も満たされる。その結果、アイテム集合MAに含まれる品目を掲載したメニューは、利用しやすいメニューの条件を満たしていることとなる。例えばアイテム集合MAに示される品目炒飯、餃子、青椒肉絲、および麻婆豆腐を載せたメニューは、顧客1、顧客2、顧客3と好みが似た多数の顧客にとって使いやすいメニューである。アイテム集合MBアイテム集合MBには、顧客が注文した品目を示すアイテムとしてラーメン、蟹玉、およびチャーシューが含まれている。まずアイテム集合MBに関して、[条件1]の適合の有無を検討する。アイテム集合MBに含まれる品目のいずれかを注文した顧客は、顧客6、顧客7である。ここで顧客6、顧客7は、アイテム集合MBから3品の品目を注文している。すると、アイテム集合MBに含まれる品目のうちk=2品以上の注文をした顧客は、顧客6、顧客7である。そこで顧客6、顧客7を含む顧客群Bが形成される。アイテム集合の各品目のうちラーメン、蟹玉、チャーシューは、それぞれ顧客群Bに属する2人の顧客から注文されている。すると、いずれの品目もm=2人以上の顧客によって注文されている。以上により、アイテム集合MBは[条件1]を満たしている。次に、アイテム集合MBに関して、[条件2]の適合の有無を検討する。顧客群Bに属する顧客6は、顧客群Bに属する他の顧客7との間で、アイテム集合MB内のラーメン、蟹玉、チャーシューを共通で注文している。そうすると、顧客群Bに属するいずれの顧客も、その顧客群に属する他の顧客との間で、アイテム集合MB内のn=2品以上の品目を共通に注文している。従って[条件2]も満たされる。その結果、アイテム集合MBに含まれる品目を掲載したメニューは、利用しやすいメニューの条件を満たしていることとなる。第2の実施の形態では、このような利用しやすいメニューに載せる品目の決定に利用可能なアイテム抽出処理を、効率的に行うことができる。例えばアイテム集合MBに示される品目ラーメン、蟹玉、およびチャーシューを載せたメニューは、顧客6、顧客7と好みが似た多数の顧客にとって使いやすいメニューである。このように、[条件1]と[条件2]とを満たすアイテム集合を抽出することで、有用なメニューが作成できる。このようなアイテム集合の条件を論理式で表すと、以下のようになる。すなわち、以下の条件を満たすアイテムの組み合わせXを抽出することとなる。∃Y⊆Y0∀y∈Yfy,X≧k∧∀x∈Xgx,Y≧m∧∀{yi,yj}⊆Yryi,yj,X,Y,n<∞1ここでY0は、全トランザクション集合である。Yは、Y0の部分集合である。∃Y⊆Y0で、Y0の任意の部分集合Yが定義されている。∧は、論理積を示す記号である。∀y∈Yにより、すべてのトランザクションyが部分集合Yに属することが示されている。fy,Xは、アイテムの組み合わせXに含まれるアイテムのうち、トランザクションyに含まれる個数である。∀x∈Xにより、すべてのアイテムxが、アイテムの組み合わせXに属することが示されている。gx,Yは、Yに含まれるトランザクションのうち、アイテムxを含む個数である。yiは、i番目iは1以上の整数のトランザクションyを示す。yjは、j番目jは1以上の整数のトランザクションyを示す。∀{yi,yj}⊆Yにより、トランザクションyiとトランザクションyjと組み合わせのすべてが、トランザクションの部分集合Yの部分集合となることを示している。ryi,yj,X,Y,nは、アイテムの組み合わせXに含まれるアイテムをn個以上共有するトランザクションによって、部分集合Yに含まれるトランザクションをyiからyjまで辿ったときの最短パスの経路長である。例えば、yiとyjとが、アイテムの組み合わせXに含まれるアイテムをn個以上共有していれば、ryi,yj,X,Y,n=1となる。アイテムの組み合わせXに含まれるアイテムをn個以上共有するトランザクションによって、部分集合Yに含まれるトランザクションをyiからyjまで辿るパスが存在しないときは、ryi,yj,X,Y,n=∞とする。従って、該当するパスが存在すれば、ryi,yj,X,Y,n<∞の条件は満たされる。次に、このような論理式を満たすようなアイテム集合を抽出するシステムの構成について説明する。図6は、第2の実施の形態のシステム構成例を示す図である。サーバ100には、ネットワーク10を介して複数のPOS端末装置31~33が接続されている。POS端末装置31~33は、それぞれ例えば同系列の飲食店に設置されている。POS端末装置31~33は、顧客が注文した品目のリストを、トランザクションデータとして記憶する。そしてPOS端末装置31~33は、記憶したトランザクションデータを、サーバ100に送信する。サーバ100は、POS端末装置31~33から収集したトランザクションデータに基づいて、データマイニングを行う。図7は、第2の実施の形態に用いるサーバのハードウェアの一構成例を示す図である。サーバ100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。RAM102は、サーバ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOSOperatingSystemのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、サーバ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRTCathodeRayTubeを用いた表示装置や液晶表示装置などがある。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVDDigitalVersatileDisc、DVD-RAM、CD-ROMCompactDiscReadOnlyMemory、CD-RRecordable/RWReWritableなどがある。通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置Cも、図3に示したコンピュータと同様のハードウェアにより実現することができる。図8は、サーバの機能を示すブロック図である。サーバ100は、収集部110、トランザクション記憶部120、アイテム集合抽出部130、トランザクション集合分割部140、グループ情報記憶部150、および出力部160を有する。収集部110は、POS端末装置31~33から、トランザクションデータを収集する。収集部110は、収集したとトランザクションデータをトランザクション記憶部120に格納する。トランザクション記憶部120は、トランザクションデータを記憶する。なおトランザクション記憶部120に格納されたトランザクションデータは、アイテム集合抽出部130によって更新される。例えば、トランザクションデータの削除や、アイテムの削除が行われる。例えばRAM102またはHDD103の記憶領域の一部が、トランザクション記憶部120として使用される。アイテム集合抽出部130は、トランザクション記憶部120に格納されたトランザクションデータに基づいて、上記の[条件1を満たすメニューに含まれる品目を示すアイテム集合を抽出する。アイテム集合抽出部130は、アイテム集合の抽出過程で、トランザクション記憶部120内のトランザクションデータの更新を行う。なおアイテム集合抽出部130は、グループ情報記憶部150にトランザクションのグループが設定されている場合、同一グループのトランザクションに関するトランザクションデータに基づいて、アイテム集合の抽出処理を行う。トランザクション集合分割部140は、アイテム集合抽出部130により抽出されたアイテムに基づいて、上記の[条件2]を満たす顧客のトランザクションデータ同士を同じグループに纏めるように、トランザクションを複数のグループに分類する。トランザクション集合分割部140は、分類の結果をグループ情報記憶部150に格納する。グループ情報記憶部150は、トランザクションの各グループに属するトランザクションデータに関する情報を記憶する。例えばRAM102またはHDD103の記憶領域の一部が、グループ情報記憶部150として使用される。出力部160は、トランザクション集合分割部140によって、これ以上細かく分類できないと判断された場合、トランザクション記憶部120とグループ情報記憶部150とを参照し、グループごとの最大アイテム集合を出力する。なお、図8に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、トランザクション記憶部120は、図1に示した第1の実施の形態の記憶手段1の一例である。アイテム集合抽出部130は、図1に示した第1の実施の形態の第1の削除手段2と第2の削除手段4とを合わせた機能の一例である。トランザクション集合分割部140は、図1に示した第1の実施の形態のグループ生成手段3と別グループ生成手段5とを合わせた機能の一例である。出力部160は、図1に示した第1の実施の形態の出力手段6の一例である。次に、図8に示す各記憶部のデータ構造例について説明する。図9は、トランザクション記憶部のデータ構造の一例を示す図である。トランザクション記憶部120には、トランザクションテーブル121が格納されている。トランザクションテーブル121には、トランザクションとアイテムとの欄が設けられている。トランザクションの欄には、収集されたトランザクションデータの識別情報トランザクションIDが設定される。アイテムの欄には、収集されたトランザクションデータに含まれているアイテムの識別情報アイテムIDが設定される。図10は、グループ情報記憶部のデータ構造の一例を示す図である。グループ情報記憶部150には、グループ管理テーブル151が格納されている。グループ管理テーブル151には、グループとトランザクションとの欄が設けられている。グループの欄には、トランザクションのグループの識別情報グループIDが設定される。トランザクションの欄には、対応するグループに属するトランザクションのトランザクションIDが設定される。次に、第2の実施の形態におけるアイテム集合抽出処理の手順について説明する。図11は、アイテム集合抽出処理の手順の一例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。[ステップS101]収集部110は、POS端末装置31~33からトランザクションデータを収集する。例えば収集部110は、ユーザからの指示に応じて、トランザクションデータを収集する。また収集部110は、所定の間隔で定期的にトランザクションデータを収集することもできる。また収集部110は、POS端末装置31~33が任意のタイミングで送信したトランザクションデータを随時受信することもできる。収集部110は、収集したトランザクションデータをトランザクション記憶部120に格納する。[ステップS102]アイテム集合抽出部130は、最大アイテム集合抽出処理を行う。例えばアイテム集合抽出部130は、ユーザからの指示に応じて最大アイテム集合抽出処理を行う。なお、グループ情報記憶部150にトランザクションのグループが登録されていない場合、アイテム集合抽出部130は、トランザクション記憶部120に格納されているすべてのトランザクションデータで示されるトランザクションを1つのグループとする。そしてアイテム集合抽出部130は、すべてのトランザクションを処理対象として、最大アイテム集合抽出処理を行う。また、グループ情報記憶部150にトランザクションのグループが登録されている場合、アイテム集合抽出部130は、グループごとに最大アイテム集合抽出処理を行う。グループの最大アイテム抽出処理では、そのグループに属するトランザクションが処理対象となる。最大アイテム集合抽出処理の詳細は後述する図13参照。[ステップS103]アイテム集合抽出部130は、ステップS102で得られた最大アイテム集合が空集合か否かを判断する。アイテム集合抽出部130は、最大アイテム集合が空集合であれば、処理を終了する。またアイテム集合抽出部130は、最大アイテム集合が空集合でなければ、処理をステップS104に進める。なおアイテム集合抽出部130は、最大アイテム集合が空集合でない場合、例えばトランザクション集合分割部140に、トランザクション集合の分割を指示する。[ステップS104]トランザクション集合分割部140は、トランザクション集合分割処理を行う。例えばトランザクション集合分割部140は、アイテム集合抽出部130からのトランザクション集合の分割指示に応じて、トランザクション集合分割処理を行う。なお、トランザクション集合分割処理の詳細は後述する。[ステップS105]トランザクション集合分割部140は、ステップS104の処理により、トランザクション集合を複数のグループに分割できたか否かを判断する。トランザクション集合分割部140は、分割できた場合、処理をステップS102に進める。またトランザクション集合分割部140は、分割できなかった場合、処理をステップS106に進める。なおトランザクション集合分割部140は、分割できなかった場合、例えば出力部160に、トランザクション群の分割を指示する。[ステップS106]出力部160は、アイテム集合を出力する。例えば出力部160は、グループ情報記憶部150に格納されたトランザクションのグループを判断する。次に、出力部160は、トランザクション記憶部120を参照し、グループごとに、そのグループに属するトランザクションに関するトランザクションデータに含まれるアイテムを抽出する。そして出力部160は、グループごとに抽出したアイテムの集合を出力する。図12は、アイテム集合抽出処理の一例を示す図である。第1の状態は、アイテム集合抽出処理の入力データを示している。入力データは、トランザクションテーブル121に設定された各トランザクションデータと、各閾値k,m,nの値である。アイテム集合抽出処理が開始されると、まず最大アイテム集合抽出処理が行われ、第2の状態に移行する。第2の状態では、トランザクションテーブル121から、[条件1]を満たすことができないトランザクションデータとアイテムとが削除されている。すなわち、アイテム数がk個未満のトランザクションデータや、出現トランザクション数がm個未満のアイテムが削除されている。そして、トランザクションテーブル121に残存するトランザクションデータのいずれかに含まれるアイテムの集合が、最大アイテム集合41として抽出されている。その後、トランザクション集合分割処理が行われ、第3の状態に移行する。第3の状態は、トランザクション集合の分割後の状態である。トランザクション集合を分割することで、トランザクションのグループが複数生成されている。同一グループには、n個以上のアイテムが共通するトランザクション間の関係を辿ることで、互いに到達可能なトランザクションが含まれる。トランザクション集合が分割されると、グループごとに、最大アイテム集合抽出処理が行われ、第4の状態に移行する。第4の状態は、2回目の最大アイテム集合抽出処理後の状態である。2回目の最大アイテム集合抽出処理は、アイテム数がk個未満のトランザクションデータや、出現トランザクション数がm個未満のアイテムの削除が、グループごとに行われている。そしてグループごとに最大アイテム集合42,43が抽出されている。その後、トランザクション集合分割処理が行われるが、これ以上、各グループを分割することができない。そこで、各グループの最大アイテム集合42,43が出力される。このような最大アイテム集合抽出処理とトランザクション集合分割処理との繰り返しにより、[条件1]、[条件2]を満たす最大アイテム集合が生成される。次に、最大アイテム集合抽出処理について説明する。図13は、最大アイテム集合抽出処理の手順の一例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。[ステップS121]アイテム集合抽出部130は、グループ管理テーブル151図10参照にグループが登録されているか否かを判断する。アイテム集合抽出部130は、グループが登録されている場合、処理をステップS123に進める。またアイテム集合抽出部130は、グループが登録されていない場合、処理をステップS122に進める。[ステップS122]アイテム集合抽出部130は、トランザクションテーブル121図9参照に登録されているすべてのトランザクションデータを処理対象に決定する。アイテム集合抽出部130は、その後、処理をステップS125に進める。[ステップS123]アイテム集合抽出部130は、グループ管理テーブル151に登録されているグループから、ステップS125~S128の処理が未処理のグループを1つ選択する。[ステップS124]アイテム集合抽出部130は、選択したグループに属するトランザクションデータを処理対象に決定する。[ステップS125]アイテム集合抽出部130は、処理対象のトランザクションデータのうち、アイテム数がk個未満のトランザクションデータを、トランザクションテーブル121から削除する。このとき、例えばアイテム集合抽出部130は、削除対象のトランザクションデータのトランクションIDがグループ管理テーブル151に設定されている場合、そのトランザクションIDを削除する。アイテム数がk個未満のトランザクションデータに示された注文を行った顧客は、[条件1]に示されているk品以上の品目を注文した顧客には該当しない。アイテム数がk個未満のトランザクションデータを削除することで、以後の処理における解析対象の情報量が減少し、処理の効率化が図れる。[ステップS126]アイテム集合抽出部130は、トランザクションテーブル121内の処理対象のトランザクションデータから、出現トランザクション数がm個未満のアイテムを削除する。出現トランザクション数がm個未満のアイテムに対応する品目は、[条件1]に示されているm人mは1以上の整数以上の顧客によって注文されている品目には該当しない。出現トランザクション数がm個未満のアイテムを削除することで、以後の処理における解析対象の情報量が減少し、処理の効率化が図れる。[ステップS127]アイテム集合抽出部130は、トランザクションテーブル121内の処理対象のトランザクションデータのうち、アイテム数がk個未満のトランザクションデータがあるか否かを判断する。ステップS126の処理によってアイテムが削除されたことで、トランザクションデータのアイテム数がk個未満となってしまう可能性がある。そこでアイテム集合抽出部130は、アイテム数がk個未満のトランザクションデータがある場合には、処理をステップS125に進め、再度トランザクションデータの削除を行う。またアイテム集合抽出部130は、アイテム数がk個未満のトランザクションデータがない場合、処理をステップS128に進める。[ステップS128]アイテム集合抽出部130は、処理対象トランザクションデータのいずれか1つに含まれているアイテムの集合を、最大アイテム集合として出力する。[ステップS129]アイテム集合抽出部130は、グループ管理テーブル151に未処理のグループがあるか否かを判断する。アイテム集合抽出部130は、未処理のグループがあれば処理をステップS123に進める。またアイテム集合抽出部130は、未処理のグループがなければ、最大アイテム集合抽出処理を終了する。このようにして、最大アイテム集合が抽出される。図14は、最大アイテム集合抽出処理の一例を示す図である。図14には、最大アイテム集合抽出処理に伴うトランザクションテーブル121の状態遷移状況を示している。図14に示すトランザクションテーブル121では、左欄にトランザクションIDが示されており、トランザクションIDに対応づけて、トランザクションに含まれるアイテムのアイテムIDのリストが示されている。なお図14の例では、またトランザクションのグループが設定されていないものとする。従って、トランザクションテーブル121に登録されているすべてのトランザクションデータを処理対象とした最大アイテム集合の抽出処理が行われる。第1の状態は、トランザクションテーブル121の初期状態である。初期状態において、トランザクションテーブル121から、アイテム数がk=2未満のトランザクションデータが検出される。するとアイテム数が1の、トランザクションIDT5のトランザクションデータが検出される。そして、そのトランザクションデータが、トランザクションテーブル121から削除される。第2の状態は、アイテム数がk未満のトランザクションデータを削除後の状態である。第2の状態において、いずれかのトランザクションデータに出現するアイテムごとに、処理対象のトランザクションデータへの出現回数が計数される。そして、出現回数がm=2未満のアイテムが検出される。図14の例では、出現回数が1のアイテムIDEのアイテムが検出される。そして検出されたアイテムが、トランザクションテーブル121内の処理対象のトランザクションデータから削除される。第3の状態は、出現回数がm個未満のアイテムを削除後の状態である。図14の例では、トランザクションIDT4のトランザクションデータから、アイテムIDFが削除されている。アイテムを削除後、再度、トランザクションテーブル121から、アイテム数がk個未満のトランザクションデータが検出される。するとアイテムの削除によってアイテム数が1になった、トランザクションIDT4のトランザクションデータが検出される。そして、そのトランザクションデータが、トランザクションテーブル121から削除される。第4の状態は、アイテム数がk個未満のトランザクションデータの2回目の削除処理後の状態である。第4の状態において、いずれかのトランザクションデータに出現するアイテムごとに、処理対象のトランザクションデータへの出現回数が計数される。そして、出現回数がm個未満のアイテムの検出処理が行われる。しかし、第4の状態では、出現回数がm未満のアイテムは存在しない。そこで、トランザクションテーブル121に残存しているトランザクションデータのいずれかに含まれるアイテムの集合が、最大アイテム集合41として抽出される。抽出された最大アイテム集合が空集合でなければ、トランザクション集合分割処理が行われる。図15は、トランザクション集合分割処理の手順を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。[ステップS131]トランザクション集合分割部140は、グループ管理テーブル151図10参照にグループが登録されているか否かを判断する。トランザクション集合分割部140は、グループが登録されている場合、処理をステップS133に進める。またトランザクション集合分割部140は、グループが登録されていない場合、処理をステップS132に進める。[ステップS132]トランザクション集合分割部140は、トランザクションテーブル121図9参照に残存するすべてのトランザクションデータを処理対象に決定する。トランザクション集合分割部140は、その後、処理をステップS135に進める。[ステップS133]トランザクション集合分割部140は、グループ管理テーブル151に登録されているグループから、ステップS135~S137の処理が未処理のグループを1つ選択する。[ステップS134]アイテム集合抽出部130は、選択したグループに属するトランザクションデータを処理対象に決定する。[ステップS135]トランザクション集合分割部140は、処理対象のトランザクションデータのうち、共有アイテム数がn個以上のトランザクションデータによるネットワークを生成する。例えばトランザクション集合分割部140は、処理対象のトランザクションデータから2つのトランザクションデータを抽出して得られるすべての組み合わせについて、両方のトランザクションデータに含まれるアイテムの数共有アイテム数を計数する。そしてトランザクション集合分割部140は、共有アイテム数がn個以上のトランザクションデータの組み合わせについて、それらのトランザクションデータを関連付ける。トランザクション集合分割部140は、例えば共有アイテム数がn個以上のトランザクションデータ間に、関連を示すパスを設定する。これにより、パスで接続されたトランザクションのネットワークが生成される。[ステップS136]トランザクション集合分割部140は、処理対象のトランザクションデータ全体によるネットワークを、ネットワーク上でパスを辿ることで到達可能なサブネットワークに分割する。なお、サブネットワークへの分割技術としては、例えば非特許文献1に開示されているConnectedComponent抽出アルゴリズムを利用できる。[ステップS137]トランザクション集合分割部140は、サブネットワークごとのトランザクションのグループを生成する。例えばトランザクション集合分割部140は、ステップS136で生成されたサブネットワークに属するトランザクションを1つのグループとして、グループ管理テーブル151に新たなグループを登録する。またトランザクション集合分割部140は、ステップS133で選択したグループを分割したサブグループを登録した場合、分割前のグループをグループ管理テーブル151から削除する。[ステップS138]トランザクション集合分割部140は、トランザクション集合分割処理の開始時点でグループ管理テーブル151に既に登録されていたグループのうち、未処理のグループがあるか否かを判断する。トランザクション集合分割部140は、未処理のグループがあれば、処理をステップS133に進める。またトランザクション集合分割部140は、未処理のグループがなければ、トランザクション集合分割処理を終了する。図16は、トランザクション集合分割処理の一例を示す図である。第1の状態は、トランザクション集合分割処理の開始時における、トランザクションテーブル121とグループ管理テーブル151との初期状態である。第1の状態におけるトランザクションテーブル121には、最大アイテム集合抽出処理を1回実行後に残存しているトランザクションデータが登録されている。グループ管理テーブル151には、グループは登録されていない。この場合、トランザクションテーブル121に登録されているすべてのトランザクションデータを処理対象として、トランザクション集合分割処理が行われる。トランザクション集合分割処理では、まずネットワーク51が生成される。第2の状態は、生成されたネットワーク51を示している。ネットワーク51は、処理対象のトランザクションデータのうち、n個以上のアイテムが共通するトランザクションデータ間を関連付けたものである。図16に示すネットワーク51では、処理対象のトランザクションデータがノード61~65で示され、トランザクションデータ間の関係づけが、ノード間を接続するエッジで示されている。例えば、トランザクションIDT1のトランザクションデータとトランザクションIDT2のトランザクションデータとは、アイテムIDA,Bの2つのアイテムが共通する。そのため、それらのトランザクションデータに対応するノード61,62間がエッジで接続されている。同様に、トランザクションIDT2、T3それぞれのトランザクションデータに対応するノード62,63間がエッジで接続されている。トランザクションIDT1、T3それぞれのトランザクションデータに対応するノード61,63間がエッジで接続されている。トランザクションIDT6、T7それぞれのトランザクションデータに対応するノード64,65間がエッジで接続されている。ここでネットワーク51内のノードを、エッジによる接続関係を有するノードごとのサブネットワーク52,53に分けることができる。第3の状態は、ネットワーク51をサブネットワーク52,53に分割した後の状態である。サブネットワーク52には、ノード61,62,63が含まれる。サブネットワーク53には、ノード64,65が含まれる。なお、サブネットワーク52内の各ノード61~63は、他のすべてのノードと関連付けられているが、第2の実施の形態では、サブネットワーク52内の各ノードは、同じサブネットワーク52内の少なくとも1つの他のノードと関連付けられていればよい。例えば、ノード63は2つのノード61,62にエッジで関連付けられているが、ノード62に対して関連付けられていなくても、ノード63はサブネットワーク52に属することとなる。第4の状態は、サブネットワーク52,53に応じたグループ生成後の状態である。第4の状態のグループ管理テーブル151には、トランザクションIDT1,T2,T3のトランザクションが属するグループと、トランザクションIDT6,T7のトランザクションが属するグループとが登録されている。なお図16の第4の状態は、図12の第3の状態と同じである。すなわち、図16の第4の状態の後、図12に示した様に、再度最大アイテム集合抽出処理が行われる。ところで、図12に示した例は、2回目のトランザクション集合分割処理では、グループが分割できず、その時点の最大アイテム集合が出力されている。これは、k=2,m=2,n=2という、どのようなデータに対しても1回しか分割されることはない閾値を用いたためである。このような閾値の場合、1回目の分割で各トランザクションデータ間の結合の根拠となったアイテムは、グループ内の少なくとも2以上のトランザクションデータに含まれている。またグループのどのトランザクションデータにも2以上のアイテムが含まれる。そのため、2回目の最大アイテム集合抽出処理で削除されるトランザクションデータやアイテムはなく、それ以上分割されることはない。閾値k,m,nの値を上記の例と異なる値にすれば、2回目移行のトランザクション集合分割処理でグループが更に分割される場合もある。図17は、トランザクション集合が複数回分割される例を示す図である。図17の例では、閾値k,m,nの値がそれぞれk=2,m=3,n=2である。第1の状態は、トランザクションテーブル121の初期状態である。図17の例では、12個のトランザクションデータがトランザクションテーブル121に登録されている。第1の状態で、最大アイテム集合抽出処理が行われる。図17の例では、トランザクションIDT12のトランザクションデータのアイテム数が1であり、閾値k=2未満である。そこで該当するトランザクションデータが削除される。トランザクションIDT12のトランザクションデータ削除後の各アイテムの出現数を計数すると、アイテムIDIのアイテム数が2であり、閾値m=3未満である。そこでアイテムIDIのアイテムがトランザクションテーブル121から削除される。すると、トランザクションIDT11のアイテム数が2から、k個未満=2の1に減少する。そこで該当するトランザクションデータが削除される。第2の状態は、1回目の最大アイテム集合抽出処理後の状態である。最大アイテム集合抽出処理により、トランザクションテーブル121では、トランザクションIDT11、T12のトランザクションデータと、アイテムIDIのアイテムとが削除されている。第2の状態のトランザクションテーブル121に対して、トランザクション集合分割処理が行われる。トランザクション集合分割処理で生成されるネットワーク71は、2つのサブネットワーク72,73に分けられる。そこで、サブネットワーク72,73ごとのグループが生成される。図17の例では、グループIDG1のグループに、トランザクションIDT1,T2,T3,T4,T5,T6,T7のトランザクションデータが含まれる。またグループIDG2のグループに、トランザクションIDT8,T9,T10のトランザクションデータが含まれる。第3の状態は、1回目のトランザクション集合分割処理後の状態である。第3の状態において、2回目の最大アイテム集合抽出処理が行われる。2回目の最大アイテム集合抽出処理では、グループごとに処理が行われる。グループIDG1のグループの各アイテムの出現数を計数すると、アイテムIDBのアイテム数が2であり、閾値m=3未満である。そこでアイテムIDBのアイテムが、グループIDG1のグループに属するトランザクションのトランザクションデータから削除される。またグループIDG2のグループの各アイテムの出現数を計数すると、アイテムIDBのアイテム数が1であり、閾値m=3未満である。そこでアイテムIDBのアイテムが、グループIDG2のグループに属するトランザクションのトランザクションデータから削除される。第4の状態は、2回目の最大アイテム集合抽出処理後の状態である。第4の状態において、2回目のトランザクション集合分割処理が行われる。図17の例では、2回目の最大アイテム集合抽出処理によって、各グループのトランザクションデータから、アイテムIDBのアイテムが削除されている。そのため、トランザクションIDT4のトランザクションデータとトランザクションIDT5のトランザクションデータとに共に含まれるアイテムは、アイテムIDAのアイテムのみとなる。すると共に含まれるアイテム数1が閾値n=2未満となり、トランザクションIDT4のトランザクションデータとトランザクションT5のトランザクションデータとの関連性は失われる。その結果、1回目のトランザクション集合分割処理で生成されたサブネットワーク72は、さらに2つのサブネットワーク74,75に分割される。なおサブネットワーク73は分割されない。そこで、サブネットワーク73~75ごとのグループが生成される。図17の例では、グループIDG1-1のグループに、トランザクションIDT1,T2,T3,T4のトランザクションデータが含まれる。グループIDG1-2のグループに、トランザクションIDT5,T6,T7のトランザクションデータが含まれる。またグループIDG2のグループに、トランザクションIDT8,T9,T10のトランザクションデータが含まれる。第5の状態は、2回目のトランザクション集合分割処理後の状態である。第5の状態において、3回目の最大アイテム集合抽出処理が行われるが、トランザクションデータやアイテムは削除されない。そのため、2回目のトランザクション集合分割処理を行っても、分割されるグループはない。そこで、第5の状態に示すトランザクションテーブル121に基づいて得られた、グループごとの最大アイテム集合76が出力される。図17の例では、グループIDG1-1のグループに基づき、最大アイテム集合{A,C,E,F}が出力されている。グループIDG1-2のグループに基づき、最大アイテム集合{A,D}が出力されている。グループIDG2のグループに基づき、最大アイテム集合{G,H}が出力されている。以上のようにして、[条件1]、[条件2]を満たす最大アイテム集合が得られる。第2の実施の形態に示した処理で最大アイテム集合を得ることで、効率的な計算が行われる。以下、第2の実施の形態における計算量について説明する。なお、以下の説明では、計算量をO記法で表す。[最大アイテム集合抽出処理の計算量]ここで、全アイテム数をNNは、1以上の整数、全トランザクション数をMMは、1以上の整数とする。最初の最大アイテム集合抽出処理では、まず全トランザクションのアイテム数が集計される。この処理の計算量は、OMとなる。次に全アイテムのトランザクション数が集計される。この処理の計算量は、ONである。この繰り返し処理の計算量は、大きく見積もってもOMNである。すると、最大アイテム集合抽出処理の計算量は、OMNとなる。[トランザクション集合分割処理の計算量]トランザクション集合分割処理の計算量は、上記非特許文献1に開示されているConnectedComponent抽出アルゴリズムの計算量となり、OMNである。すると最大アイテム集合抽出処理とトランザクション集合分割処理を合わせた計算量は、OMNである。第2の実施の形態では、最大アイテム集合抽出処理とトランザクション集合分割処理が、トランザクションのグループを分割できなくなるまで繰り返される。この場合の総計算量は、大きく見積もってもOMNMN-1...1=OMN2である。一方、第2の実施の形態の技術を用いずに、[条件1]と[条件2]とを満足する最大アイテム集合を求める場合、すべてのアイテムの組み合わせについて、[条件1]と[条件2]とを満たすかどうかを判断することとなる。この場合の計算量は、OM×2Nである。すると第2の実施の形態の技術を用いた場合の計算量OMN2は、Nが大きいとき、第2の実施の形態の技術を用いない場合の計算量OM×2Nよりも、格段に少なくなる。すなわち、全アイテム数Nが多いほど、第2の実施の形態の技術による処理の効率化の効果が高まる。以上にして出力された最大アイテム集合を用いることで、例えばできるだけ多くの顧客に役立つような品目が掲載されたメニューを作成できる。さらに、このメニューに掲載された品目は、注文する品目に同じ傾向の顧客によって併せて注文されることが多い。そのため、各顧客は、自分と同じ傾向の顧客に注文されることの多いメニューだけを見ることができる。また第2の実施の形態によれば、グループごとの最大アイテム集合が抽出される。抽出される最大アイテム集合は、それぞれを有効に利用できる顧客の傾向が異なる。そのため、抽出された複数の最大アイテム集合それぞれに基づいて、別個のメニューを作成すれば、それぞれ異なる傾向を持つ顧客群にとって有用なメニューとなる。例えば、辛い料理を好む顧客群用のメニューや、低カロリーの料理を好む顧客群用のメニューなど、顧客の嗜好に合わせたメニューが作成できる。[その他の実施の形態]なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、サーバ100が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置HDD、フレキシブルディスクFD、磁気テープなどがある。光ディスクには、DVD、DVD-RAM、CD-ROM/RWなどがある。光磁気記録媒体には、MOMagnetoOpticaldiskなどがある。なお記録媒体には、一時的な伝送信号自体は含まれない。プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSPDigitalSignalProcessor、ASICApplicationSpecificIntegratedCircuit、PLDProgrammableLogicDeviceなどの電子回路で実現することもできる。以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成特徴を組み合わせたものであってもよい。"