第13卷第6期 智能系统学报 Vol.13 No.6 2018年12月 CAAI Transactions on Intelligent Systems Dec.2018 D0:10.11992/tis.201802011 网络出版地址:http:/kns.cnki.net/kcms/detail/23.1538.TP.20180416.1325.008.html 融合协同过滤与用户偏好的旅游组推荐方法 陈君同,古天龙,常亮,宾辰忠,梁聪 (桂林电子科技大学广西可信软件重点实验室,广西桂林541004) 摘要:近年来,组推荐系统已经逐渐成为旅游推荐领域的研究热点之一。传统的推荐系统面临的数据稀疏性 问题在组推荐系统中同样存在。基于评分的推荐系统中,可以把组推荐系统分为对单个用户的偏好预测和对 组内成员预测结果的融合两个阶段。为提高推荐的效果,提出了一种融合协同过滤与用户偏好的旅游组推荐 方法,它考虑了用户的预测评分和组推荐结果的准确性。在协同过滤中通过加人相似性影响因子和关联性因 子进行预测评分,然后在均值策略和最小痛苦策略的基础上,提出了满意度平衡策略,该策略考虑了组内成员 的局部满意度和整体满意度。实验表明,所提出的方法提高了推荐的准确率。 关键词:组推荐:旅游推荐:数据稀疏性:协同过滤:用户偏好:均值策略:最小痛苦策略 中图分类号:TP391文献标志码:A文章编号:1673-4785(2018)06-0999-07 中文引用格式:陈君同,古天龙,常亮,等.融合协同过滤与用户偏好的旅游组推荐方法J.智能系统学报,2018,13(6): 999-1005. 英文引用格式:CHEN Juntong,GU Tianlong,CHANG Liang,etal.A tourist group recommendation method combining collabor- ative filtering and user preferences[Jl.CAAI transactions on intelligent systems,2018,13(6):999-1005. A tourist group recommendation method combining collaborative filtering and user preferences CHEN Juntong,GU Tianlong,CHANG Liang,BIN Chenzhong,LIANG Cong (Guangxi Key Laboratory of Trusted Software,Guilin University of Electronic Technology,Guilin 541004,China) Abstract:In recent years,the group recommendation system has gained much attention in the field of tourism recom- mendation.The problem of data sparsity faced by the traditional recommendation system also exists in the group recom- mendation system.In the scoring-based recommendation system,the group recommendation system can be divided into two stages:preference prediction for individual users and aggregation of the forecast results of group members.To im- prove the effect of recommendation,a tourist group recommendation approach is proposed that incorporates collaborat- ive filtering and users'preferences.It considers the accuracy of user's predictive scores and the group recommendation result.In the collaborative filtering,the predictive score is calculated by adding the similarity impact factor and the rel- evancy factor.Based on the average strategy and the least misery strategy,a satisfaction balance strategy is proposed, which considers both of the partial satisfaction and whole satisfaction of the group members.A series of conducted ex- periments show that the proposed method yields more accurate recommendations. Keywords:group recommendation;tourism recommendation;data sparsity;collaborative filtering;user's preference; average strategy;least misery strategy 随着信息技术和互联网的发展,网络正成为 息匮乏的时代走入了大数据的时代,在海量数据 人们规划旅游的重要信息来源"。人们逐渐从信 的背景下,如何快速找到对用户最有价值的信 收稿日期:2018-02-07.网络出版日期:2018-04-16. 息,显得越来越重要,推荐系统便应运而生。 基金项目:国家自然科学基金项目(61572146,U1501252,U1711263头 以往的推荐系统主要关注于单个用户,在电 广西创新驱动重大专项项目(AA17202024):广西自 然科学基金项目(2016 GXNSFDA380006). 视节目)、音乐、电影、新闻等方面取得了很好的 通信作者:宾辰忠.E-mail:binchenzhong@guet.edu.cn.. 效果,但是对于旅游领域还没有给出完善的推荐
DOI: 10.11992/tis.201802011 网络出版地址: http://kns.cnki.net/kcms/detail/23.1538.TP.20180416.1325.008.html 融合协同过滤与用户偏好的旅游组推荐方法 陈君同,古天龙,常亮,宾辰忠,梁聪 (桂林电子科技大学 广西可信软件重点实验室,广西 桂林 541004) 摘 要:近年来,组推荐系统已经逐渐成为旅游推荐领域的研究热点之一。传统的推荐系统面临的数据稀疏性 问题在组推荐系统中同样存在。基于评分的推荐系统中,可以把组推荐系统分为对单个用户的偏好预测和对 组内成员预测结果的融合两个阶段。为提高推荐的效果,提出了一种融合协同过滤与用户偏好的旅游组推荐 方法,它考虑了用户的预测评分和组推荐结果的准确性。在协同过滤中通过加入相似性影响因子和关联性因 子进行预测评分,然后在均值策略和最小痛苦策略的基础上,提出了满意度平衡策略,该策略考虑了组内成员 的局部满意度和整体满意度。实验表明,所提出的方法提高了推荐的准确率。 关键词:组推荐;旅游推荐;数据稀疏性;协同过滤;用户偏好;均值策略;最小痛苦策略 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2018)06−0999−07 中文引用格式:陈君同, 古天龙, 常亮, 等. 融合协同过滤与用户偏好的旅游组推荐方法[J]. 智能系统学报, 2018, 13(6): 999–1005. 英文引用格式:CHEN Juntong, GU Tianlong, CHANG Liang, et al. A tourist group recommendation method combining collaborative filtering and user preferences[J]. CAAI transactions on intelligent systems, 2018, 13(6): 999–1005. A tourist group recommendation method combining collaborative filtering and user preferences CHEN Juntong,GU Tianlong,CHANG Liang,BIN Chenzhong,LIANG Cong (Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin 541004, China) Abstract: In recent years, the group recommendation system has gained much attention in the field of tourism recommendation. The problem of data sparsity faced by the traditional recommendation system also exists in the group recommendation system. In the scoring-based recommendation system, the group recommendation system can be divided into two stages: preference prediction for individual users and aggregation of the forecast results of group members. To improve the effect of recommendation, a tourist group recommendation approach is proposed that incorporates collaborative filtering and users’ preferences. It considers the accuracy of user’s predictive scores and the group recommendation result. In the collaborative filtering, the predictive score is calculated by adding the similarity impact factor and the relevancy factor. Based on the average strategy and the least misery strategy, a satisfaction balance strategy is proposed, which considers both of the partial satisfaction and whole satisfaction of the group members. A series of conducted experiments show that the proposed method yields more accurate recommendations. Keywords: group recommendation; tourism recommendation; data sparsity; collaborative filtering; user’s preference; average strategy; least misery strategy 随着信息技术和互联网的发展,网络正成为 人们规划旅游的重要信息来源[1]。人们逐渐从信 息匮乏的时代走入了大数据的时代,在海量数据 的背景下,如何快速找到对用户最有价值的信 息,显得越来越重要,推荐系统便应运而生[2]。 以往的推荐系统主要关注于单个用户,在电 视节目[3] 、音乐、电影、新闻等方面取得了很好的 效果,但是对于旅游领域还没有给出完善的推荐 收稿日期:2018−02−07. 网络出版日期:2018−04−16. 基金项目:国家自然科学基金项目 (61572146,U1501252,U1711263); 广西创新驱动重大专项项目 (AA17202024);广西自 然科学基金项目 (2016GXNSFDA380006). 通信作者:宾辰忠. E-mail:binchenzhong@guet.edu.cn. 第 13 卷第 6 期 智 能 系 统 学 报 Vol.13 No.6 2018 年 12 月 CAAI Transactions on Intelligent Systems Dec. 2018
·1000· 智能系统学报 第13卷 方案。首先,和电影的数据相比,旅游评分的数 策略以及痛苦避免均值策略较好。文献[7]通过 据难以获得:其次,用户的评分矩阵比较稀疏:最 对组推荐系统的文献研究分析,发现使用最普遍 后,旅游通常是多个用户以群组的形式参与的, 的策略有均值策略、痛苦避免均值策略及最小痛 因此,结合所有成员偏好的组推荐系统将成为旅 苦策略,但这些策略对于不同特征的群组适用性 游推荐领域的一个研究热点可。基于协同过滤的 也不尽相同。 组推荐系统中,在对单个用户的预测阶段,使用 传统的协同过滤算法计算用户(项目)之间的相 2基于协同过滤的组推荐 似度时,没有考虑用户共同评分的项目数和评分 关联程度对相似性造成的影响,例如,两个兴趣 协同过滤算法作为一种基本的方法常常被应 差别较大的游客,可能同时感兴趣的景点比较 用于组推荐系统中。基于协同过滤的组推荐包 少,当用户的共同评分比较少时,传统的协同过 括4个阶段:相似性度量、选择邻居、预测评分、 滤算法便无法准确地度量用户之间相似性:在 确定推荐项目。 群组成员预测结果的融合阶段,效果比较好的偏 首先通过评分矩阵中用户的评分计算两两用 好融合策略中有均值策略和最小痛苦策略m,均 户(项目)的相似度,然后根据K近邻的方法预测 值策略把成员对项目的平均评分作为群组的得 当前用户对未知项目的评分,最后通过融合策略 分,然而没有考虑少数成员的不满意度,最小痛 结合所有组内成员的偏好生成组推荐列表。 苦策略选择成员对项目最小的评分作为群组的得 图1为本文中用到的基于协同过滤的组推荐整体 分,却忽略了多数成员的偏好。 框架。 本文在组推荐过程中,首先改进了协同过滤 算法,它结合相似性影响因子和关联性因子,以 解决旅游推荐中面临的数据稀疏性问题;其次在 组偏好建模阶段,提出了一种新的融合策略 相似度 一满意度平衡策略,它同时考虑了组内成员的 局部满意度和整体满意度;最后,通过在旅游数 协 据集上的实验分析,验证了所改进的方法能够有 效地提高推荐的质量。 融合策略 组推荐 1相关工作 似度 1.1协同过滤算法 协同过滤算法是电子商务推荐领域中一种最 为成功的推荐算法。它不需要用户主动提供个 人需求信息,而是根据他们已有的评分记录,获 度 得用户的潜在偏好。这种推荐算法能否取得良好 相似度度量选择邻居预测评分确定推荐项目 的效果,很大程度上取决于用户的评分数据。 图1基于协同过滤的组推荐整体框架 1.2组推荐关键技术 Fig.1 The whole framework of group recommendation 组推荐关键技术包括融合方法和融合策略。 based on collaborative filtering 融合方法分为模型融合和推荐融合。模型融合根 其中,协同过滤算法可以分为基于用户的最 据群组成员的用户偏好模型融合成群组偏好模 近邻推荐(user-based nearest neighbor recommenda- 型,然后基于群组偏好模型生成组推荐;推荐融 tion)和基于项目的最近邻推荐(item-based nearest 合先根据传统算法获得每个用户的预测评分后, neighbor recommendation). 再根据预测评分进行融合,也可以融合推荐项目 2.1基于用户的最近邻推荐 列表得到群组的推荐列表6,刀。两种融合方法各有 基于用户的最近邻推荐假设当前用户会喜欢 自己的不足:模型融合易受到评分稀疏性的影 与之有相似偏好的用户喜欢的项目。目前比较常 响,推荐融合忽略了群组成员之间的交互。 用的相似度计算方法有余弦相似度(cosine simil-- 组推荐系统中常用的融合策略有均值策略、 arity)、皮尔森相关相似度(Pearson correlation coef- 最小痛苦策略、最开心策略。文献[10]通过一系 ficient))等2l1。本文主要选用相似度定义如式 列实验评估,指出乘法策略、均值策略、最小痛苦 (1)所示
方案[4]。首先,和电影的数据相比,旅游评分的数 据难以获得;其次,用户的评分矩阵比较稀疏;最 后,旅游通常是多个用户以群组的形式参与的, 因此,结合所有成员偏好的组推荐系统将成为旅 游推荐领域的一个研究热点[5]。基于协同过滤的 组推荐系统中,在对单个用户的预测阶段,使用 传统的协同过滤算法计算用户 (项目) 之间的相 似度时,没有考虑用户共同评分的项目数和评分 关联程度对相似性造成的影响,例如,两个兴趣 差别较大的游客,可能同时感兴趣的景点比较 少,当用户的共同评分比较少时,传统的协同过 滤算法便无法准确地度量用户之间相似性[6] ;在 群组成员预测结果的融合阶段,效果比较好的偏 好融合策略中有均值策略和最小痛苦策略[7] ,均 值策略把成员对项目的平均评分作为群组的得 分,然而没有考虑少数成员的不满意度,最小痛 苦策略选择成员对项目最小的评分作为群组的得 分,却忽略了多数成员的偏好。 本文在组推荐过程中,首先改进了协同过滤 算法,它结合相似性影响因子和关联性因子,以 解决旅游推荐中面临的数据稀疏性问题;其次在 组偏好建模阶段,提出了一种新的融合策略 ——满意度平衡策略,它同时考虑了组内成员的 局部满意度和整体满意度;最后,通过在旅游数 据集上的实验分析,验证了所改进的方法能够有 效地提高推荐的质量。 1 相关工作 1.1 协同过滤算法 协同过滤算法是电子商务推荐领域中一种最 为成功的推荐算法[8]。它不需要用户主动提供个 人需求信息,而是根据他们已有的评分记录,获 得用户的潜在偏好。这种推荐算法能否取得良好 的效果,很大程度上取决于用户的评分数据。 1.2 组推荐关键技术 组推荐关键技术包括融合方法和融合策略。 融合方法分为模型融合和推荐融合。模型融合根 据群组成员的用户偏好模型融合成群组偏好模 型,然后基于群组偏好模型生成组推荐;推荐融 合先根据传统算法获得每个用户的预测评分后, 再根据预测评分进行融合,也可以融合推荐项目 列表得到群组的推荐列表[5,7]。两种融合方法各有 自己的不足:模型融合易受到评分稀疏性的影 响,推荐融合忽略了群组成员之间的交互[5]。 组推荐系统中常用的融合策略有均值策略、 最小痛苦策略、最开心策略[9]。文献[10]通过一系 列实验评估,指出乘法策略、均值策略、最小痛苦 策略以及痛苦避免均值策略较好。文献[7]通过 对组推荐系统的文献研究分析,发现使用最普遍 的策略有均值策略、痛苦避免均值策略及最小痛 苦策略,但这些策略对于不同特征的群组适用性 也不尽相同。 2 基于协同过滤的组推荐 协同过滤算法作为一种基本的方法常常被应 用于组推荐系统中。基于协同过滤的组推荐包 括 4 个阶段:相似性度量、选择邻居、预测评分、 确定推荐项目[11]。 首先通过评分矩阵中用户的评分计算两两用 户 (项目) 的相似度,然后根据 K 近邻的方法预测 当前用户对未知项目的评分,最后通过融合策略 结合所有组内成员的偏好生成组推荐列表。 图 1 为本文中用到的基于协同过滤的组推荐整体 框架。 协同过滤相似度 K 近 邻 融合策略 个人预测 组推荐 用户评分矩阵 相似度度量 选择邻居 预测评分 确定推荐项目 协同过滤相似度协同过滤相似度 K 近 邻 K 近 邻 个人预测个人预测 图 1 基于协同过滤的组推荐整体框架 Fig. 1 The whole framework of group recommendation based on collaborative filtering 其中,协同过滤算法可以分为基于用户的最 近邻推荐 (user-based nearest neighbor recommendation) 和基于项目的最近邻推荐 (item-based nearest neighbor recommendation)。 2.1 基于用户的最近邻推荐 基于用户的最近邻推荐假设当前用户会喜欢 与之有相似偏好的用户喜欢的项目。目前比较常 用的相似度计算方法有余弦相似度 (cosine similarity)、皮尔森相关相似度 (Pearson correlation coefficient) 等 [12-13]。本文主要选用相似度定义如式 (1) 所示。 ·1000· 智 能 系 统 学 报 第 13 卷
第6期 陈君同,等:融合协同过滤与用户偏好的旅游组推荐方法 ·1001· 更高。然而,用户A和B的余弦相似度计算结果为 sim(m.n)= (1) 0.8381,用户C和D的相似度结果为0.9104(余弦 相似度的范围为[0,1])。显然,传统的相似度不能 很好地计算他们之间的相似度。为了解决这一问 式中:sim(m,n)表示用户m和n的余弦的相似度, 题,本文利用用户对景点共同评分的数目与用户 R表示用户m对项目i的评分,R表示用户n对项 对景点评分总数目的关系来调整用户之间的相似 目i的评分,Im表示用户m评分的项目集合,Ln表示 性,本文称之为相似性影响因子,定义为 用户n评分的项目集合,Im表示用户m和用户n共 Imn 同评分的项目集合。 h =2V4U1.-1 (5) 找出与当前用户m有相似偏好的K个用户集 式中:Im为用户m评分的景点集合,In为用户n评分 合KNNm,则用户m对项目的预测评分为 的景点集合。用户m和n的共同评分景点数Imm在 sim(m,n)×(Rn-Rn) 其全部评分景点I UI,中占的比例越大,则相似性 (2) 影响因子就越大,相似度的值可能越大;反之 sim(m,n) h越小,相似度的值可能越小。 meKNN 式中Rm、R分别表示用户m和用户n的平均评分。 表1用户评分矩阵 Table 1 User rating matrix 2.2基于项目的最近邻推荐 用户 基于项目的最近邻利用用户对项目的评分来 龙脊梯田 银子岩 七星景区 漓江 计算相似度。本文选用的相似度如式(3)所示。 A 5 5 5 B 5 0 3 ∑R-EXR-R 5 C 2 J 0 0 ER sim(i,j)= (3) D 0 0 Rm-Ri) (Rmi-R) E J 2 0 0 F 3 4 0 0 式中:sim(位,)表示项目i和j的皮尔森相似度411 E、R表示项目和项目j的平均得分,R,表示对项 2)用户E和用户F根据余弦相似度计算结果 目和j都有过评分的用户集合。 为0.8542,表示他们的偏好很相似;根据皮尔森 找出要预测的项目i的K个相似项目集合 和修正余弦相似度计算结果为-1,表示他们的偏 KNN:,则用户m对项目i的预测值为 好完全相反(相似度的范围为[-1,1])。实际上他 们的相似度不应该完全相反,也不应该很相似, sim(i,)×(Rnmj-R) 而是介于两者之间。随着用户和评分矩阵规模的 Pm.i =Ri+ (4) ∑sim(,训 增加,类似这种情况也会影响推荐结果的准确 jeKNN, 性。为解决此类问题,本文利用用户评分的关联 2.3数据稀疏性问题及算法改进 性来调整用户之间的相似性,用户的共同评分向 相似度是协同过滤中的重要指标,决定着预 量越接近,相似度的值可能越大,反之相似度的 测评分的好坏,同时由于在旅游领域,存在用户 值可能越小。本文称之为关联性因子2,定义为 自身的综合因素使得旅游推荐不同于以往电子商 务领域的推荐。例如,用户可以每月看一场电 影,但却很少有人每年旅行很多次。因此在旅游 (6) (Rmi+Rn) 推荐中,不可避免地会存在数据的稀疏性问题。 传统的相似度计算方法在评分数据丰富的情况下 相似度的计算是协同过滤中最重要的一步。 可以给出很好的效果,但是在旅游推荐中,传统 旅游领域面临的数据稀疏性问题,使得原有的相 的推荐方法在计算用户(项目)间的相似度时,可 似度方法很难准确度量用户之间的相似性。这是 能会忽略用户评分数据的稀疏程度对相似度计算 因为在用户评分数据稀疏的情况下,传统的方法 结果造成的影响。如表1所示(0表示没有评分), 主要考虑用户共同评分之间的相似性,却忽略了 以基于用户的相似度为例: 用户在个别项目上的评分是相似的而在其他项目 1)用户A和用户B共同评分的景点数量多 上不一定相似的现象,用户只有在比较多的项目 于用户C和D共同评分的景点数量,所以用户A 上评分相似时,他们的偏好才能认为是相似的; 和用户B的相似度应该比用户C和用户D的相似度 此外,传统的相似度无法准确区分某些相似度相
sim(m,n) = ∑ i∈Imn Rm,i ·Rn,i √∑ i∈Im Rm,i 2 √∑ i∈In Rn,i 2 (1) sim(m,n) m n Rm,i m i Rn,i n i Im m In n Imn m n 式中: 表示用户 和 的余弦的相似度, 表示用户 对项目 的评分, 表示用户 对项 目 的评分, 表示用户 评分的项目集合, 表示 用户 评分的项目集合, 表示用户 和用户 共 同评分的项目集合。 m KNNm m i 找出与当前用户 有相似偏好的 K 个用户集 合 ,则用户 对项目 的预测评分为 pm,i = Rm + ∑ n∈KNNm sim(m,n)×(Rn,i −Rn) ∑ n∈KNNm |sim(m,n)| (2) 式中 Rm、Rn分别表示用户m和用户n的平均评分。 2.2 基于项目的最近邻推荐 基于项目的最近邻利用用户对项目的评分来 计算相似度。本文选用的相似度如式 (3) 所示。 sim(i, j) = ∑ m∈Ri j (Rm,i −Ri)(Rm, j −Rj) √∑ m∈Ri j (Rm,i −Ri) 2 √∑ m∈Ri j (Rm, j −Rj) 2 (3) sim(i, j) i j Ri Rj i j Ri j i j 式中: 表示项目 和 的皮尔森相似度[14-15] , 、 表示项目 和项目 的平均得分, 表示对项 目 和 都有过评分的用户集合。 i KNNi m i 找出要预测的项目 的 K 个相似项目集合 ,则用户 对项目 的预测值为 pm,i = Ri + ∑ j∈KNNi sim(i, j)×(Rm, j −Rj) ∑ j∈KNNi |sim(i, j)| (4) 2.3 数据稀疏性问题及算法改进 相似度是协同过滤中的重要指标,决定着预 测评分的好坏,同时由于在旅游领域,存在用户 自身的综合因素使得旅游推荐不同于以往电子商 务领域的推荐。例如,用户可以每月看一场电 影,但却很少有人每年旅行很多次。因此在旅游 推荐中,不可避免地会存在数据的稀疏性问题。 传统的相似度计算方法在评分数据丰富的情况下 可以给出很好的效果,但是在旅游推荐中,传统 的推荐方法在计算用户 (项目) 间的相似度时,可 能会忽略用户评分数据的稀疏程度对相似度计算 结果造成的影响。如表 1 所示 (0 表示没有评分), 以基于用户的相似度为例: 1) 用户 A 和用户 B 共同评分的景点数量多 于用户 C 和 D 共同评分的景点数量,所以用户 A 和用户 B 的相似度应该比用户 C 和用户 D 的相似度 h1 更高。然而,用户 A 和 B 的余弦相似度计算结果为 0.838 1,用户 C 和 D 的相似度结果为 0.910 4(余弦 相似度的范围为[0,1])。显然,传统的相似度不能 很好地计算他们之间的相似度。为了解决这一问 题,本文利用用户对景点共同评分的数目与用户 对景点评分总数目的关系来调整用户之间的相似 性,本文称之为相似性影响因子 ,定义为 h1 = 2 vuuut Imn Im ∪ In −1 (5) Im m In n m n Imn Im ∪ In h1 h1 式中: 为用户 评分的景点集合, 为用户 评分 的景点集合。用户 和 的共同评分景点数 在 其全部评分景点 中占的比例越大,则相似性 影响因子 就越大,相似度的值可能越大;反之 越小,相似度的值可能越小。 表 1 用户评分矩阵 Table 1 User rating matrix 用户 龙脊梯田 银子岩 七星景区 漓江 A 5 5 3 5 B 5 0 3 5 C 2 5 0 0 D 0 5 1 0 E 5 2 0 0 F 3 4 0 0 h2 2) 用户 E 和用户 F 根据余弦相似度计算结果 为 0.854 2,表示他们的偏好很相似;根据皮尔森 和修正余弦相似度计算结果为−1,表示他们的偏 好完全相反 (相似度的范围为[−1,1])。实际上他 们的相似度不应该完全相反,也不应该很相似, 而是介于两者之间。随着用户和评分矩阵规模的 增加,类似这种情况也会影响推荐结果的准确 性。为解决此类问题,本文利用用户评分的关联 性来调整用户之间的相似性,用户的共同评分向 量越接近,相似度的值可能越大,反之相似度的 值可能越小。本文称之为关联性因子 ,定义为 h2 = 1− vuuuuuuuuuut1− ∑ i∈Imn 2Rm,i ·Rn,i ∑ i∈Imn (R 2 m,i +R 2 n,i) 2 (6) 相似度的计算是协同过滤中最重要的一步。 旅游领域面临的数据稀疏性问题,使得原有的相 似度方法很难准确度量用户之间的相似性。这是 因为在用户评分数据稀疏的情况下,传统的方法 主要考虑用户共同评分之间的相似性,却忽略了 用户在个别项目上的评分是相似的而在其他项目 上不一定相似的现象,用户只有在比较多的项目 上评分相似时,他们的偏好才能认为是相似的; 此外,传统的相似度无法准确区分某些相似度相 第 6 期 陈君同,等:融合协同过滤与用户偏好的旅游组推荐方法 ·1001·
·1002· 智能系统学报 第13卷 同但偏好差别很大的用户之间的相似性。 相似度sim(m,m)%如式(7)所示: 本文提出的相似性影响因子,和关联性因子 sim(m,n)h=h1×(a×sim(m,n)+(1-a)×h2)(7) ,全面考虑了用户共同评分项和评分关联性对相 式中:a表示参数,a∈[0,1],sim(m,n)表示传统的相 似度度量的影响,可以有效缓解由于数据稀疏性 似度,将式(⑦代入式(2)即可得到用户对景点的 问题导致的相似度计算不够准确的问题。改进的 预测评分,如式(8)所示。 ∑RR h1xa× +(1-a)×h X(R-R) EKNN R面 Pmi=Rm+ (8) ∑Rnm·Rn +(1-)×h 同理,基于项目相似度的情况类似。 (satisfaction balance),群组g对景点i的得分用满意 2.4修正的偏好融合策略 度平衡策略表示为balance,定义如式(1l)所示。 在个人用户对项目预测评分的基础上,融合 balancesi=avg(Rmi meg)+ 1 策略可以将组内成员的偏好进行融合,从而得到 5avg(R:mEg)*min(R:mg) (11) 整个组对于项目的得分,根据得分的大小生成最 式中:S表示群组中成员的数目。根据定义,在表2 终的推荐列表。由于群组中成员的偏好可能相 中可以看出,按照满意度平衡策略计算的结果更 同,也可能不同,此时单个成员的偏好不能作为 能反映群组对景点的总体兴趣,根据修正的融合 整个组的偏好,因此如何获取群组成员的共同偏 策略得到的组推荐列表为景点5、4、3、2、1。 好,缓解各成员间的偏好冲突,也是组推荐要解 决的问题”。目前效果比较好的偏好融合策略有 表2不同融合策略示例 Table 2 Different aggregation strategies examples 均值策略(average)和最小痛苦策略(least misery)o 均值策略选择成员对项目评分的平均值作为群组 用户 景点1景点2景点3景点4景点5 对于项目的得分,可以表示为 用户1 5 5 4 5 R.u=avg(R:m∈g) (9) 用户2 5 4 J 式中:g表示群组,R表示群组g对于项目的得分。 用户3 5 5 4 最小痛苦策略选择成员对项目最小的评分作 用户4 1 5 4 5 为群组对于项目的得分,可以表示为 均值策略 R.=min(Rd:m∈g) (10) 4 4.50 4 4.50 4.75 均值策略只考虑群组成员的平均偏好程度, 最小痛苦策略 3 4 但可能忽略了少数成员的不满意度;最小痛苦策 满意度平衡策略 7.88 9 9.50 略根据组内成员对项目的最小评分做参考,却可 能会忽略多数人的感受。如表2所示,根据均值 3 实验方案设计 策略,景点1和景点3对于包含用户1、2、3和用 户4的群组是等价的,但对于景点1而言,均值策 3.1数据获取 略显然没有考虑用户4的感受,相比较来说,选择 目前旅游推荐领域还没有公开实验数据集, 景点3可能比景点1更好一些;根据最小痛苦策 国内外学术研究使用的数据主要来自旅游网站或 略,景点3、4和景点5对于群组是等价的,相对 问卷的方式。采用调查问卷的方式获取数据可能 于景点3而言,组内成员对景点4或景点5更感 会存在一些不可避免的缺点:如果设计的问题太 兴趣,此时少数人可能服从多数,组成员很可能 多往往会让用户失去耐心,太少反而不会获取足 会优先选择景点5,最小痛苦策略只考虑了成员 够的信息;可能会涉及到用户隐私问题;用户还 的最小满意度却忽略了大多数人的偏好。 可能会存在回忆误差。本文数据集由携程网hp川 为此,本文考虑了以上两种策略的不足之处,定 www.ctrip.com)爬取桂林市的景点信息整理获 义一种修正的方法来平衡组成员局部满意度与整 得,包括用户D,景点D及用户对景点的评分。 体满意度之间的关系,本文称之为满意度平衡策略 最初获取的数据集包括18354个用户对255个景
同但偏好差别很大的用户之间的相似性。 h1 h2 本文提出的相似性影响因子 和关联性因子 全面考虑了用户共同评分项和评分关联性对相 似度度量的影响,可以有效缓解由于数据稀疏性 问题导致的相似度计算不够准确的问题。改进的 相似度 sim(m,n)h如式 (7) 所示: sim(m,n)h = h1 ×(∂×sim(m,n)+(1−∂)×h2) (7) 式中: ∂ 表示参数, ∂ ∈ [0,1],sim(m,n) 表示传统的相 似度,将式 (7) 代入式 (2) 即可得到用户对景点的 预测评分,如式 (8) 所示。 Pm,i = Rm + ∑ n∈KNNm h1 × ∂× ∑ i∈Imn Rm,i ·Rn,i √∑ i∈Im R 2 m,i √∑ i∈In R 2 n,i +(1−∂)×h2 ×(Rn,i −Rn) ∑ n∈KNNm h1 × ∂× ∑ i∈Imn Rm,i ·Rn,i √∑ i∈Im R 2 m,i √∑ i∈In R 2 n,i +(1−∂)×h2 (8) 同理,基于项目相似度的情况类似。 2.4 修正的偏好融合策略 在个人用户对项目预测评分的基础上,融合 策略可以将组内成员的偏好进行融合,从而得到 整个组对于项目的得分,根据得分的大小生成最 终的推荐列表。由于群组中成员的偏好可能相 同,也可能不同,此时单个成员的偏好不能作为 整个组的偏好,因此如何获取群组成员的共同偏 好,缓解各成员间的偏好冲突,也是组推荐要解 决的问题[7]。目前效果比较好的偏好融合策略有 均值策略 (average) 和最小痛苦策略 (least misery)。 均值策略选择成员对项目评分的平均值作为群组 对于项目的得分,可以表示为 Rg,i = avg(Rm,i : m ∈ g) (9) 式中: g 表示群组, Rg,i表示群组 g 对于项目 i 的得分。 最小痛苦策略选择成员对项目最小的评分作 为群组对于项目的得分,可以表示为 Rg,i = min(Rm,i : m ∈ g) (10) 均值策略只考虑群组成员的平均偏好程度, 但可能忽略了少数成员的不满意度;最小痛苦策 略根据组内成员对项目的最小评分做参考,却可 能会忽略多数人的感受。如表 2 所示,根据均值 策略,景点 1 和景点 3 对于包含用户 1、2、3 和用 户 4 的群组是等价的,但对于景点 1 而言,均值策 略显然没有考虑用户 4 的感受,相比较来说,选择 景点 3 可能比景点 1 更好一些;根据最小痛苦策 略,景点 3、4 和景点 5 对于群组是等价的,相对 于景点 3 而言,组内成员对景点 4 或景点 5 更感 兴趣,此时少数人可能服从多数,组成员很可能 会优先选择景点 5,最小痛苦策略只考虑了成员 的最小满意度却忽略了大多数人的偏好。 为此,本文考虑了以上两种策略的不足之处,定 义一种修正的方法来平衡组成员局部满意度与整 体满意度之间的关系,本文称之为满意度平衡策略 g i balanceg,i (satisfaction balance),群组 对景点 的得分用满意 度平衡策略表示为 ,定义如式 (11) 所示。 balanceg,i = avg(Rm,i : m ∈ g)+ 1 S avg(Rm,i : m ∈ g) ∗min(Rm,i : m ∈ g) (11) 式中: S 表示群组中成员的数目。根据定义,在表 2 中可以看出,按照满意度平衡策略计算的结果更 能反映群组对景点的总体兴趣,根据修正的融合 策略得到的组推荐列表为景点 5、4、3、2、1。 表 2 不同融合策略示例 Table 2 Different aggregation strategies examples 用户 景点 1 景点 2 景点 3 景点 4 景点 5 用户 1 5 5 4 5 4 用户 2 5 3 4 5 5 用户 3 5 5 4 4 5 用户 4 1 5 4 4 5 均值策略 4 4.50 4 4.50 4.75 最小痛苦策略 1 3 4 4 4 满意度平衡策略 5 7.88 8 9 9.50 3 实验方案设计 3.1 数据获取 目前旅游推荐领域还没有公开实验数据集, 国内外学术研究使用的数据主要来自旅游网站或 问卷的方式。采用调查问卷的方式获取数据可能 会存在一些不可避免的缺点:如果设计的问题太 多往往会让用户失去耐心,太少反而不会获取足 够的信息;可能会涉及到用户隐私问题;用户还 可能会存在回忆误差。本文数据集由携程网 (http:// www.ctrip.com/) 爬取桂林市的景点信息整理获 得,包括用户 ID,景点 ID 及用户对景点的评分。 最初获取的数据集包括 18 354 个用户对 255 个景 ·1002· 智 能 系 统 学 报 第 13 卷
第6期 陈君同,等:融合协同过滤与用户偏好的旅游组推荐方法 ·1003· 点的48473条评分,评分范围为15分。 于群组的k个推荐项目最大的DCG值,计算出群 3.2数据预处理 组中各个用户的nDCG值,然后取它们的平均值 为了方便实验,对获取的数据进行以下处理: 作为组推荐列表的nDCG。nDCG是介于0~l之 删除用户重复的评分记录:删除没有用户评 间的数,nDCG的数值越大,表明推荐列表中项目 分的景点:删除评分记录小于3条的用户。最终 的排序越准确,推荐准确度越高。 得到的旅游数据集如表3所示。 表3实验数据 4实验结果 Table 3 Experimental dataset 4.1传统的协同过滤和改进的方法比较 用户总数 景点总数 评分总数 稀疏等级 图2和图3分别给出了2.1节中介绍的基于 3667 230 23628 0.972 用户的协同过滤(UBCF)和2.2节中介绍的基于 项目的协同过滤(BCF)、通过引入相似性影响因 3.3电影数据集 子与关联性因子改进的基于用户的协同过滤 实验中除了旅游数据集之外,还采用了目前 (imp-UBCF)和改进的基于项目的协同过滤(imp- 在衡量推荐算法中常用的由美国Minnesota大学 IBCF)的折线图。随机选择旅游数据集中80%的 Grouplens项目提供的Movielens数据集。如表4 评分记录作为训练集,20%的评分记录作为测试 所示,该数据集由943个用户对1682部电影的 集,经多次实验,取8=0,观察邻居数目K从 100000条评分组成,每个用户的评分记录不少 5~30每次增加5时,各个推荐算法的性能。图2、 于20条,评分范围为1~5分。 3中可以看出,在相同邻居数目的情况下,无论是 表4实验数据 Table 4 Experimental dataset 使用基于用户的协同过滤还是基于项目的协同过 滤预测评分,基于改进方法的MAE和RMSE均 用户总数 电影总数 评分总数 稀疏等级 低于传统的方法,表明改进的方法在计算用户或 943 1682 100000 0.937 项目之间的相似性时可以起到更好的效果,进而 3.4评价标准 提高用户对项目预测评分的准确性。这是因为传 平均绝对误差6(mean absoluteerror,MAE)和 统的相似度方法(比如基于用户的相似度)在评 均方根误差(root-mean-square error,RMSE)是衡 分矩阵稀疏的情况下,无法准确度量用户共同 量预测评分和真实评分之间相近程度的评价标 评分的景点数量与用户之间相似度的关系,而且 准,本文使用MAE和RMSE对个人预测结果的 在一定程度上也忽略了用户对于不同景点的兴趣 准确性进行检验。如式(12)、(13)所示。 差异。 0.60 MAE= >IP.-Rel N (12) 0.58 0.56 ∑(P-R)2 0.52 RMSE= (13) 0.50 -UBCF -imp-UBCF -IBCF 式中:P和R分别表示用户对测试集中项目的预 --imp-IBCF 0.4 5 101520 2530 测评分和真实评分,N为评分数目。 0 邻居数目 归一化折损累计增益(normalized discounted cumulative gain,.nDCG)是信息检索中一种衡量推 图2不同推荐方法下的MAE Fig.2 MAE for different recommended methods 荐列表准确率的评价指标,7,本文使用nDCG对 0.84 组推荐的结果进行检验。设q1,92,,q为群组推 0.82 荐项目的排名列表,则用户的DCG和nDCG定 义如式(14)、(15)所示: 800 DCGi+ 0.76 1og,@ (14) 0.74 -UBCF imp-UBCE IBCF -imp-IBCF 0.72 DCG nDCG:IDCG; 0 5 1015202530 (15) 邻居数目 式中:rm表示用户u对群组推荐结果中排在第c个 图3不同推荐方法下的RMSE 位置项目的预测(或真实)评分,DCG“为用户u对 Fig.3 RMSE for different recommended methods
点的 48 473 条评分,评分范围为 1~5 分。 3.2 数据预处理 为了方便实验,对获取的数据进行以下处理: 删除用户重复的评分记录;删除没有用户评 分的景点;删除评分记录小于 3 条的用户。最终 得到的旅游数据集如表 3 所示。 表 3 实验数据 Table 3 Experimental dataset 用户总数 景点总数 评分总数 稀疏等级 3 667 230 23 628 0.972 3.3 电影数据集 实验中除了旅游数据集之外,还采用了目前 在衡量推荐算法中常用的由美国 Minnesota 大学 Grouplens 项目提供的 Movielens 数据集。如表 4 所示,该数据集由 943 个用户对 1 682 部电影的 100 000 条评分组成,每个用户的评分记录不少 于 20 条,评分范围为 1~5 分。 表 4 实验数据 Table 4 Experimental dataset 用户总数 电影总数 评分总数 稀疏等级 943 1 682 100 000 0.937 3.4 评价标准 平均绝对误差[16] (mean absolute error,MAE) 和 均方根误差[8] (root-mean-square error,RMSE) 是衡 量预测评分和真实评分之间相近程度的评价标 准,本文使用 MAE 和 RMSE 对个人预测结果的 准确性进行检验。如式(12)、(13)所示。 MAE = 1 N ∑N c=1 |Pc −Rc | (12) RMSE = vuut ∑N c=1 (Pc −Rc) 2 N (13) 式中: Pc和 Rc分别表示用户对测试集中项目的预 测评分和真实评分,N 为评分数目。 q1,q2,· · ·,qk u 归一化折损累计增益 (normalized discounted cumulative gain,nDCG) 是信息检索中一种衡量推 荐列表准确率的评价指标[5,17] ,本文使用 nDCG 对 组推荐的结果进行检验。设 为群组推 荐项目的排名列表,则用户 的 DCG 和 nDCG 定 义如式 (14)、(15) 所示: DCGu k = ruq1 + ∑k c=2 ruqc log2 (c) (14) nDCGu k = DCGu k IDCGu k (15) ruqc u c IDCGu k u 式中: 表示用户 对群组推荐结果中排在第 个 位置项目的预测 (或真实) 评分, 为用户 对 于群组的 k 个推荐项目最大的 DCG 值,计算出群 组中各个用户的 nDCG 值,然后取它们的平均值 作为组推荐列表的 nDCG。nDCG 是介于 0~1 之 间的数,nDCG 的数值越大,表明推荐列表中项目 的排序越准确,推荐准确度越高。 4 实验结果 4.1 传统的协同过滤和改进的方法比较 ∂ 图 2 和图 3 分别给出了 2.1 节中介绍的基于 用户的协同过滤 (UBCF) 和 2.2 节中介绍的基于 项目的协同过滤 (IBCF)、通过引入相似性影响因 子与关联性因子改进的基于用户的协同过滤 (imp-UBCF) 和改进的基于项目的协同过滤 (impIBCF) 的折线图。随机选择旅游数据集中 80% 的 评分记录作为训练集,20% 的评分记录作为测试 集,经多次实验,取 = 0 ,观察邻居数 目 K 从 5~30 每次增加 5 时,各个推荐算法的性能。图 2、 3 中可以看出,在相同邻居数目的情况下,无论是 使用基于用户的协同过滤还是基于项目的协同过 滤预测评分,基于改进方法的 MAE 和 RMSE 均 低于传统的方法,表明改进的方法在计算用户或 项目之间的相似性时可以起到更好的效果,进而 提高用户对项目预测评分的准确性。这是因为传 统的相似度方法 (比如基于用户的相似度) 在评 分矩阵稀疏的情况下,无法准确度量用户共同 评分的景点数量与用户之间相似度的关系,而且 在一定程度上也忽略了用户对于不同景点的兴趣 差异。 0.48 0.50 0.52 0.54 0.56 0.58 0.60 0 10 15 20 25 30 5 UBCF IBCF imp-UBCF imp-IBCF MAE 邻居数目 图 2 不同推荐方法下的 MAE Fig. 2 MAE for different recommended methods 0.72 0.74 0.76 0.78 0.80 0.82 0.84 0 10 15 20 25 30 5 RMSE UBCF IBCF imp-UBCF imp-IBCF 邻居数目 图 3 不同推荐方法下的 RMSE Fig. 3 RMSE for different recommended methods 第 6 期 陈君同,等:融合协同过滤与用户偏好的旅游组推荐方法 ·1003·