知识图谱表示学习方法及系统与流程

文档序号:23820205发布日期:2021-02-03 16:18阅读:243来源:国知局
知识图谱表示学习方法及系统与流程

[0001]
本发明涉及知识图谱技术领域,尤其涉及一种知识图谱表示学习方法及系统。


背景技术:

[0002]
当前知识表示技术主要有两类方法,基于翻译距离的方法和基于相似度匹配的方法。基于翻译距离的方法,主要基于翻译原则,使头实体与关系之和与尾实体尽可能接近,常用欧式距离度量;基于相似度匹配的方法,主要计算头实体、关系与尾实体三者的点积,相似度越高,三者越匹配。
[0003]
然而,当前知识表示技术,在训练及评估阶段,仅考虑单个三元组作为输入,没有考虑三元组中实体的语境。如实体“北京”相关的三元组包括(北京,首都,中国)、(北京,属于, 文化中心),这些三元组就是实体“北京”的语境。如何利用实体的语境信息提高知识图谱表示学习的准确性成为亟待解决的问题。


技术实现要素:

[0004]
有鉴于此,本发明提供一种知识图谱表示学习方法以及方法,以利用实体的语境信息提高知识图谱表示学习的准确性。
[0005]
一方面,本发明提供一种知识图谱表示学习方法,包括:
[0006]
根据知识图谱中的三元组的首实体以及尾实体在知识图谱中的关系实体,对应确定所述首实体以及尾实体的语境信息;所述首实体以及尾实体的语境信息包括所述知识图谱中的三元组的首实体以及尾实体在知识图谱中的一度关系实体以及二度关系实体;
[0007]
根据所述三元组以及所包含的首实体以及尾实体的语境信息,构建三元组树,并将所述三元组树输入到嵌入层编码,得到嵌入向量;所述嵌入向量作为正样本的实体向量与关系向量的表示;所述三元组树包括所述首实体、尾实体、所述首实体的一度关系实体、所述首实体的二度关系实体、所述尾实体的一度关系实体、以及所述尾实体的二度关系实体的信息;
[0008]
根据实体向量和关系向量之间的转化模型,得到所述三元组数对应嵌入向量的一个评价函数,通过最小化所述评价函数,学习得到所述三元组的向量表示。
[0009]
进一步地,所述嵌入层包括字符嵌入层、位置嵌入层以及分割嵌入层;所述将所述三元组树输入到嵌入层编码,得到嵌入向量的步骤包括:将所述三元组树输入到字符嵌入层编码、位置嵌入层以及分割嵌入层中的一种,得到所述嵌入向量。
[0010]
进一步地,将所述三元组树输入到位置嵌入层时,得到所述嵌入向量表示为:
[0011]
a,b,c,d,e,f,g,h,i,g,k,l,m;
[0012]
其中,a表示所述三元组中首实体的位置编码,b表示所述三元组中关系的位置编码,c, d表示所述三元组中尾实体的位置编码,e表示所述首实体的一度关系的位置编码,f表示所述首实体的一度关系对应实体的位置编码,g表示所述首实体的二度关系的位置编码,h表示所述首实体的二度关系对应实体的位置编码,i表示所述尾实体的一度关系的位
置编码,g表示所述尾实体的一度关系对应实体的位置编码,k表示所述尾实体的二度关系的位置编码,l 表示所述尾实体的二度关系对应实体的位置编码。
[0013]
进一步地,所述实体向量和关系向量之间的转化模型通过伯努利分布分布抽样技术,替换所述三元组的首实体或者尾实体得到负样本。
[0014]
另一方面,本发明提供一种知识图谱表示学习系统,包括:语境信息获取模块,用于根据知识图谱中的三元组的首实体以及尾实体在知识图谱中的关系实体,对应确定所述首实体以及尾实体的语境信息;所述首实体以及尾实体的语境信息包括所述知识图谱中的三元组的首实体以及尾实体在知识图谱中的一度关系实体以及二度关系实体;
[0015]
嵌入向量获取模块,用于根据所述三元组以及所包含的首实体以及尾实体的语境信息,构建三元组树,并将所述三元组树输入到嵌入层编码,得到嵌入向量;所述嵌入向量作为正样本的实体向量与关系向量的表示;所述三元组树包括所述首实体、尾实体、所述首实体的一度关系实体、所述首实体的二度关系实体、所述尾实体的一度关系实体、以及所述尾实体的二度关系实体的信息;
[0016]
向量表示学习模块,用于根据实体向量和关系向量之间的转化模型,得到所述三元组数对应嵌入向量的一个评价函数,通过最小化所述评价函数,学习得到所述三元组的向量表示。
[0017]
进一步地,所述嵌入层包括字符嵌入层、位置嵌入层以及分割嵌入层;所述嵌入向量获取模块具体用于:将所述三元组树输入到字符嵌入层编码、位置嵌入层以及分割嵌入层中的一种,得到所述嵌入向量。
[0018]
进一步地,所述嵌入向量获取模块具体用于:将所述三元组树输入到位置嵌入层时,得到所述嵌入向量表示为:
[0019]
a,b,c,d,e,f,g,h,i,g,k,l,m;
[0020]
其中,a表示所述三元组中首实体的位置编码,b表示所述三元组中关系的位置编码,c, d表示所述三元组中尾实体的位置编码,e表示所述首实体的一度关系的位置编码,f表示所述首实体的一度关系对应实体的位置编码,g表示所述首实体的二度关系的位置编码,h表示所述首实体的二度关系对应实体的位置编码,i表示所述尾实体的一度关系的位置编码,g表示所述尾实体的一度关系对应实体的位置编码,k表示所述尾实体的二度关系的位置编码,l 表示所述尾实体的二度关系对应实体的位置编码。
[0021]
进一步地,所述实体向量和关系向量之间的转化模型通过伯努利分布分布抽样技术,替换所述三元组的首实体或者尾实体得到负样本。
[0022]
本发明知识图谱表示学习方法及系统,通过考虑了实体的语境信息,语境信息包括所述知识图谱中的三元组的首实体以及尾实体在知识图谱中的一度关系实体以及二度关系实体;能够在学习知识表示的同时,编码新增的三元组而无需重新训练模型,能更准确判断三元组的向量是否正确,以利用实体的语境信息提高知识图谱表示学习的准确性。
附图说明
[0023]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0024]
图1为根据本发明示例性第一实施例的知识图谱表示学习方法的流程图。
[0025]
图2为根据本发明示例性的三元组树。
[0026]
图3为根据本发明示例性的嵌入层表示的示意图。
[0027]
图4为根据本发明示例性第二实施例的知识图谱表示学习系统的结构框图。
具体实施方式
[0028]
下面结合附图对本发明实施例进行详细描述。
[0029]
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0030]
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0031]
如图1所示,本发明一种知识图谱表示学习方法,包括:
[0032]
步骤101,根据知识图谱中的三元组的首实体以及尾实体在知识图谱中的关系实体,对应确定所述首实体以及尾实体的语境信息;
[0033]
具体操作时,可以从知识图谱中任意抽取一个三元组,直到对知识图谱中的所有三元组完成分析;抽取三元组中实体的语境信息,同时构建负样本。实体向量和关系向量之间的转化模型(比如k-bert模型)通过伯努利分布(bernoulli)抽样技术,替换所述三元组的首实体或者尾实体得到负样本。伯努利分布(bernoulli)抽样技术为现有技术,在此不再赘述。
[0034]
具体地,三元组中头实体在知识图谱中一度、二度关系的实体,即为当前头实体的语境。相应地,尾实体在知识图谱中一度、二度关系的实体,即为当前尾实体的语境。
[0035]
步骤102,根据所述三元组以及所包含的首实体以及尾实体的语境信息,构建三元组树,并将所述三元组树输入到嵌入层编码,得到嵌入向量;所述嵌入向量作为正样本的实体向量与关系向量的表示;所述三元组树包括所述首实体、尾实体、所述首实体的一度关系实体、所述首实体的二度关系实体、所述尾实体的一度关系实体、以及所述尾实体的二度关系实体的信息;
[0036]
具体操作时,当前三元组的树,类似于星型的拓扑结构。针对该结构,需要特定的位置编码方法。所述嵌入层可以包括字符嵌入层、位置嵌入层以及分割嵌入层。其中,对于字符嵌入,该方法与bert一致,它将字符转化为低维的向量表示。对于位置嵌入,上述星型的中心,该实体的位置编码为0,一度关系位置编码为1,一度关系对应的实体位置编码为2,二度关系位置编码为3,二度关系对应的实体位置编码为4。如二度关系的位置嵌入的输入可能是0,1,2,3,4,1,2,3,4,

。对于分割嵌入,该方法也与bert一致,用于识别多个不同的句子。在三元组树编码时,由于首实体的三元组主要修饰首实体,因此首实体相关的三元组
不应用于编码尾实体,因此构建可视矩阵作为可视层。通过该方法,可以避免引入知识噪音问题。
[0037]
步骤102中将所述三元组树输入到嵌入层编码,得到嵌入向量的步骤包括:将所述三元组树输入到字符嵌入层编码、位置嵌入层以及分割嵌入层中的一种,得到所述嵌入向量。
[0038]
优选地,将所述三元组树输入到位置嵌入层时,得到所述嵌入向量表示为:
[0039]
a,b,c,d,e,f,g,h,i,g,k,l,m;
[0040]
其中,a表示所述三元组中首实体的位置编码,b表示所述三元组中关系的位置编码,c, d表示所述三元组中尾实体的位置编码,e表示所述首实体的一度关系的位置编码,f表示所述首实体的一度关系对应实体的位置编码,g表示所述首实体的二度关系的位置编码,h表示所述首实体的二度关系对应实体的位置编码,i表示所述尾实体的一度关系的位置编码,g表示所述尾实体的一度关系对应实体的位置编码,k表示所述尾实体的二度关系的位置编码,l 表示所述尾实体的二度关系对应实体的位置编码。
[0041]
步骤103,根据实体向量和关系向量之间的转化模型,得到所述三元组数对应嵌入向量的一个评价函数,通过最小化所述评价函数,学习得到所述三元组的向量表示。
[0042]
嵌入层编码后,将嵌入向量输入实体向量和关系向量之间的转化模型(来自变换器的双向编码器表征量,bidirectional encoder representations from transformers,简称bert) 进行学习。这里采用bert作为预训练模型,有以下优势:它可以作为实体向量及关系向量的初始化。对于新增的三元组,也可以利用bert的先验知识生成实体向量及关系向量。bert 模型为现有技术,在此不再详述。
[0043]
即头实体向量,经过关系向量平移后,使之与尾实体向量尽可能接近。这里采欧式距离度量两者的距离。通过最小化评价函数,学习实体向量和关系向量的表示学习方法,利用随机梯度下降方法计算样本的梯度并更新参数。
[0044]
即考虑了负样本的损失函数。其中,(h,r,t)表示正样本,(h’,r’,t’)表示负样本, gamma属于超参数,表示负样本与正样本之间的间隔,即负样本的得分较大即可。
[0045]
具体地,以三元组分类任务为例,判断当前三元组是否正确。具体实施步骤如下:以(中国,首都,北京)为例,从图谱中抽取三元组的语境并构建负样本。如中国的语境包括(中国, 属于,文明古国),(中国,属于,发展中国家)等,北京的语境包括(北京,属于,文化中心),(北京,近义,燕京)等.通过bernoulli分布抽样技术,替换(中国,首都,北京)中的实体及关系,从而构建三元组的负样本,如(中国,首都,天津)。
[0046]
需要说明的是,根据可视层的可视矩阵,需要对标准的变换器编码器进行修改,这里的注意力不再是计算所有词语与该词语的注意力得分,而是计算可视矩阵限定范围内的词语与该词语的得分,因此这里需要对词语进行掩膜处理,所以该变换器编码器称之为掩膜变换器编码器。这里依然采用bert的预训练模型,有以下优势:它可以作为实体向量及关系向量的初始化。对于新增的三元组,也可以利用bert的先验知识生成实体向量及关系向量。
[0047]
首先,构建当前三元组的三元组树,作为嵌入层的输入。
[0048]
如图2所示的三元组树。
[0049]
其中,横排文字下面的一排数字索引以及两列竖排文字左边的两列数字索引,即
为位置嵌入的输入:
[0050]
[cls] 中国首都
ꢀꢀ
北京
ꢀꢀ
属于文明古国属于文化中心
ꢀꢀ
近义
ꢀꢀ
燕京.0
ꢀꢀꢀꢀ
1 2
ꢀꢀ
3 4
ꢀꢀ
5 6
ꢀꢀ
3 4
ꢀꢀ
5 6 7 8
ꢀꢀ
7 8
ꢀꢀ
9 10 11 12 7 8
ꢀꢀꢀ
9 10
[0051]
其次,根据三元组树,构建可视层的输入
[0052]
如上例的三元组树中,横排文字上面的一排数字索引以及两列竖排文字右边的两列数字索引,即为可视化矩阵(visible matrix)的索引:
[0053][0054]
对应的可视化矩阵为:
[0055]
[0056][0057]
其中,[cls]对当前三元组都可见(如中国首都北京),而对实体的其他三元组(实体的语境信息)不可见,表示对当前三元组的编码。三元组“中国属于文明古国”,它们之间相互可见,而对其他三元组都不可见。
[0058]
通过visible matrix,可以使转换器(transformer)的注意力机制更加有选择性,由于对某些字符设为不可见(不同于传统的transformer,字符都可见),所以该转换器称之为 mask-transformer。
[0059]
然后,嵌入层编码后,作为变换器编码器的输入,获得字编码、位置编码的嵌入向量。嵌入层表示,包括字符嵌入、位置嵌入、分割嵌入,三者之和作为mask-transformer encoder 的输入。模型训练完成后,可以获得字编码、位置编码、分割编码的嵌入向量,通常为768 维的向量。具体如图3所示。
[0060]
其中,分割嵌入主要用于区分两个三元组树。当前示例,仅一个三元组树,所以分割嵌入的输入字符都是a。若有两个三元组树,则分别用a、b表示。
[0061]
再次,提取变换器编码器对应的三元组中实体向量与关系向量的表示,作为评价函数的输入,具体如提取三元组的实体及关系向量的表示,计算(中国,首都,北京)正样本和(中国, 首都,天津)负样本的评价函数得分。其中,三元组的语境信息(也是由三元组构成)也作为正样本用于计算评价函数。
[0062]
最后,通过最小化评价函数,学习实体向量和关系向量的表示,使负样本得分高于正样本超过一定的间隔即可(超参数,通过交叉验证方式,确定最优超参数)。如(中国,首都, 天津)负样本得分高于(中国,首都,北京)正样本得分,中国+首都的向量表示距离天津的向量表示较远,而距离北京的向量表示更近。据此,通过随机梯度下降算法,最小化评价函数,可以获得三元组的正确表示。
[0063]
本实施例不仅在编码阶段,在评估阶段,也考虑三元组中实体的语境,使实体的表示不仅依赖于当前三元组的实体及关系,也依赖于实体所处语境仅需在bert基础上调优,无需训练新模型,只需要利用三元组信息,能更准确判断当前三元组是否正确。
[0064]
如图4所示,本发明一种知识图谱表示学习系统,图1所示方法实施例的解释说明均适用于本实施例,如图4所示,包括:
[0065]
语境信息获取模块201,用于根据知识图谱中的三元组的首实体以及尾实体在知识图谱中的关系实体,对应确定所述首实体以及尾实体的语境信息;
[0066]
嵌入向量获取模块202,用于根据所述三元组以及所包含的首实体以及尾实体的语境信息,构建三元组树,并将所述三元组树输入到嵌入层编码,得到嵌入向量;所述嵌入向量作为正样本的实体向量与关系向量的表示;
[0067]
向量表示学习模块203,用于根据实体向量和关系向量之间的转化模型,通过最小化预设的评价函数,学习得到所述三元组的向量表示。
[0068]
优选地,所述语境信息获取模块201具体用于:将所述知识图谱中的三元组的首实体以及尾实体在知识图谱中的一度关系实体以及二度关系实体,分别对应确定为所述首实体以及尾实体的语境信息。
[0069]
优选地,所述嵌入层包括字符嵌入层、位置嵌入层以及分割嵌入层;所述嵌入向量获取模块202具体用于:将所述三元组树输入到字符嵌入层编码、位置嵌入层以及分割嵌入层中的一种,得到所述嵌入向量。
[0070]
优选地,所述嵌入向量获取模块202具体用于:将所述三元组树输入到位置嵌入层时,得到所述嵌入向量表示为:
[0071]
a,b,c,d,e,f,g,h,i,g,k,l,m;
[0072]
其中,a表示所述三元组中首实体的位置编码,b表示所述三元组中关系的位置编码,c, d表示所述三元组中尾实体的位置编码,e表示所述首实体的一度关系的位置编码,f表示所述首实体的一度关系对应实体的位置编码,g表示所述首实体的二度关系的位置编码,h表示所述首实体的二度关系对应实体的位置编码,i表示所述尾实体的一度关系的位置编码,g表示所述尾实体的一度关系对应实体的位置编码,k表示所述尾实体的二度关系的位置编码,l 表示所述尾实体的二度关系对应实体的位置编码。
[0073]
本实施例考虑了实体的语境信息,能够在学习知识表示的同时,编码新增的三元组而无需重新训练模型,能更准确判断当前三元组是否正确。
[0074]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1