1.一种基于注意力机制的知识图谱偏好预测推荐方法,其特征在于,所述方法包括以下步骤:
第一步、符号定义,过程如下:
已知一个用户集U#={u#1,u#2,...u#μ}和项目集V#={v#1,v#2,...v#υ},u#μ表示用户集中的第μ个用户,v#υ表示项目集中的第υ个项目,用户和项目之间的交互行为被放入一个交互矩阵其中的值只有两种,0或1,如果用户u#与项目v#有浏览、点击交互行为,则否则等于0,每个用户都有一个历史兴趣集表示用户u#的历史兴趣集中的第θ个元素,历史兴趣集中的元素代表与用户有交互行为的项目;U#和V#都是知识图谱G的一部分,知识图谱G={E,R,T},E表示实体的集合,R表示关系的集合,T表示正例三元组的集合,对于三元组(eh,r,et),用v#eh,v#r,v#et分别表示eh,r,et在项目向量空间中的嵌入,项目被视为知识图谱中的实体,V#∈E,项目集V#中的项目被视为对用户进行推荐的候选项目,若候选项目在交互矩阵中已经与用户有过交互,则将该项目从候选项目中移除,候选项目集合被定义为:目标是预测用户会喜欢或者点击候选项目v#g的概率;
第二步、偏好传播方法设计;
第三步、基于偏好传播的资源推荐,过程如下;
步骤(3.1)、在知识图谱中,一个用户有多个历史项目,为了能够适应复杂的知识图谱,在历史项目和候选项目v#g之间的图结构表示为:S0→S1→S2...→Sl,→表示从上一个节点传播到下一个节点,其中Si表示历史项目到候选项目之间的第i个节点,实体从上一个波纹集中得到的资源被定义为:表示波纹集中所有尾实体是的三元组,表示波纹集中所有头实体是的三元组,定义用户的初始资源为Rp(all)=1,在推荐系统中,用户的初始资源表示用户对项目的兴趣,假设用户对每个历史项目的感兴趣程度一致,则每个历史项目的兴趣步骤(3.2)、用户对候选项目v#g的兴趣,定义为用户从所有历史项目出发,沿着和v#g之间的路径,最终到达v#g的资源量,在资源流动的过程中,从多个历史项目出发的路径之间很可能会产生交互,有实体在多条路径的交点上,就如同线段之间的交点,此时交点实体的资源量是多个直接前身资源量的总和,身处交叉点的实体代表用户很有可能更喜欢这个相关实体,最终,记候选项目v#g的兴趣资源量为Resv#g;
第四步、基于缩放点积注意力的图上文表示;
第五步、损失函数定义,最终计算结果来判断是否将项目v#加入用户u#的推荐列表。
2.如权利要求1所述的基于注意力机制的知识图谱偏好预测推荐方法,其特征在于,所述第二步的过程如下:步骤(2.1)、将用户的历史数据视为种子,在知识图谱中以种子为中心,顺着关系路径p=(r1,r2,...rl)向外扩散,rl表示关系路径中的第l条关系,每一次迭代沿着关系的方向传播到下一个实体,为了用知识图谱描述用户的多层偏好,为用户u#划分了多跳的相关实体集,一个k跳的相关实体集被定义为:其中表示用户的历史兴趣集,即与用户有过交互行为的项目集合,H表示k所取的最大值,表示相关实体集中et的可取范围;
步骤(2.2)、相关实体被视为用户在知识图谱中兴趣的自然扩展,这些自然扩展在知识图谱中表现为从历史兴趣项目向外一层层扩散的圆,简称为波纹圆,一层波纹圆中相关实体组成的三元组的集合被称为波纹集,用户u#的k跳波纹集定义如下:步骤(2.3)、在波纹集向外扩散的过程中,关注每一跳的相关实体集,若在中发现了v#g的存在,波纹集会继续向外扩散直到第H跳停止,若在第H跳的中仍然没有发现v#g的存在,则H=H+1,波纹集会继续向外扩散直到v#g被纳入中,此时k*=H;
步骤(2.4)、在波纹集停止扩散后,整理到中的所有三元组,并按照在中的出现顺序将实体和关系重构成一张由实体和关系构成的用户兴趣图g,g是知识图谱G的子集,表示用户的兴趣集合。
3.如权利要求1或2所述的基于注意力机制的知识图谱偏好预测推荐方法,其特征在于,所述第四步的过程如下:步骤(4.1)、进一步简化用户兴趣图g,只保留从历史项目到候选项目的路径,从多个历史项目出发前往候选项目的过程中,每个历史项目都会产生一条或多条路径,将这些路径记录后,生成路径的集合其中p#i表示历史项目和候选项目v#g之间的路径集合,p#i={pi,1,pi,2,...pi,j},pi,j表示第i条路径上的第j个实体关系集合;
步骤(4.2)、路径反映用户的兴趣推理过程,表示第i条路径中的第j*条关系,表示此路径中的第j*个实体,在路径pi,j中,使用构建路径pi,j的实体-关系上文对表示,h表示路径pi,j中的实体,r表示路径pi,j中的关系:步骤(4.3)、要衡量路径对候选项目v#g的影响,需要先构建路径模式,使用LSTM网络来构造路径模式,将路径pi,j中的实体-关系上文对顺序输入LSTM网络,保留最后一个LSTM的当前隐藏状态作为候选项目的上文路径向量表示,LSTM单元的当前隐藏状态计算方式如下:其中,fhidden是一个包含ReLU运算的非线性激活函数,(v#ei,l,v#ri,l)表示第i个实体-关系上文对中的第l个元素;
步骤(4.4)在实体图上下文环境中,每个实体-关系上文对反映了三元组中尾实体的部分特征,同时,每个实体-关系上文对中含有不同的信息,对于尾实体的重要程度并不相同,对每个实体-关系上文对,采用缩放点积注意力机制来计算尾实体对实体-关系上文对的注意力系数,并将路径中多个实体-关系上文对的注意力系数相乘,得到历史项目对候选项目v#g的感兴趣程度;
步骤(4.5)、历史项目对候选项目v#g沿着路径pi,j的注意程度表示为多个连续的实体-关系上文对的注意力系数乘积,注意程度也表示路径pi,j对推荐的重要程度,计算方法如下:∏表示连乘符号,分别表示查询向量、键向量和值向量的参数化表示;
步骤(4.6)、注意力系数作为路径的权重,被用于整合路径信息,将历史项目和候选项目v#g之间的路径加权求和,计算全路径模式计算公式如下:其中,表示路径pi,j的上文路径向量表示,作为全路径模式,代表用户以历史项目为中心,向外扩散的偏好兴趣的聚合,看做用户在偏好兴趣方面的近似嵌入;
步骤(4.7)、最后,将用户的偏好兴趣聚合和候选项目v#g的兴趣资源量与嵌入信息输入一个线性函数和sigmoid函数,计算用户会喜欢候选项目的概率P(u#,v#g),计算公式如下:
4.如权利要求3所述的基于注意力机制的知识图谱偏好预测推荐方法,其特征在于,所述步骤(4.4)的过程如下:步骤(4.4.1)缩放点积注意力机制描述为一个查询向量和一组键值对向量到输出向量的映射,表示为输出向量本质上是输入向量通过加权组合生成的,而输入向量的权重值则是键向量和查询向量通过缩放点积运算的结果;
步骤(4.4.2)、尾实体的嵌入被视为查询向量,实体关系上文对同时作为键向量与值向量,计算公式如下:Q=WQv#et
其中,是线性变换权重矩阵,分别表示查询向量、键向量和值向量的参数化表示,dχ是矩阵列向量的维度,dδ是实体和关系的嵌入维度;
步骤(4.4.3)、实体-关系上文对(eh,r)对尾实体的关注程度,即注意力系数的计算公式如下:表示向量的转置,表示缩放因子,用来保持反向传播过程中梯度的稳定,softmax函数,又称归一化指数函数,它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。
5.如权利要求3所述的基于注意力机制的知识图谱偏好预测推荐方法,其特征在于,所述第五步的过程如下;
最小化方法的损失函数,为了优化方法,采用基于自对抗负采样的三元组损失函数作为方法的训练目标:损失函数有两部分构成,一是在预测过程中造成的损失,二是在嵌入过程中造成的损失,其中γ是固定的边距,(eh',r′,et')表示基于(eh,r,et)构造的负例三元组,T表示正例三元组集合,F表示负例三元组集合。