APP下载

基于多特征自注意力BLSTM的中文实体关系抽取

2019-10-21李卫疆

中文信息学报 2019年10期
关键词:语义注意力向量

李卫疆,李 涛,漆 芳

(昆明理工大学 信息工程与自动化学院, 云南 昆明 650500)

0 引言

信息抽取(information extraction,IE)旨在从大规模非结构或半结构的自然语言文本中抽取结构化信息。信息抽取的主要任务有: 命名实体识别、实体关系抽取、事件抽取和实体消歧等。关系抽取解决了原始文本中目标实体之间的关系分类问题,这也是构建复杂知识库系统的重要步骤,例如,文本摘要、自动问答、机器翻译、搜索引擎、知识图谱等。随着近年来信息抽取研究的兴起,关系抽取问题进一步得到广泛的关注和深入研究。

传统的关系分类方法侧重于设计有效特征或核函数。基于特征的关系抽取方法能够取得较好效果,但是无法充分利用实体对上下文结构信息进行抽取。为此,人们提出了基于核函数的关系抽取方法,但是,由于中文的句子结构相对英语而言较为松散,词语之间没有位置指示信息,所以基于核函数的方法在中文关系抽取任务中未能取得期望的效果,而且,该方法训练和测试速度太慢,不适合处理大规模数据。

近年来,深度学习方法被广泛应用到实体关系抽取任务中。Socher等[1]在2012年提出使用循环神经网络(RNN)来解决关系抽取问题。该方法能有效地考虑句子的句法结构信息,但同时无法很好地考虑两个实体在句子中的位置和语义信息。Zeng等[2]在2014年采用词汇向量和词的位置向量作为卷积神经网络(CNN)的输入,通过卷积层、池化层和非线性层得到句子表示。该方法考虑了位置信息,但并未考虑句法和语义信息。Zhang等[3]在2015年采用双向长短期记忆网络(BLSTM)和NLP工具派生的特征(依存分析和命名实体识别(NER))来解决关系分类。该方法考虑了位置、句法和词汇特征,但同样没有考虑语义特征。这些工作均未完全考虑所有类型特征,本文的工作提出使用4种不同类型的特征(词汇、句法、语义和位置特征)。

最近,注意力机制在NLP领域得到成功应用。同时,在关系抽取任务上也有相关的应用。Zhou等[4]在2016年提出基于注意力(Attenion)的双向长短期记忆网络(BLSTM)的方法进行关系抽取。尽管注意力能够学习词的重要性,但是它不能学习序列内部信息。因此,本文引入自注意力来学习序列内部信息。

BLSTM可以学习前向和后向的上下文信息。自注意力[5]是一般注意力的一种特殊情况,可以学习到句子内部长距离依赖关系。本文提出了一种基于自注意力双向长短期记忆网络(SelfAtt-BLSTM)模型,用于结合词汇、句法、语义和位置特征进行关系抽取。实验结果表明,本文方法在中文COAE 2016 Task 3和英文SemEval 2010 Task 8两个数据集上均表现出较好的性能。

本文贡献如下:

(1) 在神经网络中引入自注意力机制来处理实体关系抽取任务;

(2) 在实体关系抽取中引入了多种特征: 词汇、句法、语义和位置特征;

(3) 在中、英两种数据集上验证了本文提出模型的有效性。

1 相关工作

关系提取的方法主要分为三类: 基于特征的方法、基于核函数的方法和基于神经网络的方法。

1.1 基于特征的方法

特征主要分为三类: (1)词汇特征; (2)句法特征; (3)语义特征。文献[6]采用最大熵(maximum entropy)模型,结合词汇、句法和语义特征进行关系抽取,尽管该方法考虑了3大特征,但是并未考虑实体位置信息,且使用的分类方法比较传统。Miller等[7]提出了基于句法解(syntatic parsing)增强的方法,该方法能够将语法和语义信息集成到解析过程中,从而避免了潜在的错误。基于特征的关系抽取方法无法充分利用实体对上下文结构信息。

1.2 基于核函数的方法

基于核函数的方法不需要构造特征向量,而是把结构树作为处理对象,通过计算它们之间的相似度来进行实体关系抽取。文献[8]采用组合核(composite kernel)方法,先使用单独核,然后不断地组合核(2个核, 3个核),组合了多个不同的语法特征来进行关系抽取。Plank和Moschitti[9]在2013年在树核中嵌入语义相似度用于领域自适应的关系抽取,他们关注无监督的领域自适应(例如,无标签数据)。核函数的选择是核方法研究中的一个关键问题,同时也是一个难点问题,因此设计有效的核函数变得至关重要。

1.3 基于神经网络的方法

Santors等[10]在2015年提出一种新的损失函数卷积神经网络(CNN)。该方法采用新的损失函数,有效提高了不同实体关系类型的区分度。但CNN不适合学习远程语义信息。

Zhang和Wang[11]在2015年采用双向循环神经网络(BRNN)来学习原始文本数据的关系模式。虽然双向RNN可以访问前向和后向的上下文信息,但RNN具有梯度消失和梯度爆炸问题。长短期记忆网络(LSTM)由Hochreiter和Schmidh Uber在1997年第一次提出,以克服梯度消失问题。胡[12]在2015年采用BLSTM来提取句子级特征,再使用MLP(前馈神经网络)融合句子特征和词汇特征(位置特征、命名实体、上位词等)进行关系分类。BLSTM能够充分利用整个文本序列的信息,所以本文的方法建立在BLSTM之上。

Lin等[13]在2016年将卷积神经网络(CNN)和注意力机制(attention mechanism)结合起来进行远程监督的关系抽取。该方法利用CNN作为句子编码器,同时使用句子级别的注意力机制。王等[14]在2018年采用BLSTM学习词之间的相互关系信息,利用注意力概率突出词对于句子的重要程度,从而提高分类效果。

本文采用BLSTM解决传统深度学习方法(RNN、CNN)的长距离依赖问题,同时学习实体对上下文结构信息,并充分考虑每种类型特征,利用自注意力来学习序列内部信息以及词和特征对关系分类的重要性。

2 SelfATT-BLSTM模型

本节将详细介绍本文模型: 基于自注意力双向长短期记忆网络(SelfATT-BLSTM)。如图1所示,本文提出的模型包含5个部分:

(1) Input层: 数据清洗和特征提取。

(2) Embedding层: 将特征映射成低维稠密向量,拼接所有特征向量。

(3) BLSTM层: 利用BLSTM从部分(2)获得高级特征。

(4) Self-Attention层: 通过Self-Attention层处理得到自注意力权重,然后将自注意力权重和BLSTM层的输出向量加权求和。

(5) Output层: 使用Softmax函数进行关系分类。

图1 基于自注意力双向长短期记忆网络模型结构

2.1 预处理

预处理主要包括数据清洗和特征提取等工作,特征主要依靠NLP工具获取。

2.2 Embedding层

本文除了使用词特征之外,还将使用词性标注、依存句法分析、语义角色标注和位置特征,然后将其表示成向量形式。

2.2.1 词嵌入

基于神经网络的分布式表示一般称为词向量或分布式表示,由于神经网络较为灵活,这类方法的最大优势在于可以表示复杂的上下文。

假设,一个句子S是由n个词组成,S=[w1,…,wn],第i个词wi对应的词向量为ei,对于S中的每个词来说,存在一个词向量矩阵:W∈Rd*|V|,其中,V是词表大小,d是词向量的维度。通过词向量矩阵,可以把每个词转换成词向量的表示,如式(1)所示。

ei=W*vi

(1)

其中,vi是大小为|V|的one-hot向量,句子S就被转换成:Sw=[e1,…,en]∈Rn×d。

2.2.2 额外特征嵌入

(1) 词性标注

词性是词汇基本的语法属性,通常也称为词类。除了语法关系,句中单词的词性(位置)标记也蕴含着信息,词的位置定义了它的用途和功能。

对于由n个词组成的句子S,有pi∈Rl。其中,pi表示第i个词的词性特征向量,l表示词性特征向量的维度,则句子的词性特征向量为Sp=[p1,…,pn]∈Rn×l。

(2) 依存句法分析

依存句法分析是通过分析语言单位内成分之间的依存关系揭示其句法结构,主张句子中核心动词是支配其他成分的中心成分,而其本身却不受其他任何成分的支配,所有受支配成分都以某种关系从属于支配者,通过可以获得句法信息。

对于由n个词组成的句子S,有di∈Rt,其中,di表示第i个词的依存特征向量,t表示依存特征向量的维度,则句子的依存特征向量:Sd=[d1,…,dn]∈Rn×t。

(3) 语义角色标注

语义角色标注是一种浅层的语义分析技术,标注句子中某些短语为给定谓词的语义角色,如施事、受事、时间和地点等。语义角色标注以句子的谓词为中心,不对句子所包含的语义信息进行深入分析,只分析句子中各成分与谓词之间的关系,通过其能够获得语义信息。表1展示了部分语义角色含义,图2展示了语义角色标注示例结构图。

图2 语义角色标注

对于由n个词组成的句子S,有ri∈Rm。其中ri表示第i个词的语义特征向量,m表示语义特征向量的维度,则句子的语义特征向量:Sr=[r1,…rn]∈Rn×m。

表1 语义角色

(4) 位置特征

因为一个句子中有两个实体,所以位置特征[2]是通过考虑两个实体和其他词之间的距离信息,可以很好地把句子中实体的信息考虑到关系抽取中。

一个句子S由n个词组成S=[w1,…,wn],第i个词wi距离两个实体的相对距离如式(2)所示。

(2)

其中,i1是实体1的索引,i2是实体2的索引,最后生成一个2nk大小的位置特征向量。第i个词的位置向量表示如式(3)所示。

fi=e1i⊕e2i

(3)

其中,e1i∈Rk,e2i∈Rk,k是位置向量的维度,e1i和e2i分别为第i个词距离实体1和实体2的相对距离的向量表示。因此,一个句子的位置向量表示如式(4)所示。

Sf=[f1,…,fn]∈R2n×k

(4)

经过所有的预处理得到词、词性、依存句法关系、语义角色和位置的向量表示形式,最后将所有特征向量拼接,如式(5)所示。

F=Sw⊕Sp⊕Sd⊕Sr⊕Sf∈Rn×(d+l+t+m+2k)

(5)

2.3 双向长短期记忆网络(BLSTM)层

传统的RNN,处理的序列太长时,梯度将呈指数级衰减或者增长,最终会引起梯度消失和梯度爆炸。RNN的变体长短期记忆网络(LSTM)在1997年被Hochreiter和Schmidh Uber提出,解决了梯度消失的问题,同时可以学习长时依赖关系,因此经常用于处理长文本任务。LSTM只能学习一个方向的信息,双向长短期记忆网络(BLSTM)可以学习两个方向的信息,更好地捕捉双向的语义依赖,本文采用BLSTM来学习词和特征完整的信息。在图1中可以看到本文使用的BLSTM的结构,输入的是拼接后的特征向量F。假设F=(f1,…,fn),有fi∈Rd+l+t+m+2k,其中,n是句子的长度,d、l、t、m、k分别表示词嵌入维度、词性嵌入维度、依存分析嵌入维度和语义角色嵌入维度。结合本文,其计算如式(6)、式(7)所示。

2.4 自注意力层

自注意力[5]是一般注意力的特殊情况,其特点在于无视词之间的距离直接计算依赖关系,能够学习一个句子的内部结构。因此,本文在实体关系抽取任务中引入自注意力,将BLSTM层的输出向量H输入到自注意力层,通过自注意力层可以学习到不同的词和特征对关系分类的重要性,同时也可以学习到序列内部信息,图3展示了词的注意力权重。图4展示了自注意力权重的计算过程,图中H表示BLSTM层的输出向量,L1表示第一层线性神经网络,L2表示第二层线性神经网络,a表示自注意力权重,C表示H和a加权求和的结果,自注意力权重的具体计算如式(8)所示。

a=softmax(wl2tanh(wl1H))

(8)

图3 词注意力权重示意图

图4 自注意力权重计算过程

其中,H∈Rn×j,hi∈Rj,n是句子的长度,j是LSTM单元输出的向量维度。wl1是第一个线性神经层的权重矩阵,wl2是第二个线性神经层的权重矩阵,该权重矩阵是通过自注意力层的线性神经网络层学习得到。tanh是激活函数,softmax函数是归一化指数函数。先通过自注意力层计算出词和特征注意力分数,再利用softmax函数归一化分数得到权重,如图3所示,所有权重和为1。最后将注意力权重a和输出向量H加权求和,最后输出用于分类的向量C,如式(9)所示。

C=aH

(9)

2.5 关系分类

本文将自注意力层得到的输出向量C输入到分类器进行关系分类。在分类器中,使用softmax函数,对最后的分数进行归一化,可以得到最后输出的概率值,如式(10)所示。

(10)

(11)

目标函数是带L2惩罚项的交叉熵(cross entropy)损失函数,如式(12)所示。

(12)

其中,s是指句子集的数量,θ是表示模型中的所有参数,λ是L2正则系数。

3 实验

本文同时在中,英文数据集上做了相关实验,中文数据集采用COAE-2016 Task 3数据集,英文数据采用SemEval-2010 Task 8数据集。本次实验分为以下几组:

(1) 超参数的影响,验证参数是否对分类结果有影响。

(2) 在BLSTM模型上分别加上不同的注意力,验证自注意力的有效性。

(3) 在本文提出的模型上依次叠加不同特征,验证特征的有效性。

(4) 中英文实验结果对比,验证本文提出模型的有效性。

3.1 数据集

本次实验使用的中文数据是由第八届中文倾向性分析评测(COAE-2016)任务3 (Task3)提供的评测数据集,该评测会议在2016年加入了实体关系抽取任务,即任务3。Task3数据集提供了988条训练数据,937条测试数据。其中,共有10种关系类型,详情见表2。

表2 COAE-2016 Task 3实体关系类型

本文使用哈工大的LTP工具对中文数据进行分词、词性标注、依存句法分析和语义角色标注。

本次实验使用的英文数据是由SemEval-2010 Task 8提供的数据集。这个数据集一共有10 717个标注样本,8 000个样本个用于训练,2 717个样本用于测试。在每个样本中标注有关系的两个实体,且这两个实体仅属于1种关系类型。该数据集中共有9种带有方向的关系和1种不带方向的other类型的关系,如下所示:

• Cause-Effect

• Component-Whole

• Content-Container

• Entity-Destination

• Entity-Origin

• Message-Topic

• Member-Collection

• Instrument-Agency

• Product-Agency

• Other

本文使用Stanford NLP工具对英文语料进行分词、词性标注和依存句法分析。该工具没有提供语义角色标注的功能,所以英文语料比中文少一个语义角色的特征。

3.2 超参数设置

由于中、英文数据集的差异,所以某些超参数不一致。表3展示了本文实验所有超参数的具体取值情况,其中,LR、H_n、B_s、G_clip、λ、Dr、W_d、Po_d、Pa_d、R_d和PF_d分别表示学习率、隐藏神经单元个数、批训练大小(Batch_Size)、梯度裁剪参数、L2正则系数、Dropout值、词嵌入维度、词性嵌入维度、依存句法分析嵌入维度、语义角色嵌入维度和位置特征嵌入维度。

中文词嵌入使用最新预训练好的百度百科300维的词向量。中文使用Dropout: 0.7分别对嵌入层、LSTM层和自注意力的两个线性层Dropout。英文词嵌入使用预训练好的Glove 300维[15]的词向量。英文使用Dropout: 0.5分别对嵌入层、LSTM层和自注意力的两个线性层Dropout。

除了词以外,其他特征均采用随机初始。本文使用带交叉熵损失函数的Adam优化器来训练模型。

表3 本文实验超参数的取值情况

3.3 实验结果与分析

所有的Baseline方法和本文提出的模型都使用官方的F1-score,即F1值来评估模型性能。以下所有表中的SDP、WV、PF、POS、Parse和Role分别表示最短依存路径、词向量、位置特征、词性特征、依存句法分析和语义角色。

3.3.1 超参数的影响

通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。超参数的取值决定了学习算法能不能学到最优,因此,在中文数据集上针对常见且影响大的超参数做实验,图5展示了实验结果。

图5 超参数的影响

学习率指算法学习的快慢,隐藏神经单元个数决定模型的复杂度,Batch_Size指一次训练里有多少个样本。根据图5可以发现,影响最大的是学习率,隐藏层神经元个数和Batch_Size影响都比较小。当LR、H_n和B_s分别为0.0005、250、32时,算法学到最优。当LR比较小时,学习效果比较理想,此时本文使用的优化器是Adam。Adam结合了AdaGrad和RMSProp算法最优性能,它还提供解决稀疏梯度和噪声问题的方法。Adam的调参相对简单,默认参数就可以处理绝大部分问题。本文选择Adam中影响较大的参数,根据经验法则找到这些参数的常用值,然后再使用穷举法选择这些参数的多个值中的最优值,最后结合其他默认参数训练模型。

3.3.2 自注意力的有效性验

本文引入了自注意力,为了验证自注意力的有效性,本文在中文数据集上做相关实验,表4展示了自注意力对F1值的影响。

注意力机制可以快速提取稀疏数据的重要特征,而自注意力机制是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性,表4的实验结果证明了注意力和自注意力的有效性,而且自注意力优于注意力。

表4 自注意力对性能的影响

3.3.3 特征的有效性验证

本文引入了多个特征,特征的好坏会直接影响模型的性能,为了验证特征的有效性,本文在中文数据集上做相关实验,表5展示了特征对F1值的影响。

表5 特征对性能的影响

在本文方法中使用了4种不同类型的特征,即词性标注、依存句法分析、语义角色标注和位置特征。在实体关系抽取任务中,位置特征已经演变成了标准特征。因此,词向量和位置特征的组合是参考标准,本文在参考标准基础上依次叠加特征。从表5中可以看出,加入的特征对关系分类是有效的,依存特征和语义角色特征表现最好,词性特征最差。词性蕴含了潜在的位置信息,实验表明特征对性能的提升不是很明显,仅有0.96%的提升;依存句法分析是对句子结果进行分析,它蕴含句法相关的信息,该特征的加入使性能明显提升;语义角色标注分析句子中的语义成分,考虑浅层语义信息,F1值提高了2.44%。

3.3.4 中英文实验结果与分析

(1) 中文实体关系抽取结果与分析

因为中文数据集是2016年新添加的实体关系抽取任务,所以相关论文相对较少。前3个方法是孙等[16]在2017年基于COAE-2016 Task3提出的三个Baseline方法,用于做实验参考。

模板匹配: 基于模板的实体关系抽取主要是通过模板匹配的方式来抽取实体关系。该方法通过最短依存路径(SDP)上是否可以匹配到模板词来判断关系类型。虽然模板匹配的方法实现简单,但是性能很差。

SVM: 基于特征的SVM实体关系抽取。该方法选取实体顺序、实体距离和实体上下文三个特征,人工特征可以有效提高模型的性能,使用多种特征的SVM算法在三个算法中是效果最好的。

CNN1: 孙[16]等采用CNN来做实体关系抽取。该方法没有加任何额外特征,利用CNN学习特征的方法代替传统的人工特征的选择,但是效果并不好。

CNN2: 王[17]采用基于特征的CNN方法,除了标准的词向量和位置特征之外,还使用了命名实体识别和基于TP-ISP的关键词特征,同时使用分段最大池化进行关系抽取。实验效果显著增强,其F1值达到77.5%,与该方法相比,本文方法优势明显,F1值提高了3.99%.

Att-CNN: Wu等[18]采用分段卷积神经网络(PCNN)和注意力来提取高层语义信息,同时使用位置特征和实体类型来进行中文实体关系抽取。与该方法相比,本文方法的F1值提高了3.08%。

(2) 英文实体关系抽取结果与分析

为了验证本文方法的有效性,本文同时在英文数据集上做实验,选取英文数据集上的9个流行方法做对比。

SVM1/SVM2: 这两个方法是Harabagiu 和Rink[19]在2010年提出一系列方法中的两个,他们采用各种手工特征(POS和dependency parse等)和利用各种资源(WordNet, ProBank和 FrameNet等),并利用SVM进行关系分类,其F1值达到了82.19%。与该方法相比,本文方法的F1值仍然高出1.71%。

RNN: Socher等[1]在2012年首次提出使用RNN来处理关系抽取任务,该方法对句子进行解析,能够有效地考虑句子的句法结构信息。

CNN1: Zeng等[2]在2014年首次提出采用CNN来进行关系提取,利用卷积神经网络来提取词汇和句子级别的特征。该方法不需要复杂的预处理,解决预处理特征错误传播的问题,其F1值达到了82.7%。

BRNN: Zhang和Wang[11]在2015年采用双向循环神经网络(BRNN)进行关系抽取,并使用不同维度(50和300)的词向量做实验,使用300维词向量做实验的F1值最高,达到了82.5%。

SDP-BLSTM: Yan等[20]在2015年提出了基于最短依存路径(SDP)的长短期记忆网络(LSTM)模型进行实体关系抽取。该方法同时考虑词性标记、语法关系和WordNet上位词特征,其F1值达到了83.7%,与本文方法不相上下,本文仅高出了0.2%。

CNN2: 王[17]在2017年提出的CNN模型,通过TP-ISP衡量词的重要性来获取关键词。关键词增加了类别区分度,采用分段最大池化策略来解决信息丢失问题,其F1值只有77.5%。与该方法相比,本文方法的F1值明显高出6.4%。

Att-RCNN: Zhang等[21]在2018年结合RNN、CNN和注意力机制进行关系抽取。他们仅使用词和位置特征,F1值可以达到83.7%。

Hybrid BiLSTM-Siamese: Cui等[22]在2019年通过Siamese模型架构将两个词级别BLSTM组合在一起,它学习两个句子的相似度,并通过K近邻算法预测新句子的关系。

本文提出在BLSTM模型的基础上加入自注意力(self attention)和丰富的特征集。表6和表7展示了本文方法和当前流行的中英文方法的对比。从这两个表可以看出,本文方法在中、英文数据集上的性能都表现非常好,其F1值分别达到了81.49%和83.9%。根据这些实验结果,可以得出以下结论:

① 自注意力的加入能提高BLSTM分类效果;

② 丰富的特征集有利于实体关系抽取;

③ 本文提出的方法优于与本文对比的方法。

表6 中文实体关系抽取任务结果

表7 英文实体关系抽取任务结果

4 总结和未来工作

本文提出了一个基于自注意力双向长短期记忆网络(SelfAtt-BLSTM)模型,加入词汇、句法、语义和位置4大特征,对词和特征的组合使用自注意力来学习序列和特征的内部信息。本文对比了各个特征,依存句法特征和语义角色特征表现比较好,词性特征表现最差。把本文模型SelfAtt-BLSTM和BLSTM对比,证明了自注意力的有效性。本文重点是加入了语义角色特征和自注意力,实验证明该特征效果不错,且自注意力的特点在于无视词之间的距离直接计算依赖关系,能够学习一个句子的内部结构,自注意力最终被证实了可以提高模型性能。实验结果表明,本文方法在中、英文数据集上均表现出较好的性能。

未来的工作可以从以下两个方面展开:

(1) 除了词性、依存句法和语义角色特征之外,还有实体类别和语法关系等特征本文未考虑到,将来可以尝试寻找更多未使用过的关键特征。

(2) 本文采用自注意力和BLSTM结合的方法进行实体关系抽取,未来可以尝试与CNN、RNN和FNN相结合。

猜你喜欢

语义注意力向量
真实场景水下语义分割方法及数据集
向量的分解
让注意力“飞”回来
聚焦“向量与三角”创新题
如何培养一年级学生的注意力
语言与语义
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究
向量五种“变身” 玩转圆锥曲线