基于动量更新对比学习框架的多模态知识图谱推荐方法及装置
文献发布时间:2024-04-18 19:58:26
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于动量更新对比学习框架的多模态知识图谱推荐方法及装置。
背景技术
近年来,知识图谱在推荐系统领域的应用呈现出明显的增长趋势。这种兴趣的提升可以归因于知识图谱在通过丰富的属性表示有效传达物品间关系方面的能力。一些研究者已经开始尝试将多模态数据,如文本和图像,融合到知识图谱中,尽管取得的成果还有限。这些尝试主要依赖图像模型来提取视觉表征和文本模型来提取文本表征。然而,这种方法引发了人们对于这两种类型表征之间潜在不一致性的担忧。此外,利用多模态信息计算节点相似性的现有方法并没有取得显著的进展或改进。
在受到其他领域中对比学习技术的启发后,一些研究开始通过设计自监督信号上的对比学习损失函数,来提升深度学习模型的效能。对比学习损失函数的目标在于最大化同一样本经过数据增强后所产生的正样本对之间的相似度。然而,将对比学习技术引入知识图谱中会引发一系列新问题,例如如何构建有效的正样本对以支撑数据增强方法,如何增加负样本数量同时避免带来误判的负样本等。
发明内容
发明目的:提出一种基于动量更新对比学习框架的多模态知识图谱推荐方法及装置,以解决现有技术存在的上述问题。
第一方面,提出一种基于动量更新对比学习框架的多模态知识图谱推荐方法,步骤如下:
S1、确定初始实体,采集与所述初始实体关联度在预定区间内的文本信息和图片信息,基于所述文本信息和图片信息构建形成多模态知识图谱数据集;
S2、将所述多模态知识图谱数据集合并至由若干实体连接组成的连接网络中,并和所述初始实体相结合,从而获得第二实体数据;引入多模态注意力机制表示连接网络中头尾实体之间的传导系数;
S3、建立编码器,将所述第二实体数据导入所述编码器进行动态更新,得到第三实体样本,根据所述第三实体样本计算动量对比学习损失;
S4、在所述多模态知识图谱数据集上生成2N个不同的子视图,其中N个用于普通对比学习,输出普通对比学习信号;N个用于动量对比学习,输出动量对比学习信号;
S5、利用所述普通对比学习信号和动量对比学习信号,执行多任务学习。
在第一方面进一步的实施例中,步骤S1中构建形成多模态知识图谱数据集的过程包括:
提取所述初始实体的实体名称和实体描述信息,利用所述实体名称和实体描述信息在搜索引擎中搜索与所述初始实体相关的前10条数据,得到文本信息和图片信息;
将实体描述信息和随机选择的其中一个所述图片信息输入到CLIP模型中,从而生成所述初始实体的文本向量和图像向量;
将所述文本向量和图像向量经过一个投影函数,使得所述文本向量、图像向量、CLIP模型生成的向量三者之间维度相同;
其中,所述投影函数表示为p(x)=W
在第一方面进一步的实施例中,步骤S2中引入多模态注意力机制表示连接网络中头尾实体之间的传导系数,所述多模态注意力机制表示为:
式中,tanh(*)表示非线性激活函数,e
在第一方面进一步的实施例中,多模态注意力机制通过头尾实体之间、尾实体和多模态向量之间的距离来获得注意力评分;
通过softmax函数对参数进行正则化:
式中,
头实体h和尾实体t之间的连接网络
第一层实体的向量表示为
式中,LeakyReLU(*)表示激活函数;
在第一方面进一步的实施例中,在一个L层的知识图谱中,最终的用户u和物品i向量是每一层向量的拼接而成,表示为:
式中,
在第一方面进一步的实施例中,步骤S3进一步包括:
S3-1、建立两个编码器q和k,编码器k中的参数根据上一轮训练时q和k的参数进行动态更新;
S3-2、经过k编码器的实体向量进入一个固定长度的队列,同时队列中最早的实体向量会出列;
S3-3、计算动量对比学习损失时,经过两个编码器的实体作为正样本,队列中的实体作为负样本;
θ
式中,θ
在第一方面进一步的实施例中,在执行步骤S3-3时,若引入错误的负样本,则将队列中与正样本相似度大于阈值的负样本判定为正样本:
式中,
在计算损失函数时不考虑这部分错误的负样本:
式中,
在第一方面进一步的实施例中,步骤S4中在所述多模态知识图谱数据集上生成的子视图表示为:
式中,
在第一方面进一步的实施例中,步骤S5进一步包括:
将推荐目标函数
式中,λ、λ
第二方面,本发明提出一种知识图谱推荐装置,该装置包括:
采集模块,用于确定初始实体,采集与所述初始实体关联度在预定区间内的文本信息和图片信息,基于所述文本信息和图片信息构建形成多模态知识图谱数据集;
网络连接模块,用于将所述多模态知识图谱数据集合并至由若干实体连接组成的连接网络中,并和所述初始实体相结合,从而获得第二实体数据;引入多模态注意力机制表示连接网络中头尾实体之间的传导系数;
动态更新模块,用于建立编码器,将所述第二实体数据导入所述编码器进行动态更新,得到第三实体样本,根据所述第三实体样本计算动量对比学习损失;
视图生成模块,用于在所述多模态知识图谱数据集上生成2N个不同的子视图,其中N个用于普通对比学习,输出普通对比学习信号;N个用于动量对比学习,输出动量对比学习信号;
学习模块,利用所述普通对比学习信号和动量对比学习信号,执行多任务学习。
有益效果:本发明可在有效解决视觉文本两种类型表征之间潜在不一致性的担忧,同时有效利用多模态信息计算节点相似性,有效对用户进行物品推荐,在三个数据集上模型效果都很优秀。方法简单有效,对于提高多模态知识图谱推荐模型的效果具有一定的理论价值与实践意义。
附图说明
图1是本发明实施例中基于动量更新对比学习框架的多模态知识图谱推荐方法的流程图。
图2是本发明实施例中多模态知识图谱推荐方法的整体模型框架图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
经过研究发现,将对比学习技术引入知识图谱中会引发一系列新问题,例如如何构建有效的正样本对以支撑数据增强方法,如何增加负样本数量同时避免带来误判的负样本等。
为此,本实施例提出一种基于动量更新对比学习框架的多模态知识图谱推荐方法,如图1所示,本方法包括多模态数据集构建、多模态注意力机制、动量更新、知识图谱对比学习、多任务学习五个环节。
实施例中多模态知识图谱推荐方法的整体模型框架的示意图见图2。
本实施例提出的多模态知识图谱推荐方法具体如下:
一、构建多模态数据集:
构建多模态数据集包括了三个主要阶段,分别是文本获取、图片获取、多模态向量生成,这些阶段对于确保最终数据集的全面性和丰富性至关重要。
1)文本获取。需要从Freebase中提取实体的英文名称和描述,可以利用和两个关系获取。有一点很重要,需要确保获取得到的名称和描述都带着@en标签,从而保证获取到的语言为英语。
2)图片获取。获取到的文本信息被用于搜索与实体相关的视觉数据。利用每个实体的英文名称和附带的描述作为搜索项,在Bing搜索引擎中搜索与实体相关的前10张图片。将实体的名称和描述作为关键词可以确保获得图片的相关性和指向性。
3)多模态向量生成。在获得实体的文本和图像信息后,将实体描述和随机选择的一个图片输入到CLIP模型中,从而生成实体的文本和图像向量。CLIP模型为文本和图像生成向量提供了一个协同的方法,确保了跨不同模态的表征的一致性。但是通过CLIP生成的文本和图像向量维度为512,而实体向量维度为64,因此还需要将文本和图像向量经过一个投影函数,保证向量之间维度相同。投影函数可以表示为p(x)=W
二、多模态注意力机制:
获取到实体的文本和图像向量之后,需要把这两个向量合并到实体的连接网络中,并和初始实体向量进行结合,从而获得用来表示实体的新向量。利用一种多模态注意力机制可以表示头尾实体之间的传导系数,表示为:
式中,tanh(*)表示非线性激活函数,e
表示头实体h和尾实体t之间的连接网络;exp(*)表示对括号内执行以自然对数底数e为底数的指数运算。
因此,头实体h和尾实体t之间的连接网络可以用
最终,第一层实体的向量表示为
在一个L层的知识图谱中,最终的用户u和物品i向量是每一层向量的拼接而成,表示为:
三、动量更新:
建立两个编码器q和k,编码器k中的参数会根据上一轮训练时q和k的参数进行动态更新。经过k编码器的实体向量会进入一个固定长度的队列,同时队列中最早的实体向量会出列。计算动量对比学习损失时,经过两个编码器的实体会作为正样本,队列中的实体会作为负样本。
θ
由于队列长度远大于批次长度,因此不可避免会引入错误的负样本。我们将队列中与正样本相似度大于阈值的负样本判定为正样本:
在计算损失函数时不考虑这部分错误的负样本:
根据上述原理,为用户和物品实体各自建立一套编码器q和k,参数初始化和更新独立进行。
四、知识图谱对比学习:
利用随机选边方法在原有知识图谱结构上生成4个不同的子视图,两个用于传统的对比学习,两个用于动量对比学习。生成的视图可表示为:
式中,
五、多任务学习:
为了利用普通对比学习信号和动量对比学习信号,本发明应用了多任务学习技术,将推荐目标函数
式中,λ、λ
O={(u,i,j)|(u,i)∈R
(h,r,t
Sim(*)表示通过点乘获得增强后的两个子视图的相似度,
式中,
实验结果如下表1所示:
表1:本发明在三个数据集上与其余六种模型对比表
表1中加粗为本发明结果,下划线为第二好的模型结果,提升是相对于第二好的模型。
为了实现上述实施例提出的多模态知识图谱推荐方法,下面实施例额外提出一种知识图谱推荐装置,该装置包括采集模块、网络连接模块、动态更新模块、视图生成模块、学习模块五个组成部分。采集模块用于确定初始实体,采集与所述初始实体关联度在预定区间内的文本信息和图片信息,基于所述文本信息和图片信息构建形成多模态知识图谱数据集。网络连接模块用于将所述多模态知识图谱数据集合并至由若干实体连接组成的连接网络中,并和所述初始实体相结合,从而获得第二实体数据;引入多模态注意力机制表示连接网络中头尾实体之间的传导系数。动态更新模块用于建立编码器,将所述第二实体数据导入所述编码器进行动态更新,得到第三实体样本,根据所述第三实体样本计算动量对比学习损失。视图生成模块用于在所述多模态知识图谱数据集上生成2N个不同的子视图,其中N个用于普通对比学习,输出普通对比学习信号;N个用于动量对比学习,输出动量对比学习信号。学习模块利用所述普通对比学习信号和动量对比学习信号,执行多任务学习。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。
- 一种基于知识图谱的推荐方法及装置
- 一种融合知识图谱的跨模态对比零样本学习方法
- 融合知识图谱与关系感知对比学习的冷启动推荐方法