In this directory, notebooks are provided to perform a quick demonstration of different algorithms such as Alternating Least Squares (ALS) or Simple Algorithm for Recommendation (SAR). The notebooks show how to establish an end-to-end recommendation pipeline that consists of data preparation, model building, and model evaluation by using the utility functions (reco_utils).
Notebook | Dataset | Environment | Description |
---|---|---|---|
als | MovieLens | PySpark | Utilizing ALS algorithm to predict movie ratings in a PySpark environment. |
dkn | MIND | Python CPU, GPU | Utilizing the Deep Knowledge-Aware Network (DKN) [2] algorithm for news recommendations using information from a knowledge graph, in a Python+GPU (TensorFlow) environment. |
fastai | MovieLens | Python CPU, GPU | Utilizing FastAI recommender to predict movie ratings in a Python+GPU (PyTorch) environment. |
lightgbm | Criteo | Python CPU | Utilizing LightGBM Boosting Tree to predict whether or not a user has clicked on an e-commerce ad |
lstur | MIND | Python CPU, GPU | Utilizing the Neural News Recommendation with Long- and Short-term User Representations (LSTUR) [9] for news recommendation, in a Python+GPU (Tensorflow) enviroment. |
naml | MIND | Python CPU, GPU | Utilizing the Neural News Recommendation with Attentive Multi-View Learning (NAML) [7] to algorithm for news recommendation using news verticle, subverticle, title and body information, in a Python+GPU (Tensorflow) environment. |
ncf | MovieLens | Python CPU, GPU | Utilizing Neural Collaborative Filtering (NCF) [1] to predict movie ratings in a Python+GPU (TensorFlow) environment. |
npa | MIND | Python CPU, GPU | Utilizing the Neural News Recommendation with Personalized Attention (NPA) [10] for news recommendation, in a Python+GPU (Tensorflow) environment. |
nrms | MIND | Python CPU, GPU | Utilizing the Neural News Recommendation with Multi-Head Self-Attention (NRMS) [8] for news recommendation, in a Python+GPU (Tensorflow) environment. |
rbm | MovieLens | Python CPU, GPU | Utilizing the Restricted Boltzmann Machine (rbm) [4] to predict movie ratings in a Python+GPU (TensorFlow) environment. |
rlrmc | Movielens | Python CPU | Utilizing the Riemannian Low-rank Matrix Completion (RLRMC) [6] to predict movie rating in a Python+CPU environment |
sar | MovieLens | Python CPU | Utilizing Simple Algorithm for Recommendation (SAR) algorithm to predict movie ratings in a Python+CPU environment. |
sar_azureml | MovieLens | Python CPU | An example of how to utilize and evaluate SAR using the Azure Machine Learning service (AzureML). It takes the content of the sar quickstart notebook and demonstrates how to use the power of the cloud to manage data, switch to powerful GPU machines, and monitor runs while training a model. |
a2svd | Amazon | Python CPU, GPU | Use A2SVD [11] to predict a set of movies the user is going to interact in a short time. |
caser | Amazon | Python CPU, GPU | Use Caser [12] to predict a set of movies the user is going to interact in a short time. |
gru4rec | Amazon | Python CPU, GPU | Use GRU4Rec [13] to predict a set of movies the user is going to interact in a short time. |
nextitnet | Amazon | Python CPU, GPU | Use NextItNet [14] to predict a set of movies the user is going to interact in a short time. |
sli-rec | Amazon | Python CPU, GPU | Use SLi-Rec [11] to predict a set of movies the user is going to interact in a short time. |
wide-and-deep | MovieLens | Python CPU, GPU | Utilizing Wide-and-Deep Model (Wide-and-Deep) [5] to predict movie ratings in a Python+GPU (TensorFlow) environment. |
xdeepfm | Criteo | Python CPU, GPU | Utilizing the eXtreme Deep Factorization Machine (xDeepFM) [3] to learn both low and high order feature interactions for predicting CTR, in a Python+GPU (TensorFlow) environment. |
[1] Neural Collaborative Filtering, Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu and Tat-Seng Chua. WWW 2017.
[2] DKN: Deep Knowledge-Aware Network for News Recommendation, Hongwei Wang, Fuzheng Zhang, Xing Xie and Minyi Guo. WWW 2018.
[3] xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems, Jianxun Lian, Xiaohuan Zhou, Fuzheng Zhang, Zhongxia Chen, Xing Xie and Guangzhong Sun. KDD 2018.
[4] Restricted Boltzmann Machines for Collaborative Filtering, Ruslan Salakhutdinov, Andriy Mnih and Geoffrey Hinton. ICML 2007.
[5] Wide & Deep Learning for Recommender Systems, Heng-Tze Cheng et al., arXiv:1606.07792 2016.
[6] A unified framework for structured low-rank matrix learning, Pratik Jawanpuria and Bamdev Mishra, In International Conference on Machine Learning, 2018.
[7] NAML: Neural News Recommendation with Attentive Multi-View Learning, Chuhan Wu, Fangzhao Wu, Mingxiao An, Jianqiang Huang, Yongfeng Huang and Xing Xie. IJCAI 2019.
[8] NRMS: Neural News Recommendation with Multi-Head Self-Attention, Chuhan Wu, Fangzhao Wu, Suyu Ge, Tao Qi, Yongfeng Huang, Xing Xie. in Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP).
[9] LSTUR: Neural News Recommendation with Long- and Short-term User Representations, Mingxiao An, Fangzhao Wu, Chuhan Wu, Kun Zhang, Zheng Liu and Xing Xie. ACL 2019.
[10] NPA: Neural News Recommendation with Personalized Attention, Chuhan Wu, Fangzhao Wu, Mingxiao An, Jianqiang Huang, Yongfeng Huang and Xing Xie. KDD 2019, ADS track.
[11] Adaptive User Modeling with Long and Short-Term Preferences for Personailzed Recommendation, Zeping Yu, Jianxun Lian, Ahmad Mahmoody, Gongshen Liu and Xing Xie, IJCAI 2019.
[12] Personalized top-n sequential recommendation via convolutional sequence embedding, Jiaxi Tang and Ke Wang, ACM WSDM 2018.
[13] Session-based Recommendations with Recurrent Neural Networks, Balazs Hidasi, Alexandros Karatzoglou, Linas Baltrunas and Domonkos Tikk, ICLR 2016.
[14] A Simple Convolutional Generative Network for Next Item Recommendation, Fajie Yuan, Alexandros Karatzoglou, Ioannis Arapakis, Joemon M. Jose and Xiangnan He, WSDM 2019.