• Stars
    star
    167
  • Rank 221,218 (Top 5 %)
  • Language
  • License
    MIT License
  • Created about 2 years ago
  • Updated 7 months ago

Reviews

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

Repository Details

An up-to-date, comprehensive and flexible recommendation library

RecBole Logo


RecBole (伯乐) 2.0

“世有伯乐,然后有千里马。千里马常有,而伯乐不常有。”——韩愈《马说》

Home arXiv License

RecBole 1.0 | HomePage | Datasets | Paper

Based on a popular recommendation framework RecBole, we develop an extended recommendation library called RecBole 2.0, consisting of benchmarking packages for up-to-date topics and architectures.

RecBole 2.0 includes 8 packages covering the up-to-date research topic in recommender system:

For each package, we provide complete implementations from data loading, experimental setup, evaluation and algorithm implementation. This library is of great value to facilitate the up-to-date research in recommender systems.

RecBole-DA

RecBole-DA is a library built upon PyTorch and RecBole for reproducing and developing data augmentation for sequential recommendation.

1)Highlights

  • Easy-to-use API: Our library provides extensive API based on common data augmentation strategies, users can further develop own new models based on our library.
  • Full Coverage of Classic Methods: We provide seven data augmentation methods based on recommender systems in three major categories.

2)Implemented Models

Our library includes algorithms covering three major categories:

  • Heuristic-based Methods: CL4SRec, DuoRec
  • Model-based Methods: MMInfoRec, CauseRec
  • Hybird Methods: CASR, CCL, CoSeRec

3)The Team

RecBole-DA is developed and maintained by members from RUCAIBox, the developer is Shuqing Bian (@fancybian).

RecBole-MetaRec

RecBole-MetaRec is an extended package for RecBole, which aims to help researchers to compare and develop their own models in the field of meta learning recommendation.

1) Highlights

The package can mainly provide researchers with the following advantages:

  • Conveniently develop new meta learning recommendation models with the general meta learning framework.
  • Conveniently learn and compare the meta learning recommendation models that we have implemented.
  • Conveniently use the advantages and features of RecBole.

Moreover, we provide a document in detail for researchers.

2) Implemented Models

Our package includes three main types of algorithms:

  • Meta learn to predict: MeLU, MAMO
  • Meta learn to parameterize: LWA, NLBA, TaNP
  • Meta learn to embed: MetaEmb, MWUF

3) Extended Modules

(1) MetaDataset: the meta learning task splitter. (2) MetaDataLoader: the meta learning task translator. (3) MetaRecommender: the template for meta learning models. (4) MetaTrainer: the base trainer for meta learning training process. (5) MetaCollector: the evaluation class for meta learning tasks. (6) MetaUtils: the toolkit for meta learning.

4) The Team

RecBole-MetaRec is developed and maintained by Zeyu Zhang (@Zeyu Zhang).

RecBole-Debias

RecBole-Debias is a toolkit built upon RecBole for reproducing and developing debiased recommendation algorithms.

1)Highlights

  • Unified

    A unified framework, which includes several algorithms for different kinds of biases. Meanwhile, three datasets with the different distributions of training set and test set are provided for training and evaluation.

  • Adaptive

    Adaptive to many base recommendation models. For simplicity, the current implementation is only based on MF model.

  • Closely

    Closely related to Recbole. The toolkit fully adopts the functions of Recbole, except that certain algorithms need to design unique components like trainer.

2)Implemented Models

We list currently supported models according to category:

  • Base Model: MF
  • Selection Bias: MF-IPS
  • Popularity Bias: PDA, MACR, DICE, CausE
  • Exposure Bias: Rel-MF

3)The Team

RecBole-Debias is developed and maintained by members from RUCAIBox, the main developers is Jingsen Zhang (@Jingsen Zhang).

RecBole-FairRec

RecBole-FairRec is a library toolkit built upon PyTorch and RecBole for reproducing and developing fairness-aware recommendation algorithms.

1)Highlights

  • Easy-to-use: Our library shares unified API and input(atomic files) as RecBole.
  • Conveniently learn and compare: Our library provides several fairess-metrics and frameworks for learning and comparing.
  • Extensive FairRec library: Recently proposed fairness-aware algorithms can be easily equipped in our library.

2)Implemented Models

We list the models and fairness-metrics that we have implemented up to now:

  • Models: FOCF, PFCN(including PFCN_MLP, PFCN_BiasedMF, PFCN_DMF, PFCN_PMF), FairGo(including FairGo_PMF_WAP, FairGo_PMF_LBA, FairGo_PMF_LVA, FairGo_GCN_WAP, FairGo_GCN_LBA, FairGo_GCN_LVA), NFCF
  • Fairness-Metrics:
    • Item-Oriented: GiniIndex, PopularityPercentage
    • User-Oriented: DifferentialFairness,ValueUnfairness, AbsoluteUnfairness, UnderUnfairness, OverUnfairness, NonParityUnfairness

3)The Team

RecBole-FairRec is developed and maintained by Jiakai Tang (@Jiakai Tang).

RecBole-CDR

RecBole-CDR is a library built upon RecBole for reproducing and developing cross-domain recommendation algorithms.

1) Highlights

  • Automatic and compatible data processing for cross-domain recommendation: Our library designs a unified data structure for cross-domain recommendation, which inherits all the data pre-processing strategies in RecBole. The overlapped data in different domains can be matched automatically.
  • Flexible and customized model training strategies: Our library provides four basic training modes for cross-domain recommendation, which can be combined arbitrarily by users. It is also easy to customize training strategy in original way.
  • Extensive cross-domain recommendation algorithms: Based on unified data structure and flexible training strategies, several cross-domain recommendation algorithms are implemented and compared with others fairly.

2) Implemented Models

Our library includes algorithms covering three major categories:

  • Algorithms based on the collective matrix factorization, such as CMF and CLFM.
  • Algorithms that share or combine the representations of the overlapped data, for example, DTCDR, DeepAPF and NATR.
  • Algorithms that transfer or map knowledge between different domains, such as CoNet, BiTGCF, EMCDR, SSCDR and DCDCSR.

3) The Team

RecBole-CDR is developed and maintained by members from RUCAIBox, the main developers are Zihan Lin (@linzihan-backforward), Gaowei Zhang (@Wicknight) and Shanlei Mu (@ShanleiMu).

RecBole-GNN

RecBole-GNN is a library built upon PyTorch and RecBole for reproducing and developing recommendation algorithms based on graph neural networks (GNNs).

1)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.

2)Implemented Models

Our library includes algorithms covering three major categories:

  • General Recommendation: NGCF, LightGCN, SGL, HMLET, NCL, SimGCL
  • Sequential Recommendation: SR-GNN, GC-SAN, NISER, LESSR, TAGNN, GCE-GNN, SGNN-HN
  • Social Recommendation: DiffNet, MHCN, SEPT

3)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).

RecBole-TRM

RecBole-TRM is a library built upon PyTorch and RecBole for reproducing and developing recommendation algorithms based on Transformers (TRMs).

1)Highlights

  • Easy-to-use API: Our library shares unified API and input (atomic files) as RecBole.
  • Fair reproducibility and comparison: Our library provides fair reproducibility and comparison in a systematic mechanism.
  • Extensive Transformer library: Our library provides extensive API based on common Transformer layers, one can further develop new models easily based on our library.

2)Implemented Models

Our library includes algorithms covering two major categories:

  • Sequential Recommendation: TiSASRec, SSE-PT, LightSANs, gMLP, CORE
  • News Recommendation: NRMS, NAML, NPA

3)The Team

RecBole-TRM is developed and maintained by members from RUCAIBox, the main developers are Wenqi Sun (@wenqisun) and Xinyan Fan (@BELIEVEfxy).

RecBole-PJF

RecBole-PJF is a library built upon PyTorch and RecBole for reproducing and developing recommendation algorithms for person-job fit (PJF).

1)Highlights

  • Unified framework: Our library build a unified framework for different methods, including collaborative methods, content-based methods and hybrid methods;
  • Evaluate from two perspective: Our library evaluate for both candidates and employers, which is not contained in previous frameworks;
  • Easy to extend: Models for person-job fit can be easily extend to our library, as we provide multiple input interfaces for both interaction and text data.

2)Implemented Models

Our library includes algorithms covering three major categories:

  • CF-based Models: LFRR and other models in RecBole

  • Content-based Models: PJFNN, BPJFNN, APJFNN, BERT

  • Hybrid Models: IPJF, PJFFF, SHPJF

3)The Teams

RecBole-PJF is developed and maintained by members from RUCAIBox, the main developers are Chen Yang (@flust), Yupeng Hou (@hyp1231), Shuqing Bian (@fancybian).

About RecBole 2.0

With the rapid advancement of recommender systems, we are receiving an increasing number of requests from RecBole users for support the most recent advances (like debiased, fairness and GNNs). Meanwhile, members of our team are conducting research on these emerging topics or models. As a result, we build up this extended library based on RecBole 1.0 and we believe this extension is a significant contribution to RecBole, which is a valuable resource to the research community.

In order to facilitate the retrieval of models based on RecBole, we have summarized all implemented model information and see model list for details.

Open Source Contributions

As a one-stop framework from data processing, model development, algorithm training to scientific evaluation, RecBole has a total of 11 related GitHub projects including

In the following table, we summarize the open source contributions of GitHub projects based on RecBole.

Projects Stars Forks Issues Pull requests
RecBole Stars Forks Issues Pull requests
RecBole2.0 Stars Forks Issues Pull requests
RecBole-DA Stars Forks Issues Pull requests
RecBole-MetaRec Stars Forks Issues Pull requests
RecBole-Debias Stars Forks Issues Pull requests
RecBole-FairRec Stars Forks Issues Pull requests
RecBole-CDR Stars Forks Issues Pull requests
RecBole-GNN Stars Forks Issues Pull requests
RecBole-TRM Stars Forks Issues Pull requests
RecBole-PJF Stars Forks Issues Pull requests
RecSysDatasets Stars Forks Issues Pull requests

Cite

If you find RecBole useful for your research or development, please cite the following papers: RecBole and RecBole2.0.

@inproceedings{recbole,
  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}
}

@article{recbole2.0,
  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},
  journal   = {arXiv preprint arXiv:2206.07351},
  year      = {2022}
}

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

RecBole-GNN

Efficient and extensible GNNs enhanced recommender library based on RecBole.
Python
154
star
13

UniSRec

[KDD'22] Official PyTorch implementation for "Towards Universal Sequence Representation Learning for Recommender Systems".
Python
152
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

ReSeq

[RecSys'23] Code of "Reciprocal Sequential Recommendation."
Python
17
star
30

CARP

Python
16
star
31

SAFE

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

RecBole-TRM

Python
13
star
33

Erya

12
star
34

MML

Python
12
star
35

Context-Tuning

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

SHPJF

[DASFAA22] Official PyTorch implementation for "Leveraging Search History for Improving Person-Job Fit".
Python
10
star
37

UniWeb

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

PPGM

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

LIVE

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

Social-Datasets

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

M3SRec

4
star
42

FIGA

Python
3
star
43

Contrastive-Curriculum-Learning

Python
3
star
44

Data-CUBE

3
star
45

Div-Ref

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

GenRec

Python
1
star
47

ETRec

Python
1
star