本发明涉及个性化推荐技术领域,具体是一种融合信息熵相似度与动态信任的协同过滤推荐方法。
背景技术:
随着信息技术与社会网络的迅速发展,数据资源爆炸式增长,信息过载问题亟待解决。针对如何协助用户从海量数据中高效过滤与个性化推荐有用信息这一现实问题,推荐系统应运而生。目前,推荐系统可分为5类:基于内容的推荐、协同过滤推荐、基于知识的推荐、社会化推荐和混合推荐。作为解决信息过载问题的有效策略,推荐系统在电子商务(amazon.com、alibaba等)、社会网络(facebook、twitter、微博等)、信息检索(igoogle、grouplens、百度等)、音乐、视频、电影推荐等众多应用领域取得较大进展。
20世纪90年代协同过滤(collaborativefiltering,cf)算法提出运用“人以类聚,物以群分”的集体智慧观点为用户提供个性化推荐,其因领域无关性及挖掘用户潜在兴趣的优势被广泛应用。协同过滤推荐主要分为2类:
1)基于模型(model-based)的协同过滤:采用概率统计模型或者机器学习方法,在训练集上构建用户特征模型进行推荐,模型包括线性规划模型、统计模型、贝叶斯模型、概率相关模型、决策树模型等;此类算法的特点是模型训练时间长、复杂性高;
2)基于内存(memory-based)的协同过滤:依赖评分矩阵挖掘用户或项目的相似关系进行评分预测与推荐,根据相似关系可分为基于用户推荐(user-cf)与基于项目推荐(item-cf);此类算法的特点是过于依赖内存数据。
协同过滤推荐系统中一直存在数据稀疏与冷启动问题,围绕以上问题研究者们针对协同过滤推荐算法的核心步骤提出了许多改进方法,如改进相似度计算方法,引入人口统计信息(年龄、性别、职业等)等辅助数据,评分矩阵空缺值填充等。分析发现上述方法注重于算法自身优化,能有效解决其研究环境下的问题,但随着社会网络的应用普及与规模扩展,已有的方法未能有效解决数据稀疏性与冷启动问题,因此,学术界借鉴社会网络分析(socialnetworkanalysis,sna)研究理论,将个体间的社会关系(信任关系、好友关系等)作为重要影响因子附加引入推荐生成过程,提出社会化推荐方法(socialrecommendation)。
由于基于web2.0技术的社交网络(facebook、twitter、微博、微信)的盛行,大众以自组织方式在线构建了由复杂社会关系连接而成的虚拟社会网络,使得社会化推荐系统(socialrecommendationsystem)逐渐发展成为国内外学者在该领域的研究重点。如今,协同过滤推荐(cf)模型已成为大多数社会网络推荐系统的重要基础模型,一个基于协同过滤技术的社会网络推荐系统通常包括两个部分:协同过滤推荐(cf)模型、基于社会网络分析的社会关系模型,以上可形式化描述为:社会网络推荐cf模型=基本的协同过滤推荐cf模型+社会化关系模型。信任作为社会关系的核心基础,具有直接影响用户行为与决策的重要特性,因此,研究者将信任关系作为社会化推荐方法的重要维度。通过构建用户间的信任网络,对于系统中的冷启动用户,只要网络中存在一个用户与此用户有直接或间接的信任关系,基于信任传递关系和用户兴趣模型,则可对该用户进行个性化推荐。相关研究结果表明社会化推荐系统已成为信息过滤与个性化推荐的有效策略,引入贴近现实生活的信任推荐确实能够提高推荐系统的推荐精度,较大程度上缓解推荐算法的数据稀疏性与冷启动问题。
针对基于信任网络的协同过滤推荐算法的研究主要集中在以下三个方面:
1)信任推理:在复杂的信任网络中高效地搜索节点间的单条(多条)最优或近似最优的信任推理路径;
2)信任计算:构建自适应的动态信任计算模型度量网络中节点间的信任度;
3)信任融合:构建相似与信任关系的融合模型实现协同过滤推荐以提高算法精度。
围绕以上研究点,研究者已提出许多经典的信任推荐算法:基于宽度(深度)优先搜索、最短路径搜索的信任推荐算法、基于随机概率路径搜索的信任计算模型、基于矩阵分解的信任推荐算法等。这些经典的推荐算法均为该领域研究提供了关键的算法理论,但是随着社会网络与推荐系统的发展,以上算法并不能很好地满足用户的个性化推荐需求,究其原因:
1)推荐系统中存在用户随意性或恶意性的虚假评分,已有方法大多数基于用户评分具有真实性的假设,未充分考虑数据可靠性与推荐有效性,导致推荐系统的推荐精度不高;
2)信任具有动态性,已有信任计算模型大多描述静态信任关系,未充分考虑用户间信任关系的动态演化问题,导致推荐系统的推荐可靠度不高。
技术实现要素:
针对现有技术存在的不足,本发明主要研究用户推荐可靠性与信任动态演化问题,提出一种融合信息熵相似度与动态信任的协同过滤推荐方法。一方面,评估用户评分可信度与推荐可靠度,减少不可靠用户的虚假推荐;另一方面,引入信任奖惩更新机制,抑制用户随意、虚假评分行为对推荐性能的负面影响。该方法融合相似与动态信任关系能有效缓解数据可靠性、数据稀疏性与冷启动问题,提高推荐系统的推荐精度与可靠度。
实现本发明目的的技术方案是:
一种融合信息熵相似度与动态信任的协同过滤推荐方法,首先,基于推荐系统的用户项目评分与显式信任关系,计算用户相似度与信任度,由大到小选取目标用户的top-k相似与信任推荐用户集;然后,融合相似度与信任度构建评分预测模型,预测目标用户对项目的评分;接着,根据预测评分选取符合目标用户偏好的top-n项目,完成对目标用户的个性化项目推荐;最后,评估推荐用户评分的有效性,针对积极与消极推荐用户予以信任奖励和惩罚;
所述的推荐系统中,用户项目评分数据表示为m×n阶矩阵r,包括m个用户集合u={u1,u2,…,um}和n个项目集合i={i1,i2,…,in},矩阵r中的每个元素rij(1≤i≤m,1≤j≤n)表示用户ui对项目ij的评分,若用户ui对项目ij无评分则表示为
所述方法,具体包括如下步骤:
1)基于用户间的评分差异,构造信息熵相似度计算方法,计算用户评分相似度ratingsim;
2)基于显式信任关系,构造信任关系隐性相似度计算方法,计算用户信任相似度trustsim;
3)融合ratingsim与trustsim构建综合相似度计算模型,计算用户综合相似度sim;
4)分析用户间的信任关系,构建信任度trust计算模型,计算用户直接信任度dtrust、间接信任度itrust、全局信任度auth;
4-1)若用户间存在显式信任或存在共评项目集的评分交互时,计算用户评分可信度cre、评分预测能力cap、共评项目集jaccard系数;综合用户评分可信度cre、评分预测能力cap、共评项目集jaccard系数三个影响因子,计算目标用户对推荐用户的推荐信任度retrust;融合显式信任与推荐信任计算目标用户对推荐用户的直接信任度dtrust;
4-2)若用户间无直接信任关系,但存在其它满足条件的信任传递路径时,依据路径个数计算单路径间接信任度或多路径间接信任度itrust;
4-3)若用户间无直接信任与间接信任关系时,计算用户的全局信任度auth,利用用户的全局信任度作为目标用户对推荐用户的信任度;
5)根据步骤3)和步骤4)获得用户综合相似度sim与信任度trust,按照由大到小降序排列,选取目标用户的top-k相似与信任推荐用户集,融合相似度与信任度构建评分预测模型,预测目标用户对项目的评分;
6)根据步骤5)获得目标用户对未评分项目的预测结果,按照由大到小降序排列,构造符合目标用户偏好的top-n项目推荐列表,向目标用户个性化推荐具体项目;
7)根据用户反馈评分与推荐用户评分之间的差异,评估推荐用户评分的有效性,针对积极与消极推荐用户予以信任奖励和惩罚。
步骤1)中,所述的评分相似度ratingsim计算方法如下:
采用公式(1)计算用户u和v的评分差异信息熵rde(u,v),采用公式(2)计算用户u和v的评分相似度ratingsim(u,v):
公式(1)和(2)中,nfail表示用户u和v对共评项目集评分态度截然相反的项目个数;n表示共评项目个数;用户u和v共同评分项的评分差值的绝对值表示为集合c={c1,c2,c3,…ck},p(ci)表示评分差值绝对值中每个值出现的概率。
步骤2)中,所述的信任相似度trustsim计算方法如下:
公式(3)中,t(u)和t(v)分别表示节点u和v信任的邻居节点集合;t(u,v)=t(u)∩t(v)表示两个用户共同信任的邻居节点集合;din(k)表示节点k入度数。
步骤3)中,所述的用户综合相似度sim计算方法如下:
采用公式(4)计算用户u和v之间的综合相似度sim,采用公式(5)计算评分相似度ratingsim与信任相似度trustsim之间的自适应权重因子α:
sim(u,v)=αratingsim(u,v)+(1-α)trustsim(u,v)(4)
步骤4)中,所述的信任度trust的计算方法如下:
4-1)若用户间存在显式信任或存在共评项目集的评分交互时,融合显式信任与推荐信任,采用公式(6)计算用户直接信任度:
dtrust(u,v)=ρretrust(u,v)+(1-ρ)tuv(6)
公式(6)中,dtrust(u,v)表示目标用户u对推荐用户v的直接信任度;retrust(u,v)表示推荐信任度;tuv表示用户u和v的显式信任,tuv∈{0,1},0表示不信任,1表示信任;ρ为权重调节因子取值0.5。
采用公式(7)计算推荐信任度retrust(u,v):
retrust(u,v)=jacu,v[βcrev+(1-β)capu,v](7)
公式(7)中,crev表示推荐用户v的评分可信度;capu,v表示推荐用户v的评分预测能力;jacu,v表示用户u和v的共评项目jaccard系数;β为权重调节因子,取值0.2;
采用公式(8)计算用户v的评分可信度crev:
crev=actv×errv(8)
采用公式(9)计算用户活跃度actv:
公式(9)中,im表示第m个用户的评分项目集合;|iv|表示用户v评分项目的数量;
采用公式(10)计算用户评分偏差度errv:
公式(10)中,rv,i表示用户v对项目i的评分;
采用公式(11)计算推荐用户的评分预测能力capu,v:
capu,v=1-mseu,v
公式(11)中,
采用公式(12)计算预测评分
公式(12)中,rv,i表示推荐用户v对项目i的评分;
采用公式(13)计算用户u和v的共评项目jaccard系数:
4-2)若用户间无直接信任关系,但存在其它满足条件的信任传递路径时,依据路径个数分别计算单路径间接信任度或多路径间接信任度itrust:
单路径间接信任:若用户u和v之间有且仅有一条可达的最短路径p=(u,u1,u2,…v),路径长度length(path)≤dmax,单路径间接信任计算如公式(14)所示:
公式(14)中,dtrust(u1,u2)表示该路径上相邻用户间u1对u2的直接信任度;dp表示该路径的长度;
公式(15)中,dmax表示信任路径搜索的最大深度为3,duv表示用户u和v之间的信任路径长度;
多路径间接信任:若用户u和用户v之间存在多条可达的最短路径,路径集合表示为paths(u,v)={p1(u,v),p2(u,v),…pn(u,v)},其中任意一条可达路径p(u,v)∈paths(u,v)的路径长度dp满足dp≤dmax,则多路径间接信任计算如公式(16)所示:
itrust(u,v)=maxpaths(u,v)(itrust(u,v))(16)
公式(16)表示以最大值的方式从多条单路径中选择出最优或近似最优的信任传递路径;
4-3)若用户间无直接信任与间接信任关系时,采用公式(17)计算用户的全局信任度auth:
公式(17)中,trust(k,u)表示信任网络中用户k对用户u的直接/间接信任度;c表示与用户u具有直接/间接信任关系的用户数量。
步骤5)中,所述的项目预测评分的计算方法如下:
公式(18)中,sn和tb分别表示top-k相似用户集和信任用户集;sim(u,v)表示由公式(4)计算所得的用户间的综合相似度;trust(u,t)表示目标用户u对信任推荐用户t的信任度;θ表示权重调节参数取值0.5。
步骤6)中,所述的将符合目标用户偏好的top-n项目,向目标用户进行个性化推荐。
步骤7)中,所述的信任奖惩方法如下:
7-1)采用公式(19)的计算方法对积极推荐用户予以信任奖励:
公式(19)中,
公式(20)中,n=|totalset(u,v)|表示推荐用户v对目标用户u的总推荐次数;ns表示推荐用户v对目标用户u的成功推荐次数;
7-2)采用公式(21)的计算方法对消极推荐用户予以信任惩罚:
公式(21)中,mf表示信任改变量最大值的控制因子,令
公式(22)中,nf=|false(u,v)|表示推荐用户v对目标用户u的失败推荐次数。
与现有方法相比,本发明具有以下优点:
1)构造基于评分差异的信息熵兴趣相似度计算方法,引入一种避免信任网络热区效应的信任关系隐性相似度,将二者自适应动态融合以计算用户综合相似度,缓解因数据稀疏性所导致的评分相似度准确性较低或冷启动用户相似度难以计算的问题;
2)根据用户评分数据,从评分可信度、预测评分能力、共评项目集的jaccard系数三个维度计算推荐信任度,将显式信任与推荐信任相融合,准确计算用户间的直接信任度,减少不可靠用户的虚假推荐;基于重构的信任网络分析研究单路径信任弱传播与多路径信任聚合问题,构建间接和全局信任度计算模型;
3)引入信任奖惩更新机制,抑制用户随意、虚假评分行为对推荐性能的负面影响;评估推荐用户评分的有效性,分别对积极推荐者和消极推荐者的信任度进行合理的奖励与惩罚,表征用户间信任关系的动态演化,为目标用户动态更新信任邻居集。
附图说明
图1为一种融合信息熵相似度与动态信任的协同过滤推荐方法的流程示意图;
图2为皮尔逊相似度示意图;
图3为改进的皮尔逊相似度示意图;
图4为余弦相似度示意图;
图5为综合相似度示意图;
图6为不同相似度算法的mae对比;
图7为θ对mae的影响;
图8为θ对rmse的影响;
图9为不同推荐算法的mae对比;
图10为不同推荐算法的召回率(rl)对比;
图11为不同推荐算法的mae对比。
具体实施方式
下面结合附图和实施例对本发明内容做进一步的详细说明,但不是对本发明的限定。
实施例:
如图1所示,一种融合信息熵相似度与动态信任的协同过推荐方法,具体包括如下步骤:
本实例使用filmtrust电影评分数据集:评分数据包括1508个用户对2071部电影的35497次评分,评分取值区间0.5~4,评分数据稀疏度为98.86%;信任数据包括1642个用户之间的1853个显式信任关系,信任数据的稀疏度为99.93%。
1)基于用户间的评分差异,构造信息熵相似度计算方法,计算用户评分相似度ratingsim:
其中,nfail表示用户u和v对共评项目集评分态度截然相反的项目个数;n表示共评项目个数;用户u和v共同评分项的评分差值的绝对值表示为集合c={c1,c2,c3,…ck},p(ci)表示评分差值绝对值中每个值出现的概率。
2)基于显式信任关系,构造信任关系隐性相似度计算方法,计算用户信任相似度trustsim:
其中,t(u)和t(v)分别表示节点u和v信任的邻居节点集合;t(u,v)=t(u)∩t(v)表示两个用户共同信任的邻居节点集合;din(k)表示节点k入度数。
3)融合ratingsim与trustsim构建综合相似度计算模型,计算用户综合相似度sim:
sim(u,v)=αratingsim(u,v)+(1-α)trustsim(u,v)(4)
4)分析用户间的信任关系,构建信任度trust计算模型,计算用户直接信任度dtrust、间接信任度itrust、全局信任度auth:
4-1)若用户间存在显式信任或存在共评项目集的评分交互时,融合显式信任与推荐信任,计算用户直接信任度:
dtrust(u,v)=ρretrust(u,v)+(1-ρ)tuv(6)
其中,dtrust(u,v)表示目标用户u对推荐用户v的直接信任度;retrust(u,v)表示推荐信任度;tuv表示用户u和v的显式信任,tuv∈{0,1},0表示不信任,1表示信任;ρ为权重调节因子取值0.5。
采用公式(7)计算推荐信任度retrust(u,v):
retrust(u,v)=jacu,v[βcrev+(1-β)capu,v](7)
其中,crev表示推荐用户v的评分可信度;capu,v表示推荐用户v的评分预测能力;jacu,v表示用户u和v的共评项目jaccard系数;β为权重调节因子取值0.2。
采用公式(8)计算用户v的评分可信度crev:
crev=actv×errv(8)
采用公式(9)计算用户活跃度actv:
其中,im表示第m个用户的评分项目集合;|iv|表示用户v评分项目的数量;
采用公式(10)计算用户评分偏差度errv:
其中,rv,i表示用户v对项目i的评分;
采用公式(11)计算推荐用户的评分预测能力capu,v:
capu,v=1-mseu,v
其中,
采用公式(12)计算预测评分
其中,rv,i表示推荐用户v对项目i的评分;
采用公式(13)计算用户u和v的共评项目jaccard系数:
4-2)若用户间无直接信任关系,但存在其它满足条件的信任传递路径时,依据路径个数分别计算单路径间接信任度或多路径间接信任度itrust:
单路径间接信任:若用户u和v之间有且仅有一条可达的最短路径p=(u,u1,u2,…v),路径长度length(path)≤dmax,单路径间接信任计算如公式(14)所示:
其中,dtrust(u1,u2)表示该路径上相邻用户间u1对u2的直接信任度;dp表示该路径的长度;
其中,dmax表示信任路径搜索的最大深度为3,duv表示用户u和v之间的信任路径长度;
多路径间接信任:若用户u和用户v之间存在多条可达的最短路径,路径集合表示为paths(u,v)={p1(u,v),p2(u,v),…pn(u,v)},其中任意一条可达路径p(u,v)∈paths(u,v)的路径长度dp满足dp≤dmax,则多路径间接信任计算如公式(16)所示:
itrust(u,v)=maxpaths(u,v)(itrust(u,v))(16)
公式(16)表示以最大值的方式从多条单路径中选择出最优或近似最优的信任传递路径;
4-3)若用户间无直接信任与间接信任关系时,计算用户的全局信任度auth:
其中,trust(k,u)表示信任网络中用户k对用户u的直接/间接信任度;c表示与用户u具有直接/间接信任关系的用户数量。
5)根据步骤3)和步骤4)获得用户综合相似度sim与信任度trust,按照由大到小降序排列,选取目标用户的top-k相似与信任推荐用户集,融合相似度与信任度构建评分预测模型,预测目标用户对项目的评分:
其中,sn和tb分别表示top-k相似用户集和信任用户集;sim(u,v)表示由公式(4)计算所得的用户间的综合相似度;trust(u,t)表示目标用户u对信任推荐用户t的信任度;θ表示权重调节参数取值0.5。
6)根据步骤5)获得目标用户对未评分项目的预测结果,按照由大到小降序排列,构造符合目标用户偏好的top-n项目推荐列表,向目标用户个性化推荐具体项目;
7)根据用户反馈评分与推荐用户评分之间的差异,评估推荐用户评分的有效性,针对积极与消极推荐用户予以信任奖励和惩罚:
7-1)采用公式(19)的计算方法对积极推荐用户予以信任奖励:
其中,
其中,n=|totalset(u,v)|表示推荐用户v对目标用户u的总推荐次数;ns表示推荐用户v对目标用户u的成功推荐次数;
7-2)采用公式(21)的计算方法对消极推荐用户予以信任惩罚:
其中,mf表示信任改变量最大值的控制因子,令
其中,nf=|false(u,v)|表示推荐用户v对目标用户u的失败推荐次数。
本实例使用filmtrust数据集的实验结果如下:
(1)性能评价指标:
平均绝对误差(meanabsoluteerror,mae),mae表示预测评分值与真实评分值之间的平均绝对误差,mae值越小说明算法的推荐精度越高,mae计算如公式(23)所示:
其中,pk表示预测评分值,rk表示真实评分值,n表示评分预测的次数。
均方根误差(rootmeansquarederror,rmse),rmse表示预测评分值与真实评分值偏差的平方和与评分预测次数比值的平分根,其值越小说明算法的推荐精度越高,rmse计算如公式(24)所示:
召回率(recall,rl),rl也称查全率,表示通过算法可以预测得出的评分数与所有待测评分数的比值,rl计算如公式(25)所示:
其中,m表示算法可得的预测评分个数,n表示测试集中的待测评分个数。
(2)相似度算法对比:
为了验证本发明提出的综合相似度算法(sim)的精确性,将sim算法与以下算法进行对比分析:
·余弦相似度(cosine):以向量空间中两个用户的评分向量夹角的余弦值衡量用户差异大小;算法表征两个向量在方向上的差异,不体现距离或长度上的差异;
·皮尔逊相似度(pearson):计算两个变量之间的协方差和标准差的商,算法用于度量两个变量线性相关性的强弱;
·改进的皮尔逊相似度(adjusted_pearson):引入用户间共同评分项目数的logistic函数对皮尔逊相似度的计算公式进行优化;
实验一:相似度精度的对比分析
从filmtrust评分数据中随机选取80%作为训练集,其余20%作为测试集。选取评分项目个数较多的第509个用户作为目标用户,从训练集中随机选取1000个不同用户,分别采用pearson、adjusted_pearson、cosine、和sim计算目标用户与这1000个用户之间的相似度,四种相似度计算结果的分布情况分别如图2、图3、图4、图5所示。
由图4可以看出,余弦相似度(cosine)算法的相似度计算结果主要分布在区间[0.8,1]内,部分相似度计算值被夸大而不准确;并且由于相似度分布区间窄,用户间所表现出的差异度较小,将导致系统难以精确筛选目标用户的top-k近邻相似推荐用户;这是由于余弦算法表征两个向量在方向上的差异,而不体现距离或长度上的差异;实验结果表明余弦相似度(cosine)算法的相似度精度较低。
由图2可以看出,皮尔逊相关系数(pearson)算法的相似度计算结果主要分布在区间[-0.6,0.8]内,相似度分布区间较余弦相似度而言有很大扩展,但是由于皮尔逊相关系数存在负数,而与目标用户负相关的用户无法作为目标用户的top-k近邻推荐用户,与某些实际情况相悖;这是由于皮尔逊相关系数仅用于度量两个变量线性相关性的强弱,也并不能完全精确地反映用户间的相似度;实验结果表明,与余弦相似度相比,皮尔逊相似度精度具有一定提升,但是存在漏选目标用户的top-k近邻相似推荐用户的不精确情况。
由图3可以看出,改进的皮尔逊相似度(adjusted_pearson)算法的计算结果主要分布在区间[-0.4,0.6]内,与图2相比,图3中正相关相似度为1与负相关相似度为-1的结果明显减少,这是由于改进的皮尔逊相似度算法引入了用户间共同评分项目数的logistic函数影响因子,从而一定程度上优化了相似度计算结果。但是对比图2和图3可见,该算法并没有真正解决皮尔逊相关系数自身存在的负相关局限性问题,依旧会存在漏选目标用户的top-k近邻相似推荐用户的不精确情况。
由图5可以看出,本发明提出的综合相似度(sim)算法的相似度计算结果主要分布在区间[0.4,0.9]内,区间内相似度数值分布相对均匀且精确度较高;与图2、图3、图4相比,sim算法避免了相似度分布密集度与重合度过高的不精确情况;这是由于本发明提出的综合相似度算法sim不仅利用了用户间评分差异的信息熵来有效量化用户间的差异,同时也考虑了用户间共评项目集的影响因子,此外还融合了用户间的信任隐性相似度,因此本发明综合相似度算法sim获得了更高精度的相似度。
实验结果:本发明提出的基于评分差异的信息熵相似度和信任关系隐含相似度两个维度计算所得的用户综合相似度精度明显提高,能更加准确地筛选出目标用户的top-k近邻相似推荐用户。
实验二:相似度算法推荐性能的对比分析
从filmtrust评分数据中随机选取80%作为训练集,其余20%作为测试集;选取目标用户的近邻用户数k为{5,10,…,60}10个不同的取值。在测试集上计算预测评分与真实评分之间的平均绝对误差,四种相似度算法的推荐精度mae对比结果如图6所示。
由图6可以看出,随着近邻用户数k的增大,四种相似度推荐算法的mae值保持大体一致的降低趋势,表示推荐精度均随k值增大而提升,并且当k值越大时推荐精度愈加趋于平稳;在不同的k值上,本发明提出的综合相似度算法sim的mae值均小于其他相似度算法,表明本发明的综合相似度算法sim的推荐性能优于其他相似度算法,该实验再次证明了本发明综合相似度的较高精确性;这是由于本发明提出的综合相似度算法sim不仅利用了用户间评分差异的信息熵来有效量化用户间的差异,同时也考虑了用户间共评项目集的影响因子,并且引入信任关系隐含相似度进一步缓解了冷启动用户相似度难以计算的问题,融合两个维度计算所得的相似度精度明显提升,从而选择了更加精确的top-k近邻相似推荐用户。
实验结果:本发明提出的综合相似度算法sim相似度精度更高,可更加准确地筛选出目标用户的top-k近邻相似推荐用户,提升推荐系统的推荐可靠度。(3)权重调节因子的影响
实验三:权重调节参数θ对cf-iesdt算法推荐性能的影响分析
该实验主要为了分析本发明提出的融合相似与信任的评分预测公式(20)中的θ权重调节参数对cf-iesdt算法的推荐性能的影响;其中θ为相似推荐用户集和信任推荐用户集在评分预测中的权重调节参数,θ取值范围为[0,1]。
从filmtrust评分数据中随机选取90%作为训练集,其余10%作为测试集;选取目标用户的近邻用户数k为{5,10,…,25}5个不同的取值。在测试集上取θ={0,0.1,0.2,…,1},计算预测评分与真实评分之间的平均绝对误差mae与均方根误差rmse,结果如表1和表2所示,不同θ值对cf-iesdt算法的推荐精度mae和rmse的影响如图7和图8所示。
由图7和图8可以看出,cf-iesdt算法的推荐精度mae和rmse均随着不同的θ值发生变化,并且随着近邻用户数k的增大,mae值和rmse值均降低;当θ=1时,评分预测完全依赖于本发明提出的综合相似度所筛选的top-k相似近邻推荐用户集,推荐精度mae值和rmse值均较高;当θ=0时,评分预测完全依赖于信任度所筛选的top-k信任近邻推荐用户集,推荐精度mae值和rmse值同样较高;当θ值从0~0.5变化时,mae值和rmse值均随之减小,但是当0.5<θ≤1时,mae值和rmse值反而随着θ的增大而增大。
实验结果:当θ值趋近于0.5时,cf-iesdt算法的推荐精度mae和rmse取值均达到近似最优(即最小值)。因此,在接下来的推荐性能对比实验中,权重调节参数θ取值为0.5。
(4)推荐性能对比
贾冬艳提出一种基于双重邻居选择策略的协同过滤推荐算法(cf-dnc),与本发明提出的融合信息熵相似度与动态信任的协同过滤推荐算法(cf-iesdt)有类似之处。cf-dnc算法基于改进的皮尔逊相似度来选择目标用户的兴趣相似top-k近邻用户集,然后利用“leave-one-out”方法计算兴趣相似top-k近邻用户的评分预测能力,从而表征目标用户对相似用户的信任度,最后以此信任度作为选取可信推荐邻居用户的依据。与本发明提出的算法cf-iesdt相比,cf-dnc考虑了推荐用户与目标用户是否兴趣相似以及推荐用户的评分预测能力,但是,cf-dnc并没有扩展信任隐性相似度,更没有考虑用户可信度等多个信任影响因子,该算法并未真正意义上融合相似关系与信任关系。
实验四:cf-iesdt算法推荐性能的对比分析
为了验证cf-iesdt算法的推荐精度与推荐可靠度,与以下经典的协同过滤推荐算法进行对比分析:
·协同过滤推荐算法(cf);
·基于双重邻居选择策略的协同过滤推荐算法(cf-dnc);
同时,为了验证cf-iesdt算法融合相似关系与信任关系的合理性,以及信任奖惩机制的有效性,实验分别观察了以下本发明提出的协同过滤推荐算法的推荐性能:
·基于评分相似度的协同过滤推荐算法(ratingsim);
·基于信任相似度的协同过滤推荐算法(trustsim);
·基于综合相似度的协同过滤推荐算法(sim);
·基于信任奖惩的动态信任协同过滤推荐算法(dynamic_trust);
·基于无信任奖惩的静态信任协同过滤推荐算法(trust);
·融合综合相似度与静态信任的协同过滤推荐算法(cf-iest);
从filmtrust评分数据中随机选取90%作为训练集,其余10%作为测试集。在相同实验环境下,选取近邻用户数k为{5,10,…,25}5个不同的取值,选取评分预测权重调节参数θ为0.5。分别采用以上推荐算法,在测试集上计算预测评分与真实评分之间的平均绝对误差mae,结果如表3所示,各算法的推荐精度mae对比如图9所示。
由图9可以看出,随着近邻用户数k的增大,cf-iesdt算法的推荐精度mae均高于cf、cf-dnc算法,表明cf-iesdt算法具有相对最优的推荐性能。主要表现为:
1)本发明提出的ratingsim、sim、dynamic_trust三种算法的推荐精度mae都明显高于cf和cf-dnc算法:例如,在近邻个数k为15时,三种算法的推荐精度mae均比cf和cf-dnc提高了大约20%和4%;在近邻个数k为25时,三种算法的推荐精度mae均比cf和cf-dnc分别提高了大约22%和8%。由此可见,本发明通过sim和dynamic_trust算法分别获得了更为精确的相似度与信任度。这是因为sim算法分别提出了一种基于评分差异的信息熵兴趣相似度计算方法和一种避免信任网络热区效应的信任关系隐性相似度计算方法,通过融合兴趣相似与信任相似获得了更为精确的综合相似度。同理为了融合兴趣相似与信任关系,dynamic_trust算法根据用户评分数据,从用户评分可信度、评分预测能力、共评项目集的jaccard系数三个维度,首先度量了用户的推荐信任度,其实质也是相似度的表征;再将其与显式信任相融合准确计算了用户的直接信任度、间接信任度和全局信任度;通过综合度量用户评分推荐的可信度与可靠度,降低了不可靠数据对信任度计算的影响;并且dynamic_trust算法引入了信任奖惩更新机制,依据每一次用户间的推荐结果动态调整目标用户对推荐用户的信任度,随着系统运行与用户反馈,有效减少了不可靠用户的虚假推荐,dynamic_trust算法获得了更为精确与客观的用户信任度。
2)本发明提出的融合相似与信任的cf-iesdt算法的推荐精度mae均高于融合前的sim和dynamic_trust算法,同时也明显高于cf和cf-dnc算法:例如,在近邻个数k为15时,cf-iesdt算法的推荐精度mae比cf和cf-dnc分别提高了大约21%和6%,与sim和dynamic_trust算法相比,推荐精度mae再次提高了1%和2%;在近邻个数k为25时,cf-iesdt算法的推荐精度mae比cf和cf-dnc分别提高了大约23%和9%,与sim和dynamic_trust算法相比,cf-iesdt算法的推荐精度mae再次分别提高了1%和1%。由此表明本发明cf-iesdt算法提出的融合相似与信任的评分预测方法合理有效,具有提升算法推荐精度的作用。这是因为cf-iesdt算法通过融合综合相似sim与动态信任dynamic_trust算法获得了更精确的相似度与信任度,从而更加准确地筛选出了既相似又可信的用户作为top-k近邻推荐用户,最终获得最优推荐性能。
实验结果:本发明提出的综合相似度算法sim和动态信任算法dynamic_trust能够获得较精确的相似度与信任度;与未融合的综合相似度算法sim与信任推荐算法dynamic_trust相比,融合相似与信任关系后的cf-iesdt算法具有再次提升推荐性能的作用,因此证明了本发明提出的融合相似与信任的评分预测方法合理有效;与cf和cf-dnc算法相比,cf-iesdt算法可有效减少不可靠用户的虚假推荐,具有相对更优的推荐精度与推荐可靠度。
实验五:cf-iesdt算法召回率的对比分析
从实验四可以看出基于信任相似度的协同过滤推荐算法trustsim的推荐精度mae均低于本发明提出的ratingsim、sim、dynamic_trust算法,究其原因是实验数据集filmtrust中信任数据的稀疏度高达99.93%,仅仅以信任网络中两个用户的共同信任用户来计算用户间的相似度,再以此信任关系隐性相似度作为top-k近邻推荐用户的选择依据显然是不充足且不准确的。如表4所示,采用trustsim算法的可预测分数仅883个,召回率rl大约为25%,远远低于其他推荐算法,所以trustsim算法的推荐性能低于其他算法这一现象是合理可解释的。
为了进一步验证cf-iesdt的召回率rl,分别与cf、cf-dnc算法的召回率进行对比。从filmtrust评分数据中随机选取90%作为训练集,其余10%作为测试集,该实验中测试集的待测评分个数n=3545,rl对比结果如表4和图10所示。
从图10可以看出,cf-iesdt算法的召回率比cf和cf-dnc算法分别提升了大约13%和3%,由此说明在数据集极度稀疏的情形下,cf-iesdt算法在提高推荐精度的同时也获得了更高的召回率。本发明提出的ratingsim、sim、dynamic_trust算法的召回率与cf和cf-dnc算法相比,也具有明显提升。这是因为cf-iesdt算法一方面通过融合兴趣相似与信任相似来缓解了冷启动用户相似度难以计算的问题,另一方面通过融合推荐信任与显式信任,并基于重构的信任网络研究了单路径信任弱传播与多路径信任聚合的信任传递问题,也在一定程度上缓解了信任数据稀疏性与冷启动问题。
实验结果:在数据集极度稀疏的情形下,cf-iesdt算法的推荐精度mae并没有随着召回率rl的增大而减小,相反如图9所示cf-iesdt算法具有相对最优的推荐性能;cf-iesdt算法在获得较高召回率的同时保持了较高的推荐精度,并且有效缓解了推荐算法的数据稀疏性与冷启动问题。
实验六:信任奖惩机制有效性的验证分析
为了验证本发明cf-iesdt算法提出的信任奖惩机制的有效性,实验分别观察了本发明提出的以下算法的推荐性能:(1)基于无信任奖惩的静态信任协同过滤推荐算法(trust);(2)基于信任奖惩的动态信任协同过滤推荐算法(dynamic_trust);(3)融合综合相似度与静态信任的协同过滤推荐算法(cf-iest);四种算法的推荐精度mae对比结果如图11所示。
由图11可以看出,与无信任奖惩机制的静态信任推荐算法trust的推荐性能相比,引入信任奖惩机制后的动态信任推荐算法dynamic_trust的推荐性能获得提升,这是因为信任奖惩机制根据用户反馈评分与推荐用户评分之间的差异,评估推荐用户评分的有效性,对其信任度分别进行控制性奖励与惩罚,抑制了用户随意、虚假评分行为对系统推荐性能的负面影响。随着系统运行和信任值的不断调整更新,与目标用户推荐成功率越高的用户获得较高信任度,这些用户将稳定成为目标用户的top-k近邻信任推荐用户,因此dynamic_trust算法筛选出了更为准确的top-k近邻信任推荐用户,从而提高未评分项目的预测精度,使得推荐结果更可靠;同理,与无信任奖惩机制的cf-iest推荐算法的推荐性能相比,引入信任奖惩机制后的cf-iesdt算法的推荐性能同样获得提升,这是因为随着系统的运行,用户间信任度与相似度都根据用户的每一次推荐结果得到了合理的调整,有效减少了不可靠用户的虚假推荐,使得推荐结果始终来自于与目标用户信任且相似度较高的推荐用户。
实验结果:本发明提出的信任奖惩更新机制能有效抑制用户随意、虚假评分行为对系统推荐性能的负面影响,提升推荐系统的推荐精度;算法依据用户的推荐行为分别对积极和消极推荐者进行信任奖励与惩罚,能够为目标用户动态更新top-k近邻信任用户集,减少不可靠用户的虚假推荐,从而提高未评分项目的预测精度,最终为目标用户提供可靠的个性化精准推荐。
总结:
本发明提出一种融合信息熵相似度与动态信任的协同过滤推荐方法cf-iesdt,算法能有效减少不可靠用户的虚假推荐,抑制用户随意、虚假评分行为对推荐性能的负面影响,缓解推荐系统的数据可靠性、数据稀疏性与冷启动问题。与cf、cf-dnc推荐算法相比,cf-iesdt算法推荐性能明显提升,同时获得更高召回率。实验结果表明,本发明提出的信任奖惩策略以及构建的相似度计算模型、信任度计算模型、融合相似与信任的评分预测模型合理有效,具有提升算法推荐精度与推荐可靠度的作用。
表1θ对mae的影响实验结果
表2θ对rmse的影响实验结果
表3不同推荐算法的mae实验结果
表4不同推荐算法的召回率(rl)实验结果