羅熹,曾智穎,王建新,安瑩
(1.中南大學(xué)計(jì)算機(jī)學(xué)院,湖南長沙 410083;2.湖南警察學(xué)院網(wǎng)絡(luò)犯罪偵查湖南省普通高校重點(diǎn)實(shí)驗(yàn)室,湖南長沙 410138;3.中南大學(xué)大數(shù)據(jù)研究院,湖南長沙,410083)
藥物相互作用(Drug-Drug Interaction,DDI)是指同時(shí)或相繼使用兩種或兩種以上藥物時(shí),某一藥物作用大小、持續(xù)時(shí)間甚至作用性質(zhì)受到其他藥物或化學(xué)物質(zhì)的影響而發(fā)生明顯改變或產(chǎn)生藥物不良反應(yīng)的現(xiàn)象[1].不良的藥物相互作用可以減緩或者延遲藥物的吸收,導(dǎo)致病人的治療周期增長,治療效果減弱,嚴(yán)重的更會(huì)危及生命甚至導(dǎo)致死亡[2-3].在臨床治療中,患者在很多時(shí)候不可避免地會(huì)需要服用多種藥物,DDI 的存在可能導(dǎo)致患者面臨嚴(yán)重的用藥風(fēng)險(xiǎn),影響臨床治療的效果.隨著聯(lián)合用藥的日益普遍,如何避免不良藥物相互作用的發(fā)生已經(jīng)成為臨床安全性的一道難題.目前來看,盡可能多地了解藥物作用的相關(guān)信息,是解決不良藥物相互作用發(fā)生的有效途徑,對(duì)藥物研發(fā)和臨床治療有著重要的意義.
隨著研究人員對(duì)于DDI 研究關(guān)注度的不斷提升,近年來涌現(xiàn)了大量的相關(guān)研究成果.這些研究成果大多以自由文本的形式存在于醫(yī)學(xué)文獻(xiàn)中,這使得醫(yī)學(xué)文獻(xiàn)成為了獲取最新DDI 信息的最有效來源之一.目前雖然存在一些結(jié)構(gòu)化的藥物數(shù)據(jù)庫可供用戶查詢藥物的相關(guān)信息,但是現(xiàn)有的數(shù)據(jù)庫大多通過人工采集的方式從文本中挖掘藥物相互作用關(guān)系來建立相關(guān)數(shù)據(jù)庫.這種過分依賴人工干預(yù)的方式導(dǎo)致現(xiàn)有藥物數(shù)據(jù)庫的構(gòu)建和維護(hù)極為耗時(shí)費(fèi)力,知識(shí)的更新緩慢低效,覆蓋范圍也十分有限,難以滿足數(shù)據(jù)規(guī)模爆炸式增長、數(shù)據(jù)復(fù)雜度不斷提高的大數(shù)據(jù)環(huán)境下藥物相關(guān)研究和臨床應(yīng)用的實(shí)際需求.因此,實(shí)現(xiàn)非結(jié)構(gòu)化生物醫(yī)學(xué)文本中的DDI自動(dòng)提取具有極為重要的研究意義和應(yīng)用價(jià)值.
傳統(tǒng)的基于統(tǒng)計(jì)的機(jī)器學(xué)習(xí)的方法雖然能夠從文本中自動(dòng)地抽取DDIs,但是這類方法在特征提取的過程中通常依賴于人工制定的特征工程,抽取效果也不太理想.基于深度學(xué)習(xí)的方法避免了復(fù)雜的特征工程并且取得了不錯(cuò)的效果,但是現(xiàn)有的方法往往僅從句子序列或其他外部信息中學(xué)習(xí)到片面的特征,難以充分地利用文本中多方面的相關(guān)信息獲得全面的特征表示.
本文提出了一種結(jié)合語義和依存關(guān)系的藥物相互作用關(guān)系抽取方法.在通過Bi-GRU 網(wǎng)絡(luò)從句子序列中充分學(xué)習(xí)語義特征表示后,利用多頭自注意力機(jī)制從中挖掘句子內(nèi)部單詞之間潛在的依存關(guān)系,獲得長距離依賴特征.同時(shí),還通過引入目標(biāo)藥物實(shí)體間的最短依存路徑,保留能表明候選藥物對(duì)關(guān)系的重要單詞,過濾掉其他無關(guān)的詞,并利用Bi-GRU 網(wǎng)絡(luò)從最短依存路徑序列中學(xué)習(xí)特征.最后充分地融合句子序列和候選藥物對(duì)之間最短依存路徑之中的特征來實(shí)現(xiàn)文本中藥物相互作用對(duì)的識(shí)別和抽取.
生物醫(yī)學(xué)和醫(yī)學(xué)信息化的發(fā)展為藥物相關(guān)研究積累了各種形式的大量生物醫(yī)學(xué)數(shù)據(jù),越來越多的研究成果都以非結(jié)構(gòu)化文本的形式展示在互聯(lián)網(wǎng)上,如何及時(shí)從這些開放領(lǐng)域的文本中獲取有價(jià)值的信息,成為一個(gè)亟待解決的問題.實(shí)體關(guān)系抽取的主要目的是從文本中識(shí)別實(shí)體并抽取實(shí)體之間的語義關(guān)系,從而解決原始文本中目標(biāo)實(shí)體之間的關(guān)系分類問題,它也是構(gòu)建復(fù)雜知識(shí)庫系統(tǒng)的重要步驟.藥物相互作用關(guān)系抽?。―rug-Drug Interaction Ex?traction,DDIE)作為實(shí)體關(guān)系抽取中一個(gè)具體領(lǐng)域的子任務(wù),也得到了廣泛的關(guān)注.
近年來,研究人員在DDIE 任務(wù)上做出了許多努力.現(xiàn)有方法可以分為以下三類:基于規(guī)則的方法、基于機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法.早期的研究大多采用基于規(guī)則的方法,通過制定一系列規(guī)則從文本中抽取存在相互作用的藥物對(duì)[4-5].但是在生物醫(yī)學(xué)文獻(xiàn)中,由于描述藥物相互作用的語句結(jié)構(gòu)復(fù)雜多變,基于人工規(guī)則的方法在藥物相互作用關(guān)系抽取任務(wù)中表現(xiàn)不佳.DDIExtraction-2011 評(píng)測(cè)[6]和DDIExtraction-2013 評(píng)測(cè)[7]的成功開展,為研究人員提供了一個(gè)已標(biāo)注的藥物相互作用關(guān)系語料庫,它在區(qū)分藥物對(duì)是否存在相互作用的同時(shí),還將藥物相互作用的類別進(jìn)行了劃分.這個(gè)語料庫的發(fā)布給研究人員提供了標(biāo)準(zhǔn)有效的數(shù)據(jù)支撐,極大地促進(jìn)了藥物相互作用抽取相關(guān)研究的發(fā)展.近年來,許多基于機(jī)器學(xué)習(xí)的方法開始被用于藥物相互作用關(guān)系抽取任務(wù)并取得了較好的效果.
基于機(jī)器學(xué)習(xí)的方法大體可分為兩類:基于特征的方法和基于核的方法.基于特征的方法利用人工提取的各種特征將候選實(shí)例表示為相應(yīng)的特征向量以實(shí)現(xiàn)DDI的分類.常用的特征有單詞特征、上下文特征、句法特征等.例如Kim 等人[8]提出了一種基于豐富特征的抽取DDI 的方法,包括單詞特征,依賴圖特征,解析樹特征等.然而基于特征的機(jī)器學(xué)習(xí)方法存在著明顯的局限性:特征的人工提取十分耗時(shí)且依賴于研究人員的專業(yè)知識(shí)技能水平的高低.基于核的方法通過構(gòu)建不同的核函數(shù)來量化兩個(gè)對(duì)象之間的相似性,Chowdhury 等人[9]提出了一種用于DDI 提取的混合核方法,包括基于特征的內(nèi)核,淺語言內(nèi)核等.但是核函數(shù)的有效設(shè)計(jì)是一個(gè)極富挑戰(zhàn)性的問題.因此,傳統(tǒng)的基于統(tǒng)計(jì)的機(jī)器學(xué)習(xí)方法在藥物相互作用關(guān)系抽取方面的性能仍然難以令人滿意.
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,深度神經(jīng)網(wǎng)絡(luò)模型不依賴傳統(tǒng)特征工程的自動(dòng)特征學(xué)習(xí)能力,使其在自然語言處理的多個(gè)子領(lǐng)域得到了廣泛的應(yīng)用并獲得了一定的成功.近年來已經(jīng)提出了一些基于深度學(xué)習(xí)的方法用來從文本中抽取DDI.基于深度學(xué)習(xí)的方法可以利用深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力從數(shù)據(jù)中自動(dòng)捕獲相關(guān)特征,并在一定程度上有效地提高DDIE 的性能,因此它們吸引了廣泛的注意并且逐漸成為主流方法.
起初,基于深度學(xué)習(xí)的方法往往只考慮了文本中句子序列的語義特征.Liu 等人[10]在2016 年首次使用CNN 模型來進(jìn)行DDI 的抽取,該方法將文本中的單詞轉(zhuǎn)化為詞向量并結(jié)合位置信息作為特征輸入,避免了傳統(tǒng)方法在提取特征過程中對(duì)于自然語言處理工具的過度依賴.Quan 等人[11]則利用多通道融合不同版本的詞向量來獲得包含更豐富語義信息的詞向量表示,再利用卷積神經(jīng)網(wǎng)絡(luò)從句子序列中抽取DDI,獲得了優(yōu)于傳統(tǒng)方法的性能.
然而,僅僅通過句子序列分析雖然能獲得相關(guān)的語義線索,卻難以學(xué)習(xí)到句中包含的句法信息.因此,許多研究人員嘗試?yán)米匀徽Z言處理工具進(jìn)行句子解析以獲取更多的句法特征來提高關(guān)系抽取的準(zhǔn)確性.最常用的就是依存句法分析[12](Depen?dency Parsing).依存句法分析可以通過分析句內(nèi)成分之間的依存關(guān)系揭示其句法結(jié)構(gòu),目前在自然語言處理領(lǐng)域取得了廣泛的應(yīng)用.在藥物相互作用關(guān)系抽取任務(wù)中,依存分析的有效性也得到了有效驗(yàn)證.比如Wang等人[13]通過依存句法分析得到句子的依存分析樹,通過對(duì)其使用深度優(yōu)先搜索和廣度優(yōu)先搜索得到相應(yīng)的序列數(shù)據(jù)(DFS 和BFS),再通過Bi-LSTM 網(wǎng)絡(luò)從DFS、BFS和原句子序列中分別學(xué)習(xí)得到特征.Zhao 等人[14]提出了一種結(jié)合了GRU 和GCN(Graph Convolutional Network)的深度神經(jīng)網(wǎng)絡(luò),分別用于從句子序列和句法圖中學(xué)習(xí)相關(guān)特征來對(duì)DDI 進(jìn)行分類.這些方法雖然在DDI 抽取性能上取得了一定的提高,但是它們通常依賴于句子解析的準(zhǔn)確性,而目前的自然語言處理工具并不完善,不可避免的存在一定的解析錯(cuò)誤,尤其是對(duì)復(fù)雜長句的解析上效果較差,因此大大影響了它們的有效性.
除此之外,隨著注意力機(jī)制在各類自然語言處理任務(wù)中取得了成功的應(yīng)用,相關(guān)研究人員也開始將其引入到藥物相互作用關(guān)系抽取任務(wù)中來.Wang等人[15]提出的Input Attention 機(jī)制通過計(jì)算每個(gè)單詞與藥物實(shí)體的點(diǎn)積來衡量它們之間的相似度,從而給句中單詞分配不同的權(quán)重.Zhou 等人[16]提出了position-aware Attention 機(jī)制,把全句各單詞的位置信息加以考慮來捕捉特定單詞對(duì)目標(biāo)實(shí)體關(guān)系的影響.這些方法通過Attention 機(jī)制選擇性地關(guān)注來自輸入的重要信息,在DDIExtraction-2013 數(shù)據(jù)集上取得了不錯(cuò)的效果.但是這些方法忽略了句法特征的重要性,尤其是長距離依賴特征對(duì)于DDI 識(shí)別和抽取的關(guān)鍵作用.
自注意力機(jī)制[17]是一種特殊的注意力機(jī)制,它可以根據(jù)當(dāng)前單詞與同一序列中其他單詞的關(guān)聯(lián)度來評(píng)估其重要性,已經(jīng)被廣泛應(yīng)用到各種自然語言處理任務(wù)中,比如Paulse 等人[18]在抽象式摘要任務(wù)中通過自注意力機(jī)制來捕捉長距離依賴關(guān)系,Tan等人[19]利用多頭自注意力機(jī)制完成語義標(biāo)注任務(wù)等,都取得了優(yōu)秀的表現(xiàn).本文提出的方法將自注意力機(jī)制引入到DDIE 任務(wù)中來挖掘單詞間的潛在關(guān)聯(lián)以及句子中的長距離依賴.同時(shí),為了獲得更豐富更全面的特征表示,采用多個(gè)并行頭來捕獲單詞間的相互依賴性.
綜上所述,盡管基于深度學(xué)習(xí)的方法取得了優(yōu)于基于機(jī)器學(xué)習(xí)的方法的表現(xiàn).但是,現(xiàn)有的神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)到的特征往往是單一片面的,難以充分挖掘句中潛在的長距離依賴特征獲得全面的特征表示.因此,本文結(jié)合多頭自注意力機(jī)制提出了一種能融合文本更深層的語義特征和其他多層面多角度特征的方法來實(shí)現(xiàn)DDI的抽取.
本節(jié)將對(duì)本文方法進(jìn)行詳細(xì)描述,其模型結(jié)構(gòu)如圖1 所示.將包含候選藥物對(duì)的句子作為輸入,本文模型可以自動(dòng)從該句子中提取特征,然后確定該藥物對(duì)是否存在相互作用.其主要流程如下:
圖1 結(jié)合語義和依存關(guān)系的DDIE方法架構(gòu)圖Fig.1 Architecture of DDIE method combining semantics and dependency
1)預(yù)處理:對(duì)句子進(jìn)行相關(guān)預(yù)處理并利用Stan?ford parser 解析句子得到目標(biāo)藥物實(shí)體間的最短依存路徑.
2)嵌入層:通過嵌入層把句子序列和最短依存路徑序列中的單詞映射為預(yù)先訓(xùn)練好詞向量,對(duì)于句子序列中的單詞還根據(jù)其與目標(biāo)藥物的相對(duì)距離生成位置向量.
3)編碼層:使用Bi-GRU神經(jīng)網(wǎng)絡(luò)分別從句子序列和最短依存路徑序列中學(xué)習(xí)語義和句法特征.
4)Attention 層:使用多頭自注意力機(jī)制從融合了上下文信息的句子序列中挖掘單詞之間的長距離依賴關(guān)系得到最終特征表示.
5)輸出層:通過頂層Bi-GRU融合多源特征實(shí)現(xiàn)DDI的識(shí)別和抽取.
我們首先對(duì)數(shù)據(jù)集中的句子進(jìn)行相應(yīng)的預(yù)處理操作.為了增強(qiáng)模型的泛化能力,按照在句中出現(xiàn)的順序?qū)⒑蜻x實(shí)例中的兩個(gè)藥物名分別替換成“DRUG1”和“DRUG2”,句中其他藥物名均替換成“DRUG0”.同時(shí),語料庫中有大量表示藥物劑量、百分比等的數(shù)值表達(dá)式,它們是導(dǎo)致假陰性的重要原因之一.因此,我們將句中表示藥物劑量、百分比等的整數(shù)和小數(shù)數(shù)值型實(shí)體分別用“num”和“float”標(biāo)記代替.此外,為了簡化句子,在預(yù)處理步驟中還進(jìn)一步刪除了句中冗余內(nèi)容,如出現(xiàn)在括號(hào)中不包含目標(biāo)藥物實(shí)體的補(bǔ)充說明內(nèi)容.
另外,由于候選藥物相互作用對(duì)的選取方式是考慮句中所有藥物實(shí)體可能的組合,導(dǎo)致數(shù)據(jù)集中負(fù)樣本的數(shù)量遠(yuǎn)多于正樣本的數(shù)量.例如對(duì)于句子“In patients receivingmercaptopurine(Purinethol)orazathioprine(Imuran),the concomitant adminis?tration of 300-600 mg ofallopurinolper day will re?quire a reduction in dose to approximately one-third to one-fourth of the usual dose ofmercaptopurineorazathioprine.”,共包含7 個(gè)藥物實(shí)體,將它們兩兩組合生成候選實(shí)例,則該句中一共存在個(gè)候選的藥物相互作用對(duì).但是其中只有兩個(gè)正樣例,其余均為負(fù)樣例.在DDIExtraction-2013 訓(xùn)練集中,正樣例數(shù)為4 020,而負(fù)樣例數(shù)為23 772,正負(fù)樣例的比例達(dá)到了1:5.9,數(shù)據(jù)存在明顯的不平衡現(xiàn)象.為了減輕樣本不平衡對(duì)模型訓(xùn)練效果的影響,根據(jù)先前的工作[20-21],我們采用了下面的樣本過濾規(guī)則,將滿足其中任一條件的候選實(shí)體識(shí)別為負(fù)樣例并予以濾除.過濾規(guī)則具體描述如下:
規(guī)則1:候選關(guān)系實(shí)例中的兩個(gè)藥物實(shí)體名相同或者一個(gè)藥物名是另一個(gè)藥物名的別名或縮寫名.
規(guī)則2:候選關(guān)系實(shí)例中兩個(gè)藥物名出現(xiàn)在同一個(gè)并列結(jié)構(gòu)中且該并列結(jié)構(gòu)包含兩個(gè)以上藥物名.
在經(jīng)過預(yù)處理步驟后,得到包含有兩個(gè)目標(biāo)藥物實(shí)體的句子序列:
其中wi(i∈[1,n])為句中的單詞,wu=“DRUG1”和wv=“DRUG2”(u,v∈[1,n],u≠v)分別為候選藥物對(duì)中的兩個(gè)藥物實(shí)體.
為了獲得更多的特征來提升藥物相互作用關(guān)系抽取模型的性能,本文使用Stanford parser[26]來對(duì)句子進(jìn)行依存句法分析,并根據(jù)依存分析的結(jié)果得到句子的依存關(guān)系圖.以依存關(guān)系圖中的“DRUG1”為起始節(jié)點(diǎn),“DRUG2”為結(jié)束結(jié)點(diǎn),找到它們之間的最短路徑X,即為兩目標(biāo)藥物實(shí)體之間的最短依存路徑:
其中si(i∈[1,m])為最短依存路徑序列中的單詞.兩個(gè)藥物實(shí)體在依存關(guān)系圖中可能存在多條路徑,但兩個(gè)節(jié)點(diǎn)之間的最短路徑最可能攜帶有關(guān)它們相互關(guān)系的最有價(jià)值的信息.因此,在關(guān)系抽取任務(wù)中,可以通過最短依存路徑顯著縮小目標(biāo)實(shí)體之間的線性順序距離來捕獲他們之間的關(guān)系.最短依存路徑生成的具體流程如圖2所示.
圖2 最短依存路徑生成示意圖Fig.2 Schematic diagram of the shortest dependency path generation
原句子經(jīng)過Stanford parser依存句法分析后得到若干個(gè)表示句中兩個(gè)單詞之間關(guān)系的三元組.比如對(duì)于三元組“dobj(potentiate-3,effects-6)”,表示“ef?fects”是“potentiate”的直接賓語,“dobj”表示直接賓語關(guān)系,3 和6 分別表示“potentiate”和“effects”在句中的位置.根據(jù)依存分析結(jié)果得到句子的依存關(guān)系圖,依存關(guān)系圖使用節(jié)點(diǎn)來表示句子中的單詞,使用邊來描述單詞之間的依存關(guān)系.最后從依存關(guān)系圖中找到目標(biāo)藥物實(shí)體間的最短依存路徑.可以看到,最短依存路徑將重要的詞保留在兩個(gè)實(shí)體之間的語法路徑上,同時(shí)過濾掉次要的輔助詞,并給出了相鄰詞之間的依存關(guān)系.因?yàn)楸碚鲉卧~之間關(guān)系的依賴關(guān)系詞沒有一致的向量表示方法,通過隨機(jī)初始化再訓(xùn)練的方式很難學(xué)習(xí)其中復(fù)雜的關(guān)系,所以我們只保留路徑中的單詞作為最短依存路徑.另外,句中除了兩個(gè)目標(biāo)藥物實(shí)體外,往往還存在多個(gè)其他藥物實(shí)體.為了避免這些無關(guān)實(shí)體對(duì)識(shí)別目標(biāo)藥物實(shí)體相互關(guān)系帶來的負(fù)面影響,本文對(duì)每條最短依存路徑中“DRUG0”的出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì),并將“DRUG0”出現(xiàn)次數(shù)大于或等于路徑長度一半的最短依存路徑進(jìn)行置空處理.
完成預(yù)處理后,包含有兩個(gè)目標(biāo)藥物實(shí)體的句子S 及其對(duì)應(yīng)的最短依存路徑X 輸入到模型的嵌入層以生成句子序列和最短依存路徑序列的嵌入向量表示.我們直接利用了Pyysalo 等人[22]基于大量PubMed 和English Wikipedia 文獻(xiàn)訓(xùn)練得到的詞向量.同時(shí),為了進(jìn)一步獲得句中其他單詞與目標(biāo)藥物實(shí)體的關(guān)聯(lián)關(guān)系,我們還將句中任意單詞wi到兩個(gè)目標(biāo)藥物實(shí)體wu和wv的相對(duì)距離標(biāo)記為pi1和pi2,用來表示句中單詞的位置信息.
然后,通過嵌入層將句中單詞和其與目標(biāo)藥物之間的相對(duì)距離映射為對(duì)應(yīng)的向量:
其中WE 表示單詞到對(duì)應(yīng)詞向量的映射關(guān)系,PE 表示位置標(biāo)記到對(duì)應(yīng)位置向量的映射關(guān)系,位置向量隨機(jī)初始化生成.表示句中第i個(gè)單詞wi映射后得到的詞向量和分別表示wi與兩個(gè)目標(biāo)藥物相對(duì)距離映射后得到的位置向量.
接下來,將單詞wi的詞向量和位置向量拼接后得到最終的向量表示:ei=,其維度為l=lw+2lp,lw和lp分別為詞向量和位置向量維度.
對(duì)于最短依存路徑序列,則僅將序列中的單詞si映射為對(duì)應(yīng)的詞向量即可:
其中的維度為lw.
最后,句子序列S和其對(duì)應(yīng)的最短依存路徑X可分別表示為如下的嵌入矩陣ES和EX:
其中ES∈Rn×l,EX∈,n和m分別為句子長度和最短依存路徑長度.
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在處理文本序列信息時(shí)具有獨(dú)特的優(yōu)勢(shì),很適合序列建模,但是易于遭遇梯度消失和梯度爆炸問題,為了解決這一問題,Long Short Term Memory(LSTM)[23]網(wǎng)絡(luò)和Gated Recurrent Unit(GRU)[24]網(wǎng)絡(luò)相繼被提出.本文中,我們采用了結(jié)構(gòu)更為簡潔的GRU網(wǎng)絡(luò).
對(duì)于句子序列S,將其轉(zhuǎn)化為嵌入矩陣ES=[e1,e2,…,en]后,輸入到Bi-GRU 網(wǎng)絡(luò)中學(xué)習(xí)其特征表示.在GRU 網(wǎng)絡(luò)中,第t個(gè)節(jié)點(diǎn)的狀態(tài)ht由其前一節(jié)點(diǎn)的狀態(tài)ht-1和“新記憶”決定:
zt為更新門,用來表示第(t-1)個(gè)節(jié)點(diǎn)的狀態(tài)有多少需要傳遞到下一節(jié)點(diǎn):
由第(t-1)個(gè)節(jié)點(diǎn)的隱含狀態(tài)ht-1和當(dāng)前節(jié)點(diǎn)的輸入et共同決定:
其中g(shù)t表示GRU 網(wǎng)絡(luò)中的重置門,用來控制前一節(jié)點(diǎn)狀態(tài)ht-1有多少需要寫入到“新記憶中.
上式中的σ表示sigmoid 激活函數(shù),tanh 表示雙曲正切激活函數(shù),Wg,Wz,W都是學(xué)習(xí)到的參數(shù)矩陣.但是單個(gè)GRU 網(wǎng)絡(luò)在計(jì)算當(dāng)前狀態(tài)時(shí)只考慮了過去的狀態(tài)信息,而忽略后續(xù)的狀態(tài)信息.因此,本模型采用雙向GRU(Bi-GRU)網(wǎng)絡(luò),充分地利用過去和未來的信息來獲得更全面的上下文特征,并得到et的向量表示yt.
最后,原句子的嵌入矩陣ES被轉(zhuǎn)化為對(duì)應(yīng)的特征表示yS∈Rn×d.
對(duì)于最短依存路徑的嵌入矩陣EX亦經(jīng)過Bi-GRU網(wǎng)絡(luò)得到相應(yīng)的特征表示yX:
yX∈R1×d,其中d為Bi-GRU 神經(jīng)網(wǎng)絡(luò)的隱藏單元數(shù).
接下來,我們將句子序列經(jīng)Bi-GRU神經(jīng)網(wǎng)絡(luò)后的輸出序列yS輸入到Attention 層的多頭自注意力機(jī)制模塊中進(jìn)一步學(xué)習(xí)其中的潛在依賴關(guān)系.對(duì)于任意的第i個(gè)自注意力頭,首先通過不同的線性映射將yS映射為查詢Q∈Rn×d,鍵K∈Rn×d和值V∈Rn×d.計(jì)算每個(gè)查詢向量和所有鍵的點(diǎn)積來獲得序列內(nèi)部的相關(guān)性,并將其輸入到softmax 函數(shù)中,得到與值相對(duì)應(yīng)的最終權(quán)值,最后與值進(jìn)行加權(quán)求和得到該查詢經(jīng)過鍵值對(duì)映射后的Attention 值,具體計(jì)算過程如下.
最后,來自h個(gè)并行頭的結(jié)果被拼接起來并映射為句子序列的最終特征表示r:
其中M∈Rn×d,Wo∈Rn×1,r是從句子序列中學(xué)習(xí)到的最終特征表示,維度為d.
最后將從句子序列和最短依存路徑中學(xué)習(xí)到的特征表示r和yX拼接起來輸入頂層Bi-GRU 神經(jīng)網(wǎng)絡(luò)中獲得最終的融合特征表示:
其中g(shù)的維度為2d,yf為融合各特征后得到的最終特征表示,維度為d.最后將yf放入全連接層并通過softmax函數(shù)得到該候選藥物對(duì)屬于第i類的概率為:
其中Wr和br為權(quán)重參數(shù).
本文使用的實(shí)驗(yàn)數(shù)據(jù)均來自DDIExtraction-2013 評(píng)測(cè)數(shù)據(jù)集.該數(shù)據(jù)集在DDIExtraction-2011測(cè)評(píng)數(shù)據(jù)集包含的來自DrugBank數(shù)據(jù)庫DDI文本的基礎(chǔ)上,還進(jìn)一步增加了MedLine 摘要文本,共計(jì)包含905 份文本(其中730 份DrugBank 文本,175 份Medline 文本).通過隨機(jī)選擇的方式,語料庫中77%的文本被用作訓(xùn)練集,而剩余的部分則作為測(cè)試集.數(shù)據(jù)集中的所有文本都以XML格式進(jìn)行存儲(chǔ),文本中的藥物名和藥物相互作用候選對(duì)均由相關(guān)領(lǐng)域?qū)<彝瓿扇斯?biāo)注,不僅標(biāo)明了各候選實(shí)例是否存在相互作用,還對(duì)存在相互作用的藥物對(duì)細(xì)分為以下四類:
Int:句中說明了兩個(gè)目標(biāo)藥物之間會(huì)發(fā)生相互作用,但未做出進(jìn)一步說明.
Advise:句中說明了兩個(gè)目標(biāo)藥物之間會(huì)發(fā)生相互作用,同時(shí)給出了建議.
Effect:句中說明了兩個(gè)目標(biāo)藥物之間會(huì)發(fā)生相互作用,同時(shí)描述了相互作用產(chǎn)生的影響.
Mechanism:句中說明了兩個(gè)目標(biāo)藥物之間會(huì)發(fā)生相互作用,并介紹了該DDI的藥代動(dòng)力學(xué)機(jī)制.
根據(jù)預(yù)處理步驟中所述的過濾規(guī)則,我們對(duì)數(shù)據(jù)集中的實(shí)例進(jìn)行了相應(yīng)的預(yù)處理.過濾前后的數(shù)據(jù)集統(tǒng)計(jì)信息如表1 所示.從表中可以看出,訓(xùn)練集中總共過濾掉了166 個(gè)正樣例和14 785 個(gè)負(fù)樣例.需要說明的是,對(duì)于測(cè)試集,將滿足過濾規(guī)則的總共8 個(gè)正樣例判定為負(fù)樣例,并計(jì)入假陰性統(tǒng)計(jì)數(shù)據(jù),其余滿足過濾規(guī)則的所有負(fù)樣例直接計(jì)入真陰性統(tǒng)計(jì)數(shù)據(jù)中,參與最終的評(píng)估.
表1 DDIExtraction-2013數(shù)據(jù)集統(tǒng)計(jì)信息Tab.1 DDIExtraction-2013 dataset statistics
本文使用以TensorFlow 為后端的Keras 框架來實(shí)現(xiàn)相關(guān)的對(duì)比模型.詞嵌入和位置嵌入的維度分別設(shè)為200 和15.為了防止過擬合,我們?cè)谀P偷那度雽雍洼敵鰧佣疾捎昧薉ropout 策略(Dropout1 和Dropout2).主要實(shí)驗(yàn)參數(shù)設(shè)置如表2所示.
表2 主要實(shí)驗(yàn)參數(shù)設(shè)置Tab.2 Main experimental parameters setting
本文采用了DDIExtraction-2013 評(píng)測(cè)的評(píng)估標(biāo)準(zhǔn),當(dāng)且僅當(dāng)某一藥物對(duì)被識(shí)別出存在相互作用并被正確分類到具體某個(gè)關(guān)系類型時(shí),方認(rèn)為該藥物對(duì)被正確地識(shí)別.具體的評(píng)價(jià)指標(biāo)包括:準(zhǔn)確率P(precision)、召回率R(Recall)和F1值(F1-score).相應(yīng)的計(jì)算方法如下.
1)微準(zhǔn)確率:以抽取的關(guān)系對(duì)的準(zhǔn)確程度來對(duì)模型進(jìn)行評(píng)估,公式如下:
2)微召回率:從查全率的角度來對(duì)模型進(jìn)行評(píng)估,公式如下:
3)微F1值:對(duì)模型從查全率和查準(zhǔn)率進(jìn)行綜合考量,公式如下:
其中TP(True Positive)是指被正確分類為正樣本的樣本個(gè)數(shù),F(xiàn)P(False Positive)指負(fù)樣本中被錯(cuò)誤分類為正樣本的樣本個(gè)數(shù),F(xiàn)N(False Negative)指正樣本中錯(cuò)誤分類為負(fù)樣本的樣本個(gè)數(shù).
為了評(píng)價(jià)本文提出方法的有效性,我們與以下幾種baseline方法進(jìn)行了比較.
FBK-irst[9]:該方法是一種基于核的方法,通過使用混合內(nèi)核(包括淺層內(nèi)核,基于特征的內(nèi)核等)實(shí)現(xiàn)DDI的提取.
Feature-based kernel[25]:該方法是一種基于特征的方法,通過集成了多個(gè)相關(guān)特征例如單詞特征,短語特征,詞匯特征等來抽取DDI.
Basic-CNN[10]:該方法利用卷積神經(jīng)網(wǎng)絡(luò)從詞向量和位置向量中學(xué)習(xí)特征來實(shí)現(xiàn)從生物醫(yī)學(xué)文本中抽取DDI.
MCCNN[11]:該方法通過不同的通道融合多種詞向量獲得包含更豐富語義信息的詞向量表示,再利用卷積神經(jīng)網(wǎng)絡(luò)從中抽取DDI.
GRU+GCN[14]:該方法是一種結(jié)合了GRU 和GCN(Graph Convolutional Network)的深度神經(jīng)網(wǎng)絡(luò),分別從句子序列和句法圖中學(xué)習(xí)特征來對(duì)DDI 進(jìn)行分類.
UGC-DDI[21]:該方法通過融合用戶生成信息和句子信息,再利用LSTM從中提取特征來抽取DDI.
Dep-LSTM[13]:該方法是一個(gè)基于Bi-LSTM 的模型,結(jié)合了句子序列特征和基于依存關(guān)系的特征.
LSTM+Att[16]:該方法提出一種關(guān)注位置信息的注意力機(jī)制,并利用Bi-LSTM 從句中學(xué)習(xí)特征完成DDI的抽取.
BERE[27]:該方法使用混合編碼網(wǎng)絡(luò)來更好地結(jié)合語義特征和句法特征表示每個(gè)句子,并通過考慮相關(guān)語句后使用特征聚合網(wǎng)絡(luò)進(jìn)行DDI的抽取.
3.4.1 特征融合的有效性驗(yàn)證
為了驗(yàn)證融合語義和依存關(guān)系特征的有效性,我們?cè)诒疚哪P偷幕A(chǔ)上實(shí)現(xiàn)了4 種單純使用句子序列特征或最短依存路徑特征的簡化模型,并與我們提出的結(jié)合語義和依存關(guān)系的DDIE 方法進(jìn)行了性能比較.這些對(duì)比模型包括:1)單純利用最短依存路徑特征的Bi-GRU 模型(SDP);2)單純利用句子序列特征的BI-GRU 模型(Sen);3)單純利用句子序列特征并結(jié)合了多頭自注意力機(jī)制的Bi-GRU 模型(Sen+Attention);4)SDP 和Sen 進(jìn)行并行結(jié)合后版本(Sen+SDP).
由表3所示的實(shí)驗(yàn)結(jié)果可以看到,SDP模型的準(zhǔn)確率、召回率和F1值是所有對(duì)比模型中最低的.這是因?yàn)樽疃桃来媛窂街槐A袅四繕?biāo)藥物實(shí)體之間部分最重要的單詞,容易丟失許多其他有用的信息,因而導(dǎo)致其識(shí)別精度受到較大影響.相比最短依存路徑,句子序列包含了更為完整和豐富的信息,因此,直接利用句子序列進(jìn)行特征學(xué)習(xí)的Sen 模型獲得了遠(yuǎn)高于SDP 模型的性能.通過融合句子序列和最短依存路徑兩方面的特征,Sen+SDP 模型獲得了明顯優(yōu)于其他基于單一特征模型的性能,其準(zhǔn)確率、召回率和F1值分別達(dá)到了75.7%、74.16%和74.92%.此外,Sen+Attention 雖然也僅僅使用了句子序列特征,但是,由于多頭自注意力機(jī)制的引入,增強(qiáng)了模型獲取長距離依賴特征的能力,所以,其超過其他兩種基于單一特征的方法并獲得了接近Sen+SDP 的性能.本文提出的模型在融合語義和依存關(guān)系的基礎(chǔ)上,利用多頭自注意力機(jī)制進(jìn)一步提升了模型的特征表示學(xué)習(xí)能力,因此取得了所有對(duì)比方法中最好的DDI 分類效果,充分證明特征融合以及多頭自注意力機(jī)制對(duì)于提升DDI 的識(shí)別能力起到了有益的促進(jìn)作用.
表3 特征融合對(duì)模型性能的影響Tab.3 Effect of fusion multi-source features on model performance
3.4.2 與baseline方法的性能比較
表4 展示了幾種代表性的藥物相互作用關(guān)系抽取方法與本文方法的性能對(duì)比結(jié)果.從表中可以看出,基于機(jī)器學(xué)習(xí)的方法與基于深度學(xué)習(xí)的方法相比具有一定的差距.如,F(xiàn)BK-irst[9]的F1值只有65.10%,是所有比較方法中最低的.盡管Featurebased kernel[25]通過使用多個(gè)人工制定的規(guī)則和特征有效地提高了DDI 的識(shí)別性能,但其F1值也僅為71.1%.這主要是因?yàn)檫@些方法通常利用依賴人工干預(yù)的傳統(tǒng)特征工程來實(shí)現(xiàn)特征的提取,特征選擇的主觀性和不全面性往往會(huì)極大地影響該類方法的實(shí)際性能.
表4 與其他baseline方法的性能比較Tab.4 Comparison with other baseline methods
相比之下,基于深度學(xué)習(xí)的方法可以自動(dòng)地、更廣泛全面地捕獲數(shù)據(jù)中的相關(guān)特征,具有更強(qiáng)的特征學(xué)習(xí)和表示能力.其中,MCCNN[11]通過不同的通道結(jié)合五個(gè)版本的詞向量得到最終的特征表示,但是,由于忽略了句中單詞的位置信息,僅獲得了略高于Basic-CNN[10]的70.21%的F1值.而GRU+GCN[14]和Dep-LSTM[13]融合了原始句子序列中的單詞和語義特征以及從依存路徑或句法圖中得到的其他句法結(jié)構(gòu)特征,所以,二者的性能均高于MCCNN.UGCDDI[21]方法通過使用UGC(user generated content)資源為DDI 的抽取提供更多有用的外部特征信息,因而也取得了較高的F1值.LSTM+Att[16]除了從句子序列中學(xué)習(xí)特征外,還通過注意力機(jī)制來捕獲全句各單詞的位置信息,從而將模型的F1值進(jìn)一步提高到了72.99%.BERE[27]則是通過Tree-GRU 等獲得句子的向量表示后,進(jìn)一步將實(shí)體的上下文特征嵌入到句子向量中,最后基于注意力機(jī)制加權(quán)求和得到最終特征表示進(jìn)行分類,取得了73.9%的F1值.值得注意的是,得益于對(duì)句子序列的語義特征、最短依存路徑中的句法結(jié)構(gòu)特征以及由多頭自注意力機(jī)制提取的單詞間依賴關(guān)系,本文方法的F1值達(dá)到了75.82%,獲得了最佳的性能.
3.4.3 差錯(cuò)分析
表5 展示了本文方法對(duì)不同類別DDI 的分類結(jié)果.從表中可以看出,一共有405 個(gè)樣本被錯(cuò)誤分類.在4737 個(gè)負(fù)樣本中,有155 個(gè)被誤分為正樣本,約占錯(cuò)誤分類樣本的38%;在979 個(gè)正樣本中有190個(gè)被錯(cuò)誤分類為負(fù)樣本,約占錯(cuò)誤分類樣本的47%.這主要是因?yàn)槊枋鏊幬锵嗷プ饔玫木渥油Y(jié)構(gòu)多變,對(duì)于在訓(xùn)練集中出現(xiàn)較少的句式難以學(xué)習(xí)到其中的特征.另外,通過觀察正負(fù)樣本被錯(cuò)誤分類的句子,我們發(fā)現(xiàn),大多數(shù)句中除了包含兩個(gè)目標(biāo)藥物實(shí)體外還存在多個(gè)其他的非目標(biāo)藥物實(shí)體,這給目標(biāo)藥物實(shí)體對(duì)的關(guān)系識(shí)別帶來了一定的干擾.從正樣本中的四類DDI的識(shí)別效果來看,我們的模型在“Ef?fect”“Advise”和“Mechanism”三類DDI上取得了較好的表現(xiàn).其中,“Advise”類型DDI 的抽取獲得了最高的79.34%的F1值.這是因?yàn)殛P(guān)于用藥建議的描述形式通常較為標(biāo)準(zhǔn)和清晰,使得它們相對(duì)更易于區(qū)分.然而,對(duì)于“Int”類型的DDI,由于訓(xùn)練樣本較少(僅188個(gè),不到其他類型訓(xùn)練樣本量的25%),其分類性能最差,僅獲得了52.29%的F1值.同時(shí),從表中我們還可以看到,在總共96 個(gè)“Int”類型的測(cè)試樣本中,56 個(gè)被錯(cuò)誤分類.其中,有37 個(gè)(約66%)是因“Int”類型被誤分類為“Effect”類型所致.這是由于部分句子僅模糊地描述了兩種藥物聯(lián)合使用后的效果,從而導(dǎo)致模型在“Effect”類型和“Int”類型之間容易發(fā)生混淆.
表5 本文模型在各類DDI上的分類結(jié)果Tab.5 Performance of the model on various DDIs
藥物相互作用關(guān)系抽取是生物醫(yī)學(xué)關(guān)系抽取中的重要任務(wù),現(xiàn)有的基于深度學(xué)習(xí)的方法往往僅從句子序列或其他外部信息中學(xué)習(xí)單一片面的特征,無法充分地利用文本中多方面的相關(guān)信息獲得全面的特征表示.針對(duì)這一問題,本文提出了一種結(jié)合語義和依存關(guān)系的藥物相互作用關(guān)系抽取方法.該方法在從句子序列中學(xué)習(xí)語義特征的基礎(chǔ)上,利用Bi-GRU網(wǎng)絡(luò)從目標(biāo)藥物實(shí)體的最短依存路徑中獲取相關(guān)句法特征,同時(shí)進(jìn)一步結(jié)合多頭自注意力機(jī)制來挖掘句子內(nèi)部單詞之間潛在的依存關(guān)系,獲得長距離依賴特征,最終通過充分地融合多源特征有效地提升了生物醫(yī)學(xué)文本中藥物相互作用關(guān)系識(shí)別和抽取的整體性能.本文的不足之處在于,我們的方法只關(guān)注了同一句子內(nèi)藥物相互作用關(guān)系的提取,而沒有考慮不同句子中藥物實(shí)體之間的關(guān)系.在未來的工作中,我們將擴(kuò)展模型句子間藥物相互作用關(guān)系的識(shí)別和抽取能力,并在其他相關(guān)數(shù)據(jù)集上進(jìn)一步驗(yàn)證模型的有效性.