1.一种项目邻居信息对比增强的推荐方法,其特征在于,包括以下步骤:S1:获取原始用户‑项目交互数据,并对数据进行预处理得到统一格式的用户‑项目交互数据;
S2:对预处理后的用户‑项目交互数据进行实体对齐,建立用户、项目和知识图谱之间的关联;通过协同传播获取用户和项目的初始传播集,并采用知识传播获取用户和项目的邻居集;
S3:对用户和项目的邻居集使用知识感知注意力机制分配注意力权重,并根据注意力权重大小区分用户和项目的邻居特征对用户和项目的重要性;其中,所述知识感知注意力机制用于计算邻居集中知识即三元组的权重,实现细粒度的邻居信息编码,获得用户和项目的邻居特征;
S4:将经过知识感知注意力机制得到的项目的邻居特征作为原始视图,采用数据增强处理,获得增强的项目邻居特征作为增强视图,包括以下步骤:S41:对于输入的项目邻居的嵌入 进行项目邻居数据增强,引入服从均匀分布的噪声,模拟项目特征的均匀性;对于第l跳项目邻居嵌入 其项目邻居增强的嵌入 的公式如下:式中,Δs为添加的噪声向量,且||Δs||=ε是一个小常数;
S42:为了限制Δs在数值上等同半径为ε的超球面上的点,Δs的公式如下:d
式中,X为服从0‑1均匀发布的数据,sign为符号函数,R代表X的维度为d;
S43:将步骤S41和S42经过L次迭代传播,得到增强的项目邻居特征集其中 代表第L个增强的项目邻居特征;
S5:在增强视图和原始视图之间,采用对比学习计算两个视图间的共同特征,减少项目邻居特征中的噪声数量,并将增强视图和原始视图作为项目的邻居特征和增强的项目邻居特征输出;
S6:在项目的邻居特征、增强的项目邻居特征和用户邻居特征之间进行内积运算,预测用户点击每个项目的概率。
2.根据权利要求1所述的一种项目邻居信息对比增强的推荐方法,其特征在于,所述步骤S2包括以下步骤:S21:对于输入的用户‑项目交互数据,协同传播是从用户‑项目交互数据中获取关键的协同信号,并显式编码为用户和项目的表示;根据用户‑项目交互数据能反映用户的部分偏好,用户的表示通过相关项目体现;用户u的初始实体集 定义如下式:式中,A为项目‑实体对齐集,yuv=1表示用户与项目交互的数据,v为项目,e为实体;
考虑到一个项目能够被多个用户交互的场景,采用“项目‑用户‑项目”传播策略,将用户‑项目交互数据包含在项目的初始实体集中,以丰富项目的表示;因此,项目v的初始实体集 定义如下式:式中, 表示相同用户的不同项目之间的关联,将用户‑项目的协同信号显式地包含在项目‑项目视图中;
S22:将用户u的初始实体集和项目v的初始实体集作为知识传播的种子,沿着知识图谱中的关系传播,以获得关联的实体,构建用户u和项目v的多跳实体集;对于第l阶的用户和项目在知识图谱传播生成的关联实体 定义如下:式中,o为用户u或者项目v的统一占位符,G代表知识图谱,(h,r,t)为知识图谱中的三元组,h为头实体,r为关系,t为尾实体,l为传播的跳数,取值范围在1‑L之间, 表达以为头实体寻找知识图谱中关联的尾实体t作为第l阶的头实体;
S23:将知识传播生成的关联实体 作为头实体集,获取各三元组作为用户和项目的邻居集;对于第l阶用户或项目的邻居集 定义头实体集为 查找知识图谱中三元组中对应的关系和尾实体,以形成用户和项目邻居集,第l阶邻居集 定义如下:式中, 表达以实体集 为头实体构成的三元组集;
S24:将步骤S22和S23进行L次,得到各邻居集 其中 代表第L跳用户或项目的三元组集,为挖掘知识图谱中结构信息和语义信息,增强用户和项目的特征表示提供了材料。
3.根据权利要求2所述的一种项目邻居信息对比增强的推荐方法,其特征在于,所述步骤S3包括以下步骤:S31:对于输入邻居集 在知识感知注意力机制中,计算邻居集中每个三元组注意力权重来揭示不同的三元组表达含义的差异性,以有效编码邻居中各知识即三元组;考虑 中第m个三元组,知识感知注意力嵌入βm的公式如下:βm=αmtm
αm=σ(W2Leakrelu(W1(Leakrelu(W0(hm||rm||tm)+b0))+b1)+b2)式中,αm为知识感知注意力函数,用于学习邻居中各三元组的重要性;Leakrelu为非线性激活函数,防止梯度消失;σ为激活函数sigmoid,||是拼接操作;W0、W1、W2为网络参数,随反向传播而更新,b0、b1、b2为偏差,hm为第m个三元组的头实体,rm为第m个三元组的关系,tm为第m个三元组的尾实体;
S32:对于邻居 中的每个三元组依次采用知识感知注意力机制,得到知识感知注意力嵌入 其中 代表邻居 包含的三元组的数量;将邻居 的知识感知注意力嵌入进行累加,得到邻居 的嵌入 表示如下式:
式中,m表示当前为第m个三元组,∑为求和操作;对于邻居集 进行L次知识感知注意力机制运算,得到知识感知注意力嵌入 其中 代表第l次用户或项目的知识感知注意力嵌入。
4.根据权利要求3所述的一种项目邻居信息对比增强的推荐方法,其特征在于,在步骤S5中,将增强的项目邻居特征集 和项目邻居的嵌入集视为两个视图进行对比学习;将相同阶的项目邻居嵌入视为正对,即 和 反之视为负对;其中,对比损失函数LinfoNCE的公式如下:式中,τ是温度参数,调控样本的均匀分布;通过对比损失函数引入额外的监督信息,能够鼓励项目邻居嵌入均匀分布在潜在空间中,以便预测时更好区分其差异性。
5.根据权利要求4所述的一种项目邻居信息对比增强的推荐方法,其特征在于,所述步骤S6包括以下步骤:S61:经过知识感知注意力机制编码的邻居嵌入集为 而用户和项目用户和项目的初始实体集包含协同信息,其用户和项目协同嵌入表示:式中,Embedding为嵌入函数, 为用户的协同嵌入, 为项目的协同嵌入;
通过拼接各邻居嵌入和协同嵌入以获得用户和项目的嵌入eo,表示如下:式中,o为统一占位符,表示用户u和项目v的特征, 为用户或项目的协同嵌入;此外,考虑到项目邻居增强是添加弱噪声来增强项目的邻居嵌入,将增强项目的邻居嵌入集直接用于推荐任务;最终的项目表示 如下式:式中,ev代表项目的嵌入拼接表示,ev′为增强项目的嵌入拼接表示, 表示增强的项目协同嵌入,+代表相加操作;
S62:根据最终的用户表示eu和项目表示 用户偏好函数y(u,v)定义为:式中,T代表转置操作;
S63:为了将推荐任务和对比学习结合,采用多任务训练策略,将推荐任务和对比学习放在一起进行训练,优化可学习参数;对于知识感知的推荐任务,采用BPR损失函数,如下式:式中,LBPR为BPR损失函数, 为正样本的预测值, 为负样本的预测值,u表示用户,i表+ ‑示正样本,j为负样本,o′={(u,i,j)|(u,i)∈o ,(u,j)∈o}是可训练的数据集,用户‑项目+ ‑ + ‑有交互记为o,用户‑项目无交互记为o,并设置o与o数据比例为1:1,σ为是sigmoid函数;
S64:采用多任务学习策略将BPR损失函数LBPR和对比损失函数LinfoNCE结合,最终的损失函数L如下式:式中,Θ为参数集,λ1和λ2为参数, 是以λ2为参数的L2范式。