基于深度学习的PPI关系抽取方法研究进展

2023-06-07 09:42王龙鹤郭旭超
计算机应用与软件 2023年5期
关键词:语料库卷积向量

唐 詹 王龙鹤 郭旭超 周 晗 刁 磊 李 林

(中国农业大学信息与电气工程学院 北京 100085)

0 引 言

蛋白质是生物体最基本的组成物质,在几乎全部的生命活动中发挥着极其重要的作用。生物体中的蛋白质通常不是孤立存在的,大多数情况下,两个不同的蛋白质会通过直接或间接的方式发生相互作用来完成生物学功能,这种相互作用被称为蛋白质间相互作用(Protein-Protein Interaction,PPI)。对PPI的研究在发现生命规律、预测预防疾病和防治植物病虫害等方面,具有十分重要的意义[1]。因此,有许多PPI数据库被建立用于保存结构化、标准化的PPI关系,如DIP数据库(Database of Interacting Proteins)、BIND数据库(Bio-molecular Interactions Database)、MINT数据库(molecular INTeraction database)和HPRD数据库(Human Protein Reference Database)等。这些数据库中的PPI关系通常是由专家学者从已发表的科学文献中挖掘得到。随着生物医学研究的不断进步,相关文献的数量迅速增加,耗时费力的人工方式难以及时高效地实现PPI信息的收集和整理。如何准确、高效地自动化抽取出科学文献中的PPI关系有着十分重要的研究意义,许多学者致力于这项研究[2]。随着深度学习理论的发展,深度学习技术在自然语言处理领域得到了十分广泛的应用[3-4],其中的一些新技术也被引入到PPI关系抽取任务中来,并且取得了很大进展。本文将对现有的一些基于深度学习的PPI关系抽取方法进行阐述和分析。

1 PPI关系抽取相关介绍

1.1 研究趋势

从20世纪90年代末开始,研究人员逐渐开展了对科学文献中PPI关系自动化抽取的研究,至今已有多种方法被提出,主要分为三个阶段:

第一,基于共现和规则方法的阶段。主要利用描述PPI关系的语句所共有的语法模式来进行抽取。利用常用于描述PPI关系的描述性词汇(如include、activate)等来人工定义或者自动抽取规则,再利用得到的规则对文本语句进行模式匹配,将其中的PPI关系抽取出来。如Sylvie等[5]通过交互作用词汇构建规则来进行抽取的工作和Huang等[6]利用词性标记来构建识别模式的工作。

第二,基于计算语言学方法的阶段。主要通过句法分析等技术,用句法结构和语法规则抽取包含于文本语句中的PPI关系。如Matsuzaki等[7]的工作,基于中心语驱动的句法分析(HPSG parsing)技术,构建了生物医学文献的句法树,然后根据句法树实现了基于PPI特殊语义的语法特征搜索引擎,利用这个引擎来抽取PPI关系;还有Fundel等[8]的工作,通过依存关系来挖掘特定的语法规则,然后根据这些语法规则进行PPI系抽取。

第三,基于机器学习方法的阶段。将PPI关系抽取视为一个二分类问题,首先,对语料进行预处理以及特征提取和筛选,然后,使用机器学习模型根据特征判断给定的蛋白质对是否存在相互作用。机器学习方法中最为常用的是核函数和支持向量机结合的方法,利用特征核、树核、图核、语义核等多种核函数,把原空间中线性不可分的样本映射到新的特征空间以使其线性可分,再结合支持向量机完成分类功能。此外贝叶斯模型和最大熵模型也广泛使用。机器学习方法能够整合语法规则特征,并能有效利用自然语言处理技术研究的相关成果,近年来成为了PPI关系抽取的主流方法[9]。

传统的机器学习方法依赖于特征工程,抽取性能受到人为因素的制约,而深度学习方法作为机器学习的一个重要分支,由于其强大的学习能力和特征提取能力,在PPI关系抽取领域得到了广大研究者的关注。深度学习方法主要由三个组件构成:词语表示组件、文本建模组件和分类器组件。词语表示组件将文本数据转换为数值数据,作为深度学习模型的输入;特征提取组件对词语句子进行建模,提取用于分类的特征;分类器组件完成最终的分类功能。

1.2 标准语料库

为了方便广大研究者研究PPI关系抽取问题,各机构提供了一系列标准的PPI关系抽取语料库,在现有研究中使用较为广泛的有:AIMed[10]、BioInfer[11]、HPRD50[8]、IEPA[12]和LLL[13]。每个语料库中包含多条来自生物医学相关文献的语句,每条语句中包含一个或多个蛋白质对,每个蛋白质对为一个样本,每个蛋白质对是否存在相互作用关系由相关领域专家进行标注,存在相互作用的蛋白质对为正例样本,不存在的为负例样本。各语料库的详细信息如表1所示。

1.3 评估指标

对于PPI关系抽取问题,通常采用查准率P(Precision)、查全率R(Recall)、F1分数F1(F1_score)等指标来对性能进行评估[14]。以TP表示实际为正例、被分类为正例的样本数,FN表示实际为正例、被分类为负例的样本数,FP表示实际为负例、被分类为正例的样本数,TN表示实际为负例、被分类为负例的样本数。各指标计算方式如下:

(1)

(2)

(3)

2 基于深度学习的PPI关系抽取方法

2.1 基于DNN的方法

Zhao等[16]首次尝试将深度学习引入到PPI关系抽取领域中,提出了基于深度神经网络(Deep Neural Network,DNN)的PPI关系抽取方法。该方法主要包括四个部分:基于FCG[17]的半监督命名实体识别(Named Entity Recognition,NER)系统、使用Enju解析工具[18]和主成分分析[19](Principal Component Analysis,PCA)的原始特征提取器、从原始特征学习复杂抽象特征的自编码器(Auto-Encoder)、用于分类的DNN。其处理流程如图1所示。

图1 DNN处理流程

Medline Abstracts是来自Medline数据库的大量文献摘要数据,用于训练基于FCG的NER系统,NER系统的作用是识别蛋白质名称。为了保证学习模型的泛化能力,将输入文本中的蛋白质名称进行替换,需要进行判断的蛋白质对替换为PORT1和PORT2,其他蛋白质名称替换为PORT,举例如下:

Isolation of human PROT1 and its binding specificity with PROT2

大部分研究包括下文提及的所有工作中都采用了这种处理方法。

特征提取器用于产生原始特征,包括所有词语的特征以及句法特征。然后用PCA对原始特征进行降维,保留了96%的方差,最终将特征空间的大小降至965。

自编码器是一个非线性的单隐层神经网络,它被训练用于计算输入的表示,从而尽可能准确地重建输入。DNN使用自编码器训练得到的权重作为初始参数完成最终的分类,DNN和自编码器都采用反向传播算法进行训练(Back Propagation,BP)。DNN的层数对性能有一定的影响,适当地增加DNN的深度能够提高性能。

在五个标准语料库上的实验表明,这种方法能够取得比传统方法略好或相当的有效结果,但作为引入深度学习技术到PPI关系抽取问题的第一次尝试,仍然存在着一些改进的空间。它虽然利用了深度学习模型,但本质上仍然是一种基于特征工程的方法。另外这种方法包含了NER系统,后续方法更多是专注于关系抽取问题,五个标准语料库也给出了蛋白质命名实体,方便广大研究者聚焦PPI关系抽取问题进行研究。

2.2 基于CNN的方法

卷积神经网络[20](Convolutional Neural Network,CNN)能够自动提取基础特征并组合为高级抽象特征,在图像处理和自然语言处理的应用上都取得了很好的结果。CNN模型也被应用于PPI关系抽取问题上,其基本框架为:以预训练词向量作为主要输入特征,经卷积池化操作后使用多层感知机[21](Multilayer Perceptron,MLP)作为全连接层,结合softmax或其他函数进行分类。改进的方法主要有三种:一是附加输入特征,如与最短依存路径[22](shortest dependency path,sdp)特征进行组合,以语义特征作为额外输入;二是采用多通道的嵌入层结构,如Quan等[23]、Peng等[24]和Choi[25]的工作;三是采用更先进的卷积结构,如使用残差CNN[26]。

2.2.1sdpCNN

Hua等[27]提出了sdpCNN,一种基于sdp的CNN模型,模型结构如图2所示。

图2 sdpCNN模型结构

该模型使用词语信息及词语之间的sdp共同作为输入,举例如下。

原语句:Protein1 affects properties of Protein2

加入sdp后的输入语句:Protein1 nsubj affects dobj properties prep_of Protein2

其中nsubj、dobj和prep代表sdp信息,这些sdp信息基于Fundel等[8]的工作获得。加入sdp的输入语句经过词嵌入(Word embedding)转换成矩阵,词嵌入层采用了公共的300维预训练词向量,这些词向量由word2vec工具通过Google News上的文本数据训练生成,输入语句中若包含预训练词向量中不存在的词语,则使用随机生成的词向量表示这些词语。卷积层采用了100个filter,每个filter用最大池化操作提取特征。最后使用神经元数量为500的全连接层进行分类。这种方法将词嵌入向量、sdp和CNN整合到一起,相比于传统方法性能有较大提升,发挥了CNN模型捕捉局部特征和结构信息的能力。

2.2.2基于多通道嵌入层的模型

Quan等[23]提出了MCCNN(Multichannel Convolutional Neural Network)模型,其结构也与sdpCNN类似,不同之处在于输入的词嵌入层采用了多通道结构,且输入只有文本语句对应的词向量,没有加入sdp特征。词嵌入层共有5个通道,分布对应5种预训练词向量,其中四种采用Pyysalo等[28]在PubMed、PMC和Wikipedia等语料库上构建的词向量,另外一种用CBOW模型在MedLine语料库上训练得到。单个过滤器的输出由五个通道叠加得到,其计算方式为:

(4)

式中:m代表单个过滤器的输出;xi代表单个通道的输出;Wi和bi为其对应的权重和偏置;f为激活函数。然后用大小为3、4的过滤器进行卷积和最大池化操作,将提取到的特征拼接,经由全连接层进行分类。这种方法能获得更准确的词语表示特征,但缺乏对句子结构的建模,因此对较长语句的处理效果不好。

Peng等[24]提出了McDepCNN模型,在词嵌入层采用了双通道结构,一个通道使用文本语句对应的词向量,另一个通道使用句子的依赖结构,这使得模型能够更有效地捕获全局信息,提高了泛化性能。

Choi[25]提出的基于DCNN的模型也采用了类似方法,将预训练词向量和位置信息作为嵌入层输入,进行卷积池化操作后与语言特征向量进行拼接,然后再通过全连接层进行分类。

2.2.3DeepResidualCNN

Zhang等[26]提出了基于深度Residual CNN[29]的PPI关系抽取模型(DRCNN模型),该模型在卷积部分使用了多个残差卷积块,其结构如图3所示。

图3 DRCNN模型结构

首先用词嵌入层表示文本语句,然后经过残差卷积块多次卷积池化操作后进行分类。“1 Conv,64”表示窗口大小为1、过滤器大小为64的卷积操作,“Pooling,/2”表示步长为2的最大池化操作,Pooling表示全局最大池化操作。Block_Num为残差卷积块的个数,单个残差卷积块Res_Conv的结构如图4所示。其中BN表示批标准化操作(Batch Normalization),Conv_Num为卷积层数量。

图4 残差卷积块结构

这种模型通过使用残差连接加深架构而不是引入更多的语义信息来提高CNN的特征提取能力,避免了使用传统生物医学自然语言处理工具(如依赖解析器),并且通过对比实验验证了残差连接的必要性。

2.3 基于LSTM的方法

循环神经网络[30](Recurrent Neural Network,RNN)具有记忆功能,擅长对序列数据的非线性特征进行学习,在自然语言处理领域得到了广泛应用。长短期记忆网络[30](Long Short-Term Memory,LSTM)是RNN的一种变体,加入了门控机制能在很大程度上改善RNN的梯度消失问题,可以取得比原始RNN更好的效果[31]。LSTM模型也被应用于PPI关系抽取问题上,主要的方法有:使用双向LSTM学习预训练词向量特征进行分类,加入sdp特征和注意力机制,使用树形LSTM模型和结构化注意力机制。下文对几种代表性的工作进行分析。

2.3.1双向LSTM模型

Hsieh等[32]提出了一种基于双向LSTM的PPI关系抽取模型,其结构如图5所示。

图5 双向LSTM模型结构

词嵌入层采用了Chiu等[33]构建的200维预训练词向量,Bi-LSTM层采用400维的LSTM单元分别从正向和反向对词向量进行编码,然后将正向和反向的输出拼接送入全连接层进行分类。这种方法首次将LSTM模型应用到PPI关系抽取问题上,性能较一些基于CNN的模型得到了较大提高。

2.3.2基于注意力机制和sdp的堆叠式LSTM模型

Yadav等[34]提出了Att-sdpLSTM模型,整合了一些常用于PPI关系抽取的语义特征。该模型同样包括三个部分,词嵌入层、Bi-LSTM层和全连接层。词嵌入层由三个部分组成,加入sdp的预训练词向量、词性特征和位置特征,三组特征向量采用连结(concatenation)的方式进行拼接。Bi-LSTM层采用了六层堆叠式(stacked)的双向LSTM,然后通过Softmax计算堆叠后各隐藏输出的标准化注意力权重并进行叠加,计算方式如下:

mk=tanh(WaZk+ba)

(5)

(6)

(7)

式中:Zk表示各隐层输出;Wa和ba分别表示权重和偏置值;e为自然常数;c为上下文向量(context vector),c的值通过随机初始化得到并且在训练过程中进行学习。得到的最终输出向量R送入全连接层使用Softmax进行分类。

2.3.3树形LSTM结构

在自然语言处理中,一些依赖信息常用树形结构表示,基础的LSTM模型只能分析序列数据,无法对树形结构的信息进行处理。为了更好地利用句子依存结构信息,Ahmed等[35]提出了基于树形LSTM结构的tLSTM模型,并且应用了更适合复杂句子的注意力机制。

树形LSTM单元和基本LSTM单元的主要区别在于,它拥有多个细胞状态输入和两个隐层输入,这意味着它能够连接多个前一时间步的LSTM单元[36]。以常用的能连接两个输入的树形LSTM单元为例,它和基本LSTM单元的结构对比如图6所示。

图6 基本LSTM单元与树形LSTM单元结构对比

使用这种LSTM单元可以根据依存关系构造句子的树形模型,图7为句子“PROTX1 induces chemotaxis and adhesion by interacting with PROTX2 and PROTX0.”的表示示例。

图7 句子建模示例

对文本输入句子用树形LSTM进行建模,得到输出向量H,再对文本输入句子用双向LSTM进行建模,得到输出向量O。对O采用Koo等[37]提出的框架进行结构化注意力计算:

γ=sAttn(O)

(8)

用可训练的矩阵Sv计算上下文向量:

Cs=γSv

(9)

p(y|x,θ)=sigmoid(MLP(M))

(10)

(11)

式中:x表示模型输入;θ表示模型参数;sigmoid为激活函数;MLP为多层感知机;yi为最终的分类标签。这种模型在AIMed和BioInfer两个数据集上性能取得了显著提高,并且相比于传统的RNN模型更为稳定。另外,作者在实验中发现,对于某些数据集,不使用注意力机制反而能取得更好的效果,主要原因是训练和测试集的分布不同,注意力机制在训练集中捕捉到的句子依存结构在测试集中不能发挥作用。

3 对比分析

3.1 实验数据对比

上述模型中的DNN、sdpCNN、MCCNN、McDepCNN、DRCNN和LSTM使用了普通的Precision、Recall和F1分数指标进行评估,在AIMed和BioInfer数据集上,实验结果如表2所示。

表2 AIMed和BioInfer数据集普通指标

仅DNN和DRCNN模型在HPRD50、IEPA和LLL数据集上进行了实验,其结果如表3所示。

表3 HPRD50、IEPA和LLL数据集普通指标

上述模型中的DCNN、DRCNN、Att-sdpLSTM和tLSTM使用了宏形式的Precision、Recall和F1分数指标进行评估,在AIMed和BioInfer数据集上的实验结果如表4所示。其中DCNN*的实验数据来自于Yadav等[34]对DCNN的复现。

表4 AIMed和BioInfer数据集宏形式指标

仅DRCNN、Att-sdpLSTM(表5中简写为Att)和tLSTM模型在HPRD50、IEPA和LLL数据集上进行了实验,其结果如表5所示。

表5 HPRD50、IEPA和LLL数据集宏形式指标

从表2与表3的实验数据对比可以看出,DRCNN模型和基于LSTM的模型能够取得较好的结果。DRCNN模型分别采用两套指标进行了实验,因此可以作为中间参考,从F1分数来看,在AIMed、BioInfer、HPRD50、IEPA和LLL五个语料库上取得最好表现的模型分别是Att-sdpLSTM、LSTM、DRCNN、tLSTM和tLSTM。

DRCNN模型和Att-sdpLSTM模型都采用了堆叠式结构,DRCNN模型采用了多个残差卷积块堆叠,每个残差卷积块还包含数个卷积层,而Att-sdpLSTM模型采用了六层堆叠式的双向LSTM。这两种模型结构更深,网络参数多,在训练数据充足的情况下能学习到更多隐含文本特征,因此在AIMed和BioInfer两个样本量较大的语料库上取得了更好的表现。这两个模型的宏形式F1分数对比如图8所示。

图8 DRCNN和Att-sdpLSTM模型的macro F1对比

可以看出,在HPRD50、IEPA和LLL三个语料库上DRCNN模型和Att-sdpLSTM模型表现相当,在AiMed语料库上Att-sdpLSTM模型的macro F1分数高出DRCNN模型7百分点,而在BioInfer语料库上DRCNN模型的macro F1高出Att-sdpLSTM模型9.4百分点。这说明虽然同为堆叠式的结构,但堆叠式CNN结构和堆叠式LSTM结构可能有着不同的学习侧重点,这一点值得进一步地探索研究。

tLSTM模型在HPRD50、IEPA和LLL三个样本数量较少的语料库上取得了较好的表现,可能的原因是tLSTM模型能学习了足够的句子结构,对于小样本数据,能够充分拟合。

总之,基于LSTM的模型相对于基于CNN的模型能通常取得更优的结果,因为LSTM模型的结构更擅长处理序列数据。但由于LSTM的门控机制涉及大量运算,基于LSTM的模型通常更为复杂,计算代价更大。

3.2 各组件对比

3.2.1词表示组件对比

词表示组件用于将文本数据转换成数值数据供模型的后续组件使用,对模型的性能有着至关重要的影响。除DNN模型使用了传统特征工程外,其他模型都是以word2vec为基础构造词表示组件,各模型的词表示组件对比如表6所示。

表6 词表示组件对比

续表6

(1) DNN模型采用了传统的特征工程,用Enju解析器等工具提取特征并进行筛选降维,这种方法创建的特征具有较高的可解释性,但是由于人工选择和多种第三方工具的应用,会使各部分产生的误差和错误累积在一起,影响最终的效果。

(2) LSTM、tLSTM和DRCNN模型采用了word2vec预训练词向量,没有附加其他语法特征,这样做的优点是无须依赖第三方工具,缺点是无法显式利用其他语法特征。DRCNN模型通过加深网络结构提高了对文本特征的学习能力,因此取得了比较好的效果。

(3) DCNN、MCCNN和McDepCNN模型采用了多通道的词嵌入层结构,MCCNN模型采用了五套不同的word2vec预训练词向量作为嵌入层,扩大了词向量的覆盖范围。DCNN和McDepCNN模型分别将位置信息和依赖结构同word2vec预训练词向量一起作为输入,能够丰富词嵌入层包含的特征信息。

(4) SdpCNN和Att-sdpLSTM模型先在文本语句中附加sdp特征,然后再通过词嵌入层转换为词向量,sdp特征通常包含着一些识别实体关系的必要信息[27],利用这些信息可以提高PPI关系抽取的准确率。

3.2.2特征提取组件对比

sdpCNN、DCNN、MCCNN、McDepCNN和DRCNN模型采用了CNN结构来对文本进行建模,CNN结构可以识别出输入数据中具有指示性的子结构,捕获对预测任务贡献最大的局部特征。一些关键的词语或者语法信息有时会对整个句子是否包含PPI关系起决定性作用,CNN结构通过卷积池化操作生成的特征向量能较好地表示整个序列,可以直接用于后续层分类,也可以与位置信息等其他特征向量结合之后再进行分类。DRCNN模型采用了层次化的CNN结构,能够捕获句子中更有效的感受野,残差连接的方式改善了深层网络的梯度弥散问题,使从高层到低层的误差仍能有效地反向传播。

LSTM和Att-sdpLSTM模型采用了双向LSTM结构,双向LSTM结构放宽了固定窗口大小的假设,允许在序列内部向前或向后回顾任意长度的距离,并且可以不依赖于马尔可夫假设对完整的句子进行建模。Att-sdpLSTM模型中对双向LSTM结构进行了逐层堆叠(stacked),能学习到更多的复杂条件分布。tLSTM模型采用了树形的LSTM结构,基于句子的依存关系连接LSTM单元来进行建模,能更好地学习到语义信息。

3.2.3分类器对比

DNN模型采用了DNN网络作为分类器,而其他模型都采用了MLP,MLP能很好地通过提取到的特征进行分类。分类标签的计算多采用softmax函数,tLSTM模型采用了sigmoid函数,对于二分类问题,采用softmax和sigmoid函数实质上是等价的。

4 结 语

近年来,深度学习的应用十分广泛,并且在自然语言处理领域取得了令人瞩目的成果。基于深度学习的PPI关系抽取方法主要是以词向量或者词向量与其他语法特征的组合作为输入,用基于CNN或者RNN的结构提取特征,再用MLP进行分类。相比于一些传统方法,深度学习方法取得了更为优异的效果,但还存在着一些问题有待进一步探索研究。

预训练词向量对PPI关系抽取模型的性能影响较大,如何构建质量更高、适应性更强的预训练词向量是一个巨大挑战,采用多通道词嵌入层、利用领域相关文本构建预训练词向量等方法能取得一些效果,但还存在着改进空间。可引入构建预训练词向量的新技术,如BERT模型[38]等。在通过word2vec构建预训练词向量的过程中,若采用公共语料构建的预训练词向量,如sdpCNN模型,会因缺乏领域相关信息而准确率较低,而采用任务相关的文本语料构建词向量会难以学习到复杂文本之间的联系,容易造成过拟合。BERT模型的Fine-tuning机制可以以大规模公共语料上构建的词向量为基础,使用任务相关文本对词向量进行微调,以生成质量更高适应性更强的词向量。

一些深度学习模型依赖传统的自然语言处理工具,如依赖解析器、Enju解析工具等,这些工具中存在的不准确性可能会影响深度学习模型的训练过程,造成误差传播。DRCNN模型不依赖任何语法分析工具就能取得非常满意的效果,但其实验表明,采用两个卷积块的效果明显优于一个卷积块,而增加到三个卷积块时却没有明显的提高。如何设计更深的有效结构,提高文本特征学习能力,减少或避免依赖自然语言处理工具,是一个值得探索的方向。

为了获得更强的学习能力和特征表示能力,通常会使用参数更多、网络结构更复杂的模型,这使得模型的训练需要大量数据的支撑,才能获得足够的泛化性能,在实际应用中获取足够的PPI标注样本是一项十分艰巨的工作,如何利用已有的标注样本和大量未标注样本构建泛化性能好的模型是一个重要问题,可引入非监督学习、半监督学习和迁移学习等技术来对此问题进行进一步探索。

猜你喜欢
语料库卷积向量
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
《语料库翻译文体学》评介
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
基于JAVAEE的维吾尔中介语语料库开发与实现
一种基于卷积神经网络的性别识别方法