【国等の委託研究の成果に係る記載事項】(出願人による申告)平成27年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業ERATO「河原林巨大グラフプロジェクト」委託研究(事業における呼称:協働研究)、産業技術力強化法第19条の適用を受ける特許出願
【文献】
山本 修平 外,バースト時刻に基づく話題感度の高いユーザの検出,第7回データ工学と情報マネジメントに関するフォーラム (第13回日本データベース学会年次大会) [online],日本,電子情報通信学会データ工学研究専門委員会 日本データベース学会 情報処理学会データベースシステム研究会,2015年 3月 4日,pp. 1-7
(58)【調査した分野】(Int.Cl.,DB名)
各ユーザが各アイテムを採用した時刻を表す行動履歴データが与えられたときに、将来多くのユーザが採用するアイテムを早期に採用するユーザである観測者の集合を検出する観測者検出装置であって、
前記行動履歴データから、各アイテムが、多くのユーザが採用しているアイテムであるかどうかを表すターゲット変数と、各アイテムについての、各ユーザが前記アイテムについて前記観測者として適しているかどうか、又は適している度合いを表す特徴ベクトルとを生成する入力部と、
各アイテムの前記ターゲット変数と、各アイテムの前記特徴ベクトルとに基づいて、前記特徴ベクトルに基づいて前記アイテムが多くのユーザが採用しているアイテムであるか否かを分類するための分類器のパラメータベクトルを学習する学習部と、
前記学習部によって学習された前記分類器のパラメータベクトルの要素を選択する特徴選択部と、
前記特徴選択部によって選択された前記パラメータベクトルの要素に対応するユーザの集合を、前記観測者の集合として出力する出力部と、
を含む観測者検出装置。
前記特徴選択部は、前記学習部によって学習された前記分類器のパラメータベクトルの要素を選択し、選択した要素の数が、入力された観測者数未満であれば、前記分類器のパラメータベクトルを学習する際に用いるハイパーパラメータを変更して、前記学習部による学習を繰り返させる請求項1記載の観測者検出装置。
前記学習部は、前記分類器のパラメータベクトル、各アイテムの前記ターゲット変数、及び各アイテムの前記特徴ベクトルを用いて表される損失関数、及び前記分類器のパラメータベクトルに関する正則化項を含む目的関数を最小化するように、前記分類器のパラメータベクトルを学習する請求項1又は2記載の観測者検出装置。
各ユーザが各アイテムを採用した時刻を表す行動履歴データが与えられたときに、将来多くのユーザが採用するアイテムを早期に採用するユーザである観測者の集合を検出する観測者検出装置における観測者検出方法であって、
入力部が、前記行動履歴データから、各アイテムが、多くのユーザが採用しているアイテムであるかどうかを表すターゲット変数と、各アイテムについての、各ユーザが前記アイテムについて前記観測者として適しているかどうか、又は適している度合いを表す特徴ベクトルとを生成し、
学習部が、各アイテムの前記ターゲット変数と、各アイテムの前記特徴ベクトルとに基づいて、前記特徴ベクトルに基づいて前記アイテムが多くのユーザが採用しているアイテムであるか否かを分類するための分類器のパラメータベクトルを学習し、
特徴選択部が、前記学習部によって学習された前記分類器のパラメータベクトルの要素を選択し、
出力部が、前記特徴選択部によって選択された前記パラメータベクトルの要素に対応するユーザの集合を、前記観測者の集合として出力する
観測者検出方法。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0014】
<本発明の実施の形態に係る概要>
まず、本発明の実施の形態における概要を説明する。本発明の実施の形態では行動履歴を表すデータとしてイベント集合
が得られている状況を想定する。ここで(i
e,u
e,t
e)は e番目のイベントであり、ユーザu
e∈Uがアイテムi
e∈Iを時刻t
e≦Tで採用することを表している。ここでいう採用とは、例えば購買履歴における商品の購入や、ソーシャルメディア上での発言などの情報を共有する機能の使用などを指す。Iはアイテム集合、Uはユーザ集合、Tはイベント集合が記録されている時刻の終端である。また|・|は集合の元の個数を表すとする。
【0015】
このようなデータが与えられた元で、本発明の実施の形態では人気アイテムの分類問題を考える。人気アイテムの定義としては、例えば、(1)採用された回数が全体の上位s%であるアイテム、(2)一定の回数v以上採用されたアイテム、などが考えられるが、イベント集合Eでの採用回数によって、各アイテムが、多くのユーザが採用している人気アイテムかそうでないか区別できれば良いとする。また各アイテムの特徴ベクトルとしては、各要素がユーザ集合Uに対応するU次元ベクトルとして定義する。特徴ベクトルの各要素の値は、対応するユーザが当該アイテムについて観測者として適しているかどうかや、適している度合いなどを表現している必要がある。本発明の実施の形態では、人気アイテムを他のユーザよりも早く採用する傾向があるユーザを観測者として抽出したい。そのため、ユーザがアイテムを採用する順位や時間の情報から、人気アイテムの特徴ベクトルの各要素が、早く採用するユーザで大きな値を、遅く採用するユーザで小さな値をそれぞれ取るように定義すれば良い。具体例は後述する。
【0016】
このように定義された分類問題における特徴選択によって、ユーザ集合Uの部分集合である観測者集合O⊂Uを抽出する。特徴選択手法としては、分類問題に使用できる方法であれば良い。例えば、L
1正則化やL
0正則化と、線形分類器とを使用する方法や、決定木やランダムフォレストと、ジニ係数などの情報基準とを組み合わせた方法などが挙げられる。
【0017】
<観測者検出装置の構成>
次に、本発明の実施の形態に係る観測者検出装置の構成について説明する。
図1に示すように、本実施の形態に係る観測者検出装置100は、CPUと、RAMと、後述する観測者検出処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この観測者検出装置100は、機能的には
図1に示すように入力部10と、学習部20と、特徴選択部30と、出力部40とを備えている。
【0018】
入力部10は、取得したい観測者数dと、行動履歴データとしてのイベント集合Eとを受け付ける。また使用する特徴選択手法と分類器に応じて、イベント集合Eを学習用の入力データ集合に変換する。
【0019】
本実施の形態では、L
1正則化と線形分類器を用いた特徴選択手法を使用する場合を例に説明する。
【0020】
線形分類器は損失関数にパラメータと特徴ベクトルの線形結合を含む分類器であり、例として、ロジスティック回帰やプロビット回帰、サポートベクトルマシンなどが挙げられる。以下では、ロジスティック回帰の例を適宜説明する。
【0021】
イベント集合Eを、線形分類器に学習させる入力データ集合に変換する。入力データ集合は、各アイテムが、多くのユーザが採用しているアイテムであるかどうかを表すターゲット変数からなるターゲット変数集合と、各アイテムについての、各ユーザが前記アイテムを早期に採用したかどうかを表す特徴ベクトルからなる特徴ベクトル集合とから構成される。
【0022】
まず、人気アイテムの定義に従い、各アイテムが人気かどうかを表すターゲット変数集合
を計算する。例えば、後述する(1)式のように人気アイテムを定義する場合、
をアイテムiの総採用回数が全アイテム中で上位s%の人気アイテムとなった場合1、それ以外の場合0をとる2値変数として定義する。
【0023】
次に、特徴ベクトルを定義する。前述のように特徴ベクトルの各要素はユーザに対応し、各要素はそのユーザが当該アイテムについて観測者として適しているかどうか、あるいは適している度合いを表現するように定義する。
【0024】
一例として、アイテムを採用した順位に基づき2値ベクトルとして特徴ベクトルを構成する例を示す。まず、ユーザuがアイテムiを採用した順位を表す
を計算する。なお最初にアイテムiを採用したユーザuの順位は
とする。この順位を元に以下の特徴ベクトル集合
を定義する。アイテムiに対応する特徴ベクトル
の各要素は、
【0026】
で表される。ここでzは後述する確率分布 p(z)に従う確率変数であり、どの順位までのユーザを特徴として使用するか決める閾値としての役割を果たす。x
i,u(z)は閾値zに依存して決まる。以下では、(1)式の特徴ベクトルを使用する場合を説明する。
【0027】
次に入力データ集合
の元で損失関数を定義する。損失関数は入力データ集合とパラメータで定義される関数であり、入力データ集合の誤分類が小さいほど小さな値を取る関数として表される。例えば、前述の入力データ集合
に対する損失関数の具体例としては、
【0029】
が考えられる。このとき線形分類器にロジスティック回帰を使用する場合、各アイテムの損失
は、
【0031】
で表現される。
σ(・)はシグモイド関数、
は|U|+1次元パラメータベクトルであり、第一要素w
0はベクトル全体の位置を定めるバイアスパラメータである。また、(2)式の損失関数は確率分布p(z)の期待値をとることで定義されている。
【0032】
p(z)は正または非負の値をとる確率分布であれば良い。例えば、ワイブル分布、ガンマ分布、対数正規分布などが考えられる。例えば以下に示すワイブル分布の場合、その確率密度関は、
【0034】
で定義される。ここでkは形状パラメータ、θは尺度パラメータである。なおワイブル分布のような非負の値をとる確率分布の場合、ちょうどz=0をとるとき対応するx
i(z)は第一要素以外の要素が全て0をとるベクトルになる。こうしたベクトルの影響を排除したい場合、正の値をとる確率分布を使用すれば良い。ワイブル分布のような連続型確率分布の場合、ちょうどz=0をとる確率は0であるため、後述する学習部20ではこうしたベクトルの影響をほぼ無視できる。またp(z)としてmでのみ1を取るデルタ関数 δ(z−m)を指定すると、(2)式の損失関数は期待値を含まない以下の形で書くことができる。
【0036】
分類器の学習では、目的関数の最小化問題を解くことで解ベクトル
を得る。L
1正則化を使用する場合、目的関数は損失関数とL
1正則化項の和として定義される。例えば、(2)式を損失関数として使用する場合、目的関数は以下のように定義される。
【0038】
ここで、
はバイアスパラメータw
0を除く|U|次元パラメータベクトルであり、
はL
1正則化項、λ>0はその正則化パラメータである。L
1正則化によって解ベクトル
はw
0を除きλが大きいほどゼロの要素が多い疎なベクトルになりやすい。L
1正則化による特徴選択では、この非ゼロ要素として残った要素に対応する特徴を分類上有用な特徴として選択する。本発明の実施の形態の場合、残った正値を取る要素に対応するユーザは、人気アイテムを早く採用することが多く、人気でないアイテムを早く採用することが少ないことを意味している。逆に、負値を取る要素に対応するユーザは、人気でないアイテムを早く採用することが多く、人気アイテムを早く採用することが少ないことを意味している。ゆえに、解ベクトルの要素のうち、正値をとる要素に対応するユーザを観測者として抽出すれば良いことになる。
【0039】
また、(6)式の代わりに以下の最小化問題を解いても良い。
【0041】
こちらは
のとりうる値が非負の実数値をとる|U|次元空間
上に制約されていると仮定している。この場合、特徴として残る要素は全て正値をとるため、0以外の値を取る解ベクトルの要素を全て観測者として抽出すれば良いことになる。以下では(7)式を解く場合を例に説明する。
【0042】
学習部20は、各アイテムの前記ターゲット変数と、各アイテムの特徴ベクトルとに基づいて、以下に説明するように、特徴ベクトルに基づいてアイテムが多くのユーザが採用しているアイテムであるか否かを分類するための線形分類器を学習し、線形分類器を学習することで得られるパラメータベクトルを出力する。
【0043】
本実施の形態では、学習部20は、線形分類器のパラメータベクトル、各アイテムのターゲット変数、及び各アイテムの特徴ベクトルを用いて表される損失関数、及び線形分類器のパラメータベクトルに関する正則化項を含む目的関数を最小化する上記(7)式の最小化問題を解くために、最適化アルゴリズムを実行して、線形分類器のパラメータベクトルを学習する。上記(7)式の損失関数の項にはp(z)に関する期待値が含まれているため、確率的最適化アルゴリズムを使用することが考えられる。例えば、確率的勾配法や、Forward Backward Splittingなどが挙げられるが、ここではAdagrad(非特許文献5:Duchi, D.; Hazan, E.; Singer, Y. "Adaptive Subgradient Methods for Online Learning and Stochastic Optimization". Journal of Machine Learning Research, Vol. 12, 2121 −2159, 2011.)とRegularized Dual Averaging(RDA)(非特許文献6:Xiao, L. "Dual Averaging Methods for Regularized Stochastic Learning and Online Optimization". Journal of Machine Learning Research, Vol. 11, 2543 −2596, 2010.)を使用した確率的最適化アルゴリズム Ada-RDAを用いて(7)式の最小化問題を解く場合を説明する。
【0044】
Ada-RDAは適当に初期化した
から始め、値を繰り返し更新することで解ベクトルを得る学習アルゴリズムである。nステップにおいて、まず入出力ペア
を1つサンプリングする。アイテムiはアイテム集合Iからランダムに、確率変数zはp(z)に従ってそれぞれサンプリングされる。サンプリングされた入出力ペアによって、パラメータベクトルは現時点の値
を使い、目的関数を最小化する以下の最小化問題を解くことでパラメータベクトルが更新される。
【0046】
ここでη>0は特徴ベクトル全体の学習率を調整するハイパーパラメータである。
は
【0048】
で定義される。ここでg
n,uはnステップでの勾配ベクトル
のu番目の要素を示す。ロジスティック回帰の場合、勾配ベクトルは、
【0051】
Hnは対角行列
であり、ベクトル
は以下で定義される。
【0053】
なおハイパーパラメータ
は
を満たすよう設定する。これら変数によって定義された上記(8)式の最小化問題を解くことで、u=1,…,|U|について以下の更新式が得られる。
【0055】
sign(・)は符号関数、[・]
+はヒンジ関数である。
【0056】
学習部20は、サンプリングされた入出力ペアに基づいて、上記(12)式、(13)式に従って、線形分類器のパラメータベクトルを更新する。この更新を繰り返し終了条件を満たすまで繰り返す。繰り返し終了条件としては例えば十分な反復回数を設定しておき、その回数だけ繰り返すなどが挙げられる。繰り返し終了条件を満たせば更新を終了し、その時点で得られたパラメータベクトルを解ベクトル
として出力する。
【0057】
なお、ここまでで導入したハイパーパラメータ
はパラメータベクトル
とともに事前に初期化しておく必要があるが、交差確認法などを利用することで複数候補の中から選ぶことができる。
【0058】
特徴選択部30は、学習部20で得た解ベクトルの非ゼロ要素を選択する。なお、本実施の形態のように、L
1正則化を用いる手法では、学習部20の出力結果が指定した観測者数dを得るための条件を満たさない場合がある。その場合は学習部20に戻り、条件を変更して再度実行する.
【0059】
具体的には、得られた解ベクトル
の非ゼロ要素数と取得したい観測者数dを比較する。非ゼロ要素数がd未満であれば、ハイパーパラメータλをより小さい値に初期化して、学習部20に戻ってやり直す。非ゼロ要素数がdであれば、解ベクトル
をそのまま出力する。非ゼロ要素数がdより大きければ、dと一致するように、解ベクトル
の非ゼロ要素のうち、小さい順に要素を0にしてから出力する。
【0060】
出力部40は、以下の式のように解ベクトルの非ゼロ要素に対応するユーザ集合を観測者集合Oとして検出して出力する。
【0062】
<本発明の実施の形態に係る観測者検出装置の作用>
次に、本発明の実施の形態に係る観測者検出装置100の作用について説明する。
【0063】
入力部10において、観測者数dの指定と、行動履歴データであるイベント集合Eを受け付けると、観測者検出装置100は、
図2に示す観測者検出処理ルーチンを実行する。
【0064】
まず、ステップS100において、入力部10は、受け付けたイベント集合Eから、ターゲット変数集合を作成する。次に、ステップS101において、入力部10は、受け付けたイベント集合Eから、ユーザが観測者に適しているかどうか、又は適している度合いを表す特徴ベクトル集合を作成する。
【0065】
次に、ステップS102において、学習部20は、パラメータベクトル
とハイパーパラメータ
とを初期化する。
【0066】
ステップS104では、学習部20は、上記ステップS100、S101で得られたターゲット変数集合及び特徴ベクトル集合から、入出力ペア
を1つサンプリングする。
【0067】
ステップS106では、学習部20は、上記ステップS104でサンプリングした入出力ペア
と、
ハイパーパラメータ
とに基づいて、上記(12)式、(13)式に従って、パラメータベクトル
を更新する。
【0068】
ステップS108では、学習部20は、予め定められた繰り返し終了条件を満たしか否かを判定し、繰り返し終了条件を満たしていない場合には、上記ステップS104へ戻る。一方、繰り返し終了条件を満たした場合には、ステップS110へ進む。
【0069】
ステップS110では、特徴選択部30は、上記ステップS106で最終的に得られたパラメータベクトル
の非ゼロ要素の数が、指定された観測者数d未満であるか否かを判定する。非ゼロ要素の数が、指定された観測者数d未満である場合には、ステップS112において、特徴選択部30は、ハイパーパラメータλを小さく更新して、上記ステップS104へ戻る。
【0070】
一方、非ゼロ要素の数が、指定された観測者数d以上である場合には、ステップS114において、特徴選択部30は、非ゼロ要素の数が、指定された観測者数dであるパラメータベクトル
をそのまま出力する。あるいは、非ゼロ要素数がdより大きければ、dと一致するように、パラメータベクトル
の非ゼロ要素のうち、小さい順に要素を0にしてから出力する。
【0071】
ステップS116では、出力部40が、非ゼロ要素に対応するユーザ集合を観測者集合Oとして検出して出力し、観測者検出処理ルーチンを終了する。
【0072】
<実施例>
本発明の実施の形態に係る手法を評価するために、ユーザの行動履歴データが記録された11データセットを用いて実験を行った。イベント集合に含まれるアイテムのうち、採用回数の多い上位s=10%のアイテムを人気アイテムとして定義する。また、m=10人までにアイテムを採用する観測者を探す状況を考える。90%を訓練データ、10%をテストデータとしてランダムに10分割して、訓練とテストを入れ替えながら評価する。訓練データから観測者を選択した後、テストデータ内の各アイテムについて最初のm=10人のユーザに選んだ観測者が1人でも含まれていれば人気アイテムだと判定する。実際に人気アイテムだった場合正解、そうでなかった場合を不正解としてF値を計算する。
【0073】
選択する観測者数を1人から100人まで変化させて観測者数-F値曲線を描き、そのArea Under Curve(AUC)の値で評価する。
【0074】
比較手法としてイベント集合から以下の値が大きいユーザを順に観測者として選ぶ5つの手法を用意した。
【0075】
N adoptions:ユーザの採用回数。
N followers:ユーザが採用した後に同じアイテムを採用したユーザ数の合計値。
N early: m人のユーザが採用する前にアイテムを採用した回数。
N early-pos: m人のユーザが採用する前に人気アイテムを採用した回数。
N early-pos/neg: N early-posをm人のユーザが採用する前に人気でないアイテムを採用した回数で割った値。
【0076】
上記設定のもとで、実験結果を表1に示す。太字は95%水準の両側t検定において、太字以外の手法よりも有意に良い結果だったことを意味する。
【0078】
なお、Proposedは本発明においてp(z)にデルタ関数δ(z−m)(m=10)を使用した場合、Proposed with data augmentationは p(z)にワイブル分布を使用した場合(パラメータ (k,θ)は5交差確認法で選択)をそれぞれ表す。全てのデータセットで本発明の実施の形態に係る手法が最も高い精度を達成しており、比較手法よりも適切な観測者を選択できていることを示唆している。
【0079】
以上説明したように、本実施の形態に係る観測者検出装置によれば、行動履歴データから、ターゲット変数集合と特徴ベクトル集合とからなる入力データ集合を生成し、アイテムが多くのユーザが採用しているアイテムであるか否かを分類するための分類器のパラメータベクトルを学習し、学習された分類器のパラメータベクトルの要素を選択し、対応するユーザの集合を、観測者の集合とすることにより、将来多くのユーザが採用するアイテムを早期に採用するユーザである観測者の集合を検出することができる。
【0080】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0081】
例えば、上記実施の形態では、観測者数dの単一の集合のみ検出する場合を説明したが、観測者数が1からDまでの、複数の観測者集合
を一度に検出するように容易に変形できる。L
1正則化による特徴選択の場合、まず予め正則化パラメータの集合
を用意しておく。その中で最小のJで学習したときD個以上のパラメータが生き残ることを確認した上で、各jで特徴選択部30と同じ処理を行う。この場合検出したい
の中で欠損している集合が出てくるが、特徴選択部30で行ったように、欠損している集合については、より大きな非ゼロ要素数をもつ解ベクトルの要素を小さい順に削減することで補完すればよい。
【0082】
また、正則化と線形分類器を用いた特徴選択手法を使用する場合を例に説明したが、これに限定されるものではなく、例えば、決定木やランダムフォレストと、ジニ係数などの情報基準とを組み合わせた方法を使用するようにしてもよい。決定木やランダムフォレストを使用する場合、学習部20は、学習を行った後、スコア計算を行い、特徴ごとのスコア値を出力するようにすればよい。
【0083】
また、上述の観測者検出装置は、内部にコンピュータシステムを有しているが、コンピュータシステムは、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0084】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。