融合BSRU和ATT-CNN的化学物质与疾病的关系抽取方法
2020-04-10曹春萍何亚喆
曹春萍,何亚喆
(上海理工大学 光电信息与计算机工程学院,上海 200093)
1 引 言
随着科学技术的不断进步以及对生物医学研究的逐渐深入,生物医学文献的数量随之迅速增长.海量的生物医学文献中蕴含着丰富的生物医学知识,这些知识对人类来说拥有难以估计的价值,它不但可以对现阶段的医学事业建设提供有效的帮助,也可以帮助人们构建一个覆盖面广且内容精准的医学知识图谱.因此,面向生物医学领域的信息抽取技术成为了自然语言处理和生物信息等众多领域研究成果之上的前沿学科.
针对生物医学领域进行信息抽取的多个研究方向中,生物医学中实体关系的抽取问题举足轻重.目前,从非结构化文献中提取化学物质和疾病的关系(Chemical Disease Relation,CDR)引起了越来越多研究人员的关注.化学物质和疾病之间的关系对于许多生物医学应用是至关重要的,例如药物警戒、药物重新定位和构建生化网络等[1],通过这些知识网络能够加强人们对药物与疾病关系的定义和认知,能够针对疾病更加精准的使用化学物质,从而有效且高效的达到治疗效果.化学物质与疾病的关系成为研究的热点后,多种应用于化学物质诱导疾病(Chemical-induced Disease,CID)关系抽取的模型数量逐渐增多,人们利用专业知识标注制作了特征更多的特征集,渴望提高针对化学物质与疾病的关系抽取效果,但是仍存在一些不足,例如不能充分使用特征信息导致模型性能不佳的情况等.综上所述,结合现阶段生物医学关系抽取任务的发展趋势和其中仍存在的问题可以发现,生物医学文献中针对化学物质与疾病的实体关系抽取方法依然具有很大的研究价值.
2 相关研究
在过去的几年中,人们通过各种方法进行化学物质和疾病的关系抽取,主要包括三大类方法:基于统计的方法、基于规则的方法和基于机器学习的方法.Chen等人[2]利用文本挖掘和统计技术,采用共现统计方法计算并评价每种疾病与相关药物之间的关联强度,生成疾病药物对的排序列表.Mao等人[3]使用基于统计的方法,在社交媒体中研究药物的不良反应,分析药物与疾病的关系.通过统计的方法研究化学物质与疾病的关系,通常实验结果会有较高的召回率,但是精确度会比较低,不能满足构建医学知识图谱的要求.Khoo等人[4]使用基于规则的方法,利用根据句法分析树手工构造的图形模式来提取MEDLINE摘要中的因果关系,提取与解析树匹配的部分作为原因或结果.Xu等人[5]设计了一种系统,通过从包含已知药物副作用对的句子中学习句法模式,从生物医学文献中提取药物副作用.基于规则的方法过于耗时,需要耗费大量的人工对语料进行标注,并且在一个语料库上手动构建的规则不适用于另一个语料库,泛化能力较弱.
机器学习在近些年开始成功应用于实体关系抽取的相关研究,传统的方法不仅消耗人力和时间,并且在特征提取方面也容易产生误差从而影响最终的抽取效果,与之相比机器学习的抽取算法不仅更加高效便捷,并且能够更好地利用文本的结构信息,一些学者将关系抽取问题看作是多分类的问题.Zhou等[6]人采用基于核的支持向量机(SVM)方法,通过捕获化学物质与疾病间的句法关联来完成关系抽取.Xu等[7]人开发了一个基于支持向量机的系统,在句子级和文档级将丰富的基于知识的特征输入到两个支持向量机中,在BioCreative V CDR挑战中排名第一.Zhou等[8]将长短期记忆网络(LSTM)网络和基于核的支持向量机模型结合使用,使用支持向量机捕捉句法特征,使用长短期记忆网络捕捉潜在的语义特征.Zeng等[9]人将卷积神经网络用于关系分类的任务中,引入了词的位置特征,使用softmax分类完成关系抽取任务.这些模型虽然在综合性能上有了很大的提升,但是仍存在句子长度过长和成分更加复杂导致的特征丢失情况,影响到最终的关系提取效果.
针对化学物质与疾病的关系抽取,标准数据大都是PubMed文献的题目和摘要,存在着大量复杂句.例如,有些句子长度超过60词且具有多个从句和复杂的并列关系,如果仅仅从原句层面去提取特征,一定会存在特征提取不全、噪声过多等问题.本文针对长文本中实体数量众多且实体关系复杂的情况建模研究,提出将双向简单循环神经网络[10]与带注意力机制[11]的卷积神经网络[12]相结合实体关系抽取模型,充分学习文本中的长距离依赖信息和句中实体的多种特征信息,解决特征提取不全导致的关系抽取效果不佳.实验结果表明,本模型对医学文献中化学物质与疾病关系的抽取具有优秀的表现.
3 BSRU和ATT-CNN模型
基于BSRU和ATT-CNN的实体关系抽取的模型(如图1所示),首先将标注后的生物医学文献映射为词向量输入到BSRU中,BSRU模块负责将文本中实体的语义特征、位置特征、上下文信息特征等多种实体特征表示为向量形式,随后将向量传入ATT-CNN模块中,注意力机制根据文本的多种信息特征结合语义特征分配不同权重,减少并列实体关系的影响,CNN模块使用多个大小不同的卷积核进行学习计算,充分学习文本中的长距离依赖信息特征和句中实体的多种特征,分段池化减少特征的丢失,进一步提升关系抽取的精准性.最后通过softmax进行归一化处理,与关系类别的标签对应后完成关系抽取任务.
图1 模型流程图
3.1 BSRU模块
针对句子长度较长、并列关系较多的复杂情况,使用BSRU将文本句子转换为句子矩阵,引入位置特征、语义特征、上下文信息特征等多个实体特征,保证在学习提取时将文本信息使用最大化,减少有效特征的丢失,从多个角度提升关系抽取的精确性.
3.1.1 词向量表示
词向量表示是自然语言处理中一组语言建模和特征学习技术的集合名称,它通过对词语的上下文建模来构造包含语义信息的词向量表示.一个句子包含l个词,每个词会被转化成一个d维的向量,此句子就可以表示为S=[w1,w2,…,wi,…,wl]T.其中wi∈Rd对应句中第i个词的d维词向量.
3.1.2 位置特征
在一个句子中,两个实体的关系往往存在于它们之间且与它们的距离与其他实体对相比要近很多,所以本模型中在特征向量中加入了词语的位置特征,提高模型抽取实体关系的准确性.例如句子“Lithium carbonate may be a factor in the increasing incidence of congenital heart disease when taken during early pregnancy.”句中化学物质为“lithium carbonate”,疾病为“congenital heart disease”,单词“increasing”与两个实体的距离分别是-7、3,这两个到实体的距离会被映射成两个dl维度的向量d1,d2,随后拼接成一个可表示关系词语位置特征的位置向量L=[d1,d2].
3.1.3 上下文信息特征
简单循环网络(SRU)基于循环神经网络(RNN)进行改进.SRU和RNN之间的主要区别是隐藏层中添加的“单元状态”部分,该部分用于判断和过滤培训过程中的有效信息.由于RNN存在梯度消失问题,故当一个句子较长时,RNN便不能很好的学习到远距离的依赖信息.为了解决这个问题,在学习远距离依赖方向表现优秀的长短期记忆网络[13](LSTM)被提出.LSTM通过三个门函数实现对句子信息的远距离学习,包括输入门,输出门和遗忘门,输入门决定在当前时刻将那些新的信息有选择性的记录到细胞状态中,输出门负责将当前时刻的信息输出到隐层中,遗忘门负责将细胞状态中的信息选择性的遗忘,保留重要的,遗忘相关度较低的.LSTM因参数较多且计算复杂导致难以训练.门控神经单元(GRU)大幅简化了LSTM的结构,将LSTM模型中的遗忘门和输入门合并成单一的更新门,是目前应用最广泛的简化变体之一.GRU与LSTM相比得到了简化,但是在GPU上面计算时仍然存在效率不高的情况,这主要是因为GRU的前后两个时刻的计算存在依赖性.所以SRU去掉了前后时刻计算的依赖,实现并行计算从而获得更高的加速比,并且在计算的精度上并没有降低.由于单向SRU只能学习到前文或者下文的信息,所以本模型使用BSRU(如图2所示),学习文本的上下文信息.
图2 SRU原理图Fig.2 SRU schematic
SRU模型中包括了两个门函数:遗忘门和重置门.将学习过程拆分成两次,分别使用单向的SRU学习上文和下文的信息.学习上文信息时,每一个词语wi都需要学习该词语前一个词汇的词向量及其上文信息向量,在这里用p(wi-1)表示词向量,用c(wi-1)表示上文的信息向量.SRU的计算流程如下:
g(t)=Wxt
(1)
ft=σ(Wfxt+bf)
(2)
rt=σ(Wrxt+br)
(3)
ct=ft⊙ct-1+(1-ft)⊙g(t)
(4)
ht=rt⊙g(ct)+(1-ft)⊙xt
(5)
上式中xt代表t时刻的输入;gt是对输入做了线性变换;W、b代表权重和偏置向量;ft代表t时刻的遗忘门(forget gate);rt代表t时刻的重置门(reset gate);ct和ht分别代表t时刻的状态和最终的输出;σ和g分别代表Sigmoid函数和激活函数(tanh、ReLU);公式中的⊙代表向量对应元素相乘.
在本模型中,输入xt是上一个词语的词向量和上文信息向量拼接而成,即p(wi-1)⊕c(wi-1).下文信息学习的过程与前文相似,使用后向的SRU对下文信息进行学习,这需要先对最后一个词进行学习,随后在逐个向前,此时公式变为:
g(t)=W[p(wi+1)⊕c(wi+1)]
(6)
ft=σ(Wf[p(wi+1)⊕c(wi+1)]+bf)
(7)
rt=σ(Wr[p(wi+1)⊕c(wi+1)]+br)
(8)
ct=ft⊙ct-1+(1-ft)⊙g(t)
(9)
ht=rt⊙g(ct)+(1-ft)⊙[p(wi+1)⊕c(wi+1)]
(10)
这样,我们就得到了每个词语的词向量及它对应的上文信息向量和下文信息向量,再将这些信息与每个词语的位置向量进行拼接,即可得到包含多种句子特征信息的特征向量.
3.2 ATT-CNN模块
此模块主要由两个部分构成,即注意力机制(Attention)和卷积神经网络(CNN).ATT-CNN模型就是将Attention加入到CNN的输入层和卷积层之间,使用Attention根据多种信息特征结合语义特征为文本中的实体分配不同的权重,减少由于其他实体关系并列存在而造成的干扰,CNN在卷积层使用不同大小的卷积核同时进行卷积,提取更多更全的信息,池化层采用分段池化策略,减少信息丢失,保留更多的重要文本特征.最后经过softmax的分类器进行归一化处理,完成实体关系的抽取.
3.2.1 注意力机制
深度学习中注意力机制的本质来自于人类视觉注意力机制.注意力机制在机器翻译和自然语言处理方面最为流行,这得益于它可以帮助记忆长序列的句子输入,与传统方法借助最后一个隐藏单元的输出构建单一上下文向量相比,注意力机制为上下文向量和所有序列输入的信息建立连接.所有的输出元素下的连接权重都是通过自动学习得到的,上下文向量因为考虑了整体输入序列信息,故不存在丢失的问题.本模型在输入层和卷积层之间加入注意力机制,根据多种信息特征结合语义特征减少噪声干扰.
注意力机制大多数依附于Encoder-Decoder框架,编码器层负责将输入的原始语句经过非线性变换转化成中间语义表示,解码器层负责将中间语义和之前生成的历史信息转换成目标结果.在计算 Attention 时首先将Query和Key进行相似度计算得到权重,随后将所得到的权重进行归一化处理,常用softmax函数,最后将权重和对应的键值 Value进行加权求和得到Attention.注意力机制的计算过程如下:
f(Q,Ki)=Wa[Q;Ki]
(11)
(12)
Attention(Q,K,V)=∑iaiVi
(13)
在本模型中,将带有多种信息特征的句子矩阵输入进Attention中,将每个词结合其语义与目标关系进行相似度匹配,经过加权求和得到实体对间关系的注意力值,即权重.权重更高的实体关系能够正确体现目标关系的可能性就更高,达到减少并列实体关系噪声干扰的效果.
3.2.2 卷积神经网络
卷积神经网络是包含卷积计算且具有深度结构的前馈神
图3 卷积神经网络结构图Fig.3 CNN Structure diagram
经网络,是深度学习的代表算法之一,具有参数共享、稀疏连接和平移不变性等特性.本模型中的卷积神经网络(如图3所示)使用不同大小的卷积核进行卷积操作,学习数据特征,通过分段池化操作提取特征中的最有效的特征,同时减小过拟合.每一次卷积和池化操作后,即可得到一个包含文本特征的特征矩阵,随后将多个包含不同信息的特征矩阵集成即可得到一个特征更全面的矩阵.卷积神经网络一般情况下分为输入层、卷积层、激励层、池化层、全连接层,每一层在本文模型中的详细作用如下:
1)输入层.该层主要是接收经过Attention模块筛选过的带有多种信息特征的句子矩阵,该矩阵是由n个带有多种信息特征的单词组成.单词xi与句子S表示如下:
Xi=[c(wi);l(wi);p(wi)]
(14)
S=[x1,x2,…,xn]T
(15)
其中c(wi)表示单词的词特征,l(wi)表示单词的位置特征,p(wi)表示单词的上下文信息特征.
2)卷积层.该层使用卷积窗口进行卷积运算,学习数据特征,每一个卷积窗口都有一个权重为W的卷积核.在本模型中卷积核使用多种大小不同的卷积核,这样可以保证学习到多种特征,所有的步长都设置为1,对于超过的边界的特征也会进行扩充,把所有的扩充值设置为0向量.卷积核的权重随机设置初始值,会随着训练调整到最佳.经过不同大小的滑动窗口的一系列卷积操作后,实体间的多种特征会被提取出来.卷积层的数学表达式:
(16)
上式中,f(x)表示激活函数;b为偏置;ωn,m表示卷积核(n,m)位置对应的权值;N,M是卷积核的长和宽;u表示上一层的输出.
3)激励层.激励层的作用主要是将卷积层的输出结果进行非线性映射,用来确定传给后续神经元的刺激大小.本模型中采用的激励函数是ReLU,该函数的特点是收敛快,求梯度较为简单.ReLU函数数学表达式为:
f(x)=max(0,x)
(17)
4)池化层.池化层在连续的卷积层中间,用于压缩数据和参数的数量,减小过拟合,便于以后的优化.常见的方法都是最大池化策略,使用该方法即可在每一个卷积核学习的特征中选择出最大值,提取出最有效的特征.但是在多实体多关系的抽取中,最大池化策略不能很好的学习到每一个实体关系的结构信息.所以本文采用分段最大池化策略的方法,将每一个卷积核提取的特征值以两个目标实体将整句分割成为三段,分别取每一段中的最大值,最后对这些最大值进行拼接作为最终的特征向量.
pij=max(cij)
(18)
其中,i∈[1,n],j∈[1,3],最终的特征向量为pi={pi1,pi2,pi3}.
5)全连接层.全连接层在整个卷积神经网络负责将前层学习到的“分布式特征表示”映射到样本标记空间,但是全连接层参数冗余,全连接层的参数数量可以占到整个神经网络参数总数的80%,这会消耗大量的内存,影响模型的性能.本文使用全局平均池化层(GAP)取代全连接层(FC).GAP可以直接用特征图表示某个类的置信度,可以有效的减少参数数量,降低过拟合发生的概率.
3.2.3 softmax分类
模型最后是softmax分类层,使用该模型进行分类.本文将实体关系抽取视为多分类任务,关系类别的标签会对应多个不同的值,需要计算模型输出的分类特征与每一种关系的匹配分数:
o=Wφ+b
(19)
上式中,o表示与目标关系的匹配分数,W表示权重矩阵,φ表示输出层输出的分类特征,b为偏置向量,则第i种关系的概率条件是:
(20)
上式中T为句子矩阵的集合,θ为模型参数的集合,n为关系总数.
4 实验及结果分析
4.1 实验数据
实验使用BioCreative V的CDR语料库与CTD数据库评估本文模型.该语料库包括1500篇PubMed文章,1000篇构成训练集和开发集,500篇构成测试集.语料中共标注了15935个化学物质,12850个疾病和3116个化学物关系.语料中还根据医学主题词概念标识符(MeSH)为相同医学实体进行归一化处理,避免了将同一实体识别成为不同实体的错误,例如文本“Naloxone reverses the antihypertensive effect of clonidine.”,数据集标记出“Naloxone”的类型、位置、长度、是否是医学主题词等多个属性,数据实例如图4所示.
4.2 实验过程与评价标准
4.2.1 实验过程
实验的第一步是数据处理,使用word2vec工具和Skip-gram模型将数据集中的文本转换成词向量表示,词向量维度设置为50维.第二步将训练后的词向量输入到BSRU模块中提取文本单词的语义特征、位置特征、上下文信息特征等,特征向量的维度以最大的向量维度为准,其他向量不足时用0向量填充.BSRU将所有逐元素相乘的操作放入一个核函数中,使模型计算效率明显提高,大幅加快了模型的训练速度.第三步将多种词特征拼接后输入到ATT-CNN模块,注意力机制根据多种特征信息结合语义给予目标关系更高权重,降低其他并列实体关系对化学物质与疾病关系抽取的干扰,CNN模块卷积层使用多个不同大小的卷积核对多种词特征进行学习计算,卷积核的权重矩阵值,初始值随机生成,随着训练进行改变,在同一个特征映射矩阵中使用相同卷积核,减少参数的训练时间.经实验验证使用多个不同大小的卷积核的CNN能够有最佳的表现,卷积核的大小设置为3、5、7.池化层使用分段池化策略,在降低维度的同时能够最大化的保存文本特征.实验最后使用softmax分类器完成关系分类,完成关系抽取任务.实验中主要参数如表1所示.
表1 实验参数表
Table 1 Experimental parameters table
参数名称 参数值 学习速率0.001 Dropout0.5 Batch_size32 词向量维度50 卷积核大小3-7 优化函数Adam模型优化器
4.2.2 评价标准
本实验采用在实体关系抽取任务中通用的评价标准准确率P、召回率R和F1(F-measure)来对模型的性能进行评估,各个指标的计算公式如下:
(21)
(22)
(23)
其中,F1值用来衡量模型的整体性能.
4.3 实验结果与分析
为了探索实验模型在生物医学领域的抽取效果,本文设置了多个对比实验,从多个角度验证模型的有效性.
1)使用不同大小的卷积核进行对比
表2 不同大小的卷积核对比实验结果(%)
Table 2 Comparison of experimental results of
convolution kernels of different sizes(%)
模型 准确率召回率F1值卷积核为364.360.762.4卷积核为566.062.163.9卷积核为765.263.664.5卷积核为3-767.164.865.9
从表2可以看出,不加入注意力机制时,使用相同大小的卷积核,核大小为5时关系抽取的准确率最高,核大小为7时关系抽取的召回率最高,核大小为7时模型的整体性能最好.研究发现核大小为5比核大小为3时可以收集到更多的特征和边界信息,因此抽取结果的准确率有了相应的提高,但是当核大小到达7时,模型的准确率反而有了一定的降低,这是因为随着核大小的增加收集到的噪声也会变多,过多的噪声影响到实体关系抽取结果的精准性.另一方面,模型的召回率随着卷积核大小变大而提高,究其原因是大尺寸的卷积核拥有更大的感受野,减少了由于短语过长而导致的特征丢失.故本模型使用不同大小的卷积核,使用核大小为3、5、7同时对文本进行特征学习和提取,将学习到的特征进行综合加权,可以使学习到的特征更有代表性,多种特征的组合可以更有效的表达特征间的关系,能够提取到更多的边界特征,与单一大小的卷积核模型进行比较,本文模型在准确率和召回率两方面均有更加优秀的表现.
2)注意力机制对模型表现的影响
表3 加入注意力机制的对比实验结果(%)
Table 3 Comparison of experimental results with
attention mechanism(%)
模型 准确率召回率F1值BSRU+CNN67.164.865.9BSRU+ATT-CNN71.469.270.3
实验首先使用BSRU学习文本的多种特征信息,将多种特征用向量表示,随后分别使用CNN和ATT-CNN对带有多种特征的文本卷积提取特征,完成关系抽取任务.由表3可以看出加入注意力机制的模型性能在准确率和召回率都有了一定的提高,这是因为注意力机制可以为目标实体关系给予更高的权重,减小其他并列关系对提取结果的噪声影响,从而使抽取结果更优.
3)本文模型与其他模型的对比
表4 与其他模型实验的对比结果
Table 4 Comparison with other model experiments
模型 准确率召回率F1值启发式规则[14]59.362.360.8ME[15]62.055.158.3CNN+ME[16]60.959.560.2LSTM+SVM+PP59.668.463.7SVM+KBs[17]68.266.067.1BSRU+ATT-CNN71.469.270.3
表4中第一种方法使用基于规则的传统方法进行关系抽取,达到了60.8%的F1值.这种方法拥有一定的竞争力,但是由于规则依靠人工制定,导致此方法过于消耗时间和人力资源.第二种方法使用最大熵模型分别构建句内分类器和句间分类器,提出一种基于层次化的特征提取方法,是机器学习应用在关系抽取的较好尝试,模型在准确率方面表现优秀,在召回率方面表现相对较差.第三种方法使用上下文依存表示的卷积神经网络加上最大熵模型构建的关系分类器,可以更加准确的捕获实体关系的语义特征,最终达到了60.2%的F1值,与之前的机器学习方法相比有了更好的效果.第四种方法提出将LSTM与SVM结合的复合抽取模型,先分别使用LSTM和SVM抽取关系,再将它们的抽取结果进行线性融合,模型的召回率有了可观的提升,F1达到了63.7%,体现出循环神经网络对关系抽取的有效性.第五种方法使用SVM分类器加上多种统计特征、语言学特征和CTD知识库特征,扩充了训练实例和特征集,由于获取到的特征更多,使抽取的准确率有了较大的提升,F1值取得了67.1%的优秀表现.本文模型使用BSRU学习文本多种特征,ATT-CNN在减少噪声影响后使用不同大小的卷积核学习文本的多种特征,分段池化后通过分类完成关系抽取,与其他几种方法相比,模型可以获得更多的文本特征,降低噪声对抽取目标关系的影响,减少信息丢失,使准确率和召回率均有相应提高,验证了本文模型在生物医学文献中实体关系抽取的较好效果.
5 结束语
生物医学领域文献中的实体关系抽取仍存在许多问题,本文从其中的一个角度出发,针对句子较长且实体关系复杂的问题,提出了一种使用双向SRU与ATT-CNN结合的模型,BSRU学习长文本的远距离依赖信息和多种词特征,ATT-CNN使用不同大小的卷积核卷积学习,为解决由于文本过长导致噪声增多,提取特征不全面的问题提供了一种较好的方法,使针对生物医学文献中化学物质与疾病的关系抽取效果有了一定的提升.