基于用户行为的电影推荐算法改进研究

2022-10-11 07:37马帅
电子设计工程 2022年19期
关键词:准确率标签物品

马帅

(武汉邮电科学研究院研究生院,湖北武汉 430000)

互联网技术的飞速发展带来了日常在线用户数与日俱增的红利,但随之而来的互联网信息数据过载问题也日益显著[1-2]。大量复杂的数据导致用户难以便捷地锁定与自身匹配的数字物品,信息的利用率反而呈现负相关。在竞争激烈的互联网领域,推荐算法的研究就成了高效利用海量数据和提升用户体验度的主阵地。当前各类推荐算法研究都取得了一定的进展[3-5],随着数据变得越来越复杂和多样,越来越多的非结构化因素需要被考虑到推荐算法中。该文研究了多种推荐算法的改进方法[6-9],考虑到当前信息复杂度高和不规则,因此该文利用物品特征标签,在协同过滤算法的基础上进行改进,提高信息利用率、算法准确率和召回率。通过对比传统基于物品的协同过滤算法和文献[10]研究的个性化推荐算法进行算法优化验证。

1 协同过滤算法相关技术

1.1 协同过滤算法

目前各类商业领域中推荐效果较为理想的算法当属协同过滤算法,各大应用领域也都有符合自身特点的改进型协同过滤算法[11-13]。协同过滤算法的目标是基于当前用户的历史偏好以及其他偏好相似用户的意见来为当前用户推荐新物品或者预测当前用户对特定物品的偏好[14-15]。协同过滤算法从用户行为日志中提取用户与物品之间的行为关系,通过算法解析这些关系得到相似用户或者相似物品,生成用户喜好列表,对该列表进行过滤、去重、排序后,推荐前N个内容给用户。

基于用户的协同过滤算法和基于物品的协同过滤算法是两种常见的协同过滤算法,接下来将进行介绍。

1.2 基于用户的协同过滤算法

该算法的核心思想:对于用户的操作行为,比如不同用户对同一物品的评分行为,采用相似度量方法计算两个用户之间的相似性,得到一个相似用户的集合。对集合中的用户进行相似度值的排序,筛选出前K个相似度最高的用户作为邻居,在对自己喜好物品进行去重后,将邻居的喜好物品推荐给用户,其推荐原理图如图1 所示。

图1 基于用户的协同过滤算法原理图

时效性是基于用户的协同过滤算法的一大特点,对短时间内刷新度高的场景可以表现出很好的适应性。因为基于用户的协同过滤算法是通过计算用户之间的相似度进行结果推荐,所以当用户规模过大时,用户相似度矩阵计算所产生的计算成本就会很高。而用户规模过小则会导致稀疏性,无法进行有效的相似度计算。基于用户的协同过滤算法的拓展性与用户规模有关[16]。

1.3 基于物品的协同过滤算法

该算法的核心思想:基于用户-物品行为数据,先计算出物品之间的相似度,为每一个有过操作行为的物品计算出一个相似物品的集合。然后合并成当前用户喜好物品相似集合,构造出推荐集合。将推荐值降序排列,选取其中TOP-N个作为推荐结果。其推荐原理图如图2 所示。

图2 基于物品的协同过滤算法原理图

基于物品的协同过滤算法无需计算用户相似度,所以对于用户规模没有限制,而且推荐结果个性化,可以直接基于用户喜好程度进行推荐,更具有针对性。因为该算法基于用户个人的历史行为,所以只要用户对产品有过关联数据,就可以进行推荐操作,但是在数据缺少的情况下,该算法无法生成用户喜好模型,而且当前用户行为信息复杂且无规则,如何将信息进行有效利用提升推荐效果成为此算法的局限所在。

2 融合特征标签的推荐算法

2.1 问题描述

该文旨在通过融合特征标签对基于物品的协同过滤算法加以改进,来解决当前推荐算法的不足。融合特征标签推荐算法问题描述为:用户集合U={u1,u2,…,un},电影集合P={p1,p2,…,pn},标签集合T={t1,t2,…,tn}以及用户对电影评分集合A={a1,a2,…,an},通过用户评分集合和电影标签集合,构建用户-标签矩阵,也就是标签版用户喜好模型。然后结合影片相似度模型,计算出用户对电影预测评分vi,s,降序排列用户对影片预测评分集合Rij后得到推荐结果。

2.2 构建用户喜好模型

每个用户感兴趣的电影都不同,同一个标签对于不同的用户而言,有着不一样的重要性。用户喜好的电影可以有多个标签,一个标签也可以同时存在于多部电影中。例如一部电影可以有“科幻”“动作”“冒险”等特征标签,用户u可能对i部影片感兴趣,第i部影片可能拥有g个特征标签,相关的用户-标签矩阵如表1 所示。

表1 用户-标签矩阵

因此可以作出这样的假设:如果用户行为中关联到的某个标签的次数越多,则该用户对此类标签的喜好程度越深。用户喜好模型描述的是用户对影片的关注程度,其值用M(Tg,un)来表示,根据假设,该值计算方式如式(1)所示:

2.3 构建影片相似度模型

影片相似度模型描述的是两部影片之间的相似程度。该值越接近1,则说明两部影片之间的相似程度越高。假设如果一部影片与用户操作过的影片相似程度越接近1,则说明该影片对于此用户存在越高的推荐价值。因为要与实验数据集的格式相匹配,推荐算法选用余弦相似度计算方式,如式(2)所示:

其中,wn,c是用户有过操作行为的影片特征向量,wn,s是需求进行相似度计算的影片特征向量。

2.4 推荐评分计算

进行推荐评分计算时,因为要考虑到用户兴趣变化程度,所以只针对用户前x个操作行为进行评分计算。文中采用的评分计算公式如式(3)所示:

对于每一位用户,将得到的影片评分列表进行去重过滤降序排序后,取TOP-N个就得到了推荐列表。

融合特征标签的推荐算法流程描述如下所示:

输入:用户集合U,电影集合P,电影标签集合T,用户对电影评分集合A。

输出:用户对影片的推荐评分Vi,s。

1)对输入数据进行初步计算,得到用户总数n,影片总数m,标签总数ts和用户标签总数等。

2)根据1)中的数据建立用户-标签矩阵。

3)根据式(2)建立影片相似度模型。

4)根据式(3)对影片进行推荐评分预测。

5)对计算得到的用户推荐评分预测进行过滤去重。

6)降序排列Rij生成用户推荐影片列表。

3 实验及分析

3.1 数据集

实验使用的数据集来自著名的数据集网站Movielens,数据集包含用户数据、电影数据和评分数据。用户数据包含用户ID、性别、年龄、职业字段。电影数据包含电影ID、标题及上映年份、电影特征标签。评分数据包含用户ID、电影ID、分值和时间戳。

本次使用的数据集大小为100 kB、1 MB、10 MB,用户数量分别有943 个、6 040 个、71 567 个、电影数量分别有1 682 个、3 900 个、10 681 个、评价数量分别有1 000 条、1 000 209 条、10 000 054 条。实验选取75%的数据作为训练数据,剩余的25%数据则作为测试数据。训练数据用于训练预测模型,将预测模型应用到测试数据中,将预测的评分与真实值进行比较,误差越小,评分预测效果越好,反之越差。

3.2 推荐算法评价指标

推荐算法设计的优良需要进行对比,实验选用三种经典推荐算法指标来进行对比评价:用户覆盖率(User-Coverage)、召回率(Recall)、准确率(Precision)。用户覆盖率用来表示推荐算法能够进行个性化推荐的用户占比,该值越接近1,说明算法推荐结果涉及用户越多,用户信息利用率越高。准确率是推荐算法给用户的推荐列表和用户实际选择的影片占比。召回率是用户实际选择影片和推荐算法给用户推荐列表交集后,占用户实际选择的影片比例。三个指标公式分别如下所示:

3.3 实验结果及分析

为了验证和分析该文算法的推荐效果,将选取另外两种推荐算法与其进行对照实验:

1)文献[10]中将共同评价两部电影的用户数进行缩放,并以此在相似度计算中构建了同一电影不同用户的评分模型完成结果推荐,在文中将其视为(Common Evaluate Movie of User,CEMU)。

2)基于物品的协同过滤算法(IMCF)。

在进行对比实验中,将以数据集长度m、最终推荐结果长度n为两个关键变量进行对比分析。

3.3.1 用户覆盖率对比

该次实验m的大小为1 MB,n=20。在构建用户-标签矩阵后,通过算法得到用户评分预测,再进行过滤去重,得到了能够获得推荐列表的用户比例,实验结果如表2 所示。

表2 用户覆盖率

通过表2 内容可知,传统的基于物品的协同过滤算法的用户覆盖率较低,接近40%的用户未得到有效的推荐结果,对用户行为数据的信息利用率低。在相似度算法中加入同一电影不同用户的评分模型后,用户覆盖率得到了显著的提高,达到81.38%。而该文的算法在用户覆盖率方面达到86.52%,用户覆盖率的提高说明在算法中融入了标签后,可以为更多用户构建出符合用户侧的喜好模型,使得绝大多数用户都可以得到与自身行为喜好相关的推荐结果;证明了物品特征标签中蕴含着大量且有效的信息,可以帮助推荐算法解决数据稀疏的不足,挖掘分析利用这些信息可以大幅的提高互联网应用和用户使用的效率。

3.3.2 探究不同数据集长度下的实验结果

该实验中设n=20,实验结果如图3 和图4 所示。

图3 m取不同值时的准确率

图4 m取不同值时的召回率

由图3 可知,三种算法准确率随着数据集量增加而增加,在数据集为10 MB 时三种算法准确率达到最高。由图4 可知,在三种算法中,融合标签特征算法的召回率最高,而且三种算法的召回率均随着数据集量的增加而提高。融合特征标签后的推荐算法在准确率和召回率方面均优于两种对比算法,特征标签可以在一定程度上解决用户行为信息过少而无法建立符合用户行为喜好的特征模型。

3.3.3 探究不同推荐列表长度下的实验结果

在实验3.3.2 的实验结果之上,实验将m取固定值为1 MB,实验结果如图5 和图6 所示。

由图5 可知,随着推荐列表长度的不断增加,算法的准确率不断提升,并在推荐列表长度为20 时达到最高点,之后略有降低。由图6 可知,算法的召回率随着推荐列表长度的增加而提高,在推荐列表长度为20 后,增速逐渐平缓。

图5 n取不同值时的准确率

图6 n取不同值时的召回率

实验结果表明,融合标签特征的推荐算法在准确率和召回率方面有一定提升,且算法的准确率和召回率分别在n=20 和n=25 时最佳。综合以上实验数据分析,融合了特征标签的推荐算法可以深入地挖掘用户的行为信息,得到更加精准的用户行为模型,并且在设定适合的推荐列表长度后可以提高推荐效果,能够有效提高算法对信息的利用率和准确性。

4 结论

该文提出了一种结合物品特征标签的推荐算法,在算法中构建用户-特征标签矩阵来解决用户行为无规律,行为信息数据不规则等问题。经过实验分析表明,同传统的推荐算法和另外一种个性化推荐算法相比,印证了特征标签中包含着丰富且准确的用户喜好信息,利用此信息搭建完整精准的用户喜好模型,可以提升推荐算法用户覆盖率,并使算法的准确率和召回率都有所提高。接下来的工作中将针对该文算法中面对推荐列表长度过长而导致推荐结果准确率下降的问题进行优化解决,将考虑对相似度算法进行权重的重新分配,探索出更加稳定和高效真实的推荐算法。

猜你喜欢
准确率标签物品
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
不害怕撕掉标签的人,都活出了真正的漂亮
图画捉迷藏
让衣柜摆脱“杂乱无章”的标签
科学家的标签
科学家的标签
找物品