Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

レコメンド研究のあれこれ

6,427 views

Published on

various topics of recommender systems

Published in: Technology

レコメンド研究のあれこれ

  1. 1. レコメンド研究のあれこれ 〜Recommender Systems Handbook 2ndを参考に〜
  2. 2. 0: 参考文献 Recommender Systems Handbook 2nd • この本がベース • 1冊249ドル(Amazonで22,629円) • 章ごとにも買えます(1章29.95ドル) • 第1版と第2版で内容違うので注意
  3. 3. 0: 参考文献 オススメスライド • The Recommender Problem Revisited • Interactive Recommender Systems • Cross-Domain Recommender Systems • Mining Social Networks for Recommendation • Learning to rank for recommender systems • Web Personalization and Recommender Systems • Frontiers in E-commerce personalization • Past, present, and future of Recommender Systems: an industry perspective • Lessons Learnt at Building Recommendation Services in Industry Scale
  4. 4. 1: イントロダクション 推薦の応用分野 • エンタメ系 – 映画、音楽 • コンテンツ系 – ニュース、文書、教材 • EC系 – 本、ファッション、雑貨 • サービス系 – 旅行、賃貸、婚活 • ソーシャル系 – SNSのユーザー同士、投稿 Chapter 1: Recommender Systems: Introduction and Challenges, Francesco Ricci, et al.
  5. 5. 2: 近傍ベースの推薦手法 ユーザーベースとアイテムベース • ユーザーベース協調フィルタリング – Aさんと同じ商品をよく買っているBさんを抽出(ユーザー間の類似度) – Bさんが買っている商品をAさんにオススメ • アイテムベース協調フィルタリング – 商品Aを買っている人たちがよく買っている商品Bを抽出(アイテム間 の類似度) – 商品Aを買ったユーザーに商品Bをオススメ • 両者の比較、使い分け – ユーザー数とアイテム数のうち、少ない方を選んだ方が計算コスト低 い – アイテムベースの方が説明しやすい – ユーザーベースの方がセレンディピティ高い Chapter 2: A Comprehensive Survey of Neighborhood-Based Recommendation Methods, Xia Ning et al.
  6. 6. 2: 近傍ベースの推薦手法 いろいろなテクニック • 類似度指標 – コサイン類似度(ベクトルの内積)、ピアソン相関係数 – ユーザーごと、アイテムごとの平均値や標準偏差で規格化したり • 類似度の信頼性による補正 – 類似度算出に用いる共通アイテムの数が少ないと重み減らす (購入アイテムが2個ずつのユーザーがいて、2個が一致するから類 似度100%は早計) • グラフベースの手法 – ランダムウォークで類似度算出(パーソナライズドページランク) – 同じアイテムを購入してなくても、遠いつながりも含むので、データが 疎なときなど有効 • 類似度の学習 – 類似度行列を行列分解する方法 – 類似度を学習パラメータにして、予測誤差を最小化するよう学習 Chapter 2: A Comprehensive Survey of Neighborhood-Based Recommendation Methods, Xia Ning et al.
  7. 7. 3: モデルベースの推薦手法 行列分解 • 行列分解の基本表現形 • 学習 – 確率的勾配降下法(SGD)か交互最小二乗法(ALS)で予測誤差が小 さくなるよう学習 – 過学習しないよう正則化項を導入(各変数が0に近づくように) • 変形例 – アイテムのバイアス(人気度)に時間依存入れる – ユーザー嗜好の潜在因子に時間依存入れる Chapter 3: Advances in Collaborative Filtering, Yehuda Koren and Robert Bell
  8. 8. 4: セマンティックなコンテンツベース推薦 キーワードベースの手法 • ユーザーの嗜好をキーワードのベクトル空間で表現 – 過去に評価したアイテムのキーワードを集計 – TFIDF(Term Frequency Inverse Document Frequency)で重み付け – アイテムのキーワードベクトルとのコサイン類似度 • 長所 – 推薦対象のユーザーの評価履歴のみでよい(他ユーザーの評価は不要) – ユーザーに説明しやすい – ユーザー評価のない新しいアイテムでもオーケー • 短所 – キーワードだけではアイテムの特性を表現しきれない (コンテンツベースより協調フィルタリングの方が性能で勝つこと多い) – キーワードの扱いの困難さ • 一つの言葉に複数の意味、一つの意味に複数の言葉(同意語) • 複数の語による言葉 – 当たり前の推薦になりやすい(セレンディピティがない) Chapter 4: Semantics-Aware Content-Based Recommender Systems, Marco de Gemmis et al.
  9. 9. 4: セマンティックなコンテンツベース推薦 セマンティックな手法 • 外部情報からセマンティック持ってくる – (ある程度整理された)外部情報源の活用 – オントロジーデータベース(例:WordNet) – 半構造化された百科事典(例:Wikipedia) – リンクトオープンデータ(例:DBpedia) – 言葉の意味の曖昧さを解消したり、言葉と概念のひもづけを行ったり • 内部情報からセマンティック形成する – 語から意味を判別するモデル – LSI(latent semantic indexing) • 語と文書の行列を特異値分解 – Random Projection • 点同士の距離関係を保ったまま低次元に射影 Chapter 4: Semantics-Aware Content-Based Recommender Systems, Marco de Gemmis et al.
  10. 10. 5: 制約ベースの推薦 ユーザー要求の抽出と調整 • ユーザーの要求に合ったものを推薦 • 要求の抽出 – 永続的なプロファイル(サービス登録時に入力する嗜好や関心) – セッションごとにユーザーがフォーム入力 – 対話的にユーザー要求を収集 • 代表例としてCritiquingな方法だと、「このアイテムどう?」とシステ ムが提示し、「もっと○○なのが欲しい」とユーザーが返すことを 繰り返して学習 • 要求クエリの調整 – 条件を満たすものがないとき • 各項目の重要度を考慮して、条件を緩和する代替案を提示 – 条件を満たすものが多過ぎるとき • 各項目の人気度を考慮して、追加する条件の候補を提示 Chapter 5: Constraint-Based Recommender Systems, Alexander Felfernig, et al.
  11. 11. 6: コンテキストアウェアな推薦 コンテキスト • ユーザー × アイテム × コンテキスト → レーティング • コンテキストの階層構造 – 例:市→州→国、日にち→月→年 • モバイル推薦の典型的コンテキスト – 物理的コンテキスト:時間、位置、ユーザーの行動、天気、照明条件、 気温 – 社会的コンテキスト:一人かグループか、周囲の人々の役割 – メディア活用コンテキスト:スマホ、タブレット、ノートPCなどのデバイス タイプ、テキスト、音楽、ビデオなどのコンテンツタイプ – モード的コンテキスト:認知力、ムード、経験、現在の目的、などの心 理状態 Chapter 6: Context-Aware Recommender Systems, Gediminas Adomavicius and Alexander Tuzhilin
  12. 12. 6: コンテキストアウェアな推薦 推薦方法 • コンテキストでフィルタリング – 事前に(推薦の評価予測算出前に)フィルタリング – 事後に(推薦候補ランキングしてから)フィルタリング • コンテキスト情報を直接組み込んだモデル – ユーザー、アイテム、コンテキストの距離に応じた近傍ベース推薦 – テンソル分解 – 既存の行列分解にコンテキストとアイテムの相互作用項 – コンテキストアウェアなSVM – コンテキストも組み込んだLDA Chapter 6: Context-Aware Recommender Systems, Gediminas Adomavicius and Alexander Tuzhilin
  13. 13. 7: データマイニング手法を活用した推薦 教師あり学習手法 • K最近傍法 • ルールベース分類器 – ドメイン知識の活用 • ベイズ分類器 – ナイーブベイズ、ベイジアンネットワーク • ロジスティック回帰 – Implicit feedbackからexplicit ratingへの変換 • サポートベクターマシン • ニューラルネット • アンサンブル – ランダムフォレストとGBDT(勾配ブースティングされた決定木) – Netflixコンペでは、100以上の異なるアルゴリズム結果をGBDTで融合 • アソシエーションルールマイニング – Support(支持度):XとYを含む取引の比率 – Confidence(確信度):Xを含む取引の中で、Yを含む比率 Chapter 7: Data Mining Methods for Recommender Systems, Xavier Amatriain and Josep M. Pujol
  14. 14. 8: 推薦システムの評価 評価方法と指標 • 評価方法 – オフライン評価 – オンライン評価 – ユーザー調査 • 評価指標 – 予測精度: RMSE, MAE, Precision, Recall, AUC, nDCG, MAP – カバレッジ: アイテムのカバー率、ユーザーのカバー率、新商品 – 信頼性: 主にユーザー調査で – 新規性 – セレンディピティ: 意外性があってかつ有効なもの – 多様性 – 効用(Utility): 収益だったら評価値だったり定義はいろいろ – ロバスト性 – 適応性:ユーザーの嗜好の変化などに対して – スケーラビリティ Chapter 8: Evaluating Recommender Systems, Asela Gunawardana and Guy Shani.
  15. 15. 9: ユーザー実験による推薦評価 フレームワーク • 評価実験のフレームワーク – 客観的なシステム特性:アルゴリズム、提示方法 – 主観的なシステム特性:ユーザービリティ、品質、魅力 – ユーザー体験: システム、プロセス、得られた結果のどれ に対する評価か – インタラクション:レーティング、アイテム消費 – 状況特性:選択の目的 – 個人特性:性別、専門性 Chapter 9: Evaluating Recommender Systems with User Experiments, Bart P. Knijnenburg and Martijn C. Willemsen.
  16. 16. 10: 推薦の説明 説明の典型的スタイル • Collaborative-based style explanations – 「このアイテムを買っている人はこのアイテムも買っています」 • Content-based style explanations – ユーザーが好む、アイテム属性、タグ、キーワードを提示する – 「あなたが好きなSFジャンルで、主演は○○」 • Case-based reasoning style explanations – 推薦の根拠となっているアイテムを提示 – 「あなたが過去に購入した○○と○○をもとにオススメしています」 • Knowledge and Utility-based style explanations – 選択肢とユーザーの嗜好に応じて特性を説明 – 「駅から近く、見晴らしがよくない代わりに安めのホテル」 • Demographic-based style explanations – デモグラフィック情報(性別、年代)を用いた説明 – 「30代男性のあなたにオススメ」 Chapter 10: Explaining Recommendations: Design and Evaluation, Nava Tintarev and Judith Masthoff.
  17. 17. 10: 推薦の説明 説明の目的 • Transparency – 推薦システムがどう動いているかの理解を促進 • Scrutability – ユーザーにシステムの間違いを気づかせて修正を促す • Trust – ユーザーのシステムに対する信頼を高める – インターフェースデザインもシステムの信頼と関係 • Persuasiveness – ユーザーにアイテムを試したり買う気にさせる – ユーザーの評価は実際よりも提示された予測値に寄る傾向 • Effectiveness – ユーザーによりよい選択をさせる – アイテムの消費前と消費後の評価の違いのなさで測ることができる • Efficiency – 意思決定にかかる時間を短くする • Satisfaction – システムを利用する満足度の向上 Chapter 10: Explaining Recommendations: Design and Evaluation, Nava Tintarev and Judith Masthoff.
  18. 18. 11: Netflixの話 コンペと実運用 • Netflix Prize – Matrix FactorizationとRestricted Boltzman Machineが単体ベスト – 最終的には数100のモデルを混合して目標スコアを達成 • Netflixの実際 – 個人の嗜好でなく世帯の嗜好を扱う – ユーザーの嗜好に合わせていることを認知してもらう (信頼の醸成とフィードバックの促進のため) – 予測評価値と人気度のバランスをとって推薦している – ページ全体を最適化している (推薦ジャンルを選択し、ジャンルの中でさらに映画を選択・ランキン グ) Chapter 11: Recommender Systems in Industry: A Netflix Case Study, Xavier Amatriain and Justin Basilico.
  19. 19. 11: Netflixの話 活用データ • Netflixの活用データ – 視聴履歴(毎日5000万回以上) – 入会時の嗜好調査 – 興行収入などの外部情報 – どのアイテムを推薦してどこに表示したかの履歴 – ユーザーのインタラクション(スクロール、マウスオーバー、クリック) – ソーシャルデータ(他のユーザーとのつながり、つながってるユー ザーの行動) – デモグラフィック情報 – デバイス、場所、時間などのコンテキスト Chapter 11: Recommender Systems in Industry: A Netflix Case Study, Xavier Amatriain and Justin Basilico.
  20. 20. 12: 推薦で学習支援 • サポート内容 – コンテンツ、アイテムのオススメ – 勉強仲間の推薦 – 学習成績の予測 • ドメインの特徴をふまえた協調フィルタリングの改良 – 学習者の背景知識、専門性 – 勉強にかけられる時間 – 学習者の目的 – 学習者の時間発展 – 学習者の能力 Chapter 12: Panorama of Recommender Systems to Support Learning, Hendrik Drachsler et al.
  21. 21. 13: 音楽の推薦 • コンテンツベースの推薦 – メタデータ:人手のアノテーションやソーシャルタグ – 音響特徴量:周波数スペクトル形状、時間変化、トーン • コンテキストアウェアな推薦 – 環境: 場所、時間、天気、道路状況、周囲のうるささ、周囲の明るさ – ユーザー: ランニング/ウォーキング/ドライビング、気分や感情、連 れがいるか • プレイリストの自動生成 – 種となる音楽との類似度でフィルタリング – ネットワーク形成してランダムウォーク – 生成モデルを作ってサンプリング Chapter 13: Music Recommender Systems, Markus Schedl et al.
  22. 22. 14: 位置情報にもとづく推薦 • データ – チェックイン – ジオタグ付きの写真 – センサデータからの行動推定、移動モード推定、他者との交流状態 推定 • 推薦のタイプ – 今いる場所の近くの〇〇 – 次の訪問場所予測 – 移動ルートの推薦(観光など) • アルゴリズムや特徴量 – スポットの人気度 – よく通るルートからの距離 – スポット間の距離、遷移確率 – 上記をもとに教師あり学習、ランダムウォーク Chapter 14: The Anatomy of Mobile Location-Based Recommender Systems, Neal Lathia.
  23. 23. 15: ソーシャル推薦 • コンテンツの推薦 – ブログ、マイクロブログ(twitter) – コミュニティの質問回答(StackOverFlow、Yahoo知恵袋) – 仕事(LinkedIn) – ニュース • 人の推薦 – つながりのありそうな人 – フォローすべき人 – 専門家 Chapter 15: Social Recommender Systems, Ido Guy.
  24. 24. 16: 人同士のマッチングの推薦 • 特徴 – 双方がオーケーである必要 – 人気者をたくさんの人にオススメするのはNG – よいマッチングのあと(もう必要ないので)サービス利用やめたりする • 例 – SNS(Facebookなど相互承認のもの) – メンタリングされる人とメンターのマッチング – 仕事の推薦 – オンラインデート、婚活サービス • オンラインデートの場合 – プロファイルの類似性 – インタラクションの履歴 – Explicit preferenceよりimplicit preferenceの方が推薦に有効 Chapter 16: People-to-People Reciprocal Recommenders, Irena Koprinska and Kalina Yacef .
  25. 25. 17: ウェブ検索におけるコラボと推薦 • 検索結果の個人化 – 短期的な関心と長期的なプロファイルを反映 – 検索クエリの曖昧性解消 – 検索結果を協調フィルタリング的方法でランキング • コラボで検索 – 後ろから検索に口出ししたり – 検索結果をシェアしたり – これらをサポートするシステム(非同期や遠隔なども) Chapter 17:Collaboration, Reputation and Recommender Systems in Social Web Search, Barry Smyth, et al.
  26. 26. 18: 意思決定 選択の6パターン • Attribute-based choice – アイテムの特性(のレベル)による選択 – 辞書の場合、見出語の数、使いやすさ、値段、で選ぶなど • Consequence-based choice – 選択によりどういう結果になりそうかをもとに選択(不確実性のもとで) – 行動経済学とかProspect theory(期待効用理論)とも深く関連 • Experience-based choice – 過去の経験に近い選択(無意識的に習慣的に行うものも含めて) • Socially-based choice – 他者の事例や期待や助言に影響された選択 – 社会的な期待、規範に沿おうとするものも含む • Policy-based choice – 特定のポリシーにもとづく選択 – 組織の意思決定の場合に多い • Trial-and-Error-based choice – 実際に試して価値があるか検証して選択 – どのように、どの程度試すかはいろいろ Chapter 18: Human Decision Making and Recommender Systems, Anthony Jameson, et al.
  27. 27. 18: 意思決定 選択に影響する心理効果 • デコイ効果(非対称な優位性効果) • 順序効果 – 最初に並んでいるものほどより関連して重要と認識される – 最後に見たものも印象に残りやすい • フレーミング効果 – 表現のポジネガでの印象の違い – 100人に1人が当たる vs. 100人に99人は外れる • プライミング効果 – 事前の質問や情報で、選択が無意識に変わる – ウェブページの背景画像などにも影響受ける • デフォルト – ついついデフォルト選ぶ – 選択変えるの面倒だから、その選択推奨されてると思うから Chapter 18: Human Decision Making and Recommender Systems, Anthony Jameson, et al. カメラA カメラB カメラC (デコイ) 値段 2万円 4万円 3万円 解像度 500万画素 800万画素 400万画素
  28. 28. 19: 推薦とプライバシー • ユーザー属性の逆推定 – 映画の評価値からデモグラフィック情報 – Facebookのいいねからパーソナリティ • アルゴリズム的な対策 – 評価値やフィードバックデータにノイズを加える – 差分プライバシー(Differential Privacy)の保証 (特定のログが変化しても確率分布が大きく変わらないようにする) • 人間視点の対策 – 情報が必要な理由を説明、情報開示のメリットを提示 – 開示をデフォルトにする • プライバシーリスクの高いドメインの例 – グループ推薦 – 推薦の説明 Chapter 19: Privacy Aspects of Recommender Systems, Arik Friedman, et al.
  29. 29. 20: 推薦システムに対する信頼 • 人同士の場合の信頼の素 – 好きかどうか – 複数の情報源 – 類似性 – 権威の象徴 – 話し方 – ユーモア – 見た目の魅力 – 気づかい – 身近さ • 推薦システムの場合 – 推薦結果の身近さ – 推薦方法に対する説明 – ナビゲーションやレイアウト Chapter 20: Source Factors in Recommender System Credibility Evaluation, Kyung-Hyan Yoo, et al.
  30. 30. 21: パーソナリティと推薦システム 分類例と取得方法 • パーソナリティのタイプ分けの例(Five factor modelまたはBig Five) – Openness to Experience(開放性) – Conscientiousness(勤勉性) – Extraversion(外向性) – Agreeableness(協調性) – Neuroticism(情緒安定性) • パーソナリティの取得方法 – 明示的にアンケートで – Twitterから推定 – ユーザーの嗜好、いいねの履歴から推定 – ビデオゲーム内の行動、携帯の使い方、から推定 Chapter 21: Personality and Recommender Systems, Marko Tkalcic and Li Chen.
  31. 31. 21: パーソナリティと推薦システム 活用方法 • パーソナリティの活用方法 – 新規ユーザー対策(他のユーザーとの類似度を推定) – 推薦の多様性や新規性の要求レベルがパーソナリティによって異な る → パーソナリティによって多様性や新規性を変える – クロスドメインで学習結果を転移するためにパーソナリティに変換 – グループ推薦で、パーソナリティによるグループ内の立ち位置の違い を反映 Chapter 21: Personality and Recommender Systems, Marko Tkalcic and Li Chen.
  32. 32. 22: グループ向け推薦 • 利用シーン – テレビ、旅行などグループで消費するもの – バックミュージックや屋外広告など多人数向けに発信するもの • タイプ分け – 個々の嗜好が既知の場合と時間変化する場合 • 推薦を決める集計方法 – 多数決、平均 – Borda count: 個々のランキングに応じたスコアを合算 – Copeland rule: 他のアイテムより好まれる回数を集計 – Least misery: 一番がっかりする人の評価値で決める – Most pleasure: 一番よろこぶ人の評価値で決める • 発展形 – グループ内の関係を考慮(影響力の強い人に合わせたり) – 一連の推薦を通して最適化(交互に喜ばせたり) Chapter 22:Group Recommender Systems: Aggregation, Satisfaction and Group Attributes, Judith Masthoff.
  33. 33. 23: 集約関数と推薦 • 関数のタイプ – Averaging: 最小値と最大値の間の値をとる – Conjunctive:最小値以下の値 – Disjunctive:最大値以上の値 – Mixed: その他 • 特性 – Idempotent: 全部の値が同じだったら集積結果もその値になる – Symmetric: 関数内の代入順序変えても不変 – Associative: どういう順番で要素同士を集積しても結果は同じ – その他いろいろ – 持たせたい特性によって具体的な関数選ぶ Chapter 23:Aggregation Functions for Recommender Systems, Judith Masthoff.
  34. 34. 24: 推薦システムの能動学習 • データポイントの特性 – 既知の訓練データで代表されているか(既知のクラスタ内) – 未知の評価データを代表するものか(未知のクラスタ内) – 予測精度への寄与度 – ラベル付けのコスト – ラベル付けしてくれやすさ • ラベル付けすべきデータの選定手法のタイプ分け – Uncertainty-based: 不確かなデータ – Error-based: 予測誤差を減らすデータ – Ensemble-based: モデルのアンサンブル内で不一致の多いデータ – Conversation-based: ユーザーの嗜好を形成していく Chapter 24: Active Learning in Recommender Systems, Neil Rubens.
  35. 35. 25: 複数の評価基準による推薦 • カテゴリ分け – 複数の属性条件によるフィルタリング – 複数の指標(精度、多様性、新規性、など)による推薦 – 複数の観点での評価値(味、雰囲気、接客、など)をもとにした推薦 • 手法 – 類似度ベース: 各指標の重要度に応じて類似度を算出 – 集積関数の活用 – 確率モデル: 全体評価と個別の評価との関係をモデル化 – 複数の行列分解の線形和で表現 – ユーザーのポリシーに応じた効用値に変換してランキング – パレート最適なアイテムを探索 Chapter 25: Multi-Criteria Recommender Systems, Gediminas Adomavicius and YoungOk Kwon.
  36. 36. 26: 推薦システムにおける新規性と多様性 • Noveltyの評価指標 – Global Long-Tail Novelty = inverse user frequency (IUF) – User-Specific Unexpectedness: 過去のアイテム(の特性)との違い • Diversityの評価指標 – Average Intra-List Distance:リスト内のアイテム間の距離の平均 – Inter-Recommendation Diversity Metrics: 推薦システムが推薦したアイテム数、ジニ係数やエントロピー • 手法 – (一次ランキング結果をベースに)Noveltyやdiversityに応じて再度ラ ンキング – クラスタリング(して同一クラスタ内では1個までにする) Chapter 26: Novelty and Diversity in Recommender Systems, Pablo Castells, et al.
  37. 37. 27: クロスドメインの推薦システム 目的と手法 • 目的 – システム立ち上げ時のデータ不足 – 新規ユーザー対策 – 新規アイテム対策 – 精度改善(とくにデータがスパースなとき) – 多様性の向上 • 手法 – 共通の表現空間に射影(アイテム属性、ソーシャルタグ) – ユーザー間の類似度やアイテム間の類似度を転移 – ドメインに依存しない特徴量に変換(デモグラ情報やパーソナリティ) Chapter 27: Cross-Domain Recommender Systems, Iván Cantador, et al.
  38. 38. 28: 推薦システムのロバスト性 攻撃と対処 • 攻撃の意図 – 特定アイテムの評価を上げる(product push) – 特定アイテムの評価を下げる(product nuke) • 攻撃方法 – 評価を変えたいアイテム(Target)を高め/低めに入力 – 推薦に影響しやすいよう、他のアイテム(Filler)も選んで評価を入力 • タイプ分け – Random Attack: Fillerの評価値はランダム – Average Attack: Fillerの評価値はそのアイテムの平均評価値 – Bandwagon Attack: Fillerに人気アイテムを選ぶ – Probe Attack: Target入力したときに推薦されるアイテムをFillerに • 攻撃の検出方法 – 教師あり学習で判定 – クラスタリングして変なのを見つける Chapter 28: Robust Collaborative Recommendation, Robin Burke, et al.

×