JP2012173951A - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents
データ処理装置、データ処理方法及びデータ処理プログラム Download PDFInfo
- Publication number
- JP2012173951A JP2012173951A JP2011034764A JP2011034764A JP2012173951A JP 2012173951 A JP2012173951 A JP 2012173951A JP 2011034764 A JP2011034764 A JP 2011034764A JP 2011034764 A JP2011034764 A JP 2011034764A JP 2012173951 A JP2012173951 A JP 2012173951A
- Authority
- JP
- Japan
- Prior art keywords
- data
- link
- combination
- query
- serial number
- 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.)
- Withdrawn
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】データマイニングを効率的に行なうことを課題とする。
【解決手段】データ処理装置は、任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力し、入力されたデータから、複数の基準それぞれのパターンに対応する、要素或いは該要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する。また、データ処理装置は、抽出した組み合わせ集合それぞれについて、ZDDに対応するデータ形式で記憶部に記録する。また、データ処理装置は、クエリを入力し、クエリに対応する組み合わせ集合を取得することにより演算処理を実行して、演算処理結果を出力する。
【選択図】図1
【解決手段】データ処理装置は、任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力し、入力されたデータから、複数の基準それぞれのパターンに対応する、要素或いは該要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する。また、データ処理装置は、抽出した組み合わせ集合それぞれについて、ZDDに対応するデータ形式で記憶部に記録する。また、データ処理装置は、クエリを入力し、クエリに対応する組み合わせ集合を取得することにより演算処理を実行して、演算処理結果を出力する。
【選択図】図1
Description
本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
従来、データマイニングでは、何らかのデータが格納されたデータベースから有用な情報を抽出することが基礎的な問題の一つとして挙げられる。例えば、商品を取り扱う店舗でデータマイニングを行なう場合には、店舗での商取引ログが格納されたデータベースに対し、ある基準を満たす商品の組み合わせの集合を全て列挙する。一つの様態として、「出現頻度が所定閾値以上」を基準とする場合には、出現頻度が所定閾値以上である商品の組み合わせをデータベースから抽出して、組み合わせの集合を列挙することが行なわれる。データマイニングを行なう専門家は、列挙された組み合わせ集合に対し、どのような組み合わせ集合のパターンが出現するかを検討して、ビジネスにおける意思決定等に活用するために種々の解釈を加える。
R.Agrawal et al.,"Mining association rules between sets of items in large databases",In Proc.of SIGMOD’93
しかしながら、上述した従来に係るデータマイニングの手法では、データマイニングを効率的に行なうことができないという問題がある。具体的には、従来に係るデータマイニングの手法では、データマイニングを人手により行なうので、繰り返して行なわれる組み合わせ集合のパターンの解釈を効率的に行なうことができない。また、従来に係るデータマイニングの手法では、より専門的な知識や技術を有する専門家でなければ、解釈を与えることが困難である。上述した店舗の例では、データベースの全体的な性質を知ることよりも、ある商品のブランド戦略を立てるときに、特定の商品の組み合わせについて、より多くの理解を有することが強い動機になる場合もある。このような動機に基づいたデータマイニングにおいては、パターンを解釈するという部分に重きが置かれることになる。これらにより、従来に係るデータマイニングでは、利用者にとって解釈が容易になるマイニング結果を得ることが困難となり、データマイニングを効率的に行なうことができない。
そこで、本願に開示する技術は、上記に鑑みてなされたものであって、データマイニングを効率的に行なうことが可能であるデータ処理装置、データ処理方法及びデータ処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本願に開示するデータ処理装置は、任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力するデータ入力部と、前記データ入力部によって入力されたデータから、複数の基準それぞれのパターンに対応する、前記要素或いは前記要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する抽出部と、前記抽出部によって抽出された組み合わせ集合それぞれについて、ZDD(Zero‐Suppressed Binary Decision Diagram)中の各要素に対応する通し番号を示す通番と、要素のラベルを示すラベルと、0リンクが指す要素の通番を示す0リンクのリンク先と、1リンクが指す要素の通番を示す1リンクのリンク先とを対応付けて記憶部に記録する記録部とを有する。
また、本願に開示するデータ処理方法は、データ処理装置で実行されるデータ処理方法であって、任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力するデータ入力工程と、前記データ入力工程によって入力されたデータから、複数の基準それぞれのパターンに対応する、前記要素或いは前記要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する抽出工程と、前記抽出工程によって抽出された組み合わせ集合それぞれについて、ZDD(Zero‐Suppressed Binary Decision Diagram)中の各要素に対応する通し番号を示す通番と、要素のラベルを示すラベルと、0リンクが指す要素の通番を示す0リンクのリンク先と、1リンクが指す要素の通番を示す1リンクのリンク先とを対応付けて記憶部に記録する記録工程とを含む。
また、本願に開示するデータ処理プログラムは、任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力するデータ入力ステップと、前記データ入力ステップによって入力されたデータから、複数の基準それぞれのパターンに対応する、前記要素或いは前記要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する抽出ステップと、前記抽出ステップによって抽出された組み合わせ集合それぞれについて、ZDD(Zero‐Suppressed Binary Decision Diagram)中の各要素に対応する通し番号を示す通番と、要素のラベルを示すラベルと、0リンクが指す要素の通番を示す0リンクのリンク先と、1リンクが指す要素の通番を示す1リンクのリンク先とを対応付けて記憶部に記録する記録ステップとをコンピュータに実行させる。
本願に開示するデータ処理装置、データ処理方法及びデータ処理プログラムの一つの様態によれば、データマイニングを効率的に行なうことができるという効果を奏する。
以下に添付図面を参照して、本願に開示するデータ処理装置、データ処理方法及びデータ処理プログラムの実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
[実施例1に係るデータ処理装置の構成]
図1を用いて、実施例1に係るデータ処理装置の構成を説明する。図1は、実施例1に係るデータ処理装置の構成例を示す図である。
図1を用いて、実施例1に係るデータ処理装置の構成を説明する。図1は、実施例1に係るデータ処理装置の構成例を示す図である。
例えば、図1に示すように、データ処理装置100は、データ入力部110と、パターン抽出処理部120と、パターン集合記憶部130と、クエリ入力部140と、演算処理部150と、関係出力部160とを有する。また、データ処理装置100は、PC(Personal Computer)やサーバ装置等の、データマイニングを行なうための情報処理装置である。なお、以下では、具体的な処理の実施形態として、商品を取り扱う店舗に適用する例を挙げて説明する。
データ入力部110は、任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力する。例えば、データ入力部110は、同時に購入された商品の組み合わせを保持するデータベースである購買データベースを入力する。かかる購買データベースは、例えば、人手により作成されたものであっても、あるシステムに含まれるものであっても良い。すなわち、上記の「任意の条件」とは、一つの様態として、購買データベースとして「同時に購入された商品の組み合わせ」を指す。図2は、データ入力部110から入力される購買データベースの例を示す図である。図2に示すように、購買データベースは、データを一意に識別する「トランザクションID」と、「購入された商品」の組み合わせとを対応付けて保持する。
例を挙げると、購買データベースは、トランザクションID「1」と、購入された商品「a,b,d」とを対応付けて保持する。また、購買データベースは、トランザクションID「2」と、購入された商品「b,d」とを対応付けて保持する。また、購買データベースは、トランザクションID「3」と、購入された商品「a,c,d,f」とを対応付けて保持する。また、購買データベースは、トランザクションID「T」(「T」は、自然数)と、購入された商品「e,g」とを対応付けて保持する。ここで、図2に示す「a,b,c,d,e,f,g」は、同時に購買対象となったある商品にそれぞれ対応している。
また、データ入力部110によって入力されるデータベースのデータ形式は、後述するパターン抽出処理部120での処理結果の出力が組み合わせ集合になることを条件とする。組み合わせ集合とは、アイテムの集合「E」が与えられたときに、「E」の部分集合「F」を要素とする集合「F⊆E」である。つまり、組み合わせ集合とは、アイテムの集合「E」のべき集合「2E」の部分集合のことである。
パターン抽出部120は、処理モジュール120−1〜120−N(「N」は、自然数)を有する。処理モジュール120−1〜120−Nは、データ入力部110によって入力されたデータから、複数の基準それぞれのパターンに対応する、要素或いは要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する。また、処理モジュール120−1〜120−Nは、抽出した組み合わせ集合それぞれについて、ZDD(Zero‐Suppressed Binary Decision Diagram)中の各項目を対応付けてパターン集合記憶部130に記録する。各項目とは、「通番」、「ラベル」、「0リンクのリンク先」及び「1リンクのリンク先」を指す。これらのうち、「通番」は、ZDD中の各要素に対応する通し番号を示し、「ラベル」は、要素のラベルを示し、「0リンクのリンク先」は、0リンクが指す要素の通番を示し、「1リンクのリンク先」は、1リンクが指す要素の通番を示す。なお、ZDDについては後述する。
ここで、処理モジュール120−1が、例えば、「出現頻度が『2』以上である商品」を基準とするパターン抽出を実行する処理モジュールであるものとする。図3は、出現頻度が「2」以上である商品の組み合わせ集合の例を示す図である。例えば、図3に示すように、処理モジュール120−1は、図2に示す購買データベースのトランザクションID「1」〜「3」について、出現頻度「2」以上を基準としたときに得られる組み合わせ集合を抽出する。図2に示すトランザクションID「1」〜「3」において、出現頻度が「2」以上である商品の組み合わせ集合は、「a」、「b」、「d」、「a,d」及び「b,d」となる。すなわち、組み合わせ集合には、「a」、「b」、「d」のような商品、或いは、「a,d」、「b,d」のような商品の組み合わせが含まれる。また、処理モジュール120−1によって抽出された組み合わせ集合は、商品の集合である購買データベースの部分集合である。
また、処理モジュール120−2が、例えば、「ある時間帯に買われた商品」を基準とするパターン抽出を実行する処理モジュールであるものとする。「ある時間帯」には、例えば、11時〜14時等の任意の時間帯が設定される。このとき、購買データベースには、商品それぞれについて、購入された時間情報が含まれる。図4Aは、ある時間帯に買われた商品の組み合わせ集合の例を示す図である。例えば、図4Aに示すように、処理モジュール120−2は、データ入力部110によって入力された購買データベースに基づいて、商品が購入された時間情報から、「11時〜14時に買われた商品」を基準としたときに得られる組み合わせ集合を抽出する。11時〜14時に買われた商品となる組み合わせ集合は、「e」、「c,e」及び「c」となる。すなわち、組み合わせ集合には、「c」、「e」のような商品、或いは、「c,e」のような商品の組み合わせが含まれる。また、処理モジュール120−2によって抽出された組み合わせ集合は、商品の集合である購買データベースの部分集合である。
また、処理モジュール120−3が、例えば、「20代の顧客に買われた商品」を基準とするパターン抽出を実行する処理モジュールであるものとする。このとき、購買データベースには、商品それぞれについて、購入した顧客の年齢情報が含まれる。図4Bは、20代の顧客に買われた商品の組み合わせ集合の例を示す図である。例えば、図4Bに示すように、処理モジュール120−3は、データ入力部110によって入力された購買データベースに基づいて、商品を購入した顧客の年齢情報から、「20代の顧客に買われた商品」を基準としたときに得られる組み合わせ集合を抽出する。20代の顧客に買われた商品の組み合わせ集合は、「a,d」、「a」、「d」及び「f」となる。すなわち、組み合わせ集合には、「a」、「d」、「f」のような商品、或いは、「a,d」のような商品の組み合わせが含まれる。また、処理モジュール120−3によって抽出された組み合わせ集合は、商品の集合である購買データベースの部分集合である。上記のように、処理モジュール120−1〜120−Nは、それぞれが独立して、基準それぞれのパターンに対応する組み合わせ集合を抽出する。
その後、処理モジュール120−1〜120−Nは、例えば、抽出した組み合わせ集合を、データ処理装置100上でのZDDの表現方法でパターン記憶部130−1〜130−Nそれぞれに記録する。ZDDは、指向性をもった二分グラフによって組み合わせ集合を表現するものである。表現する際に等価な接点を共有したり、冗長な接点を削除したりすることができ、これにより、圧縮した記憶容量で組み合わせ集合を表現できる。なお、組み合わせ集合から対応するZDDを構築する手法については、例えば、“Shin‐Ichi Minato,“Zero‐Suppressed BDDs for Set Manipulation in Combinatorial Problems”,Design Automation,1993”に記載されている。
ここで、図5A〜図5Cを用いて、ZDDについて説明する。図5Aは、ZDDを説明するための組み合わせ集合の例を示す図である。また、図5Bは、組み合わせ集合をZDDによって表現した例を示す図である。また、図5Cは、パターン記憶部130−1〜130−Nによって記憶される情報例を示す図である。
処理モジュール120−Nが、例えば、ある基準に対するパターン抽出において、図5Aに示すように、「a」、「b」、「c」及び「a,b」を含む組み合わせ集合を抽出したものとする。処理モジュール120−Nによって抽出された組み合わせ集合は、例えば、図5Bに示すように、ZDDによって表現できる。図5Bに示すように、ZDDは、指向性を有するグラフ構造であり、ある変数に対応する「変数ノード」と、0又は1を値に持つ「終端ノード」と、ZDDの開始地点を表す「rootリンク」とを有する。例えば、図5Bにおいて、変数ノードは、円で示された「a」、「b」、「c」であり、終端ノードは、方形で示された「0」、「1」であり、rootリンクは、「root」である。そして、これらの「変数ノード」、「終端ノード」及び「rootリンク」は、各変数ノードについて子孫ノードへの0又は1の「ラベル」のついた2つの「リンク」によって構成される。
ZDDで表現された組み合わせ集合は、rootリンクからスタートし、到達した各変数ノードにおいて、該当する変数が組み合わせに含まれるか否かが判定される。このとき、該当する変数が組み合わせに含まれる場合には、「1」のラベルのついたリンクを辿る。一方、該当する変数が組み合わせに含まれない場合には、「0」のラベルのついたリンクを辿る。このようにして、ZDDで表現された組み合わせ集合にあるアイテムの組み合わせが含まれるか否かは、1又は0のラベルのリンクを辿る処理を終端ノードに到達するまで繰り返される。
すなわち、ZDDでは、終端ノード「1」に辿り着き、且つ、「root」から終端ノードまでの経路中に、組み合わせに含まれる全ての変数について対応する変数ノードが含まれる場合に、該当するアイテムは組み合わせ集合に含まれることになる。一方、ZDDでは、終端ノード「0」に辿り着いた場合や、終端ノード「1」に辿り着いた場合であっても、「root」から終端ノードまでの経路中に組み合わせに含まれる全ての変数について対応する変数ノードが含まれない場合に、該当するアイテムは組み合わせ集合に含まれない。図5Bの例では、アイテム「a」、「b」、「c」及び「a,b」について、ZDDのリンクを辿る処理を行なうと、終端ノード「1」に到達するため、該当するアイテムは組み合わせ集合に含まれる。一方、図5Bの例では、アイテム「a」、「b」、「c」及び「a,b」以外について、ZDDのリンクを辿る処理を行なうと、終端ノード「0」に到達する、若しくは、終端ノード「1」に到達しても全ての変数について対応する変数ノードが含まれないため、該当するアイテムは組み合わせ集合に含まれない。
そして、処理モジュール120−Nは、データ処理装置100上でのZDDの表現方法として、図5Cに示すように、「通番」、「ラベル」、「0リンクのリンク先」、「1リンクのリンク先」とを対応付けてパターン記憶部130−Nに記録する。例を挙げると、パターン記憶部130−Nは、図5Cに示すように、通番「1」と、ラベル「a」と、0リンクのリンク先「2」と、1リンクのリンク先「3」とを対応付けて記憶する。すなわち、処理モジュール120−Nは、ZDDに含まれるそれぞれのノードがパターン記憶部130−Nの1レコードに対応するテーブルとして記録する。
詳細には、図5Cに示す通番「1」のレコードは、図5Bに示す変数ノードのラベル「a」に対し、0リンクのリンク先を図5Bの左方に示す変数ノードのラベル「b」に対応する通番「2」として表している。同様に、図5Cに示す通番「1」のレコードは、図5Bに示す変数ノードのラベル「a」に対し、1リンクのリンク先を図5Bの右方に示す変数ノードのラベル「b」に対応する通番「3」として表している。
また、図5Cに示す通番「2」のレコードは、図5Bの左方に示す変数ノードのラベル「b」に対し、0リンクのリンク先を図5Bに示す変数ノードのラベル「c」に対応する通番「4」として表している。同様に、図5Cに示す通番「2」のレコードは、図5Bの左方に示す変数ノードのラベル「b」に対し、1リンクのリンク先を図5Bに示す終端ノード「1」として表している。
また、図5Cに示す通番「3」のレコードは、図5Bの右方に示す変数ノードのラベル「b」に対し、0リンクのリンク先を図5Bに示す終端ノード「1」として表している。同様に、図5Cに示す通番「3」のレコードは、図5Bの右方に示す変数ノードのラベル「b」に対し、1リンクのリンク先を図5Bに示す終端ノード「1」として表している。
また、図5Cに示す通番「4」のレコードは、図5Bに示す変数ノードのラベル「c」に対し、0リンクのリンク先を図5Bに示す終端ノード「0」として表している。同様に、図5Cに示す通番「4」のレコードは、図5Bに示す変数ノードのラベル「c」に対し、1リンクのリンク先を図5Bに示す終端ノード「1」として表している。
また、図5Cに示す通番「5」のレコードは、図5Bに示す終端ノード「0」を表している。また、図5Cに示す通番「6」のレコードは、図5Bに示す終端ノード「1」を表している。このように、パターン集合記憶部130が有するパターン記憶部130−1〜130−Nそれぞれは、ZDDに含まれる各情報を図5Cに示すデータ形式で保持する。
図1の説明に戻り、クエリ入力部140は、クエリを入力する。例えば、クエリ入力部140は、ある組み合わせ集合の部分集合となるクエリ「(a,d)」を入力する。なお、クエリ入力部140によるクエリ入力は、任意のタイミングで行なわれる。
演算処理部150は、クエリ入力部140によって入力されたクエリに対応する組み合わせ集合を、パターン集合記憶部130から取得することにより演算処理を行ない、取得した組み合わせ集合を演算処理結果とする。例えば、演算処理部150は、パターン集合記憶部130に含まれるN個の組み合わせ集合のうち、クエリ入力部140によって入力されたクエリ「(a,d)」を含む組み合わせ集合を全て列挙する。クエリ「(a,d)」を含む組み合わせ集合は、例えば、図3に示した組み合わせ集合「出現頻度が『2』以上である商品」と、図4Bに示した組み合わせ集合「20代の顧客に買われた商品」とが挙げられる。入力されたクエリに対応する組み合わせ集合を取得する処理は、ZDDをデータ処理装置100上で表現したパターン集合記憶部130を利用するので、組み合わせ集合に含まれるアイテムの総数に比例する時間で効率的に行なうことができる。
ここで、図5Cを用いて、クエリ入力部140によってクエリ「(a,b)」が入力された場合の演算処理部150による処理を説明する。例えば、演算処理部150は、クエリ入力部140によってクエリ「(a,b)」が入力されると、通番「1」のレコードを参照する。そして、演算処理部150は、通番「1」に含まれるラベル「a」がクエリ「(a,b)」に含まれる変数であるので、1リンクのリンク先「3」を取得する。続いて、演算処理部150は、1リンクのリンク先「3」に対応する通番「3」のレコードを参照する。その後、演算処理部150は、通番「3」に含まれるラベル「b」がクエリ「(a,b)」に含まれる変数であるので、1リンクのリンク先「6」を取得する。このとき、演算処理部150は、1リンクのリンク先「6」に対応する通番「6」のラベルが終端ノードを示す「1」であることを識別する。また、演算処理部150は、rootからの経路においてクエリ「(a,b)」に含まれる全ての変数「a」及び「b」が含まれていることをさらに識別する。これらの結果、演算処理部150は、クエリ「(a,b)」を組み合わせ集合に含まれるものとして、該当する組み合わせ集合を演算処理結果の一つとする。このようにして、演算処理部150は、パターン記憶部130−1〜130−Nそれぞれについて上記処理を実行して、クエリに対応する組み合わせ集合を列挙する。
図1の説明に戻り、関係出力部160は、演算処理部150での演算処理結果を出力する。図6は、実施例1に係る関係出力部160による出力例を示す図である。例えば、図6に示すように、関係出力部160は、入力クエリ「(a,d)」に対応する組み合わせ集合である「出現頻度が『2』以上である商品」と、「20代の顧客に買われた商品」とを出力する。このように、クエリとして渡されたパターンを含む組み合わせ集合の情報は、クエリとして渡されたパターンがどのような性質を満たすものであるかを表しているため、クエリの解釈に利用することが可能となる。
[実施例1に係るパターン抽出処理]
次に、図7を用いて、実施例1に係るパターン抽出処理を説明する。図7は、実施例1に係るパターン抽出処理の流れの例を示すフローチャートである。なお、パターン抽出処理とは、データ入力部110及びパターン抽出処理部120による処理を指す。
次に、図7を用いて、実施例1に係るパターン抽出処理を説明する。図7は、実施例1に係るパターン抽出処理の流れの例を示すフローチャートである。なお、パターン抽出処理とは、データ入力部110及びパターン抽出処理部120による処理を指す。
例えば、図7に示すように、パターン抽出処理部120は、データ入力部110から購買データベース等のデータが入力された場合に(ステップS101肯定)、複数の基準それぞれのパターンに対応する組み合わせ集合を抽出する(ステップS102)。ここで、複数の基準とは、例えば、「出現頻度が『2』以上である商品」や、「ある時間帯に買われた商品」や、「20代の顧客に買われた商品」等が挙げられる。そして、パターン抽出処理部120は、抽出した組み合わせ集合それぞれについて、ZDDに対応するデータ形式でパターン集合記憶部130に記録する(ステップS103)。また、パターン抽出処理部120は、データ入力部110からデータが入力されない場合に(ステップS101否定)、データ入力部110からのデータ入力待ちの状態となる。
[実施例1に係るクエリ演算処理]
次に、図8を用いて、実施例1に係るクエリ演算処理を説明する。図8は、実施例1に係るクエリ演算処理の流れの例を示すフローチャートである。なお、クエリ演算処理とは、クエリ入力部140、演算処理部150及び関係出力部160による処理を指す。
次に、図8を用いて、実施例1に係るクエリ演算処理を説明する。図8は、実施例1に係るクエリ演算処理の流れの例を示すフローチャートである。なお、クエリ演算処理とは、クエリ入力部140、演算処理部150及び関係出力部160による処理を指す。
例えば、図8に示すように、演算処理部150は、クエリ入力部140からクエリが入力された場合に(ステップS201肯定)、クエリに対応する特性の組み合わせ集合を、パターン集合記憶部130から取得する(ステップS202)。ここで、クエリ「(a,d)」に対応する特性の組み合わせ集合とは、「出現頻度が『2』以上である商品」や、「20代の顧客に買われた商品」等が挙げられる。そして、関係出力部160は、演算処理部150による演算処理結果である、組み合わせ集合「出現頻度が『2』以上である商品」及び「20代の顧客に買われた商品」を出力する(ステップS203)。また、演算処理部150は、クエリ入力部140からクエリが入力されない場合に(ステップS201否定)、クエリ入力部140によるクエリの入力待ちの状態となる。
[実施例1による効果]
上述したように、データ処理装置100は、クエリに対応する組み合わせ集合のパターンの解釈を機械的に行なうので、人手によりデータを分析して解釈する従来と比較して、データマイニングを効率的に行なうことができる。また、データ処理装置100は、組み合わせ集合を記憶部に記録する際に、ZDDに対応するデータ形式で記録するので、記憶容量を抑制できるとともに、その後のクエリ演算処理の処理負荷を削減することもできる。
上述したように、データ処理装置100は、クエリに対応する組み合わせ集合のパターンの解釈を機械的に行なうので、人手によりデータを分析して解釈する従来と比較して、データマイニングを効率的に行なうことができる。また、データ処理装置100は、組み合わせ集合を記憶部に記録する際に、ZDDに対応するデータ形式で記録するので、記憶容量を抑制できるとともに、その後のクエリ演算処理の処理負荷を削減することもできる。
上記実施例1では、クエリに対応する組み合わせ集合がどのような性質を満たすかを出力する場合を説明したが、クエリと同じ性質を有する組み合わせ集合を出力することもできる。そこで、実施例2では、クエリと同じ性質を有する組み合わせ集合を出力する場合を説明する。
[実施例2に係るデータ処理装置の構成]
実施例2では、説明の便宜上、データ処理装置100をデータ処理装置200として表現するとともに、演算処理部150を演算処理部250、関係出力部160を関係出力部260として表現する。また、実施例2では、これら以外の各機能部については、実施例1と同様の機能を有するためその説明を省略する。例えば、データ処理装置200は、データ入力部110と、パターン抽出部120と、パターン集合記憶部130と、クエリ入力部140と、演算処理部250と、関係出力部260とを有する。
実施例2では、説明の便宜上、データ処理装置100をデータ処理装置200として表現するとともに、演算処理部150を演算処理部250、関係出力部160を関係出力部260として表現する。また、実施例2では、これら以外の各機能部については、実施例1と同様の機能を有するためその説明を省略する。例えば、データ処理装置200は、データ入力部110と、パターン抽出部120と、パターン集合記憶部130と、クエリ入力部140と、演算処理部250と、関係出力部260とを有する。
演算処理部250は、クエリ入力部140によって入力されたクエリに対応する組み合わせ集合をパターン集合記憶部130から取得し、取得した組み合わせ集合の積集合をさらに演算する。例えば、演算処理部250は、クエリ入力部140によって入力されたクエリ「(a,d)」を含む組み合わせ集合を全て列挙する。クエリ「(a,d)」を含む組み合わせ集合は、例えば、図3に示した組み合わせ集合「出現頻度が『2』以上である商品」と、図4Bに示した組み合わせ集合「20代の顧客に買われた商品」とが挙げられる。また、例えば、演算処理部250は、列挙した全ての組み合わせ集合について、積集合を計算して、クエリと同じ性質を有する組み合わせ集合「a」、「d」、「(a,d)」を求める。
関係出力部260は、演算処理部250での演算処理結果を出力する。図9は、実施例2に係る関係出力部260による出力例を示す図である。例えば、図9に示すように、関係出力部260は、入力クエリ「(a,d)」に対応する組み合わせ集合の積集合として、「a」、「d」、「(a,d)」を出力する。このように、クエリとして渡されたパターンを含む組み合わせ集合の積集合は、クエリとして渡されたパターンと同じ性質を有するパターンの組み合わせ集合であるため、例えば、あるクエリに類似する性質を有するパターンを検索する場合に応用できる。すなわち、類似のパターンを検索できれば、購買データの解析等に利用することができる。
[実施例2に係るクエリ演算処理]
次に、図10を用いて、実施例2に係るクエリ演算処理を説明する。図10は、実施例2に係るクエリ演算処理の流れの例を示すフローチャートである。なお、クエリ演算処理とは、クエリ入力部140、演算処理部250及び関係出力部260による処理を指す。
次に、図10を用いて、実施例2に係るクエリ演算処理を説明する。図10は、実施例2に係るクエリ演算処理の流れの例を示すフローチャートである。なお、クエリ演算処理とは、クエリ入力部140、演算処理部250及び関係出力部260による処理を指す。
例えば、図10に示すように、演算処理部250は、クエリ入力部140からクエリが入力された場合に(ステップS301肯定)、クエリに対応する特性の組み合わせ集合を、パターン集合記憶部130から取得する(ステップS302)。ここで、クエリ「(a,d)」に対応する特性の組み合わせ集合とは、「出現頻度が『2』以上である商品」や、「20代の顧客に買われた商品」等が挙げられる。
そして、演算処理部250は、取得した組み合わせ集合の積集合を演算する(ステップS303)。ここで、組み合わせ集合の積集合としては、「a」、「d」、「(a,d)」が挙げられる。その後、関係出力部260は、演算処理部250による演算処理結果である、組み合わせ集合の積集合「a」、「d」、「(a,d)」を出力する(ステップS304)。また、演算処理部250は、クエリ入力部140からクエリが入力されない場合に(ステップS301否定)、クエリ入力部140によるクエリの入力待ちの状態となる。
[実施例2による効果]
上述したように、データ処理装置200は、クエリに対応する組み合わせ集合の積集合を出力することで、クエリのパターンに類似する性質を有するパターンを検索する用途に適用できるので、入力データの解析を容易に行なうことができる。
上述したように、データ処理装置200は、クエリに対応する組み合わせ集合の積集合を出力することで、クエリのパターンに類似する性質を有するパターンを検索する用途に適用できるので、入力データの解析を容易に行なうことができる。
また、上記文書中や図面中などで示した処理手順、制御手順、具体的名称、各種のデータやパラメータなどを含む情報(例えば、データ入力部110によって入力されるデータの内容等)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部または一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。例えば、データ処理装置100は、ZDDに対応するデータ形式でパターン集合記憶部130に記録することで、記憶容量の抑制や、その後のクエリ演算処理の処理量を削減することができる。このことから、データ入力部110及びパターン抽出処理部120のみを有する装置構成として実現しても良い。このとき、パターン抽出処理部120は、装置構成に含まれる記憶部或いは外部の記憶装置にパターン抽出結果を出力する。
さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
図11は、開示の技術に係るデータ処理プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図11に例示するように、コンピュータ1000は、例えば、メモリ1001と、CPU(Central Processing Unit)1002と、ハードディスクドライブインタフェース1003と、ディスクドライブインタフェース1004と、シリアルポートインタフェース1005と、ビデオアダプタ1006と、ネットワークインタフェース1007とを有し、これらの各部はバス1008によって接続される。
メモリ1001は、図11に例示するように、ROM(Read Only Memory)1001a及びRAM(Random Access Memory)1001bを含む。ROM1001aは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1003は、図11に例示するように、ハードディスクドライブ1009に接続される。ディスクドライブインタフェース1004は、図11に例示するように、ディスクドライブ1010に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1010に挿入される。シリアルポートインタフェース1005は、図11に例示するように、例えばマウス1011、キーボード1012に接続される。ビデオアダプタ1006は、図11に例示するように、例えばディスプレイ1013に接続される。
ここで、図11に例示するように、ハードディスクドライブ1009は、例えば、OS(Operating System)1009a、アプリケーションプログラム1009b、プログラムモジュール1009c、プログラムデータ1009dを記憶する。すなわち、開示の技術に係るデータ処理プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1009cとして、例えばハードディスクドライブ1009に記憶される。具体的には、上記実施例で説明したデータ入力部110と同様の情報処理を実行するデータ入力手順と、パターン抽出処理部120と同様の情報処理を実行するパターン抽出処理手順と、クエリ入力部140と同様の情報処理を実行するクエリ入力手順と、演算処理部150と同様の情報処理を実行する演算処理手順と、関係出力部160と同様の情報処理を実行する関係出力手順とが記述されたプログラムモジュール1009cが、ハードディスクドライブ1009に記憶される。また、上記実施例で説明したパターン集合記憶部130に記憶されるデータのように、データ処理プログラムによる情報処理に用いられるデータは、プログラムデータ1009dとして、例えばハードディスクドライブ1009に記憶される。そして、CPU1002が、ハードディスクドライブ1009に記憶されたプログラムモジュール1009cやプログラムデータ1009dを必要に応じてRAM1001bに読み出し、データ入力手順、パターン抽出処理手順、クエリ入力手順、演算処理手順、関係出力手順を実行する。
なお、データ処理プログラムに係るプログラムモジュール1009cやプログラムデータ1009dは、ハードディスクドライブ1009に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1010等を介してCPU1002によって読み出されてもよい。あるいは、データ処理プログラムに係るプログラムモジュール1009cやプログラムデータ1009dは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1007を介してCPU1002によって読み出されてもよい。
100 データ処理装置
110 データ入力部
120 パターン抽出処理部
120−1〜120−N 処理モジュール
130 パターン集合記憶部
130−1〜130−N パターン記憶部
140 クエリ入力部
150 演算処理部
160 関係出力部
110 データ入力部
120 パターン抽出処理部
120−1〜120−N 処理モジュール
130 パターン集合記憶部
130−1〜130−N パターン記憶部
140 クエリ入力部
150 演算処理部
160 関係出力部
Claims (9)
- 任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力するデータ入力部と、
前記データ入力部によって入力されたデータから、複数の基準それぞれのパターンに対応する、前記要素或いは前記要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する抽出部と、
前記抽出部によって抽出された組み合わせ集合それぞれについて、ZDD(Zero‐Suppressed Binary Decision Diagram)中の各要素に対応する通し番号を示す通番と、要素のラベルを示すラベルと、0リンクが指す要素の通番を示す0リンクのリンク先と、1リンクが指す要素の通番を示す1リンクのリンク先とを対応付けて記憶部に記録する記録部と
を有することを特徴とするデータ処理装置。 - クエリを入力するクエリ入力部と、
前記クエリ入力部によって入力されたクエリに対応する組み合わせ集合を、前記記憶部から取得することにより演算処理を行ない、取得した組み合わせ集合を演算処理結果とする演算処理部と、
前記演算処理部での演算処理結果を出力する出力部と
をさらに有することを特徴とする請求項1に記載のデータ処理装置。 - 前記演算処理部は、前記記憶部から取得した組み合わせ集合の積集合をさらに演算することを特徴とする請求項2に記載のデータ処理装置。
- データ処理装置で実行されるデータ処理方法であって、
任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力するデータ入力工程と、
前記データ入力工程によって入力されたデータから、複数の基準それぞれのパターンに対応する、前記要素或いは前記要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する抽出工程と、
前記抽出工程によって抽出された組み合わせ集合それぞれについて、ZDD(Zero‐Suppressed Binary Decision Diagram)中の各要素に対応する通し番号を示す通番と、要素のラベルを示すラベルと、0リンクが指す要素の通番を示す0リンクのリンク先と、1リンクが指す要素の通番を示す1リンクのリンク先とを対応付けて記憶部に記録する記録工程と
を含んだことを特徴とするデータ処理方法。 - クエリを入力するクエリ入力工程と、
前記クエリ入力工程によって入力されたクエリに対応する組み合わせ集合を、前記記憶部から取得することにより演算処理を行ない、取得した組み合わせ集合を演算処理結果とする演算処理工程と、
前記演算処理工程での演算処理結果を出力する出力工程と
をさらに含んだことを特徴とする請求項4に記載のデータ処理方法。 - 前記演算処理工程は、前記記憶部から取得した組み合わせ集合の積集合をさらに演算することを特徴とする請求項5に記載のデータ処理方法。
- 任意の条件を満たす要素又は該要素の組み合わせを含むデータを入力するデータ入力ステップと、
前記データ入力ステップによって入力されたデータから、複数の基準それぞれのパターンに対応する、前記要素或いは前記要素の組み合わせを部分集合とする集合である組み合わせ集合を抽出する抽出ステップと、
前記抽出ステップによって抽出された組み合わせ集合それぞれについて、ZDD(Zero‐Suppressed Binary Decision Diagram)中の各要素に対応する通し番号を示す通番と、要素のラベルを示すラベルと、0リンクが指す要素の通番を示す0リンクのリンク先と、1リンクが指す要素の通番を示す1リンクのリンク先とを対応付けて記憶部に記録する記録ステップと
をコンピュータに実行させるためのデータ処理プログラム。 - クエリを入力するクエリ入力ステップと、
前記クエリ入力ステップによって入力されたクエリに対応する組み合わせ集合を、前記記憶部から取得することにより演算処理を行ない、取得した組み合わせ集合を演算処理結果とする演算処理ステップと、
前記演算処理ステップでの演算処理結果を出力する出力ステップと
をさらに前記コンピュータに実行させるための請求項7に記載のデータ処理プログラム。 - 前記演算処理ステップは、前記記憶部から取得した組み合わせ集合の積集合をさらに演算することを前記コンピュータに実行させるための請求項8に記載のデータ処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011034764A JP2012173951A (ja) | 2011-02-21 | 2011-02-21 | データ処理装置、データ処理方法及びデータ処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011034764A JP2012173951A (ja) | 2011-02-21 | 2011-02-21 | データ処理装置、データ処理方法及びデータ処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012173951A true JP2012173951A (ja) | 2012-09-10 |
Family
ID=46976813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011034764A Withdrawn JP2012173951A (ja) | 2011-02-21 | 2011-02-21 | データ処理装置、データ処理方法及びデータ処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012173951A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017054168A (ja) * | 2015-09-07 | 2017-03-16 | 日本電信電話株式会社 | 論理関数評価方法、論理関数評価装置及びプログラム |
-
2011
- 2011-02-21 JP JP2011034764A patent/JP2012173951A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017054168A (ja) * | 2015-09-07 | 2017-03-16 | 日本電信電話株式会社 | 論理関数評価方法、論理関数評価装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zakir et al. | Big data analytics. | |
Melnik et al. | Multi-stage complex contagions | |
Clifton et al. | Emerging standards for data mining | |
US9336184B2 (en) | Representation of an interactive document as a graph of entities | |
Khurana et al. | Storing and analyzing historical graph data at scale | |
Ingvaldsen et al. | Industrial application of semantic process mining | |
Jenkins | Immersive virtual shopping experiences in the retail metaverse: Consumer-driven E-commerce, blockchain-based digital assets, and data visualization tools | |
JP5357432B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN109840796B (zh) | 决策因素分析装置与决策因素分析方法 | |
US20160019621A1 (en) | Review based navigation and product discovery platform | |
US9864966B2 (en) | Data mining in a business intelligence document | |
US9189530B2 (en) | Information processing device, computer-readable recording medium, and node extraction method | |
Jin et al. | Identifying informative subsets of the Gene Ontology with information bottleneck methods | |
Song et al. | Integrating Kano model and grey–Markov chain to predict customer requirement states | |
US8495513B2 (en) | Automated content generation through selective combination | |
Ali et al. | Analyzing tourism reviews using an LDA topic-based sentiment analysis approach | |
JP2019082865A (ja) | 販売促進装置、販売促進方法及び販売促進プログラム | |
CN109840788A (zh) | 用于分析用户行为数据的方法及装置 | |
Goar et al. | Business decision making by big data analytics | |
US20130066827A1 (en) | Information processing apparatus and element extraction method | |
Chu et al. | TRSO: A tourism recommender system based on ontology | |
JP7261095B2 (ja) | ビジネスマッチング支援装置、及びビジネスマッチング支援方法 | |
JP2012173951A (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP6922404B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
KR101214649B1 (ko) | 판매 실적에 기반한 다빈도 패키지 상품개발 지원 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |