All Projects → fajieyuan → WWW2020-grec

fajieyuan / WWW2020-grec

Licence: other
Future Data Helps Training: Modeling Future Contexts for Session-based Recommendation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to WWW2020-grec

Lightfm
A Python implementation of LightFM, a hybrid recommendation algorithm.
Stars: ✭ 3,884 (+22747.06%)
Mutual labels:  recommender, recommender-system
recommender
NReco Recommender is a .NET port of Apache Mahout CF java engine (standalone, non-Hadoop version)
Stars: ✭ 35 (+105.88%)
Mutual labels:  recommender, recommender-system
recommender system with Python
recommender system tutorial with Python
Stars: ✭ 106 (+523.53%)
Mutual labels:  recommender, recommender-system
multi channel bpr
Implementation of Bayesian Personalized Ranking (BPR) for Multiple Feedback Channels
Stars: ✭ 25 (+47.06%)
Mutual labels:  recommender, recommender-system
Alink
Alink is the Machine Learning algorithm platform based on Flink, developed by the PAI team of Alibaba computing platform.
Stars: ✭ 2,936 (+17170.59%)
Mutual labels:  recommender, recommender-system
SSE-PT
Codes and Datasets for paper RecSys'20 "SSE-PT: Sequential Recommendation Via Personalized Transformer" and NurIPS'19 "Stochastic Shared Embeddings: Data-driven Regularization of Embedding Layers"
Stars: ✭ 103 (+505.88%)
Mutual labels:  recommender-system, sequential
recsys2019
The complete code and notebooks used for the ACM Recommender Systems Challenge 2019
Stars: ✭ 26 (+52.94%)
Mutual labels:  recommender, recommender-system
Friends-Recommender-In-Social-Network
Friends Recommendation and Link Prediction in Social Netowork
Stars: ✭ 33 (+94.12%)
Mutual labels:  recommender-system
skywalkR
code for Gogleva et al manuscript
Stars: ✭ 28 (+64.71%)
Mutual labels:  recommender-system
BPR MPR
BPR, Bayesian Personalized Ranking (BPR), extremely convenient BPR & Multiple Pairwise Ranking
Stars: ✭ 77 (+352.94%)
Mutual labels:  recommender-system
music-recommendation-system
A simple Music Recommendation System
Stars: ✭ 38 (+123.53%)
Mutual labels:  recommender-system
Recommender-System
In this code we implement and compared Collaborative Filtering algorithm, prediction algorithms such as neighborhood methods, matrix factorization-based ( SVD, PMF, SVD++, NMF), and many others.
Stars: ✭ 30 (+76.47%)
Mutual labels:  recommender-system
session4rec
GRu4Rec in TensorFlow
Stars: ✭ 14 (-17.65%)
Mutual labels:  recommender-system
crypthash-net
CryptHash.NET is a .NET multi-target library to encrypt/decrypt/hash/encode/decode strings and files, with an optional .NET Core multiplatform console utility.
Stars: ✭ 33 (+94.12%)
Mutual labels:  encode
fun-rec
推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/
Stars: ✭ 1,367 (+7941.18%)
Mutual labels:  recommender-system
Translation-based-Recommendation
Sequential recommendation algorithm
Stars: ✭ 24 (+41.18%)
Mutual labels:  recommender-system
recommendation-api
Rank and serve recommendations
Stars: ✭ 14 (-17.65%)
Mutual labels:  recommender-system
MARank
Multi-order Attentive Ranking Model for Sequential Recommendation
Stars: ✭ 25 (+47.06%)
Mutual labels:  recommender-system
postcss-bidirection
PostCSS plugin that polyfill Bi-directional CSS properties and values to suppot rtl and ltr rules in all browsers
Stars: ✭ 24 (+41.18%)
Mutual labels:  bidirectional
BARS
Towards open benchmarking for recommender systems https://openbenchmark.github.io/BARS
Stars: ✭ 157 (+823.53%)
Mutual labels:  recommender-system

Future Data Helps Training: Modeling Future Contexts for Session-based Recommendation

@inproceedings{yuan2020future, title={Future Data Helps Training: Modeling Future Contexts for Session-based Recommendation}, author={Yuan, Fajie and He, Xiangnan and Jiang, Haochuan and Guo, Guibing and Xiong, Jian and Xu, Zhezhao and Xiong, Yilin}, booktitle={Proceedings of The Web Conference 2020}, pages={303--313}, year={2020} }

NextItNet pytorch version: https://github.com/syiswell/NextItNet-Pytorch

Session-based recommender systems have attracted much attention recently. To capture the sequential dependencies, existing methods resort either to data augmentation techniques or left-to-right style autoregressive training. Since these methods are aimed to model the sequential nature of user behaviors, they ignore the future data of a target interaction when constructing the prediction model for it. However, we argue that the future interactions after a target interaction, which are also available during training, provide valuable signal on user preference and can be used to enhance the recommendation quality.

Properly integrating future data into model training, however, is non-trivial to achieve, since it disobeys machine learning principles and can easily cause data leakage. To this end, we propose a new encoder-decoder framework named Gap-filling based Recommender (GRec), which trains the encoder and decoder by a gap-filling mechanism. Specifically, the encoder takes a partially-complete session sequence (where some items are masked by purpose) as input, and the decoder predicts these masked items conditioned on the encoded representation. We instantiate the general GRec framework using convolutional neural network with sparse kernels, giving consideration to both accuracy and efficiency. We conduct experiments on two real-world datasets covering short-, medium-, and longrange user sessions, showing that GRec significantly outperforms the state-of-the-art sequential recommendation methods. More empirical studies verify the high utility of modeling future contexts under our GRec framework.

python GRec.py

or python GRec_NCE.py (NCE sampling. Be careful with the number of negative examples.)

You can also replace our sampling method and CE loss with other well-known negative sampler or loss functions, such as LambdaFM.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].