RecBole2.0

GitHub 快速开始 arXiv

简介

在伯乐框架的基础上,我们团队针对不同的研究方向,从数据和模型两个角度不断对其进行扩展和更新,在 2.0 版本中推出八个扩展工具包,覆盖多个推荐系统最新的主题和方向,为推荐系统多个领域的研究提供易用又强大的工具库。

面向数据,我们关注三个重要的研究课题:数据稀疏性、数据偏差和数据分布偏移,针对这三个数据问题,我们开发了五个基准工具包,分别对应元学习(RecBole-MetaRec),数据增强(RecBole-DA),去偏(RecBole-Debias),公平性(RecBole-FairRec)和跨域推荐(RecBole-CDR)。

面向模型,我们考虑为基于新兴的模型架构的推荐算法提供更多支持,开发了两个基准工具包,分别为基于Transformer的模型(RecBole-TRM)和基于图神经网络的模型(RecBole-GNN),除此之外,我们针对人岗匹配开发了一个应用工具包(RecBole-PJF)。

开源贡献

作为一个拥有从数据处理、模型开发、算法训练到科学评测的一站式全流程托管框架,伯乐共有 11 个相关的 GitHub 项目,包括主站(RecBole)、二期(RecBole2.0)、八个扩展子包(RecBole-MetaRecRecBole-DARecBole-DebiasRecBole-FairRecRecBole-CDRRecBole-TRMRecBole-GNNRecBole-PJF)以及数据集(RecSysDatasets)。

我们在下表中总结了基于伯乐实现的 GitHub 项目的开源贡献。

  🎁 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         

子包亮点

RecBole-DA — 数据增强

此工具包针对序列推荐实现和开发了三种类型的数据增强方法,实现了基于数据增强场景下推荐系统,增加增广策略的选择和配置,包括启发式方法、基于模型的方法和混合方法,共包括7个不同的数据增强模型。

RecBole-MetaRec — 元学习

此工具包旨在帮助元学习推荐领域的研究人员比较和开发相关模型,实现了基于元学习推荐系统的数据处理框架、模型训练框架、模型评测框架和元学习相关模块,分别实现了预测、参数化、embedding三种模型,共包括7个元学习推荐系统模型。

RecBole-Debias — 去偏

此工具包旨在复现和开发去偏的推荐系统算法,针对推荐系统中常见的选择偏差、流行度偏差和曝光偏差共实现6个不同的去偏模型供参考。此外,提供2个真实无偏数据集(Yahoo!R3 / KuaiRec)和一个半合成数据集( ML-100k )用于模型训练评估,以及新的通用的数据加载模块。

RecBole-FairRec — 公平性

此工具包旨在复现和开发 fairness-aware 的推荐算法,实现4个公平性推荐模型,并实现了针对用户方和物品方多种角度的一系列公平性评测指标,包括基尼指数、普及率等。此外,还具有可自定义公平性评测指标的灵活性和可扩展性。

RecBole-CDR — 跨域推荐

此工具包旨在复现和开发cross-domain推荐系统算法,实现了三类模型,包括协同矩阵分解类、表示共享类以及知识迁移映射类,共实现10个跨域推荐模型。其支持自动或手动方式为源域和目标域数据进行对齐,通过四种训练方式的自由组合支持现有的绝大多数跨域推荐模型。

RecBole-GNN — 图神经网络

此工具包针对基于图神经网络的推荐模型,基于 PyG/DGL 等成熟 GNN 库开发了一系列高效率、可复用、易拓展的数据结构和基础网络,针对图协同过滤、序列化推荐和社会化推荐三种不同的任务,分别开发并实现了共16个图神经网络模型。SR-GNN 等序列化推荐模型单轮训练耗时仅为原实现的 1/10 - 1/3。

RecBole-TRM — 基于Transformer的推荐

此工具包基于现有RecBole框架的通用配置,旨在复现和开发基于Transformer的推荐算法,根据任务的不同分为两类模型:序列推荐和新闻推荐,共实现8个主要算法模型。

RecBole-PJF — 人岗匹配

此工具包旨在开发和复现针对人岗匹配的推荐算法,针对双边推荐设计数据和评测接口,提供多种文本数据加载方式,模型分为三类:基于协同过滤的模型、基于内容的模型以及混合模型,共实现8个人岗匹配算法模型。

快速开始

伯乐二期发布的各个子包分别独立,但使用接口均与伯乐一期类似,非常易于上手使用,没有使用过的小伙伴可以参考链接。 在一期的基础上,我们对其进行扩展,各个子包的使用示例如下图所示:

伯乐2.0项目团队

伯乐2.0的项目组织者及成员均来自中国人民大学高瓴人工智能学院和信息学院。我们旨在为推荐系统领域开源软件的发展做出贡献,使伯乐朝着更前沿、更全面、更灵活易用的方向发展,也十分欢迎有共同追求的新鲜血液加入。

项目组织者

赵鑫(中国人民大学),陈旭(中国人民大学),文继荣(中国人民大学)

项目开发者

侯宇蓬 Core Developer 中国人民大学硕士
潘星宇 Core Developer 中国人民大学硕士
杨晨 Core Developer 中国人民大学硕士
张泽宇 Core Developer 中国人民大学硕士
林子涵 Core Developer 中国人民大学硕士
张景森 Core Developer 中国人民大学博士
卞书青 Core Developer 中国人民大学博士
唐嘉凯 Core Developer 中国人民大学硕士
孙文奇 Core Developer 中国人民大学博士
陈昱硕 Developer 中国人民大学硕士
徐澜玲 Developer 中国人民大学硕士
张高玮 Developer 中国人民大学硕士
田 震 Developer 中国人民大学硕士
田长鑫 Developer 中国人民大学硕士
牟善磊 Developer 中国人民大学硕士
范欣妍 Developer 中国人民大学硕士

引用

如果你觉得RecBole及其子包对你的科研工作有帮助,请引用我们的论文:RecBoleRecBole2.0