糞糞糞ネット弁慶

読んだ論文についてメモを書きます.趣味の話は http://repose.hatenablog.com

Opportunity model for e-commerce recommendation: right product; right time(SIGIR 2013)

Opportunity model for e-commerce recommendation

概要

正しい商品を正しいタイミングで推薦したい.
ノートパソコンを買った人が替えのバッテリーを購入しやすいという傾向があったとしても,それはバッテリーが駄目になる頃(例えば二年後とか)だろう.それをノートパソコンを買った直後にバッテリーを推薦するのは好ましくない.
解くべき問題としては,あるインターバル後に商品を購入する確率を推定する.に展開する.二項目は既存の推薦手法の出力をそのまま使えるので,問題はどうやってを推定するかということ.

購入時間の推定

ここで,生存時間分析の考えを持ってくる.
生存時間分析は文字通り,生存時間(観測開始から死亡までの時間)をモデリングする手法.もう少し広く言えば,観測開始からあるイベントがどれぐらいの相対時間で起こるかをモデリングする事が可能になる.
論文では,定番手法の Weibull 分布を使う.どういうものかというと,イベントが起こる時間の確率分布をという形で推定する.ここでという形で共変量(特徴量)をモデルに使うことができる.
この購入間隔は,商品単位ではなく,商品のカテゴリごとに推定をする.カテゴリ単位で推定するとはいえ,カテゴリの人気などは偏っていてスパースなので,1つ目のパラメータであるにはガウス分布の,二つ目のパラメータであるにはガンマ分布の事前分布を持たせて階層ベイズ.論文には変分ベイズの導出が書いてある.

共変量には何を使うか

論文では「ユーザの購買時期は商品の宣伝だったりユーザの内的な要因で変わるからそれを考慮するモデルがいい」や「共変量って実はクソ便利で時間に独立なもの(性別,年齢,収入)から時間に独立じゃないもの(直近の購買時期,季節,景気)まで全部入れる事ができる」といった記述がある.
しかし,実際用いられた特徴量の記述については,「ある時間の区切りの中でユーザが何を何回買ったか,とかそういうのを色々使ってユーザの商品購入に対する時間の分布を捉えたかった」ぐらいにしか書かれておらず不明.正直すっきりしなかった.
論文のこの共変量に対する記述に疑問がある.自分の理解では,共変量として用いられるのは観測開始時点で固定されているもののみであって,あるユーザないしは商品に対する共変量が観測中に変化するようなもの,例えばユーザで言えば結婚したとか,商品で言えばセールが起こったとか,値引きが起こったといった情報は用いることができないのではないかと思う.

実験

ECサイトのデータを使って実験.
購入時間の推定結果が面白い.論文では「乳幼児用食品」を買った人が他のカテゴリをどんな時間間隔で買うかが示されている.例えば,「乳幼児用食品」カテゴリが再度購買されるのは一ヶ月後が一番確率が高いとか,「乳幼児用おもちゃ」や「乳幼児用安全用品(ベビーカーとか?)」は一年後に購入されやすいとか.