SSE-PT: Sequential Recommendation Via Personalized Transformer

25 Sep 2019  ยท  Liwei Wu, Shuqing Li, Cho-Jui Hsieh, James Sharpnack ยท

Temporal information is crucial for recommendation problems because user preferences are naturally dynamic in the real world. Recent advances in deep learning, especially the discovery of various attention mechanisms and newer architectures in addition to widely used RNN and CNN in natural language processing, have allowed for better use of the temporal ordering of items that each user has engaged with. In particular, the SASRec model, inspired by the popular Transformer model in natural languages processing, has achieved state-of-the-art results. However, SASRec, just like the original Transformer model, is inherently an un-personalized model and does not include personalized user embeddings. To overcome this limitation, we propose a Personalized Transformer (SSE-PT) model, outperforming SASRec by almost 5% in terms of NDCG@10 on 5 real-world datasets. Furthermore, after examining some random users' engagement history, we find our model not only more interpretable but also able to focus on recent engagement patterns for each user. Moreover, our SSE-PT model with a slight modification, which we call SSE-PT++, can handle extremely long sequences and outperform SASRec in ranking results with comparable training speed, striking a balance between performance and speed requirements. Our novel application of the Stochastic Shared Embeddings (SSE) regularization is essential to the success of personalization. Code and data are open-sourced at https://github.com/SSE-PT/SSE-PT.

PDF Abstract

Results from the Paper


Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Benchmark
Recommendation Systems Amazon Beauty SSE-PT Hit@10 0.5028 # 3
nDCG@10 0.3370 # 3
Recommendation Systems Amazon Games SSE-PT Hit@10 0.7757 # 3
nDCG@10 0.5660 # 3
Recommendation Systems MovieLens 1M SSE-PT HR@10 0.8389 # 2
nDCG@10 0.6292 # 1

Methods


No methods listed for this paper. Add relevant methods here