当前位置:首页 期刊杂志

融合用户偏好和信任关系的混合群组餐厅推荐

时间:2024-07-29

史艳翠,齐嘉琳

(天津科技大学人工智能学院,天津 300457)

随着推荐系统技术的不断发展,现已广泛应用于各种领域,如在电子商务领域中可根据用户的购物记录为用户推荐可能需要的物品,在新闻推荐领域中根据用户经常浏览的内容为其推荐相似新闻等.现如今,生活质量的不断提高使得人们在饮食方面也有着更高的要求,这给餐饮业的发展提供了良好的条件.常用的餐厅点评网站有大众点评、Yelp、Foursquare等.面对海量的用户和餐厅信息,传统个性化推荐存在着计算量大等问题,为了降低计算时间和提高效率,常使用群组推荐技术.

在推荐算法中,无论是个性化推荐还是群组推荐,使用原始的用户–评分矩阵进行计算的情况占多数.任志波等[1]在进行个性化推荐时,对评分信任和社交信任赋予自适应权重,提高了推荐的效果.徐芳[2]提出一种新颖的双自编码器矩阵分解模型,利用评分矩阵和用户项目评论信息提高推荐准确率.这些算法中使用的矩阵均为原始的评分矩阵,虽能够提高算法的准确率,但仍存在数据稀疏的问题.

随着社交网络的出现和发展,研究者们将社会化关系引入到推荐系统中.Capuano等[3]提出根据组内用户的社会化关系和社交网络估算等相关信息计算群组内各个用户之间的影响力,形成影响力网络,并基于这种网络和现有的评估偏好的方法预测用户的偏好,模拟了用户的偏好是否受到其所处的社会化关系网络.邓志彬等[4]提出了一种融合社会网络用户相似度的社会推荐算法SRSUS,利用社会关系计算用户的社会信任度,并通过实验表明该算法总体上优于其他社交推荐算法.有的学者将用户间的信任关系引入到用户偏好获取模型中,以获得更准确的用户偏好.刘辉等[5]提出一种融合用户相似度、地理位置和信任关系的混合推荐算法,在信任关系方面根据社会地位的计算方法重构信任度,提高推荐的准确性.李卫疆等[6]提出一种融合项目流行度和用户信任关系的矩阵分解推荐算法,通过矩阵分解同时传递信任和推荐项目,使覆盖率得到了提升.上述推荐算法考虑了用户间的信任关系,但在计算用户间的信任度时只考虑了单一因素的影响,没有从多角度考虑其他因素对用户信任度的影响.

在进行偏好融合时,胡川等[7]分析了推荐模型和模型融合的群组偏好融合方法后,提出增强的群组偏好融合方法,提高了推荐的准确性与多样性.吴云昌等[8]介绍了几种不同的融合策略,并比较了它们的优缺点,得出策略的选择由不同的应用场景而定的结论.在偏好融合方法的选择上,每一种融合策略都有其各自的优缺点,在一些组推荐系统的典型应用中,偏好融合策略一般是根据实际情况得出的.

通过分析发现,现有的研究工作大多集中于个性化推荐,对群组推荐的研究偏少,在计算用户关系时,忽略了影响信任度的因素,且存在数据稀疏的问题.因此,为了解决上述问题,更好地实现群组偏好融合,本文提出一种融合用户偏好和信任关系的混合群组餐厅推荐算法,通过计算用户对不同餐厅类别的偏好,得到用户–餐厅类别偏好矩阵,代替原始的用户–餐厅评分矩阵,降低数据的稀疏性;从公平性、准确性、影响力三方面考虑用户的信任度,提高准确性;融合群组偏好时,采用改进比重融合策略.

1 用户偏好获取

获取用户偏好的方法主要有两种,显示获取和隐式获取.前者使用用户对项目的评分作为依据,后者需要通过分析用户的行为特征得到用户的偏好.通过计算用户对不同餐厅类别的偏好程度,代替原始的用户-餐厅评分矩阵,能更直观地了解用户的口味和偏好,并缓解数据的稀疏性问题.

原始的用户-餐厅评分矩阵可以用m×n阶矩阵表示为Qm,n.为了更清晰地描述用户对餐厅的偏好程度,引用用户偏好模型,用户u对某一餐厅类别Si的偏好可以通过式(1)进行计算.其中:pref(u,Si)为用户u对餐厅类别Si的偏好评分;N(u,Si)为用户u去过餐厅类别Si的次数;|Nu|为用户u去过的所有餐厅的次数.

计算出用户对每个去过的餐厅类型的偏好后,将得到的值代替原先的用户-餐厅评分矩阵,得到一个全新的用户-餐厅偏好矩阵.但该矩阵中元素的值仅代表用户对该餐厅所属类别的偏好值,并不能代表用户对该餐厅的实际评分.得到的新矩阵用Rm,s表示.

在新矩阵中,S表示餐厅类别的数量,在原始矩阵中,n表示所有的餐厅.比较可知,S远小于n,这就大大降低了数据的稀疏性.

2 用户信任度计算

用户选择餐厅就餐时,不仅会受到朋友等社会关系的影响,用户间的信任关系也是影响用户选择餐厅的重要因素.如果仅根据用户间的偏好的相似度进行群组划分,可能会导致推荐结果不准确.在实际情况下,用户对餐厅的选择会因为对不同用户的信任程度的差别而有所不同,所以用户对其邻居用户的信任程度也是影响推荐质量的重要因素.

在传统的推荐算法中,对用户评分的相似度关注较多,但前提是邻居用户的评分数据都是真实且可靠的,在实际生活中,这个前提很难得到保证.例如某些不良的经营者为获取利润,采取一些不正当的手段伪造评价提高自己产品的好评率.如果使用这些数据进行预测评分或推荐餐厅,会严重影响推荐结果.因此,使用用户间的信任度增加推荐的可靠性.本文主要从用户的公平性、准确性和影响力对信任度进行衡量.

2.1 公平性

每个用户都有不同的打分习惯,这种习惯的差异性会直接影响到餐厅的整体评分,从而导致推荐质量下降.因此,利用公平性这一指标归一化用户的评分.如果该用户的所有评分项目的差异较小,则说明该用户的评分较为单一,对所有去过的餐厅,无论口味是否满意,评分都没有太大变化,这种情况下,该类用户的评分不具有参考性;相反,如果该用户对餐厅的评分的差异较大,则很有可能说明该用户是按照餐厅的实际情况进行评分的.这些用户的评分对于未去过该餐厅的用户来说,参考价值较高.若用户u的评分公平性记为F(u),则可通过式(2)进行计算.

其中:Eu为用户u对所有评分的餐厅类别的集合,|Eu|为集合的大小;Ru,i为用户u对该集合Eu中某类餐厅i的偏好评分;Ru为用户u对集合Eu中所有类别餐厅评分偏好的平均值.

2.2 准确性

该性能用来衡量用户对某餐厅评分的准确程度,如果用户对某类餐厅的偏好评分与该餐厅的平均评分越接近,说明该用户的评分越准确,该用户的信任度会提高.将用户评分的准确性记为C(u),通过式(3)进行计算.

其中Ri为所有用户对某类餐厅i的评分的平均值,即某类餐厅i的平均偏好评分.

2.3 影响力

考虑到在实际生活中,有的用户较为主动积极,愿意对就餐的餐厅发表意见和感受,而有的用户很少或几乎不愿意对所就餐的餐厅进行评价,这些用户的人气值往往很低,并且会逐渐失去其他用户的信任.因此,可以认为评价数量较多的用户影响力高于评价数量少的用户影响力.将用户的影响力记为I(u),通过式(4)进行计算.

由于Eu为用户u对所有评分的餐厅类别集合,在计算影响力时,如果只考虑餐厅类别不考虑其他因素,是不合理的.比如用户A热衷于火锅,去了500次火锅类的餐厅,用户B去了5种不同类别的餐厅各1次,如果按照式(4)计算,则用户B的影响力大于用户A的影响力.但显然,用户A要比用户B更具影响力.因此,在计算用户影响力时还需考虑用户对不同类别餐厅的偏好程度,改进后的用户影响力按式(5)计算.

综合考虑用户去过的餐厅类别数量和用户对不同类别餐厅的偏好程度可知,这两者的乘积越大,说明该用户的影响力越大,被信任的程度越高;反之,影响力越小,用户越不被信任.

在整个推荐的过程中,用户评分越公平、准确,并且影响力高,则该用户越值得信任,用户的最终信任度T(u)可以由上述3个指标表示,计算公式见式(6).

其中λ为权重值,且λ1+λ2+λ3=1.

3 用户相似度计算

3.1 Pearson相似度

相似度计算的准确性是影响推荐质量的重要因素.使用较多的相似度计算方法包括欧式距离相似度、Jaccard相似度、余弦相似度、Pearson相似度等.其中Pearson相似度计算方法见式(7).

其中:Ru,i为用户u对餐厅类别i的评分;为用户u对所去餐厅的平均评分;Iuv为用户u和用户v共同评分过的餐厅类别的交集;sim(u,v)为求得的用户u与用户v之间的相似度.

3.2 时间惩罚函数

在计算用户相似度时,考虑到用户对相同餐厅类别的签到时间间隔可能会影响用户间的相似度,因此设计一种时间惩罚函数模拟这种情况.在相似度计算方法中引入了用户评分间隔时间,用户评分时间间隔越久,其对相似度计算结果的影响就越大,因此受到的时间惩罚就应该越大.惩罚机制通过时间惩罚函数式(8)实现.

在计算用户间的相似度时,用户对餐厅类别的偏好度将代替原始的用户对餐厅的评分,同时考虑了时间、两位用户共同评分过的餐厅所属类别的相似度对用户相似度的影响,改进后的用户相似度计算公式见式(9).

其中:sim(u,v)为求得的用户u与用户v之间的相似度;K(u)和K(v)分别为用户u和用户v评分过的餐厅所属的类别.

为了同时考虑用户信任关系与相似关系,提高用户偏好预测及推荐的整体性能,通过调整用户的信任度和相似度的参数,控制这两种关系在用户的相关度评分score(u,v)中所占的比重,计算公式见式(10),其中θ为控制相似度的权重值.

4 算法分析

4.1 用户聚类

通过计算n个用户之间的相似度,得到用户相似度矩阵.通过K-means算法对用户进行聚类,步骤如下:

(1)在同城的n个用户中,随机抽取k个用户的相关数据作为初始的聚类中心 Sλ= {s1,s2,…,sk}.

(2)计算其他用户与这k个初始中心点的距离di,j,根据距离决定用户所属的初始聚类中心簇.

(3)初次距离计算完成后,得到初始用户聚类群,计算每个群内距离的均值点,并把新计算的均值点与上一次聚类的均值点作差.如果差值量在允许范围内则聚类结束,得到群组的划分;否则,当前均值点将作为新中心簇重复第二步与第三步.

4.2 偏好融合策略

通过比较均值融合、痛苦避免均值、最开心和最小痛苦策略发现,这些偏好融合策略有各自的缺点.如均值策略选择评分均值作为群组评分,会引起群组中有较高评分用户的不满;痛苦避免均值策略通过设置痛苦阈值过滤一部分评分,但阈值的选择会影响结果;最开心策略和最小痛苦策略分别建立在群组成员最乐观和最悲观的情况下,且用户满意度较低.

通过占比的不同,使用不同的偏好融合策略.首先,设置一个偏好评分阀值ε,将群组中偏好评分大于ε的成员为高评分组,小于ε的为低评分组.统计群组g中餐厅类别i的偏好评分情况,根据餐厅类别i中高评分所占比重的不同,使用式(11)中不同的计算式作为群组g对某类餐厅i的偏好评分.

其中:rg,i为群组g对餐厅类别i的偏好评分,hi为餐厅类别i中偏好评分大于ε的高评分组成员,li为餐厅类别i中偏好评分小于ε的低评分组成员,gi为群组g中去过餐厅类别i的成员.这种融合策略通过分组和所占比重的不同,能够较好地避免均值策略等其他策略中存在的不足,从而进行更好的偏好融合,提高推荐的准确率.

4.3 相似群组推荐

使用Pearson相似度公式(式(12))计算两两群组间的相似度.

其中:rg,i为群组g对餐厅类别i的偏好评分,为群组g对所有餐厅类别的平均偏好评分,Iuv代表用户u和用户v共同评分过的餐厅类别的交集.

找到每个群组的相似度最高的群组g’,群组g对餐厅类别i的预测评分可用式(13)表示.

5 实验结果及分析

5.1 数据集

实验部分使用的数据集是大众点评数据集,包括用户信息和商家的属性信息.用户信息包括用户的ID、对餐厅的评分、评论时间等信息,商家的属性信息包括商家的ID、餐厅名称、位置(城市、经纬度等)、餐馆的种类以及标签等信息.数据集包含13218个用户对170类餐厅的评分.实验采取随机划分的方式将数据集中80%的数据作为训练集,20%的数据作为测试集.

5.2 评价指标

准确度在目前群组推荐算法中使用频繁,但由于群组推荐与传统推荐在推荐对象上有所不同,所以需改进原始的准确度公式以适应满足群组推荐的要求.在餐厅群组推荐中,使用均方根误差(RMSE)进行衡量.

5.3 实验及分析

5.3.1 K-means聚类的K值对SSE的影响

聚类中聚类数目(K)对误差平方和(SSE)的影响如图1所示.群组划分的数量会影响最终推荐的效果,图1中SSE的值随着K的增加而下降,在K为25时,SSE的降幅逐渐趋于平稳,聚合效果达到最佳. 因此,后续实验中将K设置为25.5.3.2 用户信任度影响因素对RMSE的影响

图1 聚类中K值对SSE的影响Fig. 1 Influence of K value on SSE in clustering

该实验分别单独考虑了用户的公平性(λ1)、准确性(λ2)和影响力(λ3)因素,并与综合考虑这3个因素得到的实验结果进行对比(图2).

从图2中可以得出,单独考虑用户的公平性、准确性或影响力得到的实验结果较差,综合考虑用户信任度的3个影响因素可以得到更优的实验结果.这也验证了前面提到的从多方面考虑用户信任度的影响因素比传统的单方面考虑用户信任度的推荐方法结果更好.综合考虑的最优实验结果的λ值分别为λ1=0.4,λ2=0.4,λ3=0.2.

图2 用户信任度影响因素的RMSE比较Fig. 2 Comparison of RMSE values of influencing factors of user trust

5.3.3 用户相关度中的参数θ对RMSE的影响

用户相关度中的参数θ对RMSE的影响如图3所示.当θ=0.6,即相似度权重为0.6时,信任度权重为0.4时,RMSE取得最小值,此时推荐结果最准确.这从侧面说明在该数据集中,用户间的相似度对推荐结果有决定性作用.

图3 用户相关度中的参数对RMSE的影响Fig. 3 Influence of parameters in user relevance on recommendation results

5.3.4 不同融合策略的比较

不同融合策略的RMSE比较如图4所示.

图4 不同融合策略的RMSE比较Fig. 4 Comparison of RMSE values of different fusion strategies

从图4可以看出,4种融合策略的RMSE的值随着聚类数目的增加而降低,在相同的聚类数目下,本文提出的改进比重融合策略得到的RMSE值低于其他3种常见的融合策略,并在聚类数目为25时取得最佳RMSE值,推荐结果达到最优.

5.3.5 不同推荐算法的比较

为了验证本文提出的融合用户偏好和信任关系的混合群组推荐算法(UPTGRR),实验选取文献[9]中提出的融合传统信任关系的协同过滤算法(TUBCF)、传统协同过滤算法(UBCF)、基于Kmeans聚类的协同过滤推荐算法(K-UBCF),以及文献[10]提出的结合用户特性和群组兴趣变化的组推荐算法(GRAUG),比较不同算法的RMSE,结果如图5所示.

图5 不同算法的RMSE值比较Fig. 5 Comparison of RMSE values of different algorithms

从图5中可以看出,这几种算法随着聚类数目的增加RMSE的值逐渐减小,并在聚类数目达到25时趋于稳定.与其他算法相比,本文提出的融合用户偏好和信任关系的混合群组推荐算法在RMSE值上更小,说明该算法可以提高推荐准确性,产生更好的实验结果.

6 结 语

本文研究了用户对餐厅类别偏好度和用户间信任关系的影响因素,提出了融合用户偏好和信任关系的混合群组餐厅推荐算法.将用户对不同餐厅类别的偏好评分代替原始的用户对餐厅的评分,降低了数据的稀疏性;在计算用户信任度时,从公平性、准确性和影响力方面考虑其对用户信任度的影响;计算用户间相似度时,考虑了时间以及用户共同评分过的餐厅所属类别的相似度的影响;对同城的用户进行聚类后,使用改进的比重偏好融合策略预测群组偏好,改善了群组推荐的性能.下一步的研究工作是挖掘用户更多的信息获取用户偏好,提高推荐的准确度.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!