苏 湛,林祖夷,艾 均
(上海理工大学 光电信息与计算机工程学院,上海 200093) E-mail:aijun@outlook.com
随着互联网的提供越来越多的信息,人们已经进入到信息爆炸的时代[1,2].由于信息不断快速增长,用户偏好复杂多样性,以及网站对于用户需求缺乏精准的了解,使得用户在筛选需要的信息时效率较低.在此情况下,推荐系统存在的效用就是使用户能够快速找到自己感兴趣的信息,同时让信息可以分门别类的出现在不同用户的页面,从而实现用户和网站的互惠互利.推荐系统和算法可以在用户和物品之间建立联系,通过用户在过去对物品的选择与评分等信息来分析用户的偏好,并对其尚未表态的物品或信息进行评分预测,然后将预测结果分值较高的物品或信息推荐给用户,从而使用户检索更高效,提高网站的使用体验感.
传统的推荐算法主要包括基于内容的推荐算法[3]和基于协同过滤的推荐算法[4,5].基于内容的推荐算法是根据用户描述或项目的特征来寻找相似属性的用户或项目进行推荐[6],常常需要利用机器学习提取有效特征,限制了该方法的性能.所以在推荐系统中应用最为广泛和个性化的算法为协同过滤算法.该方法是通过用户不断地和网站互动,使推荐列表能够不断过滤和筛选用户不感兴趣的物品,从而越来越满足用户的需求.其中基于网络模型的推荐算法由于其更高的计算效率和准确率逐渐成为推荐系统的研究热点.它是将用户和物品看成抽象的网络节点,通过构造一个用户-物品的网络模型,利用统计学方法向用户进行个性化推荐[7,8].
协同过滤算法存在多种类别,其中一种为以用户为基础的协同过滤算法[9],思想是当向用户推荐某个兴趣度未知的物品时,可以借鉴与该目标用户有类似兴趣爱好的其他用户,然后把邻居用户评价高的物品推荐给该用户.很多学者就此方向进行了研究,比如Ai和Liu等人建立了以用户为节点的网络模型[10],根据用户之间的相似程度将用户划分为社团,在预测过程中融合社团划分结果使得根据邻居用户推荐而来的信息更准确.除此之外,还有学者针对用户之间的相似度计算进行探索,比如Zhang等人根据相似性公式背后的数学规律,介绍了一种新的数据结构,并设计了计算相似度的线性时间算法.这种复杂性的改进缩短了评估时间,最终有助于提高推荐系统的设计和开发效率[11].
另一种协同过滤算法是以物品为基础[12],思想是给用户推荐那些和他们之前喜欢的物品相似的物品.有很多学者也对此方面进行了研究,Garanayak等人基于物品的协同过滤技术和K-means算法,通过对物品的分类提出了一个新的方法来构造移动用户推荐的模型来提高预测精度[13].对于物品之间的相似度,Mahamudul Hasan等人设计了两种基于物品的相似度度量方法,以通过合并项目的类型数据来克服缺乏评级数据的问题[14].
除以上两类方法外,基于观点传播的推荐系统预测方法将传统的协同过滤算法与用户意见传播过程相结合,可以使推荐系统更准确的预测评分[15].在较早的观点传播研究中,Zhang等人基于用户对物品的打分信息,提出了一个将用户的评分嵌入到一个转换矩阵中的基于扩散的推荐模型[16],此方法可用于用户以整数刻度评估对象的任何数据,实现了基于热传导和物质扩散的推荐算法.He和Zhou等人提出了基于观点传播过程的用户相似性算法[17],该方法基于原始的用户-物品的评价矩阵,通过度量用户向另一用户传递的意见量来定义用户相似度.该方法可以对每一对未评级的用户项进行更精确的评级预测.此外,还引入了一个与传播者和接受者的度都相关的可调参数来控制优先扩散.Ai和Li等人在He理论的基础上改进了算法中相似性的计算方法[18],通过对推荐或预测过程进行研究,避免了部分用户间在评分接近的情况下出现相似性为零的问题.
综上所述,在现有的大多数推荐系统的研究工作中,算法设计主要集中于用户之间或物品之间的相似度计算,相似邻居用户的选择等网络参数的优化计算,以及用户类别的划分等.这些方法算法在数据有限的情况下,多倾向于采用用户的评分差异来度量用户在兴趣偏好上的差异,而很少对用户在不同类型物品的评分活动进行度量.只考虑到用户对项目物品的显式评分信息并不能完全准确的判断用户的偏好,很多学者发现挖掘用户对物品隐式属性的倾向可以提高推荐的准确性,降低错误率.例如,窦羚源等人通过标签信息来构造用户和物品之间的特征关系,并将该种关系与协同过滤推荐算法相融合来预测用户对物品项目的评分信息[19].Na G等人将预设的物品标签信息引入到推荐算法的相似度计算过程中,弥补了评分矩阵稀疏性问题[20].但是,现有的基于观点传播的推荐算法也没有考虑到推荐系统中用户间的信息互动的效果是根据用户偏好而存在差异的.
本文为了更符合真实的用户偏好,通过以用户对于物品标签的选择概率为基础建立相似性计算方法,来度量用户对不同物品类型的偏好;进而建立以用户为节点,以用户间相似性为边的“用户-用户”复杂网络模型,根据该在网络结构中,选取以度中心性为用户节点偏好影响力的评价指标,并以该评价指标为基础,设计针对用户品味影响力的平衡函数;进一步对算法进行加权,设计了融入平衡效果函数的类型相似性和用户品味影响力的协同过滤评分预测算法.实验结果证明了算法的有效性,该算法与基于观点传播推荐算法以及近年来几种经典的协同过滤推荐算法比较,降低了推荐算法评分预测的误差,并且算法的时间复杂度较低.
在本文的研究方法中假设共有m个用户和n个物品,分别构成两个集合,记用户集合为U={u1,u1,…,um},物品集合为V={v1,v1,…,vn},将每个用户对其评价过的物品评分组成的矩阵记为R={ria}∈Rm,n,其中ria表示用户ui对物品va的评分值,评分的取值范围为0.5-5之间步长为0.5的所有数值.此外,构建一个表示用户对物品评分与否的矩阵,记为A={αia}∈Rm,n,若用户ui对物品va评过分,则aia为1,否则为0.根据以上信息就可以构建一个用户和物品的网络,其中,ki和ka分别表示用户节点ui和物品节点va的度值.
根据以上信息,本文以用户为网络模型中的节点,以两个用户节点之间的相似性作为边的权值,构造推荐系统的“用户-用户”的复杂网络模型.其中用户作为网络中的节点可以通过用户相关信息直接设置,而用户之间的相似性需要提取用户的对物品的行为特征,并将这些特征量化后综合处理,最后获得两个用户针对物品的相似性度量值,进而在推荐预测中判断用户品味的相互影响.下面将对用户见相似性的度量方法进行说明.
2.2.1 相关的用户相似性研究
一般地,基于用户的协同过滤算法推荐步骤就是根据用户对物品的评分矩阵计算出该用户与其他用户的相似性,继而从与该用户最相似的用户中选取若干个作为最近邻用户,再利用最近邻用户集合的评分信息来预测该用户的未评分项目分数,最终选取评分靠前的top-N项目作为该用户的推荐集推荐给用户.其中最为关键的步骤是用户相似性的计算.相似性代表了用户之间的兴趣喜好相似的程度,相似性计算方法的选择往往对下一步进行的评分预测以及最终推荐系统的推荐效率和质量有着至关重要的影响.这里主要介绍几种用户相似性计算方法:
1)余弦相似性(Cosine Similarity)
余弦相似性是通过计算两个向量的夹角余弦值来评估他们的相似度[21,22],余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似.余弦相似性应用在推荐系统中,n维向量为用户对若干物品的评分信息,若目标用户未曾评价过某物品,那么该向量值应为0,余弦相似性值越大,说明这两个用户之间的兴趣越接近,喜好越相似.设ria和rja分别表示用户ui和用户uj对物品va的评分值,则用户ui和用户uj之间的余弦相似性计算公式如下:
(1)
2)修正的余弦相似性(Modified Cosine Similarity)
(2)
3)皮尔逊相关相似性(Pearson Correlation Similarity)
相关相似性从统计学的角度讨论数据之间的相关性,皮尔逊相似性算法只考虑用户共同评分过的项目,一般适用于两个变量之间存在定距的关系[23,24].若一个用户的评分总是高于另一个用户的评分,则两个用户之间的相关性较高.表达式含义与修正的余弦相似性相同,则用户ui和用户uj之间的皮尔逊相关相似性计算公式如下:
(3)
4)基于观点传播的用户相似性(User-Opinion-Spreading Similarity)
在利用用户对物品的评分信息时,需要考虑每个用户对物品的评判标准是不同的.例如有些用户比较苛刻,对物品的评分普遍偏低;有些用户没有那么苛刻,经常会给出较高的分值.所以受个人主观的影响,实际评分值并不完全客观,为了消除这种不利影响可通过公式将评分归一化.设ri-min和ri-max分别表示用户评分记录的最低分和最高分,则用户i的评分归一化公式如下[17]:
(4)
通过归一化公式,用户的评分值范围变为[-1,1],若最高分与最低分相等则可将归一化值赋为0.
文献[17]使用资源分配和评分结合方法计算用户间的相似性,设eia和eja分别表示用户ui和用户uj对物品va评分归一化的结果,则用户ui和用户uj之间的基于观点传播的相似性计算公式如下:
(5)
文献[18]改进了文献[17]中用户间相似性出现0的情况,提出了改进的观点传播的用户相似性公式如下:
(6)
2.2.2 基于用户对电影类型标签的选择概率度量用户品味相似性
在大多数基于用户的传统协同过滤推荐算法中,很多都忽略了可以影响用户抉择的用户自身属性,但利用一些特征提取方法可以在一定程度上挖掘用户或产品之间的联系.例如,女性用户对于爱情、浪漫等类型的电影更为喜爱,男性用户可能更愿意对科幻、动作类型电影打出高分.那么在基于用户的推荐算法中,则可以根据目标用户是否评价过的电影的类别标签来向目标用户推荐相关物品.例如,在推荐一部电影时,当用户的评价历史表现出对动作片的偏好时,哪怕该用户总给动作类电影打出低分,但该用户评分电影类型的90%都是动作类,则其对动作类电影的偏好仍然显而易见,即便评分差异交大,他和哪些经常看动作类电影的其它用户间的相似性很高,推荐算法就可以向该用户推荐动作类电影.
推荐算法分类中的基于内容的推荐算法,在没有在预测过程中考虑用户具体的显示评分信息情况下,仍可以通过提取用户的历史评价物品的属性来推荐相似物品给用户.一般来说,虽然用户对物品的评分信息大范围上能够较为直观的反映用户对物品的兴趣等级,但是评分行为中用户对物品类型的标记行为,例如用户物品文件夹对于兴趣项目的分类收藏,也同样蕴含了用户对物品属性的个性化解读[25].但是通过对反映物品类型的标签总数量的统计来求得用户对物品类型的偏好[26],这种方法在计算用户对物品类别的兴趣偏好时会出现热门标签权重较大的问题,导致了一个问题,即使用户偏好过小众类别标签,但是由于数量过少,该稀缺标签很难给用户在总体推荐中形成如同热门标签规模的影响,使得网站在进行推荐造成权重偏差,降低了推荐结果的准确性并且未能达到全面反映用户的兴趣偏好的预期效果.
针对以上问题,如果在物品集合中,物品的标签代表着物品的类型,那么本文认为用户评价结果所体现的对物品标签的隐式选择情况,对比于显式评分信息,更能反映出用户真实的对物品类型的偏好,即用户的真实品味,从而更能反映出用户网络中真实的观点传播情况.不同用户对同一标签的选择概率越接近,说明用户的品味兴趣越接近.由于考虑的是概率情况,避免了过分夸大热门标签流行性的问题,同时也不至于忽略冷门标签的在用户中的热度.因此,为了更好地利用户的这种隐式特征来计算用户之间的相似度,本文以用户对物品标签这一属性的选择概率为基础,引入到用户间相似性的计算公式中,来度量用户品味之间的相似性.具体步骤如下:
1)设数据集中所有物品标签集合为T={t1,t2,…,tl},Tk表示带有标签k的物品vk包含的标签集合.
(7)
3)设用户ui对标签tg的选择概率为可表示为,用户ui对标签tg评价次数与用户评价过的标签总数之比,若用户对某一标签的评价次数为0,则用户对该标签的选择概率为0;若用户从未评论过任何电影,则用户对所有标签的选择概率为0.公式如下,同时建立用户对其评价过的物品标签选择概率的矩阵P={pig}∈Pm,l.其矩阵取值如表1所示.
表1 用户-物品的标签选择概率矩阵Table 1 Matrix of user′s selection probability for the tag
(8)
4)MovieLens数据集是推荐系统中常用来做电影推荐系统研究的数据集,本文选取带有电影标签的MovieLens数据集,将用户ui和用户uj对物品标签集合T的选择概率进行假设整理如图1所示.
图1 用户对物品标签的选择概率图示Fig.1 Graphical representation of user′s selection probability for tags
5)在计算用户间基于标签选择概率的相似性时,若只考虑共同评价过的标签,则会在一定程度上忽略两个用户自身较为冷门的兴趣标签,而这类兴趣标签同样会影响其他用户对这一标签的选择偏好.所以将上述用户对标签的选择概率与传统的余弦相似性结合,得出基于用户标签选择概率的节点相似性如下:
(9)
6)利用用户基于标签选择概率的相似性,完成推荐系统的网络模型如图2所示.
图2 用户-用户的网络模型Fig.2 "User-User" network model
2.3.1 社交网络中用户间的观点影响分析
在“微博”社交平台中,用户之间存在着的“关注”和“被关注”的社交关系构成了一个庞大的网络,用户会关注感兴趣的账号和话题,也可以吸引别的用户成为自己的粉丝.其中用户的关注信息和粉丝信息可以直观的反映该用户的兴趣,两个用户拥有的共同粉丝或关注者越多,说明其具有更加紧密的社交联系,这也能在某种程度上反映了两个用户间的相似性.但同时也存在一类用户usepcial,大量关注热门用户或者热门话题,其关注内容并没有体现个人的兴趣特征,该用户的兴趣指向仅能说明该用户所持观点的流行程度,而该用户观点本身对于其他用户来说不具备较高参考价值.那么在计算该用户与其他用户的相似性时,由于用户uspecial关注范围的广泛,大概率都会与目标用户有着较大的相似性.则其相似性结果在一定程度上会被高估.
同样假设在MovieLens数据集中,如果某用户没有自身独特的电影品味,兴趣广泛,观看过的电影种类众多,评价过的电影标签众多,进而分配给每一种标签的选择概率都有一定大小.在这种情况下,计算得到的用户间基于标签选择概率的相似性度量值过大,一定程度上夸大了该用户对其他用户的偏好的影响,此时用户间相似性的值对实际用户相似性的度量也会在一定程度上被高估.这个相似性上的“偏见”需要被消除.
在基于相似性大小建模的用户-用户复杂网络模型中,用户品味越大众,其度值越高;用户品味越小众,度值越低.如果仅仅按照上述预测方法,对于目标用户的评分预测结果,由于不符合实际用户间的兴趣投缘程度,使得预测结果并不客观,在一定程度上夸大了这一类用户对目标用户的影响.
2.3.2 以度指标为基础的用户品味影响力平衡函数
在传统推荐算法中,用户对物品的评分预测为:
(10)
如果两个用户越相似,那么这两个用户在作为彼此的邻居用户时,就比一般用户更有可能影响对方的观点.可见在对目标用户评分预测的过程中用户间的相似性扮演着重要的角色.但上述分析说明,假如某个用户的品味广泛,也就是品味的流行程度越高,则该用户和每一个用户的相似性也会越大.所以在预测目标用户对某物品的评分时只单一加权用户间相似性,该用户作为邻居用户,他的兴趣品味对于目标用户的评分影响也会过大,也就是说该用户的观点的传播效果也会过好,使推荐系统的预测结果不客观从而产生误差.本文根据每个用户节点的信息,希望设计出针对每个用户的不同程度的品味平衡函数,来分散用户的品味流行性对于该用户观点传播效果的影响.
度中心性是度量杂乱无章的网络数据一种最简单直观的方式,上述分析中说明,现实社交网络中用户的品味大众化的程度,与用户的度值成正比.度中心性值越大的用户节点,在社交网络中的兴趣越广泛.
本文在设计品味影响力平衡函数时,选取度中心性为函数基础.假设无向网络G=(V,E)包含|V|=N个节点和|E|=M条边,其网络结构可用邻接矩阵A=(aij)N×N表示.当节点i与节点j之间存在连接时,aij=1,否则aij=0.
度排序中ki表示节点i的节点数,可表示为:
(11)
式中Λi表示节点i一跳邻域内的邻居.度中心性这一指标反映了节点的直接影响力,信息从度越大的节点发起,网络中第一时间接收到该信息的节点数越多.
在预测目标用户时,度中心性较大的用户的评分观点,往往没有兴趣品味独特小众的用户的评分观点更具有参考性和说服力.所以这一类用户品味影响力的平衡函数的结果应该越小,以此来分散品味的流行程度高的用户在评分预测中过分夸大的观点传播效果,最后使得中和后的预测结果更加贴近其邻居用户的真实评分信息.具体可表示为:
(12)
其中Cbalance-i为用户ui的观点传播的平衡函数,CD-i为用户ui的度中心性.
2.3.3 目标用户对物品的评分预测
在得到基于用户的标签选择概率的相似性结果后,通过公式(10)可以得到目标用户和目标物品之间的预测评分.
(13)
2.3.4 算法设计
传统的基于用户的协同过滤的推荐算法是根据用户的历史评分矩阵进行推荐,当为用户ui进行物品推荐时,可以将与用户ui有相似评分记录的其他用户作为邻居用户,再将这些邻居用户评过分而用户ui未评分的物品推荐给用户ui,或基于这些用户对某物品va的评分来预测用户ui对va的评分.这些方法并没有考虑到推荐系统中用户节点间信息传播效果存在较小差异,传统预测过程考虑到传播效果的差异但并不客观.基于此本文设计的基于用户偏好和品味影响力平衡函数的推荐算法包含如下步骤如图3所示.
图3 推荐统评分预测流程图Fig.3 Flow chart of prediction of recommendation system
1)从训练集中提取用户对物品的评分历史,计算用户对于标签的选择概率,并以用户对标签选择概率的数据为基础,计算用户之间相似性;
2)基于用户间的相似性构建推荐系统的网络模型—“用户-用户”的网络拓扑结构,将用户作为网络中的节点,上述用户节点间的相似性作为边的权重;
3)计算网络拓扑结构中用户节点的度中心性,以节点的度中心性结果为基础,设计用户品味影响力的平衡函数;
4)将用户品味影响力的平衡函数与用户间相似性加权来综合体现用户间观点相互影响的效果;
5)根据目标用户与其他用户的相似程度来选择有参考价值的邻居用户,基于这些邻居用户的评分信息来预测目标用户对某物品的评分.
上述算法的步骤2)-步骤4)是本文推荐算法的核心.与以往传统的推荐算法运用显式评分信息的相似性计算方法不同,本文利用用户对物品标签偏好的隐式属性计算用户间相似性,并在预测过程平衡用户的品味影响力,使用户观点传播更客观,评分预测结果也更准确.
3.1.1 数据集的选取
本文使用MovieLens数据集来进行实验,该数据集是由700个用户对9000部电影进行的100000条影评记录,用户对电影的评分范围为0.5分-5.0分,分值增长幅度为0.5.为了验证本文算法的合理性以及可行性,本文采用了折十交叉验证法,即将用户对电影的评分随机平均分成10组,选取其中的9组作为训练集,1组作为测试集,依次将每组数据作为测试集,取10次结果的平均值作为最终的结果[27].对每一次数据进行预测时,选取的相似邻居的数量为1,3,5,10,20,…,150.
3.1.2 准确性评价指标
随着各推荐系统的广泛应用,如何评测推荐系统的好坏已经成为研究热点.选择准确的和合适的推荐系统指标,对于提升推荐系统的推荐结果有重要意义.为了评估评分预测的准确率,常用的评测指标有平均绝对误差(Mean Absolute Error,MAE)和均方根误差(Root Mean Squared Error,RMSE)作为评估方法[28].
MAE反映的是预测值与实际值误差的实际情况,计算简单;而RMSE是预测值与真实值偏差的平方,与测试集比值的平方根.由于RMSE方法是对预测误差进行平方处理,这样放大了误差的取值范围,对系统的要求更加严苛.MAE值与RMSE值越小则表明预测的误差越小,推荐系统的准确率越高.MAE和RMSE公式如下:
(14)
(15)
本文设计的以用户对物品的标签选择概率为相似性的推荐算法,简记该方法为Tag;平衡用户的观点传播效果的推荐算法,简记该方法为Tag-BP.除了本文的这两种方法外,文中同时还选择了2017年发表的基于观点传播的改进相似性计算评分的预测方法[18]来对比文中考虑真实观点传播的作用,简记为UOS.
为了验证本文提出的相似性估算方法的有效性以及算法预测精度,除此之外本文又选取了另外几种采取其他相似性估算方法的推荐算法进行对比,比如经典的皮尔逊相似性协同过滤算法[28],简记为Pearson-CF;多级协同过滤推荐算法,简记为MLCF[29](Multi-Level Collaborative Filtering);以及基于用户模块化分类的标签相似性推荐算法[10],简记为MGPC.以上所采用的对比实验方法均以用户节点为基础.
3.2.1 实验结果
1)平均绝对误差(MAE)结果
从图4中可以看出,本文提出的Tag推荐算法和基于其他类型的用户间相似性的推荐算法相比时,效果是明显的,说明标签选择概率这一隐式用户属性在一定程度上比显式评分更可准确预测用户偏好.在Tag算法中,当选取邻居数为40时,MAE值为0.68485,此时预测评分的误差最小.当邻居数量达到40以后,随着邻居节点数量增加,MAE值构成的曲线趋于水平增长.随后在邻居数量为150时,达到预测误差相对最大值,为0.68814.Tag算法的最小误差与最大误差相比于UOS方法分别降低了2.45%和3.31%;相比于Pearson-CF方法分别降低了2.03%和2.77%;相比于MLCF方法最小误差也同时有所下降.
图4 不同算法在不同邻居数目下的MAE结果Fig.4 MAE results of different algorithms
在Tag-BP算法中,当选取邻居数为40时,MAE值为0.68244,Tag-BP方法在此时预测评分的误差最小.当选取的邻居数目达到40后,随着邻居节点数量增加,MAE值构成的曲线趋于水平增长.相比之下,Pearson-CF方法需要50个邻居才可以达到预测的相对最小误差,UOS方法则需要80个邻居,由此说明平衡观点传播效果的推荐算法由于其客观的预测过程使得该算法在选取邻居数目相对较少时仍有效.
将本文提出的Tag-BP推荐算法与已有算法进行比较时,对比出的预测效果也是相对明显的,如图4所示.在与基于观点传播的改进相似性计算评分的预测方法UOS和基于用户皮尔逊相似性的预测方法Pearson-CF的MAE值相比时,Tag-BP算法分别平均降低了2.94%和2.55%;同时与基于用户模块划分并且同样采取标签选择概率相似性的MGPC方法相比,MAE值平均降低了1.35%;于考虑较为全面的多级协同过滤的MLCF方法相比,在达到最小误差时仍然降低了0.45%.Tag-BP方法与Tag方法相比,在达到最小误差时降低了0.35%,证明在同类相似性计算条件下,平衡观点传播效果的举措对于降低推荐算法的误差是有效的.
在选取邻居数量为1时这种参考数据匮乏的情况下,平衡观点传播效果的Tag-BP方法的MAE预测误差为0.8131,与其他方法在相同情况下相比,最高降低的百分比为10.26%,如图5所示.与考虑用户从属社团的MGPC方法相比,MGPC方法由于更为精准划分用户类别,使得选取邻居数目为1时,MAE值为0.80185,与其他算法同等情况下相比优势明显.而本文设计的Tag-BP此时MAE值与其接近,并与MLCF方法此时的MAE值超出3.3%,此时UOS方法超出16%.可见对于单独的用户,平衡客观化后的预测评分值与融入社团划分的预测效果是可以抗衡的.
图5 不同算法在较少邻居数目下的MAE结果Fig.5 MAE results of different algorithms with less neighbors
2)均方根误差(RMSE)结果
图6中的RSME值的曲线变化趋势类似于图4中的MAE值变化趋势.由MAE和RMSE的计算公式知RMSE对系统的要求更加严苛,所以RMSE更能反映预测评分与真实评分之间的误差.本文提出的Tag推荐算法得到的RMSE值的效果同样要明显优于基于其他相似性的推荐算法.当选取邻居节点数量为40时,Tag方法得到的RMSE值为0.9215,此时的预测评分与真实评分之间的误差值最小.而UOS需要140个邻居达到RMSE的相对最小值,Pearson-CF则需要130个邻居.由此证明在更为苛刻的误差计算条件下,用户间观点影响效果的客观性更为重要,最佳预测效果不需要大量参考邻居用户的观点,减少了算法的时间.
图6 不同算法在不同邻居数目下的RMSE结果Fig.6 RMSE results of different algorithms
Tag方法的RMSE的最小误差与最大误差相比于UOS方法分别降低了3.45%和4.23%;相比于Pearson-CF方法分别降低了2.22%和2.82%;相比于MLCF方法最小误差降低了0.34%.再次证明基于用户标签选择概率的相似性计算方法对用户偏好判断的有效性.
当选取邻居节点数量为40时,Tag-BP方法得到的RMSE值为0.9143,此时的预测评分与真实评分之间的误差值最小.与Tag方法相比,表较苛刻的RMSE值降低了0.8%,证明在利用同一种用户相似性计算方法的条件下,平衡观点传播效果的举措会提高用户间观点相互影响的客观度.
如图6所示,本文提出的Tag-BP推荐算法单独在与已有方法比较RMSE值时,所占的优势较为明显.与观点传播的改进相似性计算评分的预测方法UOS和用户皮尔逊相似性的预测方法Pearson-CF的RMSE值相比时,本文提出的Tag-BP推荐算法分别平均降低了4.36%和3.1%;与多级协同过滤的MLCF方法比较最低误差降低了0.77%,同时与基于用户社团划分并且同样采取标签选择概率相似性的MGPC方法相比,RMSE值仍具有可比性,降低了1.54%.
3.2.2 实验分析
通过上述实验结果,本文提出的基于标签选择概率相似性的推荐算法(Tag),和基于协同过滤的平衡用户观点传播效果的推荐算法(Tag-BP),两种方法都是切实有效的,Tag方法得到的效果要优于UOS,Pearson-CF,MLCF这3种计算用户相似性的方法,预测结果最大降低了3.45%的误差.预测加入观点平衡函数的Tag-BP方法需要较少的邻居作为参考就可以得到误差较低的预测结果.在达到最低误差的预测结果时,Tag-BP方法与UOS,Pearson-CF方法相比,邻居的选取数量在MAE和RMSE结果中分别降低50%左右和71.4%左右,预测结果最大降低了4.36%的误差.
在推荐算法的预测过程中,考虑用户观点传播的情况,并且对于和目标用户相似性较高的邻居用户,在一定程度上对他们对目标用户的信息传播效果进行折中调整,抵消了用户观点的流行程度在网络中过分的影响效果,从而使预测结果更加客观和准确.通过上述结果可知,这种处理使得预测误差相比于只在预测过程中加权相似性的方法,降低了0.4%-0.8%.说明每个邻居用户的观点经过处理后,对于目标用户的可参考的价值变大.所以在目标用户的选取的相似邻居较少的情况下,预测同样可以达到误差相对较低的效果.
本文选择更能体现用户偏好的物品标签选择概率为基础进而计算用户间相似性,建立以用户为节点,以用户间相似性为边的复杂网络模型.随后根据实际社交网络中用户观点的相互影响情况和其原因分析,提出了一种基于用户协同偏好的平衡用户品味影响力的推荐系统评分预测方法,该方法利用用户的度值中心性,在一定程度上削弱了品味观点较为普遍,大众化程度高的用户对于目标用户的观点影响效果,平衡了网络中某些用户过分夸大的品味影响力,从而调整用户协同偏好的预测结果.实验表明,即使在所需邻居数减少50%以上的情况下,推荐系统仍可以依靠本文设计的方法能够达到较低的评分预测误差,揭示了较为真实的用户偏好,客观的用户品味影响力这两个因素对于推荐系统的重要性.本文方法比文中的其他实验方法的预测误差降低了2%-5%,由此证明了本文所提算法的有效性,证明本文算法要优于一些经典的评分预测算法.