推薦システムとは
情報をフィルタリングするための技術の一種
ユーザーが次に興味を持つ情報は何か?を科学する。
推薦システムの種類
・協調フィルタリング
同じような行動を行ったユーザーの行動に基づき、まだ見ていない情報を提示する。
Explicit Feedback
Implicit Feedback
コールドスタート問題
ユーザー理解、サービス理解も重要
・内容ベースフィルタリング
自分の過去の行動に基づき、見た情報などに似た情報を提示する。
距離を定義できれば提示できる。
質の評価を組み込むことが重要。
分類モデルを用いることもできる。→ラベル付けされたデータをもとに統計的な手法でラベル付けをする。
(ナイーブベイズ、ロジスティック回帰、SVM)
→ただし、定期的なチューニングが必要。
性能を高めるためには、次元削減も重要。
レコメンドの評価指標
基準の設置
一定以上のユーザーがアクションしているアイテムかどうか
信頼できる情報かどうか
多様性の導入
同じカテゴリの商品がリストに提示される個数を制限する。
同じカテゴリを提示した個数に応じて評価値を減衰させる。
意外性の導入(セレンディピティ)
システムが評価したものとは一致しない情報を推薦リストに載せる。
→この際に一致しない情報は他のユーザーがよく見ているものを選ぶと良い。
A/Bテスト
一部はA/Bテストを行い、一部では同じアルゴリズムを提示し続ける。
推薦システムの長期的影響と短期的影響の両方を考慮するべき。
システム全体に悪影響を及ぼすことがあれば本末転倒である。
レコメンドの最先端
T.B.A
Rで実行するには
RecommendarLab
・レコメンデーションアルゴリズム
・レコメンデーションの評価
・レコメンド用データの整形
・サンプルデータセットもある(5000人分のジョークに対する評価)
Using R package, recommenderlab, for predicting ratings for MovieLens data
参考文献