一种基于图对比学习的去偏推荐方法及系统
未命名
09-10
阅读:60
评论:0

1.本发明涉及深度学习推荐系统技术领域,尤其涉及一种基于图对比学习的去偏推荐方法及系统。
背景技术:
2.推荐系统已经成为电子商务、社交媒体和新闻推荐等诸多领域的重要应用之一,其目的在于通过协同过滤或深度学习等技术,为用户提供个性化的决策支持和服务,提高用户的使用体验和满意度。例如在电子商务领域,通过推荐方法分析用户的购买、评论、浏览和搜索等历史记录,来识别用户的兴趣和偏好,从而提升用户的购买率。在社交媒体领域,通过推荐方法分析用户的发布内容和交互行为等历史记录,为用户推荐可能的好友及感兴趣的话题。在新闻推荐领域,通过推荐方法分析用户的阅读、点赞和评论等历史记录,为用户推荐符合兴趣的文章或新闻。近年来,深度学习因其能够从大量数据中自动提取特征并学习数据潜在规律的优势,已被广泛应用于推荐方法中,并通过预测用户对未知产品的喜好程度来进行推荐。然而在现实场景中,由于各种因素的干扰,收集的历史数据中常常包含大量与用户交互无关的偏差信息,如随意点击、用户异常行为等。这些偏差信息会严重影响推荐方法的准确性,最终损害用户的使用体验和满意度。因此,去除偏差信息对提高推荐方法的推荐质量是至关重要的。
3.现有基于深度学习的推荐方法主要利用对抗学习、因果推断等技术进行去偏。利用对抗学习进行去偏的推荐方法通过构造对抗性样本,其博弈机制能使模型更加关注重要的特征和信息,从而提升模型的鲁棒性以达到区分偏差样本的目的。利用因果推断进行去偏的推荐方法通过分析变量之间的因果关系,将偏差信息在用户数据中分离开来,从而提升推荐准确率。但现有方法普遍存在一些缺陷,如一些方法在计算复杂度方面存在瓶颈,需要耗费大量的计算资源和训练成本。另一方面,一些方法的泛化能力较差,难以适用于复杂的推荐场景,甚至需要大量的标注数据和人工干预。因此,开发一种更加高效、省时、自动过滤偏差信息的去偏推荐方法已成为目前推荐领域的迫切需求。
技术实现要素:
4.本发明克服现有技术存在的不足,为了解决现有的推荐方法性能较差的问题,提高了一种基于图对比学习的去偏推荐方法及系统,其通过语义损失来学习更好的向量表示,利用对比损失来过滤偏差实体,bpr损失进行交互预测,提高了系统的去偏能力和去偏效果。
5.为了解决上述技术问题,本发明采用的技术方案为:一种基于图对比学习的去偏推荐方法,包括以下步骤:
6.步骤s1、获取知识图谱数据集和用户与产品的历史交互数据集;
7.步骤s2、将知识图谱数据集输入transe模型,通过语义损失学习得到实体与关系的向量表示;通过头实体向量xh与关系向量的相似度和头实体向量xh与尾实体向量x
t
的相似度分别对知识图谱进行数据增强,生成第一增强知识图与第二增强知识图
[0008][0009]
步骤s3:基于第一增强知识图与第二增强知识图计算不同视角下各个产品的一致性得分pi,同时根据用户与产品的历史交互数据集,计算用户的个性化偏好根据各个产品的一致性得分pi和用户的个性化偏好计算每个产品交互的潜在概率p
ui
,并根据基于伯努利分布生成第一增强交互图与第二增强交互图
[0010][0011]
步骤s4:在第一增强交互图与第二增强交互图上分别利用lightgcn模型聚合每个节点的邻居信息,得到两个增强交互图上用户与产品的第一向量表示与第二向量表示
[0012]
步骤s5:基于kl散度对第一向量表示与第二向量表示进行显示不变约束的对比学习,根据对比损失更新每个用户与每个产品在不同视图上的向量表示,以过滤知识图谱中的偏差信息;
[0013]
步骤s6:根据用户与产品在不同视图上的最终向量表示,预测交互概率
[0014]
步骤s7:根据预测概率构建bpr损失并结合bpr损失语义损失对比损失得到总损失函数,根据总损失函数更新模型参数;
[0015]
步骤s8:根据模型最终输出的交互概率,得到推荐产品顺序。
[0016]
所述步骤s2中学习得到实体与关系的向量表示的具体方法为:
[0017]
获取知识图谱数据集其中(h,r,t)为一个三元组,h为头实体、r为关系、t为尾实体,ε表示实体集合,表示关系集合,表示知识图谱;对每个实体与关系给定随机初始化的向量,得到头实体向量xh,关系向量尾实体向量x
t
;其中,中,表示维度大小为f
×
1的向量;
[0018]
对每个三元组计算尾实体t通过关系r相对于头实体h的注意力系数其中σ(
·
)为sigmoid激活函数,w为参数矩阵,||为向量拼接操作,为注意力系数;w[xh||x
t
]表示将向量xh与向量x
t
进行拼接之后,与参数矩阵w进行相乘;
[0019]
再根据注意力系数和头实体邻居的向量,更新头实体向量,计算公式为:
[0020][0021]
其中,xh'表示更新后的头实体向量,为与头实体h相连的尾实体集合;
[0022]
最后,基于transe模型学习所有实体与关系的向量表示,transe模型的语义损失如下:
[0023][0024]
其中,x
t
′
为负采样的
尾实体,σ(
·
)为sigmoid激活函数。
[0025]
所述步骤s2中,对知识图谱进行数据增强具体方法为:
[0026]
计算知识图谱数据集中各个三元组中头实体与关系和头实体与尾实体的相似度,计算公式为:
[0027][0028][0029]
其中,与分别为头实体向量xh与关系向量xr的相似度,头实体向量xh与尾实体向量x
t
的相似度;σ(
·
)为sigmoid激活函数,表示头实体向量xh的转置;
[0030]
在知识图谱数据集中,删除相似度小于0.5的三元组信息,上生成各个三元组被保留的概率与得到第一增强知识图与第二增强知识图
[0031]
所述步骤s3中,各个产品的一致性得分pi的计算公式为:
[0032][0033]
其中,和分别表示产品i在第一增强知识图与第二增强知识图上的向量表示,知识图谱中的头实体代表产品,s(
·
)为计算和之间的余弦相似度函数,和分别为第一增强知识图与第二增强知识图加入单位矩阵的邻接矩阵,和分别为和的度矩阵。
[0034]
所述步骤s4中,lightgcn的聚合节点特征的计算过程为:
[0035][0036]
其中,和分别为在第k层传播时用户和产品的向量表示,为用户u交互过的产品集合,为购买过产品i的用户集合。
[0037]
所述步骤s5中,对比损失的计算公式为:
[0038][0039]
其中,s(
·
)为余弦相似度计算,τ表示温度系数,kl表示散度,分别表示增强交互图的两种方式,通过kl散度对其进行约束;表示正例对的余弦相似度,表示负例对的余弦相似度,表示负例对之间的余弦相似度;对于任意一个用户,其在任意一个视图中的节点被称为锚点,而另一个视图中的节点与其构成一组正例对,即两个视图中的其余节点和与其构成多组负例对,即和
[0040]
所述步骤s6中,预测交互概率的公式为:
[0041][0042]
其中,sigmoid(
·
)为激活函数,和分别为两个视图上用户u的向量表示,和分别为两个视图上产品i的向量表示,为用户u与产品i的交互概率。
[0043]
所述步骤s7中,bpr损失的计算公式为:
[0044][0045]
其中,(u,i
+
)为用户与产品交互的正例对,(u,i-)为用户与产品交互的负例对;σ(
·
)为sigmoid激活函数;
[0046]
总损失函数的计算公式为:
[0047][0048]
其中,λ1和λ2别为控制对比损失函数的强度和联合损失函数的正则化系数,θ为模型中的所有待学习参数,包含实体、关系、用户、产品的向量表示。
[0049]
此外,本发明还提供了一种基于图对比学习的去偏推荐系统,包括以下模块:
[0050]
交互模块:用于获取知识图谱数据集和用户与产品的历史交互数据集;
[0051]
图注意力学习模块:用于根据给定的知识图谱数据集对所有的实体与关系进行向量的初始化操作,计算每个尾实体通过关系相较于头实体的注意力系数,并通过注意力机制聚合所有的三元组信息,然后基于transe模型学习知识图谱中所有实体与关系语义信息的向量表示;
[0052]
知识图增强模块:用于根据实体与关系的向量表示计算头实体与关系和头实体与尾实体的相似度,对知识图谱进行数据增强,生成第一增强知识图与第二增强知识图
[0053]
交互图增强模块:用于基于第一增强知识图与第二增强知识图计算不同视角下各个产品的一致性得分pi,同时根据用户与产品的历史交互数据集,计算用户的个性化偏好根据各个产品的一致性得分pi和用户的个性化偏好计算每个产品交互的潜在概率p
ui
,并根据基于伯努利分布生成第一增强交互图与第二增强交互图
[0054]
节点向量更新模块:用于在第一增强交互图与第二增强交互图上分别利用lightgcn模型聚合每个节点的邻居信息,得到两个交互视图上用户与产品的第一向量表示与第二向量表示
[0055]
对比约束模块:用于基于kl散度对第一向量表示与第二向量表示进行显示不变约束的对比学习,根据对比损失更新每个用户与每个产品在不同视图上的向量表示,以过滤知识图谱中的偏差信息;
[0056]
模型预测模块:用于融合通过对比学习之后两个交互视图上用户与产品的向量表示,并进行交互概率的预测;
[0057]
模型优化模块:用于根据预测概率构建bpr损失并结合bpr损失语义损失对比损失得到总损失函数,根据总损失函数更新模型参数;
[0058]
输出模块:用于根据模型最终输出的交互概率,得到推荐产品顺序。
[0059]
本发明与现有技术相比具有以下有益效果:
[0060]
1、本发明在知识图谱上利用注意力机制及transe模型学习实体与关系语义的向量表示,通过语义损失可以帮助模型学习到更好地向量表示;根据实体与关系的向量表示进行数据增强,得到不同视角下的增强知识图谱,增强后的知识图谱将保留与用户交互相关的语义信息,在后续的训练过程中,有助于模型进行自动去偏;
[0061]
2、本发明根据增强知识图谱计算每个产品的一致性得分并结合用户偏好生成两种增强交互视图;在增强交互视图上生成用户与产品的向量表示;将用户与产品的向量表示进行显示不变约束的对比学习训练,自动过滤与用户交互无关的偏差信息,提高了去偏推荐方法的准确性;
[0062]
3、本发明使用过滤之后的向量表示进行推荐交互预测,进一步地提高了去偏腿推荐的准确性;
[0063]
4、本发明联合语义、对比和预测损失对模型进行优化,在三个现实世界的真实推荐场景中,如书籍推荐数据集amazon-book、商业场所推荐数据集yelp、新闻推荐数据集mind,与当前最好的kgcl方法相比,本发明分别在精确率、召回率、归一化折损累计增益等三个指标上均取得了最优的性能;在amazon-book数据集上,三个指标分别提高了3.77%、3.74%、4.16%;在yelp数据集上,三个指标分别提高了2.16%、1.98%、2.23%;在mind数据集上,三个指标分别提高了6.14%、3.63%、3.65%。
附图说明
[0064]
图1为实施例一提供的一种基于图对比学习的去偏推荐方法的流程示意图;
[0065]
图2为图注意力学习的流程示意图;
[0066]
图3为增强知识图谱的流程示意图;
[0067]
图4为增强用户与产品交互的流程示意图;
[0068]
图5为实施例二提供的一种基于图对比学习的去偏推荐系统的结构示意图。
具体实施方式
[0069]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0070]
实施例一
[0071]
如图1所示,本发明实施例一提供了为一种基于图对比学习的去偏推荐方法的流程示意图,具体包括以下步骤:
[0072]
步骤s1:获取知识图谱数据集和用户与产品的历史交互数据集。
[0073]
获取的知识图谱数据集和用户与产品的历史交互数据集其中(h,r,t)为一个三元组,h为头实体、r为关系、t为尾实体,ε表示实体集合,表示关系集合,表示知识图谱数据集。
[0074]
步骤s2、将知识图谱数据集输入transe模型,通过语义损失学习得到实体与关系的向量表示;通过头实体向量xh与关系向量的相似度和头实体向量xh与尾实体向量x
t
的相似度分别对知识图谱进行数据增强,生成第一增强知识图与第二增强知识图
[0075]
本实施例中,利用注意力机制聚合所有的三元组信息,并根据transe模型构建语义损失学习实体与关系的向量表示图2为图注意力学习的流程示意图。
[0076]
给定知识图谱数据集其中(h,r,t)为一个三元组,h为头实体、r为关系、t为尾实体,ε表示实体集合,表示关系集合,表示知识图谱。
[0077]
其中,步骤s2的具体方法为:
[0078]
(1)对每个实体与关系给定随机初始化的向量,得到头实体向量关系向量尾实体向量头实体向量也表示产品,通过在知识图谱上设计一种图注意力传播层作为信息聚合的基本结构,旨在从大量的实体信息中提炼无偏差的实体以丰富产品的向量表示;表示维度大小为f
×
1的向量;
[0079]
(2)对每个三元组计算尾实体t通过关系r相对于头实体h的注意力系数其中σ(
·
)为sigmoid激活函数,w为参数矩阵,)为sigmoid激活函数,w为参数矩阵,维度大小为f
×
2f向量,||为向量拼接操作,为注意力系数;w[xh||x
t
]表示将向量xh与向量x
t
进行拼接之后,与参数矩阵进行相乘;
[0080]
(3)再根据更新头实体向量,并基于transe模型学习所有实体与关系的向量表示,其中xh'表示更新后的头实体向量,为与头实体h相连的尾实体集合,transe模型的语义损失的计算公式如下:
[0081][0082]
其中,其中,为负采样的三元组,目的是防止优化时向量全都趋近于0,为关系的向量表示,x
t
′
为负采样的尾实体向量,用于构成负采样三元组,σ(
·
)为sigmoid激活函数,通过上述语义损失使得transe模型将预测向量作为尾实体向量x
t
的表示,通过最小化预测向量与真实向量之间的距离来更新实体和关系的向量表示,得分越低的表明对应的三元组(h,r,t)为真的概率越大。此外,为了防止模型训练时向量全都趋近于0,为每一个三元组构建了一个负采样优化模型训练。
[0083]
如图3所示为增强知识图谱的流程示意图。其中,增强知识图谱的具体流程步骤为:
[0084]
根据头实体与关系的相似度和头实体与尾实体(xh,x
t
)的相似度两个角度对知识图谱进行数据增强,目的是删除与推荐任务无关的三元组信息,即去偏知识图谱上的偏差信息,增强方式的函数表示为:
[0085][0086][0087]
其中,与分别为头实体与关系和头实体与尾实体的相似度,根据与在知识图上生成该三元组被保留的概率与删除相似度小于0.5的三元组信息,进一步得到增强知识图和模型在进行数据增强时,目的是最大程度的保留知识图谱的异质结构信息,并去除与用户交互无关的三元组,即删除知识图谱中不重要的边,这种操作可以避免对知识图谱中所有的三元组进行人工标注和筛选,提高了处理数据的效率。
[0088]
步骤s3:基于第一增强知识图与第二增强知识图计算不同视角下各个产品的一致性得分pi,同时根据用户与产品的历史交互数据集,计算用户的个性化偏好根据各个产品的一致性得分pi和用户的个性化偏好计算每个产品交互的潜在概率p
ui
,并根据基于伯努利分布生成第一增强交互图与第二增强交互图
[0089]
如图4所示为增强用户与产品交互的流程示意图。其中,步骤s3具体为:根据增强知识图与计算产品在不同视图下的一致性得分,计算公式为:
[0090][0091]
其中,和分别表示产品i在第一增强知识图与第二增强知识图上的向量表示,知识图谱中的头实体代表产品,s(
·
)为计算和之间的余弦相似度函数,和分别为与加入单位矩阵的邻接矩阵,和分别为和的度矩阵,目的是在聚合邻居节点的特征之后进行归一化处理,最终pi表示产品i在不同视图下的一致性得分,pi的值越大,表明产品i受到偏差实体的影响越小,产品i的向量表示更加稳定。
[0092]
在此基础上,在原始的历史交互数据集上计算用户的个性化偏好上计算用户的个性化偏好为用户最终的向量表示,xi为产品最终的向量表示,通过将两个向量进行内积得到用户对产品的个性化偏好;然后,将个性化偏好与产品的一致性得分进行相乘,得到每个交互的潜在概率:
[0093][0094]
其中,p
ui
表示产品i与用户u的交互的潜在概率,σ(
·
)为sigmoid激活函数。
[0095]
通过每个交互的潜在概率,并基于伯努利分布,生成第一增强交互图与第二增强交互图与知识图谱上的增强操作类似,交互图增强的目的是删除与推荐任务无关的交互信息,并通过保留对用户更有意义的交互项目来提高模型的性能,这种数据增强能更好地服务后续用户向量表示的学习,从而进一步提升模型的鲁棒性。
[0096]
步骤s4:在第一增强交互图与第二增强交互图上分别利用lightgcn模型聚合每个节点的邻居信息,得到两个增强交互图上用户与产品的第一向量表示与第二向量表示
[0097]
其中,步骤s4中,采用经典的轻量级图卷积神经网络lightgcn模型对两个交互图上用户和产品的向量表示进行加权聚合,与传统的图卷积神经网络不同的是,lightgcn没有进行复杂的非线性变换操作,这样做的目的是减少因特征变换带来的学习参数,从而大大提高模型的训练速度,减少计算的成本,在增强交互图与上利用lightgcn模型聚合每个节点(用户、产品)的邻居信息,得到两个交互视图上用户与产品的向量表示与lightgcn的聚合节点特征的过程为:
[0098][0099]
其中,和分别为在第k层传播时用户和产品的向量表示,为用户u交互过的产品集合,为购买过产品i的用户集合。
[0100]
步骤s5:基于kl散度对增强交互图上的与进行显示不变约束的对比学习,构建对比损失更新每个用户与产品的向量表示,以过滤知识图谱中的偏差信息;
[0101]
其中,步骤s5具体为:
[0102]
分别在增强交互图与上进行节点特征的聚合,得到两个视图上同一个节点的一对向量表示,并基于kl散度对增强交互图上的与进行显示不变约束的对比学习,构建对比损失更新每个用户与产品的向量表示,以过滤知识图谱中的偏差信息,对比损失为:
[0103][0104]
其中,s(
·
)为计算正例对或负例对之间的余弦相似度,τ表示温度系数,用于模型控制对负样本的区分度,kl散度用来约束两个增强交互图与之间用户与产品的预测分布,表示正例对的余弦相似度,表示负例对的余弦相似度,表示负例对之间的余弦相似度;对于任意一个用户,其在任意一个视图中的节点被称为锚点,而另一个视图中的节点与其构成一组正例对,即两个视图中的其余节点和与其构成多组负例对,即和产品的采样方式与用户一致,最终,通过对比约束的损失函数使得模型能自动过滤与用户交互无关的偏差信息。为第n个节点在第一增强交互视图中的向量,为第n个节点在第一增强交互视图中的负例,为第n个节点在第二增强交互视图中的锚点,为第n个节点在第2个增强视图中的负例。和分别为增强交互图的两种方式,通过kl散度对其进行约束。
[0105]
步骤s6:计算最终用户与产品的向量表示xu与xi,预测交互概率
[0106]
其中,步骤s6具体为:从增强交互图与上分别得到用户与产品的向量表示,并预测交互概率的大小:
[0107][0108]
其中,sigmoid(
·
)为激活函数,和分别为两个视图上用户u的向量表示,和分别为两个视图上产品i的向量表示,为用户u与产品i的交互概率。
[0109]
步骤s7:根据预测概率构建损失并结合损失与对方法进行优化。
[0110]
其中,步骤s7具体为:
[0111]
根据预测概率构建bpr损失函数:
[0112][0113]
其中,(u,i
+
)为用户与产品交互的正例对,(u,i-)为用户与产品交互的负例对,σ(
·
)为sigmoid激活函数,用于向量的归一化操作,防止模型更新参数时发生梯度消失和梯度爆炸现象;在损失的基础上,结合损失与进行联合优化,对模型进行参数更新,最后,模型的总损失函数为:
[0114][0115]
其中,λ1和λ2别为控制对比损失函数的强度和联合损失函数的正则化系数,θ为模型中的所有待学习参数,包含实体、关系、用户、产品的向量表示,此项的正则化约束是为了防止模型发生过拟合。
[0116]
实施例二
[0117]
如图5所示,本发明实施例二提供了一种基于图对比学习的去偏推荐系统,具体包括以下模块:
[0118]
交互模块:用于获取知识图谱数据集和用户与产品的历史交互数据集;
[0119]
图注意力学习模块:用于根据给定的知识图谱数据集对所有的实体与关系进行向量的初始化操作,计算每个尾实体通过关系相较于头实体的注意力系数,并通过注意力机制聚合所有的三元组信息,然后基于transe模型学习知识图谱中所有实体与关系语义信息的向量表示;
[0120]
知识图增强模块:用于根据实体与关系的向量表示计算头实体与关系和头实体与尾实体的相似度,对知识图谱进行数据增强,生成第一增强知识图与第二增强知识图
[0121]
交互图增强模块:用于基于第一增强知识图与第二增强知识图计算不同视角下各个产品的一致性得分pi,同时根据用户与产品的历史交互数据集,计算用户的个性化偏好根据各个产品的一致性得分pi和用户的个性化偏好计算每个产品交互的潜在概率p
ui
,并根据基于伯努利分布生成第一增强交互图与第二增强交互图
[0122]
节点向量更新模块:用于在第一增强交互图与第二增强交互图上分别利用lightgcn模型聚合每个节点的邻居信息,得到两个交互视图上用户与产品的第一向量表示
与第二向量表示
[0123]
对比约束模块:用于基于kl散度对第一向量表示与第二向量表示进行显示不变约束的对比学习,根据对比损失更新每个用户与每个产品在不同视图上的向量表示,以过滤知识图谱中的偏差信息;
[0124]
模型预测模块:用于融合通过对比学习之后两个交互视图上用户与产品的向量表示,并进行交互概率的预测;
[0125]
模型优化模块:用于根据预测概率构建bpr损失并结合bpr损失语义损失对比损失得到总损失函数,根据总损失函数更新模型参数;
[0126]
输出模块:用于根据模型最终输出的交互概率,得到推荐产品顺序。
[0127]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
技术特征:
1.一种基于图对比学习的去偏推荐方法,其特征在于,包括以下步骤:步骤s1、获取知识图谱数据集和用户与产品的历史交互数据集;步骤s2、将知识图谱数据集输入transe模型,通过语义损失学习得到实体与关系的向量表示;通过头实体向量x
h
与关系向量的相似度和头实体向量x
h
与尾实体向量x
t
的相似度分别对知识图谱进行数据增强,生成第一增强知识图与第二增强知识图步骤s3:基于第一增强知识图与第二增强知识图计算不同视角下各个产品的一致性得分p
i
,同时根据用户与产品的历史交互数据集,计算用户的个性化偏好根据各个产品的一致性得分p
i
和用户的个性化偏好计算每个产品交互的潜在概率p
ui
,并根据基于伯努利分布生成第一增强交互图与第二增强交互图步骤s4:在第一增强交互图与第二增强交互图上分别利用lightgcn模型聚合每个节点的邻居信息,得到两个增强交互图上用户与产品的第一向量表示与第二向量表示步骤s5:基于kl散度对第一向量表示与第二向量表示进行显示不变约束的对比学习,根据对比损失更新每个用户与每个产品在不同视图上的向量表示,以过滤知识图谱中的偏差信息;步骤s6:根据用户与产品在不同视图上的最终向量表示,预测交互概率步骤s7:根据预测概率构建bpr损失并结合bpr损失语义损失对比损失得到总损失函数,根据总损失函数更新模型参数;步骤s8:根据模型最终输出的交互概率,得到推荐产品顺序。2.根据权利要求1所述的一种基于图对比学习的去偏推荐方法,其特征在于,所述步骤s2中学习得到实体与关系的向量表示的具体方法为:获取知识图谱数据集其中(h,r,t)为一个三元组,h为头实体、r为关系、t为尾实体,ε表示实体集合,表示关系集合,表示知识图谱;对每个实体与关系给定随机初始化的向量,得到头实体向量x
h
,关系向量尾实体向量x
t
;其中,;其中,表示维度大小为f
×
1的向量;对每个三元组计算尾实体t通过关系r相对于头实体h的注意力系数其中σ(
·
)为sigmoid激活函数,w为参数矩阵,||为向量拼接操作,为注意力系数;w[x
h
||x
t
]表示将向量x
h
与向量x
t
进行拼接之后,与参数矩阵w进行相乘;再根据注意力系数和头实体邻居的向量,更新头实体向量,计算公式为:其中,x
h
'表示更新后的头实体向量,为与头实体h相连的尾实体集合;最后,基于transe模型学习所有实体与关系的向量表示,transe模型的语义损失如下:
其中,x
t
′
为负采样的尾实体,σ(
·
)为sigmoid激活函数。3.根据权利要求1所述的一种基于图对比学习的去偏推荐方法,其特征在于,所述步骤s2中,对知识图谱进行数据增强具体方法为:计算知识图谱数据集中各个三元组中头实体与关系和头实体与尾实体的相似度,计算公式为:公式为:其中,与分别为头实体向量x
h
与关系向量x
r
的相似度,头实体向量x
h
与尾实体向量x
t
的相似度;σ(
·
)为sigmoid激活函数,表示头实体向量x
h
的转置;在知识图谱数据集中,删除相似度小于0.5的三元组信息,上生成各个三元组被保留的概率与得到第一增强知识图与第二增强知识图4.根据权利要求1所述的一种基于图对比学习的去偏推荐方法,其特征在于,所述步骤s3中,各个产品的一致性得分p
i
的计算公式为:其中,和分别表示产品i在第一增强知识图与第二增强知识图上的向量表示,知识图谱中的头实体代表产品,s(
·
)为计算和之间的余弦相似度函数,和分别为第一增强知识图与第二增强知识图加入单位矩阵的邻接矩阵,和分别为和的度矩阵。5.根据权利要求1所述的一种基于图对比学习的去偏推荐方法,其特征在于,所述步骤s4中,lightgcn的聚合节点特征的计算过程为:其中,和分别为在第k层传播时用户和产品的向量表示,为用户u交互过的产品集合,为购买过产品i的用户集合。6.根据权利要求1所述的一种基于图对比学习的去偏推荐方法,其特征在于,所述步骤s5中,对比损失的计算公式为:其中,s(
·
)为余弦相似度计算,τ表示温度系数,kl表示散度,分别表
示增强交互图的两种方式,通过kl散度对其进行约束;表示正例对的余弦相似度,表示负例对的余弦相似度,表示负例对之间的余弦相似度;对于任意一个用户,其在任意一个视图中的节点被称为锚点,而另一个视图中的节点与其构成一组正例对,即两个视图中的其余节点和与其构成多组负例对,即和7.根据权利要求1所述的一种基于图对比学习的去偏推荐方法,其特征在于,所述步骤s6中,预测交互概率的公式为:其中,sigmoid(
·
)为激活函数,和分别为两个视图上用户u的向量表示,和分别为两个视图上产品i的向量表示,为用户u与产品i的交互概率。8.根据权利要求1所述的一种基于图对比学习的去偏推荐方法,其特征在于,所述步骤s7中,bpr损失的计算公式为:其中,(u,i
+
)为用户与产品交互的正例对,(u,i-)为用户与产品交互的负例对;σ(
·
)为sigmoid激活函数;总损失函数的计算公式为:其中,λ1和λ2别为控制对比损失函数的强度和联合损失函数的正则化系数,θ为模型中的所有待学习参数,包含实体、关系、用户、产品的向量表示。9.一种基于图对比学习的去偏推荐系统,其特征在于,包括以下模块:交互模块:用于获取知识图谱数据集和用户与产品的历史交互数据集;图注意力学习模块:用于根据给定的知识图谱数据集对所有的实体与关系进行向量的初始化操作,计算每个尾实体通过关系相较于头实体的注意力系数,并通过注意力机制聚合所有的三元组信息,然后基于transe模型学习知识图谱中所有实体与关系语义信息的向量表示;知识图增强模块:用于根据实体与关系的向量表示计算头实体与关系和头实体与尾实体的相似度,对知识图谱进行数据增强,生成第一增强知识图与第二增强知识图交互图增强模块:用于基于第一增强知识图与第二增强知识图计算不同视角下各个产品的一致性得分p
i
,同时根据用户与产品的历史交互数据集,计算用户的个性化偏好根据各个产品的一致性得分p
i
和用户的个性化偏好计算每个产品交互的潜在概率p
ui
,并根据基于伯努利分布生成第一增强交互图与第二增强交互图节点向量更新模块:用于在第一增强交互图与第二增强交互图上分别利用lightgcn模型聚合每个节点的邻居信息,得到两个交互视图上用户与产品的第一向量表示
与第二向量表示对比约束模块:用于基于kl散度对第一向量表示与第二向量表示进行显示不变约束的对比学习,根据对比损失更新每个用户与每个产品在不同视图上的向量表示,以过滤知识图谱中的偏差信息;模型预测模块:用于融合通过对比学习之后两个交互视图上用户与产品的向量表示,并进行交互概率的预测;模型优化模块:用于根据预测概率构建bpr损失并结合bpr损失语义损失对比损失得到总损失函数,根据总损失函数更新模型参数;输出模块:用于根据模型最终输出的交互概率,得到推荐产品顺序。
技术总结
本发明属于推荐系统技术领域,公开了一种基于图对比学习的去偏推荐方法及系统,方法包括:在知识图谱上利用注意力机制及TransE模型学习实体与关系语义的向量表示;根据实体与关系的向量表示进行数据增强,得到不同视角下的增强知识图谱;根据增强知识图谱计算每个产品的一致性得分并结合用户偏好生成两种增强交互视图;在增强交互视图上生成用户与产品的向量表示;将用户与产品的向量表示进行一种显示不变约束的对比学习训练,自动过滤与用户交互无关的偏差信息;使用过滤之后的向量表示进行推荐交互预测;联合语义、对比和预测损失对模型进行优化。本发明通过图对比数据增强有效过滤了偏差信息对推荐方法的影响,提升了用户使用体验和满意度。用体验和满意度。用体验和满意度。
技术研发人员:郭志豪 宋鹏 冯晨娇 梁吉业 姚凯旋
受保护的技术使用者:山西大学
技术研发日:2023.06.27
技术公布日:2023/9/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/