• 收藏
  • 加入书签
添加成功
收藏成功
分享

融合内容与协同过滤的混合推荐算法应用研究

姚为熹
  
建筑仓库媒体号
2023年42期
字节跳动科技有限公司 上海市 201103

摘要:随着大数据时代的到来,海量数据出现在人们眼前。从冗杂的信息中快速获取满足人们个性化需求的数据成为了一个棘手的问题,推荐算法是解决此类问题的有力工具。本文通过阐述推荐算法的定义,引出两种基于内容的推荐算法和基于用户的协同过滤算法,同时将两种算法相结合,构建出基于混合算法的推荐系统,并阐述了混合算法在多个领域中的应用研究的原理和过程,以及其优劣势。

关键词:混合推荐;协同过滤;基于内容

引言

人们身处信息快速增长的时代,想要及时并准确地获取自己感兴趣的信息往往存在一定的困难。推荐系统的产生可以解决这一问题。推荐系统中典型的推荐算法有基于协同过滤算法和基于内容推荐算法。其中,协同过滤推荐算法的一个显著优点是收集到的用户-物品评分矩阵越为密集推荐效果就会越好,且这种算法不需要收集物品的其他信息,但是导致该算法会过分依赖评分数据集。基于内容的推荐算法是建立在对物品的特征提取的基础之上,对评分数据的依赖要小得多。即使没有物品评分矩阵也可以根据物品的特征信息来进行推荐,但缺点是推荐结果缺乏新颖性,不能产生个性化推荐[1]。因此,通过结合上述两种算法的优缺点,提出一种融合思想,使两种算法进行相互补充以解决推荐算法中的不足,从而可以得到更好的推荐效果。

1 相关研究概述

推荐算法最早被应用在电商网站中,由于用户的需求往往是模糊的、不明确的,此时如果商家根据用户的兴趣、爱好准确地预测出用户可能感兴趣或者正在寻找的商品,那么商家就能够把用户模糊的潜在需求转化为现实需求,从而实现商品销售量的提高。现在几乎所有的大型电子商务系统,如淘宝、京东、拼多多等,都不同程度地应用了推荐算法及相关技术。与此同时,各种社交类、生活类、搜索引擎类网站也都开始应用推荐系统,用于提供个性化服务,提高用户黏性和自身竞争力。在学术界,推荐系统在电子商务、网络经济学和人类社会学等领域一直保持很高的研究热度并逐渐成为一门独立的学科。推荐算法涵盖了包括认知科学、近似性理论、信息检索、管理科学、市场营销建模等在内的众多研究领域。

推荐系统本质上就是一个信息过滤系统,通常分为:召回、粗排序、精细排序三个环节,每个环节逐层过滤,最终从海量的数据中筛选出几十个用户可能感兴趣的信息内容推荐给用户。对于推荐系统来说,推荐算法是其核心,使用高效且准确的推荐算法是取得良好推荐效果的关键[2]。主要的推荐算法包括:基于热度的推荐算法、基于标签的推荐算法、基于内容的推荐算法、基于模型的推荐算法、基于规则的推荐算法[3]、基于人口统计学的推荐算法、基于协同过滤的推荐算法[4]等。随着推荐系统得到广泛的认可,现有的推荐系统也面临着关键性挑战,如何提供高质量的推荐结果,如何能快速为数以万计的用户作出高质量的推荐,如何能在数据极度稀疏的情况下满足高命中率和个性化的需求,这些都是亟待解决的问题[5]。

2 推荐算法

推荐算法作为推荐系统的关键是研究者深入研究的目标。优秀的算法不仅要求运行稳定而精准,而且还必须联系应用环境具有一定的普适性,所以说能否满足用户的需求关键看算法的有效运用,因为即使是一种推荐方沾所使用的算法也会存在差别,这就需要研究者能够通过实验研究合理选择,通过所而对的领域有针对性地取舍。推荐系统经过二十年的发展,学者运用了不同领域的知识,从多角度对推荐算法进行了改进,并提出 来不同的推荐算法 。

2.1 基于内容的推荐算法

基于内容的推荐算法的基本思想是先对一个物品的内容属性进行分析,建立特征,然后基于用户对某种特征的兴趣度以及一个物品具有什么特征来推荐相关物品。例如图书有哲学、社会科学、自然科学、文学等类别,电影有爱情片、动作片、冒险片、喜剧片等分类。基于内容的推荐,就是根据这些物品的分类或内容属性并结合用户的浏览或打分记录计算出该用户对不同分类或内容属性的喜好程度,然后再根据他的喜好匹配到其他类似的物品并将其推荐出来。其算法可以分为四个步骤:首先特征提取,再用户偏好计算和内容召回,最后是物品排序。

2.2 基于用户的协同过滤推荐算法

基于用户(User-based)的协同过滤算法是一种主要的协同过滤推荐算法。它的基本思想是:通过不同用户对项目的评分来评测用户之间的相似性,再根据用户之间的相似性作出推荐。如果用户A喜欢物X,用户B喜欢物品X、Y、Z,用户C喜欢X和Z,那么认为用户A与用户B和C相似,因为他们都喜欢物品 X。然而喜欢物品X的用户B同时也喜欢物品Y、Z,用户C还喜欢Z,通过计算比较,预测用户A 对物品Z的喜好度最高,因此把物品Z推荐给用户A。该算法使用最近邻居的思想找出一个用户的邻居集合,该集合的用户和该用户有相似的喜好,算法根据邻居的偏好对该用户进行预测。

2.3 混合推荐算法

对于传统的协同过滤推荐算法过分依赖评分数据集的问题,可以采用与基于内容过滤相结合的混合模式算法加以解决。基于内容的推荐算法,根据物品自身属性给用户推荐与其曾经喜爱物品相似的物品,建模方便,解释性良好,但是十分依赖人工特征提取,推荐的新颖度很低。基于用户的协同过滤算法能够根据用户对新闻、信息的偏好,建立兴趣围栏,通过相似用户的喜好为当前用户进行推荐。但是该算法不能解决冷启动的问题,当对新用户进行推荐时,不能准确建立用户画像,难以进行精准推荐。文中根据基于内容和基于用户协同过滤算法的优缺点,将两种算法相结合,构建混合推荐算法。分别通过基于内容和基于用户协同过滤算法进行内容召回,按比例进行内容排序。默认取30%基于内容算法的推荐内容,70%基于用户协同过滤算法的推荐内容。当算法产生的推荐内容不足时,取热门文档的内容进行补充推荐。但是该方法的优点是将两种算法相结合,进一步提高了科普内容推荐的准确性,改善了数据稀疏性问题。

3 混合推荐算法的过程

协同过滤与基于内容、用户信息的推荐算法是推荐系统的两大核心算法,两种算法各 有利弊,将两种算法思想有机地混合,可以发挥不同算法的推荐优势,形成优势 互补,进而有效地提升推荐质量。两者混合推荐算法的过程有基于内容、用户及内容和用户等三方面。

3.1 基于内容推荐算法CB

在基于内容的推荐算法CB中,首先需要对数据集进行预处理,把原始数据分类整合,按指定顺序排列所有标签、提取所有物品的名称后创建一个01矩阵,进行整合得到物品画像。再根据用户历史物品评分数据,和感兴趣物品所属类型整合得到用户画像。进行相似度计算将最终推荐物品按相似度进行降序排序,取TopN个物品。基于内容的推荐算法CB的具体实现步骤:(1)刻画物品画像。把收集并整理的“推荐物品集及所属类型”表转换成所能识别的01矩阵,按照指定顺序排列所有标签以及按顺序提取所有物品名称来作为01矩阵的横纵坐标,根据统计出来的物品类型信息填充矩阵内容,其中0表示该物品不属于此类型,1表示该物品属于此类型;(2)刻画用户画像,统计所有用户产生过行为的物品名 all_items_users_saw = [item2, item3, item4] 以及所有用户产生过行为的物品所对应的类型 all_items_users_saw_labels = ["label2 label3", "label3", ...],生成所有用户产生过行为及所属类型的01矩阵。(3)得出推荐集。根据收集到的用户-物品评分矩阵以及该物品所属类型的01矩阵得到用户画像,得到的用户画像是一个01矩阵,矩阵中的行向量表示用户对各个类型的评分,然后将用户画像与物品画像(某个物品具备哪些类型)进行相似度计算,并按相似度进行降序排序进行TopN推荐。

这种方法也是现如今最基础的推荐算法之一。其根据用户过去的行为来推测其将来的行为。无需担心冷启动问题且具有很强的针对性,即个性化很强,而且计算量小、容易实现、具有较高的解释性,但是它也有着一些致命的缺陷,比如:

(1)多样性的不足

在这种推荐机制下,只有之前用户浏览过、关注过或者是现在正在关注的信息才会被使用这种方法的系统推荐。剩下的海量信息则根本就没有机会出现在用户面前,久而久之,由于缺乏相应的兴趣模型的构建和设计,用户所获得的信息就会越发的局限在某种类型、某个领域之内,长此以往,必然会使其产生厌烦心理,失去兴趣。

(2)不能和用户需求的变化同时调整

世间万物是不断变化着的,人心也是如此,大多数人都不可能对一件事物长期保持兴趣,伴随着人类年龄的增长、社会阅历的增加,他们对于信息内容的关注中心也会发生变化。传统的推荐方法并不具备对用户兴趣变化的敏锐洞察能力,其推荐的信息往往具有滞后性,缺乏时效性。

3.2 基于用户的协同过滤推荐算法

基于用户的协同过滤计算用户之间的相似度得分,并对相似度最高的用户项进行加权,从而计算出用户对物品的最终评分。基于物品的协同过滤首先计算项目之间的相似度得分,并用类似的方法来计算用户的评分。如果用户评价矩阵非常稀疏,那么用户之间的相似性就会非常小,仅靠用户常见的评级来判断用户的相似性是非常不准确的,这会极大地影响推荐算法的精度。在推荐系统中,主要的解决方法是将其他辅助信息转化为评分信息,例如:降维、简单填充法、聚类方法、基于内容的方法和基于关联规则等方法。在实际生活中,用户和项目的规模非常大,可扩展性问题也是制约协同过滤推荐算法性能的一个因素。多年来,研究人员进行了多方面的研究,常见的解决方法有数据集缩减、聚类、矩阵分解、主成分分析和增量更新[6]等。Guo等人[7]将物品的属性信息与历史评级矩阵结合起来,预测冷启动用户的偏好,然后使用矩阵分解模型向这些用户进行推荐。针对协同过滤推荐存在的不足,未来将会结合新技术和新方法更进一步解决推荐算法中存在的问题,提高推荐质量,从而满足用户的需求。

3.3 基于用户和内容的混合模式推荐

传统的推荐方法已经被广泛应用,但是在应用过程中会存在各自的优缺点。为了能够更好地解决推荐问题,提高推荐质量,产生了混合推荐系统。混合推荐利用传统推荐算法各自的优点,将多种推荐算法进行组合,并且应用在推荐过程中的不同部分以达到推荐准确性的进一步提升。混合推荐算法通常利用基于协同过滤的方法和基于内容的方法来克服它们各自存在的缺点,需要将基于用户的协同过滤推荐和基于内容的推荐算法进行加权融合,通过调整加权系数,进行大量计算验证混合模式下的推荐算法的推荐效果。

4 结语

现在大多的混合推荐算法是协同过滤推荐算法和基于内容的推荐算法的有机结合体,有效的解决了两种方法在单独完成信息推荐过程中所存在的问题。其工作原理主要有两大特点:首先,它可以主动推荐前两种推荐信息的共同部分以及其补集部分;其次,其更加独特的地方在于可以构建分区,根据近期的客户行为来将对应的文本信息进行推荐。然而,即使是如此,综合了以上两种推荐方法优点的混合推荐方法,也依旧是面临着冷启动的难题。但是在基于个性化的推荐算法的冷启动问题时,其个性化缓解了冷启动问题。同时混合推荐法存在多样性不足、不能和用户需求的变化同时调整的问题,对此后期混合推荐法应该从这两点问题去改进,为后续的混合推荐算法提供方便。

参考文献:

[1]项亮.推荐系统实践[M].北京:人民邮电出版社,2012:44-64.

[2] 黄勃,严非凡,张昊,等.推荐系统研究进展与应用[J]. 武汉大学学报(理学版),2021,67(06):503-516.

[3] 纪文璐,王海龙,苏贵斌,等.基于关联规则算法的推荐方法研究综述[J].计算机工程与应用,2020,56(22):33-41.

[4] 喻金平,刘娟,巫光福,等.一种改进的协同过滤算法在中小企业服务平台的研究与应用[J].计算机应用与软件,2019,36(04):236-240+294.

[5] 马腾腾,朱庆华,曹菡,等.基于 Hadoop 的旅游景点推荐的算法实现与应用[J].计算机技术与发展,2016,26(03):47-52.

[6] 冷亚军, 陆青, 梁昌勇. 协同过滤推荐技术综述[J]. 模式识别与人工智能, 2014, 27(8): 720-734.

[7] Guo X, Yin S C, Zhang Y W, et al. Cold start recommendation based on attribute-fused singular value decomposition [J]. IEEE Access, 2019, 7: 11349-11359.

*本文暂不支持打印功能

monitor