RecBole (伯乐) 2.0
"世有伯乐,然后有千里马。千里马常有,而伯乐不常有。"——韩愈《马说》
RecBole 1.0 | 主页 | 数据集 | 论文
基于流行的推荐框架RecBole,我们开发了一个扩展推荐库,名为RecBole 2.0,其中包含了针对最新主题和架构的基准测试包。
RecBole 2.0包含8个涵盖推荐系统最新研究主题的包:
- 数据增强 (RecBole-DA)
- 元推荐 (RecBole-MetaRec)
- 去偏推荐 (RecBole-Debias)
- 公平感知推荐 (RecBole-FairRec)
- 跨域推荐 (RecBole-CDR)
- 基于图的推荐 (RecBole-GNN)
- 基于Transformer的推荐 (RecBole-TRM)
- 人岗匹配 (RecBole-PJF)
对于每个包,我们提供了从数据加载、实验设置、评估到算法实现的完整实现。这个库对推进推荐系统的最新研究具有重要价值。
RecBole-DA
RecBole-DA是基于PyTorch和RecBole构建的库,用于复现和开发序列推荐的数据增强。
1)亮点
- 易用的API: 我们的库基于常见的数据增强策略提供了广泛的API,用户可以在此基础上进一步开发自己的新模型。
- 全面覆盖经典方法: 我们提供了基于推荐系统的三大类七种数据增强方法。
2)已实现的模型
我们的库包含了涵盖三大类的算法:
- 基于启发式的方法:CL4SRec, DuoRec
- 基于模型的方法:MMInfoRec, CauseRec
- 混合方法:CASR, CCL, CoSeRec
3)团队
RecBole-DA由RUCAIBox的成员开发和维护,开发者是边书卿(@fancybian)。
RecBole-MetaRec
RecBole-MetaRec是RecBole的扩展包,旨在帮助研究人员在元学习推荐领域比较和开发自己的模型。
1) 亮点
该包主要为研究人员提供以下优势:
- 方便开发新的元学习推荐模型,使用通用的元学习框架。
- 方便学习和比较我们已实现的元学习推荐模型。
- 方便使用RecBole的优势和特性。
此外,我们为研究人员提供了详细的文档。
2) 已实现的模型
我们的包包括三种主要类型的算法:
- 元学习预测:MeLU, MAMO
- 元学习参数化:LWA, NLBA, TaNP
- 元学习嵌入:MetaEmb, MWUF
3) 扩展模块
(1) MetaDataset:元学习任务分割器。(2) MetaDataLoader:元学习任务转换器。(3) MetaRecommender:元学习模型模板。(4) MetaTrainer:元学习训练过程的基础训练器。(5) MetaCollector:元学习任务的评估类。(6) MetaUtils:元学习工具包。
4) 团队
RecBole-MetaRec由张泽宇(@Zeyu Zhang)开发和维护。
RecBole-Debias
RecBole-Debias是基于RecBole构建的工具包,用于复现和开发去偏推荐算法。
1)亮点
-
统一
一个统一的框架,包含针对不同类型偏差的多种算法。同时,提供了三个训练集和测试集分布不同的数据集用于训练和评估。
-
适应性
适用于多种基础推荐模型。为简单起见,当前实现仅基于MF模型。
-
紧密关联
与Recbole紧密相关。该工具包完全采用Recbole的功能,除了某些算法需要设计独特的组件,如训练器。
2)已实现的模型
我们根据类别列出当前支持的模型:
- 基础模型:MF
- 选择偏差:MF-IPS
- 流行度偏差:PDA, MACR, DICE, CausE
- 曝光偏差:Rel-MF
3)团队
RecBole-Debias由RUCAIBox的成员开发和维护,主要开发者是张景森(@Jingsen Zhang)。
RecBole-FairRec
RecBole-FairRec 是一个基于 PyTorch 和 RecBole 构建的库工具包,用于复现和开发公平性感知推荐算法。
1)亮点
- 易用性:我们的库与 RecBole 共享统一的 API 和输入(原子文件)。
- 便于学习和比较:我们的库提供了多种公平性指标和框架,便于学习和比较。
- 丰富的公平推荐算法库:最近提出的公平性感知算法可以轻松地在我们的库中使用。
2)已实现的模型
以下是我们目前已实现的模型和公平性指标:
- 模型:FOCF、PFCN(包括 PFCN_MLP、PFCN_BiasedMF、PFCN_DMF、PFCN_PMF)、FairGo(包括 FairGo_PMF_WAP、FairGo_PMF_LBA、FairGo_PMF_LVA、FairGo_GCN_WAP、FairGo_GCN_LBA、FairGo_GCN_LVA)、NFCF
- 公平性指标:
- 物品导向:基尼系数、流行度百分比
- 用户导向:差异公平性、价值不公平性、绝对不公平性、欠代表不公平性、过度代表不公平性、非均等不公平性
3)团队
RecBole-FairRec 由唐嘉凯(@Jiakai Tang)开发和维护。
RecBole-CDR
RecBole-CDR 是一个基于 RecBole 构建的库,用于复现和开发跨域推荐算法。
1) 亮点
- 跨域推荐的自动化和兼容数据处理: 我们的库为跨域推荐设计了统一的数据结构,继承了 RecBole 中所有的数据预处理策略。不同域中的重叠数据可以自动匹配。
- 灵活可定制的模型训练策略: 我们的库为跨域推荐提供了四种基本训练模式,用户可以任意组合。同时也可以轻松地以原始方式自定义训练策略。
- 丰富的跨域推荐算法: 基于统一的数据结构和灵活的训练策略,实现了多种跨域推荐算法,并与其他算法进行了公平比较。
2) 已实现的模型
我们的库包含了三大类算法:
- 基于集体矩阵分解的算法,如 CMF 和 CLFM。
- 共享或组合重叠数据表示的算法,例如 DTCDR、DeepAPF 和 NATR。
- 在不同域之间转移或映射知识的算法,如 CoNet、BiTGCF、EMCDR、SSCDR 和 DCDCSR。
3) 团队
RecBole-CDR 由 RUCAIBox 的成员开发和维护,主要开发者是林子涵(@linzihan-backforward)、张高伟(@Wicknight)和穆善雷(@ShanleiMu)。
RecBole-GNN
RecBole-GNN 是一个基于 PyTorch 和 RecBole 构建的库,用于复现和开发基于图神经网络(GNNs)的推荐算法。
1)亮点
- 易用且统一的 API: 我们的库与 RecBole 共享统一的 API 和输入(原子文件)。
- 高效且可重用的图处理: 我们提供了高效且可重用的基础数据集、数据加载器和图处理与学习层。
- 丰富的图算法库: 融合了来自广泛使用的库如 PyG 的图神经网络。最新提出的图算法可以轻松地与现有方法进行装备和比较。
2)已实现的模型
我们的库包含了三大类算法:
- 通用推荐:NGCF、LightGCN、SGL、HMLET、NCL、SimGCL
- 序列推荐:SR-GNN、GC-SAN、NISER、LESSR、TAGNN、GCE-GNN、SGNN-HN
- 社交推荐:DiffNet、MHCN、SEPT
3)团队
RecBole-GNN 由 RUCAIBox 的成员开发和维护,主要开发者是侯宇鹏(@hyp1231)、徐兰玲(@Sherry-XLL)和田长鑫(@ChangxinTian)。
RecBole-TRM
RecBole-TRM 是一个基于 PyTorch 和 RecBole 构建的库,用于复现和开发基于 Transformer(TRMs)的推荐算法。
1)亮点
- 易用的 API: 我们的库与 RecBole 共享统一的 API 和输入(原子文件)。
- 公平的可复现性和比较: 我们的库在系统机制下提供公平的可复现性和比较。
- 丰富的 Transformer 库: 我们的库基于常见的 Transformer 层提供了丰富的 API,可以轻松地基于我们的库进一步开发新模型。
2)已实现的模型
我们的库包含了两大类算法:
- 序列推荐:TiSASRec、SSE-PT、LightSANs、gMLP、CORE
- 新闻推荐:NRMS、NAML、NPA
3)团队
RecBole-TRM 由 RUCAIBox 的成员开发和维护,主要开发者是孙文琦(@wenqisun)和范新研(@BELIEVEfxy)。
RecBole-PJF
RecBole-PJF 是一个基于 PyTorch 和 RecBole 构建的库,用于复现和开发人岗匹配(PJF)推荐算法。
1)亮点
- 统一框架:我们的库为不同方法构建了统一框架,包括协同方法、基于内容的方法和混合方法;
- 从两个角度评估:我们的库同时对求职者和雇主进行评估,这在之前的框架中是没有包含的;
- 易于扩展:人岗匹配模型可以轻松扩展到我们的库中,因为我们为交互数据和文本数据提供了多个输入接口。
2)已实现的模型
我们的库包含涵盖三大类别的算法:
-
基于协同过滤的模型:LFRR 和 RecBole 中的其他模型
-
基于内容的模型:PJFNN、BPJFNN、APJFNN、BERT
-
混合模型:IPJF、PJFFF、SHPJF
3)团队
RecBole-PJF 由 RUCAIBox 的成员开发和维护,主要开发者是陈阳(@flust)、侯宇鹏(@hyp1231)和边书青(@fancybian)。
关于 RecBole 2.0
随着推荐系统的快速发展,我们收到越来越多 RecBole 用户对支持最新进展(如去偏见、公平性和图神经网络)的请求。同时,我们团队的成员也在这些新兴主题或模型上进行研究。 因此,我们基于 RecBole 1.0 构建了这个扩展库,我们相信这个扩展是对 RecBole 的重要贡献,对研究社区来说是一个宝贵的资源。
为了便于检索基于 RecBole 的模型,我们总结了所有已实现的模型信息,详情请参见模型列表。
开源贡献
作为一个从数据处理、模型开发、算法训练到科学评估的一站式框架,RecBole 总共有 11 个相关的 GitHub 项目,包括:
- RecBole 的两个版本(RecBole 1.0 和 RecBole 2.0);
- 8 个基准测试包(RecBole-MetaRec、RecBole-DA、RecBole-Debias、RecBole-FairRec、RecBole-CDR、RecBole-TRM、RecBole-GNN 和 RecBole-PJF);
- 数据集仓库(RecSysDatasets)。
在下表中,我们总结了基于 RecBole 的 GitHub 项目的开源贡献。
项目 | 星标 | 分支 | 问题 | 拉取请求 |
---|---|---|---|---|
RecBole | ||||
RecBole2.0 | ||||
RecBole-DA | ||||
RecBole-MetaRec | ||||
RecBole-Debias | ||||
RecBole-FairRec | ||||
RecBole-CDR | ||||
RecBole-GNN | ||||
RecBole-TRM | ||||
RecBole-PJF | ||||
RecSysDatasets |
引用
如果您发现RecBole对您的研究或开发有用,请引用以下论文:RecBole和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}
}