BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer

14 Apr 2019  ·  Fei Sun, Jun Liu, Jian Wu, Changhua Pei, Xiao Lin, Wenwu Ou, Peng Jiang ·

Modeling users' dynamic and evolving preferences from their historical behaviors is challenging and crucial for recommendation systems. Previous methods employ sequential neural networks (e.g., Recurrent Neural Network) to encode users' historical interactions from left to right into hidden representations for making recommendations. Although these methods achieve satisfactory results, they often assume a rigidly ordered sequence which is not always practical. We argue that such left-to-right unidirectional architectures restrict the power of the historical sequence representations. For this purpose, we introduce a Bidirectional Encoder Representations from Transformers for sequential Recommendation (BERT4Rec). However, jointly conditioning on both left and right context in deep bidirectional model would make the training become trivial since each item can indirectly "see the target item". To address this problem, we train the bidirectional model using the Cloze task, predicting the masked items in the sequence by jointly conditioning on their left and right context. Comparing with predicting the next item at each position in a sequence, the Cloze task can produce more samples to train a more powerful bidirectional model. Extensive experiments on four benchmark datasets show that our model outperforms various state-of-the-art sequential models consistently.

PDF Abstract

Datasets


Results from the Paper


Ranked #2 on Recommendation Systems on MovieLens 1M (HR@10 (full corpus) metric)

     Get a GitHub badge
Task Dataset Model Metric Name Metric Value Global Rank Benchmark
Recommendation Systems MovieLens 1M BERT4Rec HR@10 (full corpus) 0.2843 # 2
NDCG@10 (full corpus) 0.1537 # 4
Recommendation Systems MovieLens 20M BERT4Rec HR@10 (full corpus) 0.2816 # 3
nDCG@10 (full corpus) 0.1703 # 3

Methods


No methods listed for this paper. Add relevant methods here