融合信任不信任关系和注意力机制深度推荐方法及系统与流程

文档序号:20999616发布日期:2020-06-05 22:32阅读:482来源:国知局
融合信任不信任关系和注意力机制深度推荐方法及系统与流程

本发明涉及信息推荐技术领域,具体涉及一种基于融合信任不信任关系和注意力机制深度推荐方法及系统。



背景技术:

随着互联网信息技术的迅猛发展,搜索引擎、即时通讯、电子商务等网络业务日益壮大,互联网用户的数量也在急剧增长,网络信息服务已经融入到人们生活的各个方面。产品和服务的提供严重限制了以人为基础的解决方案的实用性,例如,越来越多人喜欢向朋友寻求建议或从评论和论坛中获取专家意见,这造成大量的数据冗余和信息过载。而推荐系统的出现则可以有效地帮助用户解决以上信息过载问题。

结合社交信任关系的推荐算法是有效解决数据稀疏性问题的有效手段之一。信任关系是推荐系统的一项重要维度。首先,人们更易受具有相同观念或信任对象的影响,而不是选择缺乏说服力的广告;其次,人们会选择与自己有相同或相似兴趣爱好的人成为好友。本质上,信任提供了除用户评分以外的其它信息,通过这些信息可以更好地对用户偏好进行建模,替代或者补充用户的相似项目评分。有许多学者都对信任关系进行深入研究,但同时,与信任关系相对的不信任关系却被许多学者所忽视。

目前考虑社交关系的推荐算法还存在一些不足:一方面,虽然深度学习算法能挖掘用户的隐藏信息,但由于深度学习本身的缺陷,模型的可解释性不强,信任度量的准确性仍存在问题;另一方面,目前大多数学者基本上致力于信任关系的研究,对基于不信任关系的推荐研究还比较少。



技术实现要素:

有鉴于此,有必要提供一种将融合注意力机制的深度模型与社交关系相结合,考虑用户的信任关系和不信任关系与用户的偏好,对于存在社交关系的用户赋予不同的注意力权重,为用户寻找固定有影响力的社交关系进行评分预测,再结合社交关系对预测评分进行改善的融合信任不信任关系和注意力机制深度推荐方法及系统。

一种融合信任不信任关系和注意力机制深度推荐方法,包括以下步骤:

步骤一,采用软间隔支持向量机soft-marginsvm的方法建立社交关系预测模块,通过用户的评分和社交关系对用户的不信任关系和信任关系进行预测和补充,再结合用户的评分相似度和共同评分用户的数量,重新评估用户间的信任关系和不信任关系的权重;

步骤二,以深度学习方法为基础,建立融合注意力机制的深度推荐模型,结合用户评分信息和用户社交行为,同时根据给预测项目评过分且与用户存在社交关系的其他用户对预测项目的注意力权重,得到预测项目的预测评分;

步骤三,将用户间的信任不信任关系和注意力机制融合到信任不信任关系和注意力机制的深度推荐模型中,根据用户的信任用户和不信任用户的预测评分进行加权融合以改善用户对预测项目的预测评分,最终选取前n项形成推荐列表。

进一步地,步骤一中的用户间的信任关系et为用户l的行为能给用户u带来更好的影响或者结果,则用户u信任用户l;用户间的不信任关系ed为用户u不赞成用户k所发表的大多数观点,则用户u不信任用户k;用户间的信任关系et和用户间的不信任关系ed之间互为镜像;

给定用户间的不信任关系ed和以项目为中心的用户交互矩阵a和矩阵o,其中矩阵a是用户项目作者矩阵,矩阵o是用户项目意见矩阵,用目标函数f2来预测用户间信任关系,结合原本用户间信任关系et生成用户间完整信任网络g,如式(1)所示;

f2:{ed,a,o}+et→g(1)

同时给定用户间的信任关系et和以项目为中心的用户交互矩阵a和矩阵o,用目标函数f1来预测用户间不信任关系,结合原本用户间不信任关系ed生成用户间完整不信任网络g,如式(2)所示:

f1:{et,a,o}+ed→g(2)

其中,式(2)中的矩阵a和矩阵o分别等同于式(1)中的矩阵a和矩阵o。

进一步地,步骤一中的所述采用软间隔支持向量机soft-marginsvm的方法建立社交关系预测模块,具体步骤包括:

步骤1-1,根据社交结构平衡理论和状态理论,得到社交关系中的用户间的信任关系和不信任关系的传递关系:

设,使用cij表示ui和uj之间连接,其中cij=1表示信任关系,cij=-1表示不信任关系,则,三元组ui,uj,uk的传递结果为:

cij=1且cjk=1,则cik=1,

cij=-1且cjk=-1,则cij=1;

步骤1-2,对于缺少社交关系的用户对构建标签,关联用户ui和uj的可靠性权重wij如式(3)所示:

其中,y为正样本矩阵,n为负样本矩阵,r为常数;当预测负链接时,<ui,uj>∈n具有负相互作用,则将可靠性权重定义为负关系函数f1;如果<ui,uj>不具有相互作用,则将可靠性权重设为常数r;

步骤1-3,社交关系预测过程如下:

设z={z1,z2,...,zn}是用户间的不信任关系ed或者用户间的信任关系et中的用户对,集合zi是用户对zi的特征向量表示,用于社交关系预测问题的软间隔支持向量机soft-marginsvm公式如式(4)所示:

其中,εi表示每个点的犯错误程度,εi=0表示没有错误,εi越大,表示错误越大;参数μ控制εi的影响程度;

在进行不信任预测时,针对正负样本噪声水平不同,将式(4)进一步改进为式(5):

其中,cy和cn为对正负误差进行不同的加权,令cy大于cn,以反应正负样本间的差异行为;当仅存在单个负样本zj时,引入权重cj控制误差,负样本zj对应的每一组<ui,uk>,设置cj=wik,其中wik为<ui,uk>可靠性权重,以对具有不同可靠性的负样本中的噪声进行差分控制;

当ui和uj之间存在信任关系,并且ui和uj与另一个用户uk都不存在信任关系,则对于不信任网络ed中(ui,uk)和(uj,uk)的关系类型是相同的,当<ui,uj,uk>是平衡三元组或在<ui,uj,uk>三元组中任意两者与另一者缺少社交关系时,为了保持结构平衡,假设两个不存在社交关系的用户之间都是不信任关系;引入矩阵b,并假设xh和xt分别表示<ui,uk>和<uj,uk>,当ui和uj之间存在信任关系,则bht=1,否则bht=0;然后引入平衡理论正则化,设bht=0,则xh和xt具有相同类型的社交关系,社交关系公式如式(6)所示:

其中,l是基于b的拉普拉斯矩阵;对于最短路径长度为2的用户对,每对用户对需要在n和y中且满足平衡理论;假设在x中有η+μ个样本,其中前η个来自y∪n;通过这些提出的框架能够解决以下优化问题,基于双重形式解决公式如式(7)所示:

式(7)中的优化问题存在最小化解决方案,得到式(8)如下所示:

其中,k是所有样本的格拉姆矩阵;

将式(8)对偶问题简化后,得到最终的预测结果。

进一步地,步骤二中的所述融合注意力机制的深度推荐模型包括输入层、嵌入层、注意层、隐藏层和预测层,其中:

所述输入层包括用户u和预测项目p,使用统一编码将其转化为原始稀疏向量,仅记录非零二进制特征;

所述嵌入层将每个非零特征映射表示为密度向量,其中,pu、qp分别表示用户u和项目p的n维嵌入向量;

所述注意层处于所述输入层和所述嵌入层之间,所述注意层是为每个预测用户选择固定的有影响力的社交关系;在预测用户u对项目p的偏好时,aij表示给项目p评过分且与该用户存在社交关系的其他用户对项目p的注意力权重;为了方便与项目p的嵌入向量加以区分,将预测用户的嵌入向量定义为pi,其他用户的嵌入向量定义为qj;

将aij参数化为pi和qj作为输入的函数如式(9)所示。

aij=g(pi,qj)(9)

这种参数化的优点在于对任意一对(i,j),只要从数据中学习了pi和qj,即可用于估计注意力权重aij;

使用softmax函数将注意力权重转换为概率分布的形式,如式(10)所示。

其中,j∈g(i)表示用户j与用户i存在社交关系,是用户i社交网络中的一员;

所述隐藏层用于将更新后的用户表示pu和项目表示qp与元素式乘积合并,该乘积表示用于u和预测项目p之间的双向交互;所述隐藏层定义如式(11)所示。

其中,wx、bx、和ex分别表示第x层隐藏层的权重矩阵、偏置向量、激活函数和输出向量;

所述预测层用于将所述隐藏层的输出向量转换为预测得分,一个隐藏层的输出向量el转换为预测得分公式如式(12)所示:

其中,w表示预测层的权重向量。

进一步地,通过所述注意层后,用户u的向量表示成如式(13)所示:

pu=∑aijqj(13)

其中,aij表示式(9)中的注意力权重。

进一步地,步骤二中的建立融合注意力机制的深度模型时采用dropout算法,通过组织特征检测器的共同作用来提高神经网络的性能,在每个训练批次中,通过忽略一些特征检测器,以减少过拟合现象。

进一步地,步骤三中的将用户信任不信任关系和注意力机制融合到推荐模型中,得到融合信任不信任关系和注意力机制深度推荐模型tda_drm模型,具体计算公式如下:

用户l和用户k对第i个项目的预测评分来改善用户u对第i个项目的预测评分,改善预测评分公式如式(14)所示:

其中,表示所述隐藏层的预测评分,gt表示用户u的信任用户网络,trustu,l表示用户u和用户l之间的信任值,gd表示用户u的不信任用户网络,yl,p表示用户l对预测项目p的评分,distrustu,k表示用户u和用户k之间的不信任值,τ表示信任关系影响权重,1-τ表示不信任关系权重。

进一步地,在融合信任不信任关系和注意力机制深度推荐模型tda_drm模型中,每个所述隐藏层都进行了dropout操作,随机丢弃drop率为ρ的pu和qp。

以及,一种融合信任不信任关系和注意力机制深度推荐的系统,其用于实现如上任一项所述的融合信任不信任关系和注意力机制深度推荐方法,其特征在于,该系统包括:

社交关系预测模块,采用soft-marginsvm方法,利用用户信任关系、不信任关系和用户评分,对用户的不信任关系和信任关系进行预测和补充,再根据用户的评分相似度和共同评分用户的数量,对用户间的信任关系和不信任关系的权重进行重新评估;

融合注意力机制的深度推荐模块,首先利用注意力机制为用户选择固定有影响力的社交关系;其次将项目向量和融合了注意力权重的用户向量输入到多层前馈网络中,对项目得分进行预测;最后运用用户间信任值和不信任值对深度模型项目得分进行加权调整得到最终得分,进行推荐;

融合信任不信任关系和注意力机制深度推荐模块,用于将用户信任不信任关系和注意力机制融合到推荐模型中,得到可解释性更强的推荐结果。

进一步地,所述融合注意力机制的深度推荐模块包括输入层模块、嵌入层模块、注意层模块、隐藏层模块和预测层模块,其中:

所述输入层模块用于将用户u和预测项目p进行统一编码,并将其转化为原始稀疏向量;

所述嵌入层模块用于将每个非零特征映射表示为密度向量,其中,pu、qp分别表示用户u和项目p的n维嵌入向量;

所述注意层模块设于所述输入层模块和所述嵌入层模块之间,所述注意层模块用于为每个预测用户选择固定的有影响力的社交关系;

所述隐藏层模块用于将更新后的用户表示pu和项目表示qp与元素式乘积合并,该乘积表示用户u和预测项目p之间的双向交互;

所述预测层模块用于将所述隐藏层模块的输出向量转换为预测得分。

上述基于融合信任不信任关系和注意力机制深度推荐方法及系统中,在社交关系中的用户间的信任关系的基础上引入了用户间的不信任关系,根据社会平衡理论,通过用户的评分和社交关系对用户的不信任关系和信任关系进行预测和补充,再根据用户的评分相似度和共同评分用户的数量等因素,对用户间的信任关系和不信任关系的链接权重进行重新评估,并以深度学习方法为基础,建立融合注意力机制的深度推荐模型,将用户信任不信任关系和注意力机制融合到推荐模型中,得到可解释性更强的推荐结果,同时考虑用户评分信息对推荐结果的影响和用户社交行为,为用户选择有影响力的社交关系,使评分结果更为精确。

附图说明

图1是本发明实施例的融合信任不信任关系和注意力机制深度推荐方法的社交关系预测模型的不信任关系预测框架图。

图2是本发明实施例的融合信任不信任关系和注意力机制深度推荐方法的社交关系预测模型的信任关系预测框架图。

图3是本发明实施例的融合信任不信任关系和注意力机制深度推荐方法的结合注意力机制的深度推荐模型的结构示意图。

图4是本发明实施例的融合信任不信任关系和注意力机制深度推荐方法的融合信任不信任关系和注意力机制深度推荐模型的结构示意图。

具体实施方式

本实施例以融合信任不信任关系和注意力机制深度推荐方法为例,以下将结合具体实施例和附图对本发明进行详细说明。

请参阅图1、图2、图3和图4,示出本发明实施例提供的一种融合信任不信任关系和注意力机制深度推荐方法。

基于信任的传统推荐算法通常采用用户关注其他用户信息或者用户与用户间相似度来度量用户间的信任度,但该方法忽略了用户的交互行为,同时未将不信任关系予以考虑,致使度量过程不完整,存在数据稀疏、部分社交关系缺失、信任度失真等问题。

针对这些问题,综合分析用户间的信任和不信任关系,将其引入到多层前馈网络的深度学习方法中,提出了融合信任不信任关系和注意力机制的深度模型(tda_drm),有效地融合了社交网络中的信任和不信任关系,提升了社会化推荐的精度和推荐结果的可解释性。主要步骤为:

1)针对数据稀疏和部分社交关系的缺失,采用soft-marginsvm方法,利用用户原有社交关系和项目评分对潜在的信任和不信任关系进行预测补充,计算用户间的信任值和不信任值。

2)根据用户间信任和不信任值计算社交影响权重,融合注意力机制,评估每个关系用户对关联项目(目标用户评价过的项目)的评分对目标用户预测评分的影响。

设u={u1,u2,...,un}是社交网络中n个用户的集合,s为用户之间的关系,sij表示ui和uj之间的链接符号,其中sij=1表示正链接,即用户ui信任用户uj;反之,sij=-1表示负链接,即用户ui不信任用户uj。et表示用户间的信任关系集合,即保存所有用户ui和uj之间sij=1的链接;ed表示用户间不信任关系集合,即保存所有用户ui和uj之间sij=-1的链接。设p={p1,p2,...,pm}是m个项目的集合,使用来表示用户与项目之间的关系,简称为用户项目作者矩阵(用户-项目矩阵),即若用户ui是项目pj的发起者,则aij=1,否则aij=0。用户可以通过评论、喜欢/不喜欢和评分来表达对内容的意见。一些社交媒体网站提供了明确的方式来支持用户对内容的反馈。例如知乎网站的“赞同”和“反对”,豆瓣的“有用”和“没用”。包括上述两个网站在内,一些大型社交网络如facebook和twitter,都允许用户以文本评论和回复的形式表达自己的意见。在这种情况下,这里使用来表示用户对项目发表意见的评级,简称为用户项目意见矩阵,其中oik=1,oik=-1,oik=0分别表示用户ui对项目pk正,负和中性(或无)评价。同时,令为用户与用户间的正样本矩阵,其中yij表示来自用户ui到用户uj的正交互次数。为用户与用户间的负样本矩阵,其中nij表示来自用户ui到用户uj的负交互次数。从用户项目发起矩阵a和用户项目意见矩阵o中获得y和n。

上述内容针对基于信任的传统推荐算法存在的问题进行了简单分析,并对tda_drm模型中出现的符号加以说明。下面对tda_drm模型的整体框架进行介绍,主要包括了社交关系预测和深度推荐两个模块,分别解决了社交关系数据稀疏和推荐结果可解释性差等问题,为用户提供更精确可靠的推荐结果。

针对用户间复杂交互行为所带来的数据稀疏问题,以提升社会化推荐的精度和推荐结果的可解释性为目标,构建了tda_drm模型,主要分为两大模块,如图4所示。

1)社交关系预测模块。采用soft-marginsvm方法,利用用户信任关系、不信任关系和用户评分,对用户的不信任关系和信任关系进行预测和补充,再根据用户的评分相似度和共同评分用户的数量等因素,对用户间的信任关系和不信任关系的权重进行重新评估。

2)深度推荐模块。首先利用注意力机制为用户选择固定有影响力的社交关系;其次将项目向量和融合了注意力权重的用户向量输入到多层前馈网络中,对项目得分进行预测;最后运用用户间信任值和不信任值对深度模型项目得分进行加权调整得到最终得分,进行推荐。

首先,该模型通过用户信任不信任关系和用户评分进行社交关系预测,补充用户间缺失的社交关系;其次,对于需要预测项目评分的用户,结合预测后的社交关系,通过注意力机制,为该用户选择固定有影响力的社交关系;然后,将用户及其固定有影响力的社交关系与项目评分相结合,通过深度模型得到预测评分;最后,将信任与不信任关系作为影响权重,改善深度模型的预测评分,以得到最终的预测评分。

1.信任不信任社交关系预测模块

这里,社会网络的预测方法采用监督学习中soft-marginsvm的方法,通过用户的评分和社交关系对用户的不信任关系和信任关系进行预测和补充,再根据用户的评分相似度和共同评分用户的数量等因素,对用户间的信任关系和不信任关系的链接权重进行重新评估。

1.1相关概念

信任的概念很复杂,不同的研究领域有不同的理解和定义。社会学的研究表明,用户之间的信任关系是有方向,即信任关系是非对称的。如果用户u信任用户l,并不表示用户l对用户u有同等级的信任。在推荐系统领域,有人将信任定义为:如果用户l的行为能给用户u带来更好的影响或者结果,那么可以认为用户u信任用户l。另一方面,不信任被认为是一种特殊的结构,与信任对立。信任和不信任可以同时存在与发出关系和接受关系的用户之间。不信任也是一个多层面的概念,被形式化为信任概念的镜像。研究表明,如果用户u不信任k,这表示用户u不赞成用户k所发表的大多数观点,即可将不信任关系解释为“不相似关系”。

通过前面的相关问题描述,可以将社交网络的构建问题定义如下。

给定用户间的不信任关系ed和以项目为中心的用户交互a和o,其中矩阵a是用户项目作者矩阵,表示用户是否是项目的发起者。矩阵o是用户项目意见矩阵,表示用户是否对项目发表过意见。用目标函数f2来预测用户间信任关系,结合原本用户间信任关系et生成用户间完整信任网络g,如式(1)所示。

f2:{ed,a,o}+et→g(1)

同时给定用户间的信任关系et和以项目为中心的用户交互矩阵a和o,用目标函数f1来预测用户间不信任关系,结合原本用户间不信任关系ed生成用户间完整不信任网络g,如式(2)所示。

f1:{et,a,o}+ed→g(2)

图1和图2为预测框架,具有以下两个特点:

1)预测社交关系时,假设预测的两个用户之间不存在该关系,即预测不信任关系时先不考虑现有的不信任关系,同理,预测信任关系时也先不考虑现有的信任关系。

2)根据已存在关系的迹象,预测问题前需要识别预测存在关系的用户节点对。

根据社交结构平衡理论和状态理论,社交关系中具有正面和负面联系的三个用户,存在一个社交关系三角形。一般来说,平衡理论基于的是“朋友的朋友很可能是朋友”、“敌人的敌人很可能是朋友”这两种传递关系。若ui和uj之间存在信任关系(或不信任关系),使用cij来表示ui和uj之间连接的符号,其中cij=1表示信任(或cij=-1表示不信任)。根据平衡理论,三元组<ui,uj,uk>在以下两种关系中是平衡的。

1)cij=1且cjk=1,则cik=1;

2)cij=-1且cjk=-1,则cij=1。

但这两种关系在信任传递中的表现也是不同的。朋友关系更容易传递,而敌人关系的传递要困难些。

在状态理论中,从ui到uj的信任关系表示ui的状态高于uj;从ui到uj的不信任关系表示ui的状态低于uj。同时对于三元组,状态理论表明,对于每个负向关系,反转其方向,将其符号反转为正数,那么得到的所有正向关系应该是非循环的。简而言之,状态理论表明社交关系不具有反向传递性。

根据前面的总结,这里提出了一套新的社交关系网络的构建方法。此方法从信任和不信任两个方向,结合用户评分和已有社交关系,对用户间信任关系和不信任关系进行预测补充,同时根据用户的评分相似度和共同评分用户的数量等各个因素来对信任网络和不信任网络中的用户间的链接权重进行重新评估。

1.2标签构建

上述是对用户间社交关系的简单分析,将信任-不信任关系的预测视为一个监督学习的分类问题。对比无监督的分类问题,监督学习的方法将社交关系的预测问题作为一个分类问题,利用用户间社交关系的存在作为标签,对比无监督的学习方法有性能优越,对不同数据领域的适应性,以及方差较小等优点。

与传统的监督学习预测类似,可以将预测问题看作是一个需要构造标签的分类问题。对于缺少社交关系的用户对,在预测过程中,由于假设预测的社交关系不存在,因此需要先对这些用户对进行标签构建。另外,已存在的社交关系用户对数量与缺少社交关系的用户对数量之间是极度不平衡的。以构建不信任网络为例,数据集中的存在不信任的关系用户对(ed)和缺少社交关系的用户对(e0),两者之间的数量差距悬殊。基于此,在预测社交关系时,可以将缺少社交关系的用户对和现有的社交关系用户对作为正样本,将被预测的用户对作为负样本。算法1给出了标签的具体构建过程。

用户交互行为和用户间关系之间的强相关性表明,交互行为的性质决定了用户间关系的性质,例如用户间交互行为为负面时,他们之间的关系很可能是不信任的。基于此结论,在算法1中的第2至4行构建负样本,第5至7行构建正样本。分别利用来自et的信任关系和来自n可能存在负面交互行为的ui-uj,以及来自ed的不信任关系和来自y可能存在正面交互行为的uj-uk,在第8行和第13行分别构建网络g和网络g,这两个网络中的大多数三元组都满足状态理论。因此,本算法在n和y中进行筛选,①如果ui-uj(或uj-uk)在g(或g)中的任何三元组中都不符合状态理论,则从n中删除<ui,uj>(或从y中删除<uj,uk>)(第9至10行和第14至15行);②如果ui-uk(或uj-ui)可以使在g(或g)中所有涉及ui和uk(或uj和ui)的三元组都符合状态理论,则在n中添加<ui,uk>(或在y中添加<uj,ui>)(第11至12行和第16至17行)。之后,在第18至20行计算所有满足n的<ui,uj>和满足y的<uj,uk>的可靠性权重。

由于样本的可靠性会因为用户与用户间的发出的链接或接受的链接的数量有所不同而产生差异,例如,负面交互的用户对比没有负面交互的用户更可能具有负面链接,正面交互的用户对比没有正面交互的用户更可能具有正面链接,所以,这里定义(关联每个用户ui和uj的)可靠性权重wij如式(3)所示。

以预测负链接为例,如果这对<ui,uj>∈n具有负相互作用,则将可靠性权重定义为负关系函数f1,其中f1(x)∈[0,1]是x的非递减函数,这是因为两个用户的负样本数越多,他们之间存在不信任关系的可能性也就越大;如果<ui,uj>不具有相互作用,则将可靠性权重设为常数r。

1.3社交关系预测方法

在标签构建完成后,需要准备训练数据来学习针对社交关系预测的分类器。根据现有相关研究,这类问题可根据数据特征、分类目标、特征维度等不同,通常可采用支持向量机(supportvectormachine,简称svm)、朴素贝叶斯(naivebayesclassifier,简称nbc)、决策树(decisiontree)等方法。由于训练数据的标签都是有噪声的,尤其是不信任的标签。因此,基本分类器必须能够容忍训练数据噪声。这里选择高度噪声容忍的soft-marginsvm作为基本分类器,使预测更为精准。由于两种社交关系预测大体相同,这里以不信任预测为例具体介绍,有不同的地方会加以备注详细说明。下面是具体的预测过程。

针对预测的主要问题,设z={z1,z2,...,zn}是e0∪ed(或e0∪et)中的用户对,集合zi是这对zi的特征向量表示。用于社交关系预测问题的标准soft-marginsvm如式(4)所示。

其中,εi表示每个点的犯错误程度,即该训练样本的噪声容差,εi=0表示没有错误,εi越大,表示错误越大,即点距离边界(负的)越大。参数μ控制εi的影响程度,表示尽可能选择宽边界和尽可能不要犯错两者之间的权衡(边界越宽,犯错点越多)。μ越大表示希望得到更少的分类错误,即不惜选择窄边界也要尽可能把更多点正确分类;μ越小表示希望得到更宽的边界,即不惜增加错误点个数也要选择更宽的分类边界。

在进行预测,尤其是不信任预测时,由于正负样本噪声水平不同,(针对不信任关系预测的)正样本通常比(间接预测的)负样本更精确,负样本更需要可靠性权重明确量化。这表明在负样本中应该允许更多错误存在,特别是当权重不太可靠时。所以,此处对式(1)做了改进,如式(5)所示。

与式(4)对比,增加了cy和cn两个参数对正负误差进行不同的加权,这里使用的cy值要大于cn才能反应正负样本间的差异行为。对于单个负样本zj,引入权重cj根据其量化的可靠性权重进一步控制其误差。负样本zj对应的每一组<ui,uk>,设置cj=wik,其中wik为<ui,uk>可靠性权重,这允许对具有不同可靠性的负样本中的噪声进行差分控制。

由于平衡理论表明标签网络的三元组很可能是平衡的。因此,如果ui和uj之间存在信任关系,并且ui和uj与另一个用户uk都不存在信任关系,那么对于不信任网络ed中(ui,uk)和(uj,uk)的关系类型可能是相同的。换句话说,当<ui,uj,uk>是平衡三元组或在<ui,uj,uk>三元组中任意两者与另一者缺少社交关系时,为了保持结构平衡,很可能两个不存在社交关系的用户之间都是不信任关系。基于此,引入矩阵b,并假设xh和xt分别表示<ui,uk>和<uj,uk>,如果ui和uj之间存在信任关系,则bht=1;否则bht=0。然后引入平衡理论正则化,如果bht=0,就认为xh和xt具有相同类型的社交关系,于是有式(6)。

这里的l是基于b的拉普拉斯矩阵,由于e0∪ed中用户对的数量通常非常大,需要进行大量的平衡理论正则化处理。因此,这里只考虑最短路径长度为2的用户对,每对用户对需要在n和y中且满足平衡理论。假设在x中有η+μ个样本,其中前η个来自y∪n。通过这些提出的框架能够解决以下优化问题。

基于双重形式解决式(7)中的优化问题,存在最小化解决方案,将w写成如下式(8)的形式。

这样,则式(7)可以写成如下式(9)的形式。

其中,k是所有样本的格拉姆矩阵。

这里,对si定义成如下式(10)所示。

接下来,将推导该问题的对偶问题,在引入两组乘数β和γ之后,方程(10)的拉格朗日函数如下式(11)所示。

其中,β和γ为拉格朗日乘数。

根据kkt条件,对式(11)进行简化处理,分别对b和ξi做偏微分,即

根据式(12),可以将拉格朗日函数重写成仅存在α和β的函数,如下式(13)所示。

在式(13)中,j=[i0],其中,i是一个t×t的单位矩阵,0代表t×μ的全零矩阵,d是y和n中样本标签组成的t×t的对角矩阵。

可以得到式(14)。

α=(i+cbkl)-1jtyβ(14)

代入拉格朗日函数后,则将对偶问题作为二次规划问题,可以得到式(15)。

其中,q定义成如下式(16)所示。

q=djk(i+cbkl)-1jtd(16)

将对偶问题简化后,即可利用核函数的方式,得到最终的预测结果。

2.结合注意力机制的深度推荐模块

上述对用户社交关系进行了预测,下面介绍融合注意力机制的深度模型。它是一个多层前馈神经网络,主要由输入层、嵌入层、注意层、隐藏层和预测层组成,其逐层设计如图3所示。

输入层:用户u和预测项目p,使用统一编码将它们转化为原始稀疏向量,仅记录非零二进制特征。

嵌入层:嵌入层将每个非零特征映射为密度向量表示,用pu、qp分别表示用户u和项目p的n维嵌入向量。

注意层:本模型在嵌入层和隐藏层之前添加一层注意层,该注意力层是为每个预测用户选择固定的有影响力的社交关系。在预测用户u对项目p的偏好时,aij表示给项目p评过分且与该用户存在社交关系的其他用户对项目p的注意力权重。这里为了方便与项目p的嵌入向量加以区分,将预测用户的嵌入向量定义为pi,其他用户的嵌入向量定义为qj。

本发明将注意力aij与嵌入向量pi和qj关联起来,因为嵌入向量编码项目的信息,因此它们可以用于确定交互(i,j)的权重。具体而言是将aij参数化为pi和qj作为输入的函数,如式(17)所示。

aij=g(pi,qj)(17)

这种参数化的优点在于对任意一对(i,j),只要从数据中可靠地学习了pi和qj,它们便可用于估计注意力权重aij。为了实现这一目标,需要确保函数g具有强大的表示能力。这里使用多层感知器(multi-layerperceptron,简称mlp)来模拟注意力机制并参数化注意力函数g,如式(18)所示:

其中,w1、b1是输入层到隐藏层的参数,w2、b2是隐藏层到输出层的参数,把隐藏层的尺寸称为“attentionfactor”,值越大表示注意力网络的代表能力越强,relu是隐藏层的激活函数。relu函数式如式(19)所示。

relu(x)=max(0,x)(19)

最后,使用softmax函数将注意力权重转换为概率分布的形式,如式(20)所示。

其中,j∈g(i)表示用户j与用户i存在社交关系,是用户i社交网络中的一员。

另一方面,在常规使用场景中,注意力成分的数量变化不大,存在活跃用户对权重的影响问题,这里引入r来减轻对活跃用户注意力权重的惩罚,同时减少注意力权重的方差,如式(21)所示。

这里的r是平滑指数,取值范围是[0,1],而当r=1时,就恢复为softmax函数,当r<1时,分母的值将变小,因此注意力权重不会因活跃用户而受到过度惩罚。通过注意层后,用户u的向量表示成如式(20)所示。

pu=∑aijqj(22)

隐藏层:隐藏层将更新后的用户表示pu和项目表示qp与元素式乘积合并,该乘积表示u和p之间的双向交互。形式上,隐藏层定义如式(23)所示。

其中,wx、bx、和ex分别表示第x层隐藏层的权重矩阵、偏置向量、激活函数和输出向量。

对于每个隐藏层的激活函数,可以选择sigmoid函数,双曲正切函数(tanh)和修正线性单元函数(relu)等。实验发现sigmoid函数会将每个神经元限制在(0,1)中,当神经元的输出接近0或1时神经元就会停止学习,这可能限制了模型的性能。尽管tanh函数逐渐取代sigmoid函数作为标准的激活函数,但它只能在一定程度上缓解sigmoid函数的信号问题。因此,选择relu函数,它在生物学上更加可靠,并且被证明是非饱和的。此外,relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。

预测层:预测层将最后一个隐藏层的输出向量el转换为预测得分,如式(24)所示。

其中,w表示预测层的权重向量。

dropout:当一个复杂的前馈神经网络被训练在小数据集上时,容易造成过拟合。dropout则是一种有效地解决方法,它通过组织特征检测器的共同作用来提高神经网络的性能。在每个训练批次中,通过忽略一些特征检测器,可以明显地减少过拟合现象。在tda_drm模型中,每个隐藏层都进行了dropout操作,随机丢弃drop率为ρ的pu和qp。

3.融合信任不信任关系和注意力机制的深度推荐模型

前面讨论了社交关系预测模块,根据现有的用户间社交关系和用户评分,对缺失的用户间信任和不信任关系进行预测补充;同时讨论了结合注意力机制的深度模型模块,将用户信任关系与不信任关系和注意力机制融合,为每个预测用户选择固定有影响力的社交关系,并给出预测评分。在前面分析的基础上,再将用户间信任值与不信任值,作为调整权重融入预测评分中,得到改善后的预测评分。

研究表明,用户兴趣相似性与用户信任之间的联系两者之间存在正相关性,即用户之间的信任度较高,则他们的兴趣相似性也相对较高;如果某一用户不信任另一用户,则另一用户的大多数观点,该用户也不赞同,即可将不信任关系解释为“不相似关系”。假设用户u对第i个项目进行预测评分,用户l是用户u的信任对象,那么他们的兴趣大概率相似;用户k是用户u的不信任对象,那么他们的兴趣为不相似关系。若此时用户l和用户k都对项目i评过分,则可在tda_drm模型训练好之后,利用用户l和用户k对第i个项目的预测评分来改善用户u对第i个项目的预测评分。

基于此,给出式(25),用于改善预测评分。

其中,表示隐藏层的预测评分,gt表示用户u的信任用户网络,trustu,l表示用户u和用户l之间的信任值,gd表示用户u的不信任用户网络,yl,p表示用户l对预测项目p的评分,distrustu,k表示用户u和用户k之间的不信任值,τ表示信任关系影响权重,1-τ表示不信任关系权重。

评分预测的具体过程如算法2所示。

算法2实现评分预测,在第1行训练一个tda_drm模型;第2至12行对需要预测的项目进行评分预测,其中第3至第6行,选取用户u在其信任网络中的所有信任用户,根据式(3)计算用户u与信任用户的信任值;第7至10行,选取用户u在其不信任网络中的所有不信任用户,根据式(3)计算用户u与不信任用户的不信任值;在第11行,根据式(25),对预测项目进行评分预测,即用户u的信任用户和不信任用户的预测评分来改善用户u对项目的预测评分。

以及,一种融合信任不信任关系和注意力机制深度推荐的系统,其用于实现如上任一项所述的融合信任不信任关系和注意力机制深度推荐方法,该系统包括:

社交关系预测模块,采用soft-marginsvm方法,利用用户信任关系、不信任关系和用户评分,对用户的不信任关系和信任关系进行预测和补充,再根据用户的评分相似度和共同评分用户的数量,对用户间的信任关系和不信任关系的权重进行重新评估;

具体地,所述社交关系预测模块,根据现有的用户间社交关系和用户评分,对缺失的用户间信任和不信任关系进行预测补充;

融合注意力机制的深度推荐模块,首先利用注意力机制为用户选择固定有影响力的社交关系;其次将项目向量和融合了注意力权重的用户向量输入到多层前馈网络中,对项目得分进行预测;最后运用用户间信任值和不信任值对深度模型项目得分进行加权调整得到最终得分,进行推荐;

具体地,所述融合注意力机制的深度推荐模块,将用户信任关系与不信任关系和注意力机制融合,为每个预测用户选择固定有影响力的社交关系,并给出预测评分;

融合信任不信任关系和注意力机制深度推荐模块,用于将用户信任不信任关系和注意力机制融合到推荐模型中,得到可解释性更强的推荐结果。

进一步地,所述融合注意力机制的深度推荐模块包括输入层模块、嵌入层模块、注意层模块、隐藏层模块和预测层模块,其中:

所述输入层模块用于将用户u和预测项目p进行统一编码,并将其转化为原始稀疏向量;

所述嵌入层模块用于将每个非零特征映射表示为密度向量,其中,pu、qp分别表示用户u和项目p的n维嵌入向量;

所述注意层模块设于所述输入层模块和所述嵌入层模块之间,所述注意层模块用于为每个预测用户选择固定的有影响力的社交关系;

所述隐藏层模块用于将更新后的用户表示pu和项目表示qp与元素式乘积合并,该乘积表示用户u和预测项目p之间的双向交互;

所述预测层模块用于将所述隐藏层模块的输出向量转换为预测得分。

上述基于融合信任不信任关系和注意力机制深度推荐方法及系统中,在社交关系中的用户间的信任关系的基础上引入了用户间的不信任关系,根据社会平衡理论,通过用户的评分和社交关系对用户的不信任关系和信任关系进行预测和补充,再根据用户的评分相似度和共同评分用户的数量等因素,对用户间的信任关系和不信任关系的链接权重进行重新评估,并以深度学习方法为基础,建立融合注意力机制的深度推荐模型,将用户信任不信任关系和注意力机制融合到推荐模型中,得到可解释性更强的推荐结果,同时考虑用户评分信息对推荐结果的影响和用户社交行为,为用户选择有影响力的社交关系,使评分结果更为精确。

需要说明的是,以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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