RecBole2.0

GitHub Quickstart arXiv

Introduction

On the basis of RecBole framework, our team has continuously expanded and updated it from the perspective of data and model for different research directions. In version 2.0, eight extension toolkits have been launched, covering the latest topics and directions of multiple recommendation systems, providing an easy-to-use and powerful tool library for the research of multiple fields of recommendation systems.

For data, we focus on three important research topics: data sparsity, data bias and data distribution offset. For these three data problems, we have developed five benchmark toolkits, which correspond to meta learning(RecBole-MetaRec), data enhancement(RecBole-DA), debiasing(RecBole-Debias), fairness(RecBole-FairRec) and cross domain recommendation(RecBole-CDR).

Facing the model, we consider providing more support for the recommendation algorithm based on the emerging model architecture, and have developed two benchmark toolkits, namely, the model based on transformer(RecBole-TRM) and the model based on graph neural network(RecBole-GNN). In addition, we have developed an application toolkit for person-job fit(RecBole-PJF).

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 two versions of RecBole (RecBole 1.0 and RecBole 2.0), eight expansion subpackages (RecBole-MetaRec, RecBole-DA, RecBole-Debias, RecBole-FairRec, RecBole-CDR, RecBole-TRM, RecBole-GNN and RecBole-PJF) and dataset repository (RecSysDatasets).

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

  🎁 Projects   ⭐ Stars   📚 Forks   🛎 Issues   📬 Pull requests   💝 Contributors   🕙 Release date
  RecBole         
  RecBole2.0         
  RecBole-DA         
  RecBole-MetaRec         
  RecBole-Debias         
  RecBole-FairRec         
  RecBole-CDR         
  RecBole-GNN         
  RecBole-TRM         
  RecBole-PJF         
  RecSysDatasets         

Highlights

RecBole-DA — Data Enhancement

This toolkit develops three types of data enhancement methods for sequential recommendation, implements a recommendation system based on data enhancement scenarios, and increases the selection and configuration of augmentation strategies, including heuristic methods, model-based methods and hybrid methods as well as seven data enhancement models.

RecBole-MetaRec — Meta Learning

This toolkit aims to help researchers in the field of meta learning recommendation compare and develop relevant models. It realizes the data processing framework, model training framework, model evaluation framework and meta learning related modules based on the meta learning recommendation system. RecBole-MetaRec implements three kinds of models: prediction, parameterization and embedding, including seven meta learning recommendation system models.

RecBole-Debias — Recommendation Bias

This toolkit aims to reproduce and develop the algorithm of the recommendation system for debias. For the common selection bias, popularity bias and exposure bias in the recommendation system, a total of 6 different models are implemented for reference. In addition, two real unbiased datasets (Yahoo! R3 / kuairec) and one semi synthetic dataset (ml-100k) are provided for model training evaluation, as well as a new general data loading module.

RecBole-FairRec — Fairness

This toolkit aims to reproduce and develop the fairness-aware recommendation algorithm. It implements four fairness recommendation models, and realizes a series of Fairness Evaluation Indicators for users and items from various angles, including Gini index, penetration rate, etc. In addition, it also has the flexibility and scalability of customizable fairness evaluation indicators.

RecBole-CDR — Cross Domain Recommendation

This toolkit aims to reproduce and develop the algorithm of cross domain recommendation system. It implements three types of models, including collaborative matrix decomposition, representation sharing and knowledge transfer mapping. A total of 10 cross domain recommendation models are implemented. It supports automatic or manual alignment of source domain and target domain data, and supports the vast majority of existing cross domain recommendation models through the free combination of four training methods.

RecBole-GNN — Graph Neural Network

This toolkit develops a series of efficient, reusable and easy to expand data structures and basic networks based on graph neural network recommendation models and mature GNN libraries such as PyG or DGL. A total of 16 graph neural network models are developed and implemented for three different tasks: graph collaborative filtering, sequential recommendation and social recommendation. The single round training time of SR-GNN and other sequential recommendation models is only 1/10 to 1/3 of the original implementation.

RecBole-TRM — Transformer-based Recommendation

Based on the general configuration of the existing RecBole framework, this toolkit aims to reproduce and develop the recommendation algorithm based on transformer. According to different tasks, it is divided into two types of models: sequential recommendation and news recommendation, and a total of eight models are implemented.

RecBole-PJF — Person-Job Fit

This toolkit aims to develop and reproduce the recommendation algorithm for person post matching, design data and evaluation interfaces for bilateral recommendations, and provide a variety of text data loading methods. The models are divided into three categories: collaborative filtering based model, content-based model and hybrid model, and a total of eight person-job fit algorithm models are implemented.

Quickstart

Each sub package released by RecBole2.0 is independent, but the interface is similar to that of RecBole, which is very easy to use. You can refer to the link for unused partners. The use examples of each sub package are shown in the following figure:

Team of RecBole2.0

The project organizers and developers of RecBole 2.0 are all from Gaoling School of Artificial Intelligence and School of Information, Renmin University of China. We aim to make contributions to the development of open source software in the field of recommendation system, so that RecBole will develop towards a more comprehensive, flexible and easy-to-use direction. We also welcome fresh blood with common pursuit to join us.

Organization Team

Wayne Xin Zhao (Renmin University of China), Xu Chen (Renmin University of China), Ji-Rong Wen (Renmin University of China)

Development Team

Yupeng Hou Core Developer Master of Renmin University of China
Xingyu Pan Core Developer Master of Renmin University of China
Chen Yang Core Developer Master of Renmin University of China
Zeyu Zhang Core Developer Master of Renmin University of China
Zihan Lin Core Developer Master of Renmin University of China
Jingsen Zhang Core Developer Doctor of Renmin University of China
Shuqing Bian Core Developer Doctor of Renmin University of China
Jiakai Tang Core Developer Master of Renmin University of China
Wenqi Sun Core Developer Doctor of Renmin University of China
Yushuo Chen Developer Master of Renmin University of China
Lanling Xu Developer Master of Renmin University of China
Gaowei Zhang Developer Master of Renmin University of China
Zhen Tian Developer Master of Renmin University of China
Changxin Tian Developer Master of Renmin University of China
Shanlei Mu Developer Master of Renmin University of China
Xinyan Fan Developer Master of Renmin University of China

Cite

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