APP下载

基于偏好融合的群组推荐研究

2019-05-30汪祥舜郑孝遥朱德义章玥孙丽萍

南京信息工程大学学报 2019年5期
关键词:推荐系统协同过滤数据挖掘

汪祥舜 郑孝遥 朱德义 章玥 孙丽萍

摘要 传统的推荐系统主要针对单个用户,但随着社会和电子商务的快速发展,人们越来越多地以多个用户的形式一起参与活动,而群组推荐旨在为多个用户组成的群组提供服务,已成为当前研究的热点之一.针对目前群组推荐准确率低,群组成员之间偏好冲突难以融合的问题,本文提出了一种新的共识模型策略,融合了群组领袖影响因子和项目热度影响因子,基于K近邻为目标群组寻找邻居群组,借鉴邻居群组的偏好,设计了基于偏好融合的群组推荐算法.在MovieLens数据集上的实验结果表明,本文所提的融合策略较传统的偏好融合策略有着更优越的表现,推荐准确率(nDCG)的总体平均性能约提高13%,推荐列表多样性指标的总体平均性能约提高10%.

关键词 群组推荐;推荐系统;偏好融合;协同过滤;数据挖掘;偏好预测

中图分类号 TP311

文献标志码 A

0 引言

随着社会和经济的飞速发展,尤其是近年互联网的广泛应用,人类进入了大数据时代.面对纷繁复杂的商品信息,仅依靠搜索引擎很难准确获得满足自身需求和个性化的信息资源,用户往往难以发现最需要或最适合的项目,越来越多的在线服务不可避免地受到“信息过载”问题的困扰,这使得用户难以发现他们所需要的信息,推荐系统为解决这一问题应运而生.

传统的推荐系统,如上下文感知推荐系统、移动推荐系统、实时推荐系统等,都是向单个用户提供个性化推荐,但是随着社会的发展和人们联系的紧密,人们经常以多个用户所组成的群组形式参与某项活动,例如人们会组团出去度假、进餐、看电影等,因此进行群组推荐的研究有着十分重要的意义.群组推荐已经成为近些年来推荐系统领域一个研究热点.

群组推荐系统得到了国内外研究人员和开发工作者的广泛重视.文献[1-2]结合模型融合和推荐融合的优点,提出了一种改进的偏好融合方法,提高了组推荐的整体推荐性能.Yuan等[3]提出了一个称为COM的共识模型,考虑用户在群组中的行为变化,依赖于主题的影响和内容信息,有效地提高了组推荐的准确率.Tang等[4]提出了一种基于用户交互行为的偏好融合策略,但该策略未考虑群组内已消费项目的影响因素.Sabrine等[5]用基于用户的协同过滤算法为群组成员生成推荐列表,用Borda规则来生成群组推荐,但是该方法的融合策略过于简单,导致推荐准确率相对较低.

群组推荐系统与很多领域(如数据挖掘、机器学习等)都有着紧密的联系.Chen等[6]将遗算法应用于组推荐中,用来预测群组成员之间存在的相互作用,提高了群组成员的满意度.文献[7-10]将数据挖掘的很多方法与组推荐相结合,提升了群组推荐系统在多方面的作用效益.机器学习和深度学习的很多理论和方法也被广泛应用到组推荐系统[11-14]中,Wang等[15]提出了一种用于组推荐的双向张量分解模型,采用贝叶斯个性化排序技术来学习所提出的BTF-GR模型的参数.群组内的成员之间包含丰富的行为作用信息,挖掘用户之间的相互作用规律可大幅度提高推荐质量,文献[16-17]通过用户之间的信任关系和社交信息来提高组推荐的准确率.尽管国内外研究在群组推荐领域做出了很多有益的探索,但是现有方法的偏好融合策略都相对较简单,群组成员之间的分歧度较高,推荐准确率仍有待提高.因此本文针对群组偏好建模问题,提出一种新的共识模型策略,融合群组领袖影响因子和项目热度影响因子,并基于K近邻设计了一种新的基于偏好融合的群组推荐算法,实验表明,本文提出的改进算法效能较传统的策略推荐性能有着更优越的表现.

1 相关工作

1.1 群组推荐系统的形式化定义

到目前为止,群组推荐系统仍没有统一的定义形式.文献[18-19]详细阐述了群组推荐的语义和效率,并提出了一种使用共识分数的方法来定义群组推荐系统,该定义主要由共识函数和分歧度组成,具体的形式化定义如下:

1)群组预测评级.群组G对项目i的预測评级RG(G,i)是对每个群组成员的预测评级的融合结果.使用的融合策略不一样,得到的群组的预测评级也不一样,如均值策略的群组预测分数的计算公式为

2)群组分歧度.群组G对项目i的分歧,表示为dis(G,i),反映了群组成员之间预测评级的分歧程度.文献[1-2]考虑了以下两种主要的计算分歧度的方法:

1.2 群组推荐偏好融合策略

群组推荐系统有多种不同的偏好融合策略,文献[20]对常见的融合策略做了详细阐述.到目前为止,在群组推荐系统的研究中,常用的策略有最小痛苦策略、均值策略和最开心策略.具体定义如下:

1)最小痛苦策略(Least Misery Strategy,LM):以群组成员最低的个人评级作为该群组的评级.设RGi,j表示群组Gi对项目j的评分,RUl,j为群组中成员ul对项目j的评分,则可用下述式(5)表示:

2)均值策略(Average Strategy,AVG):以群组成员的评级的平均值作为该群组的评级.若用avg表示求平均值运算,则可用下述式(6)表示:

3)最开心策略(Most Pleasure Strategy,MP):以群组成员最高的个人评级作为该群组的评级.若用max表示求最大值运算,则可用下述式(7)表示:

2 问题定义和模型构建

2.1 相关定义

为了更好的描述本文对群组推荐系统所做的研究,将本文所做的研究工作定义如下:

定义1 群组领袖:一个群组由多个用户组成,群组内的成员各有差异,消费的项目及其数量各不相同,对推荐的决策产生的影响也有所不同.因此,本文根据群组成员的作用大小为其分配不同的权重,将群组内对推荐决策起到关键作用的用户定义为该组的群组领袖.群组领袖可以是一个,也可以是多个,群组领袖的排名按照影响大小逐步递减的次序依次确定.群组领袖往往是该群组内活跃度最大、消费项目数量最多的用户.

定义2 群组领袖影响因子:为了精确衡量群组内成员作用程度的大小,本文定义群组领袖影响因子为αi.设用户ui消费的项目总数记为Ni,项目种类数为Ci,群组G消费的项目总数和种类数分别为NG和CG,则αi定义如下:

定义3 热度项目:推荐系统更倾向于向用户推荐消费次数多的项目,项目被消费的次数越多,在一定程度上表明其受欢迎的程度越高.本文定义消费数量排名靠前的k个项目为热度项目.

定义4 项目热度影响因子:为了量化项目热度的高低,本文定义项目热度影响因子为βj,设m为消费该项目的用户个数,M为群组G内的用户总数,则βj定义如下:

定义5 邻居群组:群组之间也具有相似性,例如学生群组、球迷群组、旅游群组等,群组之间彼此都有着紧密的联系或相同的兴趣爱好等.相似的群组在很大程度上会有着相同的偏好,可以根据相似群组的偏好为目标群组提供推荐参考,本文将这样相似的群组定义为邻居群组.邻居群组的寻找,可首先计算该群组与目标群组之间的相似度,根据群组之间相似度的大小为其合理归类到相应的目标群组.一个目标群组可找到多个邻居群组,这些邻居群组可构成一个邻居群组集合.

2.2 共识模型

为进一步提高群组推荐的准确率,本文融合了群组领袖影响因子和项目热度影响因子,为目标群组寻找近邻组,并借鉴邻居群组的偏好.本文用F(Gi,Ij)表示群组Gi对项目j的预测评分,αi表示群组领袖影响因子,βj表示项目热度影响因子,I表示群组的项目集,j表示需要预测的项目,RCF(ui,Ij)表示单个用户之间协同过滤产生的预测评级,RNG(Gi,Ij)表示基于群组间的K近邻推荐产生的预测评级,则本文的共识模型定义如下:

3 算法设计与分析

本文的算法在训练集上对共识模型进行训练,在测试集上验证推荐结果,本文算法的主要思想流程如图1所示.

3.1 划分群组

为了确定两个用户之间的关联程度,可以通过计算两个用户之间相似度的方法度量两个用户之间的亲密程度.设u和v表示任意两个用户,u和v分别为由用户u和用户v评分信息所组成的评分向量,用scos(u,v)表示两个用户之间的余弦相似度,则计算式为

为合理划分群组,本文首先通过计算任意2个用户之间的余弦相似度,将相似度高的用户构造成一个群组,并且总是优先选择有相同或相似偏好的用户加入该群组,以减少群组成员之间的分歧度.

3.2 基于偏好融合的K近邻组推荐

基于偏好融合的K近邻(K Nearest Nighborhood,KNN)组推荐,其基本思想是根据邻居群组的偏好为目标群组提供推荐,如图2所示.设Group-m为需要推荐的目标群组,Group-n和Group-s是和目标群组相似的2个群组,可借鉴近邻组的偏好,为目标群组生成Top-k推荐列表.

基于偏好融合的K近邻组推荐,首先计算任意2个群组之间的相似度,然后挑选合适的邻居,最后完成推荐过程.挑选合理的邻居集合规模是基于K近邻推荐最重要的一步.

3.2.1 领域的选择

领域数量和选择领域的规则会对推荐结果产生重要的影响,传统基于K近邻的推荐可用如图3左图所示.在选定目标群组以后,首先选定K个邻居,然后根据欧式距离或者计算2个群组之间的相似度来挑选邻居,然而由于K的值是人为事先选定,如果挑选的不合理,加入了关联程度较差的群组,这样反而会大大降低推荐的精度.例如图3左图所示,若事先选定6个邻居,从图中可以看出,群组G8和目标群组G1的距离较远,并不适合挑选出来作为目标群组G1的邻居,如果把G8挑选出来当做邻居反而降低了推荐的准确度,此时的推荐质量不如挑选G2、G3、G5、G7、G9这5个邻居更合适.

与选择固定数量的邻居数目的做法不同,本文首先设定一个阈值过滤,保留相似度权重数大于设定阈值的近邻,在算法执行时,过滤掉相似度低的群组,如下方右图所示,阈值的过滤效果相当于在目标群组G1的周边画了一个圆,可以合理舍弃掉周边相似度低的离散的点,这样便可以去掉G8这个偏离中心的点.

阈值的合理选取会影响预测的精度,如果阈值设置过高,会降低可供选择的近邻的数量,这会降低很多群组的覆盖率;相反,如果阈值设置太低,邻居数量会很多,如果邻居群组中有很多关联度低的群组,也会对推荐结果产生消极的影响.当所需要的邻居数量较少的时候,2种方法产生的结果几乎一致,但当可供挑的邻居数量较多时,第二种方案对推荐结果更能起到更好的作用.

3.2.2 算法实现

基于偏好融合的K近邻组推荐算法,首先需要确定相似的邻居群组集,本文首先采用Pearson相关系数来计算2个群组之间的相似度,用sPearson(G,G′)表示群组G和群组G′之间的Pearson相似度,计算式如下:

在确定好近邻组的集合以后,對于N个最相似的邻居群组,设RG,i值表示群组G后对项目i的预测评分,则目标群组G对项目i的预测评分可用下式表示:

具体的算法描述如下所示.

算法1 基于偏好融合的K近邻群组推荐算法

输入:需要预测的群组编号id和项目编号id

输出:该群组对该项目的预测评分

1.divide Groups

2.calculate GroupJaccardSim

3.while(Current Nearest Neighbor Groups!=required Neighbor Groups) do

4.for each k in GroupNum∥k表示计数器

5. if (k!=G&&GroupJaccardSim>max) then

∥G为群组id,max用来临时保存GroupJaccardSim所得的最大值

6. for each j< Current NearestNeighborGroups

7.if(k==flaG[j]) then

∥flaG[]表示已存在的与群组G相似度最大的群组id的数组

8.Break;

9. end if

10. if(j==Current Nearest Neighbor Groups)

11. max←GroupJaccardSim;

12. flaG[i2]←k

13.end if

14. end for

15.end if

16. end for

17. utill find required K Neighbor Groups

18.end while

19.caculate GroupPearsonSim

20.return G on Item i Predicted Rating Based on KNN Groups

4 实验结果与分析

4.1 数据集和实验设置

本文实验采用的是MoviesLens 100K数据集,MovieLens数据集是由明尼苏达大学的GroupLens研究项目收集,该数据集包括943名用户对1 682部电影的100 000点评分,评分范围是1~5分,评分越大表示用户越喜欢该电影,其中每位用户至少点评了20部电影.该数据集被广泛应用于推荐系统相关的实验或科研项目中.为了有效对推荐结果和算法进行衡量,本文将MoviesLens数据集随机选择80%作为训练集,剩余20%作为测试集,算法在训练集中进行测试,然后将推荐结果与测试集中的数据进行验证,对比分析论证实验结果.

4.2 评价指标

1)归一化折损累计增益

归一化折损累计增益指标(normalized Discounted Cumulative Gain,nDCG)是基于排序的评价方法,是衡量组推荐准确率的一种重要指标.本文使用nDCG来作为推荐准确率的评价标准.由于群组推荐列表是由群组内成员若干偏好得到,要反应该群组成员对推荐结果的满意程度,可对比验证测试集中的数据,度量预测的排序与实际排序的准确程度.

设p1,p2,…,pk为算法产生的有序推荐结果列表,u表示某一个用户,rupi表示用户u对项目pi的真实评分,i为列表中的位置.DCG(Discounted Cumulative Gain)的计算公式为

其中,GuIDC,k 表示用户u的最大DCG值,可根据用户真实评分高低,将k个项目按照最理想情况进行排序计算出IDCG的值.nDCG等于真實DCG值与IDCG的商,nDCG的数值越大,表明推荐准确率越高.本文的nDCG是群组成员的平均nDCG值.

2)多样性

推荐项目的多样性是衡量组推荐系统的推荐性能高低的一个重要评价指标,本文用Divers衡量推荐项目的多样性.首先采用Jaccard相关系数来计算两个项目之间的相似度,然后按照公式(17)计算推荐列表项目的多样性.

计算两个项目之间的Jaccard相似度用下式表示:

推荐列表多样性Divers可用下式计算:

其中sJac(Ii,Ij)表示项目i和项目j之间的Jaccard相关系数,k表示推荐列表的项目的个数.Divers的数值越大,表明推荐结果的多样性越高.

3)均方根误差

均方根误差被广泛应用于推荐系统的实验评估指标,可衡量预测结果的精确度,本文所用的群组推荐的均方根误差公式RMSE如下:

设RG,i表示群组G对项目i的预测评分,G,i表示群组G对项目i的真实评分,T表示群组G中的参与预测的项目个数,IRMSE的值越小表明推荐的准确度越高.

4.3 敏感性分析

4.3.1 参数权重对推荐性能的影响

为达到最佳的推荐效果,选取最佳的参数,通过实验对参数a和b进行灵敏度分析.

从图4中可以看出,当a=0.6,b=0.4时,RMSE取得最小值,此时推荐准确度最好,这也从侧面说明在推荐过程中起决定性因素的是群组内的用户偏好.

4.3.2 近邻组个数对推荐精度的影响

本文在MoiveLens数据集上,改变近邻组的个数,采用本文所提的共识模型,完成对预测精度的测试实验,实验结果如图5所示.

从实验结果可以看出:预测的准确度受近邻组数量的影响,RMSE随着近邻组的数量的增加总体呈下降的趋势,当近邻组达到一定的数量的时候,RMSE的值开始上下波动、维持动态平衡.实验结果表明预测的精度随着近邻组的个数的增加总体呈上升的趋势;当近邻组的个数比较少的时候,预测的准确度不是很高;当近邻组达到一定数量的时候,我们会发现预测的精确度总体趋势几乎保持不变.我们更换不同的群组,多次进行重复实验,发现当近邻组的个数在9左右的时候,群组推荐的预测准确度受近邻组的个数敏感较小,预测的准确度可稳定在一定的范围内.实验发现并不是近邻组越多,预测的准确度就越高,而是到达一定数量的时候,预测的准确度基本维持不变.

4.4 实验结果

在本节中我们改变群组规模来验证本文所提共识模型的推荐准确率和推荐列表多样性.

1)推荐准确率

实验结果如下图所示,其中横轴表示群组规模,群组规模为5表示该群组成员的个数为5,依次类推;纵轴表示nDCG.GROUP-CF表示群组间协同过滤算法策略;PROPOSED表示本文所提的共识模型策略.从图6中可以看出,在相同的群组规模下,本文所提的模型策略在推荐准确率上有所提高;当群组规模为15和25时,本文所提共识模型有更着较为优良的表现;实验也表明在其他的分组规模下,本文所提的融合模型策略也明显优于另外常见的4种策略,在推荐准确率上总体的平均性能约提高13%.

2)推荐项目的多样性

实验结果如图7所示,其中纵轴Divers表示群组推荐项目的多样性.实验结果表明,当群组成员的个数较少的时候,推荐列表的多样性相对较低;随着群组成员个数的增加,群组推荐列表的多样性有一定的增加.同时实验结果也验证了本文所提的共识模型的多样性优于前4种融合策略,本文所提的共识模型在多样性指标上总体平均性能上约提高10%.

5 总结和展望

现有的大多数推荐系统主要是针对单个用户进行推荐,随着人们联系的紧密和社会的发展,群组推荐已成为研究热点.如何为群组提供精准的推荐仍然是一个开放性的問题,也是一个挑战.群组推荐系统研究的难点在于是找出一个合理的偏好融合策略,尽可能的降低群组成员的之间的分歧度,使推荐结果能够满足群组内大多数成员的偏好.本文提出了一种新的共识模型,提出了群组领袖影响因子和项目热度影响因子等概念,融合群组内和群组间的多种因素,提高了群组推荐的准确率;并设计了基于偏好融合的K近邻群组推荐算法,为目标群组寻找邻居群组,并借鉴邻居群组的偏好,在MoviesLens数据集上也验证了本文所提的共识模型的优越性,相较几种常见的偏好融合策略,本文所提的共识模型策略在推荐准确率nDCG上总体的平均性能约提高13%,在多样性上总体的平均性能约提高10%.接下来的工作拟打算从群组成员之间的信任关系和社交关系等展开进一步的研究.

参考文献References

[1] 张玉洁,杜雨露,孟祥武.组推荐系统及其应用研究[J].计算机学报,2016,39(4):745-764

ZHANG Yujie,DU Yulu,MENG Xiangwu.Research on group recommender systems and their applications[J].Chinese Journal of Computers,2016,39(4):745-764

[2] 胡川,孟祥武,张玉洁,等.一种改进的偏好融合组推荐方法[J].软件学报,2018,29(10):3164-3183

HU Chuan,MENG Xiangwu,ZHANG Yujie,et al.Enhanced group recommendation method based on preference aggregation[J].Journal of Software,2018,29(10):3164-3183

[3] Yuan Q,Cong G,Lin C Y.COM:a generative model for group recommendation[C]∥ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,2014:163-172

[4] Tang F,Liu K,Feng L,et al.Research on the integration strategy of group recommendation based on user's interactive behaviors[C]∥2016 IEEE International Conference on Cloud Computing and Big Data Analysis,2016:367-372

[5] Abdrabbah S B,Ayadi M,Ayachi R,et al.Aggregating top-K lists in group recommendation using Borda rule[M]∥Advances in Artificial Intelligence:From Theory to Practice.Cham:Springer International Publishing,2017:325-334

[6] Chen Y L,Cheng L C,Chuang C N.A group recommendation system with consideration of interactions among group members[J].Expert Systems with Applications,2008,34(3):2082-2090

[7] Guo Z W,Tang C W,Tang H,et al.A novel group recommendation mechanism from the perspective of preference distribution[J].IEEE Access,2018,6:5865-5878

[8] Seo Y D,Kim Y G,Lee E,et al.An enhanced aggregation method considering deviations for a group recommendation[J].Expert Systems with Applications,2018,93:299-312

[9] Feng S S,Cao J,Wang J,et al.Group recommendations based on comprehensive latent relationship discovery[C]∥2016 IEEE International Conference on Web Services,2016:9-16

[10] Boratto L,Carta S,Fenu G,et al.Influence of rating prediction on group recommendation's accuracy[J].IEEE Intelligent Systems,2016,31(6):22-27

[11] Guo Z W,Zeng W R,Wang H,et al.An enhanced group recommender system by exploiting preference relation[J].IEEE Access,2019,7:24852-24864

[12] Yin H,Wang Q,Zheng K,et al.Social influence-based group representation learning for group recommendation[C]∥2019 IEEE 35th International Conference on Data Engineering,2019:566-577

[13] Du Y L,Meng X W,Zhang Y J.CVTM:a content-venue-aware topic model for group event recommendation[J].IEEE Transactions on Knowledge and Data Engineering,2019.DOI:10.1109/TKDE.2019.2904066

[14] Zhang W,Wang J,Feng W.Combining latent factor model with location features for event-based group recommendation[C]∥ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,2013:910-918

[15] Wang J K,Jiang Y C,Sun J S,et al.Group recommendation based on a bidirectional tensor factorization model[J].World Wide Web,2018,21(4):961-984

[16] Guo C,Tian X M.Flickr group recommendation using content interest and social information[C]∥Proceedings 2014 IEEE International Conference on Security,Pattern Analysis,and Cybernetics,2014:405-410

[17] Santos E B,Manzato M G,Goularte R.A conceptual architecture with trust consensus to enhance group recommendations[C]∥2014 IEEE/ACIS 13th International Conference on Computer and Information Science,2014:137-142

[18] Amer-Yahia S,Roy S B,Chawlat A,et al.Group recommendation:semantics and efficiency[J].Proceedings of the VLDB Endowment,2009,2(1):754-765

[19] Roy S B,Amer-Yahia S,Chawla A,et al.Space efficiency in group recommendation[J].The VLDB Journal,2010,19(6):877-900

[20] Masthoff J.Group modeling:selecting a sequence of television items to suit a group of viewers[J].User Modeling and User-Adapted Interaction,2004,14(1):37-85

猜你喜欢

推荐系统协同过滤数据挖掘
探讨人工智能与数据挖掘发展趋势
基于并行计算的大数据挖掘在电网中的应用
基于用户偏好的信任网络随机游走推荐模型
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
基于个性化的协同过滤图书推荐算法研究
个性化推荐系统关键算法探讨
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述
浅谈Mahout在个性化推荐系统中的应用