推荐系统算法库NeuRec:灵活全面、包括各种最先进的神经网络推荐模型

NeuRec

An open source neural recommender library

Main Contributors: Bin Wu, Zhongchuan Sun, Xiangnan He, Xiang Wang, & Jonathan Staniforth

NeuRec is a comprehensive and flexible Python library for recommender systems that includes a large range of state-of-the-art neural recommender models. This library aims to solve general, social and sequential (i.e. next-item) recommendation tasks, using the Tensorflow library to provide 33 models out of the box. NeuRec is open source and available under the MIT license.

Features

  • Cross platform - run on any operating system with the available Docker images;
  • State-of-the-art - 33 neural recommender models available out of the box;
  • Flexible configuration - easily change the configuration settings to your exact requirements;
  • Easy expansion - quickly include models or datasets into NeuRec;
  • Fast execution - naturally support GPU, with a mutli-thread evaluator;
  • Detailed documentation - extensive documentation available as Jupyter notebooks in tutorial.ipynb.

Architecture

The architecture of NeuRec is shown in the diagram below:

Quick Start

Firstly, download this repository and unpack the downloaded source to a suitable location.

Secondly, go to './NeuRec' and compline the evaluator of cpp implementation with the following command line:

python setup.py build_ext --inplace

If the compilation is successful, the evaluator of cpp implementation will be called automatically.
Otherwise, the evaluator of python implementation will be called.

Note that the cpp implementation is much faster than python.

Thirdly, specify dataset and recommender in configuration file NeuRec.properties.

Finally, run main.py in IDE or with command line:

python main.py

Tutorial

The short introduction to NeuRec is described in tutorial.ipynb

Models

The list of available models in NeuRec, along with their paper citations, are shown below:

General RecommenderPaper
GMF, MLP, NeuMFXiangnan He et al., Neural Collaborative Filtering , WWW 2017.
BPRMFSteffen Rendle et al., BPR: Bayesian Personalized Ranking from Implicit Feedback. UAI 2009.
FISMSantosh Kabbur et al., FISM: Factored Item Similarity Models for Top-N Recommender Systems. KDD 2013.
NAISXiangnan He et al., NAIS: Neural Attentive Item Similarity Model for Recommendation . TKDE2018.
DeepICFFeng Xue et al., Deep Item-based Collaborative Filtering for Top-N Recommendation. TOIS 2019.
ConvNCFXiangnan He et al., Outer Product-based Neural Collaborative Filtering . IJCAI 2018.
DMFHong-Jian Xue et al., Deep Matrix Factorization Models for Recommender Systems. IJCAI 2017.
CDAE, DAEYao Wu et al., Collaborative denoising auto-encoders for top-n recommender systems. WSDM 2016.
MultiDAE, MultiVAEDawen Liang, et al., Variational autoencoders for collaborative filtering. WWW 2018.
JCAZiwei Zhu, et al., Improving Top-K Recommendation via Joint Collaborative Autoencoders. WWW 2019.
IRGANJun Wang, et al., IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models. SIGIR 2017.
CFGANDong-Kyu Chae, et al., CFGAN: A Generic Collaborative Filtering Framework based on Generative Adversarial Networks. CIKM 2018.
APRXiangnan He, et al., Adversarial Personalized Ranking for Recommendation. SIGIR 2018.
SpectralCFLei Zheng, et al., Spectral Collaborative Filtering. RecSys 2018.
NGCFXiang Wang, et al., Neural Graph Collaborative Filtering. SIGIR 2019.
WRMFYifan Hu, et al., Collaborative Filtering for Implicit Feedback Datasets. ICDM 2008.
LightGCNXiangnan He, et al., LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation. SIGIR 2020.
Social RecommenderPaper
SBPRTong Zhao et al., Leveraging Social Connections to Improve Personalized Ranking for Collaborative Filtering. CIKM 2014.
DiffNetLe Wu et al., A Neural Influence Diffusion Model for Social Recommendation, SIGIR 2019.
Sequential RecommenderPaper
FPMC, FPMCplusSteffen Rendle et al., Factorizing Personalized Markov Chains for Next-Basket Recommendation, WWW 2010.
HRMPengfei Wang et al., Learning Hierarchical Representation Model for NextBasket Recommendation, SIGIR 2015.
NPEThaiBinh Nguyen et al., NPE: Neural Personalized Embedding for Collaborative Filtering, ijcai 2018.
TransRecRuining He et al., Translation-based Recommendation, SIGIR 2015.
CaserJiaxi Tang et al., Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding, WSDM 2018.
FossilRuining He et al., Fusing similarity models with Markov chains for sparse sequential recommendation, ICDM 2016.
GRU4RecBalázs Hidasi et al., Session-based Recommendations with Recurrent Neural Networks, ICLR 2016.
GRU4RecPlusBalázs Hidasi et al., Recurrent Neural Networks with Top-k Gains for Session-based Recommendations, CIKM 2018.
SASRecWangcheng Kang et al., Self-Attentive Sequential Recommendation, ICDM 2018.
SRGNNShu Wu et al., Session-Based Recommendation with Graph Neural Networks, AAAI 2019.

Contributions

Please let us know if you experience any issues or have suggestions for new features by submitting an issue under the Issues tab or joining our WeChat Group.

Acknowledgements

The development of NeuRec is supported by the National Natural Science
Foundation of China under Grant No. 61772475. This project is also supported by the National Research Foundation, Prime Minister’s Office, Singapore under its IRC@Singapore Funding Initiative.

next

Last modification:June 20, 2021
如果觉得我的文章对你有用,请随意赞赏