李正光,林鴻飛,申 晨,徐 博,鄭 巍
(1. 大連理工大學 計算機科學與技術學院,遼寧 大連 116023;2. 大連交通大學 軟件學院,遼寧 大連 116028)
化學物質(zhì)誘導疾病(Chemical-induced disease,CID)關系對于藥物發(fā)現(xiàn)、精準醫(yī)療、藥物不良反應等生物醫(yī)學研究至關重要[1],所以生物信息學家通過人工標注的方式將化學物質(zhì)-疾病關系整理成生物醫(yī)學數(shù)據(jù)庫,如CTD(Comparative Toxicogenomic Database)[2]。然而人工標注CID關系耗費大量時間和精力,而且很難滿足生物醫(yī)學文獻日益增長的需求。因此通過自然語言處理技術自動地從生物醫(yī)學文獻中抽取CID關系成為一個重要的研究熱點。但由于缺乏一個全面的基準數(shù)據(jù)集,很難對不同的技術進行評估。為了提高CID關系提取的研究水平,BioCreative在2015年組織了一個從MEDLINE文獻中自動提取CID關系的評測任務。研究者在該任務中面臨的挑戰(zhàn)主要包括: ①CID關系隱含在句子內(nèi)或句子間;②生物醫(yī)學領域的文章包含更多結(jié)構(gòu)復雜的長句[3]。
在評測任務中,XU等人設計的CD-REST系統(tǒng)訓練并融合句子級別和文檔級別的SVM分類器以抽取CID關系[4]。Pons等利用先驗知識和多種語言學特征進行訓練[5]。后續(xù)研究者利用詞法、BON(Bag ofN-gram)、句子級和文檔級特征[6],圖核與協(xié)同訓練相結(jié)合[7]識別CID關系。然而基于特征的方法依賴于預先定義的啟發(fā)式規(guī)則,導致其泛化性能不佳。因此,一些學者利用卷積神經(jīng)網(wǎng)絡[8]、循環(huán)神經(jīng)網(wǎng)絡[9]自動抽取CID關系并取得了較好的性能。文檔級關系抽取分為句間關系和句內(nèi)關系抽取。如Sahu等人[10]將基準數(shù)據(jù)集分成句內(nèi)和句間兩個子數(shù)據(jù)集,分別進行訓練和測試,并利用圖卷積網(wǎng)絡進行關系抽取。Gu等人[11]引入注意力機制對句內(nèi)和句間的CID關系進行抽取。研究結(jié)果表明,雖然CID關系抽取在句內(nèi)關系上已經(jīng)取得了很多積極成果,但是在句間關系上大部分系統(tǒng)表現(xiàn)很差,這也導致了最終性能在不引入外部資源的條件下不理想。所以,更具泛化性能且無外部資源以及能同時識別句內(nèi)和句間CID關系的CID抽取系統(tǒng)更值得研究。
對現(xiàn)有系統(tǒng)研究發(fā)現(xiàn),多數(shù)現(xiàn)有系統(tǒng)主要從句子級或者轉(zhuǎn)換為句子級抽取CID關系,而忽略整篇文檔中不同位置的實體對識別性能的影響,這可能是導致性能較差的原因。因此,本文提出了一種交互自注意力(Cross self-attention,CSA)機制并將該機制與BERT(Bidirectional Encoder Representations from Transformers)相結(jié)合,以提升CID關系抽取的性能。該模型由BERT輸入、CSA操作、實體信息收集及預測輸出組成。其中BERT輸入包含標題、摘要和最短依賴路徑(Shortest Dependency Paths,SDPs)。首先,模型利用工具Spacy Library將摘要拆分為多個句子,并且使用工具Stanford Parser從共現(xiàn)化學物質(zhì)和疾病的句子提取最短依賴路徑。其次,將標題、摘要和SDPs作為BERT輸入以便獲取它們的上下語義信息。第三,利用交互自注意力學習其交互語義信息以增強彼此語義表示,從而在文檔級上捕獲完整的語義。最后通過改進的R-BERT[12]收集不同句子中的實體語義信息,并且將收集到的化學物質(zhì)、疾病語義表示和BERT的特殊標記[CLS]的表示進行連接,采用Softmax操作輸出結(jié)果。
CID關系抽取研究方法主要涉及傳統(tǒng)機器學習和深度神經(jīng)網(wǎng)絡。而根據(jù)研究者對語料的處理程度又可分為句子級、文檔級和二者結(jié)合方法。Daniel等[13]利用啟發(fā)式規(guī)則并且引入疾病本體庫、MeSH(Medical Subject Headings)和Wikipedia在句子級層面識別CID關系。BRAN[14]系統(tǒng)使用自注意力編碼在文檔級層面抽取CID關系。CD-REST[4]首先利用(1)詞級特征包括BOW、POS、拼寫信息; (2)詞典特征; (3)上下文特征,Bi-gram和Tri-gram; (4)詞向量,分別訓練了句子級和文檔級SVM,然后分別對句內(nèi)和句間CID關系識別,最后經(jīng)過后處理操作得到最終的識別結(jié)果。CTD庫中包含有大量準確的化學物質(zhì)—誘導疾病關系,因此部分研究者引入CTD中的關系以提升整個CID的抽取性能。如Gu等[15]自動從CTD關系知識中生成訓練數(shù)據(jù),然后分別采用基于注意力的神經(jīng)網(wǎng)絡和堆疊式的自動編碼網(wǎng)絡來引導模型學習,并在句內(nèi)和句間兩個層級上辨別CID關系。句間CID關系抽取是目前研究的瓶頸,是一項值得研究的任務。
文檔級關系抽取所涉及的語料中的實例都是由摘要和標題組成的,而且摘要和標題都是出自同一篇文獻,因此它們之間在語義上存在內(nèi)在關系。此外,一些研究表明,標題有助于改善系統(tǒng)的抽取性能[16]。而現(xiàn)有CID抽取系統(tǒng)表明,SDP對于句內(nèi)CID關系的確定起到很大作用。本文所提出的模型將標題、摘要和SDP作為輸入。整個系統(tǒng)框架如圖1所示。該模型主要包含四個組件: ①多條最短依賴路徑的構(gòu)建; ②BERT表示; ③交互自注意力機制; ④文檔中實體語義收集以及CID關系預測。
圖1 系統(tǒng)框架圖
SDP集中了兩個目標實體的重要相關信息,因此它是確立兩個實體句內(nèi)關系的重要線索[17]。然而文檔級語料中的一個實例包含多個句子,而且實體之間的關系有句內(nèi)關系和句間關系。確立兩個實體關系是基于整篇文檔的語義,而不是單個句子的語義表達。因此文檔級實例的SDP構(gòu)建方法不同于現(xiàn)有SDP構(gòu)建方法。本文構(gòu)建SDP的方法步驟如下:
Step1: 使用“$CHEMICAL$”和“#TARGET#”替換實例中包括標題在內(nèi)的所提及的目標化學物質(zhì)和疾病。
Step2: 利用自然語言處理的分句工具將摘要拆分為多個句子。
Step3: 構(gòu)建共現(xiàn)“$CHEMICAL$”和“#TARGET#”的所有句子(不妨稱之為共現(xiàn)句)集合,Setco
Step4: 若集合Setco不為空,則利用斯坦福句法工具獲取所有共現(xiàn)句的SDP,并且用特殊符號“ESDP” 將SDP串聯(lián)在一起。若集合Setco為空,則表示該實例是句間的CID關系。算法轉(zhuǎn)Step5,即采用近鄰合并規(guī)則獲取一條SDP。
Step5: 假設一個文檔表示為D={S0,S1,S2,…,Si,…,Sn},其中,S0和Si分別表示標題和摘要的第i條句子,而且S0和Si都不是共現(xiàn)句。假設包含目標化學物質(zhì)實體的句子集合為Dc={Sm1,Sm2,…,Smk,…},mk∈[0,n],而包含目標疾病實體的句子集合為Dt={Sn1,Sn2,…,Snj,…},nj∈[0,n]。當mk和nj的絕對差最小時,算法合并句子Smk和Snj。
Step6: 若合并后的句子仍然未獲得SDP,則該實例的SDP為空,用單詞“empty”表示。
BERT由多層雙向Transformer編碼組成。BERT的每個輸入序列的第一個標記總是特殊標記“CLS”,分類任務常以該標記對應的最終隱藏狀態(tài)分類[18]。對于文檔級關系抽取任務,整篇文檔中的實體語義信息對抽取性能都有影響,因此本文模型保留所有Token的最終隱藏狀態(tài)以便獲取更完整的語義信息。本文模型采用BERT產(chǎn)生標題、摘要和SDP的語義信息。它們的語義表示將用于交互語義的獲取。
在CID關系抽取任務中,一個實例可能會多次提及目標實體,而且可能會出現(xiàn)在不同的句子中,即CID關系的表達可能跨越句子邊界,并不總是位于單個句子中。因此,即使在化學物質(zhì)與疾病同時發(fā)生的句子中存在誘導關系,但真正的CID關系也可能在整篇文章中無法確定。而標題、摘要和SDP相互之間存在內(nèi)在關系,因此標題、摘要和SDP的語義信息應該通過它們之間的相互作用來增強,以更充分地表達整個文章的語義信息,從而更好地確定CID關系。這種通過交互得到的語義信息,本文稱之為交互語義信息。交叉注意力機制(Cross-attention)[19]是獲取交互語義的常用方法。但是,CID關系抽取任務不同于文獻[19]中的問答任務,而且生物醫(yī)學語料庫中大多由句法復雜的長句組成,因此,文獻[19]提出的交叉注意力機制并不適合從MEDLINE文獻中學習交互語義信息。自注意力(Self-attention)機制可以有效地幫助模型學習長句的語義信息[17]。所以,自我注意力作為本文的基本注意力機制。此外,摘要中隱藏的語義信息更完整,標題、摘要和SDP對CID關系抽取性能的影響顯然也不同。換言之,交互語義信息對彼此的語義增強權(quán)重應不同。因此,本文揭示一種交叉自注意力機制,利用標題對摘要、SDP對摘要的交叉自注意力操作增強摘要的語義信息,而摘要對標題的交叉自注意力操作增強標題的語義信息。利用增強后的標題和摘要的語義信息,能更充分地表達整篇文章的語義。
提出的模型將BERT的最終輸出序列拆分成摘要HA、SDPHS和標題HT,定義交互自注意力操作的輸入表示如式(1)~式(3)所示。
其中,A、S和T分別表示摘要、SDP和標題用于交互自注意力操作的輸入;WA、WS和WT是它們的權(quán)重。最終交互自注意力輸出定義為式(4)~式(6)。
其中,dA和dT表示摘要和標題的長度。CSA(S,A)、CSA(T,A)、CSA(A,T)分別表示SDP對摘要、標題對摘要和摘要對標題的交互自注意力輸出。摘要和標題的最終表示定義如式(7)、式(8)所示。
Ao=[α1A+α2CSA(S,A)+α3CSA(T,A)]
(7)
To=[β1T+β2CSA(A,T)]
(8)
其中,α1,α2,α3,β1,β2都是學習參數(shù)。
R-BERT[12]在目標實體前后加入特殊標記,并利用預先訓練好的BERT提取豐富的實體語義信息。然后將實體語義表示與BERT的分類標記CLS表示串聯(lián),對句子級別關系進行預測,在通用領域的關系抽取任務上取得了良好的效果。因此,為了能從文檔級生物醫(yī)學文獻中獲得豐富且完整的實體語義信息,本文利用上述思想改進了文獻中的R-BERT,稱之為DocR-BERT。根據(jù)文獻定義給出BERT的CLS標記表示如式(9)所示。
目標化學物質(zhì)和疾病實體的語義表示如式(10)~式(13)所示。
prob=Wosoftmax([H[cls];Hc;Ht])+bo
(14)
其中“;”為串聯(lián)操作,Wo和bo分別表示預測時的權(quán)重矩陣和偏置向量。
為了驗證模型的有效性,本文在BioCreative于2015年發(fā)布的CDR語料上進行了實驗。CDR語料總共包含了1 500篇來自MEDLINE的文檔,其中訓練集、驗證集和測試集各500篇。官方只給出每一篇文檔中真實的CID關系,因此實驗前必須構(gòu)建正例和負例。一篇文檔所有實例集合通過該篇文檔的化學物質(zhì)集合和疾病集合的笛卡爾集得到。如果官方為一篇文檔中的某個化學物質(zhì)-疾病對標注了CID關系,則該實例標記為正例,否則標記為負例。為了驗證模型在句間和句內(nèi)的CID關系抽取性能,本文將數(shù)據(jù)集分為句間、句內(nèi)和所有數(shù)據(jù)集。句內(nèi)關系定義為標題和拆分摘要所得的句子中至少包含一個共現(xiàn)句,否則定義為句間關系。最終得到的各數(shù)據(jù)集分布如表1所示。
表 1 CDR 語料靜態(tài)統(tǒng)計
所有實驗代碼都是使用Python3.6開發(fā)的,并且運行在后端為TensorFlow2.0的開源深度學習包Keras上。實驗中使用的BERT是Lee等人預訓練的BioBERT[18](1)可以從網(wǎng)址https://github.com/naver/biobert-pretrained獲得。。采用準確率(P)、召回率(R)和F值(F)評價模型的性能。實驗中的其他超參數(shù)設置如表2所示。
表 2 超參數(shù)設置
本文主要完成了與現(xiàn)有系統(tǒng)比較實驗以及消融實驗。為了方便敘述,本節(jié)中用“DocR-BERT+CSA_All”表示提出的模型,其中“DocR-BERT”表示改進的R-BERT,“CSA_All”表示所有的交互自注意力操作?!癈SA@S-A”,“CSA@T-A”和“CSA@A-T”分別表示SDP對摘要,標題對摘要和摘要對標題的交互自注意力操作?!?”表示且關系。“[CLS]+T+A+S”表示用標題、摘要和SDP作為輸入,僅用特殊標記“CLS”的最終隱藏輸出預測;而“[CLS]+T+A”表示移出SDP后用“CLS”預測。
3.3.1 與現(xiàn)有系統(tǒng)的性能比較
本文中的模型未引入任何外部資源,而且為了更好地驗證其有效性,將數(shù)據(jù)集劃分為句間和句內(nèi)子數(shù)據(jù)集,分別進行了實驗。因此,為了比較的公平,只對比了現(xiàn)有的不使用外部資源的系統(tǒng)和本文模型的結(jié)果,如表3所示。
表3 與現(xiàn)有系統(tǒng)性能比較
Gu等[18]利用豐富的語言特征構(gòu)建句間和句內(nèi)兩個分類器,然后通過后處理合并最終的結(jié)果,在句間和句內(nèi)以及整個數(shù)據(jù)集上分別獲得37.7%、68.2%和58.3%的F值。他們隨后提出使用卷積神經(jīng)網(wǎng)絡自動確定CID關系,并且在后處理中用啟發(fā)式規(guī)則優(yōu)化結(jié)果。整個數(shù)據(jù)集上的F值提升至61.3%,遺憾的是在句間和句內(nèi)兩個子數(shù)據(jù)集上,準確率、召回率和F值幾乎沒有變化,甚至句間數(shù)據(jù)集上的召回率降低了22%,從而導致只獲得了11.7%的F值。Gu等[11]又引入知識和注意力機制,依然采用句間和句內(nèi)雙模型相結(jié)合,并且使用雙向長短時記憶網(wǎng)絡繼續(xù)對CID關系識別。當他們的新模型不使用知識庫CTD時,相較于前兩次研究明顯有了性能提升,而加入知識庫時,取得了目前最好的F值,即72.1%。他們的實驗表明: ①句間CID關系確定是后續(xù)研究者所面臨的嚴峻挑戰(zhàn); ②注意力機制有助于性能提升; ③CTD知識庫有利于該數(shù)據(jù)集。Sahu等[10]針對文檔級關系抽取中的句間關系抽取提出了文檔級圖卷積網(wǎng)絡。他們構(gòu)建了句法依賴邊、利用指代消解構(gòu)建的共指邊、鄰接句邊和自節(jié)點邊分別表示句間和句內(nèi)依存關系。在CDR和他們構(gòu)建的CHR數(shù)據(jù)集上進行了驗證,其實驗結(jié)果表明GCN對句間文檔級實體關系的識別有較好的效果。Zheng等[8]提出一種將雙向長短時記憶網(wǎng)絡與卷積網(wǎng)絡相結(jié)合,以摘要和標題為輸入,并且將二者進行了適當交互的有效CID識別模型。該模型在句間、句內(nèi)和整個數(shù)據(jù)集上都表現(xiàn)出了良好的性能。尤其是在確定句間CID關系上,取得了43.9%的F值,超越了其他系統(tǒng)。這表明標題以及標題與摘要的交互有效提升了文檔級關系抽取性能。
與Zheng等的方法相比,本文提出的方法“DocR-BERT+CSA_All”在句間、句內(nèi)和整個數(shù)據(jù)集上的F值分別提升了8.8%,2%,1.3%。究其原因可能如下: ①本文以標題、摘要和最短依賴路徑(SDP)為輸入,其中SDP的構(gòu)建借鑒了Sahu等的思想,通過鄰接句合并獲得了句間化學物質(zhì)和疾病的依存關系,標題和摘要同時作為輸入來源于Zheng等的思想; ②得益于BioBERT生成的高質(zhì)量語義表達,BioBERT訓練語料來源于PubMed和MEDLINE,與CDR語料來源一致,而BERT能夠?qū)W習到語料中的淺層和深層語義; ③借鑒Zheng等的交互思想以及Gu等的注意力機制,提出了交互自注意力機制,更加有效地學習到彼此的交互語義,從而增強了標題和摘要的語義表示; ④通過改進R-BERT,收集到更加完整的目標實體語義信息。
3.3.2 消融實驗
為了探討每個組件對系統(tǒng)性能的影響,本文進行了消融研究,結(jié)果如表4所示。從表4可以觀察到,整個表格由交互自注意力操作組件和SDP輸入的影響組成。
表4 各組件對性能的影響
首先,進行了單個交互自注意力操除移出的研究實驗。單獨移除“CSA@S-A”和“CSA@T-A”操作時,句間數(shù)據(jù)集上的F值分別下降了2.1%和2.5%,而句內(nèi)數(shù)據(jù)集的F值也下降了0.8%和0.7%,從而導致整體性能下降了0.9%和0.5%。這表明SDP對摘要和標題對摘要的交互自注意力操作對跨句的CID關系確定影響更大。換言之,對摘要的交互語義有助于句間CID關系抽取性能的提升。當移除“CSA@A-T”時,句間、句內(nèi)和整體性能分別下降了3.4%、4.4%和3%。該結(jié)果說明摘要對標題的交互語義對句間和句內(nèi)CID關系的確定影響很大。尤其是它對提升句內(nèi)CID關系抽取性能起到很好的作用。
其次,將兩兩交互自注意力操作移除時,我們發(fā)現(xiàn)了與單個交互自注意力移除時相似的現(xiàn)象。當“CSA@S-A”和“CSA@T-A”分別被移除時,相對于單獨移除“CSA@S-A”和“CSA@T-A”,句間性能分別下降了1.2%和0.8%,句內(nèi)性能分別下降了0.5%和0.6%。但是當移除“CSA@S-A & CSA@A-T”時,句間和句內(nèi)性能相對于“CSA@S-A”下降了0.5%和3.8%。當“CSA@T-A & CSA@A-T”移出時,句間和句內(nèi)性能相對于“CSA@T-A”下降了2.3%和5.3%,整體性能也下降了3.4%;再次表明摘要對標題的交互語義對CID關系抽取的重要性。而相對于“CSA@A-T”,移除“CSA@A-T & CSA@T-A”時句間和句內(nèi)性能分別上升了0.8%和下降了0.2%,句間和句內(nèi)性能分別下降了1.4%和1.6%,整個數(shù)據(jù)集上的F值隨之下降了0.9%。該結(jié)果說明標題對摘要、摘要對標題的交互自注意力操作相互影響,互為補充。
第三,“CSA@S-A & CSA@T-A & CSA@A-T” 移除,即移除CSA_All,只保留改進的R-BERT時,系統(tǒng)整體性能相對于移除“CSA@T-A & CSA@A-T”保持不變,可能是因為句間F值下降0.5%而句內(nèi)F值卻上升了1.4%。同時,從表4還能發(fā)現(xiàn),對于句內(nèi)CID關系,準確率都高于召回率,說明錯誤的正例(False Positive,F(xiàn)P)較少,而錯誤的負例(False Negative,F(xiàn)N)較多。即模型易將正例誤判為負例,而將負例誤判為正例相對較少。
最后,將標題、摘要和SDP作為BERT的輸入,直接使用特殊標記[CLS]的最終隱藏狀態(tài)進行預測時,系統(tǒng)在句間、句內(nèi)和整體數(shù)據(jù)集上分別獲得了50.3%、66.8%和59.3%的F值。而當移除SDP時,F(xiàn)值在三個數(shù)據(jù)集上分別下降了2.2%、3.6%和0.8%。這說明: ①BERT幫助模型取得了標題、摘要和SDP的高質(zhì)量的語義表達; ②SDP對于CID關系確定也有一定的促進作用。
本文提出一種稱之為交互自注意力的新機制,并將其與改進R-BERT集成。新模型利用交互自注意力從BERT生成語義表達中學習標題、摘要和最短依賴路徑之間的交互語義,這些語義有助于增強標題和摘要的語義表示,有利于捕獲整篇文檔的完整語義,從而提升系統(tǒng)抽取效果。實驗結(jié)果驗證了新模型在生物醫(yī)學文檔級關系抽取任務中的有效性。因為新模型未引入任何的外部資源,所以其適合其他關系抽取任務。目前,該模型沒有考慮標題中目標實體以及文檔中不同句子對性能的影響。后續(xù)工作中,我們將考慮使用權(quán)重系數(shù)以及引入少量的實體特征,進一步改善系統(tǒng)性能。