Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[RecSys2020論文読み会]Contextual and Sequential User Embeddings for Large-Scale Music Recommendation

okukenta
October 17, 2020

[RecSys2020論文読み会]Contextual and Sequential User Embeddings for Large-Scale Music Recommendation

RecSys2020論文読み会での論文紹介資料です。
https://connpass.com/event/189192/

紹介論文:
C. Hansen, C. Hansen, L. Maystre, R. Mehrotra, B. Brost, F. Tomasi, M. Lalmas, Contextual and Sequential User Embeddings for Large-Scale Music Recommendation, In Proceedings of the 14th ACM conference on Recommender systems, pp.53-62, 2020.

okukenta

October 17, 2020
Tweet

More Decks by okukenta

Other Decks in Research

Transcript

  1. Contextual and Sequential User Embeddings for Large-Scale Music Recommendation
 C.

    Hansen, C. Hansen, L. Maystre, R. Mehrotra, B. Brost, F. Tomasi, M. Lalmas 
 2020年10月17日
 RecSys2020論文読み会
 紹介者:龍谷大学 奥 健太
 紹介論文

  2. Spotifyデータセット
 + + - セッション t-1 + 再生された楽曲
 - スキップされた楽曲


    + - + セッション t @
 t : セッションインデックス N t : セッション t 内の楽曲数
 z t : セッション t のストリームソース 
 (プレイリスト,トップチャートなど) 
 Δ t : 前セッションからの経過時間 
 Y t : 楽曲聴取に用いられたデバイス 
 (モバイル,デスクトップなど) D t : 聴取時の曜日 H t : 聴取時の時刻
 2019/4/1~5/31の期間でユーザの聴取履歴を収集
 200,000 users, 220 sessions/user, 10 tracks/session 
 聴取履歴をセッションに分割
 • ある時間間隔で聴取された楽曲集合をセッションとする
 • 聴取されていない時間が20分以上あるところでセッションを分割
 コンテキスト c t
  3. LSTM CoseRNN
 N t-1 z t-1 Δ t s t-1

    + c t LSTM f t + o t-1 + h t-1 + o t + o t u t o t + h t + o t - s t -, s t + : セッション分散表現*の観測値 ( skipped/played)
 *セッション内の各楽曲分散表現の平均 
 u t : セッションレベルのユーザ分散表現の予測値 
 : シーケンス/コンテキスト依存のユーザ分散表現 
 : コンテキスト非依存の長期ユーザ分散表現 
 u t と s t + の類似度を最大化するようにモデルを学習
 論文Figure 4および5.1の内容を基に作成 
 過去の聴取履歴と現在のコンテキストに基づき,
 セッションの冒頭で,そのセッションにおいて
 どの楽曲が再生されるかを予測

  4. LSTM CoseRNN | 構成
 N t-1 z t-1 Δ t

    s t-1 + c t LSTM f t + o t-1 + h t-1 + o t + o t u t o t + h t + o t - 論文Figure 4および5.1の内容を基に作成 
 スキップされた楽曲につ いても同様の構成 過去のセッション分散表現の加重平均 
 (直近ほど重み大)
 長期ユーザ分散表現

  5. LSTM CoseRNN | 学習
 N t-1 z t-1 Δ t

    s t-1 + c t LSTM f t + o t-1 + h t-1 + o t + o t u t o t + h t + o t - 論文Figure 4および5.1の内容を基に作成 
 u t と s t + の類似度を最大化するようにモデルを学習
 損失関数ℓを最小化
 : 学習データセット
 i : ユーザインデックス
 t : セッションインデックス
 u t と s t + は単位ベクトルであるので,
 内積によりコサイン類似度を計算可能 

  6. 評価実験設定
 Spotifyデータセットを用いて,セッション t までの聴取履歴に基づき,
 セッション t のユーザ分散表現 u t を予測


    + + - セッション t-1 + - + セッション t u t s t + 予測値
 比較
 - + - セッション t-2 + … 正解値

  7. 結果
 Session ranking Track ranking K = 20 K =

    50 K = 20 K = 50 Model Cosine MRR Rank MRR Rank mAP Rec@10 mAP Rec@10 Last, any cxt 0.6527 0.1721 10.0767 0.1133 21.9245 0.3585 0.4394 0.1300 0.1372 Last, same cxt 0.5990 0.2094 9.3128 0.1009 23.5288 0.3398 0.4223 0.1154 0.1156 Avg. any cxt 0.6797 0.1835 10.0882 0.1034 23.7337 0.3485 0.4250 0.1225 0.1291 Avg. same cxt 0.6609 0.2087 9.3365 0.1031 23.4767 0.3476 0.4313 0.1199 0.1239 Popularity 0.4278 0.2012 9.5670 0.0967 24.0233 0.3457 0.4338 0.1165 0.1190 RRN [35] 0.6918 0.1970 9.6689 0.1286 21.2980 0.3794 0.4678 0.1425 0.1594 LatentCross [3] 0.6921 0.1967 9.6669 0.1286 21.2610 0.3794 0.4678 0.1422 0.1592 JODIE [21] 0.6970 0.2079 9.3438 0.1303 21.2258 0.3836 0.4734 0.1450 0.1638 CoSeRNN (ours) 0.7115 0.2319 8.6642 0.1507 19.5288 0.4011 0.4981 0.1574 0.1816 Oracle half 0.7077 0.4723 5.2294 0.3711 11.3131 0.7732 0.8052 0.5824 0.6163 Oracle full 1.0000 0.9985 1.0067 0.9988 1.0068 0.8323 0.8861 0.6220 0.6951 論文Table 2の内容を基に作成 

  8. 結果 | ベースライン
 Session ranking Track ranking K = 20

    K = 50 K = 20 K = 50 Model Cosine MRR Rank MRR Rank mAP Rec@10 mAP Rec@10 Last, any cxt 0.6527 0.1721 10.0767 0.1133 21.9245 0.3585 0.4394 0.1300 0.1372 Last, same cxt 0.5990 0.2094 9.3128 0.1009 23.5288 0.3398 0.4223 0.1154 0.1156 Avg. any cxt 0.6797 0.1835 10.0882 0.1034 23.7337 0.3485 0.4250 0.1225 0.1291 Avg. same cxt 0.6609 0.2087 9.3365 0.1031 23.4767 0.3476 0.4313 0.1199 0.1239 Popularity 0.4278 0.2012 9.5670 0.0967 24.0233 0.3457 0.4338 0.1165 0.1190 RRN [35] 0.6918 0.1970 9.6689 0.1286 21.2980 0.3794 0.4678 0.1425 0.1594 LatentCross [3] 0.6921 0.1967 9.6669 0.1286 21.2610 0.3794 0.4678 0.1422 0.1592 JODIE [21] 0.6970 0.2079 9.3438 0.1303 21.2258 0.3836 0.4734 0.1450 0.1638 CoSeRNN (ours) 0.7115 0.2319 8.6642 0.1507 19.5288 0.4011 0.4981 0.1574 0.1816 Oracle half 0.7077 0.4723 5.2294 0.3711 11.3131 0.7732 0.8052 0.5824 0.6163 Oracle full 1.0000 0.9985 1.0067 0.9988 1.0068 0.8323 0.8861 0.6220 0.6951 論文Table 2の内容を基に作成 

  9. ベースライン | heuristic手法
 Last, any cxt: 直前のセッションベクトル s t-1 +

    によりセッション t の分散表現を予測
 Last, same cxt: Last, any cxtと同様.セッション t と同一のコンテキストに限定
 Avg, any cxt: 過去の全セッションベクトルの加重平均としてセッション t をモデル化
 Avg, same cxt: Avg, any cxtと同様.セッション t と同一のコンテキストに限定
 Popularity: 最も人気のある楽曲を含むセッション 

  10. ベースライン | state-of-the-art手法
 JODIE [Kumar+2019]
 RRN [Wu+2017]
 LatentCross [Beutel+2018]
 コンテキストおよびシーケンスを考慮したモデル


    ユーザ分散表現
 静的
 時間に応じて変化しない
 なし
 CoSeRNN: 本研究
 長期ユーザ分散表現

  11. 結果 | Session rankingタスク
 Session ranking Track ranking K =

    20 K = 50 K = 20 K = 50 Model Cosine MRR Rank MRR Rank mAP Rec@10 mAP Rec@10 Last, any cxt 0.6527 0.1721 10.0767 0.1133 21.9245 0.3585 0.4394 0.1300 0.1372 Last, same cxt 0.5990 0.2094 9.3128 0.1009 23.5288 0.3398 0.4223 0.1154 0.1156 Avg. any cxt 0.6797 0.1835 10.0882 0.1034 23.7337 0.3485 0.4250 0.1225 0.1291 Avg. same cxt 0.6609 0.2087 9.3365 0.1031 23.4767 0.3476 0.4313 0.1199 0.1239 Popularity 0.4278 0.2012 9.5670 0.0967 24.0233 0.3457 0.4338 0.1165 0.1190 RRN [35] 0.6918 0.1970 9.6689 0.1286 21.2980 0.3794 0.4678 0.1425 0.1594 LatentCross [3] 0.6921 0.1967 9.6669 0.1286 21.2610 0.3794 0.4678 0.1422 0.1592 JODIE [21] 0.6970 0.2079 9.3438 0.1303 21.2258 0.3836 0.4734 0.1450 0.1638 CoSeRNN (ours) 0.7115 0.2319 8.6642 0.1507 19.5288 0.4011 0.4981 0.1574 0.1816 Oracle half 0.7077 0.4723 5.2294 0.3711 11.3131 0.7732 0.8052 0.5824 0.6163 Oracle full 1.0000 0.9985 1.0067 0.9988 1.0068 0.8323 0.8861 0.6220 0.6951 論文Table 2の内容を基に作成 

  12. Session rankingタスク
 直近 K セッションにおいて,
 モデルがどれだけセッション t を上位に予測できるかを評価
 直近 K

    セッション (例;K = 3)
 MRR (Mean Reciprocal Rank)
 平均順位
 セッション
 セッションベクトル
  u t との類似度
 順位 t-2 s t-2 + 0.7 3 t-1 s t-1 - 0.9 1 t s t + 0.8 2
  13. 結果 | Track rankingタスク
 Session ranking Track ranking K =

    20 K = 50 K = 20 K = 50 Model Cosine MRR Rank MRR Rank mAP Rec@10 mAP Rec@10 Last, any cxt 0.6527 0.1721 10.0767 0.1133 21.9245 0.3585 0.4394 0.1300 0.1372 Last, same cxt 0.5990 0.2094 9.3128 0.1009 23.5288 0.3398 0.4223 0.1154 0.1156 Avg. any cxt 0.6797 0.1835 10.0882 0.1034 23.7337 0.3485 0.4250 0.1225 0.1291 Avg. same cxt 0.6609 0.2087 9.3365 0.1031 23.4767 0.3476 0.4313 0.1199 0.1239 Popularity 0.4278 0.2012 9.5670 0.0967 24.0233 0.3457 0.4338 0.1165 0.1190 RRN [35] 0.6918 0.1970 9.6689 0.1286 21.2980 0.3794 0.4678 0.1425 0.1594 LatentCross [3] 0.6921 0.1967 9.6669 0.1286 21.2610 0.3794 0.4678 0.1422 0.1592 JODIE [21] 0.6970 0.2079 9.3438 0.1303 21.2258 0.3836 0.4734 0.1450 0.1638 CoSeRNN (ours) 0.7115 0.2319 8.6642 0.1507 19.5288 0.4011 0.4981 0.1574 0.1816 Oracle half 0.7077 0.4723 5.2294 0.3711 11.3131 0.7732 0.8052 0.5824 0.6163 Oracle full 1.0000 0.9985 1.0067 0.9988 1.0068 0.8323 0.8861 0.6220 0.6951 論文Table 2の内容を基に作成 

  14. 楽曲
  との類似度
 順位 k + / -
 y k 楽曲1

    0.7 3 + 1 楽曲2 0.9 1 + 1 楽曲3 0.8 2 - 0 Track ranking
 直近 K 件の楽曲について,
 ユーザが再生してきた楽曲をモデルがどれだけ上位に予測できるかを評価
 直近 K 件の楽曲 (例;K = 3)
 mAP (Mean Average Precision)
 平均再現率 (Recall@10)
 I u + : ユーザ u が再生した楽曲集合
 I K : 上位10件の推薦アイテムリスト 

  15. 結果
 Session ranking Track ranking K = 20 K =

    50 K = 20 K = 50 Model Cosine MRR Rank MRR Rank mAP Rec@10 mAP Rec@10 Last, any cxt 0.6527 0.1721 10.0767 0.1133 21.9245 0.3585 0.4394 0.1300 0.1372 Last, same cxt 0.5990 0.2094 9.3128 0.1009 23.5288 0.3398 0.4223 0.1154 0.1156 Avg. any cxt 0.6797 0.1835 10.0882 0.1034 23.7337 0.3485 0.4250 0.1225 0.1291 Avg. same cxt 0.6609 0.2087 9.3365 0.1031 23.4767 0.3476 0.4313 0.1199 0.1239 Popularity 0.4278 0.2012 9.5670 0.0967 24.0233 0.3457 0.4338 0.1165 0.1190 RRN [35] 0.6918 0.1970 9.6689 0.1286 21.2980 0.3794 0.4678 0.1425 0.1594 LatentCross [3] 0.6921 0.1967 9.6669 0.1286 21.2610 0.3794 0.4678 0.1422 0.1592 JODIE [21] 0.6970 0.2079 9.3438 0.1303 21.2258 0.3836 0.4734 0.1450 0.1638 CoSeRNN (ours) 0.7115 0.2319 8.6642 0.1507 19.5288 0.4011 0.4981 0.1574 0.1816 Oracle half 0.7077 0.4723 5.2294 0.3711 11.3131 0.7732 0.8052 0.5824 0.6163 Oracle full 1.0000 0.9985 1.0067 0.9988 1.0068 0.8323 0.8861 0.6220 0.6951 論文Table 2の内容を基に作成 
 CoSeRNNは一貫してベースラインを上回った
  16. 結果
 Session ranking Track ranking K = 20 K =

    50 K = 20 K = 50 Model Cosine MRR Rank MRR Rank mAP Rec@10 mAP Rec@10 Last, any cxt 0.6527 0.1721 10.0767 0.1133 21.9245 0.3585 0.4394 0.1300 0.1372 Last, same cxt 0.5990 0.2094 9.3128 0.1009 23.5288 0.3398 0.4223 0.1154 0.1156 Avg. any cxt 0.6797 0.1835 10.0882 0.1034 23.7337 0.3485 0.4250 0.1225 0.1291 Avg. same cxt 0.6609 0.2087 9.3365 0.1031 23.4767 0.3476 0.4313 0.1199 0.1239 Popularity 0.4278 0.2012 9.5670 0.0967 24.0233 0.3457 0.4338 0.1165 0.1190 RRN [35] 0.6918 0.1970 9.6689 0.1286 21.2980 0.3794 0.4678 0.1425 0.1594 LatentCross [3] 0.6921 0.1967 9.6669 0.1286 21.2610 0.3794 0.4678 0.1422 0.1592 JODIE [21] 0.6970 0.2079 9.3438 0.1303 21.2258 0.3836 0.4734 0.1450 0.1638 CoSeRNN (ours) 0.7115 0.2319 8.6642 0.1507 19.5288 0.4011 0.4981 0.1574 0.1816 Oracle half 0.7077 0.4723 5.2294 0.3711 11.3131 0.7732 0.8052 0.5824 0.6163 Oracle full 1.0000 0.9985 1.0067 0.9988 1.0068 0.8323 0.8861 0.6220 0.6951 論文Table 2の内容を基に作成 
 state-of-the-art手法はheuristic手法を上回った
  17. 結果
 Session ranking Track ranking K = 20 K =

    50 K = 20 K = 50 Model Cosine MRR Rank MRR Rank mAP Rec@10 mAP Rec@10 Last, any cxt 0.6527 0.1721 10.0767 0.1133 21.9245 0.3585 0.4394 0.1300 0.1372 Last, same cxt 0.5990 0.2094 9.3128 0.1009 23.5288 0.3398 0.4223 0.1154 0.1156 Avg. any cxt 0.6797 0.1835 10.0882 0.1034 23.7337 0.3485 0.4250 0.1225 0.1291 Avg. same cxt 0.6609 0.2087 9.3365 0.1031 23.4767 0.3476 0.4313 0.1199 0.1239 Popularity 0.4278 0.2012 9.5670 0.0967 24.0233 0.3457 0.4338 0.1165 0.1190 RRN [35] 0.6918 0.1970 9.6689 0.1286 21.2980 0.3794 0.4678 0.1425 0.1594 LatentCross [3] 0.6921 0.1967 9.6669 0.1286 21.2610 0.3794 0.4678 0.1422 0.1592 JODIE [21] 0.6970 0.2079 9.3438 0.1303 21.2258 0.3836 0.4734 0.1450 0.1638 CoSeRNN (ours) 0.7115 0.2319 8.6642 0.1507 19.5288 0.4011 0.4981 0.1574 0.1816 Oracle half 0.7077 0.4723 5.2294 0.3711 11.3131 0.7732 0.8052 0.5824 0.6163 Oracle full 1.0000 0.9985 1.0067 0.9988 1.0068 0.8323 0.8861 0.6220 0.6951 論文Table 2の内容を基に作成 
 heuristic手法の中ではLast, any cxtが最も良かった 楽曲推薦においては直近の情報が重要であることを示唆 ➢ 次のAblation studyで詳細を分析
  18. Track ranking (K = 100) Features Cosine mAP Recall@10 Last

    sess. embeddings 0.7062 0.1518 0.1731 + curr. context 0.7091 0.1527 0.1748 + # tracks in last 0.7103 0.1569 0.1807 + time since last 0.7109 0.1569 0.1808 + last stream source 0.7115 0.1574 0.1816 + curr. stream source 0.7313 0.1777 0.2100 Ablation study | 入力特徴
 N t-1 z t-1 Δ t c t s t +, s t - z t 論文Table 3の内容を基に作成 
 モデルへの入力特徴に応じてCoSeRNNの性能に及ぼす影響を評価

  19. Track ranking (K = 100) Features Cosine mAP Recall@10 Last

    sess. embeddings 0.7062 0.1518 0.1731 + curr. context 0.7091 0.1527 0.1748 + # tracks in last 0.7103 0.1569 0.1807 + time since last 0.7109 0.1569 0.1808 + last stream source 0.7115 0.1574 0.1816 + curr. stream source 0.7313 0.1777 0.2100 Ablation study | 入力特徴
 N t-1 z t-1 Δ t c t s t +, s t - z t 論文Table 3の内容を基に作成 
 現セッションのコンテキストは コサイン類似度の向上に寄与 モデルへの入力特徴に応じてCoSeRNNの性能に及ぼす影響を評価

  20. Track ranking (K = 100) Features Cosine mAP Recall@10 Last

    sess. embeddings 0.7062 0.1518 0.1731 + curr. context 0.7091 0.1527 0.1748 + # tracks in last 0.7103 0.1569 0.1807 + time since last 0.7109 0.1569 0.1808 + last stream source 0.7115 0.1574 0.1816 + curr. stream source 0.7313 0.1777 0.2100 Ablation study | 入力特徴
 N t-1 z t-1 Δ t c t s t +, s t - z t 論文Table 3の内容を基に作成 
 モデルへの入力特徴に応じてCoSeRNNの性能に及ぼす影響を評価
 前セッションの情報は ランキング性能の向上に寄与
  21. Track ranking (K = 100) Features Cosine mAP Recall@10 Last

    sess. embeddings 0.7062 0.1518 0.1731 + curr. context 0.7091 0.1527 0.1748 + # tracks in last 0.7103 0.1569 0.1807 + time since last 0.7109 0.1569 0.1808 + last stream source 0.7115 0.1574 0.1816 + curr. stream source 0.7313 0.1777 0.2100 Ablation study | 入力特徴
 N t-1 z t-1 Δ t c t s t +, s t - z t 論文Table 3の内容を基に作成 
 モデルへの入力特徴に応じてCoSeRNNの性能に及ぼす影響を評価
 デバイスや日時に加え,ストリームソースの情報が得ら れればモデル性能を大きく向上できる
  22. Ablation study | 再生楽曲 vs. スキップ楽曲
 論文Table 4の内容を基に作成 
 再生された楽曲とスキップされた楽曲を分割することによる


    モデル性能への影響を評価
 Track ranking (K = 100) Session encoding Cosine mAP Recall@10 All 0.6966 0.1442 0.1623 Plays 0.7103 0.1567 0.1801 Plays + skips 0.7115 0.1574 0.1816 Plays + skips + all 0.7114 0.1569 0.1809
  23. Ablation study | 再生楽曲 vs. スキップ楽曲
 論文Table 4の内容を基に作成 
 再生された(played)楽曲とスキップされた(skipped)楽曲を


    分割して学習することによるモデル性能への影響を評価
 Track ranking (K = 100) Session encoding Cosine mAP Recall@10 All 0.6966 0.1442 0.1623 Plays 0.7103 0.1567 0.1801 Plays + skips 0.7115 0.1574 0.1816 Plays + skips + all 0.7114 0.1569 0.1809 再生された楽曲のみを用いることで 性能向上
  24. Ablation study | 再生楽曲 vs. スキップ楽曲
 論文Table 4の内容を基に作成 
 再生された(played)楽曲とスキップされた(skipped)楽曲を


    分割して学習することによるモデル性能への影響を評価
 Track ranking (K = 100) Session encoding Cosine mAP Recall@10 All 0.6966 0.1442 0.1623 Plays 0.7103 0.1567 0.1801 Plays + skips 0.7115 0.1574 0.1816 Plays + skips + all 0.7114 0.1569 0.1809 スキップされた楽曲も加えることでさら に性能向上
  25. Ablation study | 再生楽曲 vs. スキップ楽曲
 論文Table 4の内容を基に作成 
 再生された(played)楽曲とスキップされた(skipped)楽曲を


    分割して学習することによるモデル性能への影響を評価
 Track ranking (K = 100) Session encoding Cosine mAP Recall@10 All 0.6966 0.1442 0.1623 Plays 0.7103 0.1567 0.1801 Plays + skips 0.7115 0.1574 0.1816 Plays + skips + all 0.7114 0.1569 0.1809 再生された楽曲とスキップされた楽曲 を統合したデータは不要
  26. まとめと今後の課題
 RQ1: 楽曲の聴取傾向はコンテキストに依存するか?
 RQ2: シーケンスおよびコンテキストに依存したユーザ分散表現はユーザの楽曲視聴を 適切に予測できるか?
 Spotifyデータセットを分析し,同一コンテキストでは聴取される楽曲が類似することを確認 
 CoSeRNN(ユーザ嗜好に関するシーケンスおよびコンテキストアウェアモデル) を提案


    ➢ 長期ユーザ分散表現を導入したCoSeRNNがベースラインよりも精度向上 
 ➢ コンテキストや前セッションの情報(シーケンス)を考慮することで精度向上 
 ➢ 再生楽曲とスキップ楽曲を分割して学習することで精度向上 
 今後の課題
 コンテキストアウェア推薦等[12, 39]で効果のあるハッシュベースの分散表現を導入