一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种开放世界知识图谱补全方法及装置

2022-05-08 08:05:41 来源:中国专利 TAG:


1.本发明属于开放世界的知识图谱补全领域,具体涉及一种开放世界知识图谱补全方法及装置。


背景技术:

2.知识图谱有两种主要的存储方式:rdf和图数据库;rdf语言是一种非常简单的语言,本质上是由主语、谓语、宾语组成的三元组,rdf语言表示各种事情之间的关联,把这种关联画出来变成很大的一个图,就转化为了图数据库,谷歌、微软都有自己的图数据库。知识图谱已被应用于网络搜索、链接预测、推荐、自然语言处理和实体链接等领域,然而,大多数知识图谱还不完善。denis krompa对一些开源的大型知识库进行了统计,在freebase中,有71%的人的实体缺失了“出生地”属性值,而在dbpedia中这个数值为66%。知识图谱作为许多任务和应用的底层数据库,数据的缺失会严重影响上层应用的效果。
3.为了解决这些问题,知识图谱补全被提出,通过填补缺失的连接来改进知识图谱。给定一个知识图谱g=(e,r,t),其中e表示实体集合,r表示关系集合,t表示三元组集合。知识图谱补全可分为封闭世界和开放世界两种,封闭世界假设知识图谱是固定的,利用图的拓扑结构,发现已有实体之间新的关系,添加新的三元组。常用的方法可以分为三类,第一类是基于逻辑规则的模型,根据已有的三元组,通过定义的规则推理出新的规则;第二类是基于关系路径信息的模型,融合知识图谱路径信息进行路径推理的方法,关系路径推理旨在利用知识图谱结构中的路径信息,可以提高知识表示学习模型的性能;第三类是基于嵌入的模型,该类方法将实体向量映射到关系决定的空间,之后通过向量运算推断缺失关系。
4.然而封闭世界的知识图谱补全的方法能得到的信息是有限的,越来越多的方法倾向于从开放世界的资源中获取知识。为了解决开放世界的知识图谱补全的问题,研究者们提出了conmask模型、owe模型等模型。baoxu shi提出的conmask模型首先使用基于关系的内容遮蔽,筛选文本信息,删去无关信息,仅留下与任务有关的内容,然后使用全卷积神经网络从相关文本抽取目标实体的嵌入,最后将这个目标实体嵌入与图谱中现有的目标候选尾部实体做比较生成排序列表;但是该模型没有充分利用实体文本描述中丰富的特征信息。haseeb shah等提出了owe模型,该模型结合了从知识图中学习到的常规链接预测模型和从文本语料库中学习到的单词嵌入,在独立训练之后,学习一个转换,将实体的名称和描述的嵌入映射到基于图的嵌入空间,该模型利用了完整的知识图谱不依赖于长文本,具有很高的扩展性。但该模型训练成本高昂,对原始数据有着很高的质量要求。


技术实现要素:

5.为解决上述问题,本发明提供了一种开放世界知识图谱补全方法及装置。
6.一种开放世界知识图谱补全方法,构建知识图谱补全模型,该模型包括word2vec模块、注意力模块、打分模块,开放世界知识图谱补全方法包括以下步骤:
7.s1.获取三元组数据,三元组数据中每个三元组包括头部实体描述,头部实体名
称,关系名称,候选尾部实体描述,候选尾实体;
8.s2.使用word2vec模块对头部实体描述和候选尾部实体描述进行词嵌入,得到头实体向量和候选尾实体向量,将头部实体名称与关系名称的文本连接视作问题,使用word2vec模块对问题进行词嵌入得到问题向量;
9.s3.采用注意力模块计算头实体向量和问题向量,得到关系感知表示;
10.s4.将头实体向量与关系感知进行连接,采用transformer提取连接结果的全局特征,得到连接结果的向量表示;
11.s5.采用gru网络对问题向量进行编码,通过门控机制将编码后的问题向量与连接结果的向量表示融合,并将融合结果输入cnn网络,得到第一cnn输出;
12.s6.采用transformer提取候选尾实体向量的全局特征,得到候选向量表示并输入cnn网络,得到第二cnn输出;
13.s7.通过打分模块对第一cnn输出与第二cnn输出进行打分,并输出分数;
14.s8.采用交叉熵损失函数计算分数的损失值,使用adam优化算法训练知识图谱补全模型参数,直到模型参数收敛;
15.s9.获取待补全的知识图谱并输入训练好的知识图谱补全模型进行补全。
16.进一步的,三元组数据从dbpedia50k数据集和dbpedia500k数据集中获取,将三元组数据以8:1:1的比例划分为训练集、验证集和测试集数据集。
17.进一步的,对三元组数据添加标签y
*
表示三元组的正确性,即正确三元组标签为1,错误三元组标签为0,标签表示为y
*
∈{0,1}。
18.进一步的,注意力模块中采用的注意力函数为:
[0019][0020][0021]
其中,为注意力分数,x表示输入单词,y表示文本,yi表示文本中的第i个单词,m为文本长度,w是一个矩阵,α(
·
)是relu非线性激活函数。
[0022]
进一步的,根据注意力模块中的注意力函数得到头实体向量对应的关系感知表示
[0023][0024]
其中,为头实体向量中的第i个词嵌入,为问题向量集合,att(
·
)表示注意力函数。
[0025]
进一步的,步骤s5中编码后的问题向量与连接结果的向量表示的融合结果表示为:
[0026][0027]
其中,σ是sigmoid函数,为编码后的问题向量,为头实体向量与关系感知的连接结果采用transformer提取全局特征之后的向量表示。
[0028]
进一步的,打分模块采用的打分函数表示为:
[0029][0030]
其中,为第一cnn输出,为第二cnn输出,ws是需要被训练的变换矩阵。
[0031]
进一步的,交叉熵损失函数表示为:
[0032][0033]
其中,yi是第i个三元组的标签值,y
′i表示模型输出的第i个候选尾实体的分数,m表示三元组总数量。
[0034]
一种基于开放世界知识图谱补全装置,包括:
[0035]
获取模块,用于获取待补全的知识图谱数据;
[0036]
word2vec模块,用于对获取模块中的知识图谱数据进行词嵌入,得到头实体向量、候选尾实体向量和问题向量;
[0037]
注意力模块,用于计算头实体向量和问题向量,得到关系感知表示;
[0038]
transformer模块,用于提取头实体向量与关系感知连接结果的全局特征得到连接结果的向量表示,并提取候选尾实体向量的全局特征得到候选向量表示;
[0039]
融合模块,用于通过门控机制将编码后的问题向量,与transformer模块输出的连接结果的向量表示进行融合;
[0040]
cnn网络,用于对融合模块的融合结果和transformer模块的候选向量表示进行特征抽取;
[0041]
打分模块,用于对cnn网络输出的结果进行打分,选取最高分数对应的三元组作为新的三元组补入知识图谱。
[0042]
本发明的有益效果:
[0043]
本发明提供了一种开放世界知识图谱补全的方法,不限制要补全的三元组的实体都在要补全的知识图谱的实体集合中,而是从开放世界的资源中获取知识,例如在线百科全书,能够补全各种大型知识图谱,解决知识图谱缺失数据的问题。
[0044]
本发明主要使用transformer网络框架与cnn网络,其中transformer能够很好的捕获实体描述的全局特征,cnn网络结构由2次卷积操作与1次池化操作组成,能够降低网络训练成本以及在降低嵌入大小的情况下能够进行很好的特征提取,有助于提升知识图谱补全的三元组准确率。同时使用的注意力机制能够充分利用文本描述的信息,对问题使用的gru网络在编码的同时也能够提升训练效率。
附图说明
[0045]
图1为本发明的方法流程图;
[0046]
图2为本发明中模型结构图;
[0047]
图3为本发明中cnn网络结构示意图。
具体实施方式
[0048]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]
一种基于注意力机制与transformer的开放世界知识图谱补全方法,如图1、2所示,构建知识图谱补全模型,该模型包括word2vec模块、注意力模块、打分模块,包括以下步骤:
[0050]
s1.获取三元组数据,三元组数据中每个三元组都包括头部实体描述,头部实体名称(也称为头实体),关系名称(也可叫做关系),候选尾部实体描述,候选尾实体;
[0051]
s2.使用word2vec模块对头部实体描述和候选尾部实体描述进行词嵌入,得到头实体向量和候选尾实体向量,将头部实体名称与关系名称的文本连接视作问题,使用word2vec模块对问题进行词嵌入得到问题向量;
[0052]
s3.采用注意力模块计算头实体向量和问题向量,得到关系感知表示;
[0053]
s4.将头实体向量与关系感知进行连接,采用transformer提取连接结果的全局特征,得到连接结果的向量表示;
[0054]
s5.采用gru网络对问题向量进行编码,通过门控机制将编码后的问题向量与连接结果的向量表示融合,并将融合结果输入cnn网络,得到第一cnn输出;
[0055]
s6.采用transformer提取候选尾实体向量的全局特征,得到候选向量表示并输入cnn网络,得到第二cnn输出;
[0056]
s7.通过打分模块对第一cnn输出与第二cnn输出进行打分,并输出分数;
[0057]
s8.采用交叉熵损失函数计算分数的损失值,使用adam优化算法训练知识图谱补全模型参数,直到模型参数收敛;
[0058]
s9.获取待补全的知识图谱并输入训练好的知识图谱补全模型进行补全。
[0059]
freebase 15k数据集在知识图谱补全中被广泛使用,但是fb15k充满了大量的反向的三元组或同义词三元组,没有为基于文本描述的知识图谱补全方法提供足够的文本信息。
[0060]
在这一实施例中,由于fb15k数据集中文本内容有限且存在冗余的情况,本实施例使用两个新的数据集dbpedia50k和dbpedia500k,用于开放世界的知识图谱补全;dbpedia50k数据集包含49900个实体,实体的平均描述长度为454个单词,654个关系。dbpedia500k数据集包含517475个实体,654个关系。将获取的数据集中完整的三元组以8:1:1的比例划分为训练集、验证集和测试集数据集。
[0061]
word2vec是一种词向量表达,借助词典把文本转化为一组向量;
[0062]
使用word2vec模块对头部实体描述和候选尾部实体描述进行词嵌入,得到头实体向量和候选尾实体向量,表示为:
[0063][0064][0065]
其中,hi是头部实体描述中第i个词,是头实体向量中的第i个词嵌入,|mh|是头部实体描述的长度,tn是候选尾部实体描述中的第n个词,是候选尾实体向量中的第
n个词嵌入,|z
t
|是候选尾部实体描述的长度。
[0066]
将头部实体名称与关系名称的文本连接视作问题,使用word2vec模块对问题进行词嵌入得到问题向量,表示为:
[0067][0068]
其中,rj是问题中的第j个词,是问题向量中的第j个词嵌入,|qr|是问题的长度。
[0069]
头部实体名称是一个词,头部实体描述是含有名称的一段文本,头部实体描述中的每个单词的表示并不同等重要,对于关系和头部实体描述这段文本中的每个单词来说,头部实体描述中有和关系这个词联系紧密的、相关的词,也有很多无关的词,于是对头实体向量和问题向量使用注意力机制,来强调头部实体描述中和关系相关的信息,得到头部实体描述中词的关系感知表示,相当于减少那些无关的词的表示,去除噪声。
[0070]
优先地,定义注意力机制中采用的注意力函数为:
[0071][0072]
其中,为注意力分数,给定输入单词x和文本m为文本长度;
[0073][0074]
其中注意力分数捕获了给定的输入单词x和文本y中每个单词yi之间的相似性,w是一个矩阵,α(
·
)是relu非线性激活函数。根据定义的注意力函数可以得到头实体向量对应的关系感知表示公式为:
[0075][0076]
将未经过注意力操作的头实体向量与经过注意力操作得到的关系感知表示进行连接得到新头实体向量
[0077]
为了更好的捕获长期依赖关系,提取全局特征,将输入transformer编码器中进行编码得到
[0078]
然后将候选尾实体向量也输入到transformer编码器中得到也输入到transformer编码器中得到
[0079]
gru是循环神经网络的一种,能够解决长期记忆和反向传播中的梯度等问题,并且相较于lstm更容易进行训练,能够很大程度上提高训练效率。将问题向量使用
gru网络在相关文本中编码上下文信息得到gru网络在相关文本中编码上下文信息得到
[0080]
为了融合头实体向量与问题向量使用门控机制进行融合得到目标实体嵌入rs,公式为:
[0081][0082]
其中σ是sigmoid函数。
[0083]
卷积神经网络能够解决深层次结构的过拟合问题,同时cnn网络也常常用于知识图谱补全领域,获得了很好的表现。本发明采用的cnn网络如图3所示,由两个卷积层、一个池化层和一个全连接层组成,其的网络结构是在两个3
×
3卷积操作后接最大池化操作再接全连接层,具体地,将572
×
572的输入图送入cnn网络,经过第一层3
×
3卷积得到570
×
570的第一特征图,将第一特征图送入第二层3
×
3卷积得到568
×
568的第二特征图,对第二特征图进行最大池化得到284
×
284的第三特征图,最后送入全连接层。
[0084]
使用cnn网络作为目标实体融合结构,将目标实体嵌入rs与分别输入到cnn网络中分别得到与
[0085][0086][0087]
打分模块中使用打分函数对与进行打分,其打分函数表示为:
[0088][0089]
其中ws是需要被训练的变换矩阵,
·
t
表示转置操作。经过score(
·
)函数,每个候选尾实体都有其对应的分数si,采用最高分数所对应的候选尾实体作为正确的尾部实体。
[0090]
本实施例中,模型的训练阶段需要输出每个候选尾实体对应的分数si,设置的模型分数的输出表示为:
[0091]y′
=softmax([s1;s2;

;sm]);
[0092]
优先地,在知识图谱补全模型的训练过程中,对训练数据添加标签y
*
,标签代表训练数据中三元组的正确性,即正确三元组标签为1,错误三元组标签为0,使用交叉熵损失函数来最小化预测三元组和正确三元组之间的差距,交叉熵损失函数公式如下:
[0093][0094]
其中,yi是标签的one-hot编码,yi是第i个三元组的标签值,y
′i表示模型输出的第i个候选尾实体的分数。
[0095]
优先地,采用adam算法最小化损失函数优化模型。adam是一种可以替代传统随机梯度下降过程的一阶优化算法,它能基于训练数据迭代地更新神经网络权重。adam通过计算梯度的一阶矩估计和二阶矩估计为不同的参数设计独立的自适应性学习率。主要计算公式如下:
[0096][0097]
其中表示校正后的一阶矩估计和二阶矩估计,∈、η为训练过程中需调整的参数。
[0098]
优先地,知识图谱补全模型的训练完成后,对模型进行测评,模型的评价指标为mrr,mr,hits@1,hits@3,hits@10。对于每个测试三元组,预测尾实体,通过对所有候选尾部实体描述进行打分,之后按照升序将这些分数排列。hits@10就是正确三元组排在前10的概率,同理hits@3就是排在前3的概率,hits@1就是排在第1的概率。
[0099]
mr是平均排名,即正确三元组的排名的平均。
[0100][0101]
其中ti为第i个三元组的真实排名。
[0102]
mrr是平均倒数排名,即正确三元组排在k位,则mrr就为
[0103][0104]ki
是第i个三元组的正确排名。
[0105]
一种基于开放世界知识图谱补全装置,包括:
[0106]
获取模块,用于获取待补全的知识图谱数据;
[0107]
word2vec模块,用于对获取模块中的知识图谱数据进行词嵌入,得到头实体向量、候选尾实体向量和问题向量;
[0108]
注意力模块,用于计算头实体向量和问题向量,得到关系感知表示;
[0109]
transformer模块,用于提取头实体向量与关系感知连接结果的全局特征得到连接结果的向量表示,并提取候选尾实体向量的全局特征得到候选向量表示;
[0110]
融合模块,用于通过门控机制将编码后的问题向量,与transformer模块输出的连接结果的向量表示进行融合;
[0111]
cnn网络,用于对融合模块的融合结果和transformer模块的候选向量表示进行特征抽取;
[0112]
打分模块,用于对cnn网络输出的结果进行打分,选取最高分数对应的三元组作为新的三元组补入知识图谱。
[0113]
具体地,获取模块获取的待补全的知识图谱数据为知识图谱g={e,r,f},其中e表示所有实体的集合,r表示所有关系的集合,f为所有三元组的集合,每个三元组包括头部实体描述,头部实体名称,关系名称,候选尾部实体描述,候选尾实体,将头部实体名称与关系名称的文本连接视作问题,在待补全的知识图谱中应用本模型,选取最高分数的候选尾实体所对应的三元组作为正确的三元组,每次补全一组。
[0114]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换
和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献