1.实验数据预处理
hetrec2011-movielens数据集包含的电影跨越年代较长,从1903年开始,到2011年为止,其包含的电影数量年代分布如图6-7所示。
图6-7 影片数量年代分布图
而用户评价数量的时间分布如图6-8所示。
图6-8 用户评价数量时间分布图
其中,用户的评价从1997年开始收集,到2000年突破3万条,2005年达到12万条,2008年为14万条,2009年为3105条。这与Rotten Tomatoes电影评论网站的成立时间是一致的,该网站于1998年创建,而相应的Internet飞速发展也是在1995年以后。
通过对1996年以后的电影评论统计可以发现,每部电影从公映以后,其评论的数量分布如图6-9所示。
图6-9 影片上映后评论数量随时间分布图
从图6-9可以看出,影片的评论95%分布在影片上映后的十年之内,但上映当年评论数量却相对较低,这可能与大部分影评人员并没有在电影上映当年观看电影,而是在第二年之后观看的原因有关。
根据前面的分析,我们对实验数据集进行预处理。因为Rotten Tomatoes影评网站成立于1998年,1998年的影评数量为2110条,1999年为12668条,2000年为31860条,突破3万条,网站运营趋于正常化。因此,我们对影评数据提取的时间节点为2000年至2008年。然后再去除无效影评数据,比如编号为2014的电影拍摄于2003年,其1998-2002年的评论数居然达到17条,因此这些评论都是无效评论。同时考虑到,2008年的影片评论大多在2009年以后产生,而2009年的电影评论数量只有3105条,无法正常反映2008年的影片评价情况,所以2008年及之后的电影不作为数据来源。
2.实验参数设置
根据图6-9,95%的用户评价分布在影片上映的十年以内,剩下的5%的用户评论陆续分布在以后的时间里,因此,在计算用户ui对服务j的加权评价值时,我们将Tth时间阀值设定为10年。在计算商家k的声誉REPk时,α取值越小,则代表商家的运营时间在商家声誉计算中所占的权重越大,反之,则代表客流量在商家声誉计算中所占的权重越大。为此,我们将α值设置为从0.0-1.0的变化区间,观察其对应的平均绝对误差MAE值来测试α取不同值的效果。实验结果如图6-10所示。
图6-10 α取不同值时的MAE变化曲线图
通过图6-10可以发现,α取值为0.6时,平均绝对误差MAE值最小。得到这样的结果,可以反映出客流量在计算商家声誉时所占的权重作用更大。这与电影的自身特征是相符合的,对于一部优秀的电影,往往能够雅俗共赏,得到大众的喜爱,但电影往往也有其有限的生命期,即所谓的流行特性,过了一定的保鲜期,就不容易为大众所接受。根据图6-10的结果,我们设定α值为0.6。
3.实验对比方法
我们首先将本章提出的推荐方法进行分类,将不考虑商家声誉的推荐方法称为RCo2oSimple(Simple Recommendation Method for O2ORco2oSimple),即在计算用户i对用户j进行商家k推荐的综合推荐权重时,不考虑O2O服务商家的声誉值REPk,采用Sim(i,j)spx作为推荐权重,该推荐方法类似于传统的基于用户相似性的协同过滤推荐方法。而将考虑商家声誉的推荐方法称为RCo2o(Recommendation Method for O2O-RCo2o)。然后将这两个方法与以下方法进行对比。
(1)User-based CF,即传统的基于用户偏好相似度计算,然后进行服务推荐的协同过滤方法[152]。
(2)Item-based CF,即传统的基于项目相似度计算,然后进行项目推荐的协同过滤方法[152]。
(3)SPCR,文献[171]提出的基于用户使用服务的行为变化序列,来预测用户的兴趣偏好变化,然后进行服务推荐的混合协同过滤方法。
(4)TACF,根据用户评价的服务数量、评价时间、评价顺序来预测用户的偏好相似性,然后进行服务推荐的协同过滤方法[172]。
因为这4个推荐方法都是基于单个项目或服务进行推荐,所以需要对它们进行改造,使其能够进行O2O服务商家推荐。为了保证这些推荐方法对比时的公平,我们采用公式6-3统一来计算用户对商家的评价。(www.xing528.com)
4.有效性对比
为了保证实验数据的公平有效,我们以电影导演为基本单位,随机取80%的用户评价数据作为训练集,剩下的20%作为测试数据集。
本实验通过观察各个推荐方法的平均绝对误差MAE和均方根误差RMSE来比较这6个方法的评分预测准确性。实验结果如图6-11和图6-12所示。
图6-11 各种推荐方法的MAE值
图6-12 各种推荐方法的RMSE值
从图6-11和图6-12可以得到以下结论分析。
(1)随着近邻用户数量的增多,这6种推荐方法的MAE值和RMSE值都在降低,证明近邻用户越多,这些推荐方法的用户评分预测精度越高。
(2)这6种推荐方法的MAE值和RMSE值相对都较高,这是因为数据源为用户服务评价矩阵,需要从数据源中提取用户对服务的评价并映射到用户对商家的评价中,产生了数据精度损失。
(3)RCo2oSimple推荐方法与Item-based CF、User-based CF相比,性能略优,但比TACF、RCo2o、SPCR三个方法要差。虽然RCo2oSimple方法类似于User-based CF方法,但因为考虑了评论的时间有效性,能够反映电影的O2O服务流行特性,所以性能上要比Item-based CF、User-based CF更加好些。
(4)RCo2o方法比RCo2oSimple方法的效果更好很多,证明了在预测用户对O2O服务商家的评价时,考虑商家声誉是有效的。
(5)SPCR方法的性能最优,RCo2o推荐方法次之,但RCo2o方法比TACF方法效果要好。这可能是由于SPCR方法同时考虑了服务评价数量、评价时间、评价顺序三个因素,更能反映用户的个性化特点,而RCo2o方法却没有考虑这些因素的原因。
5.抗欺诈性能对比
本实验用来对比各个推荐方法在抗恶意欺诈方面的性能。我们通过复制目标用户的服务评价,然后再随机生成一定数量的其他服务的恶意评价来生成恶意用户。这里的恶意评价是指生成与服务质量相反的评价,即对高质量服务进行低分评价,低质量服务进行高分评价。然后根据恶意用户的比例,来验证这6种推荐方法的抗欺诈性能。我们将近邻用户定为30,然后依次将恶意用户的比例从0增加至30%,结果如图6-13和图6-14所示。
图6-13 各种推荐方法在恶意用户干扰下的MAE值
图6-14 各种推荐方法在恶意用户干扰下的RMSE值
从图6-13和图6-14可以得到以下结论分析。
(1)随着恶意用户比例的增加,User-based CF、RCo2oSimple、TACF、RCo2o、SPCR这5种方法的预测精度都受到了相对较大的影响,证明基于用户相似性的推荐方法都会受到恶意用户的干扰。
(2)从运行结果来看,Item-based CF推荐方法的稳定性最好,只受到了非常微弱的干扰。这是因为该推荐方法基于服务的相似性进行推荐,即使存在恶意用户,也不会对服务的相似性产生很大的影响,所以该方法稳定性最好。
(3)RCo2oSimple推荐方法仍旧比User-based CF推荐方法性能略优,但比其他四个方法要差。从SPCR方法抗干扰的趋势来看,如果再增加恶意用户比例,该方法可能会劣于RCo2oSimple方法,这也许是因为该方法着重考虑用户的行为变化序列,与用户的行为过于拟合,因此受到恶意用户的影响很大。
(4)RCo2o方法的抗欺诈性能最优。这是因为即使恶意用户模仿目标用户的评价行为,在推荐商家时,如果商家的声誉不够好,目标用户对商家的评分预测仍然会较低。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。