Contenu connexe
Similaire à Introduction to Recommender Systems 2012.1.30 Zansa #3 (20)
Introduction to Recommender Systems 2012.1.30 Zansa #3
- 4. 自己紹介・バックグラウンド
• 名前 / Twitter ID
• 小宮 篤史(@komiya_atsushi)
• おしごと
• Web / RIA エンジニア @ 中小 SIer
• レコメンデーション関連やらテキストマイ
ニング的な研究開発 ”支援” をしてます
• 学部・院時代
• 情報理論・情報源符号化(データ圧縮)の
研究をしてました
- 6. おことわり
• 本勉強会で発表する内容は、主観的な
意見・見解が多分に含まれています
• 所属する会社・組織の意見・見解とは
無関係であることはもちろんのこと、
業界の一般的な意見・見解でもないこ
とにご注意ください
• あくまでも一個人の意見です
- 15. いろんな「レコメンデーション」
• 「アイテム」の推薦
• ECサイト(例:Amazon)
• 販売している「商品」を推薦する
• ニュースサイト(例:asahi.com)
• 購読している記事の「関連記事」を推薦する
• 音楽関連サービス(例:last.fm)
• 「アーティスト」や「曲」を推薦する
• 「ユーザ」の推薦
• 各種 SNS(Twitter, Facebook…)
• リンクレコメンデーション
- 16. いろんな「レコメンデーション」
• 「アイテム」の推薦
• ECサイト(例:Amazon)
• 販売している「商品」を推薦する
• ニュースサイト(例:asahi.com)
• 購読している記事の「関連記事」を推薦する
• 音楽関連サービス(例:last.fm)
• 「アーティスト」や「曲」を推薦する
• 「ユーザ」の推薦
今回お話するのは
• 各種 SNS(Twitter, Facebook…)
こちらです
• リンクレコメンデーション
- 17. 何のために「レコメンデーション」するのか?
• サービス提供サイド
• 売り上げをアップさせたい
• 興味のありそうな商品を提示することで、ユー
ザの購入機会・意欲を増やす
• ユーザの興味を開拓し、優良顧客に変えていく
• PV 数を稼ぐことで、広告収入の増加を見込む
• ユーザサイド
• セレンディピティ(幸運を掴み取る能力)
• いままで知り得なかった「情報」を知ることが
できる
• 新たな「興味」を発掘することができる
- 18. レコメンデーションの精度・性能を測るには?
• 定性的評価
• 被験者にレコメンデーション結果の良し悪
しを評価してもらう
• 定量的評価
• 正解アイテムの数に着目する
(Precision, Recall)
• 評点(レーティング)の誤差に着目する
(MAE, RMSE)
• レコメンデーション結果の提示順序を
含めた質を測る (MAP, nDCG)
- 19. Precision, Recall (適合率、再現率)
• 定義
• N…レコメンドされたアイテムの集合
• C…ユーザにとっての正解アイテムの集合
• R…N に含まれる正解アイテムの集合
������
• ������������������������������������������������������ =
������
������
• ������������������������������������ =
������
- 20. MAE, RMSE
(Mean absolute error, Root mean square error)
• 定義
• ������…アイテムの個数
• ������������ …アイテム i に対する予測評点
• ������������ …アイテム i に対するユーザの評点
1 ������
• ������������������ = ������������ − ������������
������
������
(������������ −������������ )2
• ������������������������ =
������
- 21. MAP (Mean average precision)
• 定義
• ������(������) … レコメンデーション結果の上位 k 個
における適合率
• ������������������(������) … レコメンデーション結果の上位から
k 番目のアイテムが正解の場合に 1、不正解
なら 0
• ������������������������(������) … ユーザ u の平均適合率
������
������=1(������(������) × ������������������(������))
������������������������ ������ =
������
������∈������ ������������������������(������)
• ������������������ =
������
- 23. 言葉の定義
• アイテム
• ユーザにより購入・消費される商品や
コンテンツ
• レコメンデーションの対象となる
• ユーザ
• アイテムを購入・消費する存在
• 評点
• レーティング、点数(Amazon の星の数)
• アクティブユーザ
• アイテムのレコメンデーションを受けるユーザ
- 26. 二つのアプローチ
• コンテンツベース
• アイテムそのものの内容やメタデータを利用し、
類似性・関連性を計算する
• レコメンデーション結果がありきたりになりがち
• 協調フィルタリングベース
• ユーザの行動履歴を利用し、類似度を計算する
• 評点に基づく行動履歴であれば、類似度をもとに、
アクティブユーザが付与するであろう予測評点を
計算する
• ユーザベースの手法とアイテムベースの
手法が存在する
- 28. コンテンツベース・レコメンデーションの例
「探偵ガリレオ」
著者:東野 圭吾
ジャンル:ミステリー、探偵モノ
容疑者Xの献身 さまよう刃 八つ墓村
(シリーズが同じ) (著者が同じ) (ジャンルが同じ)
- 30. 協調フィルタリング
ユーザベースとアイテムベース (2/2)
徳川 松平 山内 坂本
探偵ガリレオ 購入 購入
容疑者Xの献身 購入 購入 購入
さまよう刃 購入 購入
八つ墓村 購入 購入
• ユーザベースだと…
• 「徳川」と「松平」は二つの同じ商品を購入しているから、
二人のユーザは類似しているだろう
• アイテムベースだと…
• 「探偵ガリレオ」と「容疑者Xの献身」を両方とも購入して
いる二人のユーザがいるから、二つのアイテムは類似してい
るだろう
- 31. ユーザベースの協調フィルタリング (1/2)
ユーザ間の類似度を算出する
• 定義
• ������������������ … ユーザ a とユーザ u の行動履歴に共起するアイ
テムの集合
• ������������������ … ユーザ u がアイテム i に対して付与する評点
• コサイン類似度 (Cosine similarity)
������∈������������������ ������������������ ������������������
• ������������������ =
2
������������������ 2
������������������
������∈������������������ ������∈������������������
• ピアソン相関係数 (Pearson correlation)
������∈������������������ (������������������ −������������ )(������������������ −������������ )
• ������������������ = 2 2
������∈������������������ ������������������ −������������ ������∈������������������ ������������������ −������������
- 32. ユーザベースの協調フィルタリング (2/2)
予測評点を計算する
• 定義
• ������(������, ������) … ユーザ a に類似しており、アイテ
ム i を評点づけしているユーザの集合
• 評点の予測値算出式
• コサイン類似度
������∈������(������,������) ������������������ ������������������
• ������′������������ =
������∈������(������,������) ������������������
• ピアソン相関係数
������∈������(������,������) ������������������ (������������������ −������������ )
• ������′������������ = ������������ +
������∈������(������,������) ������������������
- 33. ユーザベース協調フィルタリングの例 (1/3)
サンプルデータ
映画タイトル 徳川 松平 山内
ロード・オブ・ザ・リング ★★★★★ ★★★★★ ★
ハリー・ポッター ★★★★ ★★★★★ ★★
フォレスト・ガンプ ★★★ ★★★ ★★★
ダイ・ハード ★★ ★ ★★★★
ソウ ★ ★ ★★★★★
13日の金曜日 ? ★ ★★★★★
ナルニア国物語 ? ★★★★★ ★
徳川さんにおすすめするべき
映画はどちらが好ましいか?
予測評点を算出して
比較してみましょう
- 34. ユーザベース協調フィルタリングの例 (2/3)
ユーザ間類似度を計算する
映画タイトル 徳川 松平 山内
ロード・オブ・ザ・リング ★★★★★ ★★★★★ ★
ハリー・ポッター ★★★★ ★★★★★ ★★
フォレスト・ガンプ ★★★ ★★★ ★★★
ダイ・ハード ★★
徳川さんと行動履歴が類似する
★ ★★★★
ユーザは松平さん。
ソウ ★ ★ ★★★★★
ピアソン相関係数の方がより
13日の金曜日 ? ★ ★★★★★
明らかな結果となる。
ナルニア国物語 ? ★★★★★ ★
徳川さんとの類似度
(コサイン類似度) 0.984 0.636
徳川さんとの類似度
(ピアソン相関係数) 0.949 -1.000
- 35. ユーザベース協調フィルタリングの例 (3/3)
評点予測値を計算する
映画タイトル 松平 山内
13日の金曜日 ★ ★★★★★
ナルニア国物語 ★★★★★ ★
徳川さんとの類似度(コサイン) 0.984 0.636
徳川さんとの類似度(ピアソン) 0.949 -1.000
映画タイトル 予測値 予測値
(コサイン) (ピアソン)
徳川さんには
13日の金曜日 2.570 1.000
「ナルニア国物語」
ナルニア国物語 3.429 5.000 がオススメ!
- 37. 協調フィルタリングのダメなところ
• 計算量・オンライン処理
• ユーザ・アイテムの規模が大きくなると、ナイーブ実装では
計算量的にオンライン処理ができなくなる
• コールドスタート問題
• 十分な行動履歴がないと、まともな推薦ができない
• サービス開始直後や、新規ユーザ・新規アイテムの登録時に
発生する
• コンテンツベースの手法と組み合わせて改善可能
• スパース問題
• アイテム数が多すぎて、ユーザ間・アイテム間の関係性が疎
になってしまう
• Random walk を取り入れることで改善可能
http://www.slideshare.net/komiyaatsushi/tokyo-webmining-
8cfrwr
- 38. そのほかの協調フィルタリング手法
• アイテムベース
• Amazon の手法だと、オフラインの前処理が
必要になるものの、オンラインでのレコメ
ンデーションが可能になる
• http://blog.k11i.biz/2011/06/amazon-item-to-item-
cf.html
• Slope one
• オンラインでのレコメンデーションが可能
で、行動履歴の変更にもすぐに追従できる
• http://lemire.me/fr/documents/publications/lemir
emaclachlan_sdm05.pdf
- 40. 3. 実サービスへの適用
※注意!
ここから先の説明は、発表者の主観が特に
強く現れていますのでご注意ください。
- 45. ユーザの気分を損なわせない
• アイテムによっては、ターゲットとしてい
る客層が存在する
• 成人男性向け、幼児・キッズ向け…
• 客層を無視してレコメンデーションをして
しまうと
• ユーザの気分を不快にさせてしまう
• 「レコメンデーション」というシステムに
悪印象を与えてしまう
• ユーザのプロファイルを参考に、レコメン
デーション結果をフィルタリングする
- 46. レコメンデーションの理由付け
• 協調フィルタリングでは、ときに突飛なレコ
メンデーションが行われてしまうことも
• ユーザにしてみると、なぜレコメンドされたのか
がわからず、自分に価値のあるアイテムかどうか
判断できない
• レコメンデーションの妥当性・納得感をユー
ザに与える「理由」「背景」を添えることで、
突飛な印象を幾分和らげることができる
• 「この商品を買った人は、こんな商品も買ってい
ます」
• 「この商品を見た後に買っているのは?」
- 47. レコメンドする状況・タイミング
• サービス提供者として、どの状況でレコメ
ンデーションをしたいのか?
• サービスにユーザがログインしているとき
だけ?
• サインアップ前のユーザに対してもレコメ
ンデーションしたい?
• 状況・シーンにより、利用できる手法が限
られる
• 前者の状況であればユーザベースの手法が
使えるが、後者はアイテムベースの手法し
か使えない