唐 詹 王龍鶴 郭旭超 周 晗 刁 磊 李 林
(中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院 北京 100085)
蛋白質(zhì)是生物體最基本的組成物質(zhì),在幾乎全部的生命活動中發(fā)揮著極其重要的作用。生物體中的蛋白質(zhì)通常不是孤立存在的,大多數(shù)情況下,兩個不同的蛋白質(zhì)會通過直接或間接的方式發(fā)生相互作用來完成生物學(xué)功能,這種相互作用被稱為蛋白質(zhì)間相互作用(Protein-Protein Interaction,PPI)。對PPI的研究在發(fā)現(xiàn)生命規(guī)律、預(yù)測預(yù)防疾病和防治植物病蟲害等方面,具有十分重要的意義[1]。因此,有許多PPI數(shù)據(jù)庫被建立用于保存結(jié)構(gòu)化、標(biāo)準(zhǔn)化的PPI關(guān)系,如DIP數(shù)據(jù)庫(Database of Interacting Proteins)、BIND數(shù)據(jù)庫(Bio-molecular Interactions Database)、MINT數(shù)據(jù)庫(molecular INTeraction database)和HPRD數(shù)據(jù)庫(Human Protein Reference Database)等。這些數(shù)據(jù)庫中的PPI關(guān)系通常是由專家學(xué)者從已發(fā)表的科學(xué)文獻(xiàn)中挖掘得到。隨著生物醫(yī)學(xué)研究的不斷進(jìn)步,相關(guān)文獻(xiàn)的數(shù)量迅速增加,耗時費力的人工方式難以及時高效地實現(xiàn)PPI信息的收集和整理。如何準(zhǔn)確、高效地自動化抽取出科學(xué)文獻(xiàn)中的PPI關(guān)系有著十分重要的研究意義,許多學(xué)者致力于這項研究[2]。隨著深度學(xué)習(xí)理論的發(fā)展,深度學(xué)習(xí)技術(shù)在自然語言處理領(lǐng)域得到了十分廣泛的應(yīng)用[3-4],其中的一些新技術(shù)也被引入到PPI關(guān)系抽取任務(wù)中來,并且取得了很大進(jìn)展。本文將對現(xiàn)有的一些基于深度學(xué)習(xí)的PPI關(guān)系抽取方法進(jìn)行闡述和分析。
從20世紀(jì)90年代末開始,研究人員逐漸開展了對科學(xué)文獻(xiàn)中PPI關(guān)系自動化抽取的研究,至今已有多種方法被提出,主要分為三個階段:
第一,基于共現(xiàn)和規(guī)則方法的階段。主要利用描述PPI關(guān)系的語句所共有的語法模式來進(jìn)行抽取。利用常用于描述PPI關(guān)系的描述性詞匯(如include、activate)等來人工定義或者自動抽取規(guī)則,再利用得到的規(guī)則對文本語句進(jìn)行模式匹配,將其中的PPI關(guān)系抽取出來。如Sylvie等[5]通過交互作用詞匯構(gòu)建規(guī)則來進(jìn)行抽取的工作和Huang等[6]利用詞性標(biāo)記來構(gòu)建識別模式的工作。
第二,基于計算語言學(xué)方法的階段。主要通過句法分析等技術(shù),用句法結(jié)構(gòu)和語法規(guī)則抽取包含于文本語句中的PPI關(guān)系。如Matsuzaki等[7]的工作,基于中心語驅(qū)動的句法分析(HPSG parsing)技術(shù),構(gòu)建了生物醫(yī)學(xué)文獻(xiàn)的句法樹,然后根據(jù)句法樹實現(xiàn)了基于PPI特殊語義的語法特征搜索引擎,利用這個引擎來抽取PPI關(guān)系;還有Fundel等[8]的工作,通過依存關(guān)系來挖掘特定的語法規(guī)則,然后根據(jù)這些語法規(guī)則進(jìn)行PPI系抽取。
第三,基于機器學(xué)習(xí)方法的階段。將PPI關(guān)系抽取視為一個二分類問題,首先,對語料進(jìn)行預(yù)處理以及特征提取和篩選,然后,使用機器學(xué)習(xí)模型根據(jù)特征判斷給定的蛋白質(zhì)對是否存在相互作用。機器學(xué)習(xí)方法中最為常用的是核函數(shù)和支持向量機結(jié)合的方法,利用特征核、樹核、圖核、語義核等多種核函數(shù),把原空間中線性不可分的樣本映射到新的特征空間以使其線性可分,再結(jié)合支持向量機完成分類功能。此外貝葉斯模型和最大熵模型也廣泛使用。機器學(xué)習(xí)方法能夠整合語法規(guī)則特征,并能有效利用自然語言處理技術(shù)研究的相關(guān)成果,近年來成為了PPI關(guān)系抽取的主流方法[9]。
傳統(tǒng)的機器學(xué)習(xí)方法依賴于特征工程,抽取性能受到人為因素的制約,而深度學(xué)習(xí)方法作為機器學(xué)習(xí)的一個重要分支,由于其強大的學(xué)習(xí)能力和特征提取能力,在PPI關(guān)系抽取領(lǐng)域得到了廣大研究者的關(guān)注。深度學(xué)習(xí)方法主要由三個組件構(gòu)成:詞語表示組件、文本建模組件和分類器組件。詞語表示組件將文本數(shù)據(jù)轉(zhuǎn)換為數(shù)值數(shù)據(jù),作為深度學(xué)習(xí)模型的輸入;特征提取組件對詞語句子進(jìn)行建模,提取用于分類的特征;分類器組件完成最終的分類功能。
為了方便廣大研究者研究PPI關(guān)系抽取問題,各機構(gòu)提供了一系列標(biāo)準(zhǔn)的PPI關(guān)系抽取語料庫,在現(xiàn)有研究中使用較為廣泛的有:AIMed[10]、BioInfer[11]、HPRD50[8]、IEPA[12]和LLL[13]。每個語料庫中包含多條來自生物醫(yī)學(xué)相關(guān)文獻(xiàn)的語句,每條語句中包含一個或多個蛋白質(zhì)對,每個蛋白質(zhì)對為一個樣本,每個蛋白質(zhì)對是否存在相互作用關(guān)系由相關(guān)領(lǐng)域?qū)<疫M(jìn)行標(biāo)注,存在相互作用的蛋白質(zhì)對為正例樣本,不存在的為負(fù)例樣本。各語料庫的詳細(xì)信息如表1所示。
對于PPI關(guān)系抽取問題,通常采用查準(zhǔn)率P(Precision)、查全率R(Recall)、F1分?jǐn)?shù)F1(F1_score)等指標(biāo)來對性能進(jìn)行評估[14]。以TP表示實際為正例、被分類為正例的樣本數(shù),FN表示實際為正例、被分類為負(fù)例的樣本數(shù),FP表示實際為負(fù)例、被分類為正例的樣本數(shù),TN表示實際為負(fù)例、被分類為負(fù)例的樣本數(shù)。各指標(biāo)計算方式如下:
(1)
(2)
(3)
Zhao等[16]首次嘗試將深度學(xué)習(xí)引入到PPI關(guān)系抽取領(lǐng)域中,提出了基于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)的PPI關(guān)系抽取方法。該方法主要包括四個部分:基于FCG[17]的半監(jiān)督命名實體識別(Named Entity Recognition,NER)系統(tǒng)、使用Enju解析工具[18]和主成分分析[19](Principal Component Analysis,PCA)的原始特征提取器、從原始特征學(xué)習(xí)復(fù)雜抽象特征的自編碼器(Auto-Encoder)、用于分類的DNN。其處理流程如圖1所示。
圖1 DNN處理流程
Medline Abstracts是來自Medline數(shù)據(jù)庫的大量文獻(xiàn)摘要數(shù)據(jù),用于訓(xùn)練基于FCG的NER系統(tǒng),NER系統(tǒng)的作用是識別蛋白質(zhì)名稱。為了保證學(xué)習(xí)模型的泛化能力,將輸入文本中的蛋白質(zhì)名稱進(jìn)行替換,需要進(jìn)行判斷的蛋白質(zhì)對替換為PORT1和PORT2,其他蛋白質(zhì)名稱替換為PORT,舉例如下:
Isolation of human PROT1 and its binding specificity with PROT2
大部分研究包括下文提及的所有工作中都采用了這種處理方法。
特征提取器用于產(chǎn)生原始特征,包括所有詞語的特征以及句法特征。然后用PCA對原始特征進(jìn)行降維,保留了96%的方差,最終將特征空間的大小降至965。
自編碼器是一個非線性的單隱層神經(jīng)網(wǎng)絡(luò),它被訓(xùn)練用于計算輸入的表示,從而盡可能準(zhǔn)確地重建輸入。DNN使用自編碼器訓(xùn)練得到的權(quán)重作為初始參數(shù)完成最終的分類,DNN和自編碼器都采用反向傳播算法進(jìn)行訓(xùn)練(Back Propagation,BP)。DNN的層數(shù)對性能有一定的影響,適當(dāng)?shù)卦黾覦NN的深度能夠提高性能。
在五個標(biāo)準(zhǔn)語料庫上的實驗表明,這種方法能夠取得比傳統(tǒng)方法略好或相當(dāng)?shù)挠行ЫY(jié)果,但作為引入深度學(xué)習(xí)技術(shù)到PPI關(guān)系抽取問題的第一次嘗試,仍然存在著一些改進(jìn)的空間。它雖然利用了深度學(xué)習(xí)模型,但本質(zhì)上仍然是一種基于特征工程的方法。另外這種方法包含了NER系統(tǒng),后續(xù)方法更多是專注于關(guān)系抽取問題,五個標(biāo)準(zhǔn)語料庫也給出了蛋白質(zhì)命名實體,方便廣大研究者聚焦PPI關(guān)系抽取問題進(jìn)行研究。
卷積神經(jīng)網(wǎng)絡(luò)[20](Convolutional Neural Network,CNN)能夠自動提取基礎(chǔ)特征并組合為高級抽象特征,在圖像處理和自然語言處理的應(yīng)用上都取得了很好的結(jié)果。CNN模型也被應(yīng)用于PPI關(guān)系抽取問題上,其基本框架為:以預(yù)訓(xùn)練詞向量作為主要輸入特征,經(jīng)卷積池化操作后使用多層感知機[21](Multilayer Perceptron,MLP)作為全連接層,結(jié)合softmax或其他函數(shù)進(jìn)行分類。改進(jìn)的方法主要有三種:一是附加輸入特征,如與最短依存路徑[22](shortest dependency path,sdp)特征進(jìn)行組合,以語義特征作為額外輸入;二是采用多通道的嵌入層結(jié)構(gòu),如Quan等[23]、Peng等[24]和Choi[25]的工作;三是采用更先進(jìn)的卷積結(jié)構(gòu),如使用殘差CNN[26]。
2.2.1sdpCNN
Hua等[27]提出了sdpCNN,一種基于sdp的CNN模型,模型結(jié)構(gòu)如圖2所示。
圖2 sdpCNN模型結(jié)構(gòu)
該模型使用詞語信息及詞語之間的sdp共同作為輸入,舉例如下。
原語句:Protein1 affects properties of Protein2
加入sdp后的輸入語句:Protein1 nsubj affects dobj properties prep_of Protein2
其中nsubj、dobj和prep代表sdp信息,這些sdp信息基于Fundel等[8]的工作獲得。加入sdp的輸入語句經(jīng)過詞嵌入(Word embedding)轉(zhuǎn)換成矩陣,詞嵌入層采用了公共的300維預(yù)訓(xùn)練詞向量,這些詞向量由word2vec工具通過Google News上的文本數(shù)據(jù)訓(xùn)練生成,輸入語句中若包含預(yù)訓(xùn)練詞向量中不存在的詞語,則使用隨機生成的詞向量表示這些詞語。卷積層采用了100個filter,每個filter用最大池化操作提取特征。最后使用神經(jīng)元數(shù)量為500的全連接層進(jìn)行分類。這種方法將詞嵌入向量、sdp和CNN整合到一起,相比于傳統(tǒng)方法性能有較大提升,發(fā)揮了CNN模型捕捉局部特征和結(jié)構(gòu)信息的能力。
2.2.2基于多通道嵌入層的模型
Quan等[23]提出了MCCNN(Multichannel Convolutional Neural Network)模型,其結(jié)構(gòu)也與sdpCNN類似,不同之處在于輸入的詞嵌入層采用了多通道結(jié)構(gòu),且輸入只有文本語句對應(yīng)的詞向量,沒有加入sdp特征。詞嵌入層共有5個通道,分布對應(yīng)5種預(yù)訓(xùn)練詞向量,其中四種采用Pyysalo等[28]在PubMed、PMC和Wikipedia等語料庫上構(gòu)建的詞向量,另外一種用CBOW模型在MedLine語料庫上訓(xùn)練得到。單個過濾器的輸出由五個通道疊加得到,其計算方式為:
(4)
式中:m代表單個過濾器的輸出;xi代表單個通道的輸出;Wi和bi為其對應(yīng)的權(quán)重和偏置;f為激活函數(shù)。然后用大小為3、4的過濾器進(jìn)行卷積和最大池化操作,將提取到的特征拼接,經(jīng)由全連接層進(jìn)行分類。這種方法能獲得更準(zhǔn)確的詞語表示特征,但缺乏對句子結(jié)構(gòu)的建模,因此對較長語句的處理效果不好。
Peng等[24]提出了McDepCNN模型,在詞嵌入層采用了雙通道結(jié)構(gòu),一個通道使用文本語句對應(yīng)的詞向量,另一個通道使用句子的依賴結(jié)構(gòu),這使得模型能夠更有效地捕獲全局信息,提高了泛化性能。
Choi[25]提出的基于DCNN的模型也采用了類似方法,將預(yù)訓(xùn)練詞向量和位置信息作為嵌入層輸入,進(jìn)行卷積池化操作后與語言特征向量進(jìn)行拼接,然后再通過全連接層進(jìn)行分類。
2.2.3DeepResidualCNN
Zhang等[26]提出了基于深度Residual CNN[29]的PPI關(guān)系抽取模型(DRCNN模型),該模型在卷積部分使用了多個殘差卷積塊,其結(jié)構(gòu)如圖3所示。
圖3 DRCNN模型結(jié)構(gòu)
首先用詞嵌入層表示文本語句,然后經(jīng)過殘差卷積塊多次卷積池化操作后進(jìn)行分類?!? Conv,64”表示窗口大小為1、過濾器大小為64的卷積操作,“Pooling,/2”表示步長為2的最大池化操作,Pooling表示全局最大池化操作。Block_Num為殘差卷積塊的個數(shù),單個殘差卷積塊Res_Conv的結(jié)構(gòu)如圖4所示。其中BN表示批標(biāo)準(zhǔn)化操作(Batch Normalization),Conv_Num為卷積層數(shù)量。
圖4 殘差卷積塊結(jié)構(gòu)
這種模型通過使用殘差連接加深架構(gòu)而不是引入更多的語義信息來提高CNN的特征提取能力,避免了使用傳統(tǒng)生物醫(yī)學(xué)自然語言處理工具(如依賴解析器),并且通過對比實驗驗證了殘差連接的必要性。
循環(huán)神經(jīng)網(wǎng)絡(luò)[30](Recurrent Neural Network,RNN)具有記憶功能,擅長對序列數(shù)據(jù)的非線性特征進(jìn)行學(xué)習(xí),在自然語言處理領(lǐng)域得到了廣泛應(yīng)用。長短期記憶網(wǎng)絡(luò)[30](Long Short-Term Memory,LSTM)是RNN的一種變體,加入了門控機制能在很大程度上改善RNN的梯度消失問題,可以取得比原始RNN更好的效果[31]。LSTM模型也被應(yīng)用于PPI關(guān)系抽取問題上,主要的方法有:使用雙向LSTM學(xué)習(xí)預(yù)訓(xùn)練詞向量特征進(jìn)行分類,加入sdp特征和注意力機制,使用樹形LSTM模型和結(jié)構(gòu)化注意力機制。下文對幾種代表性的工作進(jìn)行分析。
2.3.1雙向LSTM模型
Hsieh等[32]提出了一種基于雙向LSTM的PPI關(guān)系抽取模型,其結(jié)構(gòu)如圖5所示。
圖5 雙向LSTM模型結(jié)構(gòu)
詞嵌入層采用了Chiu等[33]構(gòu)建的200維預(yù)訓(xùn)練詞向量,Bi-LSTM層采用400維的LSTM單元分別從正向和反向?qū)υ~向量進(jìn)行編碼,然后將正向和反向的輸出拼接送入全連接層進(jìn)行分類。這種方法首次將LSTM模型應(yīng)用到PPI關(guān)系抽取問題上,性能較一些基于CNN的模型得到了較大提高。
2.3.2基于注意力機制和sdp的堆疊式LSTM模型
Yadav等[34]提出了Att-sdpLSTM模型,整合了一些常用于PPI關(guān)系抽取的語義特征。該模型同樣包括三個部分,詞嵌入層、Bi-LSTM層和全連接層。詞嵌入層由三個部分組成,加入sdp的預(yù)訓(xùn)練詞向量、詞性特征和位置特征,三組特征向量采用連結(jié)(concatenation)的方式進(jìn)行拼接。Bi-LSTM層采用了六層堆疊式(stacked)的雙向LSTM,然后通過Softmax計算堆疊后各隱藏輸出的標(biāo)準(zhǔn)化注意力權(quán)重并進(jìn)行疊加,計算方式如下:
mk=tanh(WaZk+ba)
(5)
(6)
(7)
式中:Zk表示各隱層輸出;Wa和ba分別表示權(quán)重和偏置值;e為自然常數(shù);c為上下文向量(context vector),c的值通過隨機初始化得到并且在訓(xùn)練過程中進(jìn)行學(xué)習(xí)。得到的最終輸出向量R送入全連接層使用Softmax進(jìn)行分類。
2.3.3樹形LSTM結(jié)構(gòu)
在自然語言處理中,一些依賴信息常用樹形結(jié)構(gòu)表示,基礎(chǔ)的LSTM模型只能分析序列數(shù)據(jù),無法對樹形結(jié)構(gòu)的信息進(jìn)行處理。為了更好地利用句子依存結(jié)構(gòu)信息,Ahmed等[35]提出了基于樹形LSTM結(jié)構(gòu)的tLSTM模型,并且應(yīng)用了更適合復(fù)雜句子的注意力機制。
樹形LSTM單元和基本LSTM單元的主要區(qū)別在于,它擁有多個細(xì)胞狀態(tài)輸入和兩個隱層輸入,這意味著它能夠連接多個前一時間步的LSTM單元[36]。以常用的能連接兩個輸入的樹形LSTM單元為例,它和基本LSTM單元的結(jié)構(gòu)對比如圖6所示。
圖6 基本LSTM單元與樹形LSTM單元結(jié)構(gòu)對比
使用這種LSTM單元可以根據(jù)依存關(guān)系構(gòu)造句子的樹形模型,圖7為句子“PROTX1 induces chemotaxis and adhesion by interacting with PROTX2 and PROTX0.”的表示示例。
圖7 句子建模示例
對文本輸入句子用樹形LSTM進(jìn)行建模,得到輸出向量H,再對文本輸入句子用雙向LSTM進(jìn)行建模,得到輸出向量O。對O采用Koo等[37]提出的框架進(jìn)行結(jié)構(gòu)化注意力計算:
γ=sAttn(O)
(8)
用可訓(xùn)練的矩陣Sv計算上下文向量:
Cs=γSv
(9)
p(y|x,θ)=sigmoid(MLP(M))
(10)
(11)
式中:x表示模型輸入;θ表示模型參數(shù);sigmoid為激活函數(shù);MLP為多層感知機;yi為最終的分類標(biāo)簽。這種模型在AIMed和BioInfer兩個數(shù)據(jù)集上性能取得了顯著提高,并且相比于傳統(tǒng)的RNN模型更為穩(wěn)定。另外,作者在實驗中發(fā)現(xiàn),對于某些數(shù)據(jù)集,不使用注意力機制反而能取得更好的效果,主要原因是訓(xùn)練和測試集的分布不同,注意力機制在訓(xùn)練集中捕捉到的句子依存結(jié)構(gòu)在測試集中不能發(fā)揮作用。
上述模型中的DNN、sdpCNN、MCCNN、McDepCNN、DRCNN和LSTM使用了普通的Precision、Recall和F1分?jǐn)?shù)指標(biāo)進(jìn)行評估,在AIMed和BioInfer數(shù)據(jù)集上,實驗結(jié)果如表2所示。
表2 AIMed和BioInfer數(shù)據(jù)集普通指標(biāo)
僅DNN和DRCNN模型在HPRD50、IEPA和LLL數(shù)據(jù)集上進(jìn)行了實驗,其結(jié)果如表3所示。
表3 HPRD50、IEPA和LLL數(shù)據(jù)集普通指標(biāo)
上述模型中的DCNN、DRCNN、Att-sdpLSTM和tLSTM使用了宏形式的Precision、Recall和F1分?jǐn)?shù)指標(biāo)進(jìn)行評估,在AIMed和BioInfer數(shù)據(jù)集上的實驗結(jié)果如表4所示。其中DCNN*的實驗數(shù)據(jù)來自于Yadav等[34]對DCNN的復(fù)現(xiàn)。
表4 AIMed和BioInfer數(shù)據(jù)集宏形式指標(biāo)
僅DRCNN、Att-sdpLSTM(表5中簡寫為Att)和tLSTM模型在HPRD50、IEPA和LLL數(shù)據(jù)集上進(jìn)行了實驗,其結(jié)果如表5所示。
表5 HPRD50、IEPA和LLL數(shù)據(jù)集宏形式指標(biāo)
從表2與表3的實驗數(shù)據(jù)對比可以看出,DRCNN模型和基于LSTM的模型能夠取得較好的結(jié)果。DRCNN模型分別采用兩套指標(biāo)進(jìn)行了實驗,因此可以作為中間參考,從F1分?jǐn)?shù)來看,在AIMed、BioInfer、HPRD50、IEPA和LLL五個語料庫上取得最好表現(xiàn)的模型分別是Att-sdpLSTM、LSTM、DRCNN、tLSTM和tLSTM。
DRCNN模型和Att-sdpLSTM模型都采用了堆疊式結(jié)構(gòu),DRCNN模型采用了多個殘差卷積塊堆疊,每個殘差卷積塊還包含數(shù)個卷積層,而Att-sdpLSTM模型采用了六層堆疊式的雙向LSTM。這兩種模型結(jié)構(gòu)更深,網(wǎng)絡(luò)參數(shù)多,在訓(xùn)練數(shù)據(jù)充足的情況下能學(xué)習(xí)到更多隱含文本特征,因此在AIMed和BioInfer兩個樣本量較大的語料庫上取得了更好的表現(xiàn)。這兩個模型的宏形式F1分?jǐn)?shù)對比如圖8所示。
圖8 DRCNN和Att-sdpLSTM模型的macro F1對比
可以看出,在HPRD50、IEPA和LLL三個語料庫上DRCNN模型和Att-sdpLSTM模型表現(xiàn)相當(dāng),在AiMed語料庫上Att-sdpLSTM模型的macro F1分?jǐn)?shù)高出DRCNN模型7百分點,而在BioInfer語料庫上DRCNN模型的macro F1高出Att-sdpLSTM模型9.4百分點。這說明雖然同為堆疊式的結(jié)構(gòu),但堆疊式CNN結(jié)構(gòu)和堆疊式LSTM結(jié)構(gòu)可能有著不同的學(xué)習(xí)側(cè)重點,這一點值得進(jìn)一步地探索研究。
tLSTM模型在HPRD50、IEPA和LLL三個樣本數(shù)量較少的語料庫上取得了較好的表現(xiàn),可能的原因是tLSTM模型能學(xué)習(xí)了足夠的句子結(jié)構(gòu),對于小樣本數(shù)據(jù),能夠充分?jǐn)M合。
總之,基于LSTM的模型相對于基于CNN的模型能通常取得更優(yōu)的結(jié)果,因為LSTM模型的結(jié)構(gòu)更擅長處理序列數(shù)據(jù)。但由于LSTM的門控機制涉及大量運算,基于LSTM的模型通常更為復(fù)雜,計算代價更大。
3.2.1詞表示組件對比
詞表示組件用于將文本數(shù)據(jù)轉(zhuǎn)換成數(shù)值數(shù)據(jù)供模型的后續(xù)組件使用,對模型的性能有著至關(guān)重要的影響。除DNN模型使用了傳統(tǒng)特征工程外,其他模型都是以word2vec為基礎(chǔ)構(gòu)造詞表示組件,各模型的詞表示組件對比如表6所示。
表6 詞表示組件對比
續(xù)表6
(1) DNN模型采用了傳統(tǒng)的特征工程,用Enju解析器等工具提取特征并進(jìn)行篩選降維,這種方法創(chuàng)建的特征具有較高的可解釋性,但是由于人工選擇和多種第三方工具的應(yīng)用,會使各部分產(chǎn)生的誤差和錯誤累積在一起,影響最終的效果。
(2) LSTM、tLSTM和DRCNN模型采用了word2vec預(yù)訓(xùn)練詞向量,沒有附加其他語法特征,這樣做的優(yōu)點是無須依賴第三方工具,缺點是無法顯式利用其他語法特征。DRCNN模型通過加深網(wǎng)絡(luò)結(jié)構(gòu)提高了對文本特征的學(xué)習(xí)能力,因此取得了比較好的效果。
(3) DCNN、MCCNN和McDepCNN模型采用了多通道的詞嵌入層結(jié)構(gòu),MCCNN模型采用了五套不同的word2vec預(yù)訓(xùn)練詞向量作為嵌入層,擴大了詞向量的覆蓋范圍。DCNN和McDepCNN模型分別將位置信息和依賴結(jié)構(gòu)同word2vec預(yù)訓(xùn)練詞向量一起作為輸入,能夠豐富詞嵌入層包含的特征信息。
(4) SdpCNN和Att-sdpLSTM模型先在文本語句中附加sdp特征,然后再通過詞嵌入層轉(zhuǎn)換為詞向量,sdp特征通常包含著一些識別實體關(guān)系的必要信息[27],利用這些信息可以提高PPI關(guān)系抽取的準(zhǔn)確率。
3.2.2特征提取組件對比
sdpCNN、DCNN、MCCNN、McDepCNN和DRCNN模型采用了CNN結(jié)構(gòu)來對文本進(jìn)行建模,CNN結(jié)構(gòu)可以識別出輸入數(shù)據(jù)中具有指示性的子結(jié)構(gòu),捕獲對預(yù)測任務(wù)貢獻(xiàn)最大的局部特征。一些關(guān)鍵的詞語或者語法信息有時會對整個句子是否包含PPI關(guān)系起決定性作用,CNN結(jié)構(gòu)通過卷積池化操作生成的特征向量能較好地表示整個序列,可以直接用于后續(xù)層分類,也可以與位置信息等其他特征向量結(jié)合之后再進(jìn)行分類。DRCNN模型采用了層次化的CNN結(jié)構(gòu),能夠捕獲句子中更有效的感受野,殘差連接的方式改善了深層網(wǎng)絡(luò)的梯度彌散問題,使從高層到低層的誤差仍能有效地反向傳播。
LSTM和Att-sdpLSTM模型采用了雙向LSTM結(jié)構(gòu),雙向LSTM結(jié)構(gòu)放寬了固定窗口大小的假設(shè),允許在序列內(nèi)部向前或向后回顧任意長度的距離,并且可以不依賴于馬爾可夫假設(shè)對完整的句子進(jìn)行建模。Att-sdpLSTM模型中對雙向LSTM結(jié)構(gòu)進(jìn)行了逐層堆疊(stacked),能學(xué)習(xí)到更多的復(fù)雜條件分布。tLSTM模型采用了樹形的LSTM結(jié)構(gòu),基于句子的依存關(guān)系連接LSTM單元來進(jìn)行建模,能更好地學(xué)習(xí)到語義信息。
3.2.3分類器對比
DNN模型采用了DNN網(wǎng)絡(luò)作為分類器,而其他模型都采用了MLP,MLP能很好地通過提取到的特征進(jìn)行分類。分類標(biāo)簽的計算多采用softmax函數(shù),tLSTM模型采用了sigmoid函數(shù),對于二分類問題,采用softmax和sigmoid函數(shù)實質(zhì)上是等價的。
近年來,深度學(xué)習(xí)的應(yīng)用十分廣泛,并且在自然語言處理領(lǐng)域取得了令人矚目的成果?;谏疃葘W(xué)習(xí)的PPI關(guān)系抽取方法主要是以詞向量或者詞向量與其他語法特征的組合作為輸入,用基于CNN或者RNN的結(jié)構(gòu)提取特征,再用MLP進(jìn)行分類。相比于一些傳統(tǒng)方法,深度學(xué)習(xí)方法取得了更為優(yōu)異的效果,但還存在著一些問題有待進(jìn)一步探索研究。
預(yù)訓(xùn)練詞向量對PPI關(guān)系抽取模型的性能影響較大,如何構(gòu)建質(zhì)量更高、適應(yīng)性更強的預(yù)訓(xùn)練詞向量是一個巨大挑戰(zhàn),采用多通道詞嵌入層、利用領(lǐng)域相關(guān)文本構(gòu)建預(yù)訓(xùn)練詞向量等方法能取得一些效果,但還存在著改進(jìn)空間??梢霕?gòu)建預(yù)訓(xùn)練詞向量的新技術(shù),如BERT模型[38]等。在通過word2vec構(gòu)建預(yù)訓(xùn)練詞向量的過程中,若采用公共語料構(gòu)建的預(yù)訓(xùn)練詞向量,如sdpCNN模型,會因缺乏領(lǐng)域相關(guān)信息而準(zhǔn)確率較低,而采用任務(wù)相關(guān)的文本語料構(gòu)建詞向量會難以學(xué)習(xí)到復(fù)雜文本之間的聯(lián)系,容易造成過擬合。BERT模型的Fine-tuning機制可以以大規(guī)模公共語料上構(gòu)建的詞向量為基礎(chǔ),使用任務(wù)相關(guān)文本對詞向量進(jìn)行微調(diào),以生成質(zhì)量更高適應(yīng)性更強的詞向量。
一些深度學(xué)習(xí)模型依賴傳統(tǒng)的自然語言處理工具,如依賴解析器、Enju解析工具等,這些工具中存在的不準(zhǔn)確性可能會影響深度學(xué)習(xí)模型的訓(xùn)練過程,造成誤差傳播。DRCNN模型不依賴任何語法分析工具就能取得非常滿意的效果,但其實驗表明,采用兩個卷積塊的效果明顯優(yōu)于一個卷積塊,而增加到三個卷積塊時卻沒有明顯的提高。如何設(shè)計更深的有效結(jié)構(gòu),提高文本特征學(xué)習(xí)能力,減少或避免依賴自然語言處理工具,是一個值得探索的方向。
為了獲得更強的學(xué)習(xí)能力和特征表示能力,通常會使用參數(shù)更多、網(wǎng)絡(luò)結(jié)構(gòu)更復(fù)雜的模型,這使得模型的訓(xùn)練需要大量數(shù)據(jù)的支撐,才能獲得足夠的泛化性能,在實際應(yīng)用中獲取足夠的PPI標(biāo)注樣本是一項十分艱巨的工作,如何利用已有的標(biāo)注樣本和大量未標(biāo)注樣本構(gòu)建泛化性能好的模型是一個重要問題,可引入非監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和遷移學(xué)習(xí)等技術(shù)來對此問題進(jìn)行進(jìn)一步探索。