刘晓露,贾书伟
(1.山东财经大学管理科学与工程学院,济南 250014;2.河南农业大学信息与管理科学学院,郑州 450002)
在线评分系统中用户声誉的度量对产品质量排名具有重要意义[1-3]。随着现代科技的发展,许多网站都使用在线评分系统,用户在网上浏览、收藏或购买产品后,可以根据对产品的体验对产品质量给出一个打分[4-5],基于用户的打分来度量产品的质量可以为用户找到高质量的产品。然而,由于系统中用户对产品不熟悉或不诚实等原因,用户对产品的打分不一定能准确反映产品的质量。有些商家为了提高自身的信誉,雇佣一些水军来给予自身高评价或对竞争对手虚假评价来迷惑其他消费者,通过简单地对评分取平均的方法来对产品质量进行排名可能不那么准确[6-7]。准确的打分可以对产品质量的度量起到积极的作用,同时,不准确的打分则会起到干扰的影响,损害用户与商家的利益。因此,度量用户的打分准确程度(用户声誉)对于准确度量产品的质量、保障社会经济和民生的健康发展起着重要的作用。对在线用户声誉的研究与分析成为众多学术研究者感兴趣的课题[8-10]。
声誉的概念一直没有得到统一,社会学[11-12]、信息经济学[13-17]、科学计量学[18-19]以及计算机科学[20-21]的研究学者分别从不同角度研究声誉。本文将在线评分系统建模成用户—产品二部分网络,用户的声誉(reputation)是指在特定的时间段和上下文环境中,依据用户对产品的历史评分,对该用户可以对相应产品做出准确评价(符合大众认知)的感知[22]。基于用户对产品的评分对用户声誉的研究近几年取得了非常显著的成果。目前3种主要的用户声誉度量方法有:声誉和质量不断迭代的方法[6,23-28]、分组方法[29-30]和贝叶斯方法[31]。1)声誉和质量不断迭代的方法中用户声誉和产品质量是相互影响、相互依赖的,基本思想是:假设产品有其内在的质量,通过用户评分与产品质量的关系度量用户的声誉,再通过用户声誉和评分度量产品质量,如此迭代直到用户声誉和产品质量达到稳定为止。优点是计算用户声誉和产品质量的准确性高,不足之处在于迭代方法的时间比较长,且迭代方法在某些数据集上不一定收敛。2)在分组方法中,用户声誉的度量是通过评分计算得到,不依赖于产品质量,从打分分组的角度度量用户声誉。分组方法突破了已有迭代方法中用户声誉与产品质量相互依赖的思想,提出分组的方法度量用户的声誉,计算时间较短。缺点是用给出相同评分的用户个数所占的比例表示这一评分的可信度容易造成民主暴力,且该方法在度量用户声誉时只考虑了相同评分的用户个数,没有考虑具体的评分。3)贝叶斯方法中用户声誉表示成一种概率,被评价者下次提供满意服务的概率,贝叶斯方法的优点是它提供了一种理论上的计算声誉的基础,缺点是对于普通人来说,它过于复杂,不易理解。
在线评分系统中用户集群行为分析[32-33]近年来受到越来越多的关注,刘[34]发现一些产品被几乎所有的用户所收藏,而一些度很小的产品只被度比较大的用户所收藏,表明用户的品味可以分为两类:流行的和独特的。同时,倪[35]发现系统中存在一些用户在流行的产品刚开始投放市场,即早期还不流行的时候就发现并给出高的评价,然后当这些流行产品变得流行之后就有许多用户去浏览、购买或收藏。用户集群行为的研究可以为用户声誉度量算法提供新的思路,文献[25]和[28]引入用户活跃度对传统的声誉和质量不断迭代的方法加以改进,提高了用户声誉和产品质量度量的准确性。
由于不同活跃度的用户的行为机制不同,用户行为也随时间而变化,本文从用户活跃度与时间因素两个角度研究用户打分行为,进行用户声誉的实证研究,为进一步提出准确的用户声誉度量算法提供研究基础。所采用的数据集是电影网站MovieLens数据,从以下两个方面进行分析:1)用户声誉与活跃度的关系。根据用户的度分类,然后分别计算每一组用户的声誉及其对产品打分的平均度,研究两者的关系;将数据集按照时间分成季度片段,研究每个片段上用户声誉与活跃度的关系。2)用户声誉是否具有记忆性。将数据集按照时间分成年度片段,计算t年之后用户的存在率;同时,提出一种衡量用户声誉记忆性的度量指标,计算t年之后两个年份之间用户声誉排名的肯德尔系数与用户活跃度排序的肯德尔系数随时间t的变化。最后,通过建立随机模型与实证结果进行比较。
本文的结构安排如下:第二部分介绍用户—产品二部分网络中一种声誉度量算法(CR方法)计算用户声誉;第三部分给出实证数据集中用户声誉研究结果;第四部分建立一个随机模型来与实证结果进行比较;最后总结全文。
在复杂网络中,在线评分系统可以建模成加权的用户—产品二部分网络,其结构图如图1所示。图1中有两类节点,圆圈代表用户,方框代表产品,用户和产品之间的连线表示用户对产品的打分(权重)。
图1 用户—产品二部分网络的结构图Fig.1 The structure diagram of the user-object bipartite network
下面以CR方法[6]为例介绍声誉和质量不断迭代的方法。CR方法是目前复杂网络领域度量用户声誉的一种比较经典的迭代算法,后续多篇文章[25,28]都是在此基础上提出用户声誉与产品质量迭代算法,用户对产品打分的数据集都适用CR方法。CR方法的核心思想是将用户对产品的打分与相应的产品质量之间的皮尔森相关系数作为用户的声誉。产品质量以打分的加权平均来计算,其中,权重是用户的声誉。根据用户对产品的打分与产品质量之间的相关系数来计算用户的声誉,这样迭代计算下去,直到两步迭代之间的产品质量的差值小于一个很小的数。具体操作如下:
1)对于产品α,计算产品质量Qα:
(1)
2)对于用户i,计算每个用户的打分和相应的产品质量的皮尔森相关系数TRi:
(2)
3)对于用户i,计算用户声誉Ri:
(3)
用户声誉Ri∈[0,1],用户声誉越大,表明用户对产品打分越准确。根据计算得到的用户声誉和产品质量的结果再依次进行1)、2)、3)步的计算,循环迭代,直到两步迭代之间的产品质量的差值小于一个很小的数,
(4)
这个很小的数δ取δ=10-5,其中|O|为产品的个数。
本文采用一个对电影评分的网站的数据集来进行实证研究:MovieLens。MovieLens是一个对电影进行在线评分的网站(http://www.grouplens.org),用户可以对电影进行打分,网站可以对用户提供个性化推荐服务。用户对自己浏览、收藏过的产品进行打分,打分集合为{0.5,1,1.5,2,2.5,3,3.5,4,4.5,5},其中最低分0.5分表示最不喜欢,最高分5分表示最喜欢。如果用户看了一部电影并且对它进行了打分,用户与电影之间就会建立一条连边。本文选取的MovieLens数据集中共包含69 878个用户、10 677个电影和10 000 054条打分信息,时间跨度为13年(1997年~2009年)。对用户声誉的实证研究,从以下两个方面进行分析:1)用户声誉与活跃度的关系;2)用户声誉的记忆性。
用户活跃度指用户在系统中的活跃程度,本文采取用户的度(用户打分的个数)来表示。由于不同活跃度的用户的行为机制不同,所以研究将用户分组的情况下用户声誉与活跃度的关系。要分析不同活跃度的用户的声誉,即不同活跃度用户对产品打分的准确程度,本文在数据集中将用户按照他们的活跃度分为21组,活跃度落在同一区间内的用户为一组,每组中用户活跃度的区间上限和下限如表1所示。
表1 MovieLens数据集中按用户活跃度分组的区间上限和下限
在MovieLens数据集中根据CR方法计算用户声誉得到数据集中用户声誉的结果R,将同一组中用户声誉R取平均,得到不同活跃度分组用户的平均声誉〈R〉如图2a所示,其中Km表示每组用户活跃度的区间范围的上限和下限的均值。从图2a可以看出,总体上用户声誉随着用户度的增加而增加,即度大的用户有较高的声誉,打分越多的用户打分越准确。同时,采用最小二乘法进行线性拟合得到平均声誉与用户度的斜率为0.000 079。这在现实生活中是合理的,度大的用户进入系统的时间较长,对产品质量的把握会比较强一些,对产品的评价相对于度小的用户会更准确。
为了更加细致地研究用户声誉与度的关系,本文按照打分时间将数据集切分成季度的片段,计算每个片段上的用户声誉。由于本文中采用的数据集是电影的打分数据,每年电影的上映会受时间的影响,比如节假日会有比较多的电影上映,所以研究季度片段的数据中用户声誉与度的关系。1997年~1999年的数据中每年的打分数量波动很大,比如1996年有1 047 618条打分,而1998年有202 092条打分,接近1996年打分数量的1/5。所以本文采用MovieLens数据集中2000到2008年打分数据进行季度层面的分析,为便于展示,年度数据的基本统计特性如表2所示。
表2 MovieLens数据集中2000到2008年打分数据的基本统计特性
注:〈ku〉与〈ko〉分别表示用户的平均度和电影的平均度。
将MovieLens数据集中2000到2008年打分数据切分成36个季度的片段(即2000年1月~3月、4月~6月、…、2008年10月~12月),计算每个片段上的用户声誉。按照季节的不同,得到4个季度中不同活跃度分组用户的平均声誉〈R〉如图2b所示,可以看出,总体上随着用户度的增加,用户声誉出现上升的趋势,与图2a的结果一致。在4个季度中,采用最小二乘法进行线性拟合得到平均声誉与用户度的斜率分别为0.000 064、0.000 071、0.000 065、0.000 065,均大于0,表明用户的活跃度越大,声誉越高,对产品的打分越准确。同时,本文用简单平均法计算季节指数:将每个季度中的用户声誉取均值,分别除以36个片段上用户声誉的均值,得到4个季度的季节指数分别为1.018 58,0.996 055,0.992 683,0.992 682 866。可以看出第一季度中用户声誉要高于第二、第三和第四季度。
图2 MovieLens数据集中用户声誉与度的关系实验结果Fig.2 The experimental results on the relationships between user′s reputation and degree for the Movie Lens data set
本文提出用户声誉记忆性[36-37]的概念,即当前时间段内用户的声誉排序与之前某一个时间段的声誉排序的一致程度。将MovieLens数据集中2000到2008年打分数据切分成9个年度的片段(2000年、2001年、…、2008年),计算每个片段上的用户声誉。
在计算用户声誉的记忆性之前,首先研究一下随着时间的变化,用户在系统中的存在情况。在2000年到2008年这9个年份的数据中,计算两两年份的数据片段之间用户的平均持续存在率ρ(t):
(5)
其中,t1=2000,2001,…,2007,t=1,2,…,8,Ut1为第t1年系统中的用户集合,ρ(t)为t年之后系统中仍然存在的用户所占的平均比例。MovieLens数据集中t年之后用户的持续存在率ρ(t)如图3a所示,可以看出随着t的增加,用户的平均持续存在率降低,表明经过时间越长,用户中仍然存在的用户越少。
同时,在MovieLens数据集中2000年到2008年的9个年份数据中,以两两年份的数据片段之间用户声誉的肯德尔系数[38]τR(t)来衡量用户声誉的记忆性:
(6)
其中,m=|Ut1∩Ut1+t|为第t1年与第t1+t年相同用户的数量,t1=2000,2001,…,2007,t=1,2,…,8。Rμ(t1)为第t1年数据集中用户μ的声誉,τR(t)为t年之后系统中存在的用户声誉的一致程度。τR(t)的值越大表明t年之后用户声誉的记忆性越高。
为了与用户声誉的记忆性作比较,计算两两年份的数据片段之间用户度的肯德尔系数τK(t)作为用户声誉记忆性的衡量指标:
(7)
其中,Kμ(t1)为第t1年数据集中用户μ的度,τK(t)为t年之后系统中存在的用户活跃度的一致程度。τR(t)的值越大表明t年之后用户活跃度的记忆性越高。
MovieLens数据集中t年之后用户声誉的平均记忆性τR(t)与用户活跃度的平均记忆性τK(t)如图3b所示。可以看出,随着t的增加,用户声誉的平均记忆性τR(t)降低,表明经过时间越长,用户声誉的一致程度在降低,这在现实生活中是合理的。随着时间的增长,影响用户打分的准确程度的因素会越来越多,打分准确程度与过去相比的变化会越来越大;同时,用户声誉的平均记忆性τR(t)与用户活跃度的平均记忆性τK(t)相比较,t≤5时,τR(t)>τK(t),说明5年之内用户声誉的记忆性高于用户活跃度的记忆性,表明用户打分的准确程度与用户活跃度相比更具有记忆性,随时间变化更小。这在现实生活中也是合理的。用户度是用户打分数量多少的度量,反映用户在打分系统中的活跃度,受影响的因素更多,随时间变化更不稳定。用户声誉反映用户打分的准确程度,与用户活跃度相比,更能反映用户打分行为的内在特性,随时间变化更小,更加稳定。
图3 MovieLens数据集中用户声誉的记忆性实验结果Fig.3 The experimental results on the memory of user reputation for the MovieLens data set
本文通过建立一个随机模型来与实证结果进行比较。随机模型是人工建立的与实证数据做对照的数据集,建立的目的是与实证数据中的结果进行比较,分析实证数据中的结果是否由随机行为产生。在随机模型中,本文保证用户和产品的数量、打分数量、用户的度与真实的MovieLens数据集保持一致,但是用户选择电影的行为完全随机,打分时间也是完全随机。因此,本文建立了一个新的、完全随机的用户—产品二部分网络:69 878个用户和10 677个电影的度与真实数据集保持一致,10 000 054条连边(打分)的节点(用户与产品)通过产生随机数
图4 随机模型中不同活跃度分组用户的平均声誉Fig.4 The average reputation of users in different groups divided by the activity for the Null model
的方法从真实数据集的节点集合中选取,每条连边从真实数据集的打分时间集合中随机选取一个打分时间与之匹配,每条连边的权重(打分)从集合{0.5,1,1.5,2,2.5,3,3.5,4,4.5,5}中随机选取。在随机模型中进行用户声誉的实证研究:1)用户声誉与活跃度的关系;2)用户声誉的记忆性。
根据CR方法计算随机模型中用户的声誉R,将用户按照活跃度分组,将同一组中用户声誉R取平均,得到随机模型中不同活跃度分组用户的平均声誉〈R〉如图4所示,可以看出,随着用户活跃度的增加,用户声誉并没有明显的变化,且用户声誉的值都比较小(小于0.1)。无论是用户声誉与活跃度的关系还是用户声誉的值,都与实证数据中的结果(图2a)有明显不同。与随机模型的结果比较,表明真实数据中用户声誉并不是由随机行为引起的,随着用户活跃度的增大用户的打分越准确。
图5 随机模型中用户声誉的记忆性实验结果Fig.5 The experimental results on the memoryof user′s reputation for the Null model
随机模型中t年之后用户的平均持续存在率ρ(t)如图5a所示,可以看出,对于不同的t,ρ(t)的值都在0.96附近,远高于实证数据中的结果(图3a中t=1时ρ(t)取最大值为0.34),表明随机模型中t年之后,几乎所有的用户仍然存在。随机模型中t年之后用户声誉的平均记忆性τR(t)与用户活跃度的平均记忆性τK(t)如图5b所示。可以看出,对于不同的t,τR(t)的值都在0附近,表明随机模型中t年之后用户声誉完全没有记忆性。τK(t)的值也不随t的变化而变化,都在0.63附近,远大于τR(t)的值,与实证数据中的结果(图3a)有明显差异。与随机模型的结果比较,表明真实数据中用户的打分行为并不是随机产生的,t年之后用户打分准确性具有记忆性。
本文在电影网站MovieLens数据上进行用户—产品二部分网络中用户声誉的实证研究,从以下两个方面进行分析:1)用户声誉与活跃度的关系。根据用户的度分类,发现用户声誉随着用户度的增加而增加;将数据集按照时间细分为36个季度的片段,同样发现随着用户度的增加,用户声誉出现上升的趋势。2)用户声誉是否具有记忆性。将数据集按照时间分成9个年度的片段,发现用户的持续存在率随着t的增加逐渐减小;同时,计算t年之后两个年份之间用户声誉排名的肯德尔系数与用户活跃度排序的肯德尔系数,发现t≤5时,t年之后用户声誉排名的肯德尔系数比用户度的肯德尔系数更高,表明5年之内用户声誉比用户的活跃度更具有记忆性。最后,通过建立随机模型与实证结果进行比较,表明真实数据中用户声誉并不是由随机行为引起的,侧面验证了实证数据中的实验结果。
用户集群行为的研究可以为用户声誉度量算法提供新的思路,本文从用户活跃度与时间因素两个角度进行在线评分系统中用户声誉的实证研究,拓宽了用户声誉研究的广度,为进一步提出准确的用户声誉度量算法以及用户声誉在个性化推荐中的应用提供研究基础。