【轻量级推荐算法框架】ReChorus 是一个高效、可扩展的轻量级推荐算法框架
ReChorus 是一个高效、可扩展的轻量级推荐算法框架,基于PyTorch实现。该框架旨在解决推荐系统中算法实现细节、评价方式、数据集处理等方面的差异,帮助缓解可复现性问题。ReChorus实现了多种不同类型的推荐算法,包括常规推荐、序列推荐、引入知识图谱的推荐和引入时间动态性的推荐等,同时提供统一的预处理范式。
主要特点和功能
综合高效:ReChorus框架目前实现了13个不同的推荐算法,涵盖推荐领域的经典模型以及基于深度学习的方法。通过三个核心模块(Reader、Runner、Model)将不同模型共通的数据读取、训练测评等部分整合在一起,提高了模型的训练和测试效率。
轻量实用:ReChorus框架的核心代码在1000行左右,非常易于理解和上手。框架整体基于PyTorch实现,契合深度学习框架使用的整体趋势。此外,框架提供了中间变量检查、重复实验记录、并行参数搜索等实用功能
**扩展性强:**ReChorus框架设计得非常灵活,可以轻松适配个性化的数据格式和评测流程。新版本还支持上下文感知的Top-K推荐和点击率预测任务,以及基于印象的重新排序任务
使用场景和用户评价
ReChorus框架非常适合初学者了解推荐领域的经典模型,也适合研究者快速实现自己的想法。通过分离模型间共同的实验设定和不同的模型设计,使得各个模型能够在一个公平的benchmark上进行对比。实验表明,引入商品关系和时间动态性的商品表示方法可以显著提升推荐算法的效果。
深度学习在推荐系统中应用的经典论文,“基于神经协同过滤(Neural Collaborative Filtering,NCF)的算法”。该论文于2017年在 ACM SIGIR 会议上发表,为深度学习在推荐系统领域的应用奠定了基础。这一方法通过神经网络模型,巧妙地结合了传统协同过滤的思想,有效提升了推荐系统的性能。
使用ReChorus框架进行训练基于神经协同过滤推荐系统:
python main.py --model_name NeuMF --emb_size 64 --layers '[64]' --lr 5e-4 --l2 1e-7 \
--dropout 0.2 --dataset 'Grocery_and_Gourmet_Food'
ReChorus框架支持的其他模型如下,训练命令在每个模型文件py中有体现: