JP2013200612A - クラスタリング処理装置およびクラスタリング処理方法 - Google Patents
クラスタリング処理装置およびクラスタリング処理方法 Download PDFInfo
- Publication number
- JP2013200612A JP2013200612A JP2012067291A JP2012067291A JP2013200612A JP 2013200612 A JP2013200612 A JP 2013200612A JP 2012067291 A JP2012067291 A JP 2012067291A JP 2012067291 A JP2012067291 A JP 2012067291A JP 2013200612 A JP2013200612 A JP 2013200612A
- Authority
- JP
- Japan
- Prior art keywords
- user
- clustering
- clustering processing
- new user
- representative
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】レコメンド情報生成のためのクラスタリング処理の負荷を軽減することにより、新規ユーザへのレコメンド情報の迅速な提供に資する。
【解決手段】クラスタリング処理装置1は、全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と各クラスタの代表ユーザに関するコンテンツ履歴特性を求める処理とを含む全クラスタリング処理を実行する全クラスタリング処理部10と、新規加入した新規ユーザ情報を保持する新規ユーザ情報保持部20と、新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する差分クラスタリング処理部30と、を備える。
【選択図】図2
【解決手段】クラスタリング処理装置1は、全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と各クラスタの代表ユーザに関するコンテンツ履歴特性を求める処理とを含む全クラスタリング処理を実行する全クラスタリング処理部10と、新規加入した新規ユーザ情報を保持する新規ユーザ情報保持部20と、新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する差分クラスタリング処理部30と、を備える。
【選択図】図2
Description
本発明は、レコメンド情報生成のためのクラスタリング処理を行うクラスタリング処理装置およびクラスタリング処理方法に関する。
従来より、ユーザの携帯端末におけるコンテンツ履歴に応じて、そのユーザの嗜好に適したコンテンツ情報を提供するシステムが提案されている(下記の特許文献1参照)。
このようなシステムでは、各ユーザを、コンテンツ履歴(即ちユーザの嗜好)の傾向ごとに設けられたユーザグループ(以下、本件では「クラスタ」と称する)に割り当てて、クラスタごとにコンテンツ履歴(ユーザの嗜好)に適したレコメンド情報を提供するのが一般的である。
一方、流行やユーザの嗜好は日々変化していくため、クラスタへのユーザの割当てが固定的であれば好ましくはなく、所定の周期で、当該時点のコンテンツ履歴に基づいてユーザをクラスタへ割り当て直す処理(以下「クラスタリング処理」という)を実行することが望ましい。実際には全ユーザを対象としたクラスタリング処理(以下「全クラスタリング処理」という)が所定の周期で実行される。
しかしながら、全クラスタリング処理は、非常に負荷が大きく、多くの処理時間を要するため、実際には頻繁に実行することは困難である。そのため、新規ユーザは、加入後、次に全クラスタリング処理が実行されるまでの長い期間、どのクラスタにも割り当てられていない事態が生じてしまい、当該新規ユーザに対しレコメンド情報を提供するタイミングが遅れてしまう。
本発明は、かかる課題を解決するために成されたものであり、レコメンド情報生成のためのクラスタリング処理の負荷を軽減することにより、新規ユーザへのレコメンド情報の迅速な提供に資することを目的とする。
本発明に係るクラスタリング処理装置は、全ユーザのユーザ特徴ベクトルに基づいて全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と、各クラスタを代表する代表ユーザに関するコンテンツ履歴特性を求める処理と、を含む全クラスタリング処理を実行する全クラスタリング処理部と、全クラスタリング処理後に新規加入した新規ユーザ情報を保持する新規ユーザ情報保持部と、新規ユーザ情報に基づいて新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する差分クラスタリング処理部と、を備えることを特徴とする。
上記のクラスタリング処理装置では、全クラスタリング処理部が、全ユーザのユーザ特徴ベクトルに基づいて全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と、各クラスタを代表する代表ユーザに関するコンテンツ履歴特性を求める処理と、を含む全クラスタリング処理を実行する。全クラスタリング処理後にユーザが新規加入すると、新規ユーザ情報保持部が、当該ユーザ(全クラスタリング処理後に新規加入した新規ユーザ)の新規ユーザ情報を保持する。そして、差分クラスタリング処理部は、新規ユーザ情報に基づいて新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する。
このように差分クラスタリング処理は、新規ユーザのみを対象とするため、全ユーザを対象とする全クラスタリング処理に対し、処理負荷が小さく処理時間も短い。また、差分クラスタリング処理の実行周期は、全クラスタリング処理の実行周期よりも短く設定されている。そのため、処理負荷の増大および処理時間の長期化を回避しつつ、差分クラスタリング処理を高い頻度で実行することにより新規ユーザへのレコメンド情報の迅速な提供に資することができる。
上記クラスタリング処理装置は、差分クラスタリング処理部が、次の全クラスタリング処理が実行されるまでの間、新規ユーザについて差分クラスタリング処理を繰り返し実行するよう構成してもよい。このように、次の全クラスタリング処理が実行されるまでの間、新規ユーザについて差分クラスタリング処理を繰り返し実行することで、時々刻々と蓄積していく新規ユーザの履歴と整合した適切なレコメンド情報を新規ユーザに提供することができる。即ち、ある新規ユーザに対する差分クラスラスタリング処理1回目では、当該新規ユーザは加入直後であると想定され、当該新規ユーザの履歴がまだ無いため、例えば当該新規ユーザは「履歴なしユーザ用クラスタ」に割り当てられる。もし、この時点で当該新規ユーザを差分クラスタリング処理の対象から外してしまうと、その後、当該新規ユーザがコンテンツ参照等をして当該新規ユーザの履歴が蓄積されても、当該新規ユーザに提供されるレコメンド情報が、次の全クラスタリング処理実行時まで変わらず、時々刻々と蓄積していく当該新規ユーザの履歴とは整合しないおそれがある。そこで、差分クラスタリング処理部が、次の全クラスタリング処理が実行されるまでの間、新規ユーザについて差分クラスタリング処理を繰り返し実行することにより、時々刻々と蓄積していく新規ユーザの履歴と整合した適切なレコメンド情報を新規ユーザに提供することができる。
また、上記クラスタリング処理装置は、全クラスタリング処理部が、各クラスタの代表ユーザのユーザ特徴ベクトルとメタデータDBとに基づいて、ばらつきが大きくなるように、代表ユーザに関するコンテンツ履歴特性を求めるよう構成してもよい。より具体的には、全クラスタリング処理部は、各クラスタの代表ユーザを決定し、各クラスタの代表ユーザのユーザ特徴ベクトルにおける各次元の値を比較し、所定の基準に基づきばらつきが大きい上位の次元を選択し、当該上位の次元と対応する特徴語をワードリストとしてリスト化し、ワードリスト内に規定された特徴語をキーとしてメタデータDBを検索し、検索で得られたヒット率の高い上位のコンテンツについての履歴有無を2進数ビット列(0,1ビット列)で算出することによって、代表ユーザに関するコンテンツ履歴特性を求めてもよい。これにより、代表ユーザのユーザ特徴ベクトルにおける所定の基準に基づきばらつきが大きい上位の次元に基づいて、各代表ユーザに関するコンテンツ履歴特性(上記の2進数ビット列)をばらつきが大きくなるように設定することができる。そのため、新規ユーザを対象とする差分クラスタリング処理において、コンテンツの傾向の偏りをより少なくした上で、新規ユーザを適正なクラスタへ割り当てることができる。
上述したクラスタリング処理装置に係る発明は、クラスタリング処理方法に係る発明としても捉えることができ、以下のように記述することができる。以下のクラスタリング処理方法に係る発明は、同様の作用・効果を奏する。
即ち、本発明に係るクラスタリング処理方法は、クラスタリング処理装置により実行されるクラスタリング処理方法であって、全ユーザのユーザ特徴ベクトルに基づいて全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と、各クラスタを代表する代表ユーザに関するコンテンツ履歴特性を求める処理と、を含む全クラスタリング処理を実行する全クラスタリング処理実行ステップと、全クラスタリング処理後に新規加入した新規ユーザ情報を保持する新規ユーザ情報保持ステップと、新規ユーザ情報に基づいて新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する差分クラスタリング処理実行ステップと、を備えることを特徴とする。
また、上記のクラスタリング処理方法では、全クラスタリング処理実行ステップにて、クラスタリング処理装置が、各クラスタの代表ユーザのユーザ特徴ベクトルとメタデータDBとに基づいて、ばらつきが大きくなるように、代表ユーザに関するコンテンツ履歴特性を求めてもよい。
本発明によれば、クラスタリング処理の負荷を軽減することにより、新規ユーザへのレコメンド情報の迅速な提供に資することができる。
添付図面を参照しながら本発明の各種実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
[第1実施形態]
第1実施形態では、全クラスタリング処理とは別に、新規ユーザを対象とする差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する実施形態を説明する。
第1実施形態では、全クラスタリング処理とは別に、新規ユーザを対象とする差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する実施形態を説明する。
図1には、本実施形態に係るクラスタリング処理装置1を内蔵したレコメンド情報生成装置100を含むシステム全体の構成図を示す。この図1に示すように、レコメンド情報生成装置100は、ネットワークを介して携帯端末2A、2B、2C(以下「携帯端末2」と総称する)と無線通信可能であり、所定のタイミングで(例えば、携帯端末2からレコメンド要求があったとき、あるエリア内に携帯端末2が位置したとき、予め定められた時刻になったとき等)、携帯端末2向けのレコメンド情報を生成し配信する構成とされている。なお、図1には、レコメンド情報生成装置100が無線ネットワーク網を介して携帯端末2と接続される構成を例示したが、レコメンド情報生成装置100が接続されるクライアント装置は、携帯端末に限定されるものではなく、据え置き型のコンピュータなどのさまざまな情報通信装置を適用可能であり、ネットワークは、無線ネットワーク網に限定されるものではなく、有線ネットワーク網であってもよい。
図2には、レコメンド情報生成装置100に内蔵された、本発明に関連するクラスタリング処理装置1の機能ブロック構成を示す。この図2に示すように、クラスタリング処理装置1は、全クラスタリング処理部10と、新規ユーザ情報保持部20と、差分クラスタリング処理部30とを備える。なお、図2および後述する第2実施形態に係る図5では、本発明の理解を容易にするため、レコメンド情報生成装置100の機能ブロック構成のうち、内蔵されたクラスタリング処理装置1に係る機能ブロック構成のみを示したが、レコメンド情報生成装置100は、クラスタリング処理装置1以外のレコメンド情報生成処理に係る図示しない機能ブロックを備えることは言うまでもない。
全クラスタリング処理部10は、全ユーザのユーザ特徴ベクトルに基づいて全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と、各クラスタを代表する代表ユーザに関するコンテンツ履歴特性を求める処理と、を含む全クラスタリング処理を実行する部分である。なお、上記のうち、全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理は、例えば、クラスタリングを行うための既存のアルゴリズムK−means法に基づく処理を採用してもよい。
新規ユーザ情報保持部20は、全クラスタリング処理後に新規加入した新規ユーザ情報を保持する部分である。新規ユーザ情報保持部20は、例えば新規ユーザを含む全てのユーザの情報をユーザテーブルにより管理し、新規ユーザ(差分クラスタリング処理の対象)のみに、新規ユーザを示すフラグを付けて管理する。ただし、この管理方法に限定されるものではなく、例えば、新規ユーザ情報保持部20により、新規ユーザのみの情報を格納した新規ユーザテーブルと新規ユーザ以外のユーザの情報を格納したユーザテーブルとを別々に管理してもよい。また別の態様として、新規ユーザ情報保持部20により、新規ユーザのみの情報を格納した新規ユーザテーブルを管理し、図示しないユーザ管理部により、新規ユーザ以外のユーザの情報を格納したユーザテーブルを管理してもよい。
差分クラスタリング処理部30は、新規ユーザ情報に基づいて新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する部分である。本実施形態では、差分クラスタリング処理部30が、次の全クラスタリング処理が実行されるまでの間、新規ユーザについて差分クラスタリング処理を繰り返し実行する例を示す。ただし、このように新規ユーザについて差分クラスタリング処理を繰り返し実行することは必須要件ではない。
図12には、クラスタリング処理装置1のハードウェア構成例を示す。クラスタリング処理装置1は、物理的には、CPU1A、主記憶装置であるRAM1B及びROM1C、入力デバイスであるキーボード及びマウス等の入力装置1D、ディスプレイ等の出力装置1E、ネットワークカード等のデータ送受信デバイスである通信モジュール1F、ハードディスク等の補助記憶装置1Gなどを含むコンピュータシステムとして構成されている。図2において説明した各機能は、図12に示すCPU1A、RAM1B等のハードウェア上に所定のコンピュータソフトウェアを読み込ませて実行することにより、CPU1Aの制御のもとで入力装置1D、出力装置1E、通信モジュール1Fを動作させ、RAM1Bや補助記憶装置1Gにおけるデータの読み出し及び書き込みを行うことで実現される。
以下、図3、図4、図11を用いて、クラスタリング処理装置1にて実行されるクラスタリング処理方法に係る処理について説明する。
図3に示すように、全クラスタリング処理の実行タイミングになると(ステップS1で肯定)、全クラスタリング処理部10は、レコメンド情報提供に係るシステムが把握している全ユーザを対象とするクラスタリング処理を実行する(ステップS2)。この処理は、例えば、クラスタリングを行うための既存のアルゴリズムK−means法に基づく処理を採用してもよい。また、このとき全クラスタリング処理部10は、当該時点の新規ユーザ情報をリセットする(ステップS2)。この新規ユーザ情報のリセットにより、後述する差分クラスタリング処理は、上記の全ユーザを対象とするクラスタリング処理の実行後に新規加入した新規ユーザのみを対象として実行されることとなる。
次に、全クラスタリング処理部10は、各クラスタの代表ユーザを決定し、後述する差分クラスタリング処理で用いられる各代表ユーザに関するコンテンツ履歴特性を算出する(ステップS3)。代表ユーザの決定については、例えば、各クラスタ内で最も履歴の多いユーザを代表ユーザとして決定してもよい。また、第1、第2実施形態では、「コンテンツ履歴特性」としては、一例として、各コンテンツについての、当該コンテンツを参照したことを示すビット「1」又は当該コンテンツを参照しなかったことを示すビット「0」から成る0,1ビット列(以下単に「ビット列」ともいう)が採用される。
その後、新規ユーザが加入すると(ステップS4で肯定)、新規ユーザ情報保持部20は、当該新規加入した新規ユーザ情報を保持する(ステップS5)。
そして、差分クラスタリング処理の実行タイミングになると(ステップS6で肯定)、差分クラスタリング処理部30は、当該時点で新規ユーザ情報保持部20により保持されている新規ユーザ情報に基づき、新規ユーザに関するコンテンツ履歴特性を算出する(ステップS7)。そして、差分クラスタリング処理部30は、例えば以下の式を用いて、新規ユーザのビット列と各代表ユーザのビット列との距離Dを算出し、距離が最小である代表ユーザのクラスタへ新規ユーザを割り当てる(ステップS8)。
例えば、各代表ユーザのビット列が図11(a)に示すビット列で、新規ユーザのビット列が図11(b)に示すビット列である場合は、距離Dが図11(c)に示すように算出される。ここで、差分クラスタリング処理部30は、新規ユーザIDが「101」の新規ユーザ(新規ユーザ101)については、代表ユーザ001との距離Dが「0」で最小なので、この新規ユーザ101を代表ユーザ001のクラスタへ割り当て、新規ユーザIDが「102」の新規ユーザ(新規ユーザ102)については、代表ユーザ004との距離Dが「1」で最小なので、この新規ユーザ102を代表ユーザ004のクラスタへ割り当てる。
以後、図3の処理では、全クラスタリング処理の実行タイミングになると、ステップS2、S3が実行され、新規ユーザが加入すると、ステップS5が実行され、差分クラスタリング処理の実行タイミングになると、ステップS7、S8が実行される。このような処理が繰り返される。
図4に示すように、差分クラスタリング処理の実行周期は、全クラスタリング処理の実行周期よりも短く設定されている。例えば図4の例では、差分クラスタリング処理の実行周期が全クラスタリング処理の実行周期の「約1/8」に設定され、全クラスタリング処理の実行タイミングでは差分クラスタリング処理の重複実行を回避する(即ち差分クラスタリング処理を実行しない)よう設定されている。また、差分クラスタリング処理は、新規ユーザのみを対象とするため、全ユーザを対象とする全クラスタリング処理に対し、処理負荷が小さく処理時間も短い。そのため、第1実施形態によれば、処理負荷の増大および処理時間の長期化を回避しつつ、差分クラスタリング処理を高い頻度で実行することにより新規ユーザへのレコメンド情報の迅速な提供に資することができる。
また、差分クラスタリング処理部30は、次の全クラスタリング処理が実行されるまでの間、新規ユーザについて差分クラスタリング処理を繰り返し実行する。例えば図4において矢印Aの時点で加入した新規ユーザについては、差分クラスタリング処理が計6回繰り返し実行され、矢印Bの時点で加入した新規ユーザについては、差分クラスタリング処理が計3回繰り返し実行される。ある新規ユーザに対する差分クラスラスタリング処理1回目では、当該新規ユーザはサービス加入直後であると想定され、当該新規ユーザの履歴がまだ無いため、当該新規ユーザは「履歴なしユーザ用クラスタ」に割り当てられる。この時点で当該新規ユーザを差分クラスタリング処理の対象から外してしまうと、その後、当該新規ユーザがコンテンツ参照等をして当該新規ユーザの履歴が蓄積されても、当該新規ユーザに提供されるレコメンド情報が、次の全クラスタリング処理実行時まで変わらず、時々刻々と蓄積していく当該新規ユーザの履歴とは整合しないおそれがある。そこで、差分クラスタリング処理部30は、次の全クラスタリング処理が実行されるまでの間、新規ユーザについて差分クラスタリング処理を繰り返し実行することで、時々刻々と蓄積していく新規ユーザの履歴と整合した適切なレコメンド情報を新規ユーザに提供することができる。
[第2実施形態]
第2実施形態では、第1実施形態の処理において更に、差分クラスタリング処理で用いられる代表ユーザに関するコンテンツ履歴特性(0,1ビット列)を、ばらつきが大きくなるように作成する実施形態を説明する。なお、図1のシステム構成は、第1実施形態と同様であるので、重複した説明を省略する。
第2実施形態では、第1実施形態の処理において更に、差分クラスタリング処理で用いられる代表ユーザに関するコンテンツ履歴特性(0,1ビット列)を、ばらつきが大きくなるように作成する実施形態を説明する。なお、図1のシステム構成は、第1実施形態と同様であるので、重複した説明を省略する。
図5には、第2実施形態におけるクラスタリング処理装置1の機能ブロック構成を示す。この図5に示すように、クラスタリング処理装置1は、全クラスタリング処理部10と、ユーザ管理部20Aと、差分クラスタリング処理部30とを備える。クラスタリング処理装置1のハードウェア構成例は、第1実施形態で述べた図12の構成と同様であるので、重複した説明を省略する。
全クラスタリング処理部10は、全ユーザを対象とするクラスタリング処理を実行するための部分であり、クラスタリング処理部11、代表ユーザ決定部12、ユーザ特徴ベクトルばらつき算出部13、特徴辞書管理部14、ワードリスト管理部15、メタデータ管理部16、クラスタリング用コンテンツリスト管理部17、および代表ユーザビット列算出部18を備える。このうち、クラスタリング処理部11は全クラスタリング処理を実行する部分であり、代表ユーザ決定部12は各クラスタの代表ユーザを決定する部分である。この代表ユーザ決定部12は例えば、各クラスタ内で最も履歴の多いユーザを代表ユーザとして決定してもよい。
ユーザ特徴ベクトルばらつき算出部13は、各クラスタの代表ユーザのユーザ特徴ベクトルにおける各次元の値を比較し、所定の基準に基づきばらつきが大きい上位の次元(例えば、上位のM次元や、分散値がある閾値以上の次元など)を選択する部分である。なお、本実施形態では、ばらつきが大きい上位のM次元を選択する例を説明する。特徴辞書管理部14は、特徴辞書を保持し管理する部分であり、ワードリスト管理部15は、特徴辞書に予め規定された特徴語のうち上記選択された上位の次元と対応する特徴語をワードリストとしてリスト化する部分である。
メタデータ管理部16は、メタデータDBを保持し管理する部分であり、クラスタリング用コンテンツリスト管理部17は、ワードリスト内に規定された特徴語をキーとしてメタデータDBを検索し、ヒット率の高い順にコンテンツを並べクラスタリング用コンテンツリストを作成し管理する部分である。ここで、「ヒット率」とは、特徴語をキーとしてメタデータDBを検索した際に、コンテンツがヒットした特徴語の、キーとして使用した全特徴語に対する割合を意味する。そして、代表ユーザビット列算出部18は、各代表ユーザについて、クラスタリング用コンテンツリスト内に記載された上位のコンテンツについて履歴有無を0,1ビット列で算出し保持する部分である。ここでの「上位のコンテンツ」とは、(1)上位n個(nは予め定められた値)のコンテンツでもよいし、(2)クラスタリング用コンテンツリストに規定されたコンテンツの上から順に、履歴有無を示す0,1ビットを立てて行き、どの代表ユーザの0,1ビット列も他の代表ユーザと重複しなくなるために必要な数だけの上位のコンテンツでもよい。なお、本実施形態では、「上位のコンテンツ」を、上記の(1)上位n個(nは予め定められた値)のコンテンツとする例について説明する。
ユーザ管理部20Aは、新規ユーザを含む全てのユーザの情報をユーザテーブル21により管理する部分である。ユーザ管理部20Aは、例えばユーザテーブル21において新規ユーザ(差分クラスタリング処理の対象)のみに、新規ユーザを示すフラグを付けて管理する。ただし、この管理方法に限定されるものではなく、ユーザ管理部20Aは、例えば、新規ユーザのみの情報を格納した新規ユーザテーブルと新規ユーザ以外のユーザの情報を格納したユーザテーブルとを別々に管理してもよい。
差分クラスタリング処理部30は、新規ユーザを対象とするクラスタリング処理を実行するための部分であり、新規ユーザビット列算出部31とクラスタリング処理部32とを備える。新規ユーザビット列算出部31は、差分クラスタリング処理に用いられる「新規ユーザのビット列」を算出する部分である。クラスタリング処理部32は、後述する差分クラスタリング処理(新規ユーザのみを対象とするクラスタリング処理)を実行する部分である。
以下、図6〜図11を用いて、クラスタリング処理装置1にて実行されるクラスタリング処理方法に係る処理について説明する。
図6に示すように、第2実施形態における処理の全体の流れは、第1実施形態における処理(図3)とほぼ同じであり、全クラスタリング処理の実行タイミングになると、ステップS2、S3Aが実行され、新規ユーザが加入すると、ステップS5が実行され、差分クラスタリング処理の実行タイミングになると、ステップS7、S8が実行され、このような処理が繰り返される。
ただし、全クラスタリング処理部10により実行されるステップS3Aの処理が第1実施形態の処理とは異なるため、このステップS3Aの処理を図7に基づき詳細に説明し、他のステップの説明は省略する。
全クラスタリング処理の実行タイミングになると(図6のステップS1で肯定)、クラスタリング処理部11は、レコメンド情報提供に係るシステムが把握している全ユーザを対象とするクラスタリング処理を実行するとともに、当該時点の新規ユーザ情報をリセットする(ステップS2)。ここでの新規ユーザ情報のリセットにより、後述する差分クラスタリング処理は、上記の全ユーザを対象とするクラスタリング処理の実行後に新規加入した新規ユーザのみを対象として実行されることとなる。
そして、全クラスタリング処理部10は、以下のようなステップS3Aの処理(即ち、差分クラスタリング処理で用いられる各代表ユーザに関するコンテンツ履歴特性を算出するための処理)を実行する。
図7に示すように、まず、代表ユーザ決定部12が各クラスタの代表ユーザを決定する(ステップS11)。代表ユーザの決定については、例えば、各クラスタ内で最も履歴の多いユーザを代表ユーザとして決定してもよい。
次に、ユーザ特徴ベクトルばらつき算出部13が、各クラスタの代表ユーザのユーザ特徴ベクトルにおける各次元の値を比較し、所定の基準に基づきばらつきが大きい上位の次元(ここでは一例として、ばらつきが大きい上位M次元)を選択する(ステップS12)。例えば、図8には、各クラスタの代表ユーザ(代表ユーザID=001,002,003,004)のユーザ特徴ベクトル(ここでは16次元)の一例を示す。ここで、ユーザ特徴ベクトルばらつき算出部13が、各次元について、代表ユーザ(代表ユーザID=001,002,003,004)のユーザ特徴ベクトルの分散を算出し、代表ユーザのユーザ特徴ベクトルにおけるばらつきとする。そして、ばらつき(分散)が大きい上位M次元(ここでは上位5次元)、即ち次元12、16、10、4、1を選択する。
次に、ワードリスト管理部15が、特徴辞書管理部14により管理された特徴辞書に予め規定された特徴語のうち、上記選択されたM次元(次元12、16、10、4、1)と対応する特徴語をワードリストとしてリスト化する(ステップS13)。例えば、図9には、特徴辞書に予め規定された16次元の特徴語の一例を示す。ここで、ワードリスト管理部15が、16次元の特徴語のうち、上記選択された次元12、16、10、4、1とそれぞれ対応する特徴語「映画」、「ドラマ」、「グルメ」、「J-POP」および「サッカー」をワードリストとしてリスト化する。
次に、クラスタリング用コンテンツリスト管理部17が、ワードリスト内に規定された特徴語をキーとしてメタデータDBを検索し、ヒット率の高い順にコンテンツを並べ、クラスタリング用コンテンツリストを作成する(ステップS14)。例えば図10に示すように、クラスタリング用コンテンツリスト管理部17が、ワードリスト内に規定された特徴語「映画」、「ドラマ」、「グルメ」、「J-POP」および「サッカー」のそれぞれをキーとしてメタデータDBを検索し、メタデータDBで管理している全コンテンツN個をヒット率の高い順に並べる。例えば、コンテンツ#1が、特徴語「映画」、「ドラマ」をキーとしてメタデータDBを検索した際にコンテンツ#1がヒットし、特徴語「グルメ」、「J-POP」、「サッカー」をキーとしてメタデータDBを検索した際にコンテンツ#1がヒットしなかった場合は、ヒット率は2/5=0.4となる。こうして得られたリスト(コンテンツ#1、コンテンツ#2、…、コンテンツ#N)を、クラスタリング用コンテンツリストとする。
次に、代表ユーザビット列算出部18が、各代表ユーザについて、クラスタリング用コンテンツリスト内に記載された上位のコンテンツ(ここでは一例として、上位n個(nは予め定められた値)のコンテンツ)について履歴有無を0,1ビット列で算出し保持する(ステップS15)。例えば図11(a)には、n=4の場合に算出された代表ユーザ(代表ユーザID=001,002,003,004)についての、コンテンツ履歴有無を示す0,1ビット列の一例を示す。ステップS15で得られた各代表ユーザについての0,1ビット列は、次に全クラスタリング処理が実行されるまでの間、差分クラスタリング処理において用いられる。
このようにして、代表ユーザのユーザ特徴ベクトルにおけるばらつき(分散)が大きい上位M次元(ここでは上位5次元)に基づいて、各代表ユーザに関するコンテンツ履歴特性(0,1ビット列)をばらつきが大きくなるように設定することができる。
その後、差分クラスタリング処理の実行タイミングになると(図6のステップS6で肯定)、差分クラスタリング処理部30は、当該時点で新規ユーザ情報保持部20により保持されている新規ユーザ情報に基づき、新規ユーザに関するコンテンツ履歴特性を算出する(ステップS7)。そして、差分クラスタリング処理部30は、例えば以下の式を用いて、新規ユーザのビット列と各代表ユーザのビット列との距離Dを算出し、距離が最小である代表ユーザのクラスタへ新規ユーザを割り当てる(ステップS8)。
上記の式は、第1実施形態の式と比較すると、新規ユーザのビット列と各代表ユーザのビット列の各次元における距離(bx,i−by,i)2をビット列の各次元のインデックスiで割っている点に違いがある。これは、上述のクラスタリング用コンテンツリスト管理部17の処理において、全コンテンツN個をヒット率の高い順に並べており、インデックスiが小さいコンテンツほどヒット率が高いコンテンツ(即ち、ユーザにとって重要なコンテンツ)となっているため、インデックスiの値が小さいほど重みを大きくする重みづけを行うことを意味している。
上記の式は、第1実施形態の式と比較すると、新規ユーザのビット列と各代表ユーザのビット列の各次元における距離(bx,i−by,i)2をビット列の各次元のインデックスiで割っている点に違いがある。これは、上述のクラスタリング用コンテンツリスト管理部17の処理において、全コンテンツN個をヒット率の高い順に並べており、インデックスiが小さいコンテンツほどヒット率が高いコンテンツ(即ち、ユーザにとって重要なコンテンツ)となっているため、インデックスiの値が小さいほど重みを大きくする重みづけを行うことを意味している。
例えば、各代表ユーザのビット列が前述したステップS15で得られた図11(a)のビット列で、新規ユーザのビット列が図11(b)のビット列である場合は、距離Dが図13に示すように算出される。ここで、差分クラスタリング処理部30は、新規ユーザIDが「101」の新規ユーザ(新規ユーザ101)については、代表ユーザ001との距離Dが「0」で最小なので、この新規ユーザ101を代表ユーザ001のクラスタへ割り当て、新規ユーザIDが「102」の新規ユーザ(新規ユーザ102)については、代表ユーザ003との距離Dが「0.83」で最小なので、この新規ユーザ102を代表ユーザ003のクラスタへ割り当てる。
以上説明した第2実施形態によれば、代表ユーザのユーザ特徴ベクトルにおける所定の基準に基づきばらつきが大きい上位の次元に基づいて、各代表ユーザに関するコンテンツ履歴特性(0,1ビット列)をばらつきが大きくなるように設定することができ、これにより、新規ユーザを対象とする差分クラスタリング処理において、コンテンツの傾向の偏りをより少なくしたうえで、新規ユーザを適正なクラスタへ割り当てることができる。
1…クラスタリング処理装置、1A…CPU、1B…RAM、1C…ROM、1D…入力装置、1E…出力装置、1F…通信モジュール、1G…補助記憶装置、2…携帯端末、10…全クラスタリング処理部、11…クラスタリング処理部、12…代表ユーザ決定部、13…ユーザ特徴ベクトルばらつき算出部、14…特徴辞書管理部、15…ワードリスト管理部、16…メタデータ管理部、17…クラスタリング用コンテンツリスト管理部、18…代表ユーザビット列算出部、20…新規ユーザ情報保持部、20A…ユーザ管理部、21…ユーザテーブル、30…差分クラスタリング処理部、31…新規ユーザビット列算出部、32…クラスタリング処理部、100…レコメンド情報生成装置。
Claims (6)
- 全ユーザのユーザ特徴ベクトルに基づいて全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と、各クラスタを代表する代表ユーザに関するコンテンツ履歴特性を求める処理と、を含む全クラスタリング処理を実行する全クラスタリング処理部と、
全クラスタリング処理後に新規加入した新規ユーザ情報を保持する新規ユーザ情報保持部と、
新規ユーザ情報に基づいて新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する差分クラスタリング処理部と、
を備えるクラスタリング処理装置。 - 前記差分クラスタリング処理部は、次の全クラスタリング処理が実行されるまでの間、新規ユーザについて差分クラスタリング処理を繰り返し実行する、
ことを特徴とする請求項1に記載のクラスタリング処理装置。 - 前記全クラスタリング処理部は、各クラスタの代表ユーザのユーザ特徴ベクトルとメタデータDBとに基づいて、ばらつきが大きくなるように、代表ユーザに関するコンテンツ履歴特性を求める、
ことを特徴とする請求項1又は2に記載のクラスタリング処理装置。 - 前記全クラスタリング処理部は、
各クラスタの代表ユーザを決定し、各クラスタの代表ユーザのユーザ特徴ベクトルにおける各次元の値を比較し、所定の基準に基づきばらつきが大きい上位の次元を選択し、前記上位の次元と対応する特徴語をワードリストとしてリスト化し、前記ワードリスト内に規定された特徴語をキーとしてメタデータDBを検索し、検索で得られたヒット率の高い上位のコンテンツについての履歴有無を2進数ビット列で算出することにより、
前記代表ユーザに関するコンテンツ履歴特性を求める、
ことを特徴とする請求項3に記載のクラスタリング処理装置。 - クラスタリング処理装置により実行されるクラスタリング処理方法であって、
全ユーザのユーザ特徴ベクトルに基づいて全ユーザをコンテンツ履歴に応じたクラスタへ割り当てる処理と、各クラスタを代表する代表ユーザに関するコンテンツ履歴特性を求める処理と、を含む全クラスタリング処理を実行する全クラスタリング処理実行ステップと、
全クラスタリング処理後に新規加入した新規ユーザ情報を保持する新規ユーザ情報保持ステップと、
新規ユーザ情報に基づいて新規ユーザに関するコンテンツ履歴特性を求め、新規ユーザに関するコンテンツ履歴特性と各クラスタの代表ユーザに関するコンテンツ履歴特性とに基づいて、新規ユーザを当該新規ユーザのコンテンツ履歴に応じたクラスタへ割り当てる差分クラスタリング処理を、全クラスタリング処理の実行周期よりも短い周期で実行する差分クラスタリング処理実行ステップと、
を備えるクラスタリング処理方法。 - 前記全クラスタリング処理実行ステップにて、クラスタリング処理装置は、各クラスタの代表ユーザのユーザ特徴ベクトルとメタデータDBとに基づいて、ばらつきが大きくなるように、代表ユーザに関するコンテンツ履歴特性を求める、
ことを特徴とする請求項5に記載のクラスタリング処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012067291A JP2013200612A (ja) | 2012-03-23 | 2012-03-23 | クラスタリング処理装置およびクラスタリング処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012067291A JP2013200612A (ja) | 2012-03-23 | 2012-03-23 | クラスタリング処理装置およびクラスタリング処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013200612A true JP2013200612A (ja) | 2013-10-03 |
Family
ID=49520841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012067291A Pending JP2013200612A (ja) | 2012-03-23 | 2012-03-23 | クラスタリング処理装置およびクラスタリング処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013200612A (ja) |
-
2012
- 2012-03-23 JP JP2012067291A patent/JP2013200612A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8983953B2 (en) | Methods and apparatuses for facilitating interaction with a geohash-indexed data set | |
CN108304444B (zh) | 信息查询方法及装置 | |
US10719769B2 (en) | Systems and methods for generating and communicating application recommendations at uninstall time | |
US11765176B2 (en) | Method, apparatus, and computer program product for managing access permissions for a searchable enterprise platform | |
CN104808892A (zh) | 一种应用图标排序方法、装置、系统及相关设备 | |
US11061948B2 (en) | Method and system for next word prediction | |
CN102150158A (zh) | 用于布置内容搜索结果的方法、系统和设备 | |
CN107729578B (zh) | 一种音乐推荐方法及装置 | |
WO2018064242A1 (en) | Query-time analytics on graph queries spanning subgraphs | |
US20160188684A1 (en) | Consolidating Search Results | |
CN112559870A (zh) | 多模型融合方法、装置、电子设备和存储介质 | |
CN113495965A (zh) | 一种多媒体内容检索方法、装置、设备及存储介质 | |
US10664482B2 (en) | Providing relevance based dynamic hashtag navigation | |
US8977616B2 (en) | Methods, apparatuses and computer program products for generating indexes using a journal in a key value memory device | |
JP2019500704A (ja) | 人工知能ベースの関連度計算を用いたノート提供方法及び装置 | |
KR102605598B1 (ko) | 타겟팅 및 기타 설정을 개선하기 위한 콘텐츠 제공자 추천 | |
JP2014215685A (ja) | レコメンドサーバおよびレコメンドコンテンツ決定方法 | |
CN107844536B (zh) | 应用程序选择的方法、装置和系统 | |
US20200012630A1 (en) | Smaller Proximate Search Index | |
US20190163810A1 (en) | Search User Interface | |
CN116186337A (zh) | 一种业务场景数据处理方法、系统及电子设备 | |
CN113157695B (zh) | 数据处理方法、装置、可读介质及电子设备 | |
JP2013200612A (ja) | クラスタリング処理装置およびクラスタリング処理方法 | |
JP2012194783A (ja) | アプリケーションマーケットにおいて使用されるサーバ、通信端末、システム及びgui決定方法 | |
KR102544635B1 (ko) | Component와 BaaS 기반의 웹사이트 빌더 서비스를 제공하기 위한 시스템 |