Sequential and Diverse Recommendation with Long Tail
1. Sequential and Diverse
Recommendation with Long Tail
Aug 15 2019
Yejin Kim, Kwangseob Kim, Chanyoung Park and Hwanjo Yu
University of Texas Health Science Center at Houston
Kakao Corp.
Pohang University of Science and Technology
23 August 2019 1
2. Problem: Diversity in Sequential Recommendation
Black Swan Memento Inception Dark Knight
Red Road The Pledge Following Quay
Alice
Black Swan Memento Inception
Bob
?
?
23 August 2019 2
We propose a sequential and diverse recommendation model that
recommends next general items and also long tail items.
Popular
General
Less popular
Long tail
Diverse
Twisted thrillers Christopher Nolan
3. Compare with other recommendation model
G G G G G
G G G G G G G G G G
T
Ordinary Recommendation
Sequential Recommendation
Diverse Recommendation
Sequential and Diverse Recommendation (S-DIV)
G General items T Tail items influences
T T
G G G G G
TT T
23 August 2019 3
Reranking heuristic [ICDM11], Learning to rank [WWW17]
Item nearest-neighbor, tensor factorization
Session-based rec [ICLR16]
4. Method Overview
2 Ranking function: GRU
1 Pseudo ground truth: Ranking sequence of general and tail items
3 Optimization: Listwise loss
23 August 2019 4
0 Clusters of long tail items
5. Clusters of Long Tail Items
We cluster tail items and replace each tail item with its representing cluster
23 August 2019 5
Top 20% items
𝜏 = 10
items
#occurrences
Tail items
(texts)
𝑇& = (0.1, 0.2, 0.7)
𝑇- = (0.2, 0.5, 0.3)
…
0𝑇- = 𝑇-, 𝑇1, …
0𝑇3 = 𝑇4, …
…
Weighted sum
of word2vec
K-means
clu1 clu2 clu3 clu4 clu5 clu6 clu7 clu8 # occurrence ↑
Generalizability ↑
6. input labelinput label
Pseudo Ground Truth: Ranking of General and Tail Items
For learning to rank we derive a pseudo ground-truth ranking sequence
23 August 2019 6
G General items T Tail items
𝐺& → 𝐺3 → 𝐺7
𝑇- 𝑇1,𝑇4
Clustering by contents
0𝑇- = 𝑇-, 𝑇1, …
0𝑇3 = 𝑇4, …
𝐺& → 𝐺3 → 𝐺7
0𝑇-
0𝑇-, 0𝑇3
input
Input sequence:
𝐺& → 𝐺3 → 𝐺7 → ⋯
Label sequence:
< 𝐺3, 0𝑇- > → < 𝐺7, 0𝑇-, 0𝑇3 > → ⋯
7. Item ID one-hot vector 𝒙
GRU layer
Subnet output
Item content vector
GRU layer
Concatenated outputs
Fully connected layer 𝒔
Fully connected layer
Subnet output
Ranking score vector of items
𝐺&
<𝐺3, 0𝑇->
𝐺3
<𝐺7, 0𝑇-, 0𝑇3>
𝐺7
<⋯>
…
Input
Label
Ranking function: Recurrent Neural Network (GRU)
We define a ranking function f using GRU
For specific user u and time 𝑗,
𝒔 = 𝑓 𝒙
𝑓
𝒙
Pseudo ground-truth ranking 𝝎
𝑓𝑓
𝒔
23 August 2019 7
𝝎
general itemranking scores of
general & tail items
8. 𝝎 = <𝐺7, 0𝑇-, 0𝑇3>
Possible permutations:
𝐺&, 0𝑇-, 𝐺3, 𝐺7, 0𝑇3
𝐺7, 𝐺3, 𝐺&, 0𝑇3, 0𝑇-
𝐺7, 0𝑇-, 0𝑇3, 𝐺3, 𝐺&
𝐺&, 𝐺3, 𝐺7, 0𝑇-, 0𝑇3
…
Optimization: Listwise loss
We assume the ranking order 𝝎 as one of all possible permutations
• Likelihood of ranking function 𝒇 :
Given the ranking order 𝝎 and ranking scores 𝒔,
the probability that the items will be listed as 𝝎
out of all possible permutations:
𝑝 𝝎 𝒔 = B
CD&
E
exp 𝑠JK
∑MDC
E
exp 𝑠JN
+ ∑JP∉𝝎 exp 𝑠JR
Top-n Permutation probability
(or Plackett-Luce model)
• Loss = −log 𝑝 𝝎 𝒔
23 August 2019 8
9. Offline Experiment Setting
§ Data: 263K blog articles, 2.2M users for 8 days from a commercial platform
§ Measures
§ Accuracy: Mean Average Precision@20
§ Diversity: # items recommended at least once/total # items
§ Trade-off: F-score between accuracy and diversity
§ Baseline: Naïve item nearest neighbor, GRU4rec [ICLR16], GRU4rec + CB
[Recsys17], GRU4rec+Reranking
§ General/Tail thresholds: top 10%, 20%, 50%, and 100%
§ GRU Hyperparameter tuning: lemb=900, lhid=550
23 August 2019 9
10. Offline Experiment Results
At top 50% Tail threshold
★
★
★
23 August 2019 10
Our proposed model increased diversity while maintaining accuracy
11. Offline Experiment Results
Rank Recommend items by GRU4rec
1 Top 10 Men’s Watches
2 Top 5 Affordable Mechanical Watches
3 Top 4 Men’s Luxury Watches
17 Controversial World History – Imphal Battle
18 The Camping Trip
Rank Recommend items by S-DIV+CB
1 Top 5 Affordable Mechanical Watches
2 Top 10 Men’s Watches
3 Top 4 Men’s Luxury Watches
17 Old Memories - An Everlasting Fragrance
18 World Best 11 Drinks
Correct general item
Long tail item
Our proposed model recommended correct general item as well as a tail item
12. Online A/B Tests Results
23 August 2019 12
• Models
• Human curators
• GRU4rec, GRU4rec+CB
• S-DIV, S-DIV + CB
• Measures
• Click-through rate (CTR)
• Setting
• General items: top 20% frequent items
• Test
• Randomly selected 5% of active users
• A/B test lasts for 2 days on mobile and desktop sites
CTR Ratio Diversity
Human curators 1 0.090%
GRU4rec 1.212 0.932%
S-DIV 1.118 2.393%
Human curators 1 0.082%
GRU4rec+CB 1.002 3.452%
S-DIV+CB 1.007 6.811%
13. Conclusions
23 August 2019 13
• We first proposed a sequential and diverse recommendation.
• We learn temporal preference on general & tail items.
• Our model significantly increases diversity while preserving accuracy in
online & offline test.
14. Do you have any
questions or
comments?
23 August 2019 14
Yejin Kim
Yejin.Kim@uth.tmc.edu
https://yejinjkim.github.io/
15. Optimization: Listwise loss
Toy example
Suppose we have five general and tail items: 𝐺&, 𝐺3, 𝐺7, 0𝑇-, 0𝑇3,
For current general item 𝐺3, let’s say the next ranking order is 𝝎 = <𝐺7, 0𝑇-, 0𝑇3>
𝑒XYZ
𝑒XYZ + 𝑒X[] + 𝑒X[^ + 𝑒XY_ + 𝑒XY^
Prob. of 𝐺7 being ranked 1st
Conditional prob. of 0𝑇- being ranked 2nd when 𝐺7 is 1st
Conditional prob. of 0𝑇3 being ranked 3rd when 𝐺7 is 1st & 0𝑇- is 2nd
⋅
𝑒X[]
𝑒X[] + 𝑒X[^ + 𝑒XY_ + 𝑒XY^
⋅
𝑒X[^
𝑒X[^ + 𝑒XY_ + 𝑒XY^
𝑝 𝝎 𝒔 =
23 August 2019 15