基于短语级注意力机制的关系抽取方法

2019-09-28 01:25刘镇江
计算机技术与发展 2019年9期
关键词:实例卷积短语

尹 鹏,周 林,郭 强,刘镇江

(江南计算技术研究所,江苏 无锡 214083)

0 引 言

关系抽取(relation extraction)是指从自由文本中抽取给定两个实体的关系的方法,是自然语言处理的重要任务之一,也是是构建知识图谱(knowledge graph)和知识库(knowledge base)的重要步骤之一。关系抽取基于如下问题:假设有两个实体e1,e2和可能的关系集合r,如何判断e1,e2之间属于r中哪一类关系?然而仅仅依靠实体获得的信息太少,难以训练有效的模型。因此,通常通过e1,e2的语义信息提取关系信息r,即在自由文本中抽取同时包含e1,e2的句子,通过分析句子的语义信息得到实体对(e1,e2)的关系r。

早期关系抽取方法大多依赖于手工构建特征工程。在自然语言中,同样的关系可能有很多种不同的表达方式,可能是词汇,短语,也有可能体现在上下文语义中。因此,提出了很多基于特征的方法和基于核的方法[1-3]。然而这些方法大部分都是基于已有的自然语言处理工具构建深度特征,难免会把这些工具中的错误传播到后续分类中,对分类结果造成干扰。随着神经网络的发展,端对端的神经网络模型逐渐发展成熟[4-6],词向量嵌入[4-6]和注意力机制[7]的引入也显著提升了模型的性能。注意力机制通过设计合理的算法,对每一个单词或每一个句子计算一个关注度,经过训练使关键的单词或句子有较高的权重,有助于在后续的模块中更能有效地提取关键特征。Ji等[8]和Jat等[9]在注意力机制中引入了实体信息,然而,他们在注意力机制中只使用了标注实体短语的第一个词向量,并没有充分利用实体信息。在大部分情况下,实体都是由实体短语表示,例如实体对:“Zoran Abadi”,“University of Belgrade, main campus”。可以看出在该实体对中,实体都由多个词组成,如果仅使用第一个词,可能导致实体信息获取不全面。

文中引入包含实体的注意力机制训练卷积神经网络,首先充分利用实体短语的信息。使用卷积神经网络获取实体短语的深度特征表示,由于实体短语的长度不确定,使用卷积神经网络可以达到压缩实体信息的效果,同时也能提取到实体的深层向量表示。其次引入短语级的注意力机制。在很多实例中,体现实体关系的是一个短语,因此,抓住关键短语特征可以有效提升识别能力。卷积神经网络的卷积过程(卷积窗口长度为l)可以认为是把长度为l的短语映射到高维空间,因此可以通过对卷积层添加注意力机制达到短语级注意力机制的效果。Ji等[8]表明了TransE思想在实例级注意力机制中有较好的表现,因此把TransE思想引入到短语级注意力机制中。再次引入标签平滑正则化(label smoothing regularization)降低错误标签的不良影响,同时减轻过拟合风险。远程监督的数据集有大量的噪声数据,这些数据使训练的模型性能大打折扣,因此对非0即1的标签做平滑处理,对每一个类赋予一个置信度,得到平滑的软标签,减少错误标签的干扰。

1 相关工作

关系抽取任务通常被认为是多分类多标签问题,传统方法中比较有代表性的是:基于特征的方法[1,10-12],通过分析语义信息构建特征;核方法:卷积树核[13]、子序列核[14]、依存树核[15]。这些方法都是基于手工精心构建的特征,或者基于已有的NLP工具构建的特征,它们都会不可避免地把NLP工具中的错误信息带入后续分类中,影响了分类性能[16]。

从对数据的利用方式进行分类,关系抽取可分为有监督、无监督、半监督、远程监督和开放式[17]的关系抽取方法。随着知识库和知识图谱的规模不断增大,模型训练需要的数据规模需求也在不断增加。然而基于监督的方法需要大量的标记数据,将会消耗大量的人力和时间成本。Mintz等[18]提出的远程监督方法有效降低了构建数据集的时间和人力成本。远程监督方法并不对单个句子进行标注,而是先从结构化的数据(如freebase)中得到实体与关系的三元组(e1,e2,r),然后再把实体与自由文本对齐,把包含同一个实体对的句子组成一个数据包,并给这个数据包标记关系r,基于远程监督方法设计的模型目标就是从实例包中抽取关系r。然而远程监督也引入了大量错误标签,为了缓解错误标签问题的影响,Riedel等[19],Hoffmann等[20],Surdeanu等[21]把远程监督问题当作多实例多标签学习问题。

近年来,神经网络在众多领域都有令人瞩目的表现,并在词性标注[22]、情感分析[23]、机器翻译[24]等方面取得了较好的效果。任智慧等[25]使用长短时记忆网络(LSTM)进行中文分词。孙紫阳等[26]把传统的句法特征加入词向量输入的特征中,带入神经网络进行训练,使输入具有结构化的句法信息。肜博辉等[27]使用多种词向量的预处理方式构建多通道,再带入神经网络进行训练,丰富了词向量的表达方式。Zeng等[4]使用端到端的卷积神经网络模型,并使用柔性最大值softmax作为分类器。Santos等[28]提出了排序分类(classification by ranking)的方法,减少了关系分类中人工添加的类(other类)对关系分类的不利影响。Zeng等[29]提出了分段卷积池化(PCNN)的思想,通过两个实体的位置把句子分成三段,每段分别进行最大池化,避免了使用NLP工具导致的错误传播问题,并且把实体位置信息加入到关系抽取任务中,提升分类性能。

注意力机制的使用使得神经网络在关系抽取中有更好的表现,注意力通过对实例包中的每一个句子计算一个关注度,加权求和得到实例包的深度特征。王红等[30]通过比较LSTM中输入与输出的关系构建注意力机制,获取整体特征,再使用词向量特征与整体特征融合得到分类结果。Lin等[7]把注意力机制引入到关系抽取任务中,通过对实例包中的每一个句子计算一个关注度,加权求和得到实例包的深度特征,充分利用了实例包的所有句子。Ji等[8]加强了实体的作用,在实例级的注意力机制中引入了实体信息,并用TransE思想表示两个实体间潜在的关系信息,即v=e1-e2。Jat等[9]把实体注意力作用于深层特征,用每个实体分别对循环神经网络的深度特征做注意力机制,最后拼接得到深度特征。Jat等对实体短语的利用不充分,文中实验表明,通过实体短语抽取实体关系特征有助于提高模型性能。

2 方法描述

假设S={s1,s2,…,sn}是数据集中的一个实例包,其中的每一个实例都包含实体对(e1,e2)。r={r1,r2,…,rc}表示两个实体可能的关系集合。模型如图1所示,先用预训练的词向量矩阵进行嵌入,得到单词的词向量表示,接着通过一个卷积层得到短语级的深度特征表示,并在该层引入实体深度特征并添加注意力机制,最后通过一个最大池化层得到该实例的深度特征。

图1 引入实体信息的短语级注意力机制关系抽取方法模型

2.1 词向量嵌入

词向量嵌入是目前自然语言处理中比较常用的方法,通过一个随机生成或者预训练的词向量矩阵把单词转换成向量。令s表示一个句子,wi表示词向量,用one-hot编码,则句子可以表示为s={w1,w2,…,wt}。V∈da×|V|表示词向量嵌入的编码矩阵,词向量嵌入的过程表示如下:

mi=wiV

位置嵌入:Zeng等[4]和Santos等[28]展示了单词与实体的距离的大小会对关系有不同的贡献。对每一个单词计算与实体(e1,e2)的相对距离,例如在句子“马云是阿里巴巴的创始人”中,“创始人”与两个实体“马云”和“阿里巴巴”的距离为-4和-2。类似词向量的表示方法,位置信息也可以映射到高维空间中。这里令mi表示wi在词向量和位置向量嵌入后的向量表示。则mi∈d(d=da+db×2),其中db是位置向量的维度。

2.2 卷积层

卷积神经网络在训练关系抽取模型中有不错的表现,相比循环神经网络而言,卷积神经网络更加容易获取全局特征。能够将任意长度的句子压缩成一个固定的低维向量,同时,卷积神经网络能更好地并行处理数据,提高训练速度。同时,合适的卷积窗口能把短语整体映射到高维向量空间中,因此,卷积后的向量体现了短语的整体信息。

定义卷积矩阵W∈dc×(l×d),其中dc是词向量嵌入后句子的长度,l是卷积窗口大小,令qi∈l×d表示句子的第i个卷积窗口:

qi=wi-l+1:i(1≤i≤m+l-1)

由于卷积窗口滑动到边缘时,窗口边缘会超出句子的范围,因此使用一个特定的向量填充超出的部分。因此,每一个卷积核的卷积过程表示如下:pi=[Wqi+b]i。其中b是偏置向量。

2.3 注意力机制

经过卷积层卷积以后,词向量被映射到更高维的向量空间,并且每一个向量pi都包含了从第i-l+1到第i个词的信息。显然,只要选择合适的卷积窗口,体现关系的关键短语的信息一定在某个pj中。因此,可以针对p={p1,p2,…,pt}使用注意力机制,对每一个pi分配权重,并希望反映关系的关键向量pr有最高的权重,减少非重点信息的干扰,从而提高模型性能。

近年来,许多知识图谱的处理中都用到了TransE的思想[31-33],即把关系信息当作头实体到尾实体的转义,即e1+r≈e2,并且取得了比较好的效果。Ji等[8]认为向量vrelation=e1-e2包含了关系r的特征。如果一个实例体现了某一个关系r,那么该实例的特征向量将会与vrelation有较高的相似度。

文中从更细的粒度分析关系信息。若某实例体现关系r,那么短语级的特征pr将会与vrelation有较多的相似信息。另一方面,在多数情况下,每个实体并不是单独的一个单词,大部分的人名,机构,学校等实体信息会由多个单词表示。考虑如下的实体对:(“Zoran Abadi”,“University of Belgrade,main campus”),其中每个实体都是词组,若直接使用实体位置信息抽取实体,则只会提取到第一个单词。使用2.2节的卷积神经网络提取实体信息,并接一个最大池化层得到实体的深度信息表示,记为(xe1,xe2)。

图2展示了注意力机制方法。

图2 注意力机制方法

令vr=xe1-xe2,设计的注意力机制如下:

ui=wT(tanh(A[pi;vr]))+b

其中,wT∈1×(2k)和A∈2k是参数矩阵,A是一个对角矩阵,k是卷积核个数。注意力机制对每一个pi求得权重αi,得到加权的向量表示:

ci=αipi

2.4 分段最大池化

加入池化操作对卷积进行池化,抽取实例的深度特征。与传统的最大池化不同,Zeng等[29]通过两个实体的位置把句子分成三段,对每一段分别做最大池化操作,可以得到比单一池化更好的性能。该过程可以表示如下:两个实体把ci分成三段,得到ci=(ci1,ci2,ci3),对每一个部分做最大池化:

xij=max(cij)

最后得到实例s的深度特征为:

为了得到模型对每个分类的预测,通过一个线性层和softmax计算各个类别的置信度,如下所示:

o=Wsx+bs

其中,Ws是参数矩阵,bs是偏置向量,最后计算每个类的置信度:

2.5 标签平滑正则化

在关系抽取中引入标签平滑正则化(label smoothing regularization,LSR)方法,LSR是由Szegedy等[34]提出的,通过平滑标签中不同类别的概率,把原来有很强置信度的one-hot标签变成一个在每个类都有一定置信度的平滑标签。对远程监督数据集而言,大量噪声数据的存在导致了模型性能表现不够理想,每一个实例包中的实例只是“可能”体现实体反映的关系信息。引入LSR可以把这个“可能性”加入到标签中,更符合实际情况。对所有标签进行统计,得到一个分布μ(r),这是一个与标签无关的分布,把这个分布添加到one-hot标签中,得到如下新的软标签:

p'(ri|x)=(1-ε)p(ri|x)+εμ(ri)

其中,ε是表示标签“硬度”的置信度。ε越小,标签越“硬”,得到的新标签越接近原来的one-hot标签。反之,ε越大,则标签的原有特征越弱,各个标签的区分度也越来越不明显。

2.6 模型求解

由于模型预测的标签p(r|θ,s)与标注的标签p'(r|x)都是软标签,因此使用相对熵(即KL散度)评估两个标签之间的差异。在信息论中,相对熵表示当用概率分布p拟合真实分布时所产生的信息损耗:

J(θ)=∑iD(p'(si)‖p(si,θ))

其中,θ表示模型的所有参数,si表示每一个实例包。希望找到合适的θ,使模型生成的分布与真实分布的平均距离最小。

在实验中,使用dropout[35]策略减少模型过拟合,并采用Adam算法优化目标函数。

3 实验和结果分析

3.1 模型评估与度量

GIDS(Google-IISc distant supervision)是由Jat等[9]在2017年神经信息处理系统大会(NIPS)自动化知识库建设研讨会(AKBC)上发布的数据集,通过谷歌关系抽取语料库作为种子数据生成的数据集。由于目前许多远程监督数据集存在大量错误标签问题[18-19],即不一定满足假设:“在一个实例包中至少有一个实例反映实体对的真实关系”,导致模型训练结果不理想。GIDS在构造数据集时,确保了在一个实例包中,至少有一个实例真正反映了实体的关系。GIDS数据集详细信息如表1和表2所示,包含了训练集、测试集和开发集。共有5个二元关系,其中包含一个人工构建的other类(NA)。

表1 GIDS数据集基本信息统计

表2 GIDS数据集关系信息统计

用Zeng等[29]出的分段卷积神经网络模型(PCNN)和Jat等[9]提出的集成学习模型作为比较的基准算法。

分段卷积神经网络:PCNN算法是关系分类中比较常用的方法,比通常的MIML-RE基线算法有更好的性能。PCNN是Zeng等[29]针对实体关系抽取任务提出的算法。在关系抽取任务中,句子中单词和实体的相对位置不同可能导致结果的不同,而且实体两边的单词和实体之间的单词对分类结果的贡献也不相同,因此PCNN方法比CNN有更好的表现。

Jat等[9]提出的集成学习模型是由词语级注意力机制模型(BGWA)和添加实体的注意力机制模型(EA)集成得到,是目前GIDS数据集上取得最好性能的算法。BGWA模型首先通过双向循环神经网络把句子映射到一个更高维空间中,然后对每个词添加自注意力机制,最后通过分片最大池化层提取实例的深度特征。EA模型仍然使用双向卷积神经网络获得单词的高阶表示,引入了两个实体的信息,并用两个实体分别与循环神经网络生成的结果连接做注意力机制,再经过分片最大池化层得到深度特征。集成的方法则把WA,EA,PCNN三个模型的结果集成起来,通过加权投票的方法计算结果。

3.2 模型参数

为了保证模型的一致性和评估的准确性,文中模型参数与基准算法模型参数相同。使用Word2Vec作为词向量嵌入,用dw=50维的向量把单词转换成词向量。用一个dp=5维的随机初始化向量把位置信息转化成向量,卷积层使用lk=230个卷积核,每个卷积核窗口大小为l=3,池化层根据两个实体的位置采用分段取最大值。

使用Adam作为优化算法,权值衰减(L2正则化)设置为w=0.000 2,学习率为lr=0.001。与随机梯度下降不同,Adam算法通过计算梯度的一阶矩估计和二阶矩估计改变学习率,能更快收敛,也适用于解决高噪声和稀疏梯度的问题。文中模型每一批的数据量为50个包,训练轮数为20轮,Dropout参数为0.5,开发平台使用python3.6+torch0.4,使用英伟达Tesla P4显卡进行训练。

3.3 实验结果

采用准确率-召回率曲线(P-R曲线)评估模型的性能。图3是文中模型在添加TransE方法前后的比较,作为对比的“Ensemble”算法来自Jat等[9]发布的数据。可以看出,只有注意力机制的算法(ATT)和添加TransE方法的注意力机制算法(ATT+TransE)都要优于“Ensemble”算法。而添加了TransE方法的注意力机制算法比单独使用注意力机制的算法性能上提高了1%。

图4是文中模型性能与Jat等[9]和Zeng等[29]的模型性能比较的结果。其中作为对比的PCNN,EA,WA,Ensemble模型的准确率-召回率曲线(P-R曲线)数据均来自公开发表的文章。从图中可以看出,PCNN算法与EA算法有相近的性能,都要优于BGWA算法,集成了PCNN,EA,BGWA的Ensemble算法优于上述三种算法。该模型在总体性能上超过了上述几种方法,平均准确率(曲线下的面积)达到0.9。这表明对实体信息的充分利用以及结合短语级的注意力机制能显著提高算法性能。短语级的注意力机制能够有效捕捉关键短语的特征,同时使用卷积神经网络提取实体短语的深度特征也有助于注意力机制定位关键短语。

图3 添加TransE方法的注意力机制和只添加注意力机制的模型比较

图4 短语级注意力机制与其他模型的性能比较

4 结束语

文中提出了引入实体信息的短语级注意力机制的关系抽取模型。结果表明使用短语级的注意力机制有助于更好地获取实体关系信息。同时,对实体短语采用卷积神经网络获取深度信息使得实体信息利用得更充分,利用实体短语能更好地表达TransE模型。标签平滑方法的使用减少了远程监督数据集中错误标签带来的不利影响。

猜你喜欢
实例卷积短语
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
《健民短语》一则
完形填空Ⅱ
完形填空Ⅰ