一种基于多头注意力机制的事件论元角色抽取方法转让专利

申请号 : CN201910315948.9

文献号 : CN110134757B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤景凡戚铖杰张旻姜明闻涛

申请人 : 杭州电子科技大学

摘要 :

本发明公开了一种基于多头注意力机制的事件论元角色抽取方法。本发明实现步骤如下:步骤(1)数据集文本预处理,输出预处理好的文本和对应的标签;步骤(2)训练融合多头监督注意力机制的双向GRU网络;步骤(3)对文本进行语义依存分析,输出触发词与候选论元之间的语义依存路径;步骤(4)将预处理好的文本输入步骤(2)中网络训练后输出每个词的编码,融合步骤(3)中的语义依存路径输出 论元分类结构;步骤(5)将论元分类结构输入分类网络训练并进行分类。本发明利用融合多头监督注意力机制的神经网络方法对文本进行分析,对事件句中存在多个事件情形具有良好的论元角色抽取能力。

权利要求 :

1.一种基于多头注意力机制的事件论元角色抽取方法,其特征在于包括如下步骤:步骤(1)数据集文本预处理,输出预处理好的文本和对应的标签;

步骤(1)所述的预处理过程如下;

1-1.将数据集文本中的标注信息和文本内容分离;

1-2.将文本内容转换成词向量;

1-3.输出预处理好的文本和对应的标签;

步骤(2)训练融合多头监督注意力机制的双向GRU网络;

2-1.特征提取,将步骤(1)中预处理好的文本和对应的标签输入双向GRU网络提取特征,输出每个词编码;

2-2.训练多头监督注意力机制,将注意力机制输出的注意力向量与步骤2-1中的词编码做点乘运算输出最终融合注意力向量的词编码;

步骤(3)对文本进行语义依存分析,输出触发词与候选论元之间的语义依存路径;

步骤(4)将预处理好的文本输入步骤(2)中网络训练后输出每个词的编码,融合步骤(3)中的语义依存路径输出<触发词编码,候选论元编码,语义依存路径>论元分类结构;

步骤(5)将论元分类结构输入分类网络训练并进行分类;

所述的步骤1-1具体为:

将XML标注内容处理成每个单词对应的标注,具体操作为:原始XML标注文本通过字符偏移量标注了事件触发词的起始字符位置和偏移量;首先将事件文本通过分词工具进行分词,同时根据XML标注文本中的信息,将事件文本中的每一个词进行编码,即根据每个词是否是事件触发词分别进行1-38编码,预定义38种事件类型;根据标注文件中的论元角色信息为文中每个实体论元制定对应的论元角色编码;

步骤1-2具体为:

首先通过大量新闻类文本训练word2vec模型,使用训练好的word2vec模型,将步骤1-1中的文本内容转化为词向量,交给后续网络。

2.根据权利要求1所述的一种基于多头注意力机制的事件论元角色抽取方法,其特征在于步骤2-2具体实现如下:所述双向GRU神经网络模型中,将输入数据随机取70%作为训练数据,15%作为验证数据,剩余15%作为测试数据;选取GRU作为递归神经网络提取文本中每个词的篇章信息,即全局特征;

利用双向GRU输出的隐藏层编码特征,输入注意力机制层,计算得出每个隐藏层向量的注意力向量;

第k个注意力头学习到的第j个词对于第i个词的注意力权重向量 表示为:其中,hi,hj是第i个词和第j个词在双向GRU中的输出,f(·)函数表示对hi,hj进行相关度计算,σ(·)函数为sigmoid激活函数,exp(·)为指数函数,j取值从0到n,n为句子长度;

将n个注意力头连接得到第j个词对第i个词的完整注意力向量αij:将每个触发词与候选实体的注意力向量和候选论元词编码hk相乘累加后得到第i个候选实体的最终表示Ri为:其中w为注意力机制范围为句子长度,hj表示第j个词双向GRU的输出,αij为第j个词对第i个词的注意力向量;

计算隐藏层向量和注意力向量的点乘结果得出最终每个词的向量,输出最终编码Ri。

3.根据权利要求2所述的一种基于多头注意力机制的事件论元角色抽取方法,其特征在于步骤(3)所述文本进行语义依存分析,具体过程如下:将文本信息通过Stanford CoreNLP工具进行语义依存分析得到语义依存分析树;将树结构信息构造成图结构,利用深度优先搜索遍历图得到触发词到每个词的路径信息;将文本路径信息进行one-hot编码输出语义依存路径编码P。

4.根据权利要求3所述的一种基于多头注意力机制的事件论元角色抽取方法,其特征在于步骤(4)所述文本进行语义依存分析,具体过程如下:针对每一个触发词,找到该句中的所有非触发词论元实体的编码,以及这些论元实体和触发词之间的语义依存路径编码;将触发词编码和上述两个编码连接输出<触发词编码ht,候选论元编码Ri,语义依存路径编码P>。

5.根据权利要求4所述的一种基于多头注意力机制的事件论元角色抽取方法,其特征在于步骤(5)所述论元分类结构输入分类网络训练并进行分类,具体过程如下:分类主要通过一个softmax操作进行,具体通过计算候选论元实体在各类论元角色上的概率分布p(ai|ti,Ri,θ):其中,ai是论元角色类型,ti是事件类型,Ri是候选论元最终编码,m表示该论元角色在该类型事件是否允许,oi表示输出向量o的第i个维度结果,n表示ti类事件中的论元角色总数,i表示当前词的序号;

定义负对数似然损失函数J(θ);并表示成两部分,一部分是编码网络部分到最终分类网络的全局损失,另一部分表示注意力向量部分损失;

其中x(i)是ti,Ri的统称,为注意力对整体模型的影响系数,D(θ)是监督训练中注意力向量的损失函数;采用均方误差作为损失函数:其中, 为第j个词对第i个词的注意力向量期望值, 为计算得到的第j个词对第i个词的真实注意力值;使用随机梯度下降法和AdaDelta更新规则对分组的批数据进行训练;

通过dropout实现正则化。

说明书 :

一种基于多头注意力机制的事件论元角色抽取方法

技术领域

[0001] 本发明属于自然语言处理技术领域,涉及事件论元角色分类相关方法,提供一种基于多头注意力机制的事件论元角色抽取方法。具体用于非结构化文本中提取出事件相关论元,并确定论元在事件中的的角色。

背景技术

[0002] 事件论元角色抽取是从非结构化信息中抽取出事件相关的信息元素,并以结构化形式完善事件。当前主要研究方法有模式匹配和机器学习两大类。模式匹配在特定领域能取得较高的性能,但移植性较差。相对于模式匹配,机器学习与领域无关,无需太多领域专家的指导,系统移植性较好。随着相关语料库的建设和互联网上各种文本资源的不断丰富,语料的获取不再是束缚机器学习的瓶颈。目前,机器学习已成为事件论元角色抽取的主流研究方法。

发明内容

[0003] 本发明针对事件论元角色抽取中句子存在多个事件时论元角色抽取存在误差的问题,公开一种基于多头注意力机制的事件论元角色抽取方法。
[0004] 为实现以上技术目的,本发明将采取以下的技术方案:
[0005] 步骤(1)数据集文本预处理,输出预处理好的文本和对应的标签;
[0006] 步骤(2)训练融合多头监督注意力机制的双向GRU网络;
[0007] 步骤(3)对文本进行语义依存分析,输出触发词与候选论元之间的语义依存路径;
[0008] 步骤(4)将预处理好的文本输入步骤(2)中网络训练后输出每个词的编码,融合步骤(3)中的语义依存路径输出<触发词编码,候选论元编码,语义依存路径>论元分类结构;
[0009] 步骤(5)将论元分类结构输入分类网络训练并进行分类;
[0010] 步骤(1)所述的预处理过程如下;
[0011] 1-1.将数据集文本中的标注信息和文本内容分离;
[0012] 1-2.将文本内容转换成词向量;
[0013] 1-3.输出预处理好的文本和对应的标签;
[0014] 进一步的,步骤1-1具体为:
[0015] 将XML标注内容处理成每个单词对应的标注,具体操作为:原始XML标注文本通过字符偏移量标注了事件触发词的起始字符位置和偏移量。首先将事件文本通过分词工具进行分词,同时根据XML标注文本中的信息,将事件文本中的每一个词进行编码,即根据每个词是否是事件触发词分别进行1-38编码(预定义了38种事件类型),根据标注文件中的论元角色信息为文中每个实体论元制定对应的论元角色编码。
[0016] 步骤1-2具体为:
[0017] 首先通过大量新闻类文本训练word2vec模型,使用训练好的word2vec模型,将步骤1-1中的文本内容转化为词向量,交给后续网络。
[0018] 步骤(2)中所述的训练融合多头监督注意力机制的双向GRU网络,具体实现如下:
[0019] 2-1.特征提取,将步骤(1)中预处理好的文本和对应的标签输入双向GRU网络提取特征,输出每个词编码;
[0020] 2-2.训练多头监督注意力机制,将注意力机制输出的注意力向量与步骤2-1中的词编码做点乘运算输出最终融合注意力向量的词编码;
[0021] 进一步的,步骤2-2具体为:
[0022] 所述双向GRU神经网络模型中,将输入数据随机取70%作为训练数据,15%作为验证数据,剩余15%作为测试数据。选取GRU作为递归神经网络提取文本中每个词的篇章信息,即全局特征。
[0023] 利用本步骤中双向GRU输出的隐藏层编码特征,输入注意力机制层,计算得出每个隐藏层向量的注意力向量。
[0024] 第k个注意力头学习到的第j个词对于第i个词的注意力权重向量 表示为:
[0025]
[0026] 其中,hi,hj是第i个词和第j个词在双向GRU中的输出,f(·)函数表示对hi,hj进行相关度计算,σ(·)函数为sigmoid激活函数,exp(·)为指数函数,j取值从0到n,n为句子长度。
[0027] 将n个注意力头连接得到第j个词对第i个词的完整注意力向量αij:
[0028]
[0029] 将每个触发词与候选实体的注意力向量和候选论元词编码hk相乘累加后得到第i个候选实体的最终表示Ri为:
[0030]
[0031] 其中w为注意力机制范围为句子长度,hj表示第j个词双向GRU的输出,αij为第j个词对第i个词的注意力向量。
[0032] 计算隐藏层向量和注意力向量的点乘结果得出最终每个词的向量,输出最终编码Ri。
[0033] 步骤(3)中语义依存分析过程具体如下:
[0034] 将文本信息通过Stanford CoreNLP工具进行语义依存分析得到语义依存分析树。将树结构信息构造成图结构,利用深度优先搜索遍历图得到触发词到每个词的路径信息。
将文本路径信息进行one-hot编码输出语义依存路径编码P。
[0035] 步骤(4)构造<触发词编码ht,候选论元编码Ri,语义依存路径编码P>论元分类结构具体如下:
[0036] 针对每一个触发词,找到该句中的所有非触发词论元实体的编码,以及这些论元实体和触发词之间的语义依存路径编码。将触发词编码和上述两个编码连接输出<触发词编码ht,候选论元编码Ri,语义依存路径编码P>。
[0037] 步骤(5)分类网络进行分类的计算和训练具体步骤如下:
[0038] 分类主要通过一个softmax操作进行,具体通过计算候选论元实体在各类论元角色上的概率分布p(ai|ti,Ri,θ):
[0039]
[0040] 其中,ai是论元角色类型,ti是事件类型,Ri是候选论元最终编码,m表示该论元角色在该类型事件是否允许,oi表示输出向量o的第i个维度结果,n表示ti类事件中的论元角色总数,i表示当前词的序号。
[0041] 我们定义负对数似然损失函数(negative log-likelihood loss function)J(θ)。大致上可以表示成两部分,一部分是编码网络部分到最终分类网络的全局损失,另一部分表示注意力向量部分损失。
[0042]
[0043] 其中x(i)是ti,Ri的统称, 为注意力对整体模型的影响系数,D(θ)是监督训练中注意力向量的损失函数。我们采用均方误差(square error)作为损失函数:
[0044]
[0045] 其中, 为第j个词对第i个词的注意力向量期望值, 为计算得到的第j个词对第i个词的真是注意力值。我们使用随机梯度下降法(SGD)和AdaDelta更新规则对分组的批数据进行训练。通过dropout实现正则化。
[0046] 通过步骤1-2中训练好的词向量输入网络将识别出的各个事件对应的事件论元以及在各自事件中的论元角色类型。
[0047] 本发明由于采用以上技术方案,具有如下优点:
[0048] 本发明利用融合多头监督注意力机制的神经网络方法对文本进行分析。其中注意力部分通过多头注意力学习多个注意力表示,并通过监督学习方式对注意力向量进行更新。构造<触发词编码ht,候选论元编码Ri,语义依存路径编码P>论元分类结构进行事件论元角色分类。使用本方法对事件句中存在多个事件情形具有良好的论元角色抽取能力。

附图说明

[0049] 图1是本发明的整体实施方案流程图;
[0050] 图2是本发明的训练模型示意图;
[0051] 图3是本发明工艺实施方案的具体流程图;

具体实施方式

[0052] 附图非限制性的公开了本发明所涉及优选实施例的流程示意图;以下将结合附图详细的说明本发明的技术方案。
[0053] 一种基于多头注意力机制的事件论元角色抽取方法,其基本步骤如下:
[0054] 数据集文本预处理,输出预处理好的文本和对应的标签;
[0055] 训练融合多头监督注意力机制的双向GRU网络;
[0056] 对文本进行语义依存分析,输出触发词与候选论元之间的语义依存路径;
[0057] 将预处理好的文本输入网络训练并输出每个词的编码,融合语义依存路径最后输出<触发词编码,候选论元编码,语义依存路径>论元分类结构;
[0058] 将论元分类结构输入分类网络训练并进行分类;
[0059] 其中分类网络的训练步骤如下:
[0060] 根据XML标注内容将训练样本中的文本部分和标注对应进行分词处理,把每一个词对应的事件类型在单独的标注文件中进行标注(非事件触发词事件类型为0,预定义事件类型38类,即总共标注范围为0~38)。将分词后的文本利用word2vec模型转换成词向量,把训练数据分成3部分,随机取70%作为训练样本,15%作为验证样本,15%作为测试样本。
[0061] 将训练样本输入双向GRU神经网络中,随机初始化神经网络参数,根据GRU部分和多头监督注意力机制部分内容自动调整权重,训练得到双向GRU网络模型。
[0062] 本发明详细流程如图1和图3。其中具体发明的融合多头监督注意力机制的网络模型如图2。
[0063] 实施例:
[0064] 获取待提取事件文本,对文本进行分词处理。处理后通过训练好的word2vec模型将词转化成词向量。输入训练好的双向GRU神经网络得到提取出的事件触发词和对应的事件类型。
[0065] 如图1,利用处理好的词向量和对应的标注输入融合多头监督注意力机制的网络,将得到的权值初始化神经网络参数,根据GRU部分和注意力机制部分运算,通过BP反向传播调整神经元的权重,得到训练好的协同上下文注意力的双向GRU神经网络。并用训练好的双向GRU模型对待提取的事件文本进行处理。具体步骤包括:
[0066] 将预处理后的训练文本(词向量和对应的事件标注)输入双向GRU网络进行BP反向传播学习,实验迭代50次,选用网络的期望输出是文本中的每个词的事件类型。
[0067] 通过学习深度神经网络系统模型,并利用所述深度神经网络系统进行事件提取。
[0068] 如附图3,将新闻等类型文本进行预处理,输入训练好的深度神经网络,进行事件的提取。本实验中对新闻文本进行分段,将新闻段落输入网络,最后提取出每一段文本中发生事件的各个论元以及它们的角色类别。