一种基于Bert实体感知的远程监督关系抽取的降噪方法及其模型

未命名 10-19 阅读:78 评论:0

training method for distantly supervised relation extraction.[c],empirical methods in natural language processing,2021,2021.emnlp-main:9661-9672.”所公开的方案中,通过pcnn对句子进行编码获取句子的特征,再通过深度神经网络的记忆机制(具体为:利用深度神经网络,优先学习没有噪音数据的干净样本,再学习噪音样本)对数据集进行过滤,从而获得fn噪音句子,最后通过训练生成对抗方法及对比学习的方法训练分类器,从而对fn噪音句子重新分配一个正确的标签。但是,在上述现有技术中,其一,其深度神经网络的记忆机制目前没有证实是有效的,因此,该记忆机制用于挖掘fn噪音的效果是存疑的,其二,其是使用pcnn进行句子编码,且通过pcnn进行句子编码也是现有技术中普遍使用的句编码方式,而pcnn是通过卷积方式捕捉句子的特征,效率低下,且在卷积操作后进行分段拼接后所得数据的维度高,再接全连接层将导致整个模型的参数量大、模型结构复杂、效率低下、处理时间较长,并且其池化层会丢失大量有价值的信息,从而导致最终fn噪音句子的标签分类效果不好。


技术实现要素:

[0007]
基于此,本发明的目的在于,提供一种基于bert实体感知的远程监督关系抽取的降噪方法,其具有快速且准确的提取句子信息,提高了后续的噪音过滤以及分类效果。
[0008]
一种基于bert实体感知的远程监督关系抽取的降噪方法,其包括如下步骤:
[0009]
s11、采用基于bert实体感知的句编码方式对句子进行编码,得到包含实体对信息的句编码向量一;
[0010]
其中,所述基于bert实体感知的句编码方式包括:采用预训练语言模型bert对句子进行词嵌入,并根据经由bert所得的头部目标实体、尾部目标实体以及句子头部标记的隐藏状态向量,得到头部目标实体的输出向量表示、尾部目标实体的输出向量表示以及句子头部标记的输出向量表示,再根据所述头部目标实体的输出向量表示、尾部目标实体的输出向量表示以及句子头部标记的输出向量表示,得到句编码向量一;
[0011]
所述句子为远程监督关系抽取后所得的标注为na的噪音数据;
[0012]
s12、根据所述句编码向量一,获得含有同一实体对的句子组成的句包的句包表示向量一;
[0013]
s13、根据所述句包表示向量一,获取所述句包表示向量一的关系表示值;
[0014]
s15、根据所述关系表示值所得到的句包的句子关系表示,获得具有潜在语义价值的句子所形成的fn噪音数据集;
[0015]
s2、对所述fn噪音数据集中句子的句子关系进行分类。
[0016]
本方案中,对于远程监督关系抽取后所得的标注为na的噪音数据,在对句子进行编码时,摒除了现有技术中采取pcnn方式进行句子编码的方式,而是采用基于bert实体感知的句编码方式,其中:利用预训练语言模型bert作为词嵌入时可以获取到好的特征信息,从而提高句子信息表达的准确性,进而使得句子的编码效果更好,从而提高了后续的噪音过滤以及分类效果;同时,对经bert处理后所得的句子头部标记cls、头部目标实体、尾部目标实体的隐藏状态向量处理后得到句子的向量表示,其处理方式简单,效率高;并且,引入头部目标实体、尾部目标实体作为bert语言模型中cls标签的补充,也充分发挥了bert的优势。
[0017]
进一步地,所述步骤s11中,所述句编码向量一表示如下:
[0018]
v=w3[concat(h0′
,1′
,2′
)]+3[0019]
其中,v表示所述句编码向量一,concat表示向量的连接,h0′
表示所述句子头部标记的输出向量表示,h1′
表示所述头部目标实体的输出向量表示,h2′
表示所述尾部目标实体的输出向量表示,w3、b3均为可训练的参数。
[0020]
进一步地,通过以下公式获取所述头部目标实体和尾部目标实体的输出向量表示:
[0021][0022][0023]
其中,w1、w2、b1、b2均为可训练的参数,向量hi到hj表示头部目标实体通过bert得到的隐藏状态向量,hk到hm表示尾部目标实体通过bert得到的隐藏状态向量,tanh为双曲正切激活函数。
[0024]
进一步地,所述句子头部标记的输出向量表示通过以下公式获取:
[0025]h′0=w0[tanh(h0)]+b0[0026]
其中,h0表示经bert得到的句子头部标记的隐藏状态向量,w0、b0均为可训练的参数。
[0027]
进一步地,所述步骤s12中,所述句包表示向量一表示如下:
[0028][0029]
其中,g表示句包表示向量一,vi表示句包中第i个句子的句编码向量一,ai表示通过选择性注意力机制所得到的第i个句子的权重。
[0030]
进一步地,所述权重的计算公式如下:
[0031][0032]
其中,n表示句包中句子的总数,rj表示句子关系表示向量,j∈(0,1)。
[0033]
进一步地,所述步骤s13中,所述关系表示值的计算公式如下:
[0034]
p(rj|gi)=softmax(wcgi+bc)
[0035]
其中,p(rj|gi)表示句包表示向量一gi表达rj所代表的实体对关系的关系表示值,wc、bc均为可训练的参数。
[0036]
进一步地,所述步骤s2包括:
[0037]
s21、采用基于bert实体感知的句编码方式对所述fn噪音数据集中的句子进行编码,获得所述fn噪音数据集中句子的句编码向量二;
[0038]
s22、根据所述句编码向量二,获取所述fn噪音数据集中含有同一实体对的句子组成的句包的句包表示向量二;
[0039]
s23、根据所述句包表示向量二,获取所述句包表示向量二的关系表示值;
[0040]
s24、根据所述句包表示向量二的关系表示值,获取句子的实体对关系并对句子的实体对关系进行标注。
[0041]
此外,本发明还涉及一种基于bert实体感知的远程监督关系抽取的降噪模型,该模型包括子模型一和子模型二,其中,所述子模型一用于对远程监督关系抽取后标注为na的噪音数据的过滤,从中得到fn噪音数据集,所述子模型二用于对所述fn噪音数据集中句子的句子关系进行分类;所述子模型一包括句编码向量编码模块一、句包表示向量编码模块一、关系表示值计算模块一、fn噪音数据集获取模块;所述句编码向量编码模块一采用基于bert实体感知的句编码方式对句子进行编码,得到包含实体对信息的句编码向量一;所述句包表示向量编码模块一用于根据所述句编码向量一,获得含有同一实体对的句子组成的句包的句包表示向量一;所述关系表示值计算模块一用于根据所述句包表示向量一,获取所述句包表示向量一的关系表示值;所述fn噪音数据集获取模块用于根据所述关系表示值所得到的句包的句子关系表示,获得具有潜在语义价值的句子所形成的fn噪音数据集。
[0042]
进一步地,所述子模型二包括句编码向量编码模块二、句包表示向量编码模块二、关系表示值计算模块二、句子关系获取与标注模块,其中,所述句编码向量编码模块二采用基于bert实体感知的句编码方式对句子进行编码,获取所述fn噪音数据集中句子的句编码向量二;所述句包表示向量编码模块二用于根据所述句编码向量二,获取所述fn噪音数据集中含有同一实体对的句子组成的句包的句包表示向量二;所述关系表示值计算模块二用于根据所述句包表示向量二,获取所述句包表示向量二的关系表示值;所述句子关系获取与标注模块用于根据所述句包表示向量二的关系表示值,获得句子所表达的实体对关系并对句子的实体对关系进行标注。
[0043]
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
[0044]
图1为本发明的基于bert实体感知的远程监督关系抽取降噪模型的模块示意图;
[0045]
图2为本发明的基于bert实体感知的远程监督关系抽取降噪方法的步骤流程图;
[0046]
图3为本发明的基于bert实体感知的句编码方式示意图。
具体实施方式
[0047]
在现有技术中,对基于远程监督的关系抽取后所得的噪音数据进行处理时,采取的是使用pcnn进行句子编码,其中的pcnn通过卷积方式捕捉句子的特征,效率低下,且在卷积操作后进行分段拼接后所得数据的维度高,再接全连接层将导致整个模型的参数量大、模型结构复杂、效率低下、处理时间较长,并且其池化层会丢失大量有价值的信息,从而导致最终fn噪音句子的标签分类效果不好,因而,为了提高对远程监督的关系抽取后所得的噪音数据的过滤、分类效果,也为了节省处理时间,本发明中,对于远程监督关系抽取后所得的标注为na的噪音数据,利用bert实体感知的句编码方式快速且准确的提取句子信息,从而提高后续的噪音过滤以及分类效果。
[0048]
请参阅图1-2,在本发明中,提供了一种基于bert实体感知的远程监督关系抽取降噪模型,该模型包括子模型一1和子模型二2,其中,所述子模型一1用于执行步骤s1即对远
程监督关系抽取后所得的并标注为na的噪音数据进行过滤,得到具有潜在语义价值的fn噪音数据集,所述子模型二2用于执行步骤s2即对所述fn噪音数据集中句子的句子关系进行分类。
[0049]
所述子模型一1包括句编码向量编码模块一11、句包表示向量编码模块一12、关系表示值计算模块一13、句子关系获取模块一14、fn噪音数据集获取模块15。
[0050]
其中,所述句编码向量编码模块一11用于执行步骤s11,以对远程监督关系抽取后所得的噪音数据进行句编码,从而获得句编码向量一,其中,所述噪音数据为所述远程监督关系抽取所得的标注为na的句子所形成的数据。
[0051]
其中,所述步骤s11具体为:对句子进行编码,得到包含实体对信息的句编码向量一。
[0052]
本方案中,采取基于bert实体感知的句编码方式对句子进行编码,请同时参阅图3,具体的:
[0053]
对于具有一个实体对的句子,先在实体对的每一个实体的一侧插入开始标记、另一侧插入结束标记,使预训练语言模型bert在实体的开始和结束处捕获实体对中两个实体的位置信息。另外,在句子的头部也加入标记。之后,使用预训练语言模型bert进行词嵌入。
[0054]
在具体实施方式中,对于具有头部目标实体hi和尾部目标实体taili的句子s,在头部目标实体hi的两侧分别插入标记[e1]、[e1/],在尾部目标实体taili的两侧分别插入[e2]、[e2/],同时,在句子的开头加入句子头部标记[cls]。例如,对于一个具有目标实体“kitchen”和“house”的句子,在插入标记后,该句子将变成:“[cls]the[e1]kitchen[e1/]is the last renovated part of the[e2]house[e2/]”。
[0055]
在该实施例中,对于一个包含头部目标实体hi和尾部目标实体taili的句子s,假设向量hi到hj是头部目标实体hi通过bert得到的最终的隐藏状态向量,hk到hm是尾部目标实体taili通过bert得到的最终的隐藏状态向量。本实施例中,通过以下线性变换方式获取头部目标实体hi和尾部目标实体taili的输出向量表示:
[0056][0057][0058]
其中,h1′
表示头部目标实体hi的输出向量表示,h2′
表示尾部目标实体taili的输出向量表示,w1、w2、b1、b2均为可训练的参数,w1、w2为矩阵,b1、b2为向量,并且w1、w2的矩阵维度相同,b1、b2的向量维度相同,w1∈rm×m,2∈rm×m,rm×m中的m为bert的隐藏状态大小,tanh为双曲正切激活函数。
[0059]
此外,对于句子头部标记(即[cls])的输出向量表示,则通过如下线性变换方式得到:
[0060]h′0=w0[tanh(h0)]+b0ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0061]
其中,h
′0表示句子头部标记的输出向量表示,h0表示经bert得到的句子头部标记的最终隐藏状态向量,w0、b0均为可训练的参数,其中,w0为矩阵,b0为向量,w0与w1、w1具有相
同的维数,即w0∈rm×m。
[0062]
进一步,再通过以下方式获得句编码向量一:
[0063]
v=w3[concat(h
′0,h
′1,h
′2)]+b3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0064]
其中,v表示句编码向量一,concat表示向量的连接,w3、b3均为可训练的参数,w3为矩阵,b3为向量,w3∈rm×
3m

[0065]
与现有技术相比,本发明中,采取基于bert实体感知的句编码方式对句子进行编码,其中,利用预训练语言模型bert能够很好地捕捉上下文信息,并很好的学习到句子中的语义信息的特点,使用预训练语言模型bert作为词嵌入模块,并对句子头部标记cls、头部目标实体、尾部目标实体经bert处理后所得的隐藏状态向量分别进行线性变换后,再进行拼接等处理,并将所得的向量作为句子的向量表示,其处理方式简单,效率高。同时,引入头部目标实体、尾部目标实体作为bert预训练语言模型中cls标签的补充,也充分发挥了预训练语言模型bert的优势。
[0066]
所述句包表示向量编码模块一12用于执行步骤s12,以根据所述句编码向量一,获得含有同一实体对的句子组成的句包的句包表示向量一。
[0067]
其中,所述步骤s12具体为:根据所述句编码向量一,获得含有同一实体对的句子组成的句包的句包表示向量一。
[0068]
在该步骤中,将含有同一实体对的句子组成一个句包,并对该句包进行表示,从而得到表达相应的实体对及该实体对的关系的句包表示向量。
[0069]
在具体实施方式中,将包含同一实体对的n个句子所组成的句包表示为b={s1,s2,..,si,...,sn},其中,si表示句包中的第i个句子。该句包对应的句包表示向量如下:
[0070][0071][0072]
其中,g表示句包表示向量一,g∈rm,vi表示句子si的句编码向量一,ai表示通过选择性注意力机制所得到的句子si的权重,该权重表示该句子中的实体对表达对应的实体对关系的匹配程度,该句子中的实体对表达对应的实体对关系,其权重就大,反之权重就小,rj表示可训练的句子关系表示向量,每一所述句子关系表示向量分别与相应的句子关系对应,并且,所述句子关系表示向量可从一句子关系查询矩阵中获取,其中,j∈(0,1),也即,由两个句子关系表示向量组成此步骤中的句子关系查询矩阵,分别表示为r0、r1,r0∈rm,r1∈rm。
[0073]
本方案的此步骤中,对于每一句包,需针对每一所述句子关系表示向量,分别计算相应的句包表示向量一。
[0074]
所述关系表示值计算模块一13用于执行步骤s13,以根据所述句包表示向量一,获取所述句包表示向量一的关系表示值。
[0075]
其中,所述s13具体为:根据所述句包表示向量一,获取所述句包表示向量一的关系表示值。
[0076]
在具体实施方式中,所述关系表示值用于表示所述句包表示向量一表达相应句子
关系的程度,本案中,通过以下方式计算关系表示值:
[0077]
p(rj|gi)=softmax(wcgi+bc)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0078]
其中,p(rj|gi)表示句包表示向量一gi表达rj所代表的实体对关系的关系表示值,wc、bc均为可训练的参数,wc∈r
l
×m,l表示句子的实体对关系的关系总数,本实施例中,l=2。
[0079]
本方案的此步骤中,对于每一句包的两个句包表示向量一,需分别计算所述关系表示值,因而针对每一句包均可获得两个关系表示值,并分别与句子关系表示向量r0、r1对应,也即与对应的句子关系对应,其数值的大小表示句子表达对应句子关系的程度,且其值分别在[0,1]之内并且两个向量元素的数值之和为1。
[0080]
所述句子关系获取模块一14用于执行所述步骤s14,以根据所述句包表示向量一的关系表示值,获取该句包所对应的句子关系表示。
[0081]
其中所述步骤s14具体为:根据所述句包表示向量一的关系表示值,获取该句包所对应的句子关系表示。
[0082]
针对每一句包,通过比较其两个关系表示值的数值大小,来判断相应的句包中的句子最终表达的句子关系表示。
[0083]
具体到本实施例中,此步骤中,所述句子关系表示分别为0、1,0表示句子不存在潜在语义价值,1表示句子存在潜在语义价值,并且r0所对应的关系表示值表示相应的句子表达句子关系表示0所代表的句子关系的程度,r1所对应的关系表示值表示相应的句子表达句子关系表示1所代表的句子关系的程度,因而,通过比较关系表示值的大小便可确定所对应的句子关系表示。并且,将确定的句子关系表示输出,当输出0时,表示该句子不存在潜在语义价值,当输出1时,表示该句子存在潜在语义价值。
[0084]
另外,在确定句子关系表示时,如果关系表示值的最大值的数量超过1个,则取排列最靠前的最大值所对应的句子关系表示。因此,本方案的步骤中,当得出两个关系表示值均为0.5时,则判断为句子表达的是0所对应的关系。
[0085]
在本方案中,由于将远程监督关系抽取后标注为na的数据中,其中一部分的na数据确实表达没有关系,但是还有一部分数据是由于数据的不完整性而将具备一定关系的句子错误标注为na,因此,此步骤s14需要将因数据的不完整性而将具备一定关系的句子错误标注为na的数据过滤出来。
[0086]
所述fn噪音数据集获取模块15用于执行所述步骤s15,以根据所述句子关系表示,获得具有潜在语义价值的句子所形成的fn噪音数据集。
[0087]
其中,所述步骤s15具体为:根据所述句子关系表示,获得具有潜在语义价值的句子所形成的fn噪音数据集。
[0088]
在具体实施例中,针对相应的句包,经步骤s14处理后的输出结果为0时,表示该句包中的句子不存在潜在语义价值;经步骤s14处理后的输出结果为1时,表示该句子存在潜在语义价值,此时,可将句包中的所有句子作为fn噪音进行存储,从而得到所述fn噪音数据集。
[0089]
因此,本方案中,通过子模块一1执行步骤s11-s15后,可实现对远程监督关系抽取后标注为na的噪音数据的过滤,从中得到fn噪音数据。
[0090]
所述子模型二2包括句编码向量编码模块二21、句包表示向量编码模块二22、关系表示值计算模块二23、句子关系获取与标注模块,其中,所述句子关系获取与标注模块包括
句子关系获取子模块241和句子关系标注子模块242。
[0091]
其中,所述句包编码向量编码模块二21用于执行所述步骤s21,以获取所述fn噪音数据集中句子的句编码向量二。
[0092]
具体的,所述s21具体为:对所述fn噪音数据集中的句子进行编码,得到所述fn噪音数据集中句子的句编码向量二。
[0093]
此步骤中,同样也是利用步骤s11中的基于bert实体感知的句编码方式对句子进行编码。并且,由于此步骤中的编码方式与步骤s11基本相同,区别仅在于公式中的参数数值有所不同,因此,具体可参见前述步骤s11,此处不再赘述。
[0094]
所述句包表示向量编码模块二22用于执行所述步骤s22,以根据所述句编码向量二,获取所述fn噪音数据集的句包表示向量二。
[0095]
其中,所述步骤s22具体为:根据所述句编码向量二,获取所述fn噪音数据集的句包表示向量二。
[0096]
此步骤中,同样将具有相同实体对的句子组成一句包,对该句包进行编码,并利用与步骤s12中基本相同的编码方法获得句包表示向量二,具体可参见前述步骤s12。
[0097]
其中,此步骤在对句包进行编码时与步骤s12存在以下两点区别:1)公式中的参数数值有所不同;2)句子关系表示向量rj的数量与对所述fn噪音数据集进行关系分类标注中的关系总数相同;在具体实施例中,此步骤中,句子关系查询矩阵中所包括的句子关系表示向量的数量为54个,分别为r
′0、r
′1、......、r

53
,并分别与对所述fn噪音数据集进行关系标注中的各句子关系对应。
[0098]
所述关系表示值计算模块二23用于执行所述步骤s23,以根据所述句包表示向量二,获取所述第二句包表示向量的关系表示值。
[0099]
其中,所述步骤s23具体为:根据所述句包表示向量二,获取所述句包表示向量二的关系表示值。
[0100]
在本方案中,同样的,利用与步骤s13中相似的计算公式获取所述句包表示向量二的关系表示值,具体如下:
[0101]
p(r
′j|g
′i)=softmax(w

c gi+b
′c)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0102]
其中,p(r
′j|g
′i)表示句包表示向量二g
′i表达r
′j所代表的实体对关系的关系表示值,w
′c、b
′c均为可训练的参数,w
′c∈r
l
′×m,l

表示对所述fn噪音数据集进行关系分类标注的关系总数。在具体实施例中,l

=54,
[0103]
对于每一句包,步骤s22中已针对每一句子关系表示向量分别获取句包表示向量二,进而,此步骤s23中,可获得与对所述fn噪音数据集进行关系分类标注中的关系总数相同数量的关系表示值,并且所述关系表示值分别与对应的句子关系表示向量一一对应,也即与对应的句子关系对应,其数值的大小表示句子表达对应句子关系的程度,且其值分别在[0,1]之内并且所有的关系表示值的数值之和为1。
[0104]
所述句子关系获取与标注模块二用于执行所述步骤s24,以根据所述句包表示向量二的关系表示值,获取句子的实体对关系并对句子的实体对关系进行标注。
[0105]
本方案中,由于在步骤s23中计算得到的所述关系表示值分别与各句子关系对应,因而,可通过关系表示值来确定句子关系。
[0106]
其中,所述句子关系获取与标注模块二24包括句子关系获取子模块241和句子关
系标注子模块242。所述句子关系获取子模块241用于执行步骤s241,以根据所述句包表示向量二的关系表示值,获取句包对应的句子关系表示。所述句子关系标注子模块242用于执行步骤s242,以根据所述句包对应的句子关系表示,对句子的实体对关系进行标注。
[0107]
所述步骤s241为:根据所述句包表示向量二的关系表示值,获取句包所对应的句子关系表示。
[0108]
与所述步骤s14类似,此步骤中,通过比较步骤s23所得到的关系表示值的数值大小,获得其中数值最大的关系表示值,并将句包所对应的句子关系表示定为该最大关系表示值所对应的句子关系表示。在所述句子关系表示确定后,便可获得对应的句子关系。
[0109]
需要说明的是,在确定句子关系表示时,如果关系表示值的最大值的数量超过1个,则取排列最靠前的最大值所对应的句子关系表示。
[0110]
所述步骤s242为:根据句包所对应的句子关系表示,对句子的实体对关系进行标注。
[0111]
本方案中,根据所述句子关系表示,对相应的句子标注为该句子关系表示所对应的实体对关系,从而完成fn噪音数据集中句子实体对关系的标注,达到降低噪音的目的。
[0112]
进一步,在本方案中,为了实现噪音过滤的结果也即得到的fn噪音数据集与真实情况更符合,提高噪音过滤的准确性,本方案中还利用训练数据集对子模型一1所涉及的步骤s11-s15中的参数进行了训练优化,具体优化方式如下:
[0113]
s31、初始化步骤s11-s15中的网络参数。
[0114]
s32、对正例训练数据集执行步骤s11-s15。
[0115]
在本方案中,所述正例训练数据集为句子的实体对关系为非na的数据集。
[0116]
在具体实施例中,所述正例训练数据集采用nyt-10的正例数据集,该正例数据集中句子的实体间的关系为非na。
[0117]
s33、每次迭代后均计算总损失值,当所述总损失值经过多次迭代之后趋于平稳时便停止迭代。
[0118]
本方案中,每完整遍历一次正例训练数据集中的所有样本,称为一次迭代。
[0119]
在具体实施例中,每完成一次迭代后,根据以下公式计算损失值:
[0120][0121]
其中,l
cls
表示子模型一1的所述正例训练数据集的交叉熵损失值,p表示正例训练数据集,表示对正例训练数据集的句包表示向量进行处理。
[0122]
同样的,为了提高所述子模型二2对fn噪音数据集中句子实体对关系再次分类、标注的准确性,在所述子模型一1优化完成后,本发明中,还进一步利用训练数据集对子模型二2进行参数的优化。本方案中,对子模型二2中参数的优化采取生成对抗学习和对比学习,具体如下:
[0123]
s41、初始化步骤s21-s23中的网络参数。
[0124]
s42、利用负例训练数据集执行经参数优化后的步骤s11-s15,并得到所述负例训练数据集的fn噪音数据集。
[0125]
在本方案中,所述负例训练数据集为句子的实体对关系为na的数据集。
[0126]
在具体实施例中,所述负例训练数据集采用nyt-10的负例数据集,该负例数据集
为na标签的数据集,该na标签的数据集包括两类数据集,一类数据是句子确实表达na的关系,即实体间没关系,另一类数据为fn噪音。通过对该负例数据集执行参数优化后的步骤s11-s15,可以对负例数据集中的数据进行过滤,从而得到相应的fn噪音数据集。
[0127]
s43、根据步骤s42所得的fn噪音数据集与所述正例训练数据集,生成对抗学习。
[0128]
此步骤中,生成对抗学习使用生成器和鉴别器,其中,所述子模型二2中的句包表示向量编码模块二22作为本案对抗学习中的生成器。该步骤具体如下:
[0129]
对经由所述步骤s42所得的fn噪音数据集与所述正例训练数据集均执行步骤s21,之后,利用所述生成器,执行所述步骤s22,并分别得到fn噪音数据句包表示向量和正例训练数据句包表示向量。其中,所述fn噪音数据句包表示向量为所述fn噪音数据集对应的句包表示向量,所述正例训练数据句包表示向量为所述正例训练数据集对应的句包表示向量。
[0130]
利用鉴别器,对生成器所生成的数据进行鉴别。
[0131]
在具体实施例中,所述fn噪音数据集为所述nyt-10的负例数据集执行参数优化后的步骤s11-s15后所得的fn噪音数据集,所述正例训练数据集采用nyt-10的正例数据集。并且,对生成器所生成的每一个句包表示向量,鉴别器均对其进行以下计算:
[0132]
oi′
=σ(wdgi′
+bd)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0133]
其中,oi′
表示句包表示向量二gi′
对应的概率分布,gi′
∈rm,σ()表示sigmoid函数,wd、bd表示可训练的参数。
[0134]
为了达到对抗训练,通过计算对抗性损失(adversarial loss)以进行参数的优化,其中,所述生成器的损失表示为:
[0135]
lg=-e
s~m
[logd(g(s))]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0136]
其中,lg表示生成器损失值,m表示fn噪音数据集,s表示fn噪音数据集m中的句子,e
s~m
[]表示对所述fn噪音数据集m中句子的句编码向量进行处理,g(s)表示将句子s的句编码向量输入到生成器所生成的句包表示向量,d(g(s))表示将生成器生成的句包表示向量输入到鉴别器所得的概率分布o


[0137]
所述鉴别器的损失可表示为:
[0138][0139]
其中,ld表示鉴别器损失值,p表示正例训练数据集,si表示所述正例训练数据集中的句子,d(si)表示将所述正例训练数据集中句子的句包表示向量输入到鉴别器所得的概率分布o

,表示对所述正例训练数据集的句包表示向量进行处理,sj表示所述fn噪音数据集m中的句子,表示对所述fn噪音数据集m中句子的句编码向量进行处理。
[0140]
s44、根据所述正例训练数据句包表示向量,计算对比损失(contrastive loss)。
[0141]
由于不同的实体对之间可以表达相同的关系,因而,本方案中,对所述正例训练数据集,利用所述正例训练数据句包表示向量,对具有相同关系的数据进行聚集。具体的,本方案中,采取增加具有不同关系的样本之间的距离并减少具有相同关系的样本之间的距离的方式计算对比损失。
[0142]
在具体实施例中,对于一正例训练数据集,给定其中的一个正例训练数据句包表示向量,将该正例训练数据集中所有其他的数据,依据与该正例训练数据句包表示向量表
达相同关系和与正例训练数据句包表示向量表达不同关系进行划分,并采取如下对比损失表示方式:
[0143][0144]
dist
+
(g

,g
′i)=(max(τ-cos(g

,g
′i),0))2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0145]
dist_(g

,g
′j)=1-(max(cos(g

,g
′j),0))2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0146]
其中,l
ctra
表示对比损失值,τ表示在训练前预设的、用于避免句包表示崩溃的超参数,cos()表示余弦函数,q
+
表示与给定的正例训练数据句包表示向量表达相同关系的句包表示向量集合,q
_
表示与给定的正例训练数据句包表示向量表达不同关系的句包表示向量集合,dist
+
(g

,g
′i)表示对相同关系的句包表示向量进行操作,dist_(g

,g
′j)表示对不同关系的句包表示向量进行操作。
[0147]
对于上述对比损失函数,如果两个数据样本的距离越近,两个样本在坐标系中的角度就越小,余弦函数的值就越接近1,τ-cos(g

,g
′i)就会越小,因此dist
+
(g

,g
′i)的值越小;同理,两个样本之间的距离越大,则对应在坐标系中的角度就越大,余弦函数的值就越小,dist_(g

,g
′j)的值越大且越接近1。并且,当一个变小的值减去变大的值,整体就在不断变小,当l
ctra
取到最小值的时候,dist
+
(g

,g
′i)取最小值即同关系样本距离最近,dist_(g

,g
′j)取最大值即不同关系距离最远。因此就可以通过梯度下降的方式,去寻找l
ctra
的极值。
[0148]
s45、根据所述fn噪音数据句包表示向量和正例训练数据句包表示向量,计算其关系表示值,并进一步计算分类损失值。
[0149]
本方案中,具体通过以下公式计算所述关系表示值:
[0150]
p(r
′j|g
′i)=softmax(w

c g
′o+b
′c)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0151]
其中,w
′c、b
′c均为可训练的参数,w
′c∈r
l
′×m,g
′i∈rm,并且l

表示句子关系总数,在具体实施例中,l

=nyt10数据集中的关系数,共54种。
[0152]
并且,进一步计算正例训练数据集p的分类损失值。
[0153][0154]
其中,l
cls
表示交叉熵分类损失值。
[0155]
s46、每次迭代后,计算子模型二2的总损失值,并对测试集的样本执行子模型一1和子模型二2的步骤,同时对子模型二2进行性能测试,重复多个迭代直至性能不再提升。
[0156]
在该步骤中,所述总损失值计算公式如下:
[0157]
l=lg+ l
d + l
ctra + l
cls
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0158]
其中,l表示所述子模型二的总损失值。
[0159]
本方案中,每完整遍历一次训练集中的所有样本,称为一次迭代,每一次迭代后,利用测试集的样本,执行子模型一1和子模型二2的步骤来对子模型二2进行性能测试,并记录当前的性能测试结果和对应的网络参数,多次迭代后若性能不再有任何提升,则表示子模型二2已训练至收敛状态(即性能最佳状态)。其中,性能测试采用了以下指标:auc、p@n、pr-curve和micro-f1。
[0160]
而在对子模型二2的训练数据集进行多次迭代的过程中,通过梯度下降的方式控
制子模型二2所对应的训练数据集的总损失值的变化,相应调整并优化子模型二2中的参数,重复多个迭代直至性能不再提升即停止。
[0161]
本发明中,对于远程监督的关系抽取后所得的噪音数据,利用bert实体感知的句编码方式快速且准确的提取句子信息,从而提高后续的噪音过滤以及分类效果。此外,本发明中,通过将对比学习及生成对抗学习融入到训练当中,使得噪音与真实数据处于一个统一的分布,最终达到关系分类的效果更优,从而实现提高降噪的效果。
[0162]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。

技术特征:
1.一种基于bert实体感知的远程监督关系抽取的降噪方法,其特征在于,包括如下步骤:s11、采用基于bert实体感知的句编码方式对句子进行编码,得到包含实体对信息的句编码向量一;其中,所述基于bert实体感知的句编码方式包括:采用预训练语言模型bert对句子进行词嵌入,并根据经由bert所得的头部目标实体、尾部目标实体以及句子头部标记的隐藏状态向量,得到头部目标实体的输出向量表示、尾部目标实体的输出向量表示以及句子头部标记的输出向量表示,再根据所述头部目标实体的输出向量表示、尾部目标实体的输出向量表示以及句子头部标记的输出向量表示,得到句编码向量一;并且,所述句子为经远程监督关系抽取后所得的标注为na的噪音数据;s12、根据所述句编码向量一,获得含有同一实体对的句子组成的句包的句包表示向量一;s13、根据所述句包表示向量一,获取所述句包表示向量一的关系表示值;s15、根据所述关系表示值所得到的句包的句子关系表示,获得具有潜在语义价值的句子所形成的fn噪音数据集;s2、对所述fn噪音数据集中句子的句子关系进行分类。2.根据权利要求1所述的降噪方法,其特征在于:所述步骤s11中,所述句编码向量一表示如下:v=w3[concat(h
′0,h
′1,h
′2)]+b3其中,v表示所述句编码向量一,concat表示向量的连接,h0′
表示所述句子头部标记的输出向量表示,h1′
表示所述头部目标实体的输出向量表示,h2′
表示所述尾部目标实体的输出向量表示,w3、b3均为可训练的参数。3.根据权利要求2所述的降噪方法,其特征在于:通过以下公式获取所述头部目标实体和尾部目标实体的输出向量表示:和尾部目标实体的输出向量表示:其中,w1、w2、b1、b2均为可训练的参数,向量h
i
到h
j
表示头部目标实体通过bert得到的隐藏状态向量,h
k
到h
m
表示尾部目标实体通过bert得到的隐藏状态向量,tanh为双曲正切激活函数。4.根据权利要求3所述的降噪方法,其特征在于:所述句子头部标记的输出向量表示通过以下公式获取:h
′0=w0[tanh(h0)]+b0其中,h0表示经bert得到的句子头部标记的隐藏状态向量,w0、b0均为可训练的参数。5.根据权利要求4所述的降噪方法,其特征在于:所述步骤s12中,所述句包表示向量一表示如下:
其中,g表示句包表示向量一,v
i
表示句包中第i个句子的句编码向量一,a
i
表示通过选择性注意力机制所得到的第i个句子的权重。6.根据权利要求5所述的降噪方法,其特征在于:所述权重的计算公式如下:其中,n表示句包中句子的总数,r
j
表示句子关系表示向量,j∈(0,1)。7.根据权利要求6所述的降噪方法,其特征在于:所述步骤s13中,所述关系表示值的计算公式如下:p(r
j
|g
i
)=softmax(w
c
g
i
+b
c
)其中,p(r
j
|g
i
)表示句包表示向量一g
i
表达r
j
所代表的实体对关系的关系表示值,w
c
、b
c
均为可训练的参数。8.根据权利要求1-7中任一所述的降噪方法,其特征在于:所述步骤s2包括:s21、采用基于bert实体感知的句编码方式对所述fn噪音数据集中的句子进行编码,获得所述fn噪音数据集中句子的句编码向量二;s22、根据所述句编码向量二,获取所述fn噪音数据集中含有同一实体对的句子组成的句包的句包表示向量二;s23、根据所述句包表示向量二,获取所述句包表示向量二的关系表示值;s24、根据所述句包表示向量二的关系表示值,获取句子的实体对关系并对句子的实体对关系进行标注。9.一种基于bert实体感知的远程监督关系抽取的降噪模型,该模型包括子模型一和子模型二,其中,所述子模型一用于获取远程监督关系抽取后标注为na的噪音数据中的fn噪音数据集,所述子模型二用于对所述fn噪音数据集中句子的句子关系进行分类;所述子模型一包括句编码向量编码模块一、句包表示向量编码模块一、关系表示值计算模块一、fn噪音数据集获取模块;所述句编码向量编码模块一采用基于bert实体感知的句编码方式对句子进行编码,得到包含实体对信息的句编码向量一;所述句包表示向量编码模块一用于根据所述句编码向量一,获得含有同一实体对的句子组成的句包的句包表示向量一;所述关系表示值计算模块一用于根据所述句包表示向量一,获取所述句包表示向量一的关系表示值;所述fn噪音数据集获取模块用于根据所述关系表示值所得到的句包的句子关系表示,获得具有潜在语义价值的句子所形成的fn噪音数据集。10.根据权利要求9所述的降噪模型,其特征在于:所述子模型二包括句编码向量编码模块二、句包表示向量编码模块二、关系表示值计算模块二、句子关系获取与标注模块,其中:所述句编码向量编码模块二采用所述基于bert实体感知的句编码方式对句子进行编
码,获取所述fn噪音数据集中句子的句编码向量二;所述句包表示向量编码模块二用于根据所述句编码向量二,获取所述fn噪音数据集中含有同一实体对的句子组成的句包的句包表示向量二;所述关系表示值计算模块二用于根据所述句包表示向量二,获取所述句包表示向量二的关系表示值;所述句子关系获取与标注模块用于根据所述句包表示向量二的关系表示值,获得句子所表达的实体对关系并对句子的实体对关系进行标注。

技术总结
本发明涉及一种基于Bert实体感知的远程监督关系抽取降噪方法及其模型,所述降噪方法包括:S11、采用基于Bert实体感知的句编码方式对句子进行编码,得到包含实体对信息的句编码向量一;S12、根据句编码向量一,获得含有同一实体对的句子组成的句包的句包表示向量一;S13、根据句包表示向量一,获取句包表示向量一的关系表示值;S15、根据关系表示值所得到的句包的句子关系表示,获得具有潜在语义价值的句子所形成的FN噪音数据集;S2、对所述FN噪音数据集中句子的句子关系进行分类。本发明所述的基于Bert实体感知的远程监督关系抽取降噪方法及其模型能够快速且准确的提取句子信息,提高了后续噪音过滤以及分类效果。高了后续噪音过滤以及分类效果。高了后续噪音过滤以及分类效果。


技术研发人员:曾碧卿 梁健淳 王光亚 谢梁琦
受保护的技术使用者:华南师范大学
技术研发日:2023.04.11
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐