王 金,张朝恒
(浙江师范大学 数理与信息工程学院,浙江 金华 321000)
近年来,随着通信技术和网络技术的发展,智能移动终端及互联网的数量也越来越多,给人们的生活带来了极大的便利。但是,在当今的大数据时代,人们要想快速从海量数据信息中精准获取满足自身需求的信息资源相对比较困难,信息过载问题日益突出[1],而个性化推荐系统的出现以及在各领域(电子商务、信息检索、位置服务、娱乐旅游等)的成功应用,使得此问题在一定程度上得到有效缓解,对互联网及社会的发展起着重要作用。
然而,在现实生活中,除了针对个体推荐外还有很多针对群体性进行推荐的需求,例如观看电影方面(和家人、同学)、聚餐方面(公司聚餐、同学聚餐)、旅游方面(组团、景点、线路)等。传统的推荐系统主要服务于个体,无法满足对群体用户推荐的需求,随之产生了群组推荐系统。群组推荐不同于个体推荐,因群组由多个用户组成,这些用户的偏好可能相同或相似,也有可能存在一定差异,为此既要获取多个用户的兴趣偏好,还要对兴趣的差异性进行协调统一,以便推荐结果尽可能使群组中每个成员都满意。所以,群组推荐方法和过程相对要复杂很多。
由于群组推荐具有极广的商业应用前景和极大的社会价值,所以越来越受到更多研究人员的关注,如ACM 2011年举办了以家庭群组推荐电影为主题的上下文感知电影推荐挑战赛(CAMRa2011)的推荐系统大会[2]。国外已有很多专家、学者对群组推荐系统的理论、方法、应用等进行了深入研究,然而国内大多侧重于传统推荐系统的研究,对群组推荐系统的研究相对较少,与之形成的中文参考文献更是数量可数。为此,文中对群组推荐系统展开研究与分析。
群组推荐系统是在个性化推荐系统基础上发展而来,是为群体用户推荐其可能感兴趣的信息或项目,满足群体用户的个性化需求。目前,对群组推荐并没有形成统一的定义,文献[3]从共识函数的角度并结合top-K的方法对群组推荐进行了形式化的定义,其过程如下:
首先计算群组预测评分,再计算群组分歧度,最后利用共识函数得到群组的共识分数,如式1:
F(G,i)=w1*Gp(G,i)+w2*(1-Dis(G,i))
(1)
其中,Gp(G,i)表示群组预测评分;Dis(G,i)表示群组成员的分歧度,即组中用户对项目评分的差异程度;w1和w2分别表示群组预测评分和群组分歧度在共识函数中的权重,且有w1+w2=1。
在式1中,项目的群组预测评分越高且分歧度越低,就越能满足大部分群组成员的偏好,推荐效果越好。这种采用共识函数的计算方法只是加权模型中的一般形式,但随着研究的深入,希望群组的预测评分更加准确,更能反映群组成员的实际需求,为此需要将一些社会因素、上下文因素等融入群组预测评分计算模型中,例如文献[4-5],这样使得对群组推荐的形式化描述显得更加复杂抽象。
然而,不是所有的群组推荐系统都可以用上述形式化来定义,因为有些群组推荐系统是根据群组中成员的推荐列表利用社会化选择方法(如群组成员投票机制)聚合形成群组推荐列表,这时采用形式化定义描述群组推荐就不太合适。因此,对群组推荐的定义仍然是一个开放性问题。
目前,群组推荐并没有形成统一的分类标准,这里按推荐环境、群组构成、推荐方法进行分类:
(1)根据群组推荐对象所处环境分为:基于互联网虚拟环境的群组,如在线社区;现实环境中的实体群组,如家庭成员、朋友、旅游团等。
(2)根据群组形成过程及成员可分为:固定群组,如兴趣群、论坛;随机群组,如旅游团。
(3)根据群组推荐中所采用的方法可分为:基于内存的群组推荐、基于模型的群组推荐。
群组推荐的过程和方法相对于个性化推荐而言较为复杂,因推荐对象由单个用户扩展为群组中多个用户。在群组推荐生成过程中,一般采用聚合策略[5-8],根据聚合内容的不同,可分为模型聚合策略(偏好聚合、评分聚合等)和推荐结果聚合策略。
(1)模型聚合策略。
模型聚合策略群组推荐生成过程(如图1所示):首先获取或分析预测群组中每个成员的偏好(评分),其次选择合适的聚合策略得到群组的偏好(模型或评分),最后根据最终的群组偏好(评分)生成推荐。
图1 模型聚合(偏好聚合)群组推荐生成过程
对于模型聚合(偏好聚合)过程,文献[3,5-8]提出了多种方法,常见的有公平策略、均值策略、痛苦避免均值策略、最受尊敬者策略、最小痛苦策略、最开心策略等[9]。其中,均值法假定群组中所有成员间是平等的即赋予相同权值,但是这样的推荐结果不一定让大部分人都满意;最小痛苦法是选取群组中用户评分(评价)最低的作为群组评分,从而形成群组的整体评分列表进行推荐,该种方法虽能确保不把群组中人员比较讨厌的项目推荐给群组用户,但不一定是有效的推荐;而去除最小痛苦均值法是对前两种方法的改进,即设定一个阈值,只有将评分大于阈值的个体评分才计入到均值的求和中,所以阈值的选取直接关系到推荐结果。虽然这三种方法(均值法、最小痛苦法、去除最小痛苦均值法)在群组推荐中用得较多,但是在实际推荐过程中选择哪种聚合方法需视具体情况而定,文献[6-7]对不同情况下运用不同的方法进行了详细分析,并对它们的优劣性进行了比较。
(2)推荐结果聚合策略。
推荐结果的聚合策略就是对个性化推荐列表进行聚合,从而形成群组的推荐列表,如图2所示。与模型聚合策略相比,该方法能够根据群组成员的反馈,动态地调整推荐列表,让更多的群组成员满意。
图2 推荐结果聚合的群组生成过程
对群组推荐研究时,需要通过实验对算法的优劣程度进行评价,那么选择合适的数据集和适当的评价标准对于算法的优劣有着重要的参考意义。因为即使同一种算法,采用不同的数据集以及评价标准,算法的优劣性往往也会有所不同。通过对相关文献的研读和分析,将具有代表性的实验数据及来源进行总结,如表1所示。
表1 群组推荐系统实验数据及来源
从表1可知,群组推荐实验有离线和在线两种;实验数据来源有公开数据集和收集数据两类。
在离线模拟实验时,大部分实验数据均来源于Movie Lens数据集(100K该数据集包含943位用户对1 682部电影的10万条评分数据),因该公开数据集包含数据量大,信息比较充足,所以一直被很多研究推荐系统的学者使用;此外还有一部分研究人员使用自己收集的实验数据进行实验,如文献[4,10],但存在一些不足,如数据集样本较少、不具有代表性,并且还需要花费一定人力物力对数据进行收集和处理等。
对于在线实验,不同群组推荐系统使用的数据也不同,如基于社交网络的群组推荐[5,11],是在Happy Movie平台进行在线实验测试,而文献[12]使用腾讯视频系统中的数据。这主要与群组推荐应用的环境相关,通过真实应用环境获取在线用户的实时反馈,使实验结果更有说服力。
至于实验评价,不同的群组推荐系统关注的侧重点不同,使用的评价标准也不同,如表2所示。
表2 群组推荐系统实验评价标准
常用的评价指标描述如下:
(1)RMSE(root mean square error,均方根误差),用来计算预测值与真实值之间的偏差,其值越低,说明预测值与实际值之间差距越小,即预测准确度越高;反之,预测准确度越低。
(2)
其中,Nt为群组中用户-项目对(i,a)的个数;(i,a)为群组中用户i关注了项目a;via为用户i对项目a的预测评分;ria为用户i对项目a的实际评分。
(2)MAE(mean absolute error,平均绝对误差),用于度量预测评分与测试集中用户真实评分的平均绝对偏差,MAE值越小表示预测越准确。
(3)
其中,N为群组中成员个数;via为组成员的预测分数;ria为组成员的实际评分。
(3)DCG(discounted cumulative gain,折扣累积获得),nDCG(normalized discounted cumulative gain,正则化的折扣累积获得),它们均是用来衡量群组推荐清单排名的策略。
(4)
(5)
其中,ruci表示用户u对推荐列表上第i个位置上项目c的真实评价(评分);max DCG表示DCG的最大值为n个项目在推荐列表中的最优排序。
(1)基于传统协同过滤算法的优化和偏好聚合策略的改进。
协同过滤是个性化推荐中比较经典的算法之一,主要分为基于物品协同过滤和基于用户协同过滤两大类。群组推荐算法的改进很多均以该算法为核心框架并对其优化。例如,文献[13]利用人口统计学信息抽取出用户特征向量,使用K-means聚类算法将具有相似特征的用户形成群组,从而弥补了已有的组推荐系统在建立群组时忽略用户本身属性的缺陷,同时通过采用结合用户兴趣变化的协同过滤方法提高推荐的准确性。文献[14]针对群体用户对项目评分数据极端稀疏的情况,提出一种新的协同过滤方法,先对未评分项目进行评分填充,融合基于项目相似性和基于用户相似性的预测评分作为未被评价项目的最终预测评分。该方法虽提高了预测评分的准确性和有效性,但增加了时间复杂度和空间复杂度。而文献[15]针对传统偏好融合策略中存在的不足,提出基于用户交互行为的群组推荐融合策略,即利用用户间的交互行为获得用户在群组中的权重,通过组内、组间协同过滤获取预测评分,最后加权融合得到群组对项目的最终评分,但其难以自动获取用户交互行为信息,无法实现群组成员的权重实时更新。据此可知:对群组推荐算法的优化大多数是融入被推荐用户、群组相关信息,如用户标签信息、用户间互动度以及信任度等有价值的特性,并结合协同过滤方法(单个或多个组合),从而使得群组对物品的最终预测评分更加准确,但由于需多次对大量数据进行计算处理,这无疑会增加内存开销,降低推荐效率。
(2)将其他领域研究方法应用于群组推荐。
近年来,一些研究人员还尝试将其他领域的一些方法应用于群组推荐研究,如文献[10,16]将符号数据分析(SDA)方法应用于群组推荐,采用“数据打包”等技术,在不丢失信息的条件下从全局上把握样本数据特征,能够在一定程度上缓解因数据稀疏推荐精度降低的问题以及推荐效率随用户、项目数量增多而降低的问题;文献[17]将遗传算法(GA)用于群组推荐,利用GA搜索最优解的特性并结合协同过滤来学习群体偏好从而对子群体的未知评分进行填充,解决了群组推荐中的数据稀疏问题;而文献[18-19]将图论的研究方法应用于群组推荐,其思想是将组中用户、物品以及他们间的关系抽象出来用图表示,进而采用图的分析方法(如RWR随机游走法)进行研究。这种利用研究对象间存在某些共性的特点,采取研究方法应用迁移嫁接的模式,为群组推荐研究提供了一种全新的思路,对群组推荐算法的优化或算法的扩充开拓了新的途径。
(1)基于社交网络的群组推荐研究。
随着社交网站、社交软件的兴起和流行,出现各种网络社区或兴趣群,吸引了大量网络用户的加入,影响和改变着人们的思想及行为。因此,近年来基于社交网络的群组推荐是研究热点。例如,文献[20]针对用户群组定义解释性不强等问题,提出一种基于社交网络社区的组推荐框架;文献[21]结合在线社区的特点,将群体成员之间的差异性和互动性因素融入群体推荐算法中;文献[5,11,22]将合作关系、信任关系(TR)、社会相似度(SS)等社会元素融入群组推荐模型,如ARISE(包含社会元素的推荐架构),并以Happy Movie为应用平台,对算法进行在线环境实验测试。由此可见,在对基于社交网络的群组推荐研究时,需要结合在线社区的特点,将诸如成员的个性特征、成员间合作关系、信任关系、成员的角色权重、成员的社会相似度等社会元素完美融入群组推荐算法中,进而达到很好的群组推荐效果。
(2)基于实际应用的研究。
研究人员不仅对基于网络环境的在线社区群组推荐进行了研究,还对现实具体环境中群组推荐的应用展开了研究。文献[23]针对物联网环境下仅聚合群组成员偏好的传统方法推荐效果不是很好的问题,提出了基于成员组织的组相似策略(组内、组间相似),一定程度上缓解了群组推荐中的冷启动问题;文献[24]通过获取用户偏好档案资料及他们对目的地的特殊要求来构建群组用户模型,然后采用基于内容、基于知识、协同过滤等混合推荐算法,从而为群组用户提供更好的旅游服务;文献[25]介绍了基于个人和群体的信任模型协同过滤应用于文档推荐;而文献[26]总结并详述了群组推荐的应用进展,如新闻群组推荐、餐饮群组推荐、移动群组推荐、音乐/电影群组推荐等。因此,随着研究的深入,群组推荐将会应用于更多领域,更好地服务于生活。但现实中的人群一般都处于特定环境中(社会环境、地理环境等),通常把这些外在环境因素称为“上下文”,因“上下文”因素对推荐精度有着重要影响,所以如何将诸多上下文因素完美融入群组推荐算法中,从而实现更好的推荐效果,这便成为推荐系统的一个研究热点即基于上下文推荐,同时也是研究中的一个难点。
最近,深度学习比较火热,一些研究人员尝试将深度学习的方法应用于群组推荐,这也是未来群组推荐研究的一个热点。
由于群组推荐的复杂性和特殊性,许多针对个体推荐的算法、评价指标并不适用于群组推荐,群组推荐发展过程中面临了一些挑战[9,27],主要如下:
(1)战略层面:考虑群组的整体组成结构对群组推荐的影响,主要体现在群组成员的个体角色、个体权重、兴趣偏好相似性和差异性、互动度以及群的规模大小等。因为群组的决策由所有成员的决策经协商后确定,而不同的角色、权重、兴趣偏好以及不同数量的群组成员个体的决策都会影响群组的决策,所以在设计群组推荐系统时需宏观上分析群组的组成结构。
(2)算法层面:群组推荐算法的设计和方法的选择相对于个性化推荐来说需要考虑的因素更多(社交关系、社会环境、个体的近来经历等),涉及到的知识范围、学科领域更广(社会学、心理学、统计学等)。那么如何将各种影响群组推荐效果的因素完美地融入推荐算法中并形式化地表示出来;另外,算法中如何处理群组成员的偏好评分不一致性、兴趣偏好动态变化等问题。这些对于群组算法的研究设计都是急需解决的问题。
(3)表示层:表现为群组表示、项目表示、群组推荐系统的界面设计、推荐结果的解释显示等。因群组中涉及多个用户,那么如何由获取到的用户信息偏好恰当地表示群组。同样,对于物品的评价形式多样(有用文字描述,有些用数字评分,也有未评价),标准不一,分歧度较大,该如何表示出该群组所需要的项目。另外,推荐系统界面如何设计、推荐结果如何展示能够提高推荐准确率和增加用户满意度等,都还有待深入研究。
(4)评价层面:就是对群组推荐效果的评价,不同群组推荐系统选择不同的评价指标(可参见表2),并没有统一标准,所以对算法的优劣无法比较;另外,即使相同的评价指标对于不同大小群组或者群组内部相似度差异较大的群组来说,效果也不同。故有关推荐系统的评价指标也是一个值得研究的课题,对于群组推荐系统的发展也是一大挑战。
(5)其他方面:推荐结果的解释与隐私保护、数据稀疏性、推荐项目清单的顺序、理论研究与实际应用等问题[9,27]对群组推荐都具有一定的挑战性,需要研究解决。
目前,一些科研机构中的研究人员分别从理论、算法、应用等各个方面对群组推荐系统展开了深入研究,取得了一定成果。但是,国内对群组推荐系统方面的研究相对较少,所形成的中文参考文献更是数量可数。因此,文中从介绍群组推荐系统的概念、类型开始,接着介绍了群组推荐系统的生成推荐过程及策略,总结分析了实验数据来源、评价指标;然后对群组推荐的算法及应用进行了研究与分析;最后尝试对群组推荐系统未来所面临的挑战进行探讨。
参考文献:
[1] 许海玲,吴 潇,李晓东,等.互联网推荐系统比较研究[J].软件学报,2009,20(2):350-362.
[2] SAID A,BERKOVSKY S,DE LUCA E W.Group recommendation in context[C]//Proceedings of the 2nd challenge on context-aware movie recommendation.Chicago,Illinois,USA:ACM,2011:2-4.
[3] 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.
[4] CHANG A,HWANG T K,LI Y M,et al.A contextual group recommender mechanism for location-based service[C]//AMCIS.[s.l.]:[s.n.],2015:1-11.
[5] QUIJANO-SANCHEZ L,RECIO-GARCIA J A,DIAZ-AGUDO B.An architecture and functional description to integrate social behaviour knowledge into group recommender systems[J].Applied Intelligence,2014,40(4):732-748.
[6] PESSEMIER T,DOOMS S,MARTENS L.Comparison of group recommendation algorithms[J].Multimedia Tools and Applications,2014,72(3):2497-2541.
[7] BALTRUNAS L,MAKCINSKAS T,RICCI F.Group recommendations with rank aggregation and collaborative filtering[C]//Proceedings of the fourth ACM conference on recommender systems.Barcelona,Spain:ACM,2010:119-126.
[8] BORATTO L,CARTA S.The rating prediction task in a group recommender system that automatically detects groups:architectures,algorithms,and performance evaluation[J].Journal of Intelligent Information Systems,2015,45(2):221-245.
[9] MASTHOFF J.Group recommender systems:combining individual models[M]//Recommender systems handbook.Berlin:Springer,2011:677-702.
[10] 郭均鹏,高成菊,赵旻昊.一种基于符号数据的群体推荐算法[J].系统工程学报,2015,30(1):127-134.
[12] YANG Chunfeng,ZHOU Yipeng,CHEN Liang,et al.Social-group-based ranking algorithms for cold-start video recommendation[J].International Journal of Data Science & Analytics,2016,1(3-4):165-175.
[13] 胡伟健,陈 俊,李灵芳,等.结合用户特征和兴趣变化的组推荐系统算法研究[J].软件导刊,2016,15(6):60-62.
[14] 朱阿敏,刘业政,韩建妙.基于优化协同过滤与加权平均的群推荐方法[J].计算机工程与应用,2016,52(5):65-70.
[15] 唐福喜,刘克剑,冯 玲,等.基于用户交互行为的群组推荐偏好融合策略[J].西华大学学报:自然科学版,2016,35(3):51-56.
[16] 郭均鹏,宁 静,史志奇.基于区间型符号数据的群组推荐算法研究[J].计算机应用研究,2013,30(1):67-71.
[17] 朱国玮,杨 玲.基于遗传算法的群体推荐系统研究[J].情报学报,2009,28(6):946-951.
[18] FENG Shanshan,CAO Jian,WANG Jie,et al.Group recommendations based on comprehensive latent relationship discovery[C]//IEEE international conference on web services.San Francisco,CA,USA:IEEE,2016:9-16.
[19] KIM H N,SADDIK A E.A stochastic approach to group recommendations in social media systems[J].Information Systems,2015,50:76-93.
[20] 刘 宇,吴 斌,曾雪琳,等.一种基于社交网络社区的组推荐框架[J].电子与信息学报,2016,38(9):2150-2157.
[21] 郭均鹏,赵梦楠.面向在线社区用户的群体推荐算法研究[J].计算机应用研究,2014,31(3):696-699.
[22] CHRISTENSEN I A,SCHIAFFINO S.Social influence in group recommender systems[J].Online Information Review,2014,38(4):524-542.
[23] LEE J S,KO I Y.Service recommendation for user groups in internet of things environments using member organization-based group similarity measures[C]//2016 IEEE international conference on web services.San Francisco,CA:IEEE,2016:276-283.
[24] PESSEMIER T D,DHONDT J,MARTENS L.Hybrid group recommendations for a travel service[J].Multimedia Tools & Applications,2016,76(2):1-25.
[25] LAI C H,LIU D R,LIN C S.Novel personal and group-based trust models in collaborative filtering for document recommendation[J].Information Sciences,2013,239(1):31-49.
[26] 张玉洁,杜雨露,孟祥武.组推荐系统及其应用研究[J].计算机学报,2016,39(4):745-764.
[27] CANTADOR I,CASTELLSP.Group recommender systems:new perspectives in the social web[J].Intelligent Systems Reference Library,2012,32:139-157.