推薦システムになにができるのか Yoshifumi Seki Gunosy Inc. / University of Tokyo 2013.09.26 @Tech Compass Vol.4
自己紹介
• 関喜史
• 株式会社Gunosy共同創業者
• 東京大学大学院工学系研究科
技術経営戦略学専攻博士後期課程
• 複数の大手ウェブ系企業でデータマイニングエンジニアとしてインターン・アルバイトを経験
• ソーシャルゲーム分析・リンク予測・推薦システム
• 修士1年の夏休みに大学院の同級生とGunosyを開発しリリース.想像以上の反響を受け昨年11月に法人化.
Gunosyとは
• その人に合わせた情報を毎日届けるサービス– 朝夕25件ずつ配信
– iOS, Android, Webにて提供中
• 登録ユーザ60万人
• 本日version 3.0をリリース– 周りで話題な記事が見れる
• 自分が読んだ記事を読んでいる人が他に呼んでいる記事
• 友人が読んだ記事
• 興味の近い人が読んだ記事
– 興味のあるキーワードをGunosyに教えることが可能
– カラーテーマが変えられる
ウェブと推薦エンジン
• ECサイトへの導入– Amazon, e-bay
– ブラジルのECサイトにおける実験では推薦システムにより8-20%の売上の向上が見られた (Bullefet al. 2012)
• パーソナライゼーション– Google Search
– Facebookのタイムライン– Pandora Radio
• オンラインラジオの70%
• アメリカのラジオの7%を示す
– Youtubeの推薦システム• ランキングと比較して協調フィルタリングを導入したときクリック数が2倍に増
加した(Davidson et al. 2010)
• スマートフォンの普及– 画面が小さい、操作性が低い、通信速度が遅い– 大量の情報を以下に表示するか?– 情報を減らす
• パーソナライゼーション
推薦システムとはなにか
• 膨大な情報の中からユーザに適した情報を探索して提供する
1. どのようなデータを用いるか?
2. どのようにフィルタリングを行うか?
3. どのようにデータを用いるか?
4. なにを推薦するか?J. Bobadilla et al. - Recommender System Survey(2013)
2.どのようにフィルタリングするか
• デモグラフィックフィルタリング– ユーザのプロフィール情報を用いる– 男性なら、女性なら、若者ならといったプロフィールを元に推薦を行う
• 内容ベースフィルタリング– 推薦したいアイテムの情報とユーザの情報を用いて推薦を行う.
– 過去に高く評価した映画と同じ監督の映画を推薦する
• 協調フィルタリング– 「この商品を買った人はこんな商品も買っています」– 他のユーザの行動から推薦を行う
• ハイブリッドフィルタリング– 内容ベースと協調フィルタリングを組み合わせる
• 利点・欠点– 内容ベースフィルタリングは「その映画は俳優が好きで見たのか,監督が好きで見たのか」
といったアイテムの情報の何がユーザを引きつけたかを判別するのが難しい.協調フィルタリングは他のユーザの履歴を用いるためこれは内包されている.
– 協調フィルタリングは他のユーザの情報やユーザ本人の情報が十分にシステム上に存在することが前提になっているため,使えない場合がある.内容ベースでは他のユーザの情報は不要である.
– ハイブリッドフィルタリングはあまり有効ではないケースが多かったが,近年SNSの情報を活用することで精度が高まっており注目されている.
3.どのようにデータを用いるか?
• メモリベース– 獲得したデータをそのまま用いて推薦結果を得る手法
• モデルベース– 獲得したデータを用いて統計モデルを構築し,モデルの結果から
推薦結果を得る手法
• SVD, LDA, Naïve Bayesなど
• 利点・欠点– メモリベースは取り扱いやすく,結果の解釈もしやすいが,潜在的
な要素を扱えなかったり,データのスパース性という問題を抱える.
– モデルベースでは潜在的な要素を扱ったり,データのスパース性を解消出来るなどの利点も多いが,計算時間が膨大になるケースや,新規データの追加が難しいケースもあり,専門的な背景がなければ扱うのが非常に困難であるという問題もある.
4.どのような基準で推薦するか?
• 一般にフィルタリングはアイテムとユーザの間の類似性を評価する– 過去のユーザ行動や似ているユーザと類似しているアイテムのた
め,アクションに繋がりやすいという仮定
• 過去の行動と類似している記事ばかりだとユーザ体験を損ねるのではという議論.– diversity
• 推薦アイテム集合内で様々なアイテムは推薦されるようにする
– novelty
• ユーザの過去の体験や知識に対して様々なアイテムが推薦されるようにする
• 推薦エンジンへの信頼性を高めようという議論– satiability
• ユーザの情報が尐し変わったところで結果があまり変わらないようにする
– 日によって結果が大きく変わるとよくない
– reliability
• その予測値がどの程度信頼出来るのかを反映して推薦する
1.SNS情報の推薦システムへの活用
• 信頼性の情報を用いてフィルタリング性能を強化する– SNS情報によって得られるもの
• アイテムに対する信頼性
• ユーザに対する信頼性
– 協調フィルタリングをSNSに拡張すると従来の協調フィルタリングより結果が改善されるとの報告 (woerndl and groh
– ネットワークのトレンドを元に推薦する
• コンテンツベース推薦と協調フィルタリングの融合– フォークソノミー(ユーザが付けたタグ)の情報を用いたシン
プルなコンテンツベース推薦• 協調フィルタリング的要素も内包している
– コメント、友人関係などもfeatureの一つとして扱う
2.ユーザ体験を重視したシステムの評価
• オンライン評価とオフライン評価– 推薦システムの評価は一般にオフライン評価で行われる
• 3年分のECサイトのデータがある.1年分のデータを使って残り2年のユーザの行動をどの程度再現できたか?
• 新規ユーザに対して人気なアイテムと評価が別れるアイテムを推薦するとユーザ満足度が高くなる(Rashid et al. 2002)– 推薦していないのにユーザはすごく精度が高いと評価する
– ユーザモデルも作りやすい
• 推薦対象でないものを結果リストに差し込む(Ziegler et al. 2005)
– ユーザはその結果が個人に最適化されていない事を認識はするが,差し込まれた量が全体の30%程度であれば差し込まれた方を好む
3.推薦システムにおける説明性
• アルゴリズムが洗練されて正しいことより,近い友人が薦めているという説明のほうが効果がある (Herlocker et al. 2000)
• 多様性を計算するよりタグをつけて多様に見せるほうが効果がある (Vig et al. 2009)
• 説明性の7つの指標(Tintarev and Masthoff, 2007)– Transparency
• どのようにシステムが動いているか?
– Scrutability• どのようにすればシステムに誤りを伝えられるか?
– Trust• ユーザのシステムに対する信頼性を高めることができるか
– Effectiveness• ユーザの”良い”意思決定を助けることができるか?
– Persuasiveness• ユーザの購入やアクションを促進することができるか?
– Efficiency• ユーザの意思決定を早めることができるか?
– Satisfaction• ユーザビリティや満足度を高めることができるか?
Gunosyでの実例
• 推薦結果への多様性の導入– リスト内に同じような内容の記事が入る割合を減らした
• 登録時アンケートの導入と改善(明示的な情報獲得、説明性の向上)– SNSをあまり使わない使わないユーザが増えてきた.SNSの活性度に応じて
ユーザの継続率に差があった.
– SNSを持っていないユーザもいたため,登録しないで離脱するユーザも多かった.
– 継続率をベースに評価し,十分に成熟した段階でメールアドレス登録を解禁し,登録突破率を高め継続率を維持.
one_month_active_
rate
user_num
アルゴリズム変更
まとめ
• 推薦システムに関する技術進化は発展途上– 近年diversityやnoveltyなどユーザ視点に立った評価方法が考慮され
るようになってきた• しかし「どのぐらいのdiversityがよいか」などの指標はいまだ確率され
ていない
– 対象とするアイテムの領域によっても問題は異なる• ニュースは最新の情報になるので,過去の情報を積み重ねた協調フィル
タリング的要素は使いにくい
• 不動産・車は一生のうちの購買回数が尐ないため参考となるデータをためにくい
– 基礎理論は研究領域で進歩しているので、その考えをベースにしながらチューニングを適切に行なっていく必要がある
• 何を指標にするかが大事.サービスによってことなる.推薦エンジンを入れる、のではなく何を目的に推薦エンジンを入れるのか?
• 本当にその問題は推薦で解決すべき問題なのか?
• データ分析も推薦エンジンも手法ではなく目的が非常に重要.魔法の杖があっても使い道が悪くては意味が無い