我们提供了常见的召回任务中使用的模型算法的PaddleRec实现, 单机训练&预测效果指标以及分布式训练&预测性能指标等。实现的召回模型包括 Word2Vector。
模型算法库在持续添加中,欢迎关注。
模型 | 简介 | 论文 |
---|---|---|
Word2Vec | word2vector | [NIPS 2013]Distributed Representations of Words and Phrases and their Compositionality |
Deepwalk | Deepwalk | [KDD 2014]DeepWalk: Online Learning of Social Representations |
MIND | Multi-Interest Network with Dynamic Routing | [ACM 2019]Multi-Interest Network with Dynamic Routing for Recommendation at Tmall |
NCF | Neural Collaborative Filtering | [WWW 2017]Neural Collaborative Filtering |
下面是每个模型的简介(注:图片引用自链接中的论文)
Neural Collaborative Filtering 中的neumf网络结构如图所示:
DeepWalk: Online Learning of Social Representations:
# 进入模型目录
cd models/recall/xxx # xxx为任意的recall下的模型目录
# 动态图训练
python -u ../../../tools/trainer.py -m config.yaml # 全量数据运行config_bigdata.yaml
# 动态图预测
python -u ../../../tools/infer.py -m config.yaml
# 静态图训练
python -u ../../../tools/static_trainer.py -m config.yaml # 全量数据运行config_bigdata.yaml
# 静态图预测
python -u ../../../tools/static_infer.py -m config.yaml
数据集 | 模型 | acc |
---|---|---|
1 Billion Word Language Model Benchmark | Word2Vec | 0.579 |
BlogCatalog | deepwalk | MacroF1: 0.295 |
AmazonBook | mind | Recall@50: 8.43% |
MovieLens | ncf | HR@10: 0.58 |
您需要进入PaddleRec/datasets目录下的对应数据集中运行脚本获取全量数据集,然后在模型目录下使用全量数据的参数运行。
每个模型下的readme中都有详细的效果复现的教程,您可以进入模型的目录中详细查看。