1.本发明涉及一种融合知识和约束图的远程监督
关系抽取方法,属于计算机自然语言处理中的文本数据关系提取技术领域。
背景技术:
2.自然语言处理(natural language processing,nlp)是计算机与人工智能领域中的一个重要方向,主要实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
3.随着人工智能技术的发展,在计算机自然语言处理中,基于机器学习和深度学习的关系抽取,成为该领域的热点。目前,通过使用大规模的文本语料训练关系抽取来自动挖掘语言文本的深层语义特征,实现智能化的语义分析和关系抽取,其打破了传统人工设计规则进行关系抽取方法的局限,成为关系抽取技术的主要手段。通过深度学习自动进行大规模的文本数据下和复杂文本环境下的关系抽取,实现从非结构化文本中抽取结构化事实信息,在问答系统、知识图谱、搜索引擎等自然语言处理领域任务中,具有广阔的应用前景。
4.近些年来,基于远程监督的关系抽取,是基于深度学习的关系抽取技术的热门方向。该方法通过将大型知识库和语料库对齐,自动获得大量标注文本数据进行关系抽取模型的训练。具体地,设知识库中存在于知识库中存在“《头
实体,尾实体,关系》”三元组,远程监督假设语料库中包含该头实体和尾实体的
句子都表达出该三元组关系。相比于其他关系抽取方法,基于远程监督的关系抽取方法使用自动标注的大量数据进行训练,能够解决关系抽取训练数据难获取的问题,其训练好的关系模型泛化能力较强。
5.但是,远程监督自动标注的数据集存在两个严重问题:一是噪声问题,即,标注的数据集中大部分句子标注错误,影响到关系抽取模型训练效果。二是关系长尾问题,即,少部分关系占据了绝大部分数据,导致关系抽取模型无法对长尾关系进行充分学习。而现有的基于远程监督关系抽取方法难以解决远程监督数据集的上述两个问题,或者仅仅能专注于解决其中的一个,导致无法实现模型的有效训练,使关系抽取的实际效果不佳,严重影响到对文本深层语义特征的挖掘。
技术实现要素:
6.本发明的目的是针对现有技术的不足,为了能够同时有效地解决远程监督关系抽取中面临的数据噪声问题和长尾问题,创造性地提出一种融合知识和约束图的远程监督关系抽取方法。
7.本方法的创新点在于:通过使用实体知识上下文进行额外信息补充,通过实体类型、关系约束图进行关系间信息传递,并采用一种多源融合注意力机制对句子语义信息和实体上下文信息、实体关系约束信息进行信息融合,帮助进行句子和实体关系的表示学习,提升关系抽取效果。本方法对标注了实体信息的非结构化文本,能够有效识别出实体对之间的关系,尤其对于大规模的文本数据下和复杂文本环境下的关系抽取,实现从非结构化文本中抽取结构化事实信息十分有效。
8.本发明采用以下技术方案实现。
9.一种融合知识和约束图的远程监督关系抽取方法,包括以下步骤:
10.步骤1:收集远程监督数据集中的实体在知识库中的邻居实体,包括一跳、两跳的邻居实体。由远程监督数据集中的实体及其邻居实体组成实体集合,使用该实体集合构建实体邻居图,并结合实体间关系集合构建约束图。对远程监督数据集,将具有相同实体对的句子组合成句子包。
11.其中,对于远程监督数据集中的实体,可以使用flair命名实体识别工具来识别其实体类型构成实体类型集合。
12.步骤2:获取包内句子中每个单词的词嵌入
向量,以及句子的特征向量表示。
13.具体地,对步骤1得到的句子包,包内句子通过word2vec工具得到句中每个单词的词嵌入向量,通过分段卷积神经网络(pcnn)作为句子编码器得到句子的特征向量表示。
14.步骤3:利用属性编码器,对实体集合中的每一个实体,收集其在知识库中的实体属性信息,包括实体名称、实体别称、实体类型和实体描述。每个实体通过拼接这些属性信息并输入到属性编码器,然后输出矩阵并采取列向量均值化,得到对应实体的属性向量。
15.具体地,可以使用bert作为属性编码器。
16.步骤4:使用实体邻居图构造邻接矩阵,使用邻接矩阵和实体属性向量作为输入通过图卷积神经网络构造的邻居图编码器,得到目标实体的知识上下文向量表示。
17.步骤5:使用约束图构造邻接矩阵,使用邻接矩阵和实体类型、关系的向量表示作为输入通过图卷积神经网络构造的约束图编码器得到实体类型和关系的向量表示。
18.步骤6:将句特征向量表示、实体上下文向量表示、实体类型和关系的向量表示作为输入,通过多源融合注意力机制,计算得到句子包的特征向量表示。
19.步骤7:对句子包的特征向量表示,通过关系分类器,对句子包的关系标签进行预测。
20.进一步地,所述步骤1中,知识库包含实体对和实体对对应的关系,以及对每个实体有其实体名称、实体别名、实体类型和实体描述等属性信息。远程监督数据集是通过远程监督方法标注的训练语料,利用所述知识库中的实体对和对应的关系对自然语言文本进行标注。具体的,假设知识库中存在于知识库中存在“《头实体,尾实体,关系》”三元组,任何包含该头实体和尾实体的句子都认定为表达出该三元组关系,由此得到标注数据。
21.进一步地,在步骤1中,实体类型集合可以使用ontonotes 5.0中定义的18种实体类型和一个“other”特殊实体类型,共19种实体类型,并使用flair命名实体识别工具来识别数据集中实体的类型。
22.进一步地,在步骤2中,分段卷积神经网络(pcnn),是一个以句子单词的特征向量序列为输入,通过卷积和基于句中两个实体的位置进行分段池化生成句子特征向量表示的神经网络模型。
23.进一步地,在步骤3中,bert是一个基于多头自注意力机制搭建的,使用大量的语料进行预训练的深度神经网络,对输入文本能够输出具有语义信息的特征向量表示。
24.进一步地,在步骤4、步骤5中,图卷积神经网络,是在图数据上通过卷积操作实现信息传播和聚合,从而提取特征信息的神经网络。
25.进一步地,在步骤6中,多源融合注意力机制,是本发明首次提出的一种基于注意
力机制的信息融合的技术方案,是将句子语义信息、实体知识上下文和实体关系的约束信息进行融合,得到句子包的特征向量表示。
26.进一步地,在步骤7中,关系分类器的具体实现为:将句子包的特征向量表示输入和关系集合中每一个关系的特征表示,通过点积运算来计算预测分数,然后通过softmax运算,计算句子包被分类为某种关系的概率。
27.有益效果
28.本发明,对比现有技术,具有以下优点:
29.第一,本发明方法,通过将实体在知识库中的信息融入到关系抽取模型中,作为实体的知识上下文补充,帮助关系抽取模型判断远程监督标注是否正确,有效减少了远程监督关系抽取中的数据噪声。
30.第二,本发明的方法,通过使用实体类型和实体间关系的约束图,使不同关系通过实体类型实现间接联系,帮助信息在关系之间传递,同时解决了远程监督关系抽取的关系长尾问题。
31.第三,本发明的方法,使用多源融合注意力方式,将实体知识上下文和约束图信息与包内句子信息进行融合,得到的包特征向量表述更加能够体现出目标实体对的关系,同时解决了远程监督关系抽取的数据噪声问题和关系长尾问题。
附图说明
32.图1为本发明方法的整体框架示意。
具体实施方式
33.下面结合附图对本发明方法作进一步详细说明。
34.一种融合知识和约束图的远程监督关系抽取方法,如图1所示,包括以下步骤:
35.步骤1:收集远程监督数据集中的实体在知识库中的一跳或两跳的邻居实体,远程监督数据集中的实体及其邻居实体组成实体集合,使用该实体集合构建实体邻居图。根据远程监督数据集中的实体,使用flair命名实体识别工具识别其实体类型构成实体类型集合,并结合实体间关系集合构建约束图。对远程监督数据集,将具有相同实体对的句子组合成句子包。
36.具体地,定义实体邻居图为图k={e,n},e表示实体节点集合,也就是实体集合;n表示边的集合。如果集合e中的两个实体e1、e2同时出现在知识库中的一个三元组内,则存在边(e1,e2)∈n。
37.定义约束图为图g={t,r,c},t为实体类型节点集合,可以使用ontonotes5.0中定义的18种粗略实体类型,对不属于这18种类型的实体类型,用一个特殊节点“others”代表,因此,集合t包括19种实体类型节点。使用flair命名实体识别工具来识别出数据集中实体的类型。
38.令r为由所有关系构成的关系节点集合,c为约束边集合,如果实体e1、e2的实体类型为且实体e1、e2具有关系r,则存在约束每个约束对应和两条边。
39.步骤2:对于步骤1得到的句子包,包内句子可以通过word2vec工具来得到句中每个单词的词嵌入向量,可以通过分段卷积神经网络(pcnn)作为句子编码器,得到句子的特征向量表示。
40.具体地,对于包内句子ns为句子s的长度,每一个单词wi∈s的输入由其本身的词嵌入向量和位置特征向量组成,其中,词嵌入向量vi可以通过word2vec工具预训练得到,令向量维度为dw;位置特征向量为词wi与句中目标实体对(eh,e
t
)的两个相对距离的嵌入向量表示,向量维度为d
p
。其中,相对距离取实体对在句子中第一次出现的位置作为基准位置,来计算其他词的相对距离。
41.通过拼接得到单词wi的输入表示wi,d=dw+2d
p
,表示向量。输入表示wi如式1所示:
[0042][0043]
其中,“;”表示向量拼接操作。则句子s的输入表示为矩阵
[0044]
使用分段卷积神经网络(pcnn)对句子s的输入表示矩阵x进行编码,得到一个维度大小固定的句子特征向量。
[0045]
其中,分段卷积神经网络包括卷积层和分段最大池化层。其中,卷积层的参数矩阵w表示为:w表示卷积滑动窗口的长度,第m个滑动窗口下矩阵x的子矩阵qm如式2所示:
[0046]
qm=x
m-w+1:m
(1≤m≤ls+w-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0047]
其中,ls表示句子s的长度,m-w+1:m表示滑动窗口下词序列在原句所有词序列的索引区间。
[0048]
则子矩阵qm与卷积核的参数矩阵cm的关系,如式3所示:
[0049][0050]
其中,表示卷积运算。
[0051]
具体地,卷积过程中,以步幅为1进行滑动卷积,对卷积窗口超出句子边界的部分使用零向量填充,最终得到表示矩阵x的特征向量c,
[0052]
在实际使用中,为了捕获句子的不同特征,通常会使用多个卷积核对句子的表示矩阵进行卷积,本发明中,采用dc个卷积核,卷积核的集合表示为经过卷积计算,表示矩阵x对应dc个特征向量
[0053]
分段卷积神经网络分段最大池化层,以句子s中实体对的位置为分割点,可以将特征向量切分为3份,然后对每份分别应用最大池化操作。具体地,对于任意一个特征向量分割后产生3个特征子向量:{c
i,1
;c
i,2
;c
i,3
}。对每一个特征子向量进行最大池化,得到一个维度为3的池化特征向量fi,如式4所示:
[0054]fi
=[max(c
i,1
);max(c
i,2
);max(c
i,3
)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0055]
其中,max(
·
)表示取最大值操作。
[0056]
矩阵x对应dc个特征向量分别经过分段最大池化层后,再将得到的池化特征向量拼接,经过激活函数tanh(
·
)后,得到x的特征向量表示)后,得到x的特征向量表示如式5所示:
[0057][0058]
其中,表示dc个池化特征向量。由此得到的即为句子s的特征向量表示。
[0059]
步骤3:使用bert作为属性编码器,对步骤1的实体集合中的每一个实体,收集其在知识库中的实体名称、实体别称、实体类型和实体描述四种实体属性信息。每个实体通过拼接这些属性信息输入到bert中,然后输出矩阵,并采取列向量均值化得到对应实体的属性向量。
[0060]
具体地,对实体集合中的每一个实体ei∈e,得到的对应属性向量da表示实体属性向量的维度。实体ei的属性向量其计算方式如下:
[0061][0062]
其中,mean(
·
)表示取列均值操作;bert(
·
)表示使用bert预训练模型进行计算得到的输出矩阵;namei表示实体ei的实体名称;aliasi表示实体ei的实体别称;typei表示实体ei在知识库中的实体类型;descriptioni表示实体ei的实体描述;属性信息之间通过符号[sep]间隔;[cls]为bert输入时需添加的起始标识符号。
[0063]
步骤4:使用步骤1的实体邻居图构造邻接矩阵,使用邻接矩阵和步骤3中得到的实体属性向量作为输入,通过图卷积神经网络构造的邻居图编码器得到目标实体的知识上下文向量表示。
[0064]
其中,目标实体可以为步骤1中的实体集合中的任意实体。对于实体邻居图k={e,n},其实体节点集合为e,边的集合为n,其邻接矩阵的计算如式7所示:
[0065][0066]
其中,|e|表示实体节点数量;vi、vj∈e表示实体节点集合中的任意两个实体节点;(vi,vj)∈n表示在实体邻居图中存在一条vi、vj实体节点间的边。
[0067]
选择两层图卷积神经网络作为邻居图编码器,将步骤3得到的实体属性向量作为实体邻居图中实体ei∈e的初始向量,对于节点vi∈e在第k个图卷积层的输出其计算方式如式8所示:
[0068][0069]
其中,relu(
·
)为非线性激活函数,|e|表示实体节点数量,w
(k)
表示邻居图编码器第k层的权重矩阵,b
(k)
表示第k层的偏置项,表示第j个实体节点的第k-1层输出的特
征向量,
[0070]
选取邻居图编码器最后一层的输出作为实体ei∈e的知识上下文表示向量dn表示邻居图编码器的最后一层的输出向量维度。
[0071]
对于实体邻居图k的实体节点集合e,通过邻居图编码器后得到一个知识上下文矩阵矩阵k中的每一个行向量对应一个实体的知识上下文向量表示,该知识上下文向量表示融合了实体邻居及其属性信息。
[0072]
步骤5:使用步骤1的约束图构造邻接矩阵,使用邻接矩阵和实体类型、关系的向量表示作为输入通过图卷积神经网络构造的约束图编码器,得到实体类型和关系的向量表示。
[0073]
具体地,对于约束图g={t,r,c},图中节点包括实体类型节点和关系节点,约束图的节点集合vg=t∪r。将约束图g的边集合定义为dg,对于每一条约束dg中对应和两条边。约束图g的邻接矩阵两条边。约束图g的邻接矩阵的计算公式如式9所示:
[0074][0075]
其中,|vg|表示约束图的节点数量;vi、vj∈vg为约束图节点集合中的任意两个节点;(vi,vj)∈dg表示在约束图中存在一条vi、vj节点间的边。
[0076]
选择两层图卷积神经网络作为约束图编码器,将约束图节点集合vg中的每个节点的初始输入向量进行随机初始化操作,对于节点vi∈vg在第k个图卷积层的输出其计算方式如式10所示:
[0077][0078]
其中,relu(
·
)为非线性激活函数,|vg|表示约束图的节点数量,m
(k)
表示约束图编码器第k层的权重矩阵,q
(k)
表示第k层的偏置项,表示第j个节点的第k-1层输出的特征向量。
[0079]
选取约束图编码器最后一层的输出作为节点vi∈vg的特征向量表示。对于约束图g的节点集合vg,通过约束图编码器后得到一个特征矩阵dg表示约束图编码器的最后一层的输出向量维度。特征矩阵vg中的每一个行向量对应约束图g的节点集合vg中一个节点的向量表示。
[0080]
节点集合vg包括实体类型节点和关系节点。通过对特征矩阵vg进行拆分,得到实体类型节点集合t的特征矩阵以及关系节点集合r的特征矩阵|n
t
|表示实体类型集合t中实体类型的数量,|nr|表示关系节点集合r中的关系数量。
[0081]
步骤6:将步骤2得到的句特征向量表示,步骤4得到的实体上下文向量表示,步骤5得到的实体类型和关系的向量表示作为输入,通过多源融合注意力机制,计算得到句子包的特征向量表示。
[0082]
具体地,对于句子包nb为句子包b的句子数量,其对应的目标实体对为(eh,e
t
),对应的关系标签为r∈r。
[0083]
对于句子包b内的每一个句子si∈b,通过句子编码器得到其特征向量si;对于句子包对应的目标实体对(eh,e
t
),通过实体属性编码器和邻居图编码器得到实体eh和e
t
对应的知识上下文向量表示对于句子包的目标实体对(eh,e
t
)和关系标签r,通过约束图编码器得到对应的实体类型向量以及关系向量r∈r
′
。
[0084]
多源融合注意力机制,是通过将实体的知识上下文向量和实体类型向量加入到句子和关系的特征向量中,为关系抽取提供更多的知识背景信息和约束信息。具体地,句子si∈b的最终向量表示通过拼接句子特征向量si,目标实体对的实体类型向量以及目标实体对的知识上下文向量获得,如式11所示:
[0085][0086]
其中,ds=3dc+2dg+2dn,向量si的维度为3dc,向量的维度为dg,向量的维度为dn;“;”表示向量拼接操作。
[0087]
关系r∈r的最终向量表示rf的计算方式为:
[0088][0089]
其中,linear(
·
)表示线性全连接层,目的是对齐向量rf和向量的向量维度。
[0090]“;”表示向量拼接操作。
[0091]
在得到句子si∈b的最终向量表示以及关系标签r的最终向量表示rf之后,通过注意力机制得到句子包b的特征向量表示计算方式如式13所示:
[0092][0093]
其中,nb为句子包b的句子数量,αi表示句子si∈b的最终向量表示的权重,其计算方式如式14所示:
[0094][0095]
其中,ei表示句子向量与句子包的关系标签r之间的匹配分数,其计算方式如式15所示:
[0096][0097]
其中,“·”表示向量点积运算。
[0098]
步骤7:对步骤6得到的句子包的特征向量表示,通过关系分类器对句子包的关系标签进行预测。
[0099]
在通过多源融合注意力机制得到包b的特征向量b后,关系分类器对句子包b的关
系标签进行预测。句子包b与关系集合r中的每个关系ri的预测分数的计算公式如式17所示:
[0100][0101]
其中,表示关系ri的最终向量表示,表示偏置项。
[0102]
当得到句子包b与关系集合r中的每个关系ri的预测分数之后,通过softmax函数计算包b被分类为关系ri的概率p,计算方式如式17所示:
[0103][0104]
其中,|nr|表示关系集合r中关系的数量,表示句子包b与关系集合r中第j个关系rj的预测分数,θ为关系抽取模型的参数。
[0105]
进一步地,本发明中的关系抽取模型,使用交叉熵损失函数作为损失函数进行训练,其计算公式如式18所示:
[0106][0107]
其中,nb表示使用的训练集中句子包的数量,表示句子包bi的关系标签,θ为本发明使用的关系抽取模型的参数,包括上述步骤中的所有参数:步骤2中的句子编码器的参数,步骤3中的属性编码器的参数,步骤4中的实体邻居图编码器的参数,步骤5中的约束图编码器的参数,步骤6中的多源融合注意力机制的参数,以及步骤7中的关系分类器的参数。参数包括权重矩阵和偏置项。
[0108]
本发明中,关系抽取方法使用的关系抽取模型可以使用小批量随机梯度下降优化算法sgd最小化损失函数j(θ),从而更好地优化参数。
技术特征:
1.一种融合知识和约束图的远程监督关系抽取方法,其特征在于,包括以下步骤:步骤1:收集远程监督数据集中的实体在知识库中的邻居实体,包括一跳、两跳的邻居实体;由远程监督数据集中的实体及其邻居实体组成实体集合,使用该实体集合构建实体邻居图,并结合实体间关系集合构建约束图;对远程监督数据集,将具有相同实体对的句子组合成句子包;步骤2:获取包内句子中每个单词的词嵌入向量,以及句子的特征向量表示;步骤3:利用属性编码器,对实体集合中的每一个实体,收集其在知识库中的实体属性信息,包括实体名称、实体别称、实体类型和实体描述;每个实体通过拼接这些属性信息并输入到属性编码器,然后输出矩阵并采取列向量均值化,得到对应实体的属性向量;步骤4:使用实体邻居图构造邻接矩阵,使用邻接矩阵和实体属性向量作为输入通过图卷积神经网络构造的邻居图编码器,得到目标实体的知识上下文向量表示;步骤5:使用约束图构造邻接矩阵,使用邻接矩阵和实体类型、关系的向量表示作为输入通过图卷积神经网络构造的约束图编码器得到实体类型和关系的向量表示;步骤6:将句特征向量表示、实体上下文向量表示、实体类型和关系的向量表示作为输入,通过多源融合注意力机制,计算得到句子包的特征向量表示;步骤7:对句子包的特征向量表示,通过关系分类器,对句子包的关系标签进行预测。2.如权利要求1所述的一种融合知识和约束图的远程监督关系抽取方法,其特征在于,步骤1中,知识库包含实体对和实体对对应的关系,以及对每个实体的属性信息:实体名称、实体别名、实体类型和实体描述;远程监督数据集是通过远程监督方法标注的训练语料,利用所述知识库中的实体对和对应的关系对自然语言文本进行标注,设知识库中存在于知识库中存在“<头实体,尾实体,关系>”三元组,任何包含该头实体和尾实体的句子都认定为表达出该三元组关系,由此得到标注数据。3.如权利要求1所述的一种融合知识和约束图的远程监督关系抽取方法,其特征在于,步骤2中,包内句子通过word2vec工具来得到句中每个单词的词嵌入向量,通过分段卷积神经网络作为句子编码器,得到句子的特征向量表示,其中分段卷积神经网络是一个以句子单词的特征向量序列为输入,通过卷积和基于句中两个实体的位置进行分段池化生成句子特征向量表示的神经网络模型。4.如权利要求1所述的一种融合知识和约束图的远程监督关系抽取方法,其特征在于,在步骤1中,定义实体邻居图为图k={e,n},e表示实体节点集合,也就是实体集合;n表示边的集合;如果集合e中的两个实体e1、e2同时出现在知识库中的一个三元组内,则存在边(e1,e2)∈n;定义约束图为图g={t,r,c},t为实体类型节点集合,使用flair命名实体识别工具来识别出数据集中实体的类型;令r为由所有关系构成的关系节点集合,c为约束边集合,如果实体e1、e2的实体类型为且实体e1、e2具有关系r,则存在约束每个约束对应和两条边;在步骤2中,对于步骤1得到的句子包,对于包内句子n
s
为句子s
的长度,每一个单词w
i
∈s的输入由其本身的词嵌入向量和位置特征向量组成,其中,词嵌入向量v
i
,令向量维度为d
w
;位置特征向量为词w
i
与句中目标实体对(e
h
,e
t
)的两个相对距离的嵌入向量表示,向量维度为d
p
;其中,相对距离取实体对在句子中第一次出现的位置作为基准位置,来计算其他词的相对距离;通过拼接得到单词w
i
的输入表示w
i
,d=d
w
+2d
p
,表示向量;输入表示w
i
如式1所示:其中,“;”表示向量拼接操作;则句子s的输入表示为矩阵使用分段卷积神经网络对句子s的输入表示矩阵x进行编码,得到一个维度大小固定的句子特征向量;其中,分段卷积神经网络包括卷积层和分段最大池化层;其中,卷积层的参数矩阵w表示为:w表示卷积滑动窗口的长度,第m个滑动窗口下矩阵x的子矩阵q
m
如式2所示:q
m
=x
m-w+1:m
(1≤m≤l
s
+w-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,l
s
表示句子s的长度,m-w+1:m表示滑动窗口下词序列在原句所有词序列的索引区间;则子矩阵q
m
与卷积核的参数矩阵c
m
的关系,如式3所示:其中,表示卷积运算;卷积过程中,以步幅为1进行滑动卷积,对卷积窗口超出句子边界的部分使用零向量填充,最终得到表示矩阵x的特征向量c,采用d
c
个卷积核,卷积核的集合表示为经过卷积计算,表示矩阵x对应d
c
个特征向量分段卷积神经网络分段最大池化层,以句子s中实体对的位置为分割点,将特征向量切分为3份,然后对每份分别应用最大池化操作;对于任意一个特征向量分割后产生3个特征子向量:{c
i,1
;c
i,2
;c
i,3
};对每一个特征子向量进行最大池化,得到一个维度为3的池化特征向量f
i
,如式4所示:f
i
=[max(c
i,1
);max(c
i,2
);max(c
i,3
)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中,max(
·
)表示取最大值操作;矩阵x对应d
c
个特征向量分别经过分段最大池化层后,再将得到的池化特征向量拼接,经过激活函数tanh(
·
)后,得到x的特征向量表示)后,得到x的特征向量表示如式5所示:其中,表示d
c
个池化特征向量;由此得到的即为句子s的特征向量表示;在步骤3中,使用bert作为属性编码器,对步骤1的实体集合中的每一个实体,收集其在
知识库中的实体名称、实体别称、实体类型和实体描述四种实体属性信息;每个实体通过拼接这些属性信息输入到bert中,然后输出矩阵,并采取列向量均值化得到对应实体的属性向量;对实体集合中的每一个实体e
i
∈e,得到的对应属性向量d
a
表示实体属性向量的维度;实体e
i
的属性向量其计算方式如下:其计算方式如下:其计算方式如下:其中,mean(
·
)表示取列均值操作;bert(
·
)表示使用bert预训练模型进行计算得到的输出矩阵;name
i
表示实体e
i
的实体名称;alias
i
表示实体e
i
的实体别称;type
i
表示实体e
i
在知识库中的实体类型;description
i
表示实体e
i
的实体描述;属性信息之间通过符号[sep]间隔;[cls]为bert输入时需添加的起始标识符号;在步骤4中,使用步骤1的实体邻居图构造邻接矩阵,使用邻接矩阵和步骤3中得到的实体属性向量作为输入,通过图卷积神经网络构造的邻居图编码器得到目标实体的知识上下文向量表示;其中,目标实体为步骤1中的实体集合中的任意实体;对于实体邻居图k={e,n},其实体节点集合为e,边的集合为n,其邻接矩阵的计算如式7所示:其中,|e|表示实体节点数量;v
i
、v
j
∈e表示实体节点集合中的任意两个实体节点;(v
i
,v
j
)∈n表示在实体邻居图中存在一条v
i
、v
j
实体节点间的边;选择两层图卷积神经网络作为邻居图编码器,将步骤3得到的实体属性向量作为实体邻居图中实体e
i
∈e的初始向量,对于节点v
i
∈e在第k个图卷积层的输出其计算方式如式8所示:其中,relu(
·
)为非线性激活函数,|e|表示实体节点数量,w
(k)
表示邻居图编码器第k层的权重矩阵,b
(k)
表示第k层的偏置项,表示第j个实体节点的第k-1层输出的特征向量,选取邻居图编码器最后一层的输出作为实体e
i
∈e的知识上下文表示向量∈e的知识上下文表示向量d
n
表示邻居图编码器的最后一层的输出向量维度;对于实体邻居图k的实体节点集合e,通过邻居图编码器后得到一个知识上下文矩阵矩阵k中的每一个行向量对应一个实体的知识上下文向量表示,该知识上下文向量表示融合了实体邻居及其属性信息;在步骤5中,使用步骤1的约束图构造邻接矩阵,使用邻接矩阵和实体类型、关系的向量表示作为输入通过图卷积神经网络构造的约束图编码器,得到实体类型和关系的向量表
示;对于约束图g={t,r,c},图中节点包括实体类型节点和关系节点,约束图的节点集合v
g
=t∪r;将约束图g的边集合定义为d
g
,对于每一条约束d
g
中对应和两条边;约束图g的邻接矩阵两条边;约束图g的邻接矩阵的计算公式如式9所示:其中,|v
g
|表示约束图的节点数量;v
i
、v
j
∈v
g
为约束图节点集合中的任意两个节点;(v
i
,v
j
)∈d
g
表示在约束图中存在一条v
i
、v
j
节点间的边;选择两层图卷积神经网络作为约束图编码器,将约束图节点集合v
g
中的每个节点的初始输入向量进行随机初始化操作,对于节点v
i
∈v
g
在第k个图卷积层的输出其计算方式如式10所示:其中,relu(
·
)为非线性激活函数,|v
g
|表示约束图的节点数量,m
(k)
表示约束图编码器第k层的权重矩阵,q
(k)
表示第k层的偏置项,表示第j个节点的第k-1层输出的特征向量;选取约束图编码器最后一层的输出作为节点v
i
∈v
g
的特征向量表示;对于约束图g的节点集合v
g
,通过约束图编码器后得到一个特征矩阵d
g
表示约束图编码器的最后一层的输出向量维度;特征矩阵v
g
中的每一个行向量对应约束图g的节点集合v
g
中一个节点的向量表示;节点集合v
g
包括实体类型节点和关系节点;通过对特征矩阵v
g
进行拆分,得到实体类型节点集合t的特征矩阵以及关系节点集合r的特征矩阵|n
t
|表示实体类型集合t中实体类型的数量,|n
r
|表示关系节点集合r中的关系数量;在步骤6中,将步骤2得到的句特征向量表示,步骤4得到的实体上下文向量表示,步骤5得到的实体类型和关系的向量表示作为输入,通过多源融合注意力机制,计算得到句子包的特征向量表示;对于句子包n
b
为句子包b的句子数量,其对应的目标实体对为(e
h
,e
t
),对应的关系标签为r∈r;对于句子包b内的每一个句子s
i
∈b,通过句子编码器得到其特征向量s
i
;对于句子包对应的目标实体对(e
h
,e
t
),通过实体属性编码器和邻居图编码器得到实体e
h
和e
t
对应的知识上下文向量表示上下文向量表示对于句子包的目标实体对(e
h
,e
t
)和关系标签r,通过约束图编码器得到对应的实体类型向量图编码器得到对应的实体类型向量以及关系向量r∈r
′
;多源融合注意力机制,是通过将实体的知识上下文向量和实体类型向量加入到句子和关系的特征向量中,为关系抽取提供更多的知识背景信息和约束信息;句子s
i
∈b的最终向量表示通过拼接句子特征向量s
i
,目标实体对的实体类型向量以及目标实体
对的知识上下文向量获得,如式11所示:其中,d
s
=3d
c
+2d
g
+2d
n
,向量s
i
的维度为3d
c
,向量的维度为d
g
,向量的维度为d
n
;“;”表示向量拼接操作;关系r∈r的最终向量表示r
f
的计算方式为:其中,linear(
·
)表示线性全连接层,目的是对齐向量r
f
和向量的向量维度;“;”表示向量拼接操作;在得到句子s
i
∈b的最终向量表示以及关系标签r的最终向量表示r
f
之后,通过注意力机制得到句子包b的特征向量表示计算方式如式13所示:其中,n
b
为句子包b的句子数量,α
i
表示句子s
i
∈b的最终向量表示的权重,其计算方式如式14所示:其中,e
i
表示句子向量与句子包的关系标签r之间的匹配分数,其计算方式如式15所示:其中,“·”表示向量点积运算;在步骤7中,对步骤6得到的句子包的特征向量表示,通过关系分类器对句子包的关系标签进行预测;在通过多源融合注意力机制得到包b的特征向量b后,关系分类器对句子包b的关系标签进行预测;句子包b与关系集合r中的每个关系r
i
的预测分数的计算公式如式17所示:其中,表示关系r
i
的最终向量表示,表示偏置项;当得到句子包b与关系集合r中的每个关系r
i
的预测分数之后,通过softmax函数计算包b被分类为关系r
i
的概率p,计算方式如式17所示:其中,|n
r
|表示关系集合r中关系的数量,表示句子包b与关系集合r中第j个关系r
j
的预测分数,θ为关系抽取模型的参数。
5.如权利要求4所述的一种融合知识和约束图的远程监督关系抽取方法,其特征在于,关系抽取模型,使用交叉熵损失函数作为损失函数进行训练,其计算公式如式18所示:其中,n
b
表示使用的训练集中句子包的数量,表示句子包b
i
的关系标签,θ为本发明使用的关系抽取模型的参数,包括上述步骤中的所有参数:步骤2中的句子编码器的参数,步骤3中的属性编码器的参数,步骤4中的实体邻居图编码器的参数,步骤5中的约束图编码器的参数,步骤6中的多源融合注意力机制的参数,以及步骤7中的关系分类器的参数;参数包括权重矩阵和偏置项。
技术总结
本发明公开了一种融合知识和约束图的远程监督关系抽取方法,属于计算机自然语言处理中的文本数据关系提取技术领域。本方法,通过使用实体知识上下文进行额外信息补充。通过实体类型、关系约束图进行关系间信息传递,通过多源融合注意力机制对句子语义信息和实体上下文信息、实体关系约束信息进行信息融合,帮助进行句子和实体关系的表示学习,提升关系抽取效果。本方法同时解决了远程监督关系抽取的数据噪声问题和关系长尾问题,尤其适合对于大规模的文本数据下和复杂文本环境下的关系抽取,对于实现从非结构化文本中抽取结构化事实信息十分有效。信息十分有效。信息十分有效。
技术研发人员:
刘琼昕 牛文涛 王佳升 王甜甜 方胜
受保护的技术使用者:
北京理工大学
技术研发日:
2022.09.27
技术公布日:
2022/12/30