推荐系统(Recommender System)主要是用于解决大数据时代信息过载的问题,其主要根据用户的历史偏好和约束为用户提供排序的个性化物品(item)推荐列表,更精准的推荐系统可以提升和改善用户体验。目前在推荐系统领域已有大量的开源项目,包括谷歌,Facebook,百度三大家官方都有提供相关的工具支持。本文详细列举了目前在推荐系统领域的一些项目/工具,用于助力推荐系统研究。
注:以下项目排名不分先后。
TensorFlow Recommenders:TensorFlow 官方开源的推荐系统项目,目前⭐ 1.1k
TorchRec[1]:FaceBook 官方最新开源的推荐系统项目,用于支持大型推荐系统所需的稀疏性和并行性操作,允许用户利用多GPU并行的方法训练大规模的embedding。由于近期刚刚开源,目前⭐ 28。
Graph4Rec[2]:百度PGL团队近期开源的面向大规模推荐系统的工具包。基于 PaddlePaddle 与 PGL实现。
论文地址:Graph4Rec: A Universal Toolkit with Graph Neural Networks for Recommender Systems[3]
RecBole[4]:RecBole (中文名称:"伯乐",意取"世有伯乐,然后有千里马"),由中国人民大学的AI Box团队与北京邮电大学、华东师范大学的科研团队联合开发出品。该框架实现了推荐领域不同任务的推荐模型,拥有从数据处理、模型开发、算法训练到科学评测的一站式全流程托管。在RecBole框架中,用户只需设置几个简单的配置参数(文件、命令行、运行时参数多种方式任你选择)即可快速在不同数据集上实现各个模型,同时其简洁的开发接口十分方便相关的研究人员进行二次开发和添加新的模型支持。目前已有⭐ 1.4k。
QRec[5]:一个基于TensorFlow写的Python推荐系统框架,用于快速实现推荐系统,项目开源时间较长,目前已有⭐ 1.1k。
ReChorus[6]:ReChorus是一个通用的PyTorch框架,用于具有隐式反馈Top-K推荐场景。该项目目的是提供一个公平的基准来比较不同的最先进的算法,从而可以在一定程度上缓解不同论文采用非可比实验设置的问题,从而形成推荐算法的“合唱”。目前⭐253.
Librec[7]:Librec是一个利用Java写的推荐系统库,涵盖了大量推荐系统常用算法,目前⭐ 3k。
CRSLab[8]:中国人民大学AI BOX团队推出的开源项目CRSLab ——一个用于构建对话推荐系统(CRS)的开源工具包,项目致力于构建一键复现,快速开发,自动评测的一条龙服务。目前已有⭐ 276。
论文地址:CRSLab: An Open-Source Toolkit for Building Conversational Recommender System[9]
NeuRec[10]:中科大何向南教授团队推出的开源推荐系统库。项目旨在解决一般推荐、社交推荐的和序列推荐任务,项目已使用Tensorflow库提供33个现成的模型复现。目前已有⭐ 865
daisyRec[11]:推荐系统基准模型库,用于处理rating预测以及ranking问题,
论文地址:Are We Evaluating Rigorously Benchmarking Recommendation for Reproducible Evaluation and Fair Comparison[12]
GRecX[13]:一个近期开源的基于 GNN 的推荐系统框架,基于TensorFlow实现。由于近期刚刚开源,目前⭐ 42。
论文地址:GRecX: An Efficient and Unified Benchmark for GNN-based Recommendation[14]
RSPapers[15]:一个关于收集推荐系统各个研究子方向经典论文的仓库,包括经典综述、经典推荐算法、社会化推荐算法、深度推荐算法、冷启动推荐算法、可解释性推荐、基于隐私保护的推荐算法等,目前⭐ 4116。
RSAlgorithms[16]:一个关于实现传统推荐算法与社会化推荐算法的工具库,注释较全,易于上手,适合新手阅读论文并配合代码学习,目前⭐ 575。
TorchRec: https://github.com/facebookresearch/torchrec
[2]Graph4Rec: https://github.com/PaddlePaddle/PGL/tree/main/apps/Graph4Rec
[3]Graph4Rec: A Universal Toolkit with Graph Neural Networks for Recommender Systems: https://arxiv.org/abs/2112.01035
[4]RecBole: https://github.com/RUCAIBox/RecBole
[5]QRec: https://github.com/Coder-Yu/QRec
[6]ReChorus: https://github.com/THUwangcy/ReChorus
[7]Librec: https://github.com/guoguibing/librec
[8]CRSLab: https://github.com/RUCAIBox/CRSLab
[9]CRSLab: An Open-Source Toolkit for Building Conversational Recommender System: https://arxiv.org/abs/2101.00939
[10]NeuRec: https://github.com/wubinzzu/NeuRec
[11]daisyRec: https://github.com/AmazingDD/daisyRec
[12]Are We Evaluating Rigorously Benchmarking Recommendation for Reproducible Evaluation and Fair Comparison: https://dl.acm.org/doi/pdf/10.1145/3383313.3412489
[13]GRecX: https://github.com/maenzhier/GRecX
[14]GRecX: An Efficient and Unified Benchmark for GNN-based Recommendation: https://arxiv.org/abs/2111.10342
华为、人大、清华和港中文联合发布推荐系统的Benchmarking
由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。