1.一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,首先,基于推荐系统的用户项目评分与显式信任关系,计算用户相似度与信任度,由大到小选取目标用户的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无评分则表示为 用户间的显式信任关系表示为m×m阶信任矩阵T,Tij(1≤i≤m,1≤j≤m)表示用户ui与用户uj的信任关系,Tij∈{0,1},0表示不信任,1表示信任;;
所述方法,具体包括如下步骤:
1)基于用户间的评分差异,构造信息熵相似度计算方法,计算用户评分相似度RatingSim;
2)基于显式信任关系,构造信任关系隐性相似度计算方法,计算用户信任相似度TrustSim;
3)融合RatingSim与TrustSim构建综合相似度计算模型,计算用户综合相似度SIM;
4)分析用户间的信任关系,构建信任度Trust计算模型,计算用户直接信任度DTrust、间接信任度ITrust、全局信任度Auth;
a)若用户间存在显式信任或存在共评项目集的评分交互时,计算用户评分可信度Cre、评分预测能力Cap、共评项目集Jaccard系数;综合用户评分可信度Cre、评分预测能力Cap、共评项目集Jaccard系数三个影响因子,计算目标用户对推荐用户的推荐信任度ReTrust;
融合显式信任与推荐信任计算目标用户对推荐用户的直接信任度DTrust;
b)若用户间无直接信任关系,但存在其它满足条件的信任传递路径时,依据路径个数计算单路径间接信任度或多路径间接信任度ITrust;
c)若用户间无直接信任与间接信任关系时,计算用户的全局信任度Auth,利用用户的全局信任度作为目标用户对推荐用户的信任度;
5)根据步骤3)和步骤4)获得用户综合相似度SIM与信任度Trust,按照由大到小降序排列,选取目标用户的Top-K相似与信任推荐用户集,融合相似度与信任度构建评分预测模型,预测目标用户对项目的评分;
6)根据步骤5)获得目标用户对未评分项目的预测结果,按照由大到小降序排列,构造符合目标用户偏好的Top-N项目推荐列表,向目标用户个性化推荐具体项目;
7)根据用户反馈评分与推荐用户评分之间的差异,评估推荐用户评分的有效性,针对积极与消极推荐用户予以信任奖励和惩罚。
2.根据权利要求1所述的一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,步骤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)表示评分差值绝对值中每个值出现的概率。
3.根据权利要求1所述的一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,步骤2)中,所述的信任相似度TrustSim计算方法如下:公式(3)中,T(u)和T(v)分别表示节点u和v信任的邻居节点集合;T(u,v)=T(u)∩T(v)表示两个用户共同信任的邻居节点集合;Din(k)表示节点k入度数。
4.根据权利要求1所述的一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,步骤3)中,所述的用户综合相似度SIM计算方法如下:采用公式(4)计算用户u和v之间的综合相似度SIM,采用公式(5)计算评分相似度RatingSim与信任相似度TrustSim之间的自适应权重因子α:SIM(u,v)=αRatingSim(u,v)+(1-α)TrustSim(u,v) (4)
5.根据权利要求1所述的一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,步骤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的评分;表示项目i的评分均值;
采用公式(11)计算推荐用户的评分预测能力Capu,v:
Capu,v=1-MSEu,v
公式(11)中, 表示将用户v作为用户u的唯一推荐用户,对共评项目集的预测评分;
ru,i表示用户u对项目i的评分;|Iuv|表示两个用户的共评项目数量;
采用公式(12)计算预测评分
公式(12)中,rv,i表示推荐用户v对项目i的评分; 和 分别表示用户u和v的评分均值;
SIM(u,v)表示公式(4)所述的用户u和v之间的综合相似度;
采用公式(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)所示:公式(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具有直接/间接信任关系的用户数量。
6.根据权利要求1所述的一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,步骤5)中,所述的项目预测评分的计算方法如下:公式(18)中,SN和TB分别表示Top-K相似用户集和信任用户集;SIM(u,v)表示由公式(4)计算所得的用户间的综合相似度;Trust(u,t)表示目标用户u对信任推荐用户t的信任度;θ表示权重调节参数取值0.5。
7.根据权利要求1所述的一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,步骤6)中,所述的将符合目标用户偏好的Top-N项目,向目标用户进行个性化推荐。
8.根据权利要求1所述的一种融合信息熵相似度与动态信任的协同过滤推荐方法,其特征在于,步骤7)中,所述的信任奖惩方法如下:
7-1)采用公式(19)的计算方法对积极推荐用户予以信任奖励:
公式(19)中, 表示信任更新后,目标用户u对推荐用户v的信任度; 表示信任更新前,目标用户u对推荐用户v的信任度;MS表示信任改变量最大值的控制因子,令ES表示推荐评分误差对奖励幅度的影响因子,令 其中Q表示推荐系统中评分误差最大值,R表示项目评级最大值,当评分误差d=|ru,i-rv,i|≤ε时,误差d越大则奖励值越小;PN表示用户推荐次数对奖励力度的影响因子,令 其中ω=Crev表示用户评分可信度;PS表示推荐节点的推荐成功率,当推荐用户v对目标用户u积极推荐,即|ru,i-rv,i|≤ε时,此次推荐成功,PS计算公式如(20)所示:公式(20)中,N=|TotalSet(u,v)|表示推荐用户v对目标用户u的总推荐次数;Ns表示推荐用户v对目标用户u的成功推荐次数;
7-2)采用公式(21)的计算方法对消极推荐用户予以信任惩罚:
公式(21)中,Mf表示信任改变量最大值的控制因子,令 Ef表示推荐评分误差对惩罚幅度的影响因子,令 当用户间评分误差d=|ru,i-rv,i|>ε时,误差d越大则惩罚值越大;PN表示用户推荐次数对惩罚力度的影响因子,令 Pf表示推荐节点的推荐失败率,当推荐用户v对目标用户u消极推荐,即|ru,i-rv,i|>ε时,此次推荐失败,Pf计算公式如(22)所示:公式(22)中,Nf=|False(u,v)|表示推荐用户v对目标用户u的失败推荐次数。