李子茂,张玥,尹帆,郑禄,白鑫
(中南民族大学 计算机科学学院&湖北省制造企业智能管理工程技术研究中心,武汉 430074)
在给定语句和句中实体对的情况下,实体关系抽取模型需要提取非结构化的语句的语义特征,来预测句中实体对存在的语义关系,并形成统一格式的结构化信息.例如,给定句子“Barack Obama was born in the United States.”及句中实体对<Barack Obama,United States>,实体关系抽取模型需要抽取出实体间存在的关系“born_in”.作为重要的语义处理任务,实体关系抽取在机器翻译、知识图谱构建、问答系统等复杂应用中起着重要作用,具有很大的研究价值[1].
有监督的实体关系抽取方法依赖人工标注数据[2].LIU等[3]最先提出用CNN方法进行关系分类,为后续研究提供了启发[4].ZENG等[5]在此基础上进行了改进,使用预处理的词向量、实体的上位词等词汇特征.ZHANG等[6]用双向循环网络RNN来获取更多的信息,但RNN本身存在梯度消失和梯度爆炸的问题.ZHOU等[7]在RNN的基础上,用LSTM[8]替代RNN并加入注意力机制.上述有监督的实体关系抽取方法大多需要人工标记数据,语料的不足很大程度上限制了大规模的实体关系抽取研究.
为了解决数据标注问题,MINTZ等人[9]提出利用知识库中的实体关系三元组来实现自动对齐,即远程监督方法.对于知识库中的事实三元组<实体1,关系r,实体2>,远程监督将语料库中所有包含实体1和实体2的语句都标记为关系r.但实际情况下两个实体可能并未表达关系r,因此远程监督生成的数据通常包含大量噪声.RIEDEL等[10]提出一个增强版的假设:如果两个实体中存在一种关系,那么所有包含这两个实体的语句中至少有一句能表达这种关系.ZENG等[11]在CNN网络上进行分段池化,即分段卷积神经网络(Piecewise Convolutional Neural Network,PCNN),以捕捉不同分段的特征,使用多实例学习[12]解决远程监督的噪声问题.LIN等[13]和JI等[14]在文献[10]和文献[11]的基础上改进了CNN,分别使用双线性和非线性注意力计算权重,解决语句中信息利用不充分的问题.
除了分段卷积神经网络PCNN,当前远程监督实体关系抽取任务中也使用Transformer作为特征提取器.SHI等[15]提出一种基于Bert[16]的模型,通过预处理得到更为全面的信息.然而,Transformer虽然是一种非局部的运算结构,主要学习到的仍是文本的局部依赖关系,导致Attention map中存在冗余[17].卷积神经网络结构与Transformer结构相比,能够通过减少参数量提升训练速度、节约训练成本,因此仍被广泛使用.但其在进行卷积操作时仅关注当前窗口内容,缺乏捕捉全局内容的能力.
为解决上述难点,本文提出一种结合自注意力机制和分段卷积神经网络的实体关系抽取模型SAPCNN.将自注意力扩展到整个语句,充分利用语料的全局信息特征,学习更能表达语义关系的句子嵌入表示.对于远程监督数据存在大量噪声的问题,不直接在句子级别上进行关系分类,而是利用多实例学习和包内注意力机制,将含有相同实体对的语句划分为一个包,计算包中每个句子的注意力权重,获取加权句子嵌入表示作为包的嵌入表示.通过学习到更能表达语义关系的句子嵌入表示和包嵌入表示,在包级别上进行关系分类,能更好地提升实体关系抽取模型的效果.
本文构建基于自注意力机制和分段卷积神经网络的模型来实现句子嵌入表示学习,对于实体关系抽取任务,获取表达语义信息的句子嵌入表示至关重要.模型如图1所示.
图1 基于自注意力机制和分段卷积神经网络的句子嵌入表示学习模型Fig.1 Sentence embedding representation learning model based on self-attention mechanism and PCNN
其主要部分如下:
(1)输入层:输入语料进行预处理;
(2)自注意力增强卷积层:利用自注意力机制对卷积神经网络进行增强,建立网络模型,获取相关的句子特征;
(3)分段最大池化层:以两个实体为界将句子划分为3段,进行池化提取特征,得到最终的句子嵌入表示.
在自然语言处理任务中,向量化是文本表示的重要形式,输入层将文本中的每个单词映射到一个k维实值向量,得到语义表征.将输入句子实例表示为sentence=[w1,w2,…,ws],其中s代表句子长度,wi代表句子中的第i个单词,则xi代表预训练得到的第i个单词的词嵌入,xi的维度为dw,得到句子表示为S=[x1,x2,…,xn]=Embedding([w1,w2,…,wn]).
除了词嵌入外,位置特征被用来指定实体对位置.句中的单词和实体关系三元组<e1,r,e2>中的两个实体e1,e2的位置关系对提高模型性能有着重要的作用,对于每个单词,查找位置嵌入矩阵可获得两个位置向量,维度为dp,则在组合单词嵌入和位置嵌入后,每个单词的最终嵌入表示为qi∈Rd,维度d=dw+dp*2,句子嵌入表示可以通过组合句子中的单词嵌入表示转换为矩阵S∈Rs×d={q1,q2,…,qn}.
在关系抽取中,每个输入句子对应一种关系类型,实体关系抽取模型利用输入句子所有特征进行关系分类预测.卷积神经网络是合并这些特征的有效方法,考虑到全局相关性,通过自注意力机制来增强卷积,可以将关注局部性的卷积特征图与能够建模更长距离依赖项的自注意特征图联合起来.本文采用自注意力机制结合分段卷积神经网络作为特征提取器,优势在于:与一般的词级别注意力相比,采用“多头”自注意力机制来动态分配句子中词的权重,计算时不依赖其他的监督信息,不需要以关系标签作为计算依据,缓解了噪声关系标签的影响,另外“多头”计算可以综合多个不同向量子空间的权重分配,能够更合理地分配句子中词的权重[18].特征学习模型见图2.
图2 基于自注意力机制增强型卷积的句子特征学习Fig.2 Sentence feature learning based on self-attentional augmented convolution networks
定义H,W,Fin是输入的高、宽和通道数量,Nh为多头注意力中头的数量,dv为values的深度,dk为keys的深度,表示每个注意力头的values和keys的深度.
给定输入张量的形状(H,W,Fin),将张量展开为矩阵X∈单个注意力头h的输出的计算公式如下:
现有研究在处理位置信息时,通常采用全局坐标表示,但理论上已经破坏CNN固有的平移等价性,本文通过相对高度信息和相对宽度信息来实现二维相对自我注意.坐标i=(ix,iy)和j=(jx,jy)的注意力计算公式如下:
随后将自注意力增强后的卷积结果和常规卷积结果结合起来,二者都是提取相关性,但提取的模式和方法不同.一方面卷积神经网络是局部特征提取,而自注意力机制更偏向捕捉全局的远程关系;另一方面卷积神经网络是基于卷积核模式,而自注意力机制是依赖于数据间本身的联系,试图用一个去完全替代另一个是困难的.基于以上原因,在进行特征提取时没有完全抛弃标准卷积,而是将自注意力增强型卷积和常规的标准卷积结合起来,将卷积特征连接到自注意力特征作为卷积层的最终输出,如公式(5)所示:
考虑到实体关系抽取任务中输出维度依赖于句子长度,为方便下游任务,卷积层的输出必须独立于序列长度,故采用池化操作保留特征图中的主要特征.句子卷积后的结果根据实体对在句中的位置可分为3段,每个卷积核wi的输出被划分为{ci1,ci2,ci3},将最大池化操作分别应用于每一段,可以产生3个不同的输出特征,计算公式如下:
对于每个卷积核的输出,拼接得到向量pi={pi1,pi2,pi3}.连接所有向量p1:n并应用双曲正切,如公式(7):
其中H∈R3n为最终的句子嵌入表示,H的维度不再与句子长度相关.
在获取语料句子嵌入表示后,由于远程监督标注的语料存在标签错误的问题,若直接在句子级别进行关系分类,会影响模型的学习效果.针对这个问题,引入多实例学习和包内注意力机制.多实例学习将包含相同实体对的语句划分为一个包,在包级别进行关系分类.包内注意力机制根据语句与关系的相关性,计算每个句子语料在包内的注意力权重.包的一个例子见表1.
表1 包含实体对<Barack Obama,United States>的包示例Tab.1 Example bag containing entity pair<Barack Obama,United States>
多实例学习中,通过包内注意力机制对包中的句子计算注意力权重,让能正确表达实体对之间关系的句子权重更高,减少噪声句子的影响.包嵌入表示学习及关系分类模型如图3.
图3 包嵌入表示学习及关系分类模型Fig.3 Bag embedding represents learning and relational classification model
假设有T个包M1,M2,…,MT,第i个包内有qi个实例,即Mi=,包的表示S依赖包内所有句子的表示.由于包内存在错误标签句,如果平等地看待每个语句,会在训练和测试过程中引入大量噪声.因此,使用包内注意力机制可以减弱噪声,加强正样本.通过查询函数对输入句子和关系r的匹配程度进行评分,假设A是加权对角矩阵,匹配分数ei和包内注意力权重αi的计算公式如下:
在获得包内语句的注意力权重后,包的表示S被计算为包内所有句子向量H的加权和,计算公式如下:
其中αi是每个句子嵌入表示Hi的权重.
获得包的嵌入表示后,通过softmax分类器进行关系分类,条件概率的计算公式如下:
其中θ是网络参数,nr是关系的总数,o是神经网络的最终输出,对应包与所有关系类型的相关分数,定义d∈Rnr是偏置,M是关系的表示矩阵,o的计算公式如下:
给定所有训练包,s为包的总数,在包级别使用交叉熵定义目标优化函数如下:
为了验证本模型的有效性,在Riedel NYT数据集进行实验[10],该数据集由Freebase知识库与纽约时报语料库(NYT)启发式对齐生成,在远程监督实体关系抽取任务上有着广泛的应用.数据集的详细信息如表2.
表2 数据集信息Tab.2 Dataset information
实验中,句嵌入的向量维数范围为{50,100,200,300},位置嵌入的范围为{5,10,20},特征图的范围为{100,200,240},Batch_size的范围在{50,64,80},Dropout[19]大小设置为0.5.经过实验验证,最终参数设置如表3.
表3 参数设置Tab.3 Parameters setting
实验旨在证明本文模型SAPCNN可以充分利用句子信息进行远程监督关系抽取.为此,将SAPCNN与基于卷积神经网络的实体关系抽取模型PCNN、基于注意力机制对包内句子及各包赋予权重进行改进的模型PCNN+ATT、基于实体描述信息改进注意力的模型APCNN的实体关系抽取能力进行比较.为证明模型的有效性,以不同TopN情况下的平均精确率作为评价指标,表4展示本文模型SAPCNN、不使用包内注意力机制的SAPCNN(without bag-att),以及所有对比模型的Precision@N,N={100,200,500}.可观察到表4中的情况.
表4 NYT数据集上各模型结果Tab.4 Results of different methods on NYT dataset %
SAPCNN(without bag-att)方法精确率较PCNN方法提升9.21个百分点,较PCNN+ATT方法提升3.9个百分点,较APCNN方法提升1.68个百分点,反映出用自注意力机制对卷积神经网络进行增强,能够提升模型捕捉句子全局特征的能力.SAPCNN方法精确率较SAPCNN(without bag-att)方法提升2.51个百分点,反映出用包内注意力机制对包内句子赋予权重的方式来衡量包内句子与关系的相似度,可以降低远程监督带来的噪声影响.
根据实验结果的精确率和召回率,可以绘制如图4的PR曲线,观察可得SAPCNN模型性能(曲线4)要优于对比模型,说明本文提出的方法能降低远程监督带来的噪声影响,提升了模型的实体关系抽取能力.
图4 NYT数据集下各模型的PR曲线图Fig.4 PR curves of each model under NYT dataset
本文提出结合自注意力机制与分段卷积神经网络的实体关系抽取模型SAPCNN,该模型利用自注意力和包内注意力机制来加强模型的语义特征提取能力,改善卷积神经网络缺乏捕捉全局内容能力的情况,同时降低噪声数据造成的影响.实验结果证明了改进方法的有效性.在未来的工作中,由于当前实体关系抽取任务中常用的特征提取器在提取特征时会丢失大量信息,添加外部知识库特征能补充一定的语义信息,进一步加强模型的语义特征提取能力.此外,在多实例学习方向,考虑如何解决包内均为负实例、不满足“至少有一个正例”假设情况下的关系抽取任务,降低远程监督所带来的噪声数据影响.