李青青,楊志豪,羅 凌,林鴻飛,王 健
(大連理工大學 計算機科學與技術(shù)學院,遼寧 大連 116024)
近年來,隨著生物醫(yī)學領(lǐng)域的快速發(fā)展,生物醫(yī)學文獻的數(shù)量呈指數(shù)級增長[1]。海量的生物醫(yī)學文獻中蘊含著豐富的知識,是生物醫(yī)學研究者的重要信息資源。生物醫(yī)學實體關(guān)系抽取技術(shù),將在生物醫(yī)學命名實體識別的基礎(chǔ)上,利用文本挖掘技術(shù),從海量的非結(jié)構(gòu)化的生物醫(yī)學文本中,自動抽取出生物醫(yī)學實體,如蛋白質(zhì)、藥物、疾病等之間的關(guān)系。生物醫(yī)學實體關(guān)系抽取技術(shù)有效緩解了人工抽取信息耗時、耗力的問題,對于生物醫(yī)學領(lǐng)域的研究具有重要意義。
近年來,深度學習方法被廣泛應用于實體關(guān)系抽取任務中。例如,在通用領(lǐng)域中,Zeng[2]等結(jié)合詞向量和相對位置向量特征,使用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)進行關(guān)系抽取。Zhang[3]等在Zeng等使用的特征之外,還引入了詞性特征、命名實體特征以及基于斯坦福句法解析器的句法特征,使用雙向長短期記憶網(wǎng)絡(Bi-directional Long-Short Term Memory,BiLSTM)來解決關(guān)系抽取問題。Vu[4]等分別使用卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)提取基于句子序列的關(guān)系,然后使用決策后處理來結(jié)合卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡的結(jié)果。在生物醫(yī)學領(lǐng)域的關(guān)系抽取任務中,李麗雙[5]等利用詞表示和深層神經(jīng)網(wǎng)絡抽取蛋白質(zhì)之間的交互關(guān)系(Protein-Protein Interaction,PPI);Zhang[6]等結(jié)合卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡進行藥物交互關(guān)系(Drug-Drug Interaction,DDI)抽取。雖然這些方法在生物醫(yī)學關(guān)系抽取任務上已經(jīng)取得了較好的效果,但是在訓練模型時往往只關(guān)注某一特定任務。然而在生物醫(yī)學關(guān)系抽取任務之間,常常存在著一定的相關(guān)性。表1給出了一些DDI和PPI示例(淺色字體表示候選實體對,深色字體表示關(guān)系觸發(fā)詞),可以看到DDI和PPI示例的句1和句2都使用了“interaction”和“effect”觸發(fā)詞來表述兩個實體之間的交互關(guān)系。而目前基于單任務的關(guān)系抽取方法忽略了這些任務之間的關(guān)聯(lián)性,使得模型的泛化能力有限。因此本文對基于多任務學習[7]的實體關(guān)系抽取方法進行了探索。
多任務學習的基本思想是同時對多個任務進行學習,利用任務間的相關(guān)信息來提升模型性能?;谏窠?jīng)網(wǎng)絡的多任務學習方法主要采用參數(shù)共享的學習模式,為多個任務學習一個共享的表示[8]。當多個任務具有共性時,特別是當訓練數(shù)據(jù)有限時,與僅訓練單個數(shù)據(jù)集的模型相比,多任務學習可以取得更好的性能[9-11]。如Marasovi[12]等使用多任務學習方法,利用語義角色標注任務提升輿論角色標注任務的性能;Liu[13]等搭建多任務學習模型,使得多個文本分類任務的性能顯著提升。
由于目前生物醫(yī)學關(guān)系抽取方法主要采用單任務學習方法,學習過程相互獨立,從而忽略了任務之間的關(guān)聯(lián)性。針對此問題,本文構(gòu)建了全共享多任務模型(Fully-Shared Model,F(xiàn)SM)、私有共享多任務模型(Shared-Private Model,SPM),并在此基礎(chǔ)上提出了一種基于Attention機制的主輔多任務模型(Attention-based Main-Auxiliary Model,Att-MAM),來進行生物醫(yī)學實體關(guān)系抽取多任務學習。在生物醫(yī)學領(lǐng)域5個公開數(shù)據(jù)集上的實驗結(jié)果表明,多任務學習模型可以有效地利用任務之間的相關(guān)性,學習共享的表示,補充各個單任務的信息,提升任務性能(FSM,SPM,Att-MAM多任務模型相比單任務模型在5個語料上F值分別平均提升了1.30%,1.97%和2.66%)。尤其是針對單任務標注訓練集規(guī)模小的情況,多任務學習可以彌補先驗知識的不足,抽取性能提升更為明顯。
表1 DDI和PPI數(shù)據(jù)實例展示
對于單任務模型,我們使用了目前關(guān)系抽取常用的BiLSTM模型,并用詞向量和實體相對位置向量拼接作為模型輸入,模型結(jié)構(gòu)如圖1(a)所示。具體地,給定一個包含實體對的句子S,令{w1,…,wt,…wn}表示句子詞序列,n表示句子長度。對于序列中的每個單詞wt,首先通過使用Word2Vec[14]工具訓練得到的詞向量表得到對應的詞向量et,令每個詞和實體對的相對位置向量為dis1t和dis2t(位置向量使用正態(tài)分布進行隨機初始化),然后將這些向量拼接起來,得到每個單詞的表示xt= [(et)T,(dis1t)T,(dis2t)T]作為模型的輸入。
長短期記憶網(wǎng)絡(Long-Short Term Memory,LSTM)[15]可以有效地緩解梯度消失問題,在深度學習方法中被廣泛應用。在LSTM模型中,根據(jù)當前的輸入xt,上一個隱層狀態(tài)ht-1,以及上一個存儲單元ct-1,可以由式(1)~式(6)計算輸入門i,遺忘門f,輸出門ot,抽取的特征向量gt,當前的隱層狀態(tài)ht以及當前的記憶細胞ct。
圖1 模型架構(gòu)Main表示主任務,Auxi表示第i個輔助任務
其中,{W(.),U(.)}表示LSTM的參數(shù)矩陣集合,{b(.)}是LSTM的偏置向量集合。
本節(jié)中,依次闡述本文構(gòu)建的三個多任務學習模型: 全共享模型、私有共享模型以及基于Attention機制的主輔多任務模型。在多任務模型中,總是將多個任務的數(shù)據(jù)集同時作為輸入進行訓練。在多個任務中,定義其中一個任務為主任務,其他任務作為輔助任務。輔助任務與主任務共同訓練以達到提升主任務性能的目的。每個任務的輸入特征都和上述單任務使用的特征一樣。
全共享多任務模型(Fully-Shared Model,F(xiàn)SM)的具體架構(gòu)如圖1(b)所示,除了輸出層以外,模型的所有參數(shù)在多個任務之間都是共享的。每個任務都有一個任務特定的輸出層,它根據(jù)全共享BiLSTM網(wǎng)絡產(chǎn)生的表示進行預測。在對某個特定任務的小批量數(shù)據(jù)進行訓練時,其他任務的輸出層參數(shù)不會更新。例如,給定一個主任務m和一個輔助任務n,全共享BiLSTM網(wǎng)絡可以為兩個任務學習一個共享的表示hs,該共享表示被傳遞到兩個任務各自的輸出層進行分類。
本實驗使用生物醫(yī)學領(lǐng)域的5個公開數(shù)據(jù)集: AImed[20]、BioInfer[21]、ChemProt[22]、DDIExtraction 2011[23]以及I2b2/VA2010[24]。5個語料都是句子級別標注的關(guān)系抽取語料,即在每個句子中標注出了所有關(guān)注的實體,以及存在關(guān)系的實體對。其中AImed和BioInfer是蛋白質(zhì)關(guān)系抽取任務中被廣泛使用的語料,用來判別兩個候選蛋白質(zhì)是否存在交互關(guān)系。ChemProt是藥物—蛋白質(zhì)關(guān)系數(shù)據(jù)集,語料中的正例被細分為10個具體類別。DDIExtraction 2011是藥物—藥物交互關(guān)系數(shù)據(jù)集,用來判別兩個候選藥物之間是否存在關(guān)系。I2b2/VA2010數(shù)據(jù)集關(guān)注的是醫(yī)學電子病歷中醫(yī)療問題(Problem)、臨床試驗(Test)和治療方法(Treatment)3類實體中的實體對Treatment-Problem、Test-Problem以及Problem-Problem間的關(guān)系,這3大類關(guān)系又被細分為8類具體關(guān)系。本文實驗只關(guān)注實體間是否存在關(guān)系的二元分類,所以對于非二分類的語料,我們將其所有的正例都合并為一類“存在關(guān)系”,其余的實體對為負例“沒有關(guān)系”。
由于AImed和BioInfer原始數(shù)據(jù)集沒有劃分測試集,因此我們隨機抽出20%作為測試集,剩余的80%作為訓練集。此外,我們將ChemProt原始的訓練集和驗證集進行合并作為新的訓練集。上述5個語料的候選實體對實例數(shù)據(jù)統(tǒng)計在表2中給出。
實驗中,我們從PubMed中下載MedLine摘要,然后加入了本文中使用的5個語料數(shù)據(jù),使用Word2Vec工具中的skip-gram模型來進行詞向量預訓練。本實驗使用交叉熵損失函數(shù)作為目標函數(shù),使用RMSprop算法[25]進行參數(shù)優(yōu)化,并從訓練集中隨機劃分20%作為驗證集,用于選擇模型超參數(shù),實驗中的模型主要超參數(shù)如表3所示。此外,本實驗采用生物醫(yī)學實體關(guān)系抽取任務中常用的綜合分類率F值評價指標對實驗結(jié)果進行評價。
表2 實驗語料的數(shù)據(jù)統(tǒng)計
表3 超參數(shù)設置
為了與多任務模型進行對比,我們用單個任務的數(shù)據(jù)集訓練各自的單任務模型(Single-Task Model,STM)作為基線系統(tǒng)。此外,我們還將所有語料的訓練集合并,使用合并后的訓練集訓練了一個通用泛化的模型(General Model,GEM)作為對比系統(tǒng)。在訓練單任務模型和通用泛化的模型時,我們根據(jù)單個任務驗證集上的模型性能,使用早停機制選擇訓練迭代次數(shù)。在訓練多任務模型時,根據(jù)當前的主任務驗證集上的模型性能,使用早停機制選擇訓練迭代次數(shù)。
在多任務模型中,為了探究每兩個任務間的相互作用,我們對5個數(shù)據(jù)集進行了兩兩全共享和兩兩私有共享多任務實驗。具體來說,對于給定的五個任務,選出一個為主任務,在剩余的四個任務中,每次僅選取一個任務作為輔任務,然后使用主任務與選定的該輔任務的數(shù)據(jù)集訓練一個全共享和私有共享模型,實驗結(jié)果在表4中給出。其中,“STM”“FSM”“SPM”分別表示單任務模型、兩兩全共享模型和兩兩私有共享模型。相比單任務模型,多任務模型在主任務上預測性能有提升的結(jié)果用加粗字體表示。
表4 兩兩多任務模型實驗結(jié)果(%)
實驗結(jié)果表明: 在多任務模型中,不同的輔任務對主任務具有不同影響,輔任務與主任務越相關(guān),越容易促進主任務的預測性能。其中,AImed和BioInfer都是PPI數(shù)據(jù)集,這兩個數(shù)據(jù)集中對于蛋白質(zhì)對之間的關(guān)系描述方式是相似的,例如,都會使用“interact”或者“binding”等觸發(fā)詞來表征蛋白質(zhì)對之間存在關(guān)系,因此多任務學習可以更好地學習兩個任務之間的相關(guān)性,使得任務間彼此促進。ChemProt數(shù)據(jù)集和DDI2011數(shù)據(jù)集中都涉及藥物實體,聯(lián)合訓練時,模型會學習到兩個任務之間的共享信息,對單個數(shù)據(jù)集中的信息進行補充,提高模型的預測性能。另一方面,在FSM中,I2b2/VA2010會降低其他四個任務的預測性能。這可能是因為I2b2/VA2010是電子病歷中的數(shù)據(jù)集,包含的實體是醫(yī)學電子病歷中的臨床試驗、臨床問題和治療手段,與其他四個數(shù)據(jù)集中的實體類型以及交互表示具有較大差異,因此僅使用I2b2/VA2010作為輔助任務時會降低其他主任務的預測性能。
為了驗證多任務模型在所有數(shù)據(jù)集上的有效性,我們在表5中列出多任務模型與單任務模型的實驗對比結(jié)果。其中,“STM”“GEM”“FSM”“SPM”“Att-MAM”分別代表單任務模型、通用泛化模型、全共享模型、私有共享模型和基于Attention機制的主輔多任務模型。相比單任務模型,多任務模型在主任務上預測性能最好的結(jié)果用加粗字體表示。
表5 單任務模型與多任務模型性能比較(%)
*σF表示各個模型相對于單任務模型的F值變化。
表5中的實驗結(jié)果顯示: 與五個任務的STM的平均F值69.75%相比,GEM在五個數(shù)據(jù)集上的平均F值(68.92%)下降0.83%。一方面,GEM在ChemProt、DDI2011與I2b2/VA2010數(shù)據(jù)集上的預測性能下降。GEM將五個任務的訓練集簡單混合在一起進行訓練,忽略用實體類型來判斷實體對之間的關(guān)系。當一個數(shù)據(jù)集中對正例的描述方式與另一個數(shù)據(jù)集中對負例的描述方式相似時,會影響模型的判斷能力。并且,每個任務的數(shù)據(jù)集中都存在任務特定的噪聲,例如,模型的錯誤預測通常是由于實體對之間的否定表述和并列結(jié)構(gòu)。GEM將數(shù)據(jù)集混合會造成噪聲累積,從而降低模型的預測能力。另一方面,GEM在AImed和BioInfer數(shù)據(jù)集上的預測性能有所提高。這是因為簡單地混合數(shù)據(jù)進行訓練,相當于為特定任務增加了訓練樣本,當增加的樣本中的信息與原有的數(shù)據(jù)具有相似且一致的特征時(例如PPI與DDI都用“effect”或者“interact”表征交互關(guān)系),就有可能提高模型對于原樣本的預測性能。
FSM、SPM和Att-MAM分別取得了71.05%、71.72%和72.41%的平均F值,比STM分別平均提高1.30%、1.97%、2.66%,比GEM分別提高2.13%、2.80%、3.49%。與STM相比,在多任務模型中,對主任務來說,引入輔任務進行訓練,可以更加明顯地區(qū)分某個類別的特征。例如,AImed為蛋白質(zhì)-蛋白質(zhì)交互關(guān)系(PPI)數(shù)據(jù)集,DDI2011為藥物-藥物交互關(guān)系(DDI)數(shù)據(jù)集,PPI和DDI中都是用“interaction”來表征兩個實體間存在關(guān)系的,因此當DDI2011作為輔任務數(shù)據(jù)集和主任務數(shù)據(jù)集AImed進行聯(lián)合訓練時,可以使模型更易學習某個類別的特征,從而提高預測性能。尤其是本文中的三個多任務模型在AImed數(shù)據(jù)集上的性能較單任務分別顯著提升2.51%、4.39%、7.98%。由表2可知,相比其他4個數(shù)據(jù)集,AImed訓練集規(guī)模相對較小。多任務學習可以彌補小數(shù)據(jù)集先驗知識的不足,使得抽取性能提升更為明顯。另一方面,相比于五個任務的單任務模型,F(xiàn)SM在4個數(shù)據(jù)集上的性能都有所提高,其中,在AImed和I2b2/VA2010數(shù)據(jù)集上性能有顯著提升,而在BioInfer數(shù)據(jù)集上的性能略微有所下降。這是因為在FSM中,引入輔任務和主任務聯(lián)合訓練共享空間時,會保留某些輔任務特定的特征,輔任務特定的特征會對主任務的預測性能帶來消極影響。
對比3個多任務模型,其中Att-MAM的效果最好,SPM效果優(yōu)于FSM。FSM利用所有任務的知識聯(lián)合學習多個任務,并在任務間共享輸出層外的所有參數(shù),為所有任務學習一個共享的表示。FSM中的共享表示最大可能地捕獲了所有任務的共享表示,有效避免了訓練過程中的過擬合,使得模型在主任務的測試集上取得更好的效果。但是,在FSM中,所有任務僅通過一個共享層無法區(qū)分共享信息與任務特定信息。SPM也為主任務和所有輔任務學習一個共享的表示,捕捉所有任務的共享特征;除此之外,每個任務還有一個私有的BiLSTM網(wǎng)絡,學習任務特定的特征。共享特征作為任務特定特征的補充,可提高模型的預測能力;私有BiLSTM網(wǎng)絡最大程度地保留了任務特定特征,有效防止了共享表示中的噪聲對任務特定特征影響,因此SPM的性能優(yōu)于FSM。相比SPM,在Att-MAM中,不僅每個任務有一個私有BiLSTM網(wǎng)絡,而且每個輔任務都與主任務有一個共享的BiLSTM網(wǎng)絡,然后通過Attention層來學習每個輔任務對主任務的不同影響。由表4的分析可知,每個輔任務對主任務的影響不同,因此所有的共享表示和任務特定的表示經(jīng)過Attention層時,會根據(jù)對主任務的不同影響被分配不同的權(quán)重。私有的BiLSTM網(wǎng)絡可以最大程度地保留任務特定的特征,主任務通過與不同輔任務訓練共享表示可以捕獲更多的共享特征,引入Attention機制為不同特征分配權(quán)重,有效避免了輔任務對主任務的消極影響,因此Att-MAM的性能優(yōu)于SPM和FSM。
為了驗證Attention機制在主輔多任務模型中的有效性,我們做了如下實驗: 構(gòu)建不使用Attention層的主輔多任務模型,即主任務與每個輔任務的共享表示直接和主任務的私有表示拼接起來,送入主任務輸出層進行分類。實驗結(jié)果如表6所示,其中“STM”“MAM”“Att-MAM”分別表示單任務模型、不使用Attention和使用Attention機制的主輔多任務模型。
表6 Attention機制對主輔多任務模型性能的影響(%)
從表6結(jié)果可以看到,MAM取得了70.81%的平均F值,比STM平均提高1.06%,但比Att-MAM平均降低1.60%,該結(jié)果說明了Attention機制的有效性。主任務與輔任務學習的共享表示可以為私有表示提供補充信息,從而提升單任務的預測性能;但是由于輔任務對主任務的影響不總是積極的,使用Attention機制為消極作用的輔任務分配較低權(quán)重,可以有效避免輔任務的噪聲對模型的性能影響;同時,為具有積極影響的共享特征分配更高的權(quán)重,可以使模型學習到更易區(qū)分類別的特征,從而提升模型的預測性能。
由于在本文工作中,我們對于蛋白質(zhì)關(guān)系抽取語料AImed和BioInfer按照8∶2的比例隨機劃分了訓練集和測試集,并且將多分類語料處理為二分類語料,所以我們重現(xiàn)了生物醫(yī)學領(lǐng)域關(guān)系分類任務上性能較好的三個方法,與我們的方法進行對比。三個方法為,CNN: Sahu等[26]提出的具有最大池化層的多濾波器CNN;CRNN-Max和CRNN-Att: 由Raj等[27]提出的基于CNN和雙向LSTM組合的雙層模型。后兩者在輸出層之前分別采用Max-pooling操作和Attention機制來抽取最顯著的特征。實驗中,我們?nèi)コ嗽~性等額外特征,均保留詞向量特征和相對位置向量特征作為輸入特征。實驗結(jié)果如表7所示。其中,“Ours”表示我們的方法中具有最好性能的基于Attention機制的主輔多任務模型。預測性能最好的結(jié)果用加粗字體顯示。
表7 與他人工作方法的對比(%)
表7的實驗結(jié)果顯示: 我們的方法的平均F值比多濾波器CNN提高2.80%,與結(jié)合CNN與RNN的CRNN-Max和CRNN-Att模型相比,分別提升了0.89%和1.12%。實驗結(jié)果驗證了多任務模型的有效性。Sahu等[26]和Raj等[27]搭建的單任務模型,利用多濾波器CNN或者組合CNN與RNN的方法,有效地抽取出單一任務的特定特征。多任務模型僅使用單層RNN網(wǎng)絡,在抽取任務特定特征的同時,通過共享空間有效學習到多個任務之間的共享特征,使得具有關(guān)聯(lián)性的各個單任務之間互相促進,從何取得了更好的性能。
針對目前生物醫(yī)學關(guān)系抽取現(xiàn)存方法僅考慮單任務而沒有利用多任務間相關(guān)性的問題,本文對基于多任務學習的生物醫(yī)學關(guān)系抽取進行了探索?;贐iLSTM模型,我們構(gòu)建了全共享模型(FSM)、私有共享模型(SPM),并在此基礎(chǔ)上提出了基于Attention機制的主輔多任務學習模型(Att-MAM)。Att-MAM利用Attention機制充分考慮了每個輔任務對主任務的不同程度的影響。實驗結(jié)果表明,本文的三個多任務模型性能優(yōu)于每個任務的單任務模型,其中Att-MAM取得了最好的結(jié)果,并且性能優(yōu)于Sahu和Raj等提出的關(guān)系分類方法。多任務學習方法可以利用多個任務之間的共性,為多個任務學習共享的表示,增加訓練樣本數(shù)量的同時,平衡了不同數(shù)據(jù)集中的噪聲,提升模型的性能。
目前我們只使用了最基礎(chǔ)的特征在關(guān)系抽取二分類問題上進行了研究,在未來的工作中,我們將探究關(guān)系抽取中其他額外特征(例如,詞性、依存句法特征等)對多任務學習的影響,也將進一步從簡單的二分類問題擴展到多分類問題。此外,我們也將嘗試引入對抗學習方法來降低共享空間中的噪聲,使得模型學習到的共享表示更加精確,從而進一步提升模型的預測性能。