02 | Sparrow RecSys:我们要实现什么样的推荐系统?
该思维导图由 AI 生成,仅供参考
废话不多说,直接运行
- 深入了解
- 翻译
- 解释
- 总结
Sparrow RecSys是一个开源的深度学习推荐系统,旨在帮助程序员快速构建和实现一个完整的推荐系统。该系统提供了相似推荐、个性化推荐等经典推荐功能,并包含了首页、电影详情页和为你推荐页等页面设置。其数据源来自于MovieLens数据集,包括电影基本信息、用户评分数据和外部链接数据等。Sparrow RecSys的功能和数据源的详细介绍,为读者提供了深度学习推荐系统的主要模块和主流技术的快速领略和实现路径。文章通过简洁明了的步骤指引,使读者能够在30分钟内在本地电脑上运行起这套深度学习推荐系统,为读者提供了一个快速入门的机会。文章还介绍了Sparrow Recsys涵盖的技术点,包括数据处理使用Spark和Flink,模型训练使用TensorFlow等。通过对Sparrow RecSys的技术架构图的解读,读者可以了解到主流深度学习推荐系统所使用的技术,建立自己的知识广度。整篇文章以实际项目Sparrow RecSys为例,将概念讲解和代码实战结合,为读者提供了全面的认识和实践机会。
《深度学习推荐系统实战》,新⼈⾸单¥68
全部留言(116)
- 最新
- 精选
- Capricornus置顶MAC OS系统 1.下载IDEA(https://www.jetbrains.com/idea/download/#section=mac) 2.下载JDK(https://www.oracle.com/java/technologies/javase-jdk15-downloads.html) 3.安装IDEA和JDK(JDK的路径~/Library/Java/JavaVirtualMachines/openjdk-15.0.1-1) 4.打开IDEA,打开File->Project Strucure->Project->Project JDK(我的好像会自动识别)。若没有识别(显示jdk15.1),点击三角号,自己添加,步骤Add SDK->JDK->选择上面提到的JDK路径选择。 5.在pom.xml点击右键,设置为maven project->'Reload project'。耐心等待,这个很费时间。 6.然后找到SparrowRecSys/src/main/java/com/SparrowRecSys/online/RecSysServer,右击选择"Run 'RecSysServer.main()'",程序就执行起来了. 7.浏览器中键入http://localhost:6010/
作者回复: jdk推荐使用java8的版本,因为spark目前对java8以上版本支持不好。
2020-12-221260 - 挖掘机置顶windows下搭建推荐系统的步骤 1. 使用的vscode作为IDE 2. 编译命令为mvn package assembly:single 3. 我的web root uri在源代码里总是为空,稍微改了一下,这里是为了绕过去,也请指导的高手告诉正确方法 RecSysServer.java中49行改成了绝对路径 URI webRootUri = URI.create("file:/D:/Work/RecommendationSystem/Sparrow/SparrowRecSys/target/classes/webroot/"); 4. 运行java -jar target\SparrowRecSys-1.0-SNAPSHOT-jar-with-dependencies.jar即刻成功2020-12-21612
- 浣熊当家因为没有项目经验,想知道git clone到本地之后,怎么运行这个Maven project呢?油管上有没有类似的demo可以看看,老师能出一下小的录屏么?万分感谢。。第一步就卡住了。。
作者回复: 简单来说就是: 1、到这个地址下载IDE, https://www.jetbrains.com/idea/download/#section=mac 2、安装IDEA 3、打开IDEA 4、选择File->Open->选择项目根目录 5、在pom.xml点击右键,设置为maven project(最新的IDE版本也可能不用) 6、找到类文件 class RecSysServer,右键点击-> run 7、浏览器输入http://localhost:6010/ 8、看到SparrowRecSys首页说明运行成功。
2020-09-23738 - 嘿人王老师您好,我学习的时候就是经常把握不好“使用者”的度,碰到什么都想扎进去研究,导致很容易陷入‘局部极小值’,请问怎么把握这个度呢?
作者回复: 要有知识广度和宽度的概念,就像你做高考试卷,如果第一道题比较难,不太会,你总不能在第一道题上就花半个小时去解它吧,肯定是先跳过,把整体上比较简单的做完再回头做第一道。 技术学习,和技术积累也是这样的,先知全局,再有针对性的深入,提高,否则你整体的技术水平肯定不会太高。
2020-12-0937 - Hhha爲老师您好,我查阅了网上的一些博客资料,大多认为协同过滤这样的传统方法应该是在召回层。,不过在您的图里是在排序(精排)层,可以问一下这样分类的理由是什么吗?谢谢!
作者回复: 这是个好问题。 五六年前的传统推荐系统不少还在用协同过滤作为主排序模型。这几年慢慢被淘汰了,排序层变成了以深度学习推荐模型为主的复杂模型。 但因为协同过滤类算法比较简单,比如矩阵分解之后可以进行embedding快速召回,所以放在召回层也完全适用。 文章中推荐系统的架构是一个比较经典的架构,但也没必要认为它是无法改变的真理。在实际应用场景之中要根据业务特点灵活运用。
2020-09-2334 - pedro暂时没有去跑项目,先尝试回答问题二吧,对于一个电影爱好者而言,从我的角度出发,一个能够取悦我的,电影推荐系统,必须满足我在电影种类,演员,电影内容,电影质量上的需求,要说什么最有帮助,我觉得应该是用户历史浏览记录。
作者回复: 非常好,几乎就是我想说的了。你说的前一部分是content based特征,后一部分是user behavior类特征。一般从对结果的影响大小来看,user behaviour特征在电影推荐、电商推荐等场景下都是更重要的。
2020-09-22227 - Don召回有优化之后,排序并不能捕捉到召回新增的特征,在排序后召回的优化点弱化很多,这种一般怎么处理?比如:召回有话增加了性别+年龄的特征,但是排序层没有用这维特征,导致根据该特征召回的内容排序后都在靠后位置没有机会曝光
作者回复: 非常好的实践经验。在设计召回层和排序层的时候一般要联合设计,召回层要特别关注召回率指标。 如果你认为你的排序模型效果是非常不错的,把性别和年龄特征召回的item排在后面,就说明二者相关的item不应该被召回。 如果年龄和性别这两个特征对结果影响很大,那为什么排序层模型训练的时候不引入这两个特征呢? 所以需要再重新评估一下两个层,做一个重新的设计。
2020-09-23219 - 夜雨声烦JAVA小白 mac os系统 安装Sparrow Recsys时的历程: 1,安装java8和scala2.11 网上有很多参考教程。 安装Java8:https://blog.csdn.net/irokay/article/details/71374426 遇到的/etc/profile是readonly的情况,解决方法是更改该文件的权限,增加写权限:775.https://blog.csdn.net/good007boy/article/details/88659162 安装scale:https://blog.csdn.net/u012373815/article/details/53231292 遇到的问题,在执行scala的时候出现“scala [ERROR] Failed to construct terminal; falling back to unsupported”,应该是跟iterm2起了什么冲突,解决方案:https://blog.csdn.net/merrily01/article/details/102823539 2,安装、打开IDEA 略过 3,执行文件 在pom.xml点击右键,设置为maven project->'Reload project' 配置SDK:在File->Project Structure->Project配置Project SDK 然后找到SparrowRecSys/main/java/online/RecSysServer,右击选择"Run 'RecSysServer.main()'",程序就执行起来了 浏览器输入http://localhost:6010/,就可以看到SparrowRecSys首页
作者回复: 非常好。推荐给其他同学参考。
2020-10-09615 - Sam## 上个旧版本有些链接失效,现在补上这个新的,而且更新了步骤。 win7下 搭建 推荐系统 的步骤: 1. 第1步骤:下载IDEA。 https://www.jetbrains.com/idea/download/#section=windows 2. 第2步骤:如何下载和配置JDK1.8(一定要JDK1.8) https://www.cnblogs.com/hejh/p/11276434.html 3.第3步骤:IDEA配置JDK1.8(一定要JDK1.8) https://blog.csdn.net/liluo_2951121599/article/details/78484776 4. 第4步骤:window下安装scala步骤 https://www.cnblogs.com/onlyxx/p/5168882.html 4.1 第4.1步骤:Scala安装问题找不到主类的(不要安装在有空格的路径) https://blog.csdn.net/weekdawn/article/details/94625067 4.2 第4.2步骤:Scala2.11要匹配JDK1.8,否则出问题 https://blog.csdn.net/yulutian/article/details/80566728 5. 第5步骤:IDEA配置Scala https://www.cnblogs.com/starzy/p/10461038.html 6. 第6步骤:win7安装hadoop spark https://www.jianshu.com/p/9f40fe1b6587 7. 第7步骤:安装Redis https://www.cnblogs.com/liuqingzheng/p/9831331.html 大功告成,如果安装过程有问题的同学,请留言,我们一起解决!~^^
作者回复: 非常赞
2021-06-18614 - 明月老师,这是需要去了解一下java吗,在校生做推荐系统还是用Python
作者回复: 线上部分会使用java,spark部分会使用scala,tensorflow部分会使用python。
2020-11-25212