双向GRU关系抽取数据处理方法、系统、终端、介质

文档序号:25045855发布日期:2021-05-14 12:10阅读:777来源:国知局
双向GRU关系抽取数据处理方法、系统、终端、介质
双向gru关系抽取数据处理方法、系统、终端、介质
技术领域
1.本发明属于关系抽取技术领域,尤其涉及一种双向gru关系抽取数据处理方法、系统、终端、介质。


背景技术:

2.目前,关系抽取在自然语言处理领域占有重要的地位,它是问答系统、信息抽取、知识图谱等自然语言处理的核心任务和不可缺少的环节,同时关系抽取也是近年来的一个研究热点。关系抽取的任务是预测文本中两个标记实体之间的关系类型和方向。
3.基于深度学习的关系抽取方法主要是基于cnn,rnn网络来获取句子中的上下文信息,zeng等人提出了一种使用深度卷积神经网络的模型来提取句子中的特征,zhang等人提出了使用rnn来学习实体与实体间的长距离依赖性。cnn的目的是捕捉目标的局部和连续的上下文内容,而rnn则通过存储单元积累输入句子中的上下文信息。最近的研究中通常使用注意力机制来提升模型的性能,例如用于关系分类的基于注意力的双向长期短期记忆网络、通过基于注意力机制的分层递归神经网络进行语义关系分类等。
4.目前,基于注意力的神经网络模型致力于分辨句子的关键语义部分,并在许多nlp任务中取得了最新成果。sdp

lstm使用长期短期记忆(lstm)沿最短依赖路径(sdp)捕获特征,该模型是用于通过排名进行分类的卷积神经网络,并使用具有成对排名的损失函数进行训练。xu等人提出的深度循环神经网络(drnns)模型将不相关的词从最短依赖路径中剔除,以此达到提升模型性能的目的,并且在模型中还使用了其它例如单词词性标签(pos)、上位词、同义词替换等额外特征。但与此同时,在关系分类的任务中,这种具有注意力机制的模型并没有充分利用数据集中的有关系表达的信息,而这些信息对实体分类任务具有提示作用,另外,最短依赖路径(sdp)、词性标签(pos)、上位词、同义词等特征都是依靠相关的nlp工具生成的语言特征,它们大多是有效的,有助于模型找到关键特征,但同时会导致模型受到工具产生的错误影响,并大大增加模型的计算工作量。
5.通过上述分析,现有技术存在的问题及缺陷为:在关系分类的任务中,现有具有注意力机制的模型并没有充分利用数据集中的有关系表达的信息;同时,现有模型使用其他处理工具会导致模型受到工具产生的错误影响,并大大增加模型的计算工作量,提高了模型的计算时间;并且传统的词向量模型并不能准确的表现出句中出现的大量的一词多义;在提取文本信息的网络层中,现有的模型使用的lstm网络参数量过多,在一定程度上加大了模型过拟合的风险,并且增加了模型的计算量,致使计算时间变长。
6.解决以上问题及缺陷的难度为:需要对模型的注意力机制进行优化及调整从而在不使用任何工具的情况下达到充分利用文本中有关系表达单词以及实体词的效果,以提高模型的性能,并且避免使用工具从而对模型带来错误累积;需要使用具有一词多义能力的词向量模型;在文本提取的网络层中,需要使用参数量更少的、更快速的、同性能的网络,以提高模型的运行效率。
7.解决以上问题及缺陷的意义为:关系抽取任务是知识图谱构建的不可或缺的重要
步骤,关系抽取模型的研究以及优化具有十分重要的应用前景以及理论意义,可以为自然语言处理领域的多种应用提供更先进的支持。


技术实现要素:

8.针对现有技术存在的问题,本发明提供了一种双向gru关系抽取数据处理方法、系统、终端、介质,具体涉及一种基于关键词注意力的双向gru关系抽取数据处理方法。
9.本发明是这样实现的,一种基于关键词注意力的双向gru关系抽取数据处理方法,包括以下步骤:
10.步骤一,对基准数据集进行预处理;
11.步骤二,对步骤一预处理后的语料进行词向量化;
12.步骤三,通过多头注意力机制对步骤二的词向量进行初步去噪处理;
13.步骤四,使用bi

gru网络层对步骤三处理过的词向量进行编码,得到包含句子中的上下文信息的隐藏层向量;
14.步骤五,将步骤四的隐藏层向量作为输入,传递至关键词注意力层中,通过将隐藏层输出结合实体对相对位置特征以及实体隐藏相似度特征,计算出关键词注意力权重;
15.步骤六,将经过步骤五关键词注意力机制处理过的隐藏层向量输入至分类层,得到最终的关系抽取结果。
16.进一步,所述步骤一预处理包括:
17.将原始文件中的原始句子以及关系标签进行处理生成完整的句子字典和标签字典,并将编码修改为utf

8编码;去除句子中的标点符号以及重复句子和符号;使用nltk对数据集中的文本进行分词处理;
18.所述步骤二进行词向量化包括:将分好词的语料使用预训练的emlo模型进行词向量的转化;
19.emlo模型的输入层旨在将输入句子的语义信息和位置信息转换为向量,其中输入句子用{w1,w2,...,w
n
}表示,表示每个词与实体对的相对位置的向量;
20.采用维度嵌入d
w
从语言模型elmo词嵌入预训练模型,elmo模型根据上下文推断出每个词对应的词向量;对于多义词在前后词的上下文中理解;
21.所述预训练模型的训练方法采用随机梯度下降法训练,关键词注意力机制使用交叉损失熵进行计算,所述损失函数的定义如以下公式所示:
[0022][0023]
其中,|d|是训练数据集的大小,(s
(i)
,y
(i)
)是数据集中的第i个样本,采用adadelta优化器来最小化loss函数计算参数;
[0024]
在损失函数中加入l2正则化以防止过拟合,λ1,λ2是正则化的超参数;第二个正则化器试图强制模型处理真正重要的单词,并返回稀疏的权重分布;最终目标函数如以下等式所示:
[0025]
[0026]
进一步,所述步骤三多头注意机制通过输入层输出的词向量序列构建序列的对称相似性矩阵;
[0027]
所述多头注意力机制包括:给定密钥k、查询q和值v作为输入,相当于词嵌入向量{x1,x2,...,x
n
},输出结果是一个具有输入句子上下文信息的特征序列;其中,关注模块将执行关注h次,计算过程如以下公式所示:
[0028]
multihead(q,k,v)=w
m
concat[head1;...;head
r
];
[0029][0030][0031]
其中是线性变换的可学习参数,w
m
是按比例计算和串联时按比例放缩点积注意力的输出,w
iq
,w
ik
,w
iv
分别表示第i个头的查询、键和值。
[0032]
进一步,所述步骤四bi

gru网络层用于获取多头自注意层输出序列的上下文内信息;在信息提取的任务中,rnn是使用最多的模型;lstm相对于rnn引入了长期记忆和门结构,缓解rnn长期去依赖性的问题,但同时也增加模型的计算量;而gru则进一步优化lstm,只保留new gate和reset gate两个门操作;
[0033]
将gru单元对m
i
的处理记为gru(m
i
),获得用于计算上下文化单词表示的等式如以下公式所示:
[0034][0035][0036][0037]
bi

gru的输入m是多头自注意层的输出,逐级输入到网络中;将每一时间步中的前向gru网络隐藏状态与后向gru网络隐藏状态进行并联,其中d
h
为gru网络单元隐藏状态的维度,用{h1,h2,...,h
n
}表示每一个词的隐藏状态向量,并用箭头表示方向。
[0038]
进一步,所述步骤五关键词注意力机制用于对隐藏层向量进行软选择,为一组标量的线性组合,权值用来表示模型对句子中某个词的关注程度,取值在0到1之间;
[0039]
为每个词引入一个状态变量z,当z为0时,表示对应的词与关系分类无关,如果z为1,则表示对应的词是句子中关系表达所需的词;每个句子都有对应的二元状态变量序列z;隐藏状态的期望值n为对应词被选中的概率,关键词注意力权重计算方法如以下公式所示:
[0040][0041]
引入crf来计算隐藏序列的权重序列h={h1,h2,...,h
n
},推导出p(z
i
=1|h),h代表输入序列,h
i
代表第i个词的gru的隐藏输出;crf为一个概率框架,用于计算序列与序列之间的条件概率;
[0042]
crf定义在给定h的情况下一系列条件概率p(z
i
=1|h),如以下公式所示:
[0043][0044][0045]
其中,表示状态序列z的集合,z(h)是规范化常数,z
c
表示单个集合c给出的z的子集,ψ(z
c
,h)是该集合的潜在函数,用以下等式表示:
[0046][0047]
使用两种特征函数进行计算,顶点特征函数ψ1(z
i
,h)和边缘特征函数ψ2(z
i
,z
i+1
);ψ1表示gru的输出h到状态变量z的映射,而ψ2是用于模拟两个状态变量在相邻时间步长的转换函数,分别如以下公式所示:
[0048]
ψ1(z
i
,h)=exp(w
h
f1+w
e
f2+b);
[0049][0050][0051]
其中,w
h
和w
e
为线性变换的可学习参数,b为偏置项;将句子中的上下文信息映射成每个状态变量的特征分数,所述特征分数利用句子中的相对实体位置特征以及关键词特征,实体对特征和实体对隐藏的相似性特征t1和t2;
[0052]
(1)实体位置特征
[0053]
相对位置特征用于通过与隐藏层的输出量h
i
的连接来共同重新表示上下文信息以及实体位置关系;其中e
j
∈{1,2};位置嵌入与词嵌入类似,通过嵌入矩阵将相对位置标量转化为向量;其中l为最大句长,d
p
为位置向量的维度;
[0054]
(2)实体隐藏相似特征
[0055]
根据实体与其隐藏向量的相似性对实体进行分类;实体隐藏相似特征计算过程如以下公式所示:
[0056][0057][0058]
其中,是在势向量空间中构造的一个势向量,用来表示相似实体的类;k是实体按其隐藏相似性分类的类数;第j个实体的隐藏相似度特征t
j
是根据第j个实体与隐藏层的输出h
ej
的相似度加权计算出来的;实体特征是通过对实体位置和实体对的潜在类型
表示对应的隐藏状态进行级联构建。
[0059]
进一步,所述步骤六分类层,包括:
[0060]
计算状态变量的输出分布的概率p,在注意力层之后添加softmax层,计算过程如以下公式所示:
[0061]
p(y|n)=softmax(w
y
n+b
y
);
[0062]
其中,是偏差项,|r|是关系类别的数量,w
y
将隐藏状态n的期望值映射到关系标签的特征分数。
[0063]
本发明的另一目的在于提供一种基于关键词注意力的双向gru关系抽取数据处理系统,包括:
[0064]
数据集预处理模块,用于对基准数据集semeval

2010 task 8进行预处理;
[0065]
语料词向量化模块,用于通过emlo预训练模型对预处理后的语料进行词向量化;
[0066]
去噪处理模块,用于通过多头注意力机制对词向量进行初步去噪处理;
[0067]
词向量编码模块,用于使用bi

gru网络对初步去噪处理过的词向量进行编码,得到包含句子中的上下文信息的隐藏层向量;
[0068]
注意力权重计算模块,用于将隐藏层向量作为输入,传递至关键词注意力层中,通过将隐藏层输出结合实体对相对位置特征以及实体隐藏相似度特征,计算出注意力权重;
[0069]
关系抽取结果获取模块,用于将经过注意力机制处理过的隐藏层向量输入至分类层,得到最终的关系抽取结果。
[0070]
进一步,所述基于关键词注意力的双向gru关系抽取数据处理系统还包括:
[0071]
输入层、多头注意力层、bi

gru网络层、关键词注意力机制和分类层;
[0072]
所述输入层,用于将原始文件中的原始句子以及关系标签进行处理生成完整的句子字典和标签字典,并将编码修改为utf

8编码;去除句子中的标点符号以及重复句子和符号;使用nltk对数据集中的文本进行分词处理;将分好词的语料使用预训练的emlo模型进行词向量的转化;
[0073]
所述多头注意力层用于在输入层使用非固定的词向量,并在输入层后增加多头关注机制,多头注意机制属于一种特殊的自注意机制,通过输入层输出的词向量序列构建序列的对称相似性矩阵;
[0074]
所述bi

gru网络层用于获取多头自注意层输出序列的上下文内信息;
[0075]
所述关键词注意力机制用于对隐藏层向量进行软选择,为一组标量的线性组合,权值用来表示模型对句子中某个词的关注程度,取值在0到1之间;
[0076]
所述分类层,用于计算状态变量的输出分布的概率p。
[0077]
本发明的另一目的在于提供一种信息数据处理终端,其特征在于,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的基于关键词注意力的双向gru关系抽取数据处理方法。
[0078]
本发明的另一目的在于提供一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机执行所述的基于关键词注意力的双向gru关系抽取数据处理方法
[0079]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的基
于关键词注意力的双向gru关系抽取数据处理方法,能够得到基于关键词注意力机制的bi

gru(bidirectional gate recurrent unit)关系抽取模型,这是一种基于关系表达相关关键词的新型注意力机制模型。具体来说,本发明提出的注意力机制利用线性链条件随机场crf(conditional random field),结合实体对特征和实体对与其隐藏向量之间的相似性特征来计算每个词的边际分布,并被选为注意力权重。使用计算出的注意力权重对隐藏层的输出进行降噪后,再进行分类处理。本发明还具有以下优点:
[0080]
(1)在模型的计算过程中,没有使用nlp工具来提取额外的特征从而避免了由于工具结果错误而造成的错误累计以及错误传播,并节省了计算开销。
[0081]
(2)提出了一种基于关键词注意力机制的bi

gru模型来处理关系抽取的任务,重点是在模型中利用crf计算边际分布来表示权重的关键词关注度,同时还加入了实体对相似度特征。
[0082]
(3)在semeval

2010任务8数据集上进行的实验,结果表明本发明提出的模型在没有任何其他nlp工具的情况下达到了最先进的性能。
[0083]
本发明针对semeval

2010任务数据集上的关系分类任务,提出了一种基于关键词注意力机制的端到端bi

gru网络模型。该模型利用关键词注意力机制充分提取数据集中的可用特征,在关键词注意力机制中,该模型可利用实体对的相对位置向量和实体对之间的相似度及其隐藏向量来计算每个词的边际分布,选取其作为关注权重。在不使用其他自然语言处理工具的情况下,该模型的f1值达到了84.6,优于其它使用大量额外工具特征的模型。
[0084]
对比的技术效果或者实验效果。包括:
[0085]
对于本发明所提出的模型,为了了解其中各个成分对其性能的贡献,本发明在semeval

2010任务数据集上进行消融实验研究。从消融实验的结果来看,关键词注意力机制结合实体隐藏相似度特征,提供了大约1.4的f1得分;去掉了相对位置特征时,性能也略微下降,f1得分下降了0.2;多头注意力机制则提供了大约0.5的f1得分;预训练的emlo词向量模型提供大约1.2的f1得分;其消融实验结果如表12所示。
[0086]
表12 semeval

2010任务数据集上本发明的模型每个特征的消融实验
[0087]
附图说明
[0088]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的
附图。
[0089]
图1是本发明实施例提供的基于关键词注意力的双向gru关系抽取数据处理方法流程图。
[0090]
图2是本发明实施例提供的基于关键词注意力的双向gru关系抽取数据处理系统结构框图;
[0091]
图中:1、数据集预处理模块;2、语料词向量化模块;3、去噪处理模块;4、词向量编码模块;5、注意力权重计算模块;6、关系抽取结果获取模块。
[0092]
图3是本发明实施例提供的基于关键词注意力的双向gru关系抽取模型的完整系统架构示意图。
[0093]
图4是本发明实施例提供的自注意力机制的多头注意力机制原理图。
[0094]
图5是本发明实施例提供的bi

gru模型的最小单元图以及门控计算方式图。
[0095]
图6是本发明实施例提供的semeval

2010 task 8官方数据集样本图。
[0096]
图7是本发明实施例提供的emlo词向量所生成的单词“i”512维词向量样本图。
[0097]
图8是本发明实施例提供的多头注意力的可视化样例示意图。
[0098]
图9是本发明的注意力机制的关键代码示意图。
具体实施方式
[0099]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0100]
针对现有技术存在的问题,本发明提供了一种基于关键词注意力的双向gru关系抽取数据处理方法,下面结合附图对本发明作详细的描述。
[0101]
如图1所示,本发明实施例提供的基于关键词注意力的双向gru关系抽取数据处理方法包括以下步骤:
[0102]
s101,对基准数据集semeval

2010 task 8进行预处理;
[0103]
s102,通过emlo预训练模型对s101预处理后的语料进行词向量化;
[0104]
s103,多头注意力机制对s102的词向量进行初步去噪处理;
[0105]
s104,使用bi

gru网络对s103处理过的词向量进行编码,得到包含句子中的上下文信息的隐藏层向量;
[0106]
s105,将s104的隐藏层向量作为输入,传递至关键词注意力层中,通过将隐藏层输出结合实体对相对位置特征以及实体隐藏相似度特征,计算出注意力权重;
[0107]
s106,将经过s105注意力机制处理过的隐藏层向量输入至分类层,得到最终的关系抽取结果。
[0108]
如图2所示,本发明实施例提供的基于关键词注意力的双向gru关系抽取数据处理系统包括:
[0109]
数据集预处理模块1,用于对基准数据集semeval

2010 task 8进行预处理;
[0110]
语料词向量化模块2,用于通过emlo预训练模型对预处理后的语料进行词向量化;
[0111]
去噪处理模块3,用于通过多头注意力机制对词向量进行初步去噪处理;
[0112]
词向量编码模块4,用于使用bi

gru网络对初步去噪处理过的词向量进行编码,得
到包含句子中的上下文信息的隐藏层向量;
[0113]
注意力权重计算模块5,用于将隐藏层向量作为输入,传递至关键词注意力层中,通过将隐藏层输出结合实体对相对位置特征以及实体隐藏相似度特征,计算出注意力权重;
[0114]
关系抽取结果获取模块6,用于将经过注意力机制处理过的隐藏层向量输入至分类层,得到最终的关系抽取结果。
[0115]
进一步,所述基于关键词注意力的双向gru关系抽取数据处理系统还包括:
[0116]
输入层、多头注意力层、bi

gru网络层、关键词注意力机制和分类层;
[0117]
所述输入层,用于将原始文件中的原始句子以及关系标签进行处理生成完整的句子字典和标签字典,并将编码修改为utf

8编码;去除句子中的标点符号以及重复句子和符号;使用nltk对数据集中的文本进行分词处理;将分好词的语料使用预训练的emlo模型进行词向量的转化;
[0118]
所述多头注意力层用于在输入层使用非固定的词向量,并在输入层后增加多头关注机制,多头注意机制属于一种特殊的自注意机制,通过输入层输出的词向量序列构建序列的对称相似性矩阵;
[0119]
所述bi

gru网络层用于获取多头自注意层输出序列的上下文内信息;
[0120]
所述关键词注意力机制用于对隐藏层向量进行软选择,为一组标量的线性组合,权值用来表示模型对句子中某个词的关注程度,取值在0到1之间;
[0121]
所述分类层,用于计算状态变量的输出分布的概率p。
[0122]
下面结合实施例对本发明作进一步描述。
[0123]
实施例1
[0124]
本发明的目的在于提供一种高效的、准确的基于关键词注意力的深度学习关系抽取方法,使用关系抽取领域基准数据集semeval

2010 task 8数据集进行测试。首先,本发明方法对数据集进行处理,得到句子字典和实体关系字典,并计算出每个词与两个实体词的相对位置标量,再通过位置嵌入矩阵转化为位置特征矢量。接着,通过elmo(embedding from language model)预训练模型将nltk数据包处理过的语料转化为512维的词向量,并输入多头注意力机制中,对句子中具有关系表达的词语进行加权,并对无关词语进行去噪。然后,将结果输入到bi

gru网络层,在其中对输入进行上下文编码,捕获句中信息,获得隐藏层向量,将其作为输入再传递至关键词注意力层中。在关键词注意力层中,隐藏层输出与位置特征进行拼接,实体词隐藏层输出与实体隐藏相似度进行拼接,将两者的拼接结果作为融合特征向量,计算出特征向量的注意力权重,最后将其输入至分类层得到抽取结果。
[0125]
本发明的技术方案实施步骤如下所示:
[0126]
步骤1,对基准数据集semeval

2010 task 8进行预处理;
[0127]
步骤2,通过emlo预训练模型对步骤1预处理后的语料进行词向量化;
[0128]
步骤3,多头注意力机制对步骤2的词向量进行初步去噪处理;
[0129]
步骤4,使用bi

gru网络对步骤3处理过的词向量进行编码,得到包含句子中的上下文信息的隐藏层向量;
[0130]
步骤5,将步骤4的隐藏层向量作为输入,传递至关键词注意力层中,通过将隐藏层输出结合实体对相对位置特征以及实体隐藏相似度特征,计算出注意力权重;
[0131]
步骤6,将经过步骤5注意力机制处理过的隐藏层向量输入至分类层,得到最终的关系抽取结果。
[0132]
本发明提出的模型架构如图3所示,以下将根据模型架构中的各个部分进行详细阐述。
[0133]
1、输入层
[0134]
将原始文件中的原始句子以及关系标签进行处理生成完整的句子字典和标签字典,便于后续程序处理,并将编码修改为utf

8编码;去除句子中的标点符号以及重复句子和符号;使用nltk对数据集中的文本进行分词处理;将分好词的语料使用预训练的emlo模型进行词向量的转化。
[0135]
模型的输入层旨在将输入句子的语义信息和位置信息转换为向量,其中输入句子用{w1,w2,...,w
n
}表示,表示每个词与实体对的相对位置的向量。
[0136]
为了使模型能够捕捉到更准确的语义信息,本发明采用了维度嵌入d
w
从语言模型elmo词嵌入预训练模型,elmo模型对单词的多义性提出了较好的解决方案,不同于之前mikolov等人的word2vec和pennington等人的glove工作,每个词对应一个向量,对单词的多义性没有很好的解决效果。
[0137]
传统方法的词向量是静止不变的,一个词对应一个向量。然而,在elmo词向量中,向量不再只是一个向量对应一个词,而是一个真正的训练模型,可以将一个句子或一段话输入该模型,模型根据上下文推断出每个词对应的词向量。这样做的一个明显优点在于,对于多义词来说,模型可以在前后词的上下文中理解。如图3所示,{x1,x2,...,x
n
}是词嵌入过程后的d
w
维向量,它将会在结合位置特征向量后输入到下一层进行处理。
[0138]
2、多头注意力层
[0139]
尽管本发明在输入层使用了非固定的词向量,但为了更好地让模型理解上下文的含义,解决长期依赖性的问题,本发明在输入层后增加了多头关注机制(self

attention),多头关注机制流程图如图4所示。多头注意机制属于一种特殊的自注意机制,在本发明中,可以通过输入层输出的词向量序列构建序列的对称相似性矩阵。
[0140]
在多头注意力机制中,给定密钥k、查询q和值v作为输入,相当于词嵌入向量{x1,x2,...,x
n
},输出结果是一个具有输入句子上下文信息的特征序列。其中,关注模块将执行关注h次,计算过程如公式(1

3)所示。
[0141]
multihead(q,k,v)=w
m
concat[head1;...;head
r
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0142]
head
i
=attention(w
iq
q,w
ik
k,w
iv
v)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0143][0144]
其中,是线性变换的可学习参数,w
m
是按比例计算和串联时按比例放缩点积注意力的输出,w
iq
,w
ik
,w
iv
分别表示第i个头的查询、键和值。
[0145]
3、bi

gru网络层
[0146]
bi

gru网络层用于获取多头自注意层输出序列的上下文内信息。在信息提取的任
务中,rnn(recurrent neural network)是使用最多的模型。lstm(long

short term memory)相对于rnn引入了长期记忆和门结构,缓解了rnn长期去依赖性的问题,但同时也增加了模型的计算量。而gru(gate recurrent unit)则进一步优化了lstm,只保留了new gate和reset gate两个门操作,因此gru单元的参数更少,收敛速度比lstm单元更快,gru单元原理图如图5所示。
[0147]
为简单起见,本发明将gru单元对m
i
的处理记为gru(m
i
),因此获得用于计算上下文化单词表示的等式如公式(4

6)所示。
[0148][0149][0150][0151]
bi

gru的输入m是多头自注意层的输出,逐级输入到网络中。为了有效地利用过去和未来在某一时间的特征,本发明将每一时间步中的前向gru网络隐藏状态与后向gru网络隐藏状态进行并联,其中d
h
为gru网络单元隐藏状态的维度,在本发明中用{h1,h2,...,h
n
}表示每一个词的隐藏状态向量,并用箭头表示方向。
[0152]
4、关键词注意力机制
[0153]
注意力机制一直是自然语言处理领域的研究热点,也在各种任务中取得了最先进的成果。虽然这些注意力机制都有很好的性能,但大多数机制并没有充分挖掘句子中的关键词信息。这些关键词指的是解决关系抽取任务的重要词汇,如果能够利用这些关键词的信息,那么模型的性能将会得到进一步提高。
[0154]
本发明提出的关键词注意力机制旨在对隐藏层向量进行软选择,与传统的关注机制一样,本发明的关注机制也是一组标量的线性组合,权值用来表示模型对句子中某个词的关注程度,它的取值在0到1之间。
[0155]
但与传统的注意力机制不同的是,本发明提出的模型采用了不同的方法来计算权重。具体而言,本发明为每个词引入一个状态变量z,当z为0时,表示对应的词与关系分类无关,如果z为1,则表示对应的词是句子中关系表达所需的词。所以,每个句子都有其对应的二元状态变量序列z。在此定义下,隐藏状态的期望值n也就是其对应词被选中的概率,其计算方法如公式(7)所示。
[0156][0157]
为了推导出p(z
i
=1|h),在这里引入crf来计算隐藏序列的权重序列h={h1,h2,...,h
n
},h代表输入序列,h
i
代表第i个词的gru的隐藏输出。具体来说,crf提供了一个概率框架,用于计算序列与序列之间的条件概率。
[0158]
crf定义了在给定h的情况下一系列条件概率p(z
i
=1|h),如公式(8

9)所示:
[0159]
[0160][0161]
其中,表示状态序列z的集合,z(h)是规范化常数,z
c
表示单个集合c给出的z的子集,ψ(z
c
,h)是该集合的潜在函数,在本发明中用等式(10)表示:
[0162][0163]
在本发明中,使用两种特征函数进行计算,顶点特征函数ψ1(z
i
,h)和边缘特征函数ψ2(z
i
,z
i+1
)。ψ1表示gru的输出h到状态变量z的映射,而ψ2是用于模拟两个状态变量在相邻时间步长的转换函数。它们的定义分别如公式(11

13)所示。
[0164]
ψ1(z
i
,h)=exp(w
h
f1+w
e
f2+b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0165][0166][0167]
其中,w
h
和w
e
为线性变换的可学习参数,b为偏置项。它们将句子中的上下文信息映射成每个状态变量的特征分数,这些特征分数利用了句子中的相对实体位置特征以及关键词特征(实体对特征和实体对隐藏的相似性特征t1和t2)。
[0168]
4.1实体位置特征
[0169]
在最近的研究中,实体对的相对位置特征被广泛使用,并取得了良好的效果。本发明提出的关键词注意力机制不仅使用了词嵌入特征,还加入了位置嵌入特征。
[0170]
相对位置特征用于通过与隐藏层的输出量h
i
的连接来共同重新表示上下文信息以及实体位置关系,如公式(12)中f1所示。其中e
j
∈{1,2}。位置嵌入与词嵌入类似,它通过嵌入矩阵将相对位置标量转化为向量,其中l为最大句长,d
p
为位置向量的维度。
[0171]
4.2实体隐藏相似特征
[0172]
由于句子中的实体词本身就是解决关系分类任务的强有力提示,因此,在很多的研究中采用自然语言处理工具来获取实体词的语言特征。然而这种方法已经不是一种端到端的解决方法了。因此,本发明提出了一种避免使用传统自然语言处理工具提取实体特征的方法,这种特征在本发明中被命名为实体隐藏相似度特征,在本发明中,根据实体与其隐藏向量的相似性对实体进行分类。实体隐藏相似特征计算过程如公式(14

15)所示。
[0173][0174]
[0175]
其中,是在势向量空间中构造的一个势向量,用来表示相似实体的类,其中k是实体按其隐藏相似性分类的类数。第j个实体的隐藏相似度特征t
j
是根据第j个实体与隐藏层的输出he
j
的相似度加权计算出来的。实体特征是通过对实体位置和实体对的潜在类型表示对应的隐藏状态进行级联构建的,如公式(12)中f2所示。
[0176]
5、分类层
[0177]
为计算状态变量的输出分布的概率p(在本发明中为所有关系的条件概率),已在注意力层之后添加了softmax层,计算过程如公式(16)所示。
[0178]
p(y|n)=softmax(w
y
n+b
y
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0179]
其中,是偏差项,|r|是关系类别的数量,w
y
将隐藏状态n的期望值映射到关系标签的特征分数。
[0180]
实施例2
[0181]
本发明的相关实验基于python 3.7的tensorflow环境,pycharm 2020.2.2(professional edition),主要的数据包为tensorflow 2.5.0

dev20201127版本,cuda v11.1,cudnn v8.0.4,pytorch v1.7。
[0182]
1、数据来源与评估标准
[0183]
本发明的实验是在semeval

2010 task 8数据集上进行评估的,该数据集是在关系抽取领域中广泛使用的基准数据集(见图6)。该数据集具有19种关系类型,包括9种方向性关系和其他类型:cause

effect,instrument

agency,product

producer,con

tent

container,entity

origin,entity

destination,component

whole,ember

collection,message

topic和other。数据集由10717个句子组成,其中包括8000个训练样本和2717个测试样本,每个标签所占训练集以及测试集的比例如表1以及表2所示。
[0184]
表1训练集各类数据标签的占比
[0185][0186]
表2测试集各类数据标签的占比
[0187][0188]
在实验中使用的评估指标基于宏观平均f1分数(macro

averaged f1

score),f1值是数据集的官方评估指标,用来判断模型的优劣。
[0189]
官方数据样本如表3所示。
[0190]
表3样本示例
[0191][0192]
在数据集的句子中,每一条句子都用<e1><e2>标记出了实体1与实体2,且每个样本都有对应的关系标签和实体1与实体2间关系的方向。
[0193]
2、数据预处理
[0194]
本发明将对semeval

2010 task 8标准数据集进行预处理以适配代码后续运行,首先使用nltk对数据集中的句子进行分词处理并去除句子中的无关符号、空格以及句子中实体词的标记,对于分词后的数据,使用tensorflow中的tf.contrib.learn.preprocessing.vocabularyprocessor()函数,此函数可以根据所有已分词好的文本建立好一个词典,然后找出每个词在词典中对应的索引,不足长度或者不存在的单词值补为0,实验中的最大数据长度设置为90。处理结果如表4所示。
[0195]
表4预处理数据示例
[0196][0197]
3、实体相对位置特征
[0198]
本发明中引入了每个词与实体1以及实体2的相对位置特征,分别用train_pos1,train_pos2,test_pos1,test_pos2,来存储训练集中每个单词相对实体1和相对于实体2的距离以及测试集中每个单词相对实体1和相对于实体2的距离,如表5所示。
[0199]
表5位置特征示例
[0200][0201]
4、实验过程
[0202]
4.1 elmo词向量
[0203]
在实验过程中,embedding size的值要和elmo的词向量的维度大小一致,通过hub.module()函数使用预训练elmo词向量,参数设置为“https://tfhub.dev/google/elmo/2”,trainable=true。得到512维的向量矩阵,如图7所示。
[0204]
elmo词向量相关的参数如表6所示。
[0205]
表6词向量实验相关参数设置
[0206][0207]
4.2多头注意力机制
[0208]
由于基于rnn网络的结构需要依次序进行序列计算,对于部分远距离依赖的特征,训练网络要经过很长的时间步计算的信息积累才能将两者的相关信息联系起来,从而导致距离越远,网络有效捕获这种信息的可能性越小。而多头注意力机制正起到将这种距离较远的时间步之间的计算步骤直接联系起来的作用,将这种远距离的依赖特征之间的距离极大的缩短,从而能让模型更好的利用这些信息。
[0209]
多个注意力头在一起表现出的关注方式与句子的结构有关系,在模型中,这些不同的注意力头可以学会执行不同的任务。图8为多头注意力的关注方式的可视化样例。
[0210]
多头注意力的参数如表7所示。
[0211]
表7多头注意力的参数设置
[0212][0213]
4.3 bi

gru网络
[0214]
本发明使用了bi

gru网络对多头注意力的输出进行了顺序编码,gru是一种rnn的变体网络,它在rnn的基础之上增加了门控开关,有效的抑制了梯度消失而导致的不能长期依赖的问题,lstm也具有相同的效果,但相较于gru,lstm的计算量较大,参数较多,提升了模型过拟合的风险,gru使用了较lstm四分之三的参数,达到了与其相同的性能,并且运行时间也相应减少。在实验中,bi

gru网络的参数设置如表8所示。
[0215]
表8 bi

gru参数
[0216][0217]
4.4关键词注意力机制
[0218]
本发明所使用的特征都没有使用nlp工具以及手工标注和手工清洗,节省了大量的时间同时提升了模型的性能,在本层所使用的特征包括了实体对隐藏特征、实体相对位置特征以及实体隐藏相似度特征,实体对隐藏特征即为bi

gru的实体词隐藏层输出实体隐藏相似度特征通过使用tf.nn.softmax()函数计算。关键词注意力机制的相关参数以及特征参数如表9所示。
[0219]
表9关键词注意力机制的相关参数以及特征参数设置
[0220][0221]
4.5实验细节
[0222]
模型的训练方法采用随机梯度下降法训练,关键词注意力机制使用交叉损失熵进行计算。
[0223]
该损失函数的定义如公式(17)所示。
[0224][0225]
其中,|d|是训练数据集的大小,(s
(i)
,y
(i)
)是数据集中的第i个样本。本发明采用adadelta优化器来最小化loss函数计算参数。
[0226]
在损失函数中加入l2正则化以防止过拟合,λ1,λ2是正则化的超参数。第二个正则化器试图强制模型处理真正重要的单词,并返回稀疏的权重分布。最终目标函数如等式18所示。
[0227][0228]
实验的训练参数如表10所示。
[0229]
表10训练参数设置
[0230][0231]
4.6实验对比
[0232]
本发明在实验过程中将以下基准模型与本模型进行比较。
[0233]
(1)svm
[0234]
svm是一个非神经模型,在semeval

2010任务中取得了顶尖的成绩,但它使用了大量的手工制作和语法型特征,如wordnet、probank和framenet等。
[0235]
(2)mv

rnn
[0236]
mv

rnn是一个基于sdp的模型,sdp是句子中的语义结构特征。具有sdp的模型可以沿着实体之间最短的依赖路径进行迭代计算。
[0237]
(3)cnn
[0238]
cnn是semeval

2010任务上的一个端到端模型,即从输入端直接获取输出端的数据。该模型建立了一个卷积神经网络来学习句子级的特征向量。
[0239]
(4)blstm
[0240]
blstm是为了在semeval

2010任务上获得双向长短期记忆网络的句子级表征而提出的。它是经典的基于rnn网络的关系抽取模型。
[0241]
(5)depnn
[0242]
depnn模型采用rnn网络对子树进行建模,使用cnn网络捕捉句子中最短路径的特征。
[0243]
(6)fcm
[0244]
fcm模型将每个句子分解成子结构,然后分别提取其特征,最后将其合并到分类层。
[0245]
(7)sdp

lstm
[0246]
sdp

lstm采用长短期记忆(lstm)来捕捉沿最短依赖路径(sdp)的特征。该模型是一个卷积神经网络,通过排序进行分类,并使用具有对等排序的损失函数。
[0247]
本发明所提出的基于关键词注意力机制的双向gru模型与其他模型的对比结果如表11所示。
[0248]
表11对比结果以及各模型使用特征
[0249][0250]
其中,wn、dep、sdp、pe分别表示woednet、依赖特征、最短依赖路径、位置嵌入。
[0251]
5、实验结果分析
[0252]
本发明针对semeval

2010任务数据集上的关系分类任务,提出了一种基于关键词注意力机制的端到端bi

gru网络模型。该模型利用关键词注意力机制充分提取数据集中的可用特征,在关键词注意力机制中,该模型可利用实体对的相对位置向量和实体对之间的相似度及其隐藏向量来计算每个词的边际分布,选取其作为关注权重。在不使用其他自然语言处理工具的情况下,该模型的f1值达到了84.6,优于其它使用大量额外工具特征的模型。
[0253]
下面结合具体实验结果对本发明技术方案作进一步描述。
[0254]
实验实施是基于python 3.7的tensorflow环境,pycharm 2020.2.2(professional edition),主要的数据包为tensorflow 2.5.0

dev20201127版本,cuda v11.1,cudnn v8.0.4,pytorch v1.7。
[0255]
本发明的核心在于注意力机制的改进,该注意力机制旨在对隐藏层向量进行选择,其中关注权重也是一组标量的线性组合。利用权重来表示模型对句子中某个词的关注程度,在此注意力机制中,它的取值在0到1之间。然而,传统的注意力机制和所提出的模型在权重的计算上有不同的方法。具体来说,本发明所提出的模型为每个词定义了一个状态变量z,其中,当z等于0时,意味着对应的词与关系分类无关,如果z等于1,则该词就是句子中具有关系表达所需的词.因此,每个句子都有其对应的二元状态变量z序列。最后使用crf对状态序列z和隐藏状态序列h求条件概率作为每个词的注意力权重,其实现的关键代码如图9所示。
[0256]
对于本发明所提出的模型,其消融实验结果如表12所示。
[0257]
表12 semeval

2010任务数据集上本发明的模型每个特征的消融实验
[0258][0259]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0260]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1