Sparrow Rec Sys
SparrowRecSys是一个电影推荐系统,名字SparrowRecSys(麻雀推荐系统),取自“麻雀虽小,五脏俱全”之意。项目是一个基于maven的混合语言项目,同时包含了TensorFlow,Spark,Jetty Server等推荐系统的不同模块。希望你能够利用SparrowRecSys进行推荐系统的学习,并有机会一起完善它。
基于SparrowRecSys的实践课程
受极客时间邀请开设 深度学习推荐系统实战 课程,详细讲解了SparrowRecSys的所有技术细节,覆盖了深度学习模型结构,模型训练,特征工程,模型评估,模型线上服务及推荐服务器内部逻辑等模块。
环境要求
Java 8
Scala 2.11
Python 3.6+
TensorFlow 2.0+
快速开始
将项目用IntelliJ打开后,找到RecSysServer
,右键点选Run
,然后在浏览器中输入http://localhost:6010/
即可看到推荐系统的前端效果。
安装 IDEA。下载 IDE,安装 IDEA 后,打开 IDEA;
在 IDEA 中打开项目。选择 File->Open-> 选择 git clone 到的项目根目录,就可以把项目导入到 IDEA;
配置 maven project。我们在 IDEA 的项目结构树的 pom.xml 上点击右键,设置为 maven project(最新的 IDE 版本也可能不用)就可以了;
配置 SDK。Sparrow Recsys 使用了 Java8,Scala2.11 的编译环境,你可以在 File->Project Structure->Project 中配置 Java SDK,并在 Global Libraries 中配置 Scala SDK(如果没有安装,点加号选择Scala SDK可以Download);
运行推荐服务器。我们找到类文件 class RecSysServer(com.wzhe.sparrowrecsys.online.RecSysServer),右键点击 -> run;
打开 Sparrow Recsys 首页,在浏览器中输入http://localhost:6010/ ,当看到 Sparrow RecSys 首页的时候,就说明你整个配置和安装成功了。
因为 IDEA 默认不支持 Python 的编译,所以我们需要为它安装 Python 插件。具体的安装路径是点击顶部菜单的 IntelliJ IDEA -> Preferences -> Plugins -> 输入 Python -> 选择插件 Python Community Edition 进行安装。
项目数据
项目数据来源于开源电影数据集MovieLens,项目自带数据集对MovieLens数据集进行了精简,仅保留1000部电影和相关评论、用户数据。全量数据集请到MovieLens官方网站进行下载,推荐使用MovieLens 20M Dataset。
MovieLens 的数据集包括三部分,分别是 movies.csv(电影基本信息数据)、ratings.csv(用户评分数据)和 links.csv(外部链接数据)。
movies 表是电影的基本信息表,它包含了电影 ID(movieId)、电影名(title)、发布年份以及电影类型(genres)等基本信息。
ratings 表包含了用户 ID(userId)、电影 ID(movieId)、评分(rating)和时间戳(timestamp)等信息。
links 表包含了电影 ID(movieId)、IMDB 对应电影 ID(imdbId)、TMDB 对应电影 ID(tmdbId)等信息。其中,imdb 和 tmdb 是全球最大的两个电影数据库。因为 links 表包含了 MovieLens 电影和这两个数据库 ID 之间的对应关系,所以,我们可以根据这个对应关系来抓取电影的其他相关信息,这也为我们大量拓展推荐系统特征提供了可能。
SparrowRecSys技术架构
涉及技术点
SparrowRecSys实现的深度学习模型
Word2vec (Item2vec)
DeepWalk (Random Walk based Graph Embedding)
Embedding MLP
Wide&Deep
Nerual CF
Two Towers
DeepFM
DIN(Deep Interest Network)
相关论文
其他相关资源
Last updated
Was this helpful?