Gorse推荐系统指南:制定推荐策略1推荐算法介绍:最新推荐最热推荐基于物品相似推荐基于用户相似推荐协同过滤推

Gorse推荐系统实现了很多类型的推荐算法,既包括了非个性化推荐算法,也包括了个性化推荐算法。实际上,没有一个推荐算法是万能的,只有将它们组合利用才能实现最好的推荐效果。

首先,本文介绍一下Gorse中的各类推荐算法,每一类推荐算法都有各种的优缺点。

某些场景下,用户会喜欢特定类型的物品,例子某游戏平台用户钟爱解谜类游戏、某视频平台用户喜欢看小姐姐跳舞。根据用户的历史记录和物品之间的相似度,就可以完成相似物品推荐。所以,相似物品推荐的关键在于计算物品之间的相似度。

Gorse计算物品相似度由三种模式,可以在配置文件中设置:

相似的用户之间也通常存在共同的喜好,例如计算机专业的学生一般会购买计算机类书籍、长辈喜欢购买保健品。

Gorse计算用户之间相似度同样有三种模式,同样在配置文件中制定:

基于相似物品和相似用户的推荐算法要求被推荐的物品需要通过其他用户或者其他物品和被推荐用户之间建立联系,这就局限了筛选推荐内容的范围。Gorse中的协同过滤推荐使用矩阵分解算法来推荐物品,训练算法将用户和物品映射为一个高维空间中的向量,用户对物品的喜好程度就是用户向量和物品向量的乘积。然而,协同过滤推荐的缺点就是无法利用用户和物品的标签信息,也无法处理新用户和新物品。

是否有一种算法可以结合相似推荐和协同过滤推荐各自的有点?那么就是Gorse推荐系统中的点击率预测模型。Gorse中的点击率预测模型为因子分解机,除了为每个用户和物品生成向量之外,还会给每个用户标签和物品标签生成向量,虽然因子分解机的效果不错,但是一般不会把它作为粗排的推荐算法。和协同过滤推荐、相似推荐相比,因子分解机预测时的计算复杂度非常高。Gorse的点击率预测模型的功能就是对上述推荐算法的结果进行融合排序。

单独的推荐算法无法很好地完成推荐任务,需要将多个推荐算法进行组合。Gorse提供了一个生成推荐结果的流程,我们可以在流程下制定适合于具体场景的推荐策略。推荐流程由两大部分构成:离线推荐和在线推荐。离线推荐主要从全体物品中为每个用户挑选推荐物品,缓存到Redis中。而在线推荐主要从拉取缓存的推荐结果,接着从推荐结果中删除已读内容,如果缓存的推荐结果已经用完,那么使用备用推荐算法实时生成推荐内容。

离线推荐由三阶段构成:

由于目前Gorse还未提供A/B测试功能,因此需要通过预览功能感性地制定推荐策略。

在线推荐有两个任务:

#Thefallbackrecommendationmethodforcold-startusers:#item_based:Recommendsimilaritemstocold-startusers.#popular:Recommendpopularitemstocold-startusers.#latest:Recommendlatestitemstocold-startusers.#Thedefaultvaluesis["latest"].fallback_recommend=["item_based","latest"]通过简单的配置,就可以得到一个支持多路召回、兼顾探索利用、能够服务降级的推荐系统了。

THE END
1.基于Hadoop平台的个性化新闻推荐系统的设计AET目前,国内外学者在新闻推荐领域已展开了一系列研究。参考文献[3-6]使用了协同过滤的新闻推荐方法,本文提出了基于用户和物品的协同过滤算法来实现面向不同用户的个性化新闻内容推荐。 1协同过滤算法介绍 个性化推荐主要分为协同过滤推荐、基于内容推荐、混合推荐。个性化推荐本质上是把用户与物品进行联系,使得用户能够发现...http://www.chinaaet.com/article/3000056950
2.协同过滤——推荐系统算法原理在探讨推荐算法原理之前,先说一个概念:协同过滤(Collaborative Filtering)。 协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。 为了方便了解,举个简单的例子。最近新上映了10部电影,你不知道看哪一部,问你...https://www.jianshu.com/p/de1ae0e88b27
3.基于用户的协同过滤算法的理解与简单实现最近在做一个有关图书推荐系统的项目,因此就涉及到了协同过滤算法。自己主要负责基于用户的协同过滤算法(User-CF)的实现,因此阅读了部分书籍与文章,也基于组员爬取的豆瓣图书评论数据,参考了一个User-CF的源码做了一个简单的实现。 本文将首先简单介绍一下最基础的基于用户的协同过滤算法,再介绍基于皮尔逊相关度以及...https://www.imooc.com/article/69651
1.推荐系统前深度学习时代推荐算法(1):协同过滤(CF)基于用户的协同过滤推荐:通过计算用户相似度,找到与目标用户行为相似的其他用户,推荐相似用户正反馈交互过的物品。 基于物品的协同过滤推荐:通过计算物品相似度,找到与用户交互过的物品相似的其他物品,推荐相似物品给目标用户。 算法流程: 根据用户和物品交互记录构建有向图(有向图的弧表示用户对物品的互动记录)(下...https://blog.csdn.net/qq_58872188/article/details/143798469
2.基于用户相似度的随机游走社交网络事件推荐算法协同过滤是推荐领域应用最为广泛的算法[1], 主要包括3种类型:基于用户的协同过滤[2]、基于物品的协同过滤[3]及基于模型的协同过滤[4].基于用户与物品的协同过滤算法通过计算用户或物品之间的相似度完成对目标用户的推荐, 随着用户与物品的增加, 数据稀疏性和冷启动问题制约该算法的推荐质量.矩阵分解是应用最广泛的...https://xuebao.neu.edu.cn/natural/article/html/2019-11-1533.htm
3.CollaborativeFiltering(协同过滤)算法详解基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分。根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行商品推荐。简单的说就是如果A,B两个用户都购买了x、y、z三本图书,并且给出了...https://cloud.tencent.com/developer/article/1085760
4.协同过滤算法原理51CTO博客已为您找到关于协同过滤算法原理的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及协同过滤算法原理问答内容。更多协同过滤算法原理相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。https://blog.51cto.com/topic/780fa7612181653.html
5.SpringBoot项目使用协同过滤的实现java协同过滤是一种常用的推荐系统算法,用于预测用户可能喜欢的物品,本文主要介绍了SpringBoot项目使用协同过滤的实现,感兴趣的可以了解一下 + 目录 协同过滤是一种常用的推荐系统算法,用于预测用户可能喜欢的物品。在这篇文章中,我们将学习如何在Spring Boot项目中使用协同过滤算法来实现基于用户的推荐。 https://www.jb51.net/program/297399ye4.htm