JP2012084062A - 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム - Google Patents

意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム Download PDF

Info

Publication number
JP2012084062A
JP2012084062A JP2010231622A JP2010231622A JP2012084062A JP 2012084062 A JP2012084062 A JP 2012084062A JP 2010231622 A JP2010231622 A JP 2010231622A JP 2010231622 A JP2010231622 A JP 2010231622A JP 2012084062 A JP2012084062 A JP 2012084062A
Authority
JP
Japan
Prior art keywords
item set
item
items
new
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010231622A
Other languages
English (en)
Other versions
JP5528292B2 (ja
Inventor
Issei Yoshida
一星 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2010231622A priority Critical patent/JP5528292B2/ja
Priority to CN201110216914.8A priority patent/CN102456068B/zh
Priority to TW100128972A priority patent/TW201229793A/zh
Priority to US13/253,102 priority patent/US8954468B2/en
Publication of JP2012084062A publication Critical patent/JP2012084062A/ja
Application granted granted Critical
Publication of JP5528292B2 publication Critical patent/JP5528292B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】意味のある頻出アイテムセットのみを効率よく抽出することを可能ならしめる技術を提供する。
【解決手段】解析システム120は、アイテムセットのツリーを深さ優先かつ降順で探索するのと等しい順序で、検討対象とする新アイテムセットを決定する決定部330と、新アイテムセットの出現頻度が所定の閾値以上であることを条件に、該出現頻度をテーブルに登録する頻出判定部335と、該登録に応答して、新アイテムセット内の各アイテムと、該アイテムを新アイテムセットから除いた残りのアイテムのサブセットとの間に相関があるか否かを、テーブル内の値を用いて判定する相関判定部340と、新アイテムセット内の全アイテムの各々について、判定の結果が肯定的であることを条件に、新アイテムセットを意味のある頻出アイテムセットの集合に登録する登録部345とを含む。
【選択図】図3

Description

本発明は、各々が1又は複数のアイテムからなるアイテムセットを含む複数のレコードを記憶するデータベースから、意味のある頻出アイテムセットのみを抽出する技術に関し、特に、妥当な回数の頻度計算で且つ妥当なメモリの使用量で、そのようなアイテムセットを効率よく抽出する技術に関する。
従来、大量に蓄積されたデータから有用な知識の抽出を行うデータマイニングが研究されている。その中で、対象となる複数のレコード(例えば、発行済みのレシートの履歴)に頻繁に現れるアイテム(例えば商品)の組を検出する技術は、頻出パターンマイニングと呼ばれ、多くの手法が提案されている。頻出パターンマイニングでは、「アイテムセットの頻度≧所定の閾値(「最小サポート」と呼ばれる)」を満たすアイテムセットを頻出アイテムセットとして定義し、頻出アイテムセットの集合を抽出する。
しかし、アイテムセットの出現頻度が高いからといって、アイテム間に深い関係があるとは限らない。例えば、出現頻度が高いアイテムからなるアイテムセットの場合、アイテム間に関係がなくともそのアイテムセットが頻出する可能性は高い。アイテム間に深い関係がない場合、その頻出アイテムセットは、意味のないアイテムセットである。また、最小サポートの値はユーザが与えるものであるが、一般的に、実用的な最小サポートの値に対して、膨大な数の頻出アイテムセットが生成されてしまうことが知られている。
そこで、閉頻出集合という概念を導入してこれを定義し、該定義を満たす閉頻出のアイテムセットを抽出する従来技術が存在する(非特許文献1参照)。ここでアイテムセットYが閉頻出とは、「Yは頻出、かつ任意のY⊂Y´、Y≠Y´に対して、Yの頻度>Y´の頻度」を満たすことをいう。更に、閉頻出集合の上記定義を拡張し、「Yは頻出、かつ任意のY⊂Y´、Y≠Y´に対して、(Yの頻度×δ)>Y´の頻度」を満たすアイテムセットを抽出する従来技術も存在する(非特許文献2参照)。
閉頻出のアイテムセットを抽出すれば、アイテムセット全体と同じ出現頻度を有するアイテムセットの部分集合が、頻出アイテムセットとして無駄に抽出されることはなくなる。例えば、スーパーマーケットのPOSデータに、アイテムセットY={歯磨き粉、パン}が500回出現し、アイテムセットY={歯磨き粉、パン、ビール}もまた500回出現したとする。この場合、閉頻出のアイテムセットとして抽出されるのはアイテムセットYのみである。しかし、閉頻出のアイテムセットについても、アイテム間に深い関係があるとはいえず、閉頻出の概念をもってしても意味のある頻出アイテムセットを抽出することはできない。
そこで、アイテム間に深い関係があるアイテムセットを抽出する技術が必要となる。そのような従来技術として、非特許文献3及び非特許文献4が存在する。非特許文献3及び非特許文献4は、相互情報量やエントロピーを基にしたアプローチによって、3以上のアイテム間に相関のあるアイテムセットを抽出することを試みる。
しかし、非特許文献3及び4が提案する手法は、ペアワイズ比較を基礎とする。そのため、これら手法により抽出されるアイテムセットに対して保証されるのは、アイテムセット内の任意の2アイテム間に高い相関があるということだけである。
例えば、コールセンターのコールログに対して上記手法を適用し、アイテムセット{オペレーティング・システムA、ブラウザB、異常終了}を抽出したとする。この場合、{オペレーティング・システムA、ブラウザB}、{ブラウザB、異常終了}、{オペレーティング・システムA、異常終了}のそれぞれについて高い相関があることは保証される。しかし、「他のオペレーティング・システムではなくオペレーティング・システムA上で他のアプリケーションではなくブラウザBを使用して異常終了が起きた」ということまでは保証されない。なお、以下に示す特許文献1は、相関のルール抽出の手法を開示する背景技術として挙げたものである。
特開平8−287106
M.Boley et al., "EfficientDiscovery of Interesting Patterns Based on Strong Closedness",Statistical Analysis and Data Mining, Volume 2, Issue 5&ash;6, Pages 346-360,December 2009 J. Cheng et al., "Sigma-tolerance closed frequent itemsets", ICDM, Proceedings of the Sixth InternationalConference on Data Mining, pages 139–148, 2006 Y. Ke et al., "Mining quantitativecorrelated patterns using an information-theoretic approach", Proceedings ofthe 12th ACM SIGKDD international conference on knowledge discoveryand data mining, pages 227–236, August 2006 X. Zhang et al., "Mining Non-Redundant High Order Correlations inBinary Data", Proceedings of the VLDB Endowment, Volume1, Issue 1, pages 1178-1188,August 2008
従って、本発明の目的は、意味のある頻出アイテムセットのみを抽出することを可能ならしめる技術を提供することである。そのためには、抽出するアイテムセット内のアイテム間で満たされるべき関係を定義する必要があるが、そのような定義は、詳細な情報を必要とし計算量を増やす。そこで、本発明の更なる目的は、そのような新たな定義に従って意味のある頻出アイテムセットを抽出するにあたり、過剰な回数の頻度計算や過剰なメモリを必要とせずに、妥当な回数の頻度計算で且つ妥当なメモリの使用量で、そのようなアイテムセットを効率よく見つけ出すことを可能ならしめる計算手法を提供することである。
上記目的を達成するために、本願発明者は、内相関頻出集合とういう概念を新たに導入しこれを次のように定義した。即ち、アイテムセットYが内相関頻出であるとは、「アイテムセットYが頻出であって、かつ、アイテムセットY内の任意のアイテムyに対して、yを除く残りのサブセットY−{y}がyと相関をもつ」ことをいう。
上記定義に従って内相関頻出のアイテムセットを抽出すれば、アイテムセットY内の各アイテムyが、そのyを除く残りのサブセットの出現と協調して出現しているか否かを判定することになるため、真に共起しやすいアイテムの集合からなるアイテムセットを列挙できる。そのため、内相関頻出のアイテムセットを抽出することにより、意味のある頻出アイテムセットのみを抽出することが可能となる。
そして、内相関頻出集合を抽出する本発明は、次のような、コンピュータの処理により、各々が1又は複数のアイテムからなるアイテムセットを含む複数のレコードを記憶するデータベースから、意味のある頻出アイテムセットを抽出する方法によって実現される。なお、データベース内の複数のアイテムはアイテムの順番を有している。該アイテムの順番は任意の順番でよく、一例として、各アイテムが正の整数のidにより識別される場合、該順番はアイテムのidによって決まる順番であってよく、また、アイテムの出現頻度の順番であってもよい。そして、そのような方法は、(a)前記コンピュータが、1つ前に検討対象とされたアイテムセットである旧アイテムセット内で順番が最も遅いアイテムよりも順番が後のアイテムが1以上存在する場合に、該1以上の順番が後のアイテムを1つ降順に前記旧アイテムセットに加えて、新たに検討対象とするアイテムセットである新アイテムセットを決定するステップであって、前記旧アイテムセットの初期値は順番が最初の空のアイテムφである、前記決定するステップと、(b)前記コンピュータが、前記新アイテムセットの出現頻度が所定の閾値以上であることを条件に、前記新アイテムセットの前記出現頻度を、前記コンピュータのメモリ上に用意されたテーブルに登録するステップと、(c)前記コンピュータが、前記テーブルへの登録に応答して、前記新アイテムセット内の各アイテムと、該アイテムを前記新アイテムセットから除いた残りのアイテムのサブセットとの間に相関があるか否かを、前記テーブル内の値を用いて判定するステップと、(d)前記コンピュータが、前記新アイテムセット内の全アイテムの各々について、前記判定の結果が肯定的であることを条件に、前記新アイテムセットを前記意味のある頻出アイテムセットの集合に登録するステップと、(e)前記コンピュータが、前記意味のある頻出アイテムセットの集合への登録に応答して、前記新アイテムセットを前記旧アイテムセットとして、元の前記旧アイテムセットに基づいて新アイテムセットを決定するよりも先に、(a)のステップを繰り返すステップとを含む。
好ましくは、上記方法は、順番が2番目のアイテムを含む前記新アイテムセットを構成するアイテムの順番が連続していない場合に、ステップ(c)の後において、前記新アイテムセットから不連続のアイテムの中で順番が最も早いアイテムを除いたアイテムセット、及び前記新アイテムセットから前記順番が2番目のアイテムを除いたアイテムセットについてのそれぞれの出現頻度を前記テーブルから削除するステップを更に含む。
更に好ましくは、上記ステップ(c)における相関の判定が、全レコード数を|T|、新アイテムセットYの出現頻度を|T(Y)|、新アイテムセットY内の任意のアイテムyについての出現頻度を|T({y})|、該yを新アイテムセットYから除いた残りのアイテムのサブセットの出現頻度を|T(Y―{y})|、αを1より大きい所定の閾値とした場合に、式|T|×|T(Y)|≧α×|T(Y―{y})|×|T({y})|が成立するか否かの判定によりなされる。
更にまた好ましくは、前記テーブルは、アイテムセットを構成するアイテムのidのリストをキーにして、該アイテムセットの出現頻度を検索するためのマップ構造を有する。
以上、本発明を意味のある頻出アイテムセットを抽出する方法として説明した。しかし、本発明は、そのような抽出方法をコンピュータに実行させる、意味のある頻出アイテムセットを抽出するための抽出プログラム、及びそのような抽出プログラムをコンピュータにインストールすることによって実現される、意味のある頻出アイテムセットを抽出するシステムとして把握することもできる。
本発明によれば、頻出なアイテムセットであって、かつ、アイテムセット内の任意のアイテムに対して、該アイテムを除いた残りの全アイテムからなるサブセットが相関をもつようなアイテムセットが抽出される。そのため、真に共起しやすいアイテムの集合からなるアイテムセットのみが抽出され、意味のある頻出アイテムセットを抽出できる。また、そのようなアイテムセットを求めるに際し、アイテム数の1つ少ないアイテムセットについて求めた出現頻度を再利用するので、過剰な頻度の計算や過剰なメモリを必要とせずに、効率よく意味のある頻出アイテムセットを抽出できる。本発明のその他の効果については、各実施の形態の記載から理解される。
情報システム100の全体構成を示す。 図2(a)は、データベース装置110のデータ構造の概略を示す。図2(b)は、検索用テーブルを示す。 解析システム120の機能構成を示す。 アイテムセットのツリーの一例を示す。 図5(a)は、図4に示すツリーを深さ優先かつ降順に走査する場合の走査順を示す。図5(b)は、図4に示すツリーを幅優先かつ降順に走査する場合の走査順を示す。 解析システム120による全体処理の流れの一例を示す。 図6に示すステップ615の抽出処理の流れの一例を示す。 内相関頻出アイテムセット抽出処理を行う再帰関数Mineの擬似コードの一例を示す。 マップM325の不要キーの削除処理の流れの一例を示す。 解析システム120として機能する情報処理装置のハードウェア構成の一例を示す。
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
図1は、情報システム100の全体構成を示す。情報システム100は、データベース装置110と、解析システム120と、内相関頻出集合記憶装置130とを含む。データベース装置110は、各々が、1又は複数のアイテムからなるアイテムセットを含む、複数のレコードを記憶する。
一例としてレコードは、データベース装置110等の情報処理装置において同一ユーザから受けた要求に応じて行う一連の処理を示すトランザクションの履歴情報であってよい。この場合、アイテムは、トランザクション処理の対象、例えば商品であってよく、或いは、トランザクションを要求した要求元の属性や、トランザクション処理内の内容を示す属性であってよい。データベース装置110は、各アイテムを、該アイテムを含むトランザクションの識別子に関連付けて記憶する。
他の例として、レコードは、コールセンターにおいて記録される通話ごとのコールログや、ウェブ上で収集されるユーザごとのアンケート情報であってもよい。この場合、アイテムは、コールログやアンケート情報に含まれる商品名やサービス名、商品やサービスの状態を示す単語、また、商品やサービスに対する肯定的又は否定的な意見を示す単語であってよい。なお、アイテムとして扱う単語は、コールログやアンケート情報からマッチング等の公知技術を利用して事前に抽出しておく。データベース装置110は、アイテムとして扱う単語のみを、該単語を含むレコードの識別子に関連付けて記憶する。
解析システム120は、データベース装置110に記録される複数のレコードから、内相関頻出のアイテムセットの集合を抽出し、内相関頻出集合記憶装置130に登録する。上述したように、本願発明者は、意味のある頻出アイテムセットを抽出するために、内相関頻出集合とういう概念を新たに導入し、これを次のように定義した。即ち、アイテムセットYが内相関頻出であるとは、「アイテムセットYが頻出であって、かつ、アイテムセットY内の任意のアイテムyに対して、yを除く残りのサブセットY−{y}がyと相関をもつ」ことをいう。
上記内相関頻出の定義を、以下に数式を用いて説明する。まず、データベース装置110に記憶される任意のレコードをt、レコード数をnとし、全レコードの集合をT={t、…、t}で表す。また、いずれかのレコードに出現する任意のアイテムをx、アイテムの種類をm個とし、全アイテムの集合をX={x、…、x}で表す。そして、集合Xに含まれる任意の部分集合Y⊂Xに対して、集合Yを含むレコードの集合をT(Y)で表す。即ち、T(Y):={t∈T|y∈t、∀y∈Y}である。すると、
アイテムセットYが頻出であるとは、アイテムセットYについて次式が成り立つことをいう。
Figure 2012084062

上式において|T(Y)|は、集合T(Y)のサイズ、即ち要素数を示す(以下同様)。またSは、頻出の判定に使用する閾値であり、1以上の任意の整数値を取る。開発者やユーザは、Sに対して、全レコード数nの10%等のように、相対的な値を指定してよい。
また、アイテムセットYが内相関である、即ち、アイテムセットY内の任意のアイテムyに対して、yを除く残りのサブセットY−{y}が相関をもつとは、アイテムセットYについて次式が成り立つことをいう。
Figure 2012084062

上式においてαは、内相関の判定に使用する閾値であり、1より大きな数値を取る。相関の強いアイテムセットだけが抽出されることを希望する場合、αに対して、例えば4、5等の大きい値を設定してよい。また、関数fは、|T(Y)|と、|T({y})|と、|T(Y―{y})|の任意の関数である。一例として、関数fは次式により表されるものであってよい。
Figure 2012084062
数式2(又は数式3)において、yをアイテムセットY内の任意のアイテムyではなく、ある特定のアイテムyとみると、数式1と数式2(又は数式3)は、特許文献1に開示される、Y−{y}→Yという相関ルールを抽出する条件を示す。従って、本発明において定義する内相関は、アイテムセットY内の全アイテムそれぞれについて、Y−{y}→Yという相関ルールが成り立つことを要求するものであるといえる。
数式2(又は数式3)の条件は、各アイテムyが、そのアイテムyを除く残りのサブセットの出現と協調して出現することを、アイテムセットY内の全アイテムについて要求する。そのため、数式2(又は数式3)の条件によれば、真に共起しやすいアイテムの集合からなるアイテムセットを列挙できる。従って、数式1と数式2(又は数式3)の条件を合わせて課すことで、最終的に、意味のある頻出アイテムセットのみを抽出することが可能となる。
なお、頻出の判定に使用する所定の閾値Sと、内相関判定に使用する所定の閾値αの値は、解析ごとにユーザがキーボード等の入力装置を使用して解析システム120に対して指定してよい。これに代えて、所定の閾値S及びαは、ユーザが変更できない固定値として予め開発者が解析システム120に設定するようにしてもよい。いずれの場合も所定の閾値Sとαの値は設定ファイルに記録され、解析システム120内に保持される。設定ファイルはこの他、全レコード数nや全アイテム数m等の情報を記録してもよい。
内相関頻出集合記憶装置130は、データベース装置110に記録される複数レコードから、解析システム120によって抽出された内相関頻出のアイテムセットの集合を記録する。そして、内相関頻出集合記憶装置130は、ユーザの要求に応じて、内相関頻出のアイテムセットの集合を、指定されたディスプレイやプリンタ等の出力装置や他の情報処理装置に対して出力する。
図2(a)は、データベース装置110のデータ構造の概略を示す。(a)に示すように、データベース装置110は、レコードごとに、該レコードに含まれるアイテムのセットを記録する。なおテーブルに示すtやtはレコードを一意に識別するidであり、xやxはアイテムを一意に識別子するidである。本実施例では、レコードとアイテムはいずれも、連続する正の整数のidによって識別されるものとし、それぞれidによって決まる順番を有するものとする。なお、アイテムの順番はこれに限定されず、例えばアイテムの頻度等任意の順番であってよい。但しどのような順番であっても、空(φ)のアイテムの順番は最初であるとする。
図2(b)示すテーブルは、(a)に示すテーブルと同一の内容を示すものであるが、アイテムごとに、該アイテムを含むレコードのセットを記録する。これは、アイテムのidをインデックスとして、そのアイテムを含むレコードのidのセットを求める検索用テーブルとして使用するためのものであり、後述する前処理部300により(a)に示すオリジナルのテーブに基づいて構築される。なお、レコードのidのセットは、レコードのidの昇順で記録される。
図3は、解析システム120の機能構成を示す。解析システム120は、前処理部300と、作業用メモリ305と、決定部330と、頻出判定部335と、相関判定部340と、登録部345とを含む。既に述べたように、前処理部300は、データベース装置110をアクセスして、データベース装置110に記憶される複数のレコードから、アイテムのidごとに、該アイテムを含むレコードのidのセットをレコードidの昇順で記録する検索用テーブル310を作業用メモリ305上に構築する。
前処理部300はまた、解析システム120内に保持される設定ファイルから、頻出の判定に使用する所定の閾値Sと、内相関判定に使用する所定の閾値αと、全レコード数nとを読み出して、これらパラメータ315を作業用メモリ305にロードする。
前処理部300はまた、1つ前に検討対象とされたアイテムセットである旧アイテムセットを構成するアイテムのidのリストを格納する配列Yを用意し、これを空のリストで初期化する。前処理部300はまた、旧アイテムセットを含むレコードのidのリストを格納する配列Uを用意し、これを、全レコードidを昇順に並べたリストで初期化する。そして前処理部300は、これら変数320を作業用メモリ305に保持する。なお、配列Yは、新たに検討対象とするアイテムセットである新アイテムセットを決定するために後述する決定部330により使用されるものである。また、配列Uは、頻出判定において後述する頻出判定部335により使用されるものである。
前処理部300は更にまた、後述する頻出判定部335により頻出と判定されたアイテムセットの出現頻度を格納するマップM325(特許請求の範囲におけるテーブルに相当)を作業用メモリ305上に用意して、これを初期化する。マップM325は、頻出と判定されたアイテムセットを構成するアイテムのidのリストをキーにして、該アイテムセットの出現頻度を検索するためのマップ構造を有する。そのようなマップ構造として、例えばJava(登録商標)の場合、java.util.HashMap を使用できる。
決定部330は、旧アイテムセット内で順番が最も遅いアイテムよりも順番が後のアイテムが1以上存在する場合に、旧アイテムセットにその1以上の順番が後のアイテムを降順に1つ加えて、新たに検討対象とするアイテムセットである新アイテムセットを順次決定する。決定部330は、決定した新アイテムセットの情報を、旧アイテムセットに加えたその1のアイテムのid情報とともに、後述する頻出判定部335へ渡す。
上述したように、旧アイテムセットの初期値は順番が最初の空のアイテムφである。従って、全アイテムの集合をX={x、…、x}、アイテムの順序をφ<x<…<xとすると、最初に新アイテムセットとして決定されるのは、順番が最後のアイテムxからなるアイテムセット{x}である。以後、各アイテムxがアイテムidの降順で新アイテムセットとして決定され、新アイテムセットに対し後述する頻出判定部335等による検討処理が行われる。但し、後述する登録部345により新アイテムセットが内相関頻出集合記憶装置130に対し出力される場合には、決定部330は、旧アイテムセットを現在の新アイテムセットで更新し、更新前の旧アイテムセットよりも先に更新後の旧アイテムセットに基づいて新たに新アイテムセットを決定する。なお、更新前の旧アイテムセットの情報は後に参照できるように作業用メモリ305に保持しておく。
決定部330が新アイテムセットとして検討対象とするアイテムセットを決定するその順序を、アイテムセットのツリーを用いて以下に説明する。最初にアイテムセットのツリーを説明する。全アイテムの集合をX={x、…、x}、アイテムの順序をφ<x<…<xとする(但し、φは空のアイテム)。すると、アイテムセットのツリーは、各ノードが空のアイテムφ又はアイテムxのidをラベルとして持つ、次の(1)及び(2)を満たすツリーとして定義される。
(1)ルート・ノードは、空のアイテムφのidをラベルとして持つ。
(2)あるノードEのラベルがLであるとき、ノードEは、L<L´を満たすラベルL´に対応するノードE´を子ノードとして有する。子ノードは、L<L´を満たすラベルL´の数だけ存在し、昇順にソートされる。
図4は、アイテムセットのツリーの具体例を示す。図4に示す例では、全アイテムの集合をX={x、x、x、x}、アイテムの順序を、φ<x<x<x<xとしている。なお、φは空アイテムを示す。図4において、ルート・ノード405に注目すると、ルート・ノード405のラベルはφである。φより順番が遅いアイテムはx、x、x、xの4つである。従って、ルート・ノード405は、アイテムx、x、x、xのidをそれぞれラベルとして有する4つの子ノードを持つ。また、各子ノードは、対応するラベルのidが昇順となるようにソートされている。また、ノード410に注目すると、該ノード410はxのラベルを有する。xより順番が遅いのは、アイテムxだけである。従って、ノード410は、xをラベルとして有する子ノードのみを持つ。他のノードについても、同様に、上記ツリーの定義(1)及び(2)が満たされている。
このように定義されるアイテムセットのツリーにおいて、各ノードは、ルート・ノードから該ノードに至るまでに経由した各ノードのラベルにより識別されるアイテムからなるアイテムセットを示し、全アイテムの集合X={x、…、x}に対して考え得るアイテムセットと1対1に対応する。図4に示すノード410を例にとると、該ノード410は、φからx、xからxというパスを経由して辿り着くノードであるので、アイテムセット{x、x}を示す。
決定部330が現在の検討対象として新アイテムセットを決定するその順序は、上記のように定義されるアイテムセットのツリーを、深さ優先かつ降順に走査する順序に等しい。図5(a)は、図4に示すツリーを例として、ツリーを深さ優先かつ降順に走査する場合の走査順序を示したものである。ノード横に書かれた数字は、走査順番を示す。走査途中の現在のノードが示すアイテムセットから、任意の1アイテムを除いた残りのアイテムのサブセットは、現在のノードより以前に走査したいずれかのノードが示すアイテムセットに等しいことに留意されたい。
頻出判定部335は、新アイテムセットの出現頻度gを求め、その値が所定の閾値S以上であることを条件に、新アイテムセットの出現頻度gをマップM325に登録する。ここで、新アイテムセットの出現頻度gは、検索用テーブル310を利用して次のようにして求めてよい。即ち、新アイテムセットに含まれるアイテムのidをキーとして、検索用テーブル310からアイテムごとに該アイテムを含むレコードのidのリストを取得する。そして取得したレコードのidのリスト全てに共通なレコードのidの数をカウントして、新アイテムセットの出現頻度gを求める。
これに代えて、頻出判定部335は、新アイテムセットの出現頻度gを、作業用メモリ305に保持される検索用テーブル310と配列Uとを使って次のようにして求めてもよい。上述したように、配列Uは、旧アイテムセットを含むレコードのidのリストを格納する。また、新アイテムセットは、旧アイテムセットに1アイテムを加えたものである。従って、新アイテムセットの出現頻度gは、加えられた1アイテムを含むレコードのidのリストと配列Uに共通に含まれるレコードのidの数に等しい。
そこで、頻出判定部335は、決定部330から新アイテムセットの情報とともに受け取った追加された1のアイテムのidをキーとして、検索用テーブル310から、追加された1のアイテムを含むレコードのidのリストを取得する。そして、頻出判定部335は、取得したリストと配列Uに共通に含まれるレコードのidのリストを作成し、作成したリストのサイズから新アイテムセットの出現頻度gを求める。なお、作成したリストは配列U´に格納して作業用メモリ320に保持する。これは、新アイテムセットで旧アイテムセットを更新する際に合わせて配列Uを配列U´で更新することで、配列Uが、旧アイテムセットを含むレコードのidのリストを格納するようにするためである。
相関判定部340は、新アイテムセットの出現頻度gのマップM325への登録に応答して、新アイテムセット内の各アイテムと、該アイテムを新アイテムセットから除いた残りのアイテムのサブセットとの間に相関があるか否かを、マップM325内の値を参照して判定する。上記相関の判定は、数式2に関して説明したように、新アイテムセットと、新アイテムセット内の1アイテムと、該1アイテムを新アイテムセットから除いた残りのアイテムのサブセットのそれぞれの出現頻度を変数とする関数を用いて行うことができる。
ここで、新アイテムセットの出現頻度gは、既に頻出判定部335により求められている。また、新アイテムセット内の各アイテムの出現頻度は、アイテムのidをキーとして検索用テーブル310から取得されるレコードのidのリストのサイズとして求めることができる。また、新アイテムセットから1アイテムを除いた残りのアイテムのサブセットの出現頻度は、マップM325から取得できる。この理由を以下に説明する。
決定部330が現在の検討対象として新アイテムセットを決定するその順序は、上述した(1)及び(2)により定義されるアイテムセットのツリーを、深さ優先かつ降順に走査する順序に等しい。ところで、このようにアイテムセットのツリーを深さ優先かつ降順に走査する場合、走査途中の現在のノードが示すアイテムセットから任意の1アイテムを除いた残りのアイテムのサブセットは、現在のノードより以前に走査したいずれかのノードが示すアイテムセットに等しく、従ってその出現頻度はそれ以前に既に求められている。そして、あるアイテムセットが頻出アイテムセットであれば、そのサブセットも必ず頻出アイテムセットである。従って、現在処理中の頻出と判定された新アイテムセットから1アイテムを除いたいずれのサブセットの出現頻度も、マップM325に必ず記録されている。
従って、相関判定部340は、相関の判定に必要な全ての出現頻度を、作業用メモリ305上のデータとマップM325とから取得できる。そして、相関判定部340は、より具体的には数式3に示すような関数を利用して、新アイテムセット内の各アイテムについて、該アイテムを除いた残りのアイテムのサブセットとの相関の有無を判定する。
このように本発明では、頻出のアイテムセットについてその出現頻度を記録しておき、後に検討対象とするアイテムセットについての相関判定において再利用する。このため本発明によれば、同じアイテムセットについて重複して出現頻度をカウントすることがなくなり、効率よく、意味のある頻出アイテムセットの集合を抽出できる。
また好ましくは、相関判定部340は、順番が2番目のアイテムを含む新アイテムセットを構成するアイテムの順番が連続していない場合に、新アイテムセットから不連続のアイテムの中で順番が最も早いアイテムを除いたアイテムセットと、新アイテムセットから上記順番が2番目のアイテムを除いたアイテムセットについてのそれぞれの出現頻度をマップM325から削除する。これは、このようなアイテムセットの出現頻度は以降の相関の判定において利用されないため、マップM325から削除してメモリの節約を図るためである。
図5に示すアイテムセットのツリーを具体例として、出現頻度のマップM325から削除可能なアイテムセットを説明する。上述したように、図5に示すアイテムセットのツリーにおいて、全アイテムの集合はX={x、x、x、x}、アイテムの順序は、φ<x<x<x<xである(φは空のアイテム)。また、各ノード横の数字は走査順を表す。ここで、現在の走査ノードが走査順11番のノード505であるとする。すると、ノード505はアイテムセット{x、x、x}を示すので、現在の検討対象である新アイテムセットY´={x、x、x}となる。
上記新アイテムセットY´は、順番が2番目のアイテムxを含み(順番が1番目のアイテムはφ)、アイテムの順番がx、xの部分で不連続となっている。従って、新アイテムセットY´から、不連続のアイテムの中で順番が最も早いアイテムxを除いたサブセットである{x、x}は、以降の相関の判定で利用されないため、マップM325から削除できる。実際に図5に示すツリーでこのことを確認する。
ノード505が示すアイテムセット{x、x、x}が新アイテムセットとなった後は、{x、x}、{x、x、x}、{x、x、x}、{x、x、x、x}の各アイテムセットが順に新アイテムセットとなる。しかしサブセット{x、x}は、アイテムセット{x、x、x}、{x、x、x}には出現しない。また、サブセット{x、x}は、アイテムセット{x、x、x、x}に出現するが、サブセット{x、x}のサイズは2であるため、サイズが4のアイテムセット{x、x、x、x}の相関判定では使用されることはない。従って、ノード505が示すアイテムセットについて相関の判定が終わったあとは、マップM325からサブセット{x、x}の出現頻度を削除できる。
なお、上記具体例では、新アイテムセットから不連続のアイテムの中で順番が最も早いアイテムを除いたアイテムセットと、新アイテムセットから順番が2番目のアイテムを除いたアイテムセットが一致したため、その出現頻度を削除できるアイテムセットは1つであった。しかし、これらのアイテムセットが一致しない場合は、2種類のアイテムセットの出現頻度がマップM325から削除可能となる。
登録部345は、新アイテムセット内の全アイテムの各々について、相関判定部340による判定の結果が肯定的であることを条件に、新アイテムセットを意味のある頻出アイテムセットとして、内相関頻出集合記憶装置130に対し出力する。
以上のように、本発明では、各アイテムセットについて、頻出の判定と内相関の判定を一度に行う。これは、先に頻出アイテムセットを列挙してから内相関の判定を別途行うとすると、一般に頻出アイテムセットの集合全体は大きすぎてメモリに載らない為、一時ファイルなどに保管して読み出す必要が生じ、大きなオーバヘッドとなるからである。本発明によればこのオーバヘッドを減らすことが可能となる。
次に図6及び図7を参照して、本発明の実施の形態に係る解析システム120による処理の流れを説明する。図6は、解析システム120による処理の流れの一例を示す。図7は、図6に示すステップ615の抽出処理の流れの一例を示す。なお、以下の説明では、全レコード数をn、レコードに含まれるアイテムの種類をm個とする。また、アイテムには1から始まる連続する正の整数のidを付与し(但し空のアイテムφのidは0とする)、アイテムはidによって決まる順番を有するとする。
図6に示す処理は、ステップ600から開始し、解析システム120の前処理部300は、解析システム120内に保持される設定ファイルから、頻出の判定に使用する所定の閾値Sと、内相関判定に使用する所定の閾値αの値と、全レコード数nとを読み出して、これらパラメータ315を作業用メモリ305に保持する。
続いて前処理部330は、データベース装置110をアクセスして、レコードごと該レコードに含まれるアイテムのidのリストを読み出す。そして前処理部330は、これを基に、アイテムのidをキーとして、該アイテムを含むレコードのidのセットをレコードidの昇順で記録するリストを返す検索用テーブル310を、作業用メモリ305上に構築する(ステップ605)。なお、以下では、任意のアイテムid、iをキーとして、検索用テーブル310から返されるリストをT[i]と記載する。
続いて、前処理部300は、頻出と判定されたアイテムセットの出現頻度を登録するマップM325と、1つ前に検討対象とされたアイテムセットである旧アイテムセットを構成するアイテムのidのリストを格納する配列Yと、旧アイテムセットを含むレコードのidのリストを格納する配列Uとをそれぞれ作業用メモリ305上に用意し、これらを初期化する(ステップ610)。既に述べたように、配列Yは空のリストで、配列Uは全レコードのidのリストでそれぞれ初期化する。
続いて、解析システム120は、作業用メモリ305上のデータを用いて、データベース装置110から内相関頻出アイテムセットを抽出する抽出処理を行う(ステップ615)。そして処理は終了する。抽出処理の詳細は、図7を参照して後述する。なお、ステップ615の抽出処理は、解析システム120の決定部330、頻出判定部335、相関判定部340、及び登録部345により再帰的に行われる。
図7は、決定部330、頻出判定部335、相関判定部340、及び登録部345により行われる内相関頻出アイテムセットの抽出処理の流れの一例を示す。上述したように、図7に示す抽出処理は再帰的に呼び出され、実行される。そして、所定の閾値S、所定の閾値α、及び全レコード数Tを含むパラメータ315と、検索用テーブル310と、マップM325とは、各抽出処理に共通して参照される。
処理はステップ700から開始し、決定部330は、旧アイテムセットに追加する1アイテムのidを示す変数xを作業用メモリ305上に用意し、該変数xに、全アイテムidの中で最大のid、即ちmを設定する。また、決定部330は、配列Yに含まれる最大のアイテムidを示す変数jを作業用メモリ305上に用意し、該変数jに、現在の配列Yが空であるならば0を、そうでないならば、現在の配列Yに含まれる最大のアイテムidを設定する。
続いて決定部330は、変数jの値より変数xの値が大きいか否かを判定する(ステップ705)。x>jの場合(ステップ705:YES)、即ち、旧アイテムセット内で順番が最も遅いアイテムよりも順番が後の未検討のアイテムが存在する場合、決定部330は、配列Yに格納された旧アイテムセットのアイテムのidのリストに、変数xの値が示すアイテムidを追加したものを、配列Y´に設定する(ステップ710)。ここで配列Y´は、新たに検討対象とするアイテムセットである新アイテムセットを構成するアイテムのidのリストを格納する配列である。決定部330は、各抽出処理において初めてステップ705の処理を行う際に、配列Y´を作業用メモリ305上に用意する。一方、変数jの値より変数xの値が大きくない場合(ステップ705:NO)、即ち、旧アイテムセット内で順番が最も遅いアイテムよりも順番が後の未検討のアイテムが存在しない場合、処理は終了する。
ステップ710から処理はステップ715へ進み、新アイテムセットの決定に応答して、頻出判定部335は、変数xの値が示す、旧アイテムセットに追加されたアイテムのidをキーとして、該アイテムを含むレコードのidのセットを記録するリストT「x」を検索用テーブル310から取得する。そして、頻出判定部335は、取得したT「x」と、旧アイテムセットを含むレコードのidのリストを格納する配列Uとに共通して含まれるidのリストを配列U´に設定する。また頻出判定部335は、配列U´のサイズを、新アイテムセットの出現頻度を示す変数gに設定する。ここで、配列U´は、新アイテムセットを含むレコードのidのリストを格納する配列である。頻出判定部335は、各抽出処理において、初めてステップ715の処理を行う際に、配列U´と変数gを作業用メモリ305上に用意する。
続いて、頻出判定部335は、作業用メモリ305から頻出の判定に使用する所定の閾値Sを読み出して、新アイテムセットの出現頻度を示す変数gが所定の閾値S以上であるか否かを判定する(ステップ720)。変数gが所定の閾値S以上である場合(ステップ720:YES)、頻出判定部335は、マップM325に配列Y´と変数gの組を登録し、頻出と判定された新アイテムセットの出現頻度を作業用メモリ305上に保持する(ステップ725)。
続いて、新アイテムセットの出現頻度のマップM325への登録に応答して、相関判定部340は、内相関の判定結果を示すブーリアン型の変数bと、新アイテムセットから除く1アイテムを識別する変数kとを作業用メモリ305上に用意し、それぞれ、値trueと、配列Yのサイズで初期化する(ステップ730)。
続いて、相関判定部340は、変数kの値が0より大きいか否かを判定する(ステップ735)。変数kが0より大きい場合(ステップ735:YES)、即ち、新アイテムセット内の全アイテムのそれぞれについてまだ相関の判定が終わっていない場合、相関判定部340は、配列Y´に格納された新アイテムセットのアイテムのidのリストから、変数kの値が示すアイテムidを除いて、サブセットのidのリストを求める。そして相関判定部340は、該サブセットのidのリストをキーとして、マップM325からサブセットの出現頻度を取得し、これを作業用メモリ305上に用意した変数hに設定する(ステップ740)。
続いて、相関判定部340は、変数kの値によって識別されるアイテムと、該アイテムを新アイテムセットから除いた残りのサブセットの間に相関があるか否かを、数式3により表される関数fを利用し、
上記変数hを含む次式により判定する(ステップ845)。
Figure 2012084062

上式において、gは新アイテムセットの出現頻度、nは全レコード数、αは内相関判定に使用する所定の閾値αの値である。また、|T[k]|は変数kによって識別されるアイテムを含むレコードのidのリストのサイズ、即ち変数kの値によって識別されるアイテムの出現頻度である。
ステップ745において数式4が満たされない場合、即ち相関があると判定される場合(ステップ745:NO)、相関判定部340は、変数kの値を1デクリメントして(ステップ750)、ステップ735へ戻る。一方、ステップ745において数式4が満たされる場合、即ち、相関がないと判定される場合(ステップ745:YES)、相関判定部340は、変数bに値falseを設定する(ステップ755)。
ステップ735において変数kが0以下の場合(ステップ735:NO)、即ち、新アイテムセット内の全アイテムのそれぞれについて相関の判定が終わった場合、又はステップ755において変数bに値falseが設定された場合、処理はステップ760へ進み、登録部345は、変数bの値がtrueであるか否かを判定する。変数bの値がtrueである場合(ステップ760:YES)、即ち、
新アイテムセット内の全アイテムのそれぞれについて残りのサブセットとの間に相関があり、新アイテムセットが内相関頻出アイテムセットであると判定された場合、登録部345は、配列Y´の値、即ち、新アイテムセットを構成するアイテムのidのリストと、変数gの値、即ち、新アイテムセットの出現頻度とを、内相関頻出集合記録装置130に出力して意味のある頻出アイテムセットとして登録する(ステップ765)。
一方、変数bの値がtrueでない場合(ステップ760:NO)、即ち、新アイテムセットが内相関頻出アイテムセットでないと判定された場合、又はステップ765から、処理はステップ770へ進む。そして、登録部345は、1つ前に検討対象とされたアイテムセットである旧アイテムセットを構成するアイテムのidのリストを格納する配列Yと、旧アイテムセットを含むレコードのidのリストを格納する配列Uとを新たに作業用メモリ305上に用意し、配列Yに配列Y´を、配列Uに配列U´をそれぞれ設定する。その後、抽出処理が再び実行される(ステップ770)。
ステップ770で呼び出された抽出処理が終了すると、又はステップ720において変数gが所定の閾値Sより小さい場合(ステップ720:NO)、即ち新アイテムセットが頻出でない場合、処理はステップ775へ進み、変数xの値が1でデクリメントされる。その後、処理はステップ705へ戻り、ステップ705において、xがj以下である、即ち、旧アイテムセット内で順番が最も遅いアイテムよりも順番が後の未検討のアイテムが存在しないと判定されるまで、ステップ705からステップ775の一連の処理が繰り返される。
図8は、図7を参照して説明した、内相関頻出アイテムセットの抽出処理を行う再帰関数Mineの擬似コードを示す。図8において、Xは全アイテムの集合、Tは全レコードの集合、αは内相関判定に使用する所定の閾値、Sは頻出の判定に使用する所定の閾値、Oは内相関頻出アイテムセットの集合(出力)、Yは1つ前に検討対象とされたアイテムセットである旧アイテムセット(初期値は空φ)、T(Y)は旧アイテムセットを含むレコードの集合(初期値は全レコードの集合)、Mは頻出アイテムセットの出現頻度を登録するマップを示す。また、コード中に記載するアイテムセットのツリーとは、上述したアイテムセットのツリーの定義(1)及び(2)に従うツリーである。
図9は、マップM325の不要キーの削除処理の流れの一例を示す。該削除処理の実行はオプションであり、図7に示すフローチャートのステップ735でNOと判定された後又はステップ755の後かつステップ760の前に相関判定部340により実行される。処理はステップ900で開始し、相関判定部340は、新アイテムセットを構成するアイテムのidのリストを格納する配列Y´内に、空アイテムφのid(=0)を除いて全アイテムid内で最小のidが含まれるか否かを判定する。配列Y´内に、全アイテムid内で最小のid(0を除く)が含まれない場合(ステップ900:NO)、処理は終了する。
一方、配列Y´内に、全アイテムid内で最小のid(0を除く)が含まれる場合(ステップ900:YES)、続いて相関判定部340は、配列Y´に含まれるアイテムidのリストを昇順に走査し、不連続なアイテムidが見つかったか否かを判定する(ステップ905)。なお、アイテムidのリストの走査は、不連続なアイテムidが見つかった時点で終了してよい。不連続なアイテムidが見つからない場合(ステップ905:NO)、処理は終了する。
一方、不連続なアイテムidが見つかった場合(ステップ905:YES)、相関判定部340は、小さい方の不連続アイテムidを除いた配列Y´と、配列Y´の中で最小のアイテムidを除いた配列Y´とをそれぞれキーとして、マップM325から出現頻度を削除する(ステップ910)。そして処理は終了する。
図10は、解析システム120として機能する情報処理装置のハードウェア構成の一例を示す。情報処理装置50は、バス2に接続されたメインCPU(中央処理装置)1とメインメモリ4を含んでいる。ハードディスク装置13、30、及びCD−ROM装置26、29、フレキシブル・ディスク装置20、MO装置28、DVD装置31のようなリムーバブル・ストレージ(記録メディアを交換可能な外部記憶システム)がフレキシブル・ディスクコントローラ19、IDEコントローラ25、SCSIコントローラ27などを経由してバス2へ接続されている。
フレキシブル・ディスク、MO、CD−ROM、DVD−ROMのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置13、30、ROM14には、オペレーティング・システムと協働してCPU1等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。即ち、上記説明した数々の記憶装置には、情報処理装置50にインストールされ、情報処理装置50を解析システム120として機能させる抽出プログラムを記録することができる。
上記抽出プログラムは、前処理モジュールと、決定モジュールと、頻出判定モジュールと、相関判定モジュールと、登録モジュールを含む。これらモジュールは、CPU1等に働きかけて、情報処理装置50を、前処理部300と、決定部330と、頻出判定部335と、相関判定部340と、登録部345としてそれぞれ機能させる。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
情報処理装置50は、キーボード/マウス・コントローラ5を経由して、キーボード6やマウス7のような入力デバイスからの入力を受ける。情報処理装置50は、オーディオコントローラ21を経由して、マイク24からの入力を受け、またスピーカー23から音声を出力する。情報処理装置50は、視覚データをユーザに提示するための表示装置11に、グラフィックスコントローラ10を経由して接続される。情報処理装置50は、ネットワーク・アダプタ18(イーサネット(登録商標)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
以上の説明により、本実施形態に係る情報処理装置50は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、又は、これらの組み合わせによって実現されることが容易に理解されるであろう。なお、上記説明した構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。例えば、上記実施例では、決定部330は、上述した(1)及び(2)により定義されるアイテムセットのツリーを深さ優先かつ降順に走査するのに等しい順序で新アイテムセットを決定するとして説明した。しかし、これに代えて、決定部330は、上述した(1)及び(2)により定義されるアイテムセットのツリーを幅優先かつ降順に走査するのに等しい順序で新アイテムセットを決定してもよい。
図5(b)は、図4に示すツリーを例として、ツリーを幅優先かつ降順に走査する場合の走査順序を示したものである。ノード横に書かれた数字は、走査順番を示す。この場合も、走査途中の現在のノードが示すアイテムセットから、任意の1アイテムを除いた残りのアイテムのサブセットは、現在のノードより以前に走査したいずれかのノードが示すアイテムセットに等しいことに留意されたい。そのため、新アイテムセットから1アイテムを除いた残りのアイテムのサブセットの出現頻度は、マップM325から取得でき、上記順序による場合も、同じアイテムセットについて重複して出現頻度をカウントすることがなくなり、効率よく、意味のある頻出アイテムセットの集合を抽出できる。
なお、上記幅優先かつ降順に走査するのと等しい順序で新アイテムセットを決定する場合、頻出判定部335による新アイテムセットの出現頻度の算出方法は、新アイテムセットに含まれるアイテムのidをキーとして、検索用テーブル310からアイテムごとに該アイテムを含むレコードのidのリストを取得し、取得したレコードのidのリスト全てに共通なレコードのidの数をカウントする方法に限定される。しかし、マップM325に関しては、次のようにしてメモリ領域の節約を図ることができる。即ち、アイテムセットのツリーで走査順序を考えた場合、現在の走査ノードの深さが1増えると、2つ前の深さのノード(深さ1のノードを除く)に関して求めた出現頻度は不要となるため、これら出現頻度をマップM325から削除してよい。
このように、上記の実施形態に、種々の変更又は改良を加えることが可能であることが当業者に明らかである。従って、そのような変更又は改良を加えた形態も当然に本発明の技術的範囲に含まれる。
なお、特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り任意の順序で実現しうることに留意すべきである。また、前の処理の出力を後の処理で用いる場合でも、前の処理と後の処理の間に他の処理が入ることは可能である場合があること、又は間に他の処理が入るように記載されていても前の処理を後の処理の直前に行うよう変更することも可能である場合があることも留意されたい。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」、「続いて、」等を用いて説明したとしても、この順で実施することが必須であることを必ずしも意味するとは限らない。

Claims (10)

  1. コンピュータの計算処理により、各々が1又は複数のアイテムからなるアイテムセットを含む複数のレコードを記憶するデータベースから、意味のある頻出アイテムセットを抽出する方法であって、前記データベース内の複数のアイテムはアイテムの順番を有しており、前記方法は、
    (a)前記コンピュータが、1つ前に検討対象とされたアイテムセットである旧アイテムセット内で順番が最も遅いアイテムよりも順番が後のアイテムが1以上存在する場合に、該1以上の順番が後のアイテムを1つ降順に前記旧アイテムセットに加えて、新たに検討対象とするアイテムセットである新アイテムセットを決定するステップであって、前記旧アイテムセットの初期値は順番が最初の空のアイテムφである、前記決定するステップと、
    (b)前記コンピュータが、前記新アイテムセットの出現頻度が所定の閾値以上であることを条件に、前記新アイテムセットの前記出現頻度を、前記コンピュータのメモリ上に用意されたテーブルに登録するステップと、
    (c)前記コンピュータが、前記テーブルへの登録に応答して、前記新アイテムセット内の各アイテムと、該アイテムを前記新アイテムセットから除いた残りのアイテムのサブセットとの間に相関があるか否かを、前記テーブル内の値を用いて判定するステップと、
    (d)前記コンピュータが、前記新アイテムセット内の全アイテムの各々について、前記判定の結果が肯定的であることを条件に、前記新アイテムセットを前記意味のある頻出アイテムセットの集合に登録するステップと、
    (e)前記コンピュータが、前記意味のある頻出アイテムセットの集合への登録に応答して、前記新アイテムセットを前記旧アイテムセットとして、元の前記旧アイテムセットに基づいて新アイテムセットを決定するよりも先に、(a)のステップを繰り返すステップと、
    を含む、方法。
  2. 順番が2番目のアイテムを含む前記新アイテムセットを構成するアイテムの順番が連続していない場合に、ステップ(c)の後において、前記コンピュータが、前記新アイテムセットから不連続のアイテムの中で順番が最も早いアイテムを除いたアイテムセット、及び前記新アイテムセットから前記順番が2番目のアイテムを除いたアイテムセットについてのそれぞれの出現頻度を前記テーブルから削除するステップを更に含む、請求項1に記載の方法。
  3. ステップ(c)における相関の判定が、全レコード数を|T|、新アイテムセットYの出現頻度を|T(Y)|、新アイテムセットY内の任意のアイテムyについての出現頻度を|T({y})|、該yを新アイテムセットYから除いた残りのアイテムのサブセットの出現頻度を|T(Y―{y})|、αを1より大きい所定の閾値とした場合に、式|T|×|T(Y)|≧α×|T(Y―{y})|×|T({y})|が成り立つか否かの判定によりなされる、 請求項2に記載の方法。
  4. 前記テーブルは、アイテムセットを構成するアイテムのidのリストをキーにして、該アイテムセットの出現頻度を検索するためのマップ構造を有する、請求項2に記載の方法。
  5. 前記アイテムの順番は、各アイテムに付与された1から始まる連続する正の整数のidの順番である、請求項4に記載の方法。
  6. コンピュータの処理により、各々が1又は複数のアイテムからなるアイテムセットを含む複数のレコードを記憶するデータベースから、意味のある頻出のアイテムセットを抽出するプログラムであって、前記データベース内の複数のアイテムはアイテムの順番を有しており、前記プログラムは、前記コンピュータに、
    (a)1つ前に検討対象とされたアイテムセットである旧アイテムセット内で順番が最も遅いアイテムよりも順番が後のアイテムが1以上存在する場合に、該1以上の順番が後のアイテムを1つ降順に前記旧アイテムセットに加えて、新たに検討対象とするアイテムセットである新アイテムセットを決定するステップであって、前記旧アイテムセットの初期値は順番が最初の空のアイテムφである、前記決定するステップと、
    (b)前記新アイテムセットの出現頻度が所定の閾値以上であることを条件に、前記新アイテムセットの前記出現頻度をテーブルに登録するステップと、
    (c)前記テーブルへの登録に応答して、前記新アイテムセット内の各アイテムと、該アイテムを前記新アイテムセットから除いた残りのアイテムのサブセットとの間に相関があるか否かを、前記テーブル内の値を用いて判定するステップと、
    (d)前記新アイテムセット内の全アイテムの各々について、前記判定の結果が肯定的であることを条件に、前記新アイテムセットを前記意味のある頻出アイテムセットの集合に登録するステップと、
    (e)前記意味のある頻出アイテムセットの集合への登録に応答して、前記新アイテムセットを前記旧アイテムセットとして、元の前記旧アイテムセットに基づいて新アイテムセットを決定するよりも先に、(a)のステップを繰り返すステップと、
    を実行させる、プログラム。
  7. 順番が2番目のアイテムを含む前記新アイテムセットを構成するアイテムの順番が連続していない場合に、ステップ(c)の後において、前記新アイテムセットから不連続のアイテムの中で順番が最も早いアイテムを除いたアイテムセット、及び前記新アイテムセットから前記順番が2番目のアイテムを除いたアイテムセットについてのそれぞれの出現頻度を前記テーブルから削除するステップを更に前記コンピュータに実行させる、請求項6に記載のプログラム。
  8. ステップ(c)における相関の判定が、全レコード数を|T|、新アイテムセットYの出現頻度を|T(Y)|、新アイテムセットY内の任意のアイテムyについての出現頻度を|T({y})|、該yを新アイテムセットYから除いた残りのアイテムのサブセットの出現頻度を|T(Y―{y})|、αを1より大きい所定の閾値とした場合に、式|T|×|T(Y)|≧α×|T(Y―{y})|×|T({y})|が成り立つか否かの判定によりなされる、請求項7に記載のプログラム。
  9. 各々が1又は複数のアイテムからなるアイテムセットを含む複数のレコードを記憶するデータベースから、意味のある頻出アイテムセットを抽出するシステムであって、前記データベース内の複数のアイテムはアイテムの順番を有しており、前記システムは、
    メモリと、
    1つ前に検討対象とされたアイテムセットである旧アイテムセット内で順番が最も遅いアイテムよりも順番が後のアイテムが1以上存在する場合に、該1以上の順番が後のアイテムを1つ降順に前記旧アイテムセットに加えて、新たに検討対象とするアイテムセットである新アイテムセットを決定する決定部であって、前記旧アイテムセットの初期値は順番が最初の空のアイテムφである、前記決定部と、
    前記新アイテムセットの出現頻度が所定の閾値以上であるか否かを判定し、所定の出現頻度以上であることを条件に、前記新アイテムセットの前記出現頻度を、前記メモリ上に用意されたテーブルに登録する頻出判定部と、
    前記テーブルへの登録に応答して、前記新アイテムセット内の各アイテムと、該アイテムを前記新アイテムセットから除いた残りのアイテムのサブセットとの間に相関があるか否かを、前記テーブル内の値を用いて判定する相関判定部と、
    前記新アイテムセット内の全アイテムの各々について、前記判定の結果が肯定的であることを条件に、前記新アイテムセットを前記意味のある頻出アイテムセットの集合に登録する登録部とを備え、
    前記決定部は、前記意味のある頻出アイテムセットの集合への登録に応答して、前記新アイテムセットを前記旧アイテムセットとし、該旧アイテムセットに関して先に新アイテムセットを決定する、システム。
  10. 前記相関判定部は、順番が2番目のアイテムを含む前記新アイテムセットを構成するアイテムの順番が連続していない場合に、前記新アイテムセットから不連続のアイテムの中で順番が最も早いアイテムを除いたアイテムセット、及び前記新アイテムセットから前記順番が2番目のアイテムを除いたアイテムセットについてのそれぞれの出現頻度を前記テーブルから削除する、請求項9に記載のシステム。
JP2010231622A 2010-10-14 2010-10-14 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム Expired - Fee Related JP5528292B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010231622A JP5528292B2 (ja) 2010-10-14 2010-10-14 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム
CN201110216914.8A CN102456068B (zh) 2010-10-14 2011-07-29 提取具有意义的频出项目集的系统和方法
TW100128972A TW201229793A (en) 2010-10-14 2011-08-12 System, method, and program product for extracting meaningful frequent itemset
US13/253,102 US8954468B2 (en) 2010-10-14 2011-10-05 Extracting a meaningful frequent itemset

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010231622A JP5528292B2 (ja) 2010-10-14 2010-10-14 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2012084062A true JP2012084062A (ja) 2012-04-26
JP5528292B2 JP5528292B2 (ja) 2014-06-25

Family

ID=45935024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010231622A Expired - Fee Related JP5528292B2 (ja) 2010-10-14 2010-10-14 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム

Country Status (4)

Country Link
US (1) US8954468B2 (ja)
JP (1) JP5528292B2 (ja)
CN (1) CN102456068B (ja)
TW (1) TW201229793A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018500686A (ja) * 2014-12-29 2018-01-11 中国▲銀▼▲聯▼股▲ふん▼有限公司 マーチャントのビジネスサークル情報の確定

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563669B2 (en) * 2012-06-12 2017-02-07 International Business Machines Corporation Closed itemset mining using difference update
US20160212158A1 (en) * 2013-08-28 2016-07-21 Hewlett Packard Enterprise Development Lp Distributed pattern discovery
US10037361B2 (en) 2015-07-07 2018-07-31 Sap Se Frequent item-set mining based on item absence
US10872394B2 (en) * 2017-04-27 2020-12-22 Daegu Gyeongbuk Institute Of Science And Technology Frequent pattern mining method and apparatus
CN112115305B (zh) * 2019-06-21 2024-04-09 杭州海康威视数字技术股份有限公司 群体识别方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076937A (ja) * 2001-09-06 2003-03-14 Shinichi Morishita 結合ルールの抽出方法、抽出システムおよび結合ルール抽出プログラム
JP2004062898A (ja) * 1997-04-18 2004-02-26 Fujitsu Ltd 相関のあるデータ組み合わせの数え上げ方式
JP2005285048A (ja) * 2004-03-31 2005-10-13 Kenichi Yoshida データ解析方式
JP2007018349A (ja) * 2005-07-08 2007-01-25 Internatl Business Mach Corp <Ibm> システム、検出方法およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794209A (en) 1995-03-31 1998-08-11 International Business Machines Corporation System and method for quickly mining association rules in databases
US5615341A (en) * 1995-05-08 1997-03-25 International Business Machines Corporation System and method for mining generalized association rules in databases
US6094645A (en) * 1997-11-21 2000-07-25 International Business Machines Corporation Finding collective baskets and inference rules for internet or intranet mining for large data bases
US6138117A (en) * 1998-04-29 2000-10-24 International Business Machines Corporation Method and system for mining long patterns from databases
JP2001229268A (ja) * 2000-02-15 2001-08-24 Hitachi Ltd オンラインショッピングシステム及び商品提案方法
US20010027447A1 (en) * 2000-03-27 2001-10-04 Satoshi Matsuura Database apparatus and extended parts table generating apparatus
US6473757B1 (en) * 2000-03-28 2002-10-29 Lucent Technologies Inc. System and method for constraint based sequential pattern mining
US7020587B1 (en) * 2000-06-30 2006-03-28 Microsoft Corporation Method and apparatus for generating and managing a language model data structure
JP3701633B2 (ja) * 2002-06-21 2005-10-05 株式会社日立製作所 複数データベースにまたがる項目パターン抽出方法、ネットワークシステム及び処理装置
JP4039488B2 (ja) * 2003-08-18 2008-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 多頻度パターン抽出装置、多頻度パターン抽出方法、及びそのプログラムと記録媒体
US7433879B1 (en) * 2004-06-17 2008-10-07 Versata Development Group, Inc. Attribute based association rule mining
US8700607B2 (en) * 2005-08-02 2014-04-15 Versata Development Group, Inc. Applying data regression and pattern mining to predict future demand
WO2008011728A1 (en) * 2006-07-28 2008-01-31 Pattern Intelligence Inc. System and method for detecting and analyzing pattern relationships
US20080127043A1 (en) * 2006-08-30 2008-05-29 Yuanyuan Zhou Automatic Extraction of Programming Rules
JP2008293211A (ja) * 2007-05-23 2008-12-04 Hitachi Ltd アイテム推薦システム
CN101499066A (zh) * 2008-02-01 2009-08-05 北京石油化工学院 一种用于关联规则隐藏的事务增减方法
CN101593200B (zh) * 2009-06-19 2012-10-03 淮海工学院 基于关键词频度分析的中文网页分类方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062898A (ja) * 1997-04-18 2004-02-26 Fujitsu Ltd 相関のあるデータ組み合わせの数え上げ方式
JP2003076937A (ja) * 2001-09-06 2003-03-14 Shinichi Morishita 結合ルールの抽出方法、抽出システムおよび結合ルール抽出プログラム
JP2005285048A (ja) * 2004-03-31 2005-10-13 Kenichi Yoshida データ解析方式
JP2007018349A (ja) * 2005-07-08 2007-01-25 Internatl Business Mach Corp <Ibm> システム、検出方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018500686A (ja) * 2014-12-29 2018-01-11 中国▲銀▼▲聯▼股▲ふん▼有限公司 マーチャントのビジネスサークル情報の確定

Also Published As

Publication number Publication date
US8954468B2 (en) 2015-02-10
TW201229793A (en) 2012-07-16
JP5528292B2 (ja) 2014-06-25
CN102456068A (zh) 2012-05-16
US20120096031A1 (en) 2012-04-19
CN102456068B (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
JP5528292B2 (ja) 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム
US9792388B2 (en) Pattern extraction apparatus and control method therefor
US20210081437A1 (en) Systems and methods for trie-based automated discovery of patterns in computer logs
RU2547213C2 (ru) Присвоение применимых на практике атрибутов данных, которые описывают идентичность личности
JP6420524B2 (ja) 分析用サーバ装置、データ解析システム、及びデータ解析方法
JP2008027072A (ja) データベース分析プログラム、データベース分析装置、データベース分析方法
KR20070011432A (ko) 컴퓨터화된 시스템에서의 데이터 프로세싱
WO2012096388A1 (ja) 意外性判定システム、意外性判定方法およびプログラム
JP2007219929A (ja) 感性評価システム及び方法
JP5194818B2 (ja) データ分類方法およびデータ処理装置
JP2007188330A (ja) 構造化文書抽出装置、構造化文書抽出方法および構造化文書抽出プログラム
JP5716966B2 (ja) データ分析装置、データ分析方法及びプログラム
CN109840288A (zh) 图片检索方法、设备和存储介质
JP5180894B2 (ja) 属性表現獲得方法及び装置及びプログラム
JP5478229B2 (ja) データ解析システム、及びその方法
KR20220041336A (ko) 중요 키워드 추천 및 핵심 문서를 추출하기 위한 그래프 생성 시스템 및 이를 이용한 그래프 생성 방법
Jaiswal et al. Generating Association Rules for Social Media Analysis
JP7488207B2 (ja) 将来事象推定システム、および将来事象推定方法
JP6967412B2 (ja) サジェスト生成装置、サジェスト生成プログラム及びサジェスト生成方法
JP5267847B2 (ja) あいまい頻出集合の探索方法及び探索装置
Lawpanom et al. Association Rule Discovery for Rosewood Crime Arrest Planning
JP6174802B2 (ja) 情報処理装置および情報処理システム
CN117972020A (zh) 一种事件文本过滤分析方法和系统
JP5485856B2 (ja) 閲覧ログ解析装置及び閲覧ログ解析プログラム
KR20140120711A (ko) 병렬 처리를 이용한 닫힌 빈발 패턴 마이닝 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140415

R150 Certificate of patent or registration of utility model

Ref document number: 5528292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees