APP下载

基于BiLSTM和ResCNN的实体关系抽取方法

2022-02-12徐小亮

计算机与现代化 2022年1期
关键词:池化残差向量

徐小亮,赵 英

(1.北京化工大学信息科学与技术学院,北京 100029; 2.北京化工大学图书馆,北京 100029)

0 引 言

随着互联网的高速发展,想要从海量的非结构化数据中快捷地获取有价值的信息已然愈发困难。实体关系抽取作为信息抽取的子任务,其主要目的是在实体识别的基础上抽取实体对间的语义关系,已经成为构建知识图谱的一项关键技术,对于信息检索、智能问答系统及知识库创建等领域的应用都至关重要[1-2]。

传统的实体关系抽取方法大量采用人工手动方式选取一些离散的特征,最终的抽取效果也很大程度上取决于特征选取的好坏。同时特征的选择过程大多依赖于现有的自然语言处理(NLP)工具,不仅费时费力代价高昂,并且容易造成错误传播。针对该问题,Mintz等[3]首次提出了远程监督的实体抽取方法,该方法有效解决了标注数据规模问题,但存在不少错误标注的情况。Hoffmann等[4]提出采用多实例多标签方法来对实体关系抽取进行建模,Surdeanu等[5]也提出结合多实例多标签和贝叶斯网络进行关系抽取,这2种方法对降低错误标签带来的影响都十分有限,固有工具产生的错误依旧会不断地传播。随着深度神经网络模型的兴起,基于深度学习机制的关系抽取方法能够自动从原始语料中学习、提取特征,降低了对于NLP工具的依赖并且能有效利用文本的结构信息。从以往的研究结果来看,在深度学习模型中的卷积神经网络(Convolutional Neural Network, CNN)[6]和循环神经网络(Recurrent Neural Network, RNN)[7]能够很好地学习特征。2014年,Zeng等[8]首次提出在实体关系抽取任务中使用CNN来提取局部文本的语义特征。随后,Zeng等[9]提出利用分段卷积神经网络(PCNN)进行远程监督关系抽取,采用分段最大池化策略来捕获实体结构信息。2015年,Xu等[10]提出利用RNN改进型长短期记忆网络(LSTM)进行关系抽取,Zhou等[11]提出基于双向长短期记忆网络(BiLSTM)和词级别的注意力机制(Attention, ATT)[12]的实体抽取模型,将BiLSTM作为句子特征提取器。2016年,Lin等[13]在Zeng研究的基础上,采用句子级别的注意力机制进行权重学习,提出CNN+ATT模型和PCNN+ATT模型,有效降低了数据噪声,取得了良好的实体关系抽取性能。He等[14]提出残差网络(ResNet)结构,是一种使用身份映射进行快捷连接的深层神经网络训练新方法,在最近几年的计算机视觉任务中取得了先进的性能。2017年,Huang等[15]提出残差卷积神经网络模型(ResCNN),使用浅层ResNet作为句子编码器,在没用使用分段最大池化和注意力机制的情况下,达到了和PCNN+ATT模型相近的实体关系抽取效果。

单一的网络模型对实体关系抽取效果有限,存在数据噪声、特征提取不充分等问题,依然有提升的空间。因此本文将利用BiLSTM的特性对输入词语进行处理,在残差网络中加入挤压-激励块构成新的编码器对句子进行特征提取,同时采用分段最大池化方法进行池化,重新建立关系抽取混合模型并取得了优异的分类效果。

1 关系抽取混合模型

本文提出一种基于BiLSTM和ResCNN的实体关系抽取混合模型BiLSTM_SE_ResCNN,其结构如图1所示。该模型由向量表示层、句子编码层和分类层组成,核心步骤如下。

图1 BiLSTM_SE_ResCNN混合模型结构

1)向量表示层:对文本数据集的训练来获取到词向量,利用BiLSTM获取上下文信息向量,然后与词向量、位置向量[16]一起拼接作为句子编码层的输入。

2)句子编码层:向量表示层的输出向量通过基于SE-ResNet网络的编码器进行特征学习后得到卷积特征向量,之后进行分段最大池化采样到细粒度的特征。

3)分类层:最后特征向量经过全连接的Softmax分类器得到分类预测结果。

1.1 向量表示层

向量表示层主要任务是将输入的文本转化为向量形式,作为后续神经网络特征学习的输入。对于一个长度为m的输入句子S={x1,x2,x3,…,xm},xi表示句子中的第i个词语,e1,e2表示2个相应的实体。每个词语xi都会被转换为一个词向量vw(xi),一个上下文信息向量vc(xi)和一个位置向量vp(xi),然后拼接在一起。

1.1.1 词向量

将句子中的每个词语xi都通过模型训练映射到低维度的实值向量vw(xi),公式如下:

vw(xi)=Wwrdvi

(1)

其中,vw(xi)∈Rdw,Wwrd∈Rdw×|V|为word2vec[17]工具训练得到的矩阵,dw为词向量的维度,V为词汇表的大小。vi是大小为V的独热编码(one-hot)向量。

1.1.2 位置向量

在实体关系抽取任务中,越靠近实体对的单词对目标关系抽取影响越大。通过计算词语到2个实体的相对距离获取其位置向量,以句子“Jack Ma is the founder of Alibaba”为例,词语“founder”到实体e1 “Jack Ma”和实体e2“Alibaba”的相对距离为3、-2,如图2所示。将词语xi分别到2个实体的相对距离映射转换为低维的实值向量vp1(xi)、vp2(xi)∈Rdp,其中dp为位置向量的维度,并将其组合得到位置向量vp(xi)=[vp1(xi),vp2(xi)]。

图2 词语到2个实体的距离

1.1.3 基于BiLSTM的上下文信息向量表示

it=σ(Wi·[ht-1,vw(xt)]+bi)

(2)

ft=σ(Wf·[ht-1,vw(xt)]+bf)

(3)

(4)

(5)

ot=σ(Wo·[ht-1,vw(xt)]+bo)

(6)

ht=ot⊙tanh(Ct)

(7)

上述式子σ为Sigmoid激活函数,⊙为元素相乘运算,Wi,Wf,WC,Wo∈Ra×dw为权重矩阵,bi,bf,bC,bo为偏置项。

图3 LSTM网络结构

(8)

(9)

(10)

最后,将词语的词向量vw(xi)、上下文信息向量vc(xi)和位置向量vp(xi)连接起来得到vi=[vw(xi);vc(xi);vp(xi)]∈Rd,将句子表示为向量v=[v1,v2,…,vm],其中d=dw+dc×2+dp×2,dc为上下文信息向量的维度。

1.2 基于SE-ResNet的句子编码层

1.2.1 卷积

卷积神经网络通过对滑动窗口内的向量进行卷积操作从而达到提取特征的目的。定义向量vi:i+j表示vi,vi+1,…,vi+j的拼接。卷积操作通过用卷积矩阵W∈Rh×d来提取连续h个词的特征,其中h为卷积滑动窗口的大小,卷积过程可表示如下:

ci=f(W·vi:i+h-1+b)

(11)

其中,b表示偏置项,f是非线性函数。输入向量v1:m经过卷积操作后,可得到卷积层提取的特征向量c={c1,c2,…,cm-h+1},其中c∈Ry(y=m-h+1)。

1.2.2 残差卷积块

残差网络ResNet将低层直接连接到高层,解决了深度网络中梯度消失问题。在该网络中,通过跳跃连接(shortcut connections)来设计残差卷积块,使得底层的特征能传递到高层。每个残差卷积块由2个卷积层组成,每个卷积层都有一个修正线性单元(ReLU)作为激活函数。每个卷积滑动窗口的大小为h,并进行填充操作,使新特征与原始特征张量大小保持一致。

残差卷积块第1层和第2层卷积层操作如下:

(12)

(13)

其中,f为ReLU激活函数,b1、b2为偏置项,W1、W2∈Rh×1为每个卷积层的权重矩阵。

对于残差学习操作,残差卷积块的输出向量c′定义如下所示。

(14)

1.2.3 挤压-激励块

挤压-激励块(Squeeze-and-Excitation block, SE)采用特征重标定的策略[19],其机制是允许网络模型对特征进行重新校准,自动获取到每个特征通道的重要程度,从而能够学习使用全局信息来选择性地强调信息性特征,对无用的特征通道进行抑制并且激励有价值的特征通道,从而使特征指向性更强,通过这种方式训练模型以达到更好的结果。SE块分为挤压(squeeze)、激励(excitation)和缩放(scaling)这3部分,结构如图4所示。

图4 挤压-激励模块结构

将U表示为来自上一层的特征。经过全局平均池化(即挤压操作)后,通过将U缩小到空间维度H×W(W=1)中,生成z∈RN,其中N为通道数,计算z的第n个元素的公式如下:

(15)

SE块采用了一种简单的门控机制,选取Sigmoid激活函数作为“激励”操作:

s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))

(16)

最终SE块通过Scale操作,归一化相应权重并附加至每个通道的特征输出,计算公式如下所示。

(17)

1.2.4 SE-ResNet模块

SE块具有较高的灵活性,能便捷地嵌入大多数网络结构中,并且取得不错的效果。本文将SE块嵌入到ResNet结构中,如图1中SE-ResNet模块所示,其中SE块作用于式(14)之前。文献[15]中ResCNN-9模型(包含1个卷积层和4个残差卷积块)的关系抽取性能最优,因此本文采用1个卷积层和4个SE-ResNet模块对输入向量进行特征学习。

1.2.5 池化

(18)

随后结合3个池化向量得到一个三维向量Pi={pi1,pi2,pi3},连接所有Pi并通过双曲正切函数运算得到最终输出向量,计算公式如下所示。

k=tanh(P1:n)

(19)

其中,k∈R3n,已经是一个固定长度的向量,与原句子的长度无关。

1.3 分类层

将池化后的特征向量k传递到全连接层的Softmax上,采用dropout策略[20]防止过拟合并计算每个关系的概率分布,公式如下所示。

O=Ws(k⊙g)+bs

(20)

其中,O∈Rn1为置信向量,Ws∈Rn1×3n为权重矩阵,bs∈Rn1为偏置项,n1为关系类别数量,⊙为元素相乘运算,g表示概率为p的伯努利随机变量的向量。则第i个关系类型r的条件概率为:

(21)

其中,M为句子向量的集合,θ为模型中可训练的参数。假设训练样本为T,则定义目标函数如下所示。

(22)

采用小批量梯度下降的优化方法约束目标函数,参数更新公式如下,其中μ为学习速率。

(23)

2 实验及结果分析

2.1 实验环境

本文的实验环境如下:处理器为Inter Core i7-7700;操作系统为Windows 10,内存为DDR4(16 GB),编程语言为Python 3.6.4版本,实验程序基于开源的深度学习框架Tensorflow-GPU 1.9.0版本完成,搭载在单块GTX1070(8 GB)上执行。

2.2 数据集

为了评估BiLSTM_SE_ResCNN新型混合关系抽取模型,本文采用远程监督关系抽取任务中普遍使用的NYT-Freebase数据集。该数据集于2010年由Riedel等[21]提出,将Freebase知识库中的实体与纽约时报(NYT)文本库对齐而生成[22]。该数据集关系类型样例如图5所示。

图5 实验数据集中的关系类型

该数据集分为训练数据集和测试数据集,由522611个实体共现句、281270个实体对和18252个关系事实构成训练数据集。由172448个实体共现句、96678个实体对和1950个关系事实构成测试数据集。语料中的关系类型共53种,其中包含52类通用关系和1类特殊关系“NA”(表示2个实体不存在关系)。数据集中的关系实例如表1所示。

表1 实验数据集中的关系实例

2.3 评价指标

本文对模型的评估方法为文献[2]中采用的留出法(held-out),实体关系抽取常用的评价指标为准确率Precision(P)、召回率Recall(R)和前N项准确率(P@N),N取100、200、300,其计算公式分别如下:

P=TP/(TP+FP)

(24)

R=TP/(TP+FN)

(25)

P@N=SeqN/N

(26)

其中,TP为真正例,表示被模型正确分类的正例个数,FP为假正例,表示被模型错误分类的正例个数,FN为假反例,表示被模型错误分类的负例个数。P@N表示对返回的实体对按预测概率从大到小排序,取前N项结果进行准确率计算,SeqN为前N项中被正确分类的个数。同时,通过绘制准确率-召回率曲线(PR)来直观展示实验结果。

2.4 数据预处理和参数设置

在训练模型前,需要对数据进行预处理,使用Gensim工具包中的Word2vec工具,通过Skip-gram模型预训练词向量[23]。在本文模型训练中引入L2正则化避免过拟合,采用小批量梯度下降方法对参数进行调优,并使用网格搜索方法(Grid-Search)确定各个参数。最终实验所采取的超参数如表2所示。

表2 实验超参数设置

2.5 实验结果分析

2.5.1 BiLSTM_SE_ResCNN模型有效性验证

为了评估本文提出的实体关系抽取方法的性能,将BiLSTM_SE_ResCNN模型与表3中几种基线模型进行对比。

表3 关系抽取基线模型

各个模型对比结果如图6所示,从PR曲线可得知,本文模型的性能远高于传统远程监督模型(Mintz、MultiR、MIML),特别是当召回率大于0.1时,传统的关系抽取方法准确率大幅下降,而本文的模型下降幅度不大,依旧取得较高的准确率。这种差异的原因是传统远程监督模型无法消除大量错误标注带来的不良影响,而BiLSTM_SE_ResCNN模型能避免许多错误的标注,更清晰地掌握句子的语义信息。ResCNN-9模型在不使用分段最大池化和注意力机制的情况下取得与PCNN+ATT模型相近的效果,说明残差网络在不增加额外参数和计算复杂度的情况下,能很好地传递底层的特征,同时解决了网络梯度消失的问题。在召回率小于0.4之前,BiLSTM_SE_ResCNN模型的准确率均高于其他模型,在句子编码阶段能够充分学习特征,该混合模型优于主流的关系抽取模型,展现出更好的实体关系抽取性能。表4中各模型的P@N均值表明,在高可能性的分类上,BiLSTM_SE_ResCNN模型的效果要好于其他基于神经网络的实体关系抽取模型。

图6 各个模型对比结果

表4 不同模型下的P@N

2.5.2 加入BiLSTM和SE块的影响分析

为了分析加入BiLSTM和SE块带来的影响,基于ResCNN-9模型进行以下对比实验,结果如图7和表5所示。

图7 加入BiLSTM和SE块的实验对比结果

表5 加入BiLSTM和SE块的P@N

1)SE_ResCNN_max模型表示在ResCNN-9模型的基础上加入SE块,池化阶段与ResCNN-9保持一致,采用最大池化的方法。

2)SE_ResCNN_piecewise模型表示在ResCNN-9模型的基础上加入SE块,并在池化阶段采用分段最大池化来代替最大池化。

3)BiLSTM_SE_ResCNN是本文的模型,表示在SE_ResCNN_piecewise模型基础上,在向量表示层加入BiLSTM网络来获取词语上下文信息。

1)对比SE_ResCNN_max和ResCNN-9模型曲线,当召回率小于0.15时,SE_ResCNN_max的精确率要高于ResCNN-9,随后基本保持一致,说明加入SE块能对特征进行重新校准,有效过滤数据噪声,有助于模型性能的提升。

2)SE_ResCNN_piecewise模型曲线总体在SE_ResCNN_max曲线之上,说明在本文实验模型中采用分段最大池化策略优于最大池化的方法,实体间的结构信息对于关系抽取也十分重要。

3)BiLSTM_SE_ResCNN模型曲线整体优于SE_ResCNN_piecewise模型曲线,特别是在曲线前半段和后半段准确率更高,中间段持平。这是因为在向量表示层加入BiLSTM网络不仅能提取远距离依赖信息,而且能学习到上下文信息,再结合词向量和位置向量,把更丰富的特征向量提供给句子编码层进行学习,提高关系抽取准确率。由表5可知SE_ResCNN_piecewise融合BiLSTM后P@N均值提升了2.7个百分点,较ResCNN-9提升了6.4个百分点。

综合以上对比结果可以得出结论:本文模型能有效减弱噪声的影响,加强了对特征的传递,对句子的表征能力更强,极大提升了实体关系抽取的效果。

3 结束语

为充分获取文本的语义信息和上下文结构信息以及同时解决远程监督数据噪声带来的干扰问题,本文提出了一种基于双向长短期记忆网络和残差卷积神经网络的实体关系抽取方法。通过BiLSTM网络学习词语上下文信息,利用SE块和ResNet更好地编码句子信息,有助于降低远程监督关系抽取任务中的噪声。通过实验对比,证明本文方法能有效提升实体关系抽取的性能,具有较好的应用前景。下一步的工作可以在实体关系抽取任务中采用不同的激活函数进行实验,尝试在向量表示层使用性能更优的门控循环单元(GRU)来代替LSTM。

猜你喜欢

池化残差向量
基于高斯函数的池化算法
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
向量的分解
卷积神经网络中的自适应加权池化
聚焦“向量与三角”创新题
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法