一种基于文档级别注意力机制的事件触发词抽取方法与流程

文档序号:15982282发布日期:2018-11-17 00:28阅读:176来源:国知局

本发明涉及一种事件触发词抽取方法,更具体的说,涉及一种基于文档级别注意力机制的事件触发词抽取方法。

背景技术

事件抽取作为信息抽取的一种形式,旨在从自然语言文本中抽取结构化的事件信息。一个事件通常是由一个触发词或词组(trigger)以及若干个事件元素(argument)组成。触发词通常为动词或带有动词性质的名词,用来表示事件的类型。然后围绕着触发词,识别事件的参与元素,即事件元素。触发词识别作为事件抽取的关键步骤,识别性能的好坏直接决定了事件抽取的准确性。

以往的方法多把触发词识别当作多分类任务,通过对文本当中的候选词构造特征表示,对其进行分类。特征表示的方法主要为两大类:特征工程构造和神经网络生成。特征工程构造方法是基于自然语言处理工具,如:句法分析器,根据任务人为抽取文本中的信息,构造样本表示的特征。神经网络生成方法是指仅通过对样本的上下文进行神经网络操作,进行表示学习。相比于传统的特征工程构造方法,神经网络方法可以有效避免了繁杂的人为抽取特征工作,并且缩小了特征表示的维度,避免了特征表示的维度灾难。另一方面,神经网络方法可以有效地结合词向量(wordembedding)信息,避免了传统one-hot词汇表示方法的语义鸿沟。

但是触发词不仅仅是单词,也有词组构成的触发词,如:playakeyrole。如果仅对文本中的每个单词进行分类的话,并不能够识别这种多词所构造的触发词。对于多词组成的触发词,如果使用n-gram的方法构造候选样本,会出现正负样本严重不平衡的问题,增大了模型的训练难度;如果使用句法分析器构造多词候选集,则对句法分析器截取的词汇段的准确程度有着较高要求,而且这种方法的灵活程度不高。

另一方面,以往的触发词识别方法多是以句子为单位,根据候选单词所在的句子信息判别候选单词的类别。然而,一篇文档所涉及到的事件往往是有关联的,存在着文档之中事件类型聚集的现象。有方法采用主题模型来引入篇章级别特征,但是对于相同文档的候选词来说,这种篇章级别特征对相同文档的候选触发词并不具有特殊性,不能有针对地获取当前候选词所关注的篇章级别信息。



技术实现要素:

为了克服现有技术中存在的不足,本发明提供了一种基于文档级别注意力机制的事件触发词抽取方法。该方法利用双向lstm网络来实现针对样本的特征构建,并通过注意力(attention)机制有效地融合文档级别的特征,最后通过条件随机场(conditionalrandomfield,crf)学习bio标签之间的相关性,最终对当前候选词进行标注,完成对文本中触发词的抽取。

为了实现上述发明目的,解决现有技术中所存在的问题,本发明采取的技术方案是:一种基于文档级别注意力机制的事件触发词抽取方法,包括以下步骤:

步骤1、训练语料预处理,使用的训练语料选自mlee即multi-leveleventextraction,并对训练语料进行bio标签标注,该训练语料为每个文档提供三个文件,即原始文本文件、实体标注文件及事件标注文件,其中事件标注文件中分别标注出事件触发词以及由事件触发词和实体组成的事件,标注方法为对每一个文档中的词,使用添加实体或触发词类型的bio标签对实体和触发词进行标注,具体包括以下子步骤:

(a)将文本中的单词以及符号进行切分,逐行保存,作为训练语料的第一列;

(b)将每个单词对应的实体类型和触发词类型生成bio标签方式,分别作为训练语料的第二列和第三列,其中第三列为该序列待预测的真实标签,bio标签给出三种类别的标签,即begin,简称为b,in,简称为i,out,简称为o,标签为b的单词为短语的起始,i为短语的中间,o为未标注的非触发词词汇,如果是一个词组成的触发词,则仅用b标签;对于不同事件类别的标签,bio机制通过拼接类别的bio标签进行标注,对于regulation事件的一个触发词playarole,play对应标签b-regulation,a和role对应标签i-regulation,而其他非触发词的单词的标签则为o;

步骤2、使用pubmed数据库语料进行词向量训练,使用生物医学医药方面的文献作为引入的外部资源,并用fasttext工具来训练词向量;

步骤3、构建样本的分布式表示方式,采用的模型基于循环神经网络,每一个词作为一个时间节点的输入,使用的分布式表示是基于每个单词的,主要包括两个部分:一个是单词的分布式表示,另一个是特征的分布式表示,具体包括以下子步骤:

(a)单词的分布式由两部分拼接而成,分别是基于外部语料预训练的词向量和基于字符序列构造的词向量,基于外部语料预训练的词向量来自权利要求1步骤2,基于字符序列构造的词向量是利用单词的字符序列经过bilstm,将最后一个输入的隐层输出作为单词的分布式表示,首先将语料中出现的所有字符进行随机向量映射,然后将当前词的字符序列向量输入到bilstm中进行表示学习,再将前向和后向序列的最后一个单元的隐层输出拼接,作为这个单词基于字符序列构建的词向量,通过公式(1)进行描述,

式中,lchar_lstm_for(wi)和lchar_lstm_rev(wi)分别表示单词wi的字符序列向量通过前向和后向lstm层的隐层输出,表示矩阵拼接操作,表示单词wi基于字符序列构建的词向量;

(b)特征的分布式表示是对单词的分布式表示的一种额外信息补充,包括单词的实体类型信息及大小写信息,通过对这些类别信息做随机初始化向量的映射,拼接到单词的分布式表示上,在模型训练的过程中更新这些参数,将实体信息生成bio标签形式后作随机向量映射,对于每个词,获取其对应实体类别的向量将单词的大小写特征分为4类:全部为小写,全部为大写,首字母大写,非首字母存在大写,然后对这四类同样进行随机初始化向量映射,对于每个词判断其大小写特征类型,获取大小写特征向量,最后将关于单词wi所有的特征表示拼接,获得单词wi的分布式表示通过公式(2)进行描述,

式中,表示获取的fasttext词向量、表示获取的其对应实体类别的向量、表示获取的大小写特征向量;

步骤4、构造基于bilstm-attention的特征表示方式,将触发词识别任务抽象成一个序列标注问题,其目标是找到输入文本序列最优的事件触发词类别bio标签序列,具体包括以下子步骤:

(a)将经过步骤3生成的分布式表示序列作为双向lstm即bilstm层输入,按照正序和逆序两个顺序,再将每个单词分布式表示作为输入到两个lstm网络中,然后将两个网络的隐层输出拼接作为bilstm层的输出,对于每个单词wi对应的bilstm层的输出为hi,通过公式(3)进行描述,

式中,为正向lstm层的隐层输出,为逆向lstm层的隐层输出;

(b)通过attention层学习到当前输入对应全局序列信息的权重值,然后将权重值与bilstm的隐层输出进行加权平均,获得当前输入单词的基于注意力的篇章级别信息,首先,获得对于当前单词wi关于文档词序列的注意力权重,将当前单词wi与文档中的每一个单词wj计算一个得分,并用score(wi,wj)表示,然后通过softmax计算归一化,通过公式(4)进行描述,

式中,n表示该文本单词序列的长度,q为1到n的整数,ai,j表示当前单词wi对于该文档单词序列中单词wj的权重,即注意力权重ai,j,score函数通过公式(5)、(6)进行描述,

score(wi,wj)=ui·||xi-xj||(6)

式中,xi为单词wi在attention层的输入,||xi-xj||为xi与xj的欧几里德距离即euclideanmetric,ui为计算score(wi,wj)的随机初始化的参数,随模型训练进行更新,然后,将注意力权重ai,j与单词序列经过bilstm的隐层输出进行加权,通过公式(7)得到获取基于文档注意力的信息gi,

式中,j为1到n的整数,hj为步骤4子步骤(b)中对单词wj获得的bilstm层的输出;

(c)将attention层输出的结果与bilstm的隐层输出结果进行拼接,作为对于单词wi最后的特征表示zi,通过公式(8)进行描述,

步骤5、使用crf学习、获取当前文档序列的最优序列标注结果,对于单词序列经过bilstm与attention层输出的特征向量序列z=(z1,z2,…,zn),m为zi向量的长度,同时,定义pi,l代表了在序列中第i个位置对应标签为l的得分,通过公式(9)描述,

pi,l=[zi·v]l(9)

式中,为为参数矩阵,其中k为类别标签个数,[zi·v]l为[zi·v]在位置l的取值,即标签为l的得分;

定义一个转移矩阵其中每个元素表示一个标签转移到另一个标签的得分,对于输入z和其对应标签序列y=(y1,y2,…,yn)的得分通过公式(10)进行描述,

式中,tyi,yi+1为序列中i位置对应标签yi转移到标签yi+1的得分,pi,yi为i位置对应标签为yi的得分,

每当输入一个文档单词序列,其对应的标签序列为y,通过步骤3和步骤4获取特征向量表示序列z,crf标签最大化目标函数l,通过公式(11)进行描述,

式中,y表示所有可能的标签序列集合,t和θ为待训练的参数,t是标签转移矩阵参数,θ是获取pi,l所需要的参数,包括v和步骤3、4的所有参数集合;

步骤6、事件触发词的抽取,利用步骤3-5所训练的参数生成的触发词抽取模型,将未标注触发词的数据作为模型的输入,在步骤5使用维特比算法来找到输入序列对应的最优预测标签序列,识别未标注数据中的触发词。

本发明有益效果是:一种基于文档级别注意力机制的事件触发词抽取方法,包括以下步骤:(1)训练语料预处理,(2)使用pubmed数据库语料进行词向量训练,(3)构建样本的分布式表示方式,(4)构造基于bilstm-attention的特征表示方式,(5)使用crf学习、获取当前文档序列的最优序列标注结果,(6)事件触发词的抽取。与已有技术相比,本发明方法具有以下优点:一是采用bio标签标注方式,实现了包括对多词触发词的识别;二是针对触发词识别任务,构建了相应的单词和特征的分布式表示方式;三是提出了bilstm-attention模型,通过引入attention机制,实现了针对当前输入的文档级别信息的分布式表达构造,使本发明模型可以利用相同文档触发词聚集的信息,提高触发词识别效果。本发明在mlee语料的测试集上取得了79.16%的f1值。

附图说明

图1是本发明方法步骤流程图。

图2是本发明提出的bilstm-attention-crf模型框架图。

图3是本发明使用的评价指标图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,一种基于文档级别注意力机制的事件触发词抽取方法,包括以下步骤:

步骤1、训练语料预处理,使用的训练语料选自mlee即multi-leveleventextraction,并对训练语料进行bio标签标注,该训练语料为每个文档提供三个文件,即原始文本文件、实体标注文件及事件标注文件,其中事件标注文件中分别标注出事件触发词以及由事件触发词和实体组成的事件,标注方法为对每一个文档中的词,使用添加实体或触发词类型的bio标签对实体和触发词进行标注,具体包括以下子步骤:

(a)将文本中的单词以及符号进行切分,逐行保存,作为训练语料的第一列;

(b)将每个单词对应的实体类型和触发词类型生成bio标签方式,分别作为训练语料的第二列和第三列,第三列为该序列待预测的真实标签,bio标签给出三种类别的标签,即begin,简称为b,in,简称为i,out,简称为o,标签为b的单词为短语的起始,i为短语的中间,o为未标注的非触发词词汇,如果是一个词组成的触发词,则仅用b标签;对于不同事件类别的标签,bio机制通过拼接类别的bio标签进行标注,对于regulation事件的一个触发词playarole,play对应标签b-regulation,a和role对应标签i-regulation,而其他非触发词的单词的标签则为o;

步骤2、使用pubmed数据库语料进行词向量训练,使用生物医学医药方面的文献作为引入的外部资源,并用fasttext工具来训练词向量;本发明使用近年pubmed上的生物医学医药方面的文献摘要(约20g)作为引入的外部资源,使用fasttext工具来训练词向量,训练模型选择的是skip-gram模型,其参数选择如表1所示。

表1

步骤3、构建样本的分布式表示方式,使用的模型基于循环神经网络,每一个词作为一个时间节点的输入,使用的分布式表示是基于每个单词的,主要包括两个部分:一个是单词的分布式表示,另一个是特征的分布式表示,具体包括以下子步骤:

(a)单词的分布式由两部分拼接而成,分别是基于外部语料预训练的词向量和基于字符序列构造的词向量,基于外部语料预训练的词向量来自权利要求1步骤2,基于字符序列构造的词向量是利用单词的字符序列经过bilstm,将最后一个输入的隐层输出作为单词的分布式表示,首先将语料中出现的所有字符进行随机向量映射,然后将当前词的字符序列向量输入到bilstm中进行表示学习,再将前向和后向序列的最后一个单元的隐层输出拼接,作为这个单词基于字符序列构建的词向量,通过公式(1)进行描述,

式中,lchar_lstm_for(wi)和lchar_lstm_rev(wi)分别表示单词wi的字符序列向量通过前向和后向lstm层的隐层输出,表示矩阵拼接操作,表示单词wi基于字符序列构建的词向量;

(b)特征的分布式表示是对单词的分布式表示的一种额外信息补充,包括单词的实体类型信息及大小写信息,通过对这些类别信息做随机初始化向量的映射,拼接到单词的分布式表示上,在模型训练的过程中更新这些参数,将实体信息生成bio标签形式后作随机向量映射,对于每个词,获取其对应实体类别的向量将单词的大小写特征分为4类:全部为小写,全部为大写,首字母大写,非首字母存在大写,然后对这四类同样进行随机初始化向量映射,对于每个词判断其大小写特征类型,获取大小写特征向量,最后将关于单词wi所有的特征表示拼接,获得单词wi的分布式表示通过公式(2)进行描述,

式中,表示获取的fasttext词向量、表示获取的其对应实体类别的向量、表示获取的大小写特征向量;

步骤4、构造基于bilstm-attention的特征表示方式,将触发词识别任务抽象成一个序列标注问题,其目标是找到输入文本序列最优的事件触发词类别bio标签序列,具体包括以下子步骤:

(a)将经过步骤3生成的分布式表示序列作为双向lstm即bilstm层输入,按照正序和逆序两个顺序,再将每个单词分布式表示作为输入到两个lstm网络中,然后将两个网络的隐层输出拼接作为bilstm层的输出,对于每个单词wi对应的bilstm层的输出为hi,通过公式(3)进行描述,

式中,为正向lstm层的隐层输出,为逆向lstm层的隐层输出;

(b)通过attention层学习到当前输入对应全局序列信息的权重值,然后将权重值与bilstm的隐层输出进行加权平均,获得当前输入单词的基于注意力的篇章级别信息,首先,获得对于当前单词wi关于文档词序列的注意力权重,将当前单词wi与文档中的每一个单词wj计算一个得分,并用score(wi,wj)表示,然后通过softmax计算归一化,通过公式(4)进行描述,

式中,n表示该文本单词序列的长度,q为1到n的整数,ai,j表示当前单词wi对于该文档单词序列中单词wj的权重,即注意力权重ai,j,score函数通过公式(5)、(6)进行描述,

score(wi,wj)=ui·||xi-xj||(6)

式中,xi为单词wi在attention层的输入,||xi-xj||为xi与xj的欧几里得距离即euclideanmetric,ui为计算score(wi,wj)的随机初始化的参数,随模型训练进行更新,

然后,将注意力权重ai,j与单词序列经过bilstm的隐层输出进行加权,通过公式(7)得到获取基于文档注意力的信息gi,

式中,j为1到n的整数,hj为步骤4子步骤(b)中对单词wj获得的bilstm层的输出;

(c)将attention层输出的结果与bilstm的隐层输出结果进行拼接,作为对于单词wi最后的特征表示zi,通过公式(8)进行描述,

步骤5、使用crf学习、获取当前文档序列的最优序列标注结果,当标签之间存在关联性时,使用条件随机场(crf)可以很有效的学习标签之间的全局关联信息,从而避免了一些不可能出现的标签序列的情况,如i标签前无b标签的情况。对于单词序列经过bilstm与attention层输出的特征向量序列z=(z1,z2,…,zn),m为zi向量的长度,同时,定义pi,l代表了在序列中第i个位置对应标签为l的得分,通过公式(9)描述,

pi,l=[zi·v]l(9)

式中,为为参数矩阵,其中k为类别标签个数,[zi·v]l为[zi·v]在位置l的取值,即标签为l的得分;

定义一个转移矩阵其中每个元素表示一个标签转移到另一个标签的得分,对于输入z和其对应标签序列y=(y1,y2,…,yn)的得分通过公式(10)进行描述,

式中,tyi,yi+1为序列中i位置对应标签yi转移到标签yi+1的得分,pi,yi为i位置对应标签为yi的得分,

每当输入一个文档单词序列,其对应的标签序列为y,通过步骤3和步骤4获取特征向量表示序列z,crf标签最大化目标函数l,通过公式(11)进行描述,

式中,y表示所有可能的标签序列集合,t和θ为待训练的参数,t是标签转移矩阵参数,θ是获取pi,l所需要的参数,包括v和步骤3、4的所有参数集合;

步骤6、事件触发词的抽取,利用步骤3-5所训练的参数生成的触发词抽取模型,将未标注触发词的数据作为模型的输入,在步骤5使用维特比算法来找到输入序列对应的最优预测标签序列,识别未标注数据中的触发词。

本发明方法所采用的评价指标是准确率(precision,p)、召回率(recall,r)以及基于融合两者的f1值。为了验证本发明提出的attention层的有效性,本发明引入两个级别的对比实验,一个是在句子级别上使用bilstm-crf,即一个句子的词汇对应一个标签序列。另一个是在篇章级别上使用bilstm-crf,即一个文档的词汇对应一个标签序列。并在两个实验的训练参数的基础上,叠加篇章级别的attention层进行bilstm-attention-crf模型的训练,分别由bilstm-attention-crf(sent-doc)和bilstm-attention-crf(doc-doc)(即本发明提出的方法)表示,实验结果如表2所示。

表2

从表2的实验结果可以看出,添加了篇章级别信息的结果要好于没有篇章级别信息的方法。由此可以验证,篇章级别的信息对提高事件触发词的识别性能确实有一定帮助。并且,添加attention的方法较未添加attention的方法在f1值上均有0.5%的提升,可以验证在篇章级别叠加attention可以优化篇章级别信息的表示,从而提高模型的预测效果。

本发明优点在于:一是采用bio标签标注方式,实现了包括对多词触发词的识别;二是针对触发词识别任务,构建了相应的单词和特征的分布式表示方式;三是提出了bilstm-attention模型,通过引入attention机制,实现了针对当前输入的文档级别信息的分布式表达构造,本发明在mlee语料的测试集上取得了79.16%的f1值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1