项目介绍
QRec 是一个用Python实现的推荐系统框架。该框架支持Python 3.7.4和Tensorflow 1.14+,实现了多个影响力大的及最新的推荐模型。QRec的架构轻量且界面友好,能够方便地进行模型实现和评估。此外,QRec的创始人及主要贡献者为@Coder-Yu,他还获得了多位合作者及支持者的帮助和支持。
功能特色
QRec的主要特点包括:
- 跨平台:QRec可以在各种平台上轻松部署和运行,包括Windows、Linux和Mac OS系统。
- 快速执行:由于使用了Numpy和Tensorflow,以及一些轻量结构,QRec能够快速运行。
- 简单配置:使用配置文件对推荐器进行配置,并提供多种评估协议。
- 易于扩展:QRec提供了一套设计良好的推荐接口,通过这些接口可以轻松实现新的算法。
使用方法
运行QRec中的推荐模型有两种途径:
- 在config目录中配置相应的xx.conf文件(xx是需要运行的模型名称),然后运行
main.py
。 - 直接遵循
snippet.py
中的代码。
新增功能
QRec持续更新并添加新的功能与模型,例如:
- 2022年3月31日:添加了在SIGIR'22中提出的SimGCL。
- 2021年至2022年间,新增了多个前沿的推荐模型,包括BUIR、SEPT、SGL和MHCN等。
架构与工作流程
QRec的架构和工作流程经过精心设计,以便于模型的实现和评估。整体上,架构图展示了不同模块如何协作,而工作流程图则展示了执行流程的细节。
扩展支持
QRec的架构允许用户通过继承适当的基类来实现自定义模型,并重写部分必要函数,如读取配置、初始化模型、训练模型等。
项目要求
要运行QRec,需要满足以下软件包依赖:
- gensim==4.1.2
- joblib==1.1.0
- mkl==2022.0.0
- mkl_service==2.4.0
- networkx==2.6.2
- numba==0.53.1
- numpy==1.20.3
- scipy==1.6.2
- tensorflow==1.14.0
实现的算法
QRec目前已经实现了一系列的算法,包括用于评分预测的SlopeOne、PMF、SVD++等,以及用于项目排序的BPR、NGCF、IRGAN等。这些实现为研究者和开发者提供了一个丰富的工具库用于推荐系统设计。
相关数据集
QRec支持多种数据集供测试和研究使用,如Ciao、Epinions、Douban、LastFM等。这些数据集提供了用户、项目和评分等基本信息,并在某些情况下包含用户间的信任关系数据。
支持与文献
QRec项目得到了多个学术机构的支持,如昆士兰大学和重庆大学。在相关研究中使用QRec的研究者可以引用相关学术论文,以感谢该项目的贡献。
总体来说,QRec是一个功能齐全、高效并易于使用的推荐系统框架,特别适合于学术研究和工业应用中的推荐系统开发和实验。