随着大数据时代的到来,网络飞速发展,用户面临着信息过载问题。如何从海量的信息中挖掘出用户所喜爱的有价值的信息,成为人们所要研究的热点问题。基于此,推荐系统应用而生。基于协同过滤算法的鲜食水果推荐系统可以通过分析用户的历史购买记录来挖掘用户的所喜爱的水果,从而为用户推荐其他可能感兴趣的水果,满足用户的个性化推荐需求。
基于用户的协同过滤
UserCF算法符合人们对“人以群分”这个词的认识,也就是对于兴趣相投的用户来讲,他们所喜爱的物品可能也相同[4]。当用户需要个性化推荐时,可以先找寻趣味相投的用户团体,对这些团体的兴趣点进行分析之后,得出结果将这些兴趣物品推荐给该目标用户。假设用户a,b,c购买了鲜食水果A,B,C,D,其中购买记录为:a→A、C;b→A、B;c→A、C、D;从中可以得出用户a、c是相似用户,这样可以把水果D推荐给用户a。
基于物品的协同过滤
ItemCF算法符合人们对“物以聚类”这个词的认识,该算法用于推荐与目标用户之前喜欢的物品相似的物品,它主要通过目标用户的历史行为记录来计算物品之间的相似度。该算法的主要步骤:计算出物品之间的相似度;根据物品的相似度和用户的行为记录生成推荐列表[1]。例如:用户a、c都购买了水果A、C,因此可以认为水果A、C是相似品种的,当用户b购买了水果a时,会自动生成推荐列表。
UserCF和ItemCF算法对比
两种算法的思想和计算过程基本类似,最主要的区别在于它们所应用的场景不同。UserCF推荐的是和目标用户“兴趣相投”的其他用户的兴趣物品。而ItemCF推荐的时和目标用户的历史记录类似的物品。因此UserCF更偏向于大众化,而ItemCF更偏向于个性化。所以在应用方面UserCF适用于新闻、知乎话题推荐的场景,在新颖性上有一定的优势。但是随着用户流量增多,所需要计算相似度算法难度也会增加,运算的时间、空间复杂度的增长与用户数目的增长与用户数目的增长近似于平方关系[2]。并且该算法推荐结果的相关性较弱,易受大众影响推荐热门但不适合目标用户的物品。此外新用户或者非活跃用户会遇到“冷启动”问题,即无法匹配有足够相似性的用户 来计算出合适的推荐结果。ItemCF算法可以应用于电子商务、电影等场景中,通过用户的历史记录给推荐结果做出解释,让用户更信服推荐结果[3]。 但是也会出现新颖性不足等问题。当然每一种算法都各有千秋,可以根据不同的场景选择合适的算法,在特殊场景下,可以将不同的算法有机的结合起来达到最好的推荐效果。
鲜食水果推荐系统模型
本系统主要基于协同过滤推荐算法中的ItemCF用户提供推荐服务。推荐系统的模型架构:用户建模模块:通过分析用户的历史记录和属性数据获取用户特征,对用户进行建模。推荐对象建模块:通过分析对象与用户的交互数据和对象的属性数据获取用户特征,对用户进行建模。推荐算法模块:根据用户特征和物品特征采用合适的推荐算法计算得出可能的推荐物品,之后根据特定用户和特定场景对推荐结果进行筛选和过滤,将最终的推荐结果展示给用户。
鲜食水果推荐系统具体流程:
(1)数据处理。
由于在测试地区的鲜食水果的类别品种很多,但单个用户购买的水果却很少,若直接采用协同过滤的算法会面临数据稀疏性的问题。因此可以根据用户所偏爱水果种类的评分等级对水果种类数据集进行筛选,剔除与评分等级相差较大的种类,确定对用户进行推荐的水果种类集合,缩小所要计算的数据集,解决数据稀疏性问题。
(2)构建推荐模型
a.计算物品相似度
用户相似度算法是推荐算法的核心,相似度计算越精准,推荐效果越好。其中最常用的方法为皮尔逊系数余弦相似度等。本文采用皮尔逊相关系数作为用户相似度的测量,其计算式为[5]:
■
其中Uij代表共同喜欢水果i和j的用户集合,rui和ruj分别表示用户u对水果i和水果j的评分[5]。
b.计算喜爱程度
得到水果相似度之后,使用以下公式度量用户u对水果j的兴趣程度Puj:
■
其中,S(j, K)是和水果j最相似的K个水果的集合,N(u)是用户u喜欢的水果集合,wji水果i和水果j的相似度,rui是隐反馈信息,代表用户u对水果i的感兴趣程度,本文中设rui=1。
c.用户展示
当计算得出Puj之后,再进行一定的处理如降序处理,最终取前N个水果作为推荐结果展示给用户。
结语
本文对协同过滤推荐算法进行展开研究,首先对协同过滤算法中UserCF和ItemCF进行介绍,之后对比了两种算法的异同,即核心和计算过程相同,而各自的适用场景不同。最后详尽的介绍了鲜食水果推荐系统的建模过程。
参考文献:
[1]邢丽静. 面向服务推荐的用户兴趣发现方法研究[D].济南大学,2016.
[2]宋雅婷. 基于协同过滤改进算法的个性化选课推荐的研究[D].云南师范大学,2013.
[3]张宇. 基于分布式随机优化方案的推荐模型算法[D].北京邮电大学,2014.
[4]张淼,刘东旭.基于协同过滤算法的音乐推荐系统的研究与实现[J].电子世界,2020(10):63-64.
[5] 韦堂洪,秦学,朱道恒,鲜翠琼.基于协同过滤的水果推荐系统设计与实现[J].软件,2020,41(03):206-209+282.