一种融合用户信任关系和评论信息的个性化推荐方法与流程

文档序号:11918932阅读:220来源:国知局
一种融合用户信任关系和评论信息的个性化推荐方法与流程

本发明涉及计算机数据处理技术领域,特别是个性化推荐方面涉及用户信任网络、有用性评价行为的多源数据技术。



背景技术:

个性化推荐系统作为缓解信息负载的有效手段,它通过分析用户的历史行为数据来获取用户的特征或预测用户行为。然而随着用户数量的急剧增加,在有限行为数据条件下,构建用户兴趣模型和预测用户行为十分困难。矩阵分解方法旨在使用两个或者更多低维矩阵来逼近一个高维矩阵,这种方法能够删除噪声用户或噪声项目,把用户项目评分矩阵的维度降低,以取得用户或项目之间潜在关系,从而获得较好的预测精度,应用也较为广泛。并且,如果在矩阵分解的基础上融合边缘信息,能够进一步缓解推荐推荐系统面临的数据稀疏和冷启动问题。

推荐算法作为推荐系统的核心内容,对推荐结果的准确性有着直接影响。协同过滤算法是推荐系统中广泛应用的算法之一,主要分为基于用户的协同过滤算法和基于物品的协同过滤算法两大类。基于用户的协同过滤算法主要思想是利用已经掌握的用户群过去的行为和操作来推测当前用户的兴趣点。简单来说,就是通过分析用户共同评分项目来计算两个用户之间的相似度,从而为相似用户提供可能感兴趣的推荐。传统协同过滤算法通常使用余弦公式或Pearson公式来计算用户相似度。然而,协同过滤算法普遍存在数据稀疏性问题,当评分数据稀疏时,用户共同评分项目就会很少,甚至没有。显然,在这种情况下判断两个用户是否相似的计算方法并不准确。

针对评分数据稀疏和冷启动问题,目前已提出一些方法减少其对推荐结果的影响,但效果并不理想,例如,利用奇异值分解删除不重要的或噪声用户和项目,降低用户项目评分的维度。

现实生活中,人与人之间自然地形成不同类型的社会关系网络,如朋友关系、合作关系,并通过这些关系网络传递信息。其中,相互间的信任对信息的交流发挥着重要作用,如人们更愿意和他所信任的人交流,也更容易被他所信任的人影响,而这种信任关系可以从社会网络中发现,我们称之为信任关系。今年来,随着社交网络的发展,利用社会网络关系中的信任关系,解决推荐系统的数据稀疏性问题开始受到越来越多的关注。

JiLiang.Tang等人从用户全局信任机制和局部信任机制两个方面细化用户之间的信任关系,并引入用户社会信任属性信息,在一定程度上缓解了推荐系统中数据稀疏性和冷启动问题

随着Web2.0的流行,今天的互联网用户不再满足于静态的信息和嵌入页面的应用,相反,他们开始自己扮演非常活跃的角色,通过社交网络他们会主动公布自己的特点和偏好。从用户对项目的评论或有用性评价信息入手,在线评论(包括文本评论信息、有用性评价信息、点赞和踩等形式)在用户决策过程中扮演着一个重要的角色,其价值已经得到消费者和在线零售商的公认。对评论有用性进行深入研究,构建了评论有用性影响因素模型,指出评论蕴含的信息能够减少用户在线决策的不确定性,这对于有效构造用户兴趣模型是一个重要的信息来源。

传统的推荐方法只利用评分矩阵来产生推荐,它们仅仅关注用户的兴趣特征,忽略了用户间的信任关系,将用户与用户的关系等同对待。事实上,不仅兴趣因素,而且信任关系也在一定程度上影响用户的决策。有用性评价也隐式包含用户间的信任关系,因此,如果充分利用用户之间的相互影响来预测用户对未知项目的隐式偏好,必能在一定程度上缓解数据稀疏性对推荐系统性能的影响。对此,本发明提出一种融合用户社会信任网络、用户项目评分和有用性评价的协同过滤推荐方法,将多源数据融入矩阵分解模型,从而对推荐系统的推荐精度进行提高。

本发明基本定义如下:

定义1:Type-I Helpfulness:用户Ui针对其他用户对项目Ij的评分rk(非Ui用户的评分)具有有用性评价Hik,而且用户Ui对项目Ij也有评分。

定义2:Type-II Helpfulness:用户Ui仅针对其他用户对项目Ij的评分rk(非Ui用户的评分)具有有用性行为Hik,然而用户Ui对项目Ij没有评分。

定义3:集合Ρij表示用户Ui对项目Ij所有含有Type-I Helpfulness类型有用性评价的评分集合。

定义4:集合Kij表示用户Ui对项目Ij所有含有Type-II Helpfulness类型有用性评价的评分集合。



技术实现要素:

针对用户评分数据稀疏、冷启动问题导致推荐系统产生的推荐结果不准确的问题,本发明的目的提供一种融合边缘数据如用户信任关系、用户有用性评价的协同过滤推荐方法。该方法将互联网上的多重信息源有效的融合到矩阵分解模型中,利用Alternating Least Squares(ALS)算法,计算用户特征矩阵和项目特征矩阵,然后依据求得的两个特征矩阵进行评分预测,可以获得更准确的推荐结果。

本发明提供了一种融合用户信任关系和评论信息的个性化推荐方法,所述方法包括如下步骤:

S1:基于用户项目评分数据,计算用户间的相似度,构建用户偏好关系网络

S2:基于用户对其他用户的评分信息的有用性评价行为,在有用性评价行为的定义基础上,构建用户隐式信任关系网络;

S3:融合偏好关系网络和显式信任关系网络、隐式信任关系网络,构建用户偏好信任关系网络;

S4:基于矩阵分解模型,利用用户偏好信任关系网络,计算代表用户兴趣爱好的用户特征矩阵和代表项目属性的项目属性的特征矩阵;

S5:根据用户特征矩阵和项目特征矩阵获得预测评分矩阵;

结合上述阶段构建目标函数:

第一项来源于矩阵分解模型,第二项代表的是用户的社会信任关系,第二、三项代表的是将用户的评分信息和对评分的评价双重角色,第四项代表的是正则项,防止过拟合。

求解模型最优有如下步骤:

输入:用户物品的评分矩阵用户对评分数据的有用性评价矩阵用户之间的信任关系矩阵

步骤1.计算所有评分的平均值u,分别利用公式(3)和公式(4)计算用户偏置量bu和项目偏置量bi,针对每一用户随机初始化用户和项目的特征向量Ui,Vj,w向量。

步骤2循环迭代用户的评分矩阵R,用户有用性评价矩阵H,根据定义1、定义2构造Type-I Helpfulness和Type-II Helpfulness组成的集合:

步骤3判断迭代指标是否收敛,如果收敛,则利用用户的特征向量和物品的特征向量计算用户对物品的预测评分R=UTV。否则循环执行步骤4;

步骤4

a:计算矩阵M;

b:

c:更新用户特征向量U

d:计算

e:更新项目特征向量V

f:计算

g:更新

i:更新w向量;

根据求得的用户特征向量计算对未知项目的预测评分,并选择预测评分最高的前k个项目推荐给用户

附图说明

图1是本发明的用户项目交互图。

图2是本发明的用户有用性评价场景图。

图3是RMSE评测指标示意图。

图4是MAE评测指标示意图。

图5是本发明的个性化推荐方法结构示意图。

具体实施方式

通过实例和附图对本发明做进一步的详细描述‘

发明实施的前提是已获得了用户项目评分数据、用户间信任关系数据、用户有用性评价数据。

图1为本发明实施例提供的融合偏好信任关系的协同过滤推荐方法流程示意图,如图1所示,本实施例主要包含以下步骤:

步骤S1,根据用户项目评分矩阵,按如下公式计算用户间的相似度Sim,构建用户相似关系矩阵,计算Simij作为矩阵中元素的值。

图2为用户项目评分数据的矩阵示意图,U1,…,U5表示用户,I1,……,I6表示项目,用户评分有5个等级,分别为1、2、3、4、5,如果用户对某项目评分,则在相应位置标出评分数值。

用户信任关系的计算过程,我们使用余弦相似度来度量用户之间的信任强度Sij(见公式5)。设代表用户之间的信任关系矩阵。

如果Tij=1代表用户ui和用户uj之间有信任关系,Tij=0代表用户与用户之间未知关系,比如针对用户ui,用集合表示用户ui的信任用户,m代表物品的数目。用代表用户之间的信任程度矩阵。对于那么用户i和用户j的信任程度Sij是通过用户ui的评分向量,和用户uk的评分向量的余弦相似度来度量的。对于那么Sij定义为零。

将用户项目评分矩阵和用户之间信任关系联合起来如公式6中所示的目标函数

Sij表示用户i和用户的信任关联强度,用户i的特征向量ui和用户k的特征向量uk是通过来关联在一起的,矩阵可以看作用户与用户之间信任矩阵降维后的矩阵。矩阵S中的元素Sik值较大则表明用户ui和用户uk的信任关联性强,Sik的值较小表明用户ui和用户uk的信任关联性较弱。公式(7)中Ω(θ)是正则项,防止过拟合。

用户的有用性评价行为

图1中:1)从有用性评价角度出发,用户U1对项目I1的评分为r1,用户U2不仅对项目I1有评分r2,而且对来自用户U1的评分r1进行有用性评价(值为H21);用户U2对项目I1的评分为r2,用户U3仅对来自于用户U2的评分r2进行有用性评价(值为H32),并没有对项目I1评分。2)从信任关系角度出发,用户U2对用户U1的信任值为T2,用户U3对用户U2的信任值为T3,用户U1对用户U3的信任值为T1。结合上述场景,有如下四个定义:

按照定义1中:Type-I Helpfulness:用户Ui针对其他用户对项目Ij的评分rk(非Ui用户的评分)具有有用性评价Hik,而且用户Ui对项目Ij也有评分。来构造Type-I Helpfulness类型的有用性评价。

按照定义2中:Type-II Helpfulness:用户Ui仅针对其他用户对项目Ij的评分rk(非Ui用户的评分)具有有用性行为Hik,然而用户Ui对项目Ij没有评分。来构造Type-II Helpfullness类型的有用性评价。

在定义3的基础上:集合Ρij表示用户Ui对项目Ij所有含有Type-I Helpfulness类型有用性评价的评分集合,结合Type-I Helpfullness定义构造集合Ρij

在定义4的基础上:集合Kij表示用户Ui对项目Ij所有含有Type-II Helpfulness类型有用性评价的评分集合,结合Type-II Helpfullness定义构造集合Kij

由定义1知,图1中的H21属于Type-I Helpfulness类型的有用性评价,由定义2知,H32和H33属于Type-II Helpfulness类型的有用性评价。由定义3得到P21={r1},因为U2不仅对I1有评分,而且U2对r1有用性评价(其值为H21);因为U3没有对项目I1进行评分。类似的,由定义4得到因为U2仅仅对I1有评分;K31={r2},因为U3对I1没有评分,但是U3对来自于U2对I1的评分r2具有有用性评价(其值为H32)。

基于以上分析,用户Ui对项目Ij的评分rk(值为Rij),Hik设为Ui对评分rk的有用性评价。那么,Hik间接表明Ui对Ij的喜爱程度,rk(值为Rij)直接表明Ui对Ij的喜爱程度,Hik和Rij可以联合在一起用来量化Ui对Ij的喜爱程度。这里构造函数ψ(Hik,Rij)来获得用于反映Hik和Rij两方面因素的特征向量,然后再借助线性回归模型,设w为特征向量的映射系数,进而获得用户Ui对项目Ij的综合评分

ψ(Hik;Rij)T*w。

上述中的特征向量的计算方法采用作为映射关系获得映射的特征向量。该函数是从x和y定义特征。比如,设H21=4,R21=5,则

通过构造模型目标损失函数

Fij和Gij这里所起的作用是起到标记作用,|Ρij|是集合Ρij中元素的数目,|Kij|是集合Kij中元素的数目。如果|Ρij|大于0,Fij等于1,否则为0;如果|Kij|大于0,Gij等于1,否则为0。则ψ(x,y)是有用性评价的函数所映射的特征向量,w表示特征向量的系数,ψ(Hik,Rsj)Tw是Type-I Helpfulness的预测评分,Rij是实际的评分,ψ(Hik,Rsj)Tw代表的是Type-II Helpfulness的预测评分,uiTvj是用户特征向量和项目特征向量乘积。

在矩阵分解模型的基础上,将用户信任关系和有用性评价信息融合到一个目标函数:

第一项来源于矩阵分解模型,第二项代表的是用户的社会信任关系,第二、三项代表的是将用户的评分信息和对评分的评价双重角色,第四项代表的是正则项,防止过拟合。

采用了Alternating Least Squares(ALS)算法。ALS算法是基于矩阵分解模型常用的求解算法,而且能够很好的并行处理。此时,需要求解四个梯度。

求U,V的梯度,移除不相关的变量,获得如下式子(12):

其中代表的是Hadmard product。为了便于描述后续描述的方便,公式中的M是公式(13)的简写

通过求目标函数偏导函数得到如下梯度函数

其中ε代表的含义是学习速率。

类似的

去除不相关的项,得到表达式

为了方便计算

求得偏导数之后,令其为零,获得对于w的梯度:

在获得求解模型最优参数所需要的梯度后,按照以下算法步骤获得模型参数:输入:用户物品的评分矩阵用户对评分数据的有用性评价矩阵用户之间的信任关系矩阵

输出:目标用户u对物品i的预测评分值;

步骤1.计算所有评分的平均值u,分别计算用户偏置量bu和项目偏置量bi,针对每一用户随机初始化用户和项目的特征向量Ui,Vj,w向量。

步骤2.循环迭代用户的评分矩阵R,用户有用性评价矩阵H,根据定义1、定义2构造Type-I Helpfulness和Type-II Helpfulness组成的集合,根据定义3、定义4构造集合Pij,Qij

步骤3:判断迭代指标是否收敛,如果收敛,则利用用户的特征向量和物品的特征向量计算用户对物品的预测评分R=UTV。否则循环执行步骤4;

步骤4:

a:使用公式(13)计算矩阵M;

b:使用公式(14),计算

c:更新用户特征向量U;

d:使用公式(15),计算

e:更新项目特征向量V;

f:使用公式(18),计算

g:更新

i:更新w向量;

为了验证发明中的准确性,采用Epinions数据集进行验证,该数据集提供了用户对项目的评分信息、用户和用户之间的信任关系以及用户对其他用户评分的有用性评价。数据集中评分值为1到5之间的整数,其中分数越高表示用户对项目的评价更高,每一个用户维护一个信任列表。

验证该模型在处理稀疏性数据集的情况下的表现性能,将训练集设置为10%,20%,40%作为对比,采用RMSE和MAE检验算法的性能。

RMSE和MAE分别定义如下:

上述评测指标定义中的T代表的是所要预测的评分集合,Rij为用户ui给予vj项目的评分,rij为预测评分。实验结果如图中表示。

该实验主要用于验证本发明与传统的推荐方法的有具体的优越性。在Epinions数据集上进行比较。PMF(PMF:Probabilistic matrix factorization)仅基于评分矩阵,将用户之间的关系孤立对待,认为所有用户之间的关系是等同的;DualRec(DualRec:Toward Dual Roles of Users in Recommender Systems)在用户项目评分矩阵的基础上,考虑用户的隐式反馈有用性评价信息,但是并没有充分利用用户的信任列表;SocRec(SocRec:Social recommendation using probabilistic matrix factorization)在评分矩阵的基础上,考虑了用户之间的社会关系属性,但是忽略了有用性评价所反映的用户双重角色。

表中表明融合用户信任关系和评论信息的个性化推荐方法与传统方法改进度对比实验统计结果如表2、表3。其中表2中采用的评测指标是RMSE,表3评测指标是MAE。

表1 RMSE作为评测指标

表2 MAE作为评测指标

从表2、表3纵向分析,可以看出在训练数据集取原始数据集的10%、20%、40%、80%的情况下,提出的DualSocTrust的MEA值与RMSE值比其他方法的MAE值与RMSE值都要小,即在预测的准确性上要高些。DualSocTrust既考虑显式的用户信任关系,又融合了用户双重角色隐含的潜在信任关系,这两方面的数据源能更好的挖掘用户之间的信任关系。这对于在数据稀疏的环境下提高推荐精度是十分有效的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1