基于协同过滤和内容的推荐算法在电影推荐系统中的融合研究
作者: 陆浩言
摘要:文章深入研究了基于协同过滤与内容的推荐算法在电影推荐系统中的融合与应用。首先,详细阐述了两种推荐算法的基本原理及优缺点,并对相似度计算方法进行了深入的分析与针对性的优化。随后,文章探讨了协同过滤和内容推荐算法有效融合策略和方法。最后,采用MovieLens数据集进行实验验证,证明了融合算法在提升推荐系统性能方面的有效性,并讨论了未来可能的研究方向。
关键词:协同过滤推荐算法;内容推荐算法;电影推荐系统;融合
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2025)01-0079-03 开放科学(资源服务) 标识码(OSID) :
0 引言
随着互联网技术的飞速发展和数据量的爆炸式增长,用户面临着前所未有的信息过载问题。如何从海量数据中高效、准确地为用户推荐个性化的内容,已成为互联网企业提升用户体验、增强用户黏性的关键因素。电影作为一种重要的娱乐形式,其数量呈爆炸性增长。面对海量的电影资源,用户往往难以在众多选择中找到符合自己兴趣和偏好的电影。推荐系统是一种学习用户偏好,实现个性化推荐的系统化应用技术[1]。在信息过载的时代,推荐系统成为重要工具,有效地引导用户发现他们感兴趣的信息[2]。电影推荐系统通过分析用户的历史行为数据、电影的内容特征等信息,为用户提供个性化的电影推荐,从而提升了用户的观影体验。
在众多的推荐算法中,最为常见且有效的两种是基于协同过滤和基于内容的推荐算法。本文旨在探讨电影推荐系统中这两种算法的融合研究。通过分析和比较现有算法,本文提出了一种混合推荐算法,并通过实验验证了其有效性。本文的研究不仅有助于提升电影推荐系统的推荐精准度和用户体验,同时也为其他领域的推荐系统提供了有益的参考和借鉴。
1 基于协同过滤的推荐算法研究
基于协同过滤的推荐算法(Collaborative Filtering,CF) 作为一种成熟的推荐算法,已在电商、文本信息等推荐领域得到广泛应用[3]。协同过滤算法主要通过计算用户与用户之间或者物品与物品之间的相似度,来向用户推荐物品[4]。
基于协同过滤的推荐算法主要分为基于用户的协同过滤和基于物品的协同过滤两种。在电影推荐系统中,协同过滤推荐算法会收集包括电影评分、观看记录和搜索记录等用户历史行为数据,并以此作为后续计算的依据。随后,算法会利用常用的相似度计算方法来计算用户之间的相似度或电影之间的相似度。对于基于用户的协同过滤算法,系统会找到与目标用户品位相似的邻居用户,并根据这些邻居用户喜欢且目标用户未观看过的电影来生成推荐列表;而对于基于物品的协同过滤算法,系统则会根据目标用户喜欢的电影,找到与其相似的其他电影进行推荐。最后,推荐系统会通过准确率等指标对推荐算法的效果进行评估,并根据评估结果对算法进行不断的调整和优化,以提升推荐的准确性和用户满意度。
协同过滤推荐算法的优势在于能够深入挖掘用户的兴趣和偏好,从而为用户提供高度个性化的电影推荐服务。然而,该算法也面临一些挑战,如冷启动问题,即对于新用户或新电影,由于历史数据的缺乏,推荐算法可能难以给出准确建议;数据稀疏性问题也是一个难题,当用户评分矩阵过于稀疏时,会直接影响推荐的准确性和覆盖范围;此外,在大规模系统中,实时计算用户或物品间的相似度对计算资源要求较高,这也是需要克服的一个挑战。
2 基于内容的推荐算法研究
基于内容的推荐算法是通过分析用户过去的行为和电影的内容(如类型、导演、演员等) 来推荐类似的电影,它是一种基于项目特征的推荐方法。内容推荐算法的优势在于能够捕捉用户的个性化需求,但其劣势在于过于依赖电影的特征描述,而忽略了用户行为的多样性。在电影推荐系统中,算法首先会从电影的元数据中提取电影的关键特征,并将这些特征进一步处理并转换成数值向量的形式,以便后续进行相似度计算。与此同时,系统也会根据用户的观影历史、评分记录等多元数据,构建一个反映用户兴趣偏好的模型。随后,算法会利用相似度的计算方法,计算出用户兴趣向量与候选电影特征向量之间的相似度。最后,根据计算出的相似度得分,对所有候选电影进行排序,并挑选出相似度最高的若干部电影呈现给用户作为推荐结果。
基于内容的推荐算法在电影推荐中具有显著优势,它能够根据用户自身的观影历史和电影特征,为用户提供极具个性化的推荐结果。即使对于新用户或电影数量较少的情况,该算法也能提供较为准确的推荐。然而,算法的效果对于电影特征提取的质量依赖程度很高,如果特征提取不准确或不全面,就可能会影响到推荐的准确率。此外,该算法主要基于用户已知的观影历史和影片特征进行推荐,因此在一定程度上限制了其推荐范围的广度,挖掘用户的潜在兴趣可能存在一定困难。
3 相似度计算方法研究
相似度计算是推荐系统中用于衡量不同实体(如用户、商品、电影等) 之间相似性的一个关键技术。在协同过滤算法中,相似度评估是协同过滤推荐算法的核心[5]。相似度计算方法包括余弦相似度、杰卡德相似系数、皮尔逊相关系数等,这些方法各有特点,适用于不同的场景和需求。
3.1 余弦相似度
余弦相似度通过计算两个向量之间的夹角的余弦值来衡量它们之间的相似度。在基于用户的协同过滤(User-CF) 中,余弦相似度用于计算用户之间的相似度。余弦相似度计算公式如式(1) 所示:
式(1) 中:ru为用户u 的评分向量;rv为用户v 的评分向量。
相似度值越高,表示用户u 和v 的兴趣越相似。在用户相似度计算的过程中,由于许多用户间无交集(即分子为0) ,这些计算是不必要的。因此,针对稀疏数据,应优化算法以避免无效计算。
为了避免在不相关用户上浪费时间,文章提出以下策略:首先,通过构建物品到用户的倒排表T,明确每个物品被哪些用户互动过。接着,利用这个倒排表T来建立用户相似度矩阵W,该矩阵代表余弦相似度公式中的分子部分。最终,通过除以相应的分母,可以准确计算出任意两个用户之间的兴趣相似度。
当系统中存在热门商品时,由于热门商品出现频率过高,传统的余弦相似度计算方法可能导致推荐结果过于偏向这些热门商品。在计算相似度时热门商品因为被大量用户喜欢或购买会对计算产生较大影响。为了惩罚热门商品在推荐系统中的影响,即减少它们在相似度计算中的权重,对余弦相似度计算公式进行改进,引入惩罚因子。将热门商品出现次数的倒数作为惩罚因子来降低其在相似度计算中的权重,热门商品在计算相似度时的影响就会被削弱。通过引入惩罚因子或采取其他改进措施,可以有效惩罚热门商品在推荐系统中的影响,提高推荐结果的多样性和精准性。
文章中的推荐系统使用基于协同过滤的算法在计算用户相似度或物品相似度时,引入热门物品权重系数,用以惩罚热门物品对计算用户相似度时的影响。如此一来,即使两个用户对热门商品都有兴趣,在计算的相似度时这种兴趣也不会占据过大的比重,从而对用户之间更细微、更个性化的相似点进行挖掘会有很大帮助。
3.2 杰卡德相似系数
杰卡德相似系数是用于比较两个样本集合相似性的一种指标。杰卡德相似系数的计算方法为J(A,B)=|A∩B|/|A∪B|,其中,|A∩B|表示集合A与B的交集元素数量,|A∪B|表示集合A与B的并集元素数量。
在推荐系统中,杰卡德相似系数可以用于计算用户或物品之间的相似度。余弦相似度适合于衡量向量在方向上的相似度,适用于数值型数据的相似度计算;而杰卡德相似系数更适合于衡量集合之间的相似度,适用于布尔型数据的相似度计算。文中在基于内容的推荐算法时使用杰卡德相似系数来衡量两个物品之间的相似度。
4 基于协同过滤与内容的推荐算法融合策略
基于协同过滤的推荐算法在面临用户数据稀疏性和冷启动问题时可能表现不佳,而基于内容的推荐算法则可能过于依赖电影的特征描述,从而忽略了用户的个性化需求。为了克服这两个算法的上述缺陷,可以将它们进行融合,形成混合推荐算法。混合推荐算法结合了两者的优势,能够更准确地捕捉用户的兴趣和偏好,提供更加个性化的推荐服务。
常见的融合策略包括:
加权融合:根据具体场景和需求,为推荐结果分配不同的权重,然后加权求和得到最终的推荐列表。
串行融合:先使用一种算法生成初步推荐列表,然后再使用另一种算法对初步推荐列表进行优化和调整。
文章中的融合策略采用基于用户的协同过滤和基于物品的协同过滤进行加权融合得到推荐列表,权重通常基于算法在验证集或测试集上的性能表现来确定,最后将加权融合后的推荐列表与基于内容的推荐列表进行串行融合得到最终的推荐列表。融合策略如图1所示。
5 基于协同过滤与内容推荐的算法融合实验
5.1 实验数据
基于协同过滤与内容推荐的算法在推荐系统中的融合研究是一个热门且富有成效的领域。研究借助MovieLens数据集来进行实证分析。MovieLens数据集是由GroupLens Research团队提供的一个公开数据集,MovieLens数据集包含多个版本(如100K、1M、10M等) ,各版本数据集根据规模不同包含数量不等的用户对电影评分记录。文章中的实验采用1M版本,包含超过一百万条评分数据。该数据集通常由用户信息文件、电影信息文件和用户-电影评分文件3 个主要部分组成,分别记录了用户的详细信息、电影的基本信息及用户对电影的评分和时间戳。MovieL⁃ens数据集广泛应用于推荐算法的性能验证和评估,特别是在协同过滤、内容过滤和混合推荐系统等领域发挥着重要作用。
5.2 评价指标
本实验选取的评估准则为准确率(Precision) ,准确率越高,表示系统推荐的物品与用户实际兴趣匹配度越高,用户满意度和参与度也可能随之提升。准确率的公式通常定义为正确推荐的项目数除以推荐的总项目数。用数学符号表示,准确率的计算公式如式(2) 所示:
p = TP/TP + FP (2)
式(2) 中:TP(True Positives) 表示真正例,即推荐系统中被正确推荐且用户实际感兴趣的项目数;FP(False Positives) 表示假正例,即推荐系统中被错误推荐而用户实际上不感兴趣的项目数。
5.3 实验结果与分析
使用混合推荐算法与传统的基于用户的协同过滤推荐算法和基于物品的协同过滤推荐算法进行实验。分别以MovieLens 1M数据集进行比较测试,权重采用预设的0.7(User-CF推荐) 和0.3(Item-CF推荐) ,计算3种方法的准确率,结果如表1所示。
根据表1中的数据可知,采用的混合推荐算法在指定推荐个数的情况下准确率均优于单个的推荐方法。权重确定不是一次性的任务,而应随着数据变化、用户需求变化等因素进行持续优化。未来还将继续收集用户对推荐结果的反馈,如点击率、观看时长、评分等。根据用户反馈来动态调整不同推荐算法的权重,以优化用户体验,提高推荐效果,实现个性化的推荐。由于协同过滤和内容推荐算法基于不同的原理生成推荐结果,为了能够增加推荐列表的多样性,满足用户的不同需求。最后将加权融合后的推荐列表与基于内容推荐列表进行串行融合得到最终的推荐列表。
6 结束语
文章深入探讨了基于协同过滤和内容的推荐算法在电影推荐系统中的融合研究。通过对这两种算法和相似度计算的研究以及对相似度计算方法进行针对性的优化与改进,创新性地提出了一种算法融合的策略。经过在MovieLens数据集上实验证明,融合后的算法成功提升了推荐系统的推荐性能。相于仅使用单一算法的推荐系统,融合了多种算法的推荐系统具有显著优势:它不仅结合了协同过滤和内容推荐等技术,更全面地捕捉用户兴趣与物品特征,从而提升了推荐的准确性;同时,通过灵活运用多种推荐算法,有效缓解了数据稀疏性带来的挑战,增强了系统的数据利用能力;此外,混合推荐系统还能提供更多样化的推荐选择,避免了推荐结果的单一化;并且,由于融合了多种算法,系统的鲁棒性和稳定性也得到提升,降低了单一算法失效对整体性能的影响。研究为电影推荐系统的优化提供了新的思路和方法,也为提升用户体验和满足用户个性化需求提供了有力的支持。未来,随着大数据和人工智能技术的不断发展,推荐系统的算法研究将继续深入,为用户提供更加智能化、个性化的推荐服务。
参考文献:
[1] 刘华玲,马俊,张国祥.基于深度学习的内容推荐算法研究综述[J].计算机工程,2021,47(7):1-12.
[2] 徐文涛,王诚.基于降低数据稀疏度的协同过滤算法[J].计算机技术与发展,2024,34(5):170-174.
[3] 王小林.基于协同过滤算法的信息技术课程资源推荐系统设计与应用[J].信息与电脑(理论版),2024,36(5):254-256.
[4] 董慧慧.基于XGBoost的协同过滤算法在民宿推荐系统中的应用[J].电脑知识与技术,2024,20(24):67-69.
[5] 钱泽俊,刘润然.融合电影流行性与观影时间的协同过滤算法[J].网络安全与数据治理,2024,43(2):54-63.
【通联编辑:代影】