用户特征协同过滤方法在个性化商品推荐中的应用研究

2017-02-27 15:28曹建新吕鹏辉
电脑知识与技术 2016年31期
关键词:协同过滤推荐系统

曹建新+吕鹏辉

摘要:协同过滤推荐是目前个性化推荐中应用最广泛的推荐技术,根据电子商务网站中用户的特征,重点分析了协同过滤推荐方法,发现目前协同过滤算法主要利用用户评分数据进行推荐,数据单一且稀疏,因此在用户评分数据的基础上,对用户属性特征和用户喜好特征数据加以利用,提出了一种基于用户特征数据的协同过滤推荐方法,能够缓解目前算法中存在的数据稀疏问题,通过实验数据对比分析,证明了算法的合理与有效性。

关键词:推荐系统;用户特征;协同过滤;数据稀疏

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)31-0157-03

隨着互联网的发展,电子商务也得到了飞速发展。电子商务规模的不断扩大,使得用户一方面可以方便地获得丰富的信息,另一方面则要面临过量信息伴随着的信息过载问题[1]。在此背景下,电子商务推荐系统应运而生,国内外越来越多的电子商务网站应用推荐技术用户进行个性化推荐。例如淘宝、京东、亚马逊等大型网站[2]都有自己的推荐模块,用于提升其销售量。亚马逊(Amazon)是美国最大的在线电子商务网站,就实现了基于协同过滤的混合类型推荐。

协同过滤推荐算法是研究和应用最为广泛的一种算法[3],常用的协同过滤推荐算法是基于用户的协同过滤算法,其基本原理是利用已知用户的历史评分数据找到目标用户的相似用户,根据相似用户的评分数据对目标用户产生推荐。但是由于商品信息成千上万,每个用户真正购买的商品却很少,所以评分信息往往更少,数据稀疏[4]问题明显。常用的协同过滤算法只是对用户——项目评分信息进行分解,没有充分利用数据信息[5],没有考虑到用户的性别特征、年龄特征和购买特征等用户特征,而利用这些特征数据能有效地提高协同过滤的推荐精度,并且这些数据简单易得,数据量也明显比评分数据量大,为此本文提出对用户特征数据进行建模,利用用户购买、收藏和浏览特征对用户-项目评分矩阵中的值进行预测和填充,能够缓解数据集的稀疏问题,并综合用户自身属性相似度和评分相似度进行相似度计算,实验表明,该算法缓解了评分矩阵的稀疏问题,提高了推荐质量。

1 常用协同过滤推荐方法

1.1 常用协同过滤推荐方法的一般步骤

1) 收集用户评分数据,进行清理、转换等,得到一个用户-项目评分矩阵,m代表用户数量,n代表项目数量,代表用户u对项目的评分,取值范围为0到5之间的整数, 0表示未评分,分值越大,喜好程度越大。

2) 利用相似度计算方法计算用户-项目评分矩阵中目标用户与其他用户的相似度,找到用户的相似邻居。通常采用K近邻方法[6],获得目标用户相似度最高的K个用户作为目标用户的相似邻居。

3) 按照给定计算方法,通过用户相似邻居对目标用户未评分项目的评分数据,对目标用户未评分项目进行评分预测,最终选择Top-N作为目标用户的推荐集合,推荐给目标用户。

1.2 相似度计算

用表示用户和用户的相似性,设表示用户、的共同评分项目集合,向量分别表示用户、在上的评分,用户、在n维项目空间上的评分分别用,表示,、分别表示用户和用户对已评分项目的平均评分。

1.3 常用协同过滤算法存在的问题

随着用户和项目规模不断扩大,常用的协同过滤算法面临着数据稀疏性、可拓展性和冷启动的问题。用户和商品在不断增加的过程中,用户评过分的商品只占非常小的一部分,这就造成了评分数据的稀疏性,影响推荐效果。针对这个问题,本文发现通过结合用户的特征数据和协同过滤算法,可以构建出填充过的用户-项目评分矩阵,从而缓解稀疏性,提高协同过滤推荐的质量。同时,由于用户的属性特征较为稳定,购买、收藏和浏览特征也存在一定规律,上述的计算过程可以离线进行,对推荐效率影响较小。

2 基于用户特征的协同过滤推荐方法

2.1 用户特征定义

通常将电子商务网站的用户特征分为属性特征和喜好特征,属性特征一般通过用户的基本属性即用户登录和注册时主动提供的信息得到,一般用户比较愿意提供性别、生日等不敏感的信息,而喜好特征即通过对用户购买行为、收藏行为和浏览行为等分析出的用户喜好,即用户对商品的购买、收藏和浏览以及它们的次数能不同程度的反应用户的喜好,因此本文定义用户的属性特征包括用户的性别特征和年龄特征,用户的喜好特征包括用户的购买、收藏和浏览特征。

2.2 方案设计

基于用户特征的协同过滤推荐方案采用离线计算推荐结果的方式,将计算结果保存在数据库中,用户登录后直接在线读取数据库中已经计算好的数据即可,这样的方式虽然对存储空间有一定牺牲,但是保证了在线推荐的效率,当用户和商品增加时,推荐的可拓展性也可以得到保证,对推荐效率影响较小。推荐的整体流程见图1。

从图1可以看出离线计算的部分,首先,通过计算用户的年龄相似度和性别相似的加权综合,得到用户的属性相似度;其次,利用用户的喜好特征对用户-项目评分矩阵进行有效的填充后得到用户的评分相似度;最后,加权综合得到更为准确的用户综合相似度。其中,加权系数均可通过实验分析得到最优值,将在实验结果与分析中加以阐述。

根据以上流程,下面对离线的基于用户特征的协同过滤推荐方法进行详细阐述,分为用户属性相似度建模,用户评分相似度建模,综合相似度计算,最后推荐产生。

1) 用户属性特征相似度建模

a) 性别相似度

用户性别不同选择商品的喜好会有很大差别,例如女性用户比较注重商品细节和外观,而男性用户则侧重商品的实用性,因此本文将用户性别作为区分用户特征的一个方面,对于用户u和用户v,若同性别则相似系数的值为1,反之,相似系数为0。设用户u的性别为,设用户v的性别为,则用户u和用户v的性别相似度可以表示为:

2) 用户评分相似度建模

由于用户的评分十分稀疏,仅通过评分信息对用户进行分析其结果不太准确,因此利用用户的购买特征、浏览特征和收藏特征对用户喜好的表示程度不同,对用户未评分的商品进行评分预测,对用户-项目评分矩阵进行填充,将预测的用户产品评分和原始的显性产品评分相互结合,可以最大程度的表示用户喜好。方案如下:

4) 推荐产生

通过式(4)的计算公式对目标用户未评分商品进行评分预测,最终选择与测评分最后高的top-n个视为最终推荐结果推荐给用户。

3 结果与分析

3.1 数据来源

本文实验基于实验室与某手机运营商联合开发的礼品商城项目,所有用户和商品数据均来源于该礼品商城。实验用数据包含500个用户的注册记录,以及他们对1000件商品的评分记录、购买记录、收藏记录和浏览记录。其中,每个用户至少对15个商品进行了评分,购买至少10件商品,收藏20件商品,浏览30件商品。选取该数据库中100000条评分数据和这些数据中的所有用户的购买、收藏和浏览记录。

采用的数据集按照 80% 和 20% 的比例分成训练集和测试集[7]。分别使用常用协同过滤算法和本文提出的基于用户特征的协同过滤算法对训练集中的评分数据进行预测。

3.2 算法评价标准

3.3 实验结果分析

实验一 :对权值系数和λ进行取值确定。其中,是用户性别权重系数,(1-)是用户年龄权重系数,由于用户性别和年龄肯定会对用户相似度产生影响,并且两者对用户相似度的区分相差不大,所以的取值范围为{0.3,0.4,0.5,0.6,0.7}。λ是用户属性特征权重系数,相应的(1-λ)即為用户评分相似系数。因此实验当取值不同时,λ取值从0到1之间时,观察MAE的值,得到实验结果如图2所示。

由实验结果可以看出,当=0.6时MAE的值较其他取值时都小,即推荐精度最高,与此同时,当λ=0.3时MAE取得最小值,因此,通过实验可以得出,本算法中用户性别权重系数=0.6,用户属性特征权重系数λ=0.3时推荐精度最高,效果最好,因此确定了推荐算法相似度计算公式。

实验二 :当用户最近邻居个数分别取10,20,30,40,50时,将常用的协同过滤算法和本文提出的基于用户特征的协同过滤算法的推荐结果进行比较,(=0.6、λ=0.3)的实验结果比较如图3所示:

从图3可以看出,当(=0.6、λ=0.3)时本文提出的基于用户特征的协同过滤算法较之常用的协同过滤有所改进,推荐效果好于常用协同过滤算法,本文的算法不仅综合了用户属性特征,发现用户更多相似性,而且用户喜好特征对用户-项目评分矩阵进行了有效填充,从而缓解了数据稀疏,提高了推荐精度。

4 结语

本文针对常用的协同过滤算法目前存在的数据稀疏性问题提出了基于用户特征的协同过滤推荐方法,充分利用用户属性特征和喜好特征,建立用户属性相似度模型和评分相似度模型,对用户-项目评分矩阵进行了填充,并对用户相似度计算进行了综合。实验表明,该方法能够提高推荐精确度,同时,虽然目前的实验数据还不充足,但是由于采用离线计算,当数据量增大时会虽然会牺牲一小部分存储空间,但对在线推荐性能和效率影响较小,用户体验良好。最后,由于本文用到的用户特征较用户实际拥有的特征还只是一小部分,接下来的工作将探究如何结合用户其他有效信息,更加有效地挖掘用户特征和潜在喜好,这将涉及多数据挖掘的相关技术,这些问题都是我们接下来要研究的内容。

参考文献:

[1] 柯良文,王靖.基于用户特征迁移的协同过滤推荐[J].计算机工程,2015,41(1):37-43

[2] 孟庆庆,张胜男,卢楚雍. 基于用户特征和商品特征的组合协同过滤算法[J]. 软件导刊,2015,14(3):41-43

[3] 刘枚莲,刘同存,李小龙.基于用户兴趣特征提取的推荐算法研究[J]. 计算机应用研究,2011,28(5):1664-1667

[4] 张怡文,岳丽.基于共同用户和相似标签的好友推荐方法[J].计算机应用,2013,33(8):2273-2275.

[5] 刘慧婷,陈艳,肖慧慧. 基于用户偏好的矩阵分解推荐算法[J].计算机应用,2015,35(S2) : 118-121.

[6] 罗辛,欧阳元新,熊璋,等.通过相似度支持度优化基于K近邻的协同过滤算法[J].计算机学报,2010,33(8):1473-1445.

[7] 张玉芳,代金龙,熊忠阳. 分步填充缓解数据稀疏性的协同过滤算法[J]. 计算机应用研究,2013,30(9):2602-2605.

猜你喜欢
协同过滤推荐系统
基于用户偏好的信任网络随机游走推荐模型
改进的协同过滤推荐算法