WebDB Forum 2015 pinterest webpagever

33
Pinterest にににに Pin ににににににににに にににににににに にに ににに ににににに () にに にに ににににに () Joseph A. Konstan University of Minnesota 1

Transcript of WebDB Forum 2015 pinterest webpagever

Page 1: WebDB Forum 2015 pinterest webpagever

Pinterest における Pin 推薦のため

の推薦アルゴリズムの比較

足立 健太郎(大阪大学)土方 嘉徳(大阪大学)

Joseph A. Konstan ( University of Minnesota )

1

Page 2: WebDB Forum 2015 pinterest webpagever

アウトライン

1. はじめに• 研究背景• 関連研究

2. データセット3. 推薦アルゴリズム4. 評価指標5. 結果6. まとめと今後の予定

2

Page 3: WebDB Forum 2015 pinterest webpagever

1. はじめに

3

Page 4: WebDB Forum 2015 pinterest webpagever

ウェブ上で人気なサービスの機能

4

• 画像や動画の収集• コレクションの作成,編集

ソーシャルネットワーキングサービス( SNS )( Twitter , Facebook など)• 文書や画像の投稿• 共有,いいね,コメント機能• ユーザのフォロー

キュレーションサービス( Instapaper , Scoop.it など)

Page 5: WebDB Forum 2015 pinterest webpagever

Pinterest :ソーシャルキュレーションサービス

5

• 文書や画像の投稿• 共有,いいね,コメント機能• ユーザのフォロー

• 画像や動画の収集• コレクションの作成,編集

SNS キュレーションサービス

SNS とキュレーションサービスの機能を併せ持つ

Page 6: WebDB Forum 2015 pinterest webpagever

Pinterest ( マイページ )

6

ボード

7000 万ユーザ (*)10 億ボード (**)500 億ピン (**)(*):2013/7/10

(**):2015/3/31

Page 7: WebDB Forum 2015 pinterest webpagever

推薦システムの必要性

7システムによる画像の推薦が必要

ユーザが自分の意図に適した画像を適切に探しだすのは困難

テーマ1

全ては見られない

約 500 億*

* 2015 年 3 月 31 日時点

推薦システム

Page 8: WebDB Forum 2015 pinterest webpagever

Pinterest におけるユーザの行動

8

自分の嗜好に基づくアイテム収集

従来の想定とは異なる行動の存在

多様なユーザ行動の元で有効なアルゴリズムの発見が必要

従来の推薦システムでの想定

従来の推薦システムの想定外あるテーマに合うコレクションの作成他人に見せるためのアイテム収集

Page 9: WebDB Forum 2015 pinterest webpagever

推薦に用いられる情報

9

1. ピンのコンテンツ情報(説明文)→ コンテンツベースフィルタリング

2. ピンしたかどうか(ユーザ―アイテム評価値行列)→ 協調フィルタリング

3. フォロー関係→ 社会ネットワークに基づく推薦

4. リピンやいいね!の回数→ 人気度に基づく推薦

比較により最適なアルゴリズムを発見できる

Pinterest で取得可能なデータと対応するアルゴリズム

Page 10: WebDB Forum 2015 pinterest webpagever

1. 主要なアルゴリズムの推薦結果の比較を行う

Pinterest において取得可能な情報のうち,

どの情報を用いた推薦が有用かを知る

2. 結果を正確性と発見性に関する指標で評価する

推薦結果の長所・短所を多角的に理解する

研究の目的

10

Page 11: WebDB Forum 2015 pinterest webpagever

関連研究 (1/2)

11

Pinterest の性質に関して• ピン

カテゴリの分布 [1][2][4] 説明文の内容の分析 [1][3] リピンされやすさのモデル化 [3]

• ユーザ フォロワー数・フォロウィ数の分布 [1] 国籍の分布 [1][3] 男女の振る舞いの違い [2][3] 人気度のモデル化 [2]

• Pinterest vs Twitter 用いられる単語 [3] vs Twitter ユーザ行動 [4]

[1] Mittal et al. arXiv preprint 2013 [2] Chang et al. ACM CSCW 2014[3] Gilbert et al. ACM SIGCHI 2013 [4] Ottoni et al. AAAI ICWSM 2014

Page 12: WebDB Forum 2015 pinterest webpagever

関連研究 (2/2)

12

アルゴリズムの比較について

[5] Huang et al.  IEEE 2007 [6] Cremonesi et al. ACM RS 2010[7] Cacheda et al. ACM TWEB 2011 [8] Kluver et al. ACM RS 2014

論文 ドメイン アルゴリズム 評価指標

[5] 服,本,映画 協調フィルタリング,潜在因子モデル,人気度など 7 種類

精度,再現率など 5種類の正確性に関する指標

[6] 映画 ユーザの評価,コンテンツの類似度,協調フィルタリングなど 6 種類

精度,再現率

[7] 映画 10 種類の協調フィルタリング 精度に関する 2 つの指標を提案

[8] 映画 ユーザの評価,協調フィルタリングなど 5 種類

正確性,人気度など11 種類の指標

Page 13: WebDB Forum 2015 pinterest webpagever

2. データセット

13

Page 14: WebDB Forum 2015 pinterest webpagever

クローリング手法の方針

14

Chang らの手法を参考に作成 [Chang, 2014 CSCW]

各ユーザのボードを収集

ユーザ ID を収集

各ボードのピンを収集

シード:直近ピンした 10 ユーザ

フォロワーかフォロウィを辿る

・・・

深さ優先探索

・・

シードに戻る

深さ 1000

HTML 解析

HTML 解析

Pinterest : API の公開なし

プログラムによりブラウザを操作

Page 15: WebDB Forum 2015 pinterest webpagever

データセット

15

アルゴリズム 使用するデータ

コンテンツベースフィルタリング 上記のユーザとそのボード ( 7,674 ボード )

協調フィルタリング 上記

社会ネットワークに基づく推薦 上記のユーザのうち50 ユーザのフォロウィ・フォロワーのピン(3,519,059)

人気度に基づく推薦 上記

*フォロー関係にあるユーザのボード・ピンも取得

ベースとなるデータセット• ユーザ: 200 ( 50 ユーザはフォロー関係を取得* )• ピン : 1,161,373

(各ピンのリピン数,お気に入り数も説明も取得)

Page 16: WebDB Forum 2015 pinterest webpagever

3. 推薦アルゴリズム

16

Page 17: WebDB Forum 2015 pinterest webpagever

コンテンツベースフィルタリング

17

[ 0.27 0.03 0.00 0.30 0.03 ]

ユーザベクトル

[ 0.1 0.1 0.0 0.4 0.0]

ピンベクトル

ピンの特徴量を用いてピンとユーザのベクトルを作成

ユーザ

[ 0.3 0.0 0.0 0.2 0.1][ 0.4 0.0 0.0 0.3 0.0][ 0.1 0.1 0.0 0.4 0.0]

ピンベクトル

ピンに関する説明を用いることで好みに近い内容のピンを推薦する手法

平均

類似度が高いものを推薦する

ボード

ピンの説明文

ボード名ボードの説明 bag-of-

words

Page 18: WebDB Forum 2015 pinterest webpagever

協調フィルタリング

18

[𝐿 0 00 0 𝐿0 0 𝐿 ]学習セット

ユーザベース𝑢1𝑢2𝑢3

[1 0 0 ][0 0 1 ][0 0 1 ]

同じ画像をピンしたユーザから推薦

アイテムベース

[100 ][000 ][011 ]

𝑖1𝑖2𝑖3ピンしたユーザが似ている画像を推薦

ユーザが行,ピンが列となる行列を作成する

同じピンを持つユーザの評価を用いることで好みが似たユーザから推薦する手法

スパース率 1.4% で疎なためSVD や単語,カテゴリを用いた次元削減の結果も評価する

L: 学習セットT: テストセット

[𝐿 0 00 𝑇 𝐿𝑇 0 𝐿 ]

アイテムユー

Page 19: WebDB Forum 2015 pinterest webpagever

19

2 ステップ先

ユーザ1 ユーザ 2

注目ユーザ

フォロー

ピン

1 ステップ先のユーザからのフォロー数により重み付け

推薦

2 ステップ先のユーザからのピン数により重み付け

(1) 2 ステップ先のフォロウィのピンから推薦

嗜好が似ていると考えられる2 ステップ先のユーザから推薦する手法

: ユーザ : ピン

社会ネットワークに基づく推薦 (1/3)

Page 20: WebDB Forum 2015 pinterest webpagever

社会ネットワークに基づく推薦 (2/3)

20

(2) フォロワーのピンから推薦

注目ユーザ

ユーザ 1 ユーザ 2

嗜好が似ていると考えられるフォロワーから推薦する手法

フォロワーからのピン数により重み付け

: ユーザ : ピン

推薦

ピン

フォロー

Page 21: WebDB Forum 2015 pinterest webpagever

社会ネットワークに基づく推薦 (3/3)

21

(3)同じ人をフォローしているユーザのピンから推薦

注目ユーザ

共通のフォロウィ

ピン

同じユーザをフォローしていて嗜好が似ていると考えられる

ユーザから推薦する手法

フォロー

ピンしたユーザ数で重み付け

注目ユーザと同じような嗜好を持つ

: ユーザ : ピン

推薦

Page 22: WebDB Forum 2015 pinterest webpagever

人気度に基づく推薦

22

リピン数 ( 共有数 ) が多い画像を推薦する

全員に同じ画像が推薦される(注目ユーザがピンした画像を除く)

リピン数が多く人気度が高いと考えられるピンを推薦する手法

注目ユーザ : リピン

: ユーザ : ピン

推薦

Page 23: WebDB Forum 2015 pinterest webpagever

4. 評価指標

23

Page 24: WebDB Forum 2015 pinterest webpagever

評価指標 (1/3)

• ヒット率 ( Hit-rate ) [Deshpande ACM TOIS 2004] ユーザのピンが 1 つでも推薦されたユーザの割合

• 精度 @N ( Precision@N ) 推薦リストの上位 N位のうちユーザのピンの割合

• MAP ( Mean Average Precision ) [Buckley MIT Press 2005] ユーザのピンが推薦された順位での精度の平均

• 再現率 ( Recall ) ユーザのピンのうち,推薦されたピンの割合

正確性

Precision@3 = 0.67Precision@5 = = 0.6

1 2 3 4 5 Mean Average Precision=

例えば,リストが次のような時

:ユーザのピン :ユーザのピン以外

24

Page 25: WebDB Forum 2015 pinterest webpagever

評価指標 (2/3)

25

多様性• リスト内類似度 [Ziegler ACM WWW 2005]

推薦リスト内にあるアイテムの多様性(ピンが含まれるボードのカテゴリを用いる)

セレンディピティ • Unserendipity [Zhang ACM WSDM 2012]

ユーザのピンと推薦リスト内のピンの類似度をピンの特徴ベクトルを用いて計算する

ユーザのピンと推薦されたピンの類似度が低ければUnserendipity は高い

Page 26: WebDB Forum 2015 pinterest webpagever

評価指標 (3/3)

26

新規性 • ロングテールに基づく指標 [Celma ACM RecSys 2008]

推薦リスト内の任意のアイテムペアがリピン回数の累積度数分布曲線における“ head”, “mid”, and “tail” のどこか調べる

“head”同士のアイテムペアが多い結果は新規性が低い

左図は縦軸が累積度数割合,横軸が歌手の再生数順位の対数

“head” と”mid” の境は 82位,”mid” と” tail” の境は 6655位

上位 737位で全体の 50%

Page 27: WebDB Forum 2015 pinterest webpagever

5. 結果

27

Page 28: WebDB Forum 2015 pinterest webpagever

0.00000

0.00500

0.01000

0.01500

0.02000

0.02500

0.03000

0.03500

contentSVDsocial 2stepsocial followersocial co-followpopularityrandom

結果 – ヒット率

28

上位 10位の推薦結果における評価

正解アイテムを 1 人でも多くのユーザに提示するためにはコンテンツ情報が有効である

ヒット率が高い

• コンテンツベースフィルタリング• 社会ネットワーク

ヒット率が低い

• 協調フィルタリング• 人気度に基づく推薦

Page 29: WebDB Forum 2015 pinterest webpagever

Precision@10 MAP@10 Recall@10

(0.00200)

0.00000

0.00200

0.00400

0.00600

0.00800

0.01000

contentSVDsocial 2stepsocial followersocial co-followpopularityrandom

結果 – 精度, MAP ,再現率

29

上位 10位の推薦結果における評価

推薦リストの正確性を向上させるためにはコンテンツ情報が有効である

正確性が高い

• コンテンツベースフィルタリング

正確性が低い

• 協調フィルタリング( データが疎のため 働いていない )

Page 30: WebDB Forum 2015 pinterest webpagever

0.00000

0.00100

0.00200

0.00300

0.00400

0.00500

0.00600

contentSVDsocial 2stepsocial followersocial co-followpopularityrandom

結果 – 多様性

30

上位 10位の推薦結果における評価(値が小さいほど高い多様性を示す)

推薦リストの多様性を向上させるためには人気度や社会ネットワークが有効である

多様性が高い

• 人気度に基づく推薦• 社会ネットワーク

多様性が低い

• 協調フィルタリング• コンテンツベース

Page 31: WebDB Forum 2015 pinterest webpagever

0.00000

0.00050

0.00100

0.00150

0.00200

0.00250

0.00300

0.00350

0.00400

0.00450

contentSVDsocial 2stepsocial followersocial co-followpopularityrandom

結果 – セレンディピティ

31

上位 10位の推薦結果における評価(値が小さいほど高いセレンディピティを示す)

推薦リストに意外なアイテムを含むためには協調フィルタリングが有効である

セレンディピティが高い

• 協調フィルタリング• 人気度に基づく推薦

セレンディピティが低い

• コンテンツベース( ユーザのピンと似た 画像が推薦される )

Page 32: WebDB Forum 2015 pinterest webpagever

結果 – 新規性

32

リスト内で任意にアイテムペアを作成した時,“ head” にある画像とペアになるアイテムの分布

推薦リストの新規性を向上させるためにはコンテンツ情報や社会ネットワークが有効である

新規性が高い

• コンテンツベース• 社会ネットワーク

新規性が低い

• 協調フィルタリング• 人気度に基づく推薦content SVD social

2steppopularity random

0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00

100.00

head mid tail

Page 33: WebDB Forum 2015 pinterest webpagever

まとめと今後の予定

33

Pinterest の画像推薦結果を比較し複数の指標で評価した

• 正確性を向上させるにはコンテンツ情報が有用• 多様性には人気度,社会ネットワークが有用• セレンディピティには協調フィルタリングが有用• 新規性はコンテンツ情報,社会ネットワークが有用

アルゴリズム コンテンツベースの推薦 協調フィルタリングによる推薦 社会ネットワークに基づく推薦 人気度に基づく推薦

評価指標 正確性 多様性 セレンディピティ 新規性

今後の予定• アンケートで目的を尋ね,使用目的別評価を行う• オンライン実験により実環境に近い評価を行う