融合依存信息Attention机制的药物关系抽取研究

2019-04-02 02:55李丽双周安桥郭元凯
中文信息学报 2019年2期
关键词:语料向量实体

李丽双,钱 爽,周安桥,刘 阳,郭元凯

(大连理工大学 计算机科学与技术学院,辽宁 大连116024)

0 引言

生物医学实体关系抽取,旨在抽取生物医学文献中两个实体之间的关系并识别出其关系类型,例如,基因、疾病、蛋白质及药物等实体之间的关系。药物相互作用(Drug-Drug interaction, DDI)关系抽取是一种多分类且不区分关系方向的实体间关系抽取任务。研究DDI能够为生物医学数据库的构建和维护提供更深层的信息,为疾病治疗、药物开发、生命科学研究提供更为重要的参考。

近年来,药物—药物关系抽取模型一般分为基于浅层机器学习和深度学习两种方法。例如,Chowdhury[1]等使用两阶段系统来实现DDI任务。第一阶段使用特征核、浅层语言学核和闭包树核相结合的组合核分类器进行二分类;第二阶段根据四种不同的DDI类型构建组合核分类器进行多分类。令其在DDIExtraction2013评测[2]中获得最好的成绩,F值达到65%。Kim[3]等使用词特征、词对特征、解析树特征和名词短语一致性等,构建基于特征的核函数,在DDIExtraction2013语料上F值达到67%。浅层机器学习方法主要依赖于大量复杂的特征集来提高模型性能,但设计和抽取特征需要耗费大量的人力物力。相比之下,深度学习方法能够自动组合低层特征,形成更加抽象的高层特征表示,避免了大量人工特征的使用,在关系抽取等领域应用广泛。例如,Liu[4]等仅使用词向量和位置向量作为输入,未添加任何人工特征,结合卷积神经网络实现分类,在DDIExtraction2013语料上F值达到69.75%。Quan[5]等提出了多通道卷积神经网络(MCCNN)获取多种语义表示,在DDIExtraction2013语料上F值达到70.20%。

注意力Attention[6]机制最初只应用于计算机视觉中的图片识别任务,现已被成功应用于问答系统、机器翻译等多个自然语言处理领域。在DDI关系抽取任务中,Attention机制也展现出了明显的优势。例如,Miwa[7]等使用Attention机制强调实体信息在句子中的重要性,在DDIExtraction2013语料上的F值达到69.12%。Sahu[8]等构建池化Attention机制判断句子中各部分的重要性,在DDIExtraction2013语料上的F值为71.48%。Zhou[9]等使用Attention机制突出句子中距离实体近的单词对关系的影响,在DDIExtraction2013语料上的F值达到72.99%。以上Attention机制主要突出实体信息、距离信息以及池化作用的影响,但没有从句法结构的角度判断句子各部分的重要性。也就是说,如何构建句法结构的注意力机制,从而有效提高关系抽取的性能还有待研究。

针对DDI任务而言,语料中存在着大量复杂句子。例如,具有多个从句、具有较复杂的并列关系、具有最长句子长度超过150词等特点的复杂句子,仅从原句子层面很难学习到语义和句法结构等依存信息。因此,引入句法信息对于DDI抽取至关重要。在一般领域关系抽取中,相关研究[10-12]表明,句法信息如依存解析树、最短依存路径等,能够获得更多有效信息,去除多余的噪声,从而提高复杂关系抽取性能。其中,利用句法信息的方式主要为Liu[10]等将句法信息和原句信息词向量拼接作为模型输入、Yan[11]等将句法信息和原句信息的神经网络输出拼接以及Miwa[12]等树型网络结构等。在DDI任务中,主要通过拼接方式使用依存信息提高模型性能。例如,Zhang[13]等使用多层RNN网络集成最短依存路径SDP信息和原句子信息。首先输入原始句子和对原句进行依存分析得到的最短依存路径SDP序列,分别经过双向RNN(BiRNN)学习;然后将BiRNN的输出拼接;最后,使用一个顶层RNN结合原句子整体信息和SDP信息,这样,在DDIExtraction2013语料上F值达到72.90%。虽然上述方法使用SDP信息丰富了模型的输入信息,但这种结合原句信息和SDP信息的方式存在一定的问题。其一,直接拼接原句子序列和SDP序列的特征,不能很好地判断序列中每个单词的重要性,无法准确地获得SDP序列包含的依存信息。其二,顶层BiRNN能学习输入序列的时序信息,而原句子序列和SDP序列之间并不存在时序关系,可能会导致模型引入过量信息。综上所述,如何更加合理地利用依存信息是当前关系抽取中需要解决的问题。

本文提出了一种融合依存信息Attention机制的药物关系抽取模型,使用注意力机制对原句子信息和最短依存路径SDP信息进行融合,该方法能够从句法结构的角度衡量原句子各部分对于实体间关系的重要性。首先,输入原句子序列和最短依存路径SDP序列;然后,将两个序列的词向量分别送入两个独立的BiGRU中学习其语义信息;接下来,使用最短依存路径SDP信息计算原句子序列的Attention权重;最后,使用加权后的句子表示进行分类预测。在DDIExtraction2013语料上的实验结果表明,该模型在未使用任何人工特征的情况下,有效地提高了模型性能,F值为73.70%,达到了目前的先进水平。

1 方法

本文提出了融合依存信息Attention机制的深度神经网络模型,模型架构如图1所示。

(1) 输入层: 该模型为多输入模型,分别为原句子序列(Sentence Sequence)和最短依存路径序列(SDP Sequence)。

(2) 嵌入层: 通过查询训练好的词向量表将输入的语句转换为相应的词向量序列。

(3) 编码层: 使用两个独立的BiGRU,分别学习原句子和SDP序列的抽象语义表示。

(4) Attention层: 计算原句子和SDP的相似度矩阵,融合SDP信息得到Attention权重,对原句子加权求和得到最终的句子表示。

图1 基于融合SDP信息Attention机制的DDI抽取模型结构图

(5) 输出层: 利用Attention层的输出,即融合过SDP信息的句子表示进行分类预测。

下面详细介绍最短依存路径和模型每层的设计细节。

1.1 最短依存路径SDP

最短依存路径SDP信息表征两个实体之间的依存关系,能够包含句子表达的主要信息,同时摒弃冗余的噪声信息。GDep依存句法分析器由日本东京大学Tsujii实验室研发,利用生物医学领域资源GENIA Treebank分析器对其训练,使得GDep分析器能够更好适用于生物医学文本挖掘领域。本文不采用传统的依存树状结构,而是将两个实体间的最短路径作为词序列输入进行训练。

如图2所示,原句子“Patientstreatedwithacebutololpluscatecholamine-depletorsshould,therefore,beobservedcloselyforevidenceofmarkedbradycardiaorhypotensionwhichmaypresentasvertigo,syncope/presyncope,ororthostaticchangesinbloodpressurewithoutcompensatorytachycardia.”,“acebutolol”为第一个目标实体,“catecholamine-depletors”为第 二 个 目 标 实 体。两

图2 最短依存路径实例图

个实体之间的最短依存路径为“acebutololcatecholamine-depletors”,两个实体之间的依存关系为“amod”,两个实体之间的DDI类型为“advice”。

1.2 嵌入层

该模型有两个输入,即原句子序列(Sentence Sequence)和最短依存路径序列(SDP Sequence)。为了获得词语的句法和语义信息,需要将输入序列的词语转化为词向量。原句子序列的词向量输入表示分别为X={x1,x2,…,xi,…,xn},xi∈Rd为句子中第i个单词的词向量表示(i∈[1,n]),n为句子长度,d为词向量维度。最短依存路径SDP序列的词向量表示为S={s1,s2,…,sj,…,sm},sj∈Rd为最短路径中第j个单词的词向量表示(j∈[1,m]),m为SDP序列长度。最后,将句子词向量表示X和最短依存路径词向量表示S,作为模型编码层的输入。

1.3 编码层

递归神经网络RNN是自然语言处理常用的神经网络模型,对处理时间序列和语言文本序列问题有独特的优势。然而,传统的RNN模型由于输入序列过长可能产生梯度消失或者梯度爆炸现象。为了解决这一问题,Kyunghyun[14]等提出了Gated Recurrent Unit(GRU)模型,通过特殊设计的门结构使得模型有选择地保存上下文信息。

*ht-1,xt])

(1)

gt=σ(Wg·[ht-1,xt])

(2)

zt为更新门,决定了过去隐含状态ht-1向下一个状态传递的程度,如式(3)所示。

zt=σ(Wz·[ht-1,xt])

(3)

ht=(1-zt)*ht-1+zt*ht

(4)

其中,σ是激活函数sigmoid,tanh表示双曲正切激活函数。xt是GRU单元输入,Wz,Wg,W代表学习得到的参数。t表示第t时刻,ht表示GRU第t时刻的输出。

为了得到序列的上下文信息,本文采用双向GRU(BiGRU)得到抽象语义表示。如式(5)所示,每个句子的最终隐层表示ht(x)由正向和逆向网络的输出拼接得到。

(5)

本文对原句子输入序列X和SDP输入序列S分别经过两个独立的BiGRU模型学习其语义信息和上下文信息,如式(6)所示。

(6)

原句子的BiGRU输出序列为Hsen={hsen,1,hsen,2,…,hsen,l}(Hsen∈Rn×2l),SDP的BiGRU输出序列为Hsdp={hsdp,1,hsdp,2,…,hsdp,l}(Hsdp∈Rm×2l),l为BiGRU隐层单元数。

1.4 Attention层

本文提出了一种融合依存信息Attention机制,图3给出了信息融合的过程。其中,Hsen和γ的每个单元表示一个向量,其他单元表示一个值。

图3 融合依存信息Attention机制原理图

首先,将编码层的输出序列Hsen∈Rn×2l和Hsdp∈Rm×2l作为输入,计算最短路径SDP与原句子Sentence的相似矩阵M,如式(7)所示。

M(i,j)=Hsen(i)T·Hsdp(j)

(7)

其中,M(i,j)∈Rn×m为矩阵中第i行第j列的分数值,矩阵M中的每个分值代表对应的最短路径SDP中一个单词与原句子Sentence中一个单词的相关性。

然后,使用SDP信息计算原句子各部分的Attention权重,具体如式(8)、式(9)所示。其中,式(8)使用tanh函数得到考虑SDP信息的分值αi∈Rn,Wα∈R1×n为权重矩阵。式(9)使用softmax函数计算原句子中每个单词的Attention权重βi∈Rn。

αi=tanh(Wα·M+b)

(8)

(9)

最后,使用得到的Attention权值βi与原句子Hsen进行加权求和,如式(10)所示,得到融合过SDP信息的句子表示γ∈R2l。

(10)

1.5 输出层

模型输出层将Attention层的输出γ作为最后的分类特征送入全连接层进行分类,候选药物—药物关系对y属于第c(c∈C)种DDI类型的概率P(y=c),如式(11)所示。

(11)

(12)

2 实验

2.1 实验数据与设计

2.1.1 语料介绍与预处理

本实验使用DDIExtraction2013[15-16]语料库,该语料库的文本来自DrugBank数据库和以药物关系为主题的MEDLINE文献摘要,共计1 017篇文档。该语料库包含3个数据库,分别为DrugBank、MEDLINE和包含前两个数据库的OverAll数据库,本实验使用OverAll数据库。DDIExtraction任务是多分类任务,共包含5种标注类型,分别为negative、effect、mechanism、advice、int。语料的具体情况统计如表1所示。

表1 DDIExtraction2013语料介绍

在进行实体关系抽取之前进行了语料预处理,主要进行了以下操作:

(2) 对语料集利用Stanford Tokenizer 进行分词处理,并且把数据集中的字符全部转化为小写。

(3) 根据相关研究[4,7,9]替换句中药物实体,具体将目标药物实体替换成“drug1”和“drug2”,将句中的其他实体替换成“drug0”,使模型更好地学习句子中能表征实体关系的语义信息而非实体本身的语义信息。

2.1.2 实验设置与评价标准

本文实验使用Keras深度神经网络框架来实现DDI抽取任务。结合DDI语料和Pubmed下载的背景语料,使用Glove工具训练得到词向量,词向量维度为200维。实验使用的超参数如表2所示。

表2 实验涉及的超参数设置

本文使用的评测标准是准确率(Precision,P)、召回率(Recall,R)和F值(F-score,F),如式(13)~式(15)所示。

(13)

(14)

(15)

其中,TP表示正例中判断正确的样本数,FP表示负例中判断错误的样本数,FN表示正例中判断错误的样本数。F值能够评价准确率和召回率的综合性能。

2.2 实验结果与分析

为了验证融合依存信息Attention机制的有效性,本文做了多个对比实验,结果如表3所示。

表3 融合依存信息Attention模型有效性对比实验

从表3可以看出:

(1) 只分别使用原句子、SDP信息作为模型输入时,F值为72.36%和51.0%。实验结果表明,当单独使用SDP信息作为输入时,模型性能较低。主要原因是SDP信息可以提取出两实体之间的关键词,摒弃冗余的噪声信息,适用于具有复杂结构的句子,但对于结构简单的句子存在的噪声较少,SDP可能会丢失更多有用的信息,导致识别精度降低。然而,语料中结构简单的句子数大于复杂句子数,所以只使用SDP作为输入时模型整体性能较低。

(2) 在同时使用原句子信息和SDP信息作为模型输入时,将常用拼接方式(concatenate)和本文的Attention融合方式进行了对比实验。拼接方式指将输入的原句子序列和SDP序列分别送入两个独立的BiGRU模型中学习,然后拼接两个BiGRU的输出,最后对拼接后的序列进行学习分类,该方法F值为71.06%。

从上面实验结果可以看出,直接拼接SDP信息后模型性能相比于单独用SDP作为输入时F值升高了19.16%,比单独用原句子信息作为输入时降低了1.3%。主要原因是采用两种输入序列经BiGRU的结果直接拼接的方式,会导致模型同等程度地学习两种信息。然而,对于复杂程度不同的实例,若原句子信息和SDP信息对关系抽取的影响程度不同,直接拼接不但没有很好地利用SDP信息,反而影响简单句子的判断,从而,导致拼接后模型整体性能降低。与之相比,本文使用融合依存信息的Attention机制,可以在充分学习原句子信息的基础上利用Attention机制合理地融合依存信息。相比于单独使用原句子的模型F值提高了1.36%,相比于单独使用SDP的模型性能提高了21.82%,相比常用拼接方式性能提高了2.66%。综上所述,本文提出的Attention方式可以更好地融合SDP信息,从而有效提高关系抽取的精度。

2.3 与现有其他工作的对比

2.3.1 采用Attention的模型对比

本节对于在DDI任务中采用不同Attention机制的模型性能进行了对比分析,如表4所示。

表4 采用不同Attention机制的模型对比

Miwa[7]等采用实体级Attention机制,分别计算两个实体向量与句子中的每个单词的相似度后求平均,强调实体信息在句子中的重要性,F值为69.12%。Yi[17]等使用多层Attention网络,使用词级Attention机制和句子级Attention机制。词级Attention机制是指对当前句子做Attention池化操作强调句中每个单词的重要性,句子级Attention机制对于具有相同实体对的句子集,强调句子间其相关性,F值达到72.2%。Zhou[9]等使用关注位置的 Attention机制,使用位置向量(每个单词和实体之间的距离)计算Attention权值,强调句子中距离实体近的单词的重要性,F值达到72.99%。从以上结果分析可以看出,不同的Attention机制都在一定程度上提高了识别精度。本文使用融合依存信息的 Attention机制,从句法结构的角度构建Attention,突出依存路径上的单词对两个实体间的关系的影响,F值达到73.72%,高于其他Attention模型。从以上实验结果可以看出,本文提出的融合SDP信息的Attention机制能够有效提高模型性能。

2.3.2 模型总体性能对比

本文与目前DDIExtraction2013语料上取得较好结果的方法做了比较,如表5所示。

表5 在DDIExtraction2013语料上与其他文献的比较

从表5可以看出:

(1) 深度学习模型在未使用任何人工特征的情况下,取得了较好的效果。浅层机器学习方法主要依赖于大量复杂的人工特征集来提高模型性能。例如,Kim[3]等结合词特征、n元组特征、词对特征、依存解析图特征、解析树特征等大量的特征信息,使用基于线性核函数的SVM分类器,F值达到67.00%。Raihani[19]等在传统特征集的基础上添加触发词类型、模式信息等新的人工特征,使用两阶段策略分类,F值达到71.14%。然而,深度学习方法在不使用任何人工特征的情况下,能够在本任务中取得较好的效果。例如,Quan[5]等使用卷积神经网络模型,F值达到70.20%。Sahu[8]等使用长短期记忆网络(LSTM)模型,F值达到71.48%。Yi[17]等使用GRU神经网络模型,F值达到72.20%。本文使用GRU神经网络模型,不仅避免了大量人工特征的使用,而且提升了系统性能,F值达到73.72%。

(2) 本文融合依存信息的Attention机制取得了最好的效果。在表5现有的系统中,Zhang[13]等考虑了最短依存路径信息,通过构建多层RNN网络并使用拼接方法结合最短依存路径和原句子信息,实验得到F值为72.90%。相比于表中其他没有考虑依存信息的模型,Zhang[13]等的模型F值明显较高,因此依存信息对于关系抽取有重要的作用。本文同样考虑依存信息,使用融合依存信息的Attention机制将最短依存路径信息与原句子相结合,实验得到F值为73.72%,相比Zhang[13]等的模型F值提高0.82%。

(3) 本文的模型总体F值最高,且准确率和召回率比较均衡。大多数现有模型准确率偏高,召回率偏低,导致模型F值较低。例如,Miwa[7]等模型的准确率最高为76.30%,但其召回率最低为63.25%,模型F值为69.12%,比本文模型准确率高2.92%,召回率低10.81%,F值低4.60%。Zhang[13]等模型的准确率为74.10%,召回率最高为71.80%,F值为72.90%,比本文模型性能准确率高0.72%,召回率低2.26%,F值低0.82%。Zhou[9]等模型的F值最高为72.99%,准确率为75.8%,召回率为70.38%,比本文模型准确率高2.42%,召回率低3.68%,F值低0.73%。综合对比以上分析可见,本文的模型F值最高,准确率、召回率和F值分别为73.38%、74.06%和73.72%,准确率和召回率比较均衡。

3 结论

生物医学关系抽取是自然语言处理任务中的重要课题,本文针对药物—药物关系抽取进行了研究。提出了一种融合依存信息Attention机制的深度学习模型,在DDIExtraction2013语料上进行了实验,F值为73.72%,该模型性能达到目前的先进水平。主要结论如下:

(1) 浅层机器学习方法需要构建合适的人工特征集,进行大量的特征选择实验,导致系统成本较高,泛化能力较低。因而,本文使用深层神经网络GRU模型,只使用原句子词序列和最短依存路径词序列,未使用任何人工特征,F值达到73.72%,性能高于浅层机器学习模型。

(2) 神经网络通过自动学习句子的高层特征表示进而避免了大量人工特征的使用,但无法获得句法结构等对于关系抽取十分重要的依存信息。因此,本文使用最短依存路径信息,相比于单独使用原句子信息的模型,性能提高了1.36%。

(3) 为了更合理地利用依存路径信息,本文摒弃了传统的拼接方式,提出了一种新的融合依存信息Attention机制,能够从句法结构的角度衡量原句子各部分对于实体间关系的重要性,该方法相比拼接方式性能提高了2.66%。

综上所述,本文提出的模型有效地提高了药物关系抽取的识别性能。在未来的工作中,将尝试多层Attention机制,进一步提高模型的精度。

猜你喜欢
语料向量实体
向量的分解
基于归一化点向互信息的低资源平行语料过滤方法*
聚焦“向量与三角”创新题
前海自贸区:金融服务实体
实体书店步入复兴期?
濒危语言与汉语平行语料库动态构建技术研究
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
对外汉语教学领域可比语料库的构建及应用研究
——以“把”字句的句法语义标注及应用研究为例
向量垂直在解析几何中的应用