• Stars
    star
    154
  • Rank 236,524 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created over 2 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Efficient and extensible GNNs enhanced recommender library based on RecBole.

RecBole-GNN


RecBole-GNN is a library built upon PyTorch and RecBole for reproducing and developing recommendation algorithms based on graph neural networks (GNNs). Our library includes algorithms covering three major categories:

  • General Recommendation with user-item interaction graphs;
  • Sequential Recommendation with session/sequence graphs;
  • Social Recommendation with social networks.

Highlights

  • Easy-to-use and unified API: Our library shares unified API and input (atomic files) as RecBole.
  • Efficient and reusable graph processing: We provide highly efficient and reusable basic datasets, dataloaders and layers for graph processing and learning.
  • Extensive graph library: Graph neural networks from widely-used library like PyG are incorporated. Recently proposed graph algorithms can be easily equipped and compared with existing methods.

Requirements

recbole==1.1.1
pyg>=2.0.4
pytorch>=1.7.0
python>=3.7.0

If you are using recbole==1.0.1, please refer to our recbole1.0.1 branch [link].

Quick-Start

With the source code, you can use the provided script for initial usage of our library:

python run_recbole_gnn.py

If you want to change the models or datasets, just run the script by setting additional command parameters:

python run_recbole_gnn.py -m [model] -d [dataset]

Implemented Models

We list currently supported models according to category:

General Recommendation:

Sequential Recommendation:

Social Recommendation:

Note that datasets for social recommendation methods can be downloaded from Social-Datasets.

Result

Leaderboard

We carefully tune the hyper-parameters of the implemented models of each research field and release the corresponding leaderboards for reference:

  • General recommendation on MovieLens-1M dataset [link];
  • Sequential recommendation on Diginetica dataset [link];
  • Social recommendation on LastFM dataset [link];

Efficiency

With the sequential/session graphs preprocessing technique, as well as efficient GNN layers, we speed up the training process of our sequential recommenders a lot.

The Team

RecBole-GNN is developed and maintained by members from RUCAIBox, the main developers are Yupeng Hou (@hyp1231), Lanling Xu (@Sherry-XLL) and Changxin Tian (@ChangxinTian).

Acknowledgement

The implementation is based on the open-source recommendation library RecBole. RecBole-GNN is part of RecBole 2.0 now!

Please cite the following paper as the reference if you use our code or processed datasets.

@inproceedings{zhao2022recbole2,
  author={Wayne Xin Zhao and Yupeng Hou and Xingyu Pan and Chen Yang and Zeyu Zhang and Zihan Lin and Jingsen Zhang and Shuqing Bian and Jiakai Tang and Wenqi Sun and Yushuo Chen and Lanling Xu and Gaowei Zhang and Zhen Tian and Changxin Tian and Shanlei Mu and Xinyan Fan and Xu Chen and Ji-Rong Wen},
  title={RecBole 2.0: Towards a More Up-to-Date Recommendation Library},
  booktitle = {{CIKM}},
  year={2022}
}

@inproceedings{zhao2021recbole,
  author    = {Wayne Xin Zhao and Shanlei Mu and Yupeng Hou and Zihan Lin and Yushuo Chen and Xingyu Pan and Kaiyuan Li and Yujie Lu and Hui Wang and Changxin Tian and  Yingqian Min and Zhichao Feng and Xinyan Fan and Xu Chen and Pengfei Wang and Wendi Ji and Yaliang Li and Xiaoling Wang and Ji{-}Rong Wen},
  title     = {RecBole: Towards a Unified, Comprehensive and Efficient Framework for Recommendation Algorithms},
  booktitle = {{CIKM}},
  pages     = {4653--4664},
  publisher = {{ACM}},
  year      = {2021}
}

More Repositories

1

LLMSurvey

The official GitHub page for the survey paper "A Survey of Large Language Models".
Python
8,693
star
2

RecBole

A unified, comprehensive and efficient recommendation library
Python
3,241
star
3

TextBox

TextBox 2.0 is a text generation library with pre-trained language models
Python
1,055
star
4

Awesome-RSPapers

Recommender System Papers
902
star
5

RecSysDatasets

This is a repository of public data sources for Recommender Systems (RS).
Python
731
star
6

CRSLab

CRSLab is an open-source toolkit for building Conversational Recommender System (CRS).
Python
474
star
7

Top-conference-paper-list

A collection of classified and organized top conference paper list.
362
star
8

HaluEval

This is the repository of HaluEval, a large-scale hallucination evaluation benchmark for Large Language Models.
Python
298
star
9

LLMRank

[ECIR'24] Implementation of "Large Language Models are Zero-Shot Rankers for Recommender Systems"
Python
182
star
10

Negative-Sampling-Paper

This repository collects 100 papers related to negative sampling methods.
173
star
11

DenseRetrieval

170
star
12

RecBole2.0

An up-to-date, comprehensive and flexible recommendation library
167
star
13

UniSRec

[KDD'22] Official PyTorch implementation for "Towards Universal Sequence Representation Learning for Recommender Systems".
Python
158
star
14

LLMBox

Python
117
star
15

NCL

[WWW'22] Official PyTorch implementation for "Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning".
Python
113
star
16

RSPapers

Must-read papers on Recommender System. 推荐系统相关论文整理(内含40篇论文,并持续更新中)
89
star
17

RecBole-CDR

This is a library built upon RecBole for cross-domain recommendation algorithms
Python
78
star
18

MVP

This repository is the official implementation of our paper MVP: Multi-task Supervised Pre-training for Natural Language Generation.
67
star
19

VQ-Rec

[WWW'23] PyTorch implementation for "Learning Vector-Quantized Item Representation for Transferable Sequential Recommenders".
Python
51
star
20

RecBole-PJF

Python
46
star
21

ChatCoT

The official repository of "ChatCoT: Tool-Augmented Chain-of-Thought Reasoning on Chat-based Large Language Models"
Python
41
star
22

CORE

[SIGIR'22] Official PyTorch implementation for "CORE: Simple and Effective Session-based Recommendation within Consistent Representation Space".
Python
37
star
23

Multi-View-Co-Teaching

Code for our CIKM 2020 paper "Learning to Match Jobs with Resumes from Sparse Interaction Data using Multi-View Co-Teaching Network"
Python
29
star
24

JiuZhang

Our code will be public soon .
Python
25
star
25

ELMER

This repository is the official implementation of our EMNLP 2022 paper ELMER: A Non-Autoregressive Pre-trained Language Model for Efficient and Effective Text Generation
Python
24
star
26

BAMBOO

Python
23
star
27

Language-Specific-Neurons

Python
17
star
28

RecBole-DA

Python
17
star
29

CARP

Python
16
star
30

SAFE

The pytorch implementation of the SAFE model presented in NAACL-Findings-2022
Python
16
star
31

RecBole-TRM

Python
13
star
32

Erya

12
star
33

MML

Python
12
star
34

Context-Tuning

This is the repository for COLING 2022 paper "Context-Tuning: Learning Contextualized Prompts for Natural Language Generation".
11
star
35

UniWeb

The official repository for our ACL 2023 Findings paper: The Web Can Be Your Oyster for Improving Language Models
9
star
36

PPGM

[ICDM'22] PyTorch implementation for "Privacy-Preserved Neural Graph Similarity Learning".
Python
6
star
37

LIVE

The official repository our ACL 2023 paper: "Learning to Imagine: Visually-Augmented Natural Language Generation"."
Python
5
star
38

Social-Datasets

A collection of social datasets for RecBole-GNN.
5
star
39

M3SRec

4
star
40

FIGA

Python
3
star
41

Contrastive-Curriculum-Learning

Python
3
star
42

Data-CUBE

3
star
43

Div-Ref

The official repository of "Not All Metrics Are Guilty: Improving NLG Evaluation Diversifying References".
Python
2
star
44

GenRec

Python
1
star
45

ETRec

Python
1
star