JP6243314B2 - 分析装置、分析方法、及び分析プログラム - Google Patents

分析装置、分析方法、及び分析プログラム Download PDF

Info

Publication number
JP6243314B2
JP6243314B2 JP2014213540A JP2014213540A JP6243314B2 JP 6243314 B2 JP6243314 B2 JP 6243314B2 JP 2014213540 A JP2014213540 A JP 2014213540A JP 2014213540 A JP2014213540 A JP 2014213540A JP 6243314 B2 JP6243314 B2 JP 6243314B2
Authority
JP
Japan
Prior art keywords
group
user
individual
parameter
feature
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.)
Active
Application number
JP2014213540A
Other languages
English (en)
Other versions
JP2016081371A (ja
Inventor
匡宏 幸島
匡宏 幸島
達史 松林
達史 松林
澤田 宏
宏 澤田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014213540A priority Critical patent/JP6243314B2/ja
Publication of JP2016081371A publication Critical patent/JP2016081371A/ja
Application granted granted Critical
Publication of JP6243314B2 publication Critical patent/JP6243314B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、分析装置、分析方法、及び分析プログラム
に関する。
POS(Point of Sales)データに代表される購買履歴等の構造化されたデータや、テキストデータ又は画像データ等の構造化されていないデータの多くは、行列形式により表現できることが知られている。行列形式によって表現されたデータ中に存在するクラスタを発見するための手法として、非負値行列分解(Non-negative Matrix Factorization、NMF)と呼ばれる手法の有用性が、これまでに示されている(例えば、非特許文献1参照)。NMFの適用により、入力となる行列データは、それより低次のランクの行列の積に分解される。この各低次行列が、それぞれ入力となる行列データの各行又は各列に対応する事物のクラスタへの寄与度を表しており、クラスタの発見が可能となる。したがって、例えば、購買データに対してNMFを適用することで抽出されたクラスタに基づいて、ユーザへのお薦め商品リストを作成したり、ニュース記事の集合に対するNMFの適用結果に基づいて、記事を自動的に分類したりすることが可能となる。
図1は、購買データへの非負値行列分解(NMF)の適用例を示す図である。図1において、ユーザ購買行列Xは、購買データを表す。すなわち、ユーザ購買行列X={xij}は、第i行目に対応するユーザによる、第j列目に対応する商品の購買数が、xijの値となるI行J列の行列である。ユーザ購買行列XにNMFを適用することで、
Figure 0006243314
となるI行R列のユーザ特徴行列A={air}と、J行R列の商品特徴行列B={bjr}とが求まる。但し、数1の左辺と右辺との間の記号(以下「類似記号」という。)は、右辺と左辺とが類似していることを示す。また、商品特徴行列Bの上付きの記号Tは行列の転置を示す。airの値が、ユーザiのクラスタrへの寄与度(所属度合い)、bjrの値が、商品jのクラスタrへの寄与度を表す。
ユーザ特徴行列Aのクラスタ1に対応する列に着目すると、ユーザ1、ユーザ2、ユーザ3のそれぞれに対応する1行目、2行目、3行目の値が、0より大きい値となっている。これは、ユーザ1、ユーザ2、及びユーザ3が、クラスタ1に所属することを示している。また、商品特徴行列Bのクラスタ1に対応する行に着目すると、1列目のビール1、2列目のビール2、3列目のビール3に該当する列の値が、0より大きい値となっている。このことから、ビール1、ビール2、及びビール3という3つの単語が、同じユーザに購入されやすいというクラスタ1のもつ特徴を表しているといえる。そこで、ビール1、ビール2、及びビール3という商品をまとめてクラスタ1の商品特徴と呼ぶ。同様に、クラスタ1に所属するユーザを、クラスタ1のユーザ特徴と呼ぶ。クラスタ1の商品特徴とクラスタ1のユーザ特徴とをまとめてクラスタ1の特徴と呼ぶこととする。このように、NMFの適用によって得られたユーザ特徴行列Aと商品特徴行列Bとに基づいて、図2のようなクラスタ抽出(クラスタリング)が可能となる。
図2は、非負値行列分解(NMF)を適用して得られるクラスタリング結果の一例を示す図である。図2には、列方向にクラスタ1及び2が配列され、行方向にユーザ特徴及び商品特徴が配列されている。クラスタ1の列には、クラスタ1に属するユーザ及び商品が示されている。クラスタ2の列には、クラスタ2に属するユーザ及び商品が示されている。
なお、クラスタの総数に相当する商品特徴行列のランク数は、解析する前に予め決定しておくものとする。
澤田宏, "非負値行列因子分解NMFの基礎とデータ/信号解析への応用", 電子情報通信学会誌, Vol. 95, No. 9, pp. 829-833, 2012. K. Takeuchi, K. Ishiguro, A. Kimura, and H. Sawada, Non-negative Multiple Matrix Factorization, Proceedings of 23rd International Joint Conference on Artificial Intelligence (IJCAI2013), pp. 1713-1720, 2013
しかしながら、非特許文献1に記載された技術が入力として利用する購買データは、"誰が"どの商品を購入したかを表す、ユーザIDに紐付けられた購買履歴のみを扱うことを想定しており、非特許文献1では、ユーザIDに紐付けられない購買履歴を合わせた解析を行うことは想定されていない。
近年のデータ解析においては、ユーザIDに紐付くデータ及びユーザIDに紐付かないデータの双方が存在する状況が多数存在している。以下に3つの例を示す。
1つ目の例は、個人を特定できる形式でのデータの利用期間に制限が存在するという状況において管理されているデータである。これは個人情報保護等の観点から、不必要に長い期間個人を特定可能なデータが存在することを避けるための制限である。
図3は、個人を特定できる形式でのデータの利用期間に制限が存在する状況におけるデータの一例を示す図である。図3には、2014年4月1日において、2013年4月1日〜2013年9月30日までのデータに関しては、個人を特定するユーザIDが除去される例が示されている。すなわち、図3において、日付の値が当該期間に含まれるデータのユーザIDは、「xxxxxxx」によって表現されている。「xxxxxxx」は、便宜上、その値が除去されていることを示す。その結果、当該データは、ユーザIDに紐付かないデータとなっている。一方、日付が当該期間より後のデータに関しては、個人を特定するユーザIDを含めた全カラムが利用でき、ユーザIDに紐付くデータとなっている。したがって、例えば、日付の値が2013年4月1日〜2013年9月30日の期間に含まれるデータに関しては、男性別若しくは女性別、又はユーザ全体での各商品の購買数といった属性毎の統計情報のみに関して利用できることになる。
2つ目の例は、企業間でデータを匿名化させたうえでデータ共有を行うという状況において利用されるデータである。
図4は、企業間でデータを匿名化させたうえでデータ共有を行う状況におけるデータの一例を示す図である。図4には、企業Aのデータ、データフォルダ1のデータ、及びデータフォルダ2のデータが、共通データ基盤に格納されている例が示されている。ここで、データフォルダ1のデータ及びデータフォルダ2のデータは、企業Aから見て他社のデータである。
企業Aは、データフォルダ1、データフォルダ2のデータそのものを共通データ基盤から取り出すことはできないが、全社のデータを使って計算される、ユーザIDとは紐付かない統計情報(例えば、世代別の統計情報)を、共通データ基盤から抽出することはできる。したがって、企業Aの利用可能なデータは、企業Aが当初から有するユーザIDに紐付くデータと、共通データ基盤から取り出せるユーザIDには紐付かない統計情報ということになる。
3つ目の例は、インターネット上のオンライン店舗での購買データではなく、コンビニエンスストア等のいわゆるオフラインな店舗での購買データである。インターネット上のオンライン店舗での買い物では、ユーザがサイト上でログインした後に注文が行われるというシステムが一般的であるため、収集される購買データは、全てがユーザIDに紐付くことになる。一方、オフラインな店舗では、ログインといった操作は行われない。したがって、オフラインな店舗に関する購買データには、ユーザIDに紐付くデータとユーザIDに紐付かないデータとが混在しうる。
図5は、オフラインな店舗での購買データの一例を示す図である。例えば、図5のユーザ1ように、会計時にポイントカードを提示したユーザの購買データは、ユーザID(ポイントカード番号)に紐付く。一方、ユーザ2のように、ポイントカードを提示しなかったユーザに関してはユーザIDに紐付かず、レジ店員がその場で入力する性別や年代といった情報のみと紐付くことになる。
上記の3つの例のように、ユーザIDに紐付くデータとユーザIDに紐付かないデータとの双方が存在している場合であっても、非特許文献1に記載された技術では、ユーザIDに紐付かないデータを合わせた解析を行うことができないために、ユーザIDに紐付かないデータを利用せずに解析を行うことになる。
図6は、ユーザIDに紐付かないデータを除く非負値行列分解(NMF)の適用例を示す図である。図6では、ユーザIDが不明な購買データは利用せずに、ユーザIDに紐付く購買データのみを抽出して、図1に示されるようなユーザ購買行列Xが生成され、ユーザ購買行列Xに対してNMFが適用されて、ユーザ特徴行列A及び商品特徴行列Bが求められ、ユーザ特徴行列A及び商品特徴行列Bに基づいて、クラスタリング結果が得られる例が示されている。
このような、ユーザIDに紐付かないデータを除くといったアプローチは、ユーザIDに紐付くデータの割合が、データの総数に対して小さくなる場合に特に問題が有る。例えば、双方のデータを用いた場合に最も購買数の多い商品と、ユーザIDに紐付くデータのみを用いた場合に最も購買数の多い商品が異なりうるように、ユーザIDに紐付くデータのみでは、データ全体の傾向を把握するのは困難であるからである。
本発明は、上記の点に鑑みてなされたものであって、非負値行列分解において、個体ごとの識別情報に紐付くデータと紐付かないデータとの双方を利用したクラスタ抽出を可能とすることを目的とする。
そこで上記課題を解決するため、分析装置は、複数の特徴を含む第1の特徴量と紐付けが可能な複数の個体のうち、個体ごとの識別情報に紐付く第1の個体ごとに、当該第1の個体に関して生じた事象に関する情報を記憶する第1の記憶部と、前記第1の個体群と、前記複数の個体のうち前記識別情報に紐付かない第2の個体群とを、前記第1の特徴量の部分集合である第2の特徴量に基づいて分類することにより形成される第3の個体ごとに、当該第3の個体に関して生じた事象に関する情報を記憶する第2の記憶部と、前記第1の記憶部又は前記第2の記憶部が記憶する情報が示す事象であって、前記第1の個体群及び前記第3の個体群のそれぞれに生じた事象の傾向を因子分解する第1のパラメータを繰り返し更新し、該更新ごとに、前記各第3の個体と前記第1の個体群との関係関数に関する第2のパラメータを前記第1のパラメータの更新結果に基づいて更新し、該更新の回数が所定回数に達した場合、又は前記第1のパラメータ若しくは前記第2のパラメータの更新前後の変化量が所定値以下である場合に、該更新を停止して、前記第1の個体群及び前記第3の個体群のそれぞれに生じる事象の傾向を因子分解した結果を得る分解部と、を有する。
個体ごとの識別情報に紐付くデータと紐付かないデータとの双方を利用したクラスタ抽出を可能とすることができる。
購買データへの非負値行列分解(NMF)の適用例を示す図である。 非負値行列分解(NMF)を適用して得られるクラスタリング結果の一例を示す図である。 個人を特定できる形式でのデータの利用期間に制限が存在する状況におけるデータの一例を示す図である。 企業間でデータを匿名化させたうえでデータ共有を行う状況におけるデータの一例を示す図である。 オフラインな店舗での購買データの一例を示す図である。 ユーザIDに紐付かないデータを除く非負値行列分解(NMF)の適用例を示す図である。 本発明の実施の形態における各行列の生成例を示す図である。 本発明の実施の形態における行列分解手法を説明するための図である。 本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態におけるクラスタ抽出装置のハードウェア構成例を示す図である。 本発明の実施の形態におけるクラスタ抽出装置の機能構成例を示す図である。 クラスタ抽出装置が実行する処理手順の一例を説明するためのフローチャートである。 ユーザ購買情報テーブルの構成例を示す図である。 グループ購買情報テーブルの構成例を示す図である。 ユーザグループ対応情報テーブルの構成例を示す図である。 ユーザ特徴テーブルの構成例を示す図である。 商品特徴テーブルの構成例を示す図である。 グループ特徴テーブルの構成例を示す図である。 係数特徴テーブルの構成例を示す図である。 特徴行列の推定処理の処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、ユーザIDに紐付く購買履歴から生成されるI行×J列のユーザ購買行列X={xij}、ユーザIDに紐付く購買履歴とユーザIDに紐付かない購買履歴の双方を用いて生成されるK行×J列のグループ購買行列Y={ykj}、ユーザと当該ユーザが所属するグループとの対応関係を表すI行×K列のユーザグループ対応行列V={vik}という3つの行列からクラスタ抽出が行われる。なお、グループとは、例えば、図6における男性30代、男性40代のように、ユーザが有する複数の属性(特徴)の部分集合である属性(特徴)の値(特徴量)の共通性に基づいてユーザを分類することにより形成されるユーザの集合に対応する概念である。したがって、グループ購買行列Yは、成分ykjが、グループk(例えば、男性30代全体)による商品jの総購買数を表す行列である。また、ユーザグループ対応行列Vの成分vikは、ユーザiがグループkに属する場合に1であり、ユーザiがグループkに属さない場合に0である行列である。なお、vikの値は、0又は1に限られず、0又は正の整数値であればよい。したがって、vikの値に負の値は用いられない。
図7は、本発明の実施の形態における各行列の生成例を示す図である。図7では、購買データのうち、ユーザIDに紐付くデータについて、ユーザ購買行列X及びユーザグループ対応行列Vが生成され、ユーザIDに対応付くデータ及びユーザIDに対応付かないデータについて、グループ購買行列Yが生成されることが示されている。
本実施の形態では、ユーザ購買行列Xとグループ購買行列Yとの間に成立する関係性を考慮した行列分解手法が開示される。
図8は、本発明の実施の形態における行列分解手法を説明するための図である。図8では、ユーザ購買行列Xとユーザグループ対応行列Vとから計算される男性、女性といった属性別の統計値が部分統計値として扱われ、グループ購買行列Yが示す属性別の統計値が全体統計値として扱われることが示されている。本実施の形態における行列分解モデルでは、部分統計値と全体統計値とは"おおよそ"の比例関係にあるとしたモデル化が行われる。ここで述べた"おおよそ"の意味については後述する。
本実施の形態は、非特許文献2に記載された方法と同様に、ユーザ購買行列Xとグループ購買行列Yとについて、それぞれ、
Figure 0006243314
Figure 0006243314
という行列分解形を考える。CをK行R列のグループ特徴行列C={ckr}と呼び、ckrの値は、グループkのクラスタrへの寄与度を表す。本実施の形態では、行列Aと行列Cとの間に、DVA=Cが成立するという線形の制約条件を導入する。当該制約条件の導入に、本実施の形態の特長の一つが有る。すなわち、当該制約条件の導入により、前述した部分統計と全体統計とが"おおよそ"比例する、という仮定が考慮されて、A、B、C、及びDが得られる。なお、行列D={dkk'}は、対角行列、すなわち、対角成分にのみ0以外の値を有する正方行列(K行K列)である。本実施の形態では、行列Dを、「係数特徴行列」と呼ぶ。対角成分dkkの値は、グループkの部分統計とグループkの全体統計との比例定数を表す。
図9は、本発明の実施の形態の概要を説明するための図である。図9には、ユーザ購買行列Xに対するNMFの適用結果と、グループ購買行列Yに対するNMFの適用結果とが、商品特徴行列Bを共通因子として有すること、及びそれぞれの適用結果におけるユーザ特徴行列Aとグループ特徴行列Cとの間には、上述した線形関数に基づく制約条件が成立することが示されている。
ユーザ特徴行列Aが、ユーザとクラスタとの関係を表し、商品特徴行列Bが、商品とクラスタとの関係表し、グループ特徴行列Cが、グループとクラスタとの関係表し、係数特徴行列Dが、グループの部分統計と全体統計間との比例定数を表していることから、これらを利用して、例えば、図9の下方のヒストグラムを得ることができる。このヒストグラムから、各クラスタに特徴的なユーザ、商品、グループを特定したり、部分統計と全体統計との間の関係を調べたりすることができる。
ここで、類似記号で表現した類似の尺度と、前述した"おおよそ"の比例関係とが意味することについて説明する。非特許文献1にも記載されているように、行列の類似の尺度には、ユークリッド距離に基づくものや一般化カルバックライブラーダイバージェンス(KL距離)により定義される距離尺度が用いられ、値が小さいほど両者が類似していることを表す。距離尺度にいずれの距離を利用するかは、データが有する性質を考慮して決定される。例えば、非特許文献2にも記述されているように、距離尺度にKL距離を用いることは、ユーザ購買行列Xの各成分xijが、パラメータΣirjrのポアソン分布に従って得られているとした確率モデルを考えていることに相当する。したがって、ポアソン分布の性質から、xijのとる値の期待値は、Σirjrとなるが、実際のデータ中のxijの値は、平均からずれた値をとることも想定されたモデル化がされている。これを踏まえて、"おおよそ"の比例関係という言葉を厳密に定義すると、本実施の形態においては、部分統計の期待値と全体統計の期待値との間に比例関係を想定したモデリングを行っていることになる。したがって、この期待値のもとでの比例関係が保たれるように制限した上で、行列A、B、C、Dを算出することで、全体統計の値も考慮された解析が可能になる。
次に、上記したクラスタ抽出を実行するクラスタ抽出装置10の一例について説明する。図10は、本発明の実施の形態におけるクラスタ抽出装置のハードウェア構成例を示す図である。図10のクラスタ抽出装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
クラスタ抽出装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってクラスタ抽出装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図11は、本発明の実施の形態におけるクラスタ抽出装置の機能構成例を示す図である。図11において、クラスタ抽出装置10は、ユーザ購買情報処理部11、グループ購買情報処理部12、ユーザグループ対応情報処理部13、特徴行列推定部14、特徴行列出力部15、及び入出力制御部16等を有する。これら各部は、クラスタ抽出装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。クラスタ抽出装置10は、また、ユーザ購買情報テーブル51、グループ購買情報テーブル52、ユーザグループ対応情報テーブル53、ユーザ特徴テーブル54、商品特徴テーブル55、グループ特徴テーブル56、及び係数特徴テーブル57等を利用する。これら各テーブルは、補助記憶装置102、メモリ装置103、又はクラスタ抽出装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
ユーザ購買情報処理部11は、ユーザ購買行列Xを示す情報(以下、「ユーザ購買情報」という。)の入力を受け付け、当該ユーザ購買情報を、ユーザ購買情報テーブル51に記憶する。グループ購買情報処理部12は、グループ購買行列Yを示す情報(以下、「グループ購買情報」という。)の入力を受け付け、当該グループ購買情報を、グループ購買情報テーブル52に記憶する。ユーザグループ対応情報処理部13は、ユーザグループ対応行列Vを示す情報(以下、「ユーザグループ対応情報」という。)の入力を受け付け、当該ユーザグループ対応情報を、ユーザグループ対応情報テーブル53に記憶する。
特徴行列推定部14は、ユーザ購買情報テーブル51、グループ購買情報テーブル52、又はユーザグループ対応情報テーブル53が記憶する情報に基づいて、ユーザ特徴行列A、商品特徴行列B、グループ特徴行列C、及び係数特徴行列Dの推定値を算出し、それぞれの算出結果を、ユーザ特徴テーブル54、商品特徴テーブル55、グループ特徴テーブル56、及び係数特徴テーブル57に記憶する。特徴行列出力部15は、ユーザ特徴テーブル54、商品特徴テーブル55、グループ特徴テーブル56、及び係数特徴テーブル57の内容を出力する。入出力制御部16は、指示入力や情報の出力に関する処理を制御する。
以下、クラスタ抽出装置10が実行する処理手順について説明する。図12は、クラスタ抽出装置が実行する処理手順の一例を説明するためのフローチャートである。
ステップS100において、ユーザ購買情報処理部11は、ユーザID、商品ID、及び購買数を一組とするユーザ購買情報の入力を受け付ける。ユーザ購買情報処理部11は、入力されたユーザ購買情報を、ユーザ購買情報テーブル51に記憶する。
図13は、ユーザ購買情報テーブルの構成例を示す図である。図13において、ユーザ購買情報テーブル51は、ユーザIDフィールド、商品IDフィールド、及び購買数フィールドを有する。
ユーザIDフィールドには、ユーザIDが記憶される。ユーザIDは、商品を購買したユーザ(購買者)ごとの識別子である。商品IDフィールドには、商品IDが記憶される。商品IDは、ユーザが購買した商品の識別子である。購買数フィールドには、1、又はユーザIDに係るユーザによる商品IDに係る商品の購買数が記憶される。なお、購買数の値には0又は正の整数値を設定できるが、負の値を設定することはできない。
ユーザ購買情報処理部11は、入力されたユーザID、商品ID、及び購買数の組数分の行を、ユーザ購買情報テーブル51に追加し、各行の各フィールドに対して値を記憶する。ユーザ購買情報は、例えば、システム管理者等によって、入力装置107等を利用して手動で入力されてもよいし、POS(Point Of Sales system)システムから自動的に入力されてもよい。ユーザ購買情報が自動的に入力される場合、商品の購買が発生するたびに、ユーザ購買情報の入力が行われてもよい。
なお、ユーザ購買情報テーブル51の各フィールドに付与されているi、j、xijは、ユーザ購買行列Xにおける行、列、及び成分のそれぞれの識別子である。すなわち、ユーザ購買情報テーブル51は、ユーザ購買行列Xと等価である。
ステップS200において、グループ購買情報処理部12は、グループID、商品ID、及び購買数を一組とするグループ購買情報の入力を受け付ける。グループ購買情報処理部12は、入力されたグループ購買情報を、グループ購買情報テーブル52に記憶する。
図14は、グループ購買情報テーブルの構成例を示す図である。図14において、グループ購買情報テーブル52は、グループIDフィールド、商品IDフィールド、及び購買数フィールドを有する。
グループIDフィールドには、グループIDが記憶される。グループIDは、グループごとの識別子である。商品IDフィールドには、グループIDフィールドに係るグループに属するユーザ(購買者)によって購入された商品の商品IDが記憶される。購買数フィールドには、1、又はグループIDに係るグループに属するユーザによる商品IDに係る商品の購買数が記憶される。なお、購買数の値には0又は正の整数値を設定できるが、負の値を設定することはできない。
グループ購買情報処理部12は、入力されたグループID、商品ID、及び購買数の組数分の行を、グループ購買情報テーブル52に追加し、各行の各フィールドに対して値を記憶する。グループ購買情報は、例えば、システム管理者等によって、入力装置107等を利用して手動で入力されてもよいし、POS(Point Of Sales system)システムから自動的に入力されてもよい。グループ購買情報が自動的に入力される場合、商品の購買が発生するたびに、グループ購買情報の入力が行われてもよい。
なお、グループ購買情報テーブル52の各フィールドに付与されているk、j、ykjは、グループ購買行列Yにおける行、列、及び成分のそれぞれの識別子である。すなわち、グループ購買情報テーブル52は、グループ購買行列Yと等価である。
ステップS300において、ユーザグループ対応情報処理部13は、ユーザID、グループID、及び所属値を一組とするユーザグループ対応情報の入力を受け付ける。ユーザグループ対応情報処理部13は、入力されたユーザグループ対応情報を、ユーザグループ対応情報テーブル53に記憶する。
図15は、ユーザグループ対応情報テーブルの構成例を示す図である。図15において、ユーザIDフィールド、グループIDフィールド、及び所属値フィールドを有する。
ユーザIDフィールドには、ユーザIDが記憶される。グループIDフィールドには、グループIDが記憶される。所属値フィールドには、ユーザIDに係るユーザが、グループIDに係るグループに所属するか否かを示す値(所属値)が記憶される。1は、グループに所属することを示し、0は、グループに所属しないことを示す。
ユーザグループ対応情報処理部13は、入力されたユーザID、グループID、及び所属値の組数分の行を、ユーザグループ対応情報テーブル53に追加し、各行の各フィールドに対して値を記憶する。ユーザグループ対応情報は、例えば、システム管理者等によって、入力装置107等を利用して手動で入力されてもよいし、POS(Point Of Sales system)システムから自動的に入力される情報に基づいて、新たなユーザ又はグループが検出された際に、自動的に入力されてもよい。
なお、ユーザグループ対応情報テーブル53の各フィールドに付与されているi、k、vikは、ユーザグループ対応行列Vにおける行、列、及び成分のそれぞれの識別子である。すなわち、ユーザグループ対応情報テーブル53は、ユーザグループ対応行列Vと等価である。
なお、ステップS100〜S300の前後関係は、特定のものに限定されない。例えば、ステップS100〜S300は、相互に非同期に実行されてもよい。
ステップS400において、特徴行列推定部14は、ユーザ購買情報テーブル51、グループ購買情報テーブル52、及びユーザグループ対応情報テーブル53等に基づいて、ユーザ特徴行列A、商品特徴行列B、グループ特徴行列C、及び係数特徴行列Dを推定し、推定結果を、ユーザ特徴テーブル54、商品特徴テーブル55、グループ特徴テーブル56、又は係数特徴テーブル57に記憶する。
図16は、ユーザ特徴テーブルの構成例を示す図である。図16において、ユーザ特徴テーブル54は、ユーザIDフィールド、クラスタIDフィールド、及びユーザ特徴値フィールドを有する。
ユーザIDフィールドには、ユーザIDが記憶される。クラスタIDフィールドには、クラスタIDが記憶される。クラスタIDは、クラスタごとの識別子である。ユーザ特徴値フィールドには、ユーザ特徴値が記憶される。ユーザ特徴値は、当該ユーザIDに係るユーザの、当該クラスタIDに係るクラスタに対する特徴値(寄与度)である。なお、ユーザ特徴テーブル54の各フィールドに付与されているi、r、airは、ユーザ特徴行列Aにおける行、列、成分のそれぞれの識別子である。すなわち、ユーザ特徴テーブル54は、ユーザ特徴行列と等価である。
図17は、商品特徴テーブルの構成例を示す図である。図17において、商品特徴テーブル55は、商品IDフィールド、クラスタIDフィールド、及び商品特徴値フィールドを有する。
商品IDフィールドには、商品IDが記憶される。クラスタIDフィールドには、クラスタIDが記憶される。商品特徴値フィールドには、当該商品IDに係る商品の、当該クラスタIDに係るクラスタに対する特徴値(寄与度)が記憶される。なお、商品特徴テーブル55の各フィールドに付与されているj、r、bjrは、商品特徴行列Bにおける行、列、成分のそれぞれの識別子である。すなわち、商品特徴テーブル55は、商品特徴行列Bと等価である。
図18は、グループ特徴テーブルの構成例を示す図である。図18において、グループ特徴テーブル56は、グループIDフィールド、クラスタIDフィールド、及びグループ特徴値フィールドを有する。
グループIDフィールドには、グループIDが記憶される。クラスタIDフィールドには、クラスタIDが記憶される。グループ特徴値フィールドには、グループ特徴値が記憶される。グループ特徴値は、当該グループIDに係るグループ(カテゴリ)の、当該クラスタIDに係るクラスタに対する特徴値(寄与度)である。なお、グループ特徴テーブル56の各フィールドに付与されているk、r、ckrは、グループ特徴行列Cにおける行、列、成分のそれぞれの識別子である。すなわち、グループ特徴テーブル56は、グループ特徴行列Cと等価である。
図19は、係数特徴テーブルの構成例を示す図である。図19において、係数特徴テーブル57は、グループIDフィールド及び係数値フィールドを有する。
グループIDフィールドにはグループIDが記憶される。係数値フィールドにはグループIDに係るグループの係数値が記憶される。なお、係数特徴テーブル57の各フィールドに付与されているk、dkkは、係数特徴行列Dにおける行及び列(k)、対角成分(dkk)のそれぞれの識別子である。すなわち、係数特徴テーブル57は、係数特徴行列Dと等価である。
続いて、特徴行列出力部15は、ユーザ特徴テーブル54、商品特徴テーブル55、グループ特徴テーブル56、及び係数特徴テーブル57の内容を出力する(S500)。ステップS500は、上記の各ステップと同期的に実行されてもよいし、上記の各ステップとは非同期に実行されてもよい。例えば、入力装置107等を介して、システム管理者等によって出力指示が入力された際に、ステップS500が実行されてもよい。出力形態は、表示装置106への表示であってもよいし、プリンタへの出力(印刷)であってもよい。又は、ネットワークを介して、所定の装置へ転送することであってもよい。
出力対象は、ユーザ特徴テーブル54、商品特徴テーブル55、グループ特徴テーブル56、係数特徴テーブル57の全ての行であってもよいし、出力指示において指定された範囲に限定されてもよい。例えば、出力対象を示す情報として、「商品特徴」及びクラスタIDが指定された場合は、商品特徴テーブル55において当該クラスタIDを含む行の商品IDフィールドの値、商品特徴値フィールドの値が出力されてもよい。更に、商品特徴値フィールドの値の降順にN件(例えば、10件)の商品IDが特定されることで、クラスタを特徴付ける商品が分かりやすく出力されてもよい。
続いて、図12のステップS400の詳細について説明する。図20は、特徴行列の推定処理の処理手順の一例を説明するためのフローチャートである。以下の説明において、Iは、全ユーザ数、Jは、全商品数、Kは、全グループ数を表す。また、iは、ユーザを特定する識別子(ユーザID)、jは、商品を特定する識別子(商品ID)、kは、グループを特定する識別子(グループID)、rは、クラスタを特定する識別子(クラスタID)に対応する。
また、ユーザ購買情報テーブル51中に存在する全データ、グループ購買情報テーブル52中に存在する全データ、ユーザグループ対応情報テーブル53に存在する全データのそれぞれを、順番に、以下の数4、数5、数6として記す。
Figure 0006243314
Figure 0006243314
Figure 0006243314
更に、ユーザ特徴行列A、商品特徴行列B、グループ特徴行列C、係数特徴行列Dのそれぞれを、順番に、以下の数7、数8、数9、数10として記す。
Figure 0006243314
Figure 0006243314
Figure 0006243314
Figure 0006243314
ユーザ特徴行列Aが、ユーザとクラスタとの関係を表し、商品特徴行列Bが、商品とクラスタとの関係を表し、グループ特徴行列Cが、グループとクラスタとの関係を表し、係数特徴行列Dが、グループの部分統計と全体統計間との比例定数を表す。数10に示される係数特徴行列Dは、対角成分以外は0となるK行K列の行列であるためにK個の要素だけを用いて表現することができる。
ステップS410において、特徴行列推定部14は、ユーザ特徴行列A、商品特徴行列B、グループ特徴行列C、及び係数特徴行列Dのそれぞれの成分の値(ユーザ特徴値、商品特徴値、グループ特徴値、係数値)を初期化する。これらの値は、例えば、乱数を用いてランダムに生成されてもよい。但し、各値は、0以上である。特徴行列推定部14は、また、終了条件の閾値ε及び最大繰り返し回数を設定する。閾値εには、例えば、0.01が設定されてもよいし、他の値が設定されてもよい。最大繰り返し回数には、例えば、50又は100等が設定されてもよいし、他の値が設定されてもよい。
続いて、特徴行列推定部14は、終了条件に用いる変数として、特徴更新の最大変化幅を示す変数δを、0に初期化する(S420)。
続いて、特徴行列推定部14は、以下の数11に示される更新式に基づいて、ユーザ特徴行列Aを更新する(S430)。
Figure 0006243314
また、特徴行列推定部14は、ユーザ特徴行列Aの各成分について、更新前の値と更新後の値との差の絶対値を算出し、算出された絶対値の中の最大値がδより大きければ、当該最大値によってδを更新する。なお、当該最大値は、以下の数12によって示される。また、当該最大値によるδの更新は、以下の数13によって示される。
Figure 0006243314
Figure 0006243314
数13において、記号「←」は、右辺の計算結果を左辺の変数に代入する処理を意味する。
続いて、特徴行列推定部14は、以下の数14に示される更新式に基づいて、商品特徴行列Bを更新する(S440)。
Figure 0006243314
また、特徴行列推定部14は、商品特徴行列Bの各成分について、更新前の値と更新後の値との差の絶対値を算出し、算出された絶対値の中の最大値がδより大きければ、当該最大値によってδを更新する。なお、当該最大値は、以下の数15によって示される。また、当該最大値によるδの更新は、以下の数16によって示される。
Figure 0006243314
Figure 0006243314
続いて、特徴行列推定部14は、以下の数17に示される更新式に基づいて、グループ特徴行列Cを更新する(S450)。
Figure 0006243314
また、特徴行列推定部14は、グループ特徴行列Cの各成分について、更新前の値と更新後の値との差の絶対値を算出し、算出された絶対値の中の最大値がδより大きければ、当該最大値によってδを更新する。なお、当該最大値は、以下の数18によって示される。また、当該最大値によるδの更新は、以下の数19によって示される。
Figure 0006243314
Figure 0006243314
続いて、特徴行列推定部14は、以下の数20に示される更新式に基づいて、係数特徴行列Dを更新する(S460)。
Figure 0006243314
また、特徴行列推定部14は、係数特徴行列Dの各成分について、更新前の値と更新後の値との差の絶対値を算出し、算出された絶対値の中の最大値がδより大きければ、当該最大値によってδを更新する。なお、当該最大値は、以下の数21によって示される。また、当該最大値によるδの更新は、以下の数22によって示される。
Figure 0006243314
Figure 0006243314
続いて、特徴行列推定部14は、ステップS420〜S460に関する繰り返し回数に1を加算する(S470)。繰り返し回数の初期値は、0である。したがって、ステップS420〜S460が初めて実行された場合、繰り返し回数は1に更新される。
続いて、特徴行列推定部14は、繰り返し回数が最大繰り返し回数を超えるか否か、又は変数δの値が閾値ε未満であるか否かを判定する(S480)。繰り返し回数が最大繰り返し回数以下であり、かつ、変数δの値が、閾値ε以上である場合(S480でNo)、特徴行列推定部14は、ステップS420以降を繰り返す。繰り返し回数が最大繰り返し回数を超える場合、又は変数δの値が閾値ε未満である場合(S480でYes)、図20の処理は終了する。
なお、数11、数14、数17、及び数20より明らかなように、ユーザ特徴値、商品特徴値、グループ特徴値、及び係数特徴値は、相互に依存関係を有する。すなわち、いずれかの特徴値が変化すると、他の特徴値も変化する。そこで、図20では、各特徴値を繰り返し更新しながら、各特徴値の近似値が探索される。
また、数11、数14、数17、及び数20は、全てのユーザi、全ての商品j、全てのグループ(カテゴリ)kについて、
Figure 0006243314
が成立する時に、左辺と右辺とが一致し、更新の最大変化幅を示す変数δの値が閾値ε以下となるため、各特徴行列の更新が停止する。また、あるユーザiに関して、全てのj、及び全てのkについて、
Figure 0006243314
である時に、数11の更新式に基づいてユーザ特徴行列Aの更新が行われると、
右辺の分子が右辺の分母より大きくなるため、airが更新前の値よりも大きくなるように更新されることになる。すなわち、
Figure 0006243314
の値が大きくなるように、airが更新されることになる。
上述したように、本実施の形態によれば、ユーザIDに紐付くデータ及びユーザIDに紐付かないデータの双方を利用して、データ全体の傾向(部分統計と全体統計の関係性)を考慮したクラスタ抽出を行うことができる。
なお、本実施の形態では、ユーザ購買行列Xとグループ購買行列Yとからクラスタが抽出される例が示されているが、本実施の形態を適用可能な範囲は、この例に限定されない。例えば、ユーザとユーザによる訪問地の訪問数とを表現する行列と、訪問地におけるグループ毎の訪問数を表現する行列との組等、訪問地、ユーザ、及びグループ(カテゴリ)のように1つ1つにID番号(識別情報)を付与して識別可能であり、行列形式としてデータを表現することが可能な事物であり、かつ、ユーザとその所属グループのように対応関係性が存在するものならば、他の事物に関して本実施の形態が適用されてもよい。
また、識別情報に紐付くデータ又は識別情報に紐付かないデータは、出現数や購入回数のように整数である必要もなく、基本的に0以上の実数であればよい。入力となる行列が3つ以上存在する場合にも、本実施の形態は適用可能である。
なお、本実施の形態において、クラスタ抽出装置10は、分析装置の一例である。ユーザIDに紐付くユーザ(購買者)は、第1の個体の一例である。ユーザIDに紐付かないユーザ(購買者)は、第2の個体の一例である。グループは、第3の個体の一例である。ユーザ購買情報テーブル51は、第1の記憶部の一例である。グループ購買情報テーブル52は、第2の記憶部の一例である。特徴行列推定部14は、分解部の一例である。商品の購買は、事象の一例である。性別、年代等は、複数の特徴の一例である。非負値行列分解は、因子分解及び非負値分解の一例である。ユーザ特徴行列A及び商品特徴行列Bは、第1のパラメータの一例である。グループ特徴行列C及び係数特徴行列Dは、第2のパラメータの一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 クラスタ抽出装置
11 ユーザ購買情報処理部
12 グループ購買情報処理部
13 ユーザグループ対応情報処理部
14 特徴行列推定部
15 特徴行列出力部
16 入出力制御部
51 ユーザ購買情報テーブル
52 グループ購買情報テーブル
53 ユーザグループ対応情報テーブル
54 ユーザ特徴テーブル
55 商品特徴テーブル
56 グループ特徴テーブル
57 係数特徴テーブル
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
B バス

Claims (6)

  1. 複数の特徴を含む第1の特徴量と紐付けが可能な複数の個体のうち、個体ごとの識別情報に紐付く第1の個体ごとに、当該第1の個体に関して生じた事象に関する情報を記憶する第1の記憶部と、
    前記第1の個体群と、前記複数の個体のうち前記識別情報に紐付かない第2の個体群とを、前記第1の特徴量の部分集合である第2の特徴量に基づいて分類することにより形成される第3の個体ごとに、当該第3の個体に関して生じた事象に関する情報を記憶する第2の記憶部と、
    前記第1の記憶部又は前記第2の記憶部が記憶する情報が示す事象であって、前記第1の個体群及び前記第3の個体群のそれぞれに生じた事象の傾向を因子分解する第1のパラメータを繰り返し更新し、該更新ごとに、前記各第3の個体と前記第1の個体群との関係関数に関する第2のパラメータを前記第1のパラメータの更新結果に基づいて更新し、該更新の回数が所定回数に達した場合、又は前記第1のパラメータ若しくは前記第2のパラメータの更新前後の変化量が所定値以下である場合に、該更新を停止して、前記第1の個体群及び前記第3の個体群のそれぞれに生じる事象の傾向を因子分解した結果を得る分解部と、
    を有することを特徴とする分析装置。
  2. 前記関係関数は、線形関数に基づくことを特徴とする、
    請求項1記載の分析装置。
  3. 前記因子分解は、非負値分解である、
    ことを特徴とする請求項1又は2記載の分析装置。
  4. 複数の特徴を含む第1の特徴量と紐付けが可能な複数の購買者のうち、購買者ごとの識別情報に紐付く第1の購買者ごとに、当該第1の購買者による商品の購買に関する情報を記憶する第1の記憶部と、
    前記第1の購買者群と、前記複数の購買者のうち前記識別情報に紐付かない第2の購買者群とを、前記第1の特徴量の部分集合である第2の特徴量に基づいて分類することにより形成されるグループごとに、当該グループによる商品の購買に関する情報を記憶する第2の記憶部と、
    前記第1の記憶部又は前記第2の記憶部が記憶する情報が示す購買であって、前記第1の購買者群及び前記グループ群のそれぞれによる購買の傾向を因子分解する第1のパラメータを繰り返し更新し、該更新ごとに、前記各グループと前記第1の購買者群との関係関数に関する第2のパラメータを前記第1のパラメータの更新結果に基づいて更新し、該更新の回数が所定回数に達した場合、又は前記第1のパラメータ若しくは前記第2のパラメータの更新前後の変化量が所定値以下である場合に、該更新を停止して、前記第1の購買者群及び前記グループ群のそれぞれによる購買の傾向を因子分解した結果を得る分解部と、
    を有することを特徴とする分析装置。
  5. コンピュータが、
    複数の特徴を含む第1の特徴量と紐付けが可能な複数の個体のうち、個体ごとの識別情報に紐付く第1の個体ごとに、当該第1の個体に関して生じた事象に関する情報を第1の記憶部に記憶する第1の記憶手順と、
    前記第1の個体群と、前記複数の個体のうち前記識別情報に紐付かない第2の個体群とを、前記第1の特徴量の部分集合である第2の特徴量に基づいて分類することにより形成される第3の個体ごとに、当該第3の個体に関して生じた事象に関する情報を第2の記憶部に記憶する第2の記憶手順と、
    前記第1の記憶部又は前記第2の記憶部が記憶する情報が示す事象であって、前記第1の個体群及び前記第3の個体群のそれぞれに生じた事象の傾向を因子分解する第1のパラメータを繰り返し更新し、該更新ごとに、前記各第3の個体と前記第1の個体群との関係関数に関する第2のパラメータを前記第1のパラメータの更新結果に基づいて更新し、該更新の回数が所定回数に達した場合、又は前記第1のパラメータ若しくは前記第2のパラメータの更新前後の変化量が所定値以下である場合に、該更新を停止して、前記第1の個体群及び前記第3の個体群のそれぞれに生じる事象の傾向を因子分解した結果を得る分解手順と、
    を実行することを特徴とする分析方法。
  6. コンピュータを、請求項1乃至4いずれか一項記載の各部として機能させるための分析プログラム。
JP2014213540A 2014-10-20 2014-10-20 分析装置、分析方法、及び分析プログラム Active JP6243314B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014213540A JP6243314B2 (ja) 2014-10-20 2014-10-20 分析装置、分析方法、及び分析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014213540A JP6243314B2 (ja) 2014-10-20 2014-10-20 分析装置、分析方法、及び分析プログラム

Publications (2)

Publication Number Publication Date
JP2016081371A JP2016081371A (ja) 2016-05-16
JP6243314B2 true JP6243314B2 (ja) 2017-12-06

Family

ID=55958788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014213540A Active JP6243314B2 (ja) 2014-10-20 2014-10-20 分析装置、分析方法、及び分析プログラム

Country Status (1)

Country Link
JP (1) JP6243314B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3591532B1 (en) 2017-04-03 2022-09-07 Nippon Telegraph And Telephone Corporation Analysis device, analysis method, and analysis program
JP2024040549A (ja) * 2022-09-13 2024-03-26 株式会社東芝 情報処理装置、情報処理方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001023047A (ja) * 1999-07-12 2001-01-26 Daikoku:Kk 統合型顧客管理システム
JP5226544B2 (ja) * 2009-01-16 2013-07-03 株式会社エヌ・ティ・ティ・データ クーポン情報提供システム、クーポン情報提供方法およびクーポン情報提供装置
US20120030020A1 (en) * 2010-08-02 2012-02-02 International Business Machines Corporation Collaborative filtering on spare datasets with matrix factorizations

Also Published As

Publication number Publication date
JP2016081371A (ja) 2016-05-16

Similar Documents

Publication Publication Date Title
CN110503531B (zh) 时序感知的动态社交场景推荐方法
JP6414363B2 (ja) 予測システム、方法およびプログラム
CN108805598B (zh) 相似度信息确定方法、服务器及计算机可读存储介质
US20120109959A1 (en) Method and system for-clustering data arising from a database
JP6837411B2 (ja) 販売促進装置、販売促進方法及び販売促進プログラム
CN106874503B (zh) 获取推荐数据的方法和装置
US20190012573A1 (en) Co-clustering system, method and program
CN106886934B (zh) 用于确定商家品类的方法、系统和装置
JP6308339B1 (ja) クラスタリングシステム、方法およびプログラム、並びに、レコメンドシステム
Ranggadara et al. Applying customer loyalty classification with RFM and Naïve Bayes for better decision making
JP2019145043A (ja) データ管理装置およびデータ管理システム
JP2016031639A (ja) クラスタ抽出装置、クラスタ抽出方法、及びクラスタ抽出プログラム
Al-Ghamdi et al. Evaluation of collaborative filtering for recommender systems
JP6243314B2 (ja) 分析装置、分析方法、及び分析プログラム
KR20190109631A (ko) 기계학습 알고리즘을 적용한 RFM(Recency, Frequency, Monetary) 분석 방법 및 시스템
JP5945206B2 (ja) 商品推薦装置及び方法及びプログラム
JP6175037B2 (ja) クラスタ抽出装置及び方法及びプログラム
JP6278918B2 (ja) データ解析装置、方法、及びプログラム
CN115409630B (zh) 一种基于混合推荐算法的保险产品精准推荐方法
JP6300572B2 (ja) データ分析プログラム、及びデータ分析装置
US9336249B2 (en) Decision tree with just-in-time nodal computations
JP6383688B2 (ja) データ解析装置、方法、及びプログラム
CN110751180B (zh) 一种基于谱聚类的虚假评论群组划分方法
JP6166688B2 (ja) データ解析方法、装置、及びプログラム
JP6917972B2 (ja) 生成装置、生成方法、及び生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171023

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: 20171107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171109

R150 Certificate of patent or registration of utility model

Ref document number: 6243314

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150