Your SlideShare is downloading. ×
ソーシャルグラフを活用したレコメンデーション - レコメンデーション最前線(?) - #TokyoWebmining 19th
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ソーシャルグラフを活用したレコメンデーション - レコメンデーション最前線(?) - #TokyoWebmining 19th

7,435

Published on

2012/06/23(土)に開催された「第19回 データマイニング+WEB @東京 ( #TokyoWebmining 19th)-データ徹底活用・機械学習 祭り-」での発表資料です。 …

2012/06/23(土)に開催された「第19回 データマイニング+WEB @東京 ( #TokyoWebmining 19th)-データ徹底活用・機械学習 祭り-」での発表資料です。


[概要]
ソーシャルグラフ (Social Network) を活用したレコメンデーションをテーマとして、アカデミックな分野における昨今(最前線?)の研究内容をご紹介します。


[参考資料]
Transitive Node Similarity for Link Prediction in Social Networks with Positive and Negative Links
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.186.2975&rep=rep1&type=pdf
リンク予測問題に対する手法として、FriendTNS アルゴリズムを提案している論文です。

Product Recommendation and Rating Prediction based on Multi-modal Social Networks
http://delab.csd.auth.gr/papers/recsys044-symeonidis.pdf
FriendTNS アルゴリズムを利用し、ソーシャルグラフをつかったレコメンデーションを提案している論文です。

Zansa 第3回勉強会 : Introduction to Recommender Systems
http://www.slideshare.net/komiyaatsushi/introduction-to-recommender-systems-2012130-zansa-3
レコメンデーション入門を目的として作った説明資料です。

Published in: Technology
0 Comments
30 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,435
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
30
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ソーシャルグラフを活用したレコメンデーション- レコメンデーション最前線 (?) -TokyoWebmining #19 2012.6.23KOMIYA Atsushi (@komiya_atsushi) 1
  • 2. Agenda1. 自己紹介&今日の発表について2. 基礎知識3. FriendTNS によるリンク予測4. ソーシャルグラフをレコメンドに 活かす(Social-Union)5. まとめ 2
  • 3. Agenda1. 自己紹介&今日の発表について2. 基礎知識3. FriendTNS によるリンク予測4. ソーシャルグラフをレコメンドに 活かす(Social-Union)5. まとめ 3
  • 4. 自己紹介•小宮 篤史 •@komiya_atsushi •http://k11i.biz/•バックグラウンド •中小 SIer •業務系 Web エンジニア (?) •レコメンドエンジンの研究開発支援 4
  • 5. 今日の発表について 5
  • 6. 今日の発表について 6
  • 7. 今日の発表について•Recommender Systems (RecSys) の ‘10, ’11 で発表された論文をご紹介する 形でお話します 7
  • 8. 今日の発表について•Recommender Systems (RecSys) の ‘10, ’11 で発表された論文をご紹介する 形でお話します•ソーシャルグラフ (Social Network) を 活用したレコメンデーションについて 発表します•キーワード •リンク予測 •ソーシャルグラフ 8
  • 9. 発表内容のサマリー•ユーザーベースのレコメンデーション•協調フィルタリングがベース•リンク予測のアルゴリズムを応用•ソーシャルグラフ上におけるユーザの 類似度を算出•協調フィルタリングによるユーザの 類似度と適度に混ぜ合わせる 9
  • 10. 発表内容のサマリー•ユーザーベースのレコメンデーション•協調フィルタリングがベース•リンク予測のアルゴリズムを応用•ソーシャルグラフ上におけるユーザの 類似度を算出•協調フィルタリングによるユーザの 類似度と適度に混ぜ合わせる 10
  • 11. Agenda1. 自己紹介&今日の発表について2. 基礎知識3. FriendTNS によるリンク予測4. ソーシャルグラフをレコメンドに 活かす(Social-Union)5. まとめ 11
  • 12. 言葉の定義•アイテム • ユーザにより購入・消費される商品、 コンテンツなど • 推薦の対象にもなる•ユーザ • アイテムを購入・消費する存在 • サービスを利用する人•アクティブユーザ • 推薦を受ける対象のユーザ•行動履歴 • アイテムとユーザとの間の関係 • 評価・評点、購買、視聴、閲覧… 12
  • 13. 概要レコメンデーションアイテムのレコメンデーション 協調フィルタリング ユーザーベース アイテムベース コンテンツベースユーザのレコメンデーション(リンク予測) 13
  • 14. 概要レコメンデーションアイテムのレコメンデーション 協調フィルタリング ユーザーベース アイテムベース コンテンツベースユーザのレコメンデーション(リンク予測) 14
  • 15. レコメンデーション 既知の情報をもとに利用者の嗜好・好みを推定する利用者にとって価値ある情報を 予測して提示(おすすめ)する 15
  • 16. レコメンデーションの例 商品写真 16
  • 17. レコメンデーションの例 商品写真 商品写真 商品写真 商品写真 17
  • 18. 協調フィルタリング•ユーザの行動履歴を利用する•「もの」同士の類似度を計算する •ユーザーベース / アイテムベース •コサイン類似度、ピアソン相関係数…•ユーザが購買する可能性の高い アイテムを推薦する •類似度を基にして、アイテムごとに スコアを算出する 18
  • 19. ユーザベースの協調フィルタリングショッピングサイト 商品写真商品写真 商品写真 商品写真 商品写真 Monstersナウシカ ラピュタ 夏目友人帳 蛍火の杜へ Inc. 頼朝さん 義経さん 清盛さん 19
  • 20. ユーザベースの協調フィルタリングショッピングサイト 商品写真商品写真 商品写真 商品写真 商品写真 Monstersナウシカ ラピュタ 夏目友人帳 蛍火の杜へ Inc. 頼朝さん 義経さん 清盛さん 20
  • 21. ユーザベースの協調フィルタリングショッピングサイト 商品写真商品写真 商品写真 商品写真 商品写真 Monstersナウシカ ラピュタ 夏目友人帳 蛍火の杜へ Inc. 頼朝さん 義経さん 清盛さん 21
  • 22. ユーザベースの協調フィルタリングショッピングサイト 商品写真商品写真 商品写真 商品写真 商品写真 Monstersナウシカ ラピュタ 夏目友人帳 蛍火の杜へ Inc. 似てる! 頼朝さん 義経さん 清盛さん 22
  • 23. ユーザベースの協調フィルタリングショッピングサイト 商品写真商品写真 商品写真 商品写真 商品写真 Monstersナウシカ ラピュタ 夏目友人帳 蛍火の杜へ Inc. ラピュタは いかがですか? 頼朝さん 義経さん 清盛さん 23
  • 24. ユーザベースの協調フィルタリング• 定義 • 𝐼(𝑎, 𝑢) … ユーザ a とユーザ u の行動履歴において共 起するアイテムの集合 • 𝑟(𝑢, 𝑖) … ユーザ u がアイテム i に対して付与する評点 (単純な購買・消費の場合には 0/1 を設定する)• ユーザの類似度計算(コサイン類似度) 𝑖∈𝐼 𝑎,𝑢 𝑟(𝑎,𝑖)∙𝑟(𝑢,𝑖) • 𝑠𝑖𝑚 𝑐 (𝑎, 𝑢) = 𝑖∈𝐼 𝑎,𝑢 𝑟 𝑎,𝑖 2 𝑖∈𝐼 𝑎,𝑢 𝑟 𝑢,𝑖 2 ステップ1• アイテムのスコア計算 𝑢∈𝑁(𝑎,𝑖) 𝑠𝑖𝑚 𝑐 (𝑎,𝑢) 𝑟(𝑢,𝑖) • 𝑟′(𝑎, 𝑖) = 𝑢∈𝑁(𝑎,𝑖) 𝑠𝑖𝑚 𝑐 (𝑎,𝑢) ステップ2 24
  • 25. ソーシャルグラフ 25
  • 26. ソーシャルグラフ•人などの「つながり」からなるグラフ •ノード • 人物 • 企業 • キャラクター •リンク(エッジ) • 友達関係、フォロー・フォロワー関係 • コミュニケーション、会話 •例)Facebook, Twitter, mixi… 26
  • 27. リンク予測(Link prediction)•ソーシャルグラフ上において、新しく 作られるであろうリンクを予測する •SNS 上で友達候補を探す手伝いをする 27
  • 28. リンク予測(Link prediction)•ソーシャルグラフの構造を利用して リンクを予測する •リンク構造をもとにユーザ(ノード)の 間の類似度を計算する •類似度の高いユーザが新たなリンクを 設ける候補となる 28
  • 29. リンク予測(Link prediction) b f e a c g d i h 29
  • 30. リンク予測(Link prediction) b f e a c g d i h 30
  • 31. リンク予測の具体的な手法(一部)•グラフの局所的特徴に着目 •Jaccard 係数 •CN (Common Neighbors)•グラフ全体を考慮 •RWR (Random Walk with Restarts) •SimRank 31
  • 32. Jaccard 係数によるリンク予測•ユーザ𝒖 𝒊 と𝒖 𝒋 の間の Jaccard 係数 𝐴(𝑢 𝑖 )∩𝐴(𝑢 𝑗 ) • 𝑱𝒂𝒄𝒄𝒂𝒓𝒅 𝒖 𝒊 , 𝒖 𝒋 = 𝐴(𝑢 𝑖 )∪𝐴(𝑢 𝑗 ) • 𝐴(𝑢 𝑖 ) …ユーザ𝒖 𝒊 とのリンクを有する(隣接 している)ユーザの集合•アクティブユーザからみて Shortest path 的に「友達の友達」に相当するユーザに対 してのみ、Jaccard 係数を計算する • 「友達の友達の友達」は Jaccard 係数が 0 と なる 32
  • 33. Jaccard 係数によるリンク予測 b f e a c ユーザ a と i の間の Jaccard 係数 𝒃, 𝒄, 𝒅, 𝒆 ∩ 𝒃, 𝒄, g 𝒅 𝟑 𝑱𝒂𝒄𝒄𝒂𝒓𝒅 𝒂, 𝒊 = = 𝒃, 𝒄, 𝒅, 𝒆 ∪ 𝒃, 𝒄, 𝒅 𝟒 d i h 33
  • 34. RWR (Random Walk with Restarts)によるリンク予測•概要 •アクティブユーザを起点に、ソーシャル グラフ上をランダムウォークする • 各ノードへの遷移確率は同じとする •一定の確率で、アクティブユーザに戻っ てランダムウォークを再開する(restart) •最終的に、各ノードに滞在している確率 を類似度とする 34
  • 35. Agenda1. 自己紹介&今日の発表について2. 基礎知識3. FriendTNS によるリンク予測4. ソーシャルグラフをレコメンドに 活かす(Social-Union)5. まとめ 35
  • 36. FriendTNS アルゴリズム•概要 • Jaccard 係数や CN のように局所的特徴を押 さえつつ、RWR などのようにグラフ全体の 特徴も考慮したユーザ類似度計算ができる•構成 • Basic node similarity • アクティブユーザとリンクを有するユーザとの 類似度を計算する • Transitive node similarity • 「友達の友達」以上のユーザとの類似度を計算 する 36
  • 37. Basic node similarity•ユーザ𝒖 𝒊 と隣接するユーザ𝒖 𝒋 の間の類 似度を算出する 0, (𝑢 𝑗 ∉ 𝐴(𝑢 𝑖 )) • 𝑠𝑖𝑚 𝑏 𝑢 𝑖 , 𝑢 𝑗 = 1 , (𝑢 𝑗 ∈ 𝐴(𝑢 𝑖 )) 𝑑𝑒𝑔(𝑢 𝑖 )+𝑑𝑒𝑔(𝑢 𝑗 )−1 •𝑑𝑒𝑔(𝑢 𝑖 ) …ユーザ𝒖 𝒊 のリンクの次数 ( 𝐴(𝑢 𝑖 ) に等しい)•特徴 •互いに持つリンクの数が少なければ 少ないほど、高い類似度となる 37
  • 38. Transitive node similarity• Basic node similarity による類似度を利用する• ユーザ𝒖 𝒊 と𝒖 𝒋 の間の shortest path 𝑢 𝑝1 , 𝑢 𝑝2 , . . . 𝑢 𝑝 𝑘+1 を求めて以下を計算する 0, (𝑢 𝑖 から𝑢 𝑗 に至るパスがない場合) • 𝑠𝑖𝑚 𝑡 𝑢 𝑖 , 𝑢 𝑗 = 𝑠𝑖𝑚 𝑏 𝑢 𝑖 , 𝑢 𝑗 , (𝑢 𝑗 ∈ 𝐴(𝑢 𝑖 )) 𝑘 ℎ=1 𝑠𝑖𝑚 𝑏 (𝑢 𝑝ℎ , 𝑢 𝑝ℎ+1 ), (上記以外)• 特徴 • アクティブユーザの「友達」は Basic node similarity の値がそのまま用いられる • アクティブユーザから離れるほどに類似度は低くなる 38
  • 39. Basic node similarity / Transitive node similarityの計算例 b f e a c g d i h 39
  • 40. Basic node similarity / Transitive node similarityの計算例 b f e a c g d i h 40
  • 41. Basic node similarity / Transitive node similarityの計算例 a→b→i のパスで、a と i の類似度 を求めると… 𝑠𝑖𝑚 𝑡 𝑎, 𝑖 = 𝑠𝑖𝑚 𝑏 𝑎, 𝑏 ∙ 𝑠𝑖𝑚 𝑏 (𝑏, 𝑖) 1 1 1 1 1 = ∙ = ∙ = b 4 + 2 − 1 2 + 3 − 1 f 5 4 20 e a 1/20 c g d i h 41
  • 42. Basic node similarity / Transitive node similarityの計算例 b f e a 1/20 c g d i h 42
  • 43. Basic node similarity / Transitive node similarityの計算例 a→e→h のパスで、a と h の類似 度を求めると… 𝑠𝑖𝑚 𝑡 𝑎, ℎ = 𝑠𝑖𝑚 𝑏 𝑎, 𝑒 ∙ 𝑠𝑖𝑚 𝑏 (𝑒, ℎ) 1 1 1 1 1 = ∙ = ∙ = 4 + 3 − 1 3 + 1 b 1 6 3 18 − f e a 1/18 1/20 c g d i h 43
  • 44. FriendTNS の計算量・性能•計算量 •空間:𝑂(𝑛 + 𝑚) •時間:𝑂 𝑚 + 𝑛 log 𝑛 •m … エッジ数、n … ユーザ数•性能 •精度(Precision/Recall) • FriendTNS >>> RWR >> CN •計算時間 • CN >> FriendTNS > RWR 44
  • 45. FriendTNS の計算量・性能•計算量 •空間:𝑂(𝑛 + 𝑚) •時間:𝑂 𝑚 + 𝑛 log 𝑛 •m … エッジ数、n … ユーザ数•性能 Q. リンク予測って •精度(Precision/Recall) 実際に使われているの? • FriendTNS >>> RWR >> CN •計算時間 • CN >> FriendTNS > RWR 45
  • 46. Agenda1. 自己紹介&今日の発表について2. 基礎知識3. FriendTNS によるリンク予測4. ソーシャルグラフをレコメンドに 活かす(Social-Union)5. まとめ 46
  • 47. Social-Union アルゴリズム•ユーザ類似度を混ぜ合わせる •FriendTNS (Transitive node similarity)に より得られるソーシャルグラフ上での ユーザ類似度 •協調フィルタリングのユーザ類似度 (コサイン類似度など)•新たに得られたユーザ類似度をもとに、 アイテムのスコア計算を行う •従来の協調フィルタリングと変わらず 47
  • 48. ユーザベースの協調フィルタリング• 定義 • 𝐼(𝑎, 𝑢) … ユーザ 𝑎 とユーザ 𝑢 の行動履歴において共 起するアイテムの集合 • 𝑟(𝑢, 𝑖) … ユーザ 𝑢 がアイテム𝑖に対して付与する評点 (単純な購買・消費の場合には 0/1 を設定する)• ユーザの類似度計算(コサイン類似度) 𝑟(𝑎,𝑖)∙𝑟(𝑢,𝑖) この式が変わります 𝑟 • 𝑠𝑖𝑚 𝑐 (𝑎, 𝑢) = 𝑟 𝑎,𝑖 𝑖∈𝐼 𝑎,𝑢 𝑖∈𝐼 𝑎,𝑢 2 𝑖∈𝐼 𝑎,𝑢 𝑢,𝑖 2 ステップ1• アイテムのスコア計算 𝑢∈𝑁(𝑎,𝑖) 𝑠𝑖𝑚 𝑐 (𝑎,𝑢) 𝑟(𝑢,𝑖) • 𝑟′(𝑎, 𝑖) = 𝑢∈𝑁(𝑎,𝑖) 𝑠𝑖𝑚 𝑐 (𝑎,𝑢) ステップ2 48
  • 49. ユーザ類似度の計算方法•ユーザ類似度計算式 • 𝑠𝑖𝑚 𝑢 𝑢 𝑖 , 𝑢 𝑗 = 1 − 𝑎 𝑠𝑖𝑚 𝑡 (𝑢 𝑖 , 𝑢 𝑗 ) + 𝑎 ∙ 𝑠𝑖𝑚 𝑐 (𝑢 𝑖 , 𝑢 𝑗 ) • 𝑠𝑖𝑚 𝑡 (𝑢 𝑖 , 𝑢 𝑗 ) … FriendTNS により得られる ユーザ 𝑢 𝑖 と 𝑢 𝑗 の類似度 • 𝑠𝑖𝑚 𝑐 (𝑢 𝑖 , 𝑢 𝑗 ) … 従来の協調フィルタリングに よるユーザ類似度(コサイン類似度) • 𝑎 … アクティブユーザ 𝑢 𝑖 ごとに設定 される [0,1] の範囲のパラメータ 49
  • 50. パラメータ a の算出• 定義 • 𝑛 … ユーザ数 • 𝑚 … ソーシャルグラフ上のリンク総数 • 𝐼(𝑢 𝑖 ) … ユーザ𝑢 𝑖 が購買したアイテムの集合 • 𝐼 … すべてのアイテムを含む集合• 計算式 𝑑𝑅 • 𝑎= 𝑑𝐴+𝑑𝑅 𝑙𝑜𝑐𝑎𝑙𝐴 deg 𝑢 𝑖 /𝑛 • 𝑑𝐴 = = 𝑔𝑙𝑜𝑏𝑎𝑙𝐴 𝑚/𝑛2 𝑙𝑜𝑐𝑎𝑙𝑅 𝐼(𝑢 𝑖 ) / 𝐼 • 𝑑𝑅 = = 𝑔𝑙𝑜𝑏𝑎𝑙𝑅 ( 𝑢 𝐼(𝑢) ) / (𝑛∙ 𝐼 ) 50
  • 51. パラメータ a の算出• 定義 • 𝑛 … ユーザ数 • 𝑚 … ソーシャルグラフ上のリンク総数 • 𝐼(𝑢 𝑖 ) … ユーザ𝑢 𝑖 が購買したアイテムの集合 • 𝐼 … すべてのアイテムを含む集合• 計算式 分子:アクティブユーザのリンク密度 𝑑𝑅 分母:ソーシャルグラフ全体のリンク密度 • 𝑎= 𝑑𝐴+𝑑𝑅 𝑙𝑜𝑐𝑎𝑙𝐴 deg 𝑢 𝑖 /𝑛 • 𝑑𝐴 = = 𝑔𝑙𝑜𝑏𝑎𝑙𝐴 𝑚/𝑛2 𝑙𝑜𝑐𝑎𝑙𝑅 𝐼(𝑢 𝑖 ) / 𝐼 • 𝑑𝑅 = = 𝑔𝑙𝑜𝑏𝑎𝑙𝑅 ( 𝑢 𝐼(𝑢) ) / (𝑛∙ 𝐼 ) 51
  • 52. パラメータ a の算出• 定義 • 𝑛 … ユーザ数 • 𝑚 … ソーシャルグラフ上のリンク総数 • 𝐼(𝑢 𝑖 ) … ユーザ𝑢 𝑖 が購買したアイテムの集合 • 𝐼 … すべてのアイテムを含む集合• 計算式 分子:アクティブユーザのリンク密度 𝑑𝑅 分母:ソーシャルグラフ全体のリンク密度 • 𝑎= 𝑑𝐴+𝑑𝑅 𝑙𝑜𝑐𝑎𝑙𝐴 deg 𝑢 𝑖 /𝑛 • 𝑑𝐴 = = 分子:アクティブユーザの購買密度 𝑔𝑙𝑜𝑏𝑎𝑙𝐴 𝑚/𝑛2 分母:ユーザ全体の購買密度 𝑙𝑜𝑐𝑎𝑙𝑅 𝐼(𝑢 𝑖 ) / 𝐼 • 𝑑𝑅 = = 𝑔𝑙𝑜𝑏𝑎𝑙𝑅 ( 𝑢 𝐼(𝑢) ) / (𝑛∙ 𝐼 ) 52
  • 53. Social-Union はどのようなサービスに効果的か?•論文で使用しているデータセットは… 53
  • 54. Social-Union はどのようなサービスに効果的か?•論文で使用しているデータセットは… 54
  • 55. Social-Union はどのようなサービスに効果的か?•論文で使用しているデータセットは… どちらも批評に特化した SNS… 55
  • 56. Social-Union はどのようなサービスに効果的か?•論文で使用しているデータセットは… Q. 他に応用できる場面は ないのだろうか? どちらも批評に特化した SNS… 56
  • 57. Agenda1. 自己紹介&今日の発表について2. 基礎知識3. FriendTNS によるリンク予測4. ソーシャルグラフをレコメンドに 活かす(Social-Union)5. まとめ 57
  • 58. まとめ•ユーザーベースのレコメンデーション•協調フィルタリングがベース•リンク予測のアルゴリズムを応用•ソーシャルグラフ上におけるユーザの 類似度を算出 •FriendTNS アルゴリズム•協調フィルタリングによるユーザの 類似度と適度に混ぜ合わせる •Social-Union アルゴリズム 58
  • 59. ご静聴ありがとうございました! 59
  • 60. 参考文献•Product Recommendation and Rating Prediction based on Multi-modal Social Networks. • P. Symeonidis, E. Tiakas, and Y. Manolopoulos. • http://delab.csd.auth.gr/papers/recsys044- symeonidis.pdf•Transitive Node Similarity for Link Prediction in Social Networks with Positive and Negative Links. • P. Symeonidis, E. Tiakas, and Y. Manolopoulos. • http://citeseerx.ist.psu.edu/viewdoc/download?doi =10.1.1.186.2975&rep=rep1&type=pdf 60
  • 61. 参考文献•The Link Prediction Problem for Social Networks. •D. Liben-Nowell and J. Kleinberg. •http://www.cs.cornell.edu/home/kleinber/lin k-pred.pdf 61

×