在此基础上学习并修改,仅用于学习。
SparrowRecSys是一个电影推荐系统,名字SparrowRecSys(麻雀推荐系统),取自“麻雀虽小,五脏俱全”之意。项目是一个基于maven的混合语言项目,同时包含了TensorFlow,Spark,Jetty Server等推荐系统的不同模块。希望你能够利用SparrowRecSys进行推荐系统的学习,并有机会一起完善它。
受极客时间邀请开设 深度学习推荐系统实战 课程,详细讲解了SparrowRecSys的所有技术细节,覆盖了深度学习模型结构,模型训练,特征工程,模型评估,模型线上服务及推荐服务器内部逻辑等模块。
- Java 8
- Scala 2.11
- Python 3.6+
- TensorFlow 2.0+
将项目用IntelliJ打开后,找到RecSysServer
,右键点选Run
,然后在浏览器中输入http://localhost:6010/
即可看到推荐系统的前端效果。
项目数据来源于开源电影数据集MovieLens,项目自带数据集对MovieLens数据集进行了精简,仅保留1000部电影和相关评论、用户数据。全量数据集请到MovieLens官方网站进行下载,推荐使用MovieLens 20M Dataset。
SparrowRecSys技术架构遵循经典的工业级深度学习推荐系统架构,包括了离线数据处理、模型训练、近线的流处理、线上模型服务、前端推荐结果显示等多个模块。以下是SparrowRecSys的架构图:
- Word2vec (Item2vec)
- DeepWalk (Random Walk based Graph Embedding)
- Embedding MLP
- Wide&Deep
- Nerual CF
- Two Towers
- DeepFM
- DIN(Deep Interest Network)
- [FFM] Field-aware Factorization Machines for CTR Prediction (Criteo 2016)
- [GBDT+LR] Practical Lessons from Predicting Clicks on Ads at Facebook (Facebook 2014)
- [PS-PLM] Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction (Alibaba 2017)
- [FM] Fast Context-aware Recommendations with Factorization Machines (UKON 2011)
- [DCN] Deep & Cross Network for Ad Click Predictions (Stanford 2017)
- [Deep Crossing] Deep Crossing - Web-Scale Modeling without Manually Crafted Combinatorial Features (Microsoft 2016)
- [PNN] Product-based Neural Networks for User Response Prediction (SJTU 2016)
- [DIN] Deep Interest Network for Click-Through Rate Prediction (Alibaba 2018)
- [ESMM] Entire Space Multi-Task Model - An Effective Approach for Estimating Post-Click Conversion Rate (Alibaba 2018)
- [Wide & Deep] Wide & Deep Learning for Recommender Systems (Google 2016)
- [xDeepFM] xDeepFM - Combining Explicit and Implicit Feature Interactions for Recommender Systems (USTC 2018)
- [Image CTR] Image Matters - Visually modeling user behaviors using Advanced Model Server (Alibaba 2018)
- [AFM] Attentional Factorization Machines - Learning the Weight of Feature Interactions via Attention Networks (ZJU 2017)
- [DIEN] Deep Interest Evolution Network for Click-Through Rate Prediction (Alibaba 2019)
- [DSSM] Learning Deep Structured Semantic Models for Web Search using Clickthrough Data (UIUC 2013)
- [FNN] Deep Learning over Multi-field Categorical Data (UCL 2016)
- [DeepFM] A Factorization-Machine based Neural Network for CTR Prediction (HIT-Huawei 2017)
- [NFM] Neural Factorization Machines for Sparse Predictive Analytics (NUS 2017)