1.一种结合行为特征与三角协作度量的项目推荐方法,其特征在于,所述方法包括如下步骤:步骤1,在已有的用户‑项目交互基础上,通过邻居路由机制和嵌入传播机制学习相邻模块信息,迭代更新获取用户的多样化行为特征,并引入异构图神经网络实现多行为特征间的信息转移,最终得到异构化用户行为特征表示与项目表示;
步骤2,基于异构化用户行为特征表示与项目表示,建立改进的Bhattacharyya相似性距离诱导策略,通过目标用户的相似邻居,建立用户与用户间信任关系,进而构建基于用户‑项目‑用户的三角协作度量模型;
步骤3,利用三角协作度量模型并结合条件相似性学习来计算由预测评分项目、积极评分项目以及消极评分项目构成的三元组,通过对三元组的条件相似性学习得到用户最新动态偏好,基于该用户最新动态偏好对用户进行项目推荐;
步骤1具体包括:
步骤1.1,基于已有的用户‑项目交互,将不同类别的节点映射到共享的特征空间;
步骤1.2,评估每个节点与其邻居节点之间的注意力权重,基于每个节点与其邻居节点之间的注意力权重进行单用户的异构化行为特征分离,得到用户行为特征;
步骤1.3,基于用户行为特征,通过神经网络迭代更新获取的单用户异构化行为特征分块表示,采用基于邻居路由机制与嵌入传播机制的异构图神经网络迭代更新单用户异构化行为特征分块表示,得到异构化用户行为特征表示与项目表示;
步骤1.1中,将不同类别的节点映射到共享的特征空间的表达式为: ;
其中, 表示项目节点 的节点类别, 为 对应的权重矩阵, 为项目节点 对应的初始节点表示, 为项目节点 对应的特征映射后的节点表示, 表示 的偏置向量,表示维度;
步骤1.2中,利用注意力网络计算每个节点与其邻居节点之间的注意力权重,表达式如下:;
其中, 表示项目节点 和项目节点 的注意力权重, 为项目节点 对应的特征映射后的节点表示, 为项目节点 对应的特征映射后的节点表示, 表示 和 连接在一起形成的向量, 表示 和 连接在一起形成的向量,W是一个可学习的参数矩阵,LeakyReLU是一个激活函数, 是项目节点 的邻居集合, 表示指数;
步骤1.2还满足以下条件式:
;
;
;
其中, 表示 归一化后的值, 表示项目节点 对应的节点路径, 表示用户第 跳邻居的项目集; 表示在第 次迭代后,用户 从其邻居集中收集信息更新后的用户行为特征; 是用户 和项目节点 的Graph Laplacian矩阵;
步骤1.3满足以下条件式:
, ;
;
其中, 表示第 层迭代更新后得到的项目表示, 表示神经网络第一层获取的项目表示函数, 为项目节点 的第k个分块表示, 表示 和 之间的亲密度,SELU是自归一化的激活函数, 表示用户 从第x‑1跳邻居集收集到的与行为特征 相关的信息, 表示第 层迭代更新后得到的用户 在第 个行为特征上的表示向量,表示异构化用户意图表示函数, 是可学习的权重矩阵, 表示第 层迭代更新后得到的用户 在第 个行为特征上的表示向量, 表示第 层迭代更新后得到的项目节点 在第 个行为特征上的表示向量, 表示用户 的 跳邻居集;
步骤2具体包括:
步骤2.1,通过异构化用户行为特征表示对Bhattacharyya相似性定义,得到改进的Bhattacharyya相似性距离诱导策略,用于下一步的信任关系计算;
步骤2.2,将异构化用户行为特征表示作为用户表示来权衡用户与用户、项目与项目、用户与项目间存在的直接信任关系与间接信任关系;
步骤2.3,用户与用户、项目与项目、用户与项目间存在的直接信任关系与间接信任关系构建用户‑项目‑用户的三角协作度量模型,所述三角协作度量模型用于预测用户的未评分项目;
步骤2.1满足以下条件式:
;
其中, 、 是不同组的两个随机样本, 表示样本 和样本 间的Bhattacharyya距离,T表示转置操作,A、B分别表示样本 、 对应的二维随机变量协方差矩阵, 表示行列式计算, 表示对数计算;
步骤2.1还满足以下条件式:
;
;
其中, 表示用户 和用户 之间的关联, 、 分别表示用户 、的邻居信任集, 表示项目节点 和项目节点 之间的关联, 、 分别表示项目节点 、的邻居信任集, 表示交集, 表示并集;
步骤2.2满足以下条件式:
;
;
;
其中, 表示项目节点 和 的相似度,H表示项目评分的最大值, 表示对项目节点 评分为 的用户数与对项目节点 评分的用户总数之比, 表示对项目节点 评分为 的用户数与对项目节点 评分的用户总数之比; 表示用户 和 在项目节点 和 下第 个用户行为特征的局部相似性, 表示用户 对项目节点 的整体评分值, 表示用户 对项目节点 的整体评分值, 是评分值的中位数, 、 分别为项目节点 、在用户行为特征 下的评分表示;K为用户行为特征总数,表示利用改进的Bhattacharyya相似性距离诱导策略获取的用户相似性, 、 分别表示用户 、的交互项目集;
步骤2.2还满足以下条件式:
;
;
;
其中, 表示用户 和 的相似度, 表示用户 评分为 的项目数与对用户评分的项目总数之比, 表示用户 评分为 的项目数与对用户 评分的项目总数之比; 表示项目节点 和 在用户 和 下第 个用户行为特征的局部相似性, 表示项目节点 在用户 下的评分, 表示项目节点 在用户 下的评分;
表示用户 对于项目节点 和项目节点 之间的相似度,其中,作为目标项目,作为评分项目;U表示用户集合, 表示项目集合;
步骤2.3满足以下条件式:
;
其中, 表示用户 对项目节点 的预测评分, 、 分别表示与项目节点 、相似项目的平均分, 为相似项目数; 表示用户 对项目节点 的评分。
2.根据权利要求1所述的结合行为特征与三角协作度量的项目推荐方法,其特征在于,步骤3中,基于该用户最新动态偏好对用户进行项目推荐具体包括:基于用户最新动态偏好,获取用户下一步可能交互的项目分值;
将项目分值高于阈值的项目推荐给用户。
3.根据权利要求1所述的结合行为特征与三角协作度量的项目推荐方法,其特征在于,步骤3中,将预测评分项目作为用户偏好向量X,将积极评分项目作为向量Y,将消极评分项目作为向量Z,表示为三元组 ;
步骤3满足以下条件式:
;
;
;
;
其中, 表示特征提取器, 表示通过 对X提取后得到的特征向量, 表示通过 对Y提取后得到的特征向量, 表示通过 对Z提取后得到的特征向量,表示预测的X与Y的距离, 表示预测的X与Z的距离,L表示投影矩阵,T表示转置操作,|| ||表示L2范数, 表示在三元组 中计算组合(X, Z)与(X, Y)的距离偏差; 表示预测值,表示动态偏好影响参数, 是用于检测第 个行为特征对用户偏好有效性的参数, 是L经扩展后得到的向量, 是 经扩展后得到的向量,表示矩阵运算符号, 为多任务损失函数,S为用于检测用户行为特征重复性的参数, 为边距, 表示第 个行为特征, 是距离差值,[ ]+表示标准铰链损耗;
步骤3中根据改进的交叉熵损失函数验证预测的准确性,改进的交叉熵损失函数的表达式为:;
其中, 表示真实值, 为正则项 的权重。