論文輪講:Temporal Diversity in Recommender Systems

preferred

2011-04-18 18:45:06

PFIでは今年の4月から有志で論文の輪講を始めました。有名な学会の論文を毎回二人ぐらいが読んできて、資料を作って発表する、という形になっています。(ちょっと前まではTAPL輪講というものをやっていました。論文輪講が落ち着いたら、次はまた教書に戻るかもしれません。)

私も先日発表をしてきたので、その資料を元にこちらの方でも論文紹介を行いたいと思います。

私が担当したのはSIGIR 2010のFiltering and Recommendationのセッションで、以下の3本の論文を紹介しました。

  • Temporal Diversity in Recommender Systems
  • Social Media Recommendation Based on People and Tags
  • A Network-Based Model for High-Dimensional Information Filtering

この3本の中から、今日は Temporal Diversity in Recommender Systems (N. Latia et al.) を紹介したいと思います。

この論文はレコメンデーション、特にその中のパーソナライゼーションについての論文です。レコメンデーションというとAmazonがいろいろな形でレコメンデーションを既に実現していますが、その中で言うならば、たまに会員に送ってくる「あなたにおすすめの商品はこちら」というメールのようなイメージです。

レコメンデーションの分野の研究は、米Netflix社が公開したデータによって大幅に進んだ面があり、この論文でもNetflix社のデータを使った実験が大半です。Netflix社のビジネスは定額制のDVDレンタルシステムで、DVDというのは非常にたくさんリリースされているので、顧客にDVDをたくさん見てもらうためには、レコメンデーション、つまり「こう言うのを見たらどうですか?」というおすすめが重要になってきます。定額制ではあるものの、DVDを見るという習慣をなくした顧客は契約を解消すると考えられるため、これはビジネス上の重要な課題です。そこで、Netflix社はユーザーがDVDに対してどういう評価を下したかを5段階評価でつけたレビューデータを公開しました。それを使って、これまで多くの研究が行われてきました。

これまでの研究では、ある特定のタイミングでのデータのスナップショットに対して、RMSEという指標を評価し、そのスコアが低ければ低いほど性能が良い、とされてきました。RMSEは、ユーザーがつけた(5段階の)レーティングとシステムが予測したレーティングとの差の二乗で計算されます。(二乗するのは負の数が出てきたときのためと、大きなエラーに対してより重大な意味を持たせるためです。)

しかし、実際のレコメンデーションというのは、例えば週に一回おすすめリストのメールを送る、といったような形で何度も繰り返されるものです。この時、おすすめリストの内容が毎回同じであったら、ユーザーはどう思うでしょうか?

ここには、2つの実験が考えられます。

  • おすすめリストの内容が毎回同じだったらユーザーはどう感じるのか?
  • そもそも、データは毎回微妙に変わるわけで、おすすめリストの内容が毎回同じであるということはあり得るのか?

この論文では、その2つともを調査しています。

まず、前者の疑問に対しては、実際に映画のレコメンデーションシステムを作ってユーザーに作ってもらい、アンケート調査を行ったそうです。以下の3つのシステムで実験を行いました。実験は5週間に渡って行われ、週に1度ユーザーはおすすめリストを受け取り、前週に見た映画のレーティングをつけました。

  • S1: 人気のリストから常に上位n件を出す
  • S2: 人気のリストからおすすめするが、毎回7割ぐらいは内容をランダムに入れ替える
  • S3: 完全にランダムに出す

実験の結果は、ユーザーがつけた平均レーティングで評価されました。レーティングの順としてはS2 > S1 > S3 となり、毎回同じおすすめリストを使うのはどうもよくないらしい、という結論が出ました。また、S1は回を追うごとに平均レーティングが下がっており、だんだんユーザーの評価が下がっていく、ということが見て取れました。

この実験によって、この論文では、同一ユーザーに対してレコメンデーションを複数回行う場合はアイテムの多様性が重要である、と結論づけています。

次の実験では、レコメンデーションのアルゴリズムを比較し、アイテムの多様性がどれぐらい確保されるかを検証しました。アルゴリズムとしては、

  • baseline(アイテムの平均評価に基づいて出す)
  • k-NN
  • SVD

の3種類が用いられました。

多様性(Diversity)は、おすすめアイテムの中で前回のおすすめリストとかぶっているものの割合、と定義されています。また、この他に、新規性(Novelty)という評価項目もあり、こちらはおすすめアイテムの中で、これまでに一度もそのユーザーに推薦されたことのないアイテムの割合、と定義されています。

実験の結果、baselineは多様性も新規性も低く、RMSEが高い、という結果になりました。k-NNは多様性、新規性は3種類の中ではトップでしたが、RMSEではSVDに劣りました。SVDはその逆で、RMSEは低く、多様性、新規性ではk-NNに負ける、という結果になりました。

これを踏まえ、さらに論文では多様性が高くかつRMSEが低いレコメンデーションを実現するための手法として、以下の三つを提案しています。

  • switching (k-NNとSVDを交互に使う)
  • user-switching (k-NNとSVDをユーザー単位で交互に使う, )
  • re-ranking frequent visitor’s list (よく使うユーザーに対しては、トップn件の結果としてトップm件の推薦結果からランダムに出す)

switchingよりuser-switchingの方が多様性は上で、RMSEではそう変わらない、というような結果でした。re-rankingは多様性はそれほど高くなりませんでしたが、RMSEはswitching, user-switchingよりはちょっと低かったようです。こちらの実験ではNoveltyに関しては評価がありませんでしたが、交互に使うだけでは、結局Noveltyはそんなに上がらないはずで、そうすると、Noveltyという評価項目を前の実験で持ち出してきたのは何だったのだろうか、という疑問が残ります。

感想ですが、多様性が重要なのでは、という問題提起に関しては、とても面白いと感じました。ただ、読み進めていくと、多様性が重要であるという根拠を示すためには、実験が簡単すぎるのではないか、という疑問を持ちました。最初のユーザーアンケートだけで多様性が重要であるという話になって、次の実験ではもう多様性が高い方がいいはずだ、という風に評価基準として使われることに違和感があります。多様性が重要であることは直感的には明らかかもしれませんが、もっといろいろなパターンに関して実験がないと、納得はできない人は多いのではないでしょうか。

その他、全く同じリストを出し続けた場合、ユーザーのレーティングが単調に下がり続ける、というのは面白い知見です。

私がもし実験できるとしたら、前回のおすすめリストとのアイテムかぶりはどれぐらいまで許されるのかという閾値や、多様性と新規性では本当がどっちが重要なのか、といった比較がやりたいところです。

また、論文のテーマとは関係ないですが、究極的にはレコメンデーションというのはユーザーに興味を持たせれば勝ち、持ってもらえなければ負けなので、そう考えると、実用的なエンジンとしては、有用性を目指していくと最終的には強化学習の問題設定を解くことになるのかな、と思いました。

2 Responses to “論文輪講:Temporal Diversity in Recommender Systems”

  1. しましま Says:

    この文献は読んだことがなく勉強になりました.

    > レコメンデーションの分野の研究は、米Netflix社が公開したデータによって大幅に進んだ面があり、この論文でもNetflix社のデータを使った実験が大半です。

    UCIのレポジトリに寄贈されていたのですが,公開が取り下げられてしまいました.よいデータだったので,残念です.

    > 感想ですが、多様性が重要なのでは、という問題提起に関しては、とても面白いと感じました。ただ、読み進めていくと、多様性が重要であるという根拠を示すためには、実験が簡単すぎるのではないか、という疑問を持ちました。

    多様性が重要な場合もあり,そうでない場合もあるんではないかなと,私は思います.

    Swearingen+ “Beyond Algorithms: An HCI Perspective on Recommender Systems” SIGIR Workshop on Recommender Systems (2001)

    に,思い出すための備忘録,比較のための類似品捜し,既存の方向で新規アイテムを探す,関心を広げるためといった4段階の目的を分類しており,後者ほど多様性が必要になると論じていました.こうした目的を何らかの方法で探り,適切なレベルの多様性を確保していかないんじゃないかと思います.こうした論考は

    McNee+ “Making Recommendations Better: An Analytic Model for Human-Recommender Interaction”, SIGCHI2006

    の講演でも論じられています(その後の進展はあまり見ないのですが…)あと,
    http://womrad.org/2010/program.html の Music Recommendation and the Long Tail で,Last.fmユーザの中でもヘビーユーザはロングテールを含めた多様な楽曲を好むが,ライトユーザは定番を好むといった,ユーザ層によっても反応の違いはあるように思います.

    > 実用的なエンジンとしては、有用性を目指していくと最終的には強化学習の問題設定を解くことになるのかな、と思いました。

    ご存じかとは思うのですが,強化学習を使った推薦システムとしては

    Shani+ “An MDP-Based Recommender System”, JMLR2005

    があります.でもやはり,強化をやるとなるとデータが疎な問題が一層深刻になってしまうところは難しい気もします.

    Yahoo! Research のチュートリアルの三つ目
    http://pages.cs.wisc.edu/~beechung/kdd10-tutorial/
    みたいなバンディットの考えをうまく利用したあたりが,バランスとしていいのではと,ちょっと思っています.

  2. 徳永拓之 Says:

    たしかに、自分の行動を思い出すと、「あの商品は名前忘れたけど、あの本のページにリンクがあったような気がするな」みたいな感じで、名前を忘れた商品を見つけるのにレコメンデーションのリンクを使っていることが結構あったりして、多様性が必要なときとそうでないときが明らかに存在しますね。

    4段階のうち、ある程度は見せ方でなんとかできるのかなと思う(例えば、既存の方向で関心を広げるためには、ワンダーホイールみたいに別のページを作るとか)のですが、意図を汲むという所もおそらく必要で、しかしこれはまた難しい問題であるように思います。

    単純に強化学習を適用するだけではおそらくそういった人間の欲求に答えるのは難しい気がするので、事前の設計というのももっと考えていかねばならないのでしょうね。

    Yahoo! Researchのチュートリアルは前に読もうとして忘れていたので、ぜひ週末にでもゆっくり読みたいと思います。

Leave a Reply