羅熹,曾智穎,王建新,安瑩
(1.中南大學計算機學院,湖南長沙 410083;2.湖南警察學院網絡犯罪偵查湖南省普通高校重點實驗室,湖南長沙 410138;3.中南大學大數據研究院,湖南長沙,410083)
藥物相互作用(Drug-Drug Interaction,DDI)是指同時或相繼使用兩種或兩種以上藥物時,某一藥物作用大小、持續時間甚至作用性質受到其他藥物或化學物質的影響而發生明顯改變或產生藥物不良反應的現象[1].不良的藥物相互作用可以減緩或者延遲藥物的吸收,導致病人的治療周期增長,治療效果減弱,嚴重的更會危及生命甚至導致死亡[2-3].在臨床治療中,患者在很多時候不可避免地會需要服用多種藥物,DDI 的存在可能導致患者面臨嚴重的用藥風險,影響臨床治療的效果.隨著聯合用藥的日益普遍,如何避免不良藥物相互作用的發生已經成為臨床安全性的一道難題.目前來看,盡可能多地了解藥物作用的相關信息,是解決不良藥物相互作用發生的有效途徑,對藥物研發和臨床治療有著重要的意義.
隨著研究人員對于DDI 研究關注度的不斷提升,近年來涌現了大量的相關研究成果.這些研究成果大多以自由文本的形式存在于醫學文獻中,這使得醫學文獻成為了獲取最新DDI 信息的最有效來源之一.目前雖然存在一些結構化的藥物數據庫可供用戶查詢藥物的相關信息,但是現有的數據庫大多通過人工采集的方式從文本中挖掘藥物相互作用關系來建立相關數據庫.這種過分依賴人工干預的方式導致現有藥物數據庫的構建和維護極為耗時費力,知識的更新緩慢低效,覆蓋范圍也十分有限,難以滿足數據規模爆炸式增長、數據復雜度不斷提高的大數據環境下藥物相關研究和臨床應用的實際需求.因此,實現非結構化生物醫學文本中的DDI自動提取具有極為重要的研究意義和應用價值.
傳統的基于統計的機器學習的方法雖然能夠從文本中自動地抽取DDIs,但是這類方法在特征提取的過程中通常依賴于人工制定的特征工程,抽取效果也不太理想.基于深度學習的方法避免了復雜的特征工程并且取得了不錯的效果,但是現有的方法往往僅從句子序列或其他外部信息中學習到片面的特征,難以充分地利用文本中多方面的相關信息獲得全面的特征表示.
本文提出了一種結合語義和依存關系的藥物相互作用關系抽取方法.在通過Bi-GRU 網絡從句子序列中充分學習語義特征表示后,利用多頭自注意力機制從中挖掘句子內部單詞之間潛在的依存關系,獲得長距離依賴特征.同時,還通過引入目標藥物實體間的最短依存路徑,保留能表明候選藥物對關系的重要單詞,過濾掉其他無關的詞,并利用Bi-GRU 網絡從最短依存路徑序列中學習特征.最后充分地融合句子序列和候選藥物對之間最短依存路徑之中的特征來實現文本中藥物相互作用對的識別和抽取.
生物醫學和醫學信息化的發展為藥物相關研究積累了各種形式的大量生物醫學數據,越來越多的研究成果都以非結構化文本的形式展示在互聯網上,如何及時從這些開放領域的文本中獲取有價值的信息,成為一個亟待解決的問題.實體關系抽取的主要目的是從文本中識別實體并抽取實體之間的語義關系,從而解決原始文本中目標實體之間的關系分類問題,它也是構建復雜知識庫系統的重要步驟.藥物相互作用關系抽取(Drug-Drug Interaction Ex?traction,DDIE)作為實體關系抽取中一個具體領域的子任務,也得到了廣泛的關注.
近年來,研究人員在DDIE 任務上做出了許多努力.現有方法可以分為以下三類:基于規則的方法、基于機器學習的方法和基于深度學習的方法.早期的研究大多采用基于規則的方法,通過制定一系列規則從文本中抽取存在相互作用的藥物對[4-5].但是在生物醫學文獻中,由于描述藥物相互作用的語句結構復雜多變,基于人工規則的方法在藥物相互作用關系抽取任務中表現不佳.DDIExtraction-2011 評測[6]和DDIExtraction-2013 評測[7]的成功開展,為研究人員提供了一個已標注的藥物相互作用關系語料庫,它在區分藥物對是否存在相互作用的同時,還將藥物相互作用的類別進行了劃分.這個語料庫的發布給研究人員提供了標準有效的數據支撐,極大地促進了藥物相互作用抽取相關研究的發展.近年來,許多基于機器學習的方法開始被用于藥物相互作用關系抽取任務并取得了較好的效果.
基于機器學習的方法大體可分為兩類:基于特征的方法和基于核的方法.基于特征的方法利用人工提取的各種特征將候選實例表示為相應的特征向量以實現DDI的分類.常用的特征有單詞特征、上下文特征、句法特征等.例如Kim 等人[8]提出了一種基于豐富特征的抽取DDI 的方法,包括單詞特征,依賴圖特征,解析樹特征等.然而基于特征的機器學習方法存在著明顯的局限性:特征的人工提取十分耗時且依賴于研究人員的專業知識技能水平的高低.基于核的方法通過構建不同的核函數來量化兩個對象之間的相似性,Chowdhury 等人[9]提出了一種用于DDI 提取的混合核方法,包括基于特征的內核,淺語言內核等.但是核函數的有效設計是一個極富挑戰性的問題.因此,傳統的基于統計的機器學習方法在藥物相互作用關系抽取方面的性能仍然難以令人滿意.
隨著深度學習技術的發展,深度神經網絡模型不依賴傳統特征工程的自動特征學習能力,使其在自然語言處理的多個子領域得到了廣泛的應用并獲得了一定的成功.近年來已經提出了一些基于深度學習的方法用來從文本中抽取DDI.基于深度學習的方法可以利用深度神經網絡的學習能力從數據中自動捕獲相關特征,并在一定程度上有效地提高DDIE 的性能,因此它們吸引了廣泛的注意并且逐漸成為主流方法.
起初,基于深度學習的方法往往只考慮了文本中句子序列的語義特征.Liu 等人[10]在2016 年首次使用CNN 模型來進行DDI 的抽取,該方法將文本中的單詞轉化為詞向量并結合位置信息作為特征輸入,避免了傳統方法在提取特征過程中對于自然語言處理工具的過度依賴.Quan 等人[11]則利用多通道融合不同版本的詞向量來獲得包含更豐富語義信息的詞向量表示,再利用卷積神經網絡從句子序列中抽取DDI,獲得了優于傳統方法的性能.
然而,僅僅通過句子序列分析雖然能獲得相關的語義線索,卻難以學習到句中包含的句法信息.因此,許多研究人員嘗試利用自然語言處理工具進行句子解析以獲取更多的句法特征來提高關系抽取的準確性.最常用的就是依存句法分析[12](Depen?dency Parsing).依存句法分析可以通過分析句內成分之間的依存關系揭示其句法結構,目前在自然語言處理領域取得了廣泛的應用.在藥物相互作用關系抽取任務中,依存分析的有效性也得到了有效驗證.比如Wang等人[13]通過依存句法分析得到句子的依存分析樹,通過對其使用深度優先搜索和廣度優先搜索得到相應的序列數據(DFS 和BFS),再通過Bi-LSTM 網絡從DFS、BFS和原句子序列中分別學習得到特征.Zhao 等人[14]提出了一種結合了GRU 和GCN(Graph Convolutional Network)的深度神經網絡,分別用于從句子序列和句法圖中學習相關特征來對DDI 進行分類.這些方法雖然在DDI 抽取性能上取得了一定的提高,但是它們通常依賴于句子解析的準確性,而目前的自然語言處理工具并不完善,不可避免的存在一定的解析錯誤,尤其是對復雜長句的解析上效果較差,因此大大影響了它們的有效性.
除此之外,隨著注意力機制在各類自然語言處理任務中取得了成功的應用,相關研究人員也開始將其引入到藥物相互作用關系抽取任務中來.Wang等人[15]提出的Input Attention 機制通過計算每個單詞與藥物實體的點積來衡量它們之間的相似度,從而給句中單詞分配不同的權重.Zhou 等人[16]提出了position-aware Attention 機制,把全句各單詞的位置信息加以考慮來捕捉特定單詞對目標實體關系的影響.這些方法通過Attention 機制選擇性地關注來自輸入的重要信息,在DDIExtraction-2013 數據集上取得了不錯的效果.但是這些方法忽略了句法特征的重要性,尤其是長距離依賴特征對于DDI 識別和抽取的關鍵作用.
自注意力機制[17]是一種特殊的注意力機制,它可以根據當前單詞與同一序列中其他單詞的關聯度來評估其重要性,已經被廣泛應用到各種自然語言處理任務中,比如Paulse 等人[18]在抽象式摘要任務中通過自注意力機制來捕捉長距離依賴關系,Tan等人[19]利用多頭自注意力機制完成語義標注任務等,都取得了優秀的表現.本文提出的方法將自注意力機制引入到DDIE 任務中來挖掘單詞間的潛在關聯以及句子中的長距離依賴.同時,為了獲得更豐富更全面的特征表示,采用多個并行頭來捕獲單詞間的相互依賴性.
綜上所述,盡管基于深度學習的方法取得了優于基于機器學習的方法的表現.但是,現有的神經網絡模型學習到的特征往往是單一片面的,難以充分挖掘句中潛在的長距離依賴特征獲得全面的特征表示.因此,本文結合多頭自注意力機制提出了一種能融合文本更深層的語義特征和其他多層面多角度特征的方法來實現DDI的抽取.
本節將對本文方法進行詳細描述,其模型結構如圖1 所示.將包含候選藥物對的句子作為輸入,本文模型可以自動從該句子中提取特征,然后確定該藥物對是否存在相互作用.其主要流程如下:

圖1 結合語義和依存關系的DDIE方法架構圖Fig.1 Architecture of DDIE method combining semantics and dependency
1)預處理:對句子進行相關預處理并利用Stan?ford parser 解析句子得到目標藥物實體間的最短依存路徑.
2)嵌入層:通過嵌入層把句子序列和最短依存路徑序列中的單詞映射為預先訓練好詞向量,對于句子序列中的單詞還根據其與目標藥物的相對距離生成位置向量.
3)編碼層:使用Bi-GRU神經網絡分別從句子序列和最短依存路徑序列中學習語義和句法特征.
4)Attention 層:使用多頭自注意力機制從融合了上下文信息的句子序列中挖掘單詞之間的長距離依賴關系得到最終特征表示.
5)輸出層:通過頂層Bi-GRU融合多源特征實現DDI的識別和抽取.
我們首先對數據集中的句子進行相應的預處理操作.為了增強模型的泛化能力,按照在句中出現的順序將候選實例中的兩個藥物名分別替換成“DRUG1”和“DRUG2”,句中其他藥物名均替換成“DRUG0”.同時,語料庫中有大量表示藥物劑量、百分比等的數值表達式,它們是導致假陰性的重要原因之一.因此,我們將句中表示藥物劑量、百分比等的整數和小數數值型實體分別用“num”和“float”標記代替.此外,為了簡化句子,在預處理步驟中還進一步刪除了句中冗余內容,如出現在括號中不包含目標藥物實體的補充說明內容.
另外,由于候選藥物相互作用對的選取方式是考慮句中所有藥物實體可能的組合,導致數據集中負樣本的數量遠多于正樣本的數量.例如對于句子“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 個藥物實體,將它們兩兩組合生成候選實例,則該句中一共存在個候選的藥物相互作用對.但是其中只有兩個正樣例,其余均為負樣例.在DDIExtraction-2013 訓練集中,正樣例數為4 020,而負樣例數為23 772,正負樣例的比例達到了1:5.9,數據存在明顯的不平衡現象.為了減輕樣本不平衡對模型訓練效果的影響,根據先前的工作[20-21],我們采用了下面的樣本過濾規則,將滿足其中任一條件的候選實體識別為負樣例并予以濾除.過濾規則具體描述如下:
規則1:候選關系實例中的兩個藥物實體名相同或者一個藥物名是另一個藥物名的別名或縮寫名.
規則2:候選關系實例中兩個藥物名出現在同一個并列結構中且該并列結構包含兩個以上藥物名.
在經過預處理步驟后,得到包含有兩個目標藥物實體的句子序列:

其中wi(i∈[1,n])為句中的單詞,wu=“DRUG1”和wv=“DRUG2”(u,v∈[1,n],u≠v)分別為候選藥物對中的兩個藥物實體.
為了獲得更多的特征來提升藥物相互作用關系抽取模型的性能,本文使用Stanford parser[26]來對句子進行依存句法分析,并根據依存分析的結果得到句子的依存關系圖.以依存關系圖中的“DRUG1”為起始節點,“DRUG2”為結束結點,找到它們之間的最短路徑X,即為兩目標藥物實體之間的最短依存路徑:

其中si(i∈[1,m])為最短依存路徑序列中的單詞.兩個藥物實體在依存關系圖中可能存在多條路徑,但兩個節點之間的最短路徑最可能攜帶有關它們相互關系的最有價值的信息.因此,在關系抽取任務中,可以通過最短依存路徑顯著縮小目標實體之間的線性順序距離來捕獲他們之間的關系.最短依存路徑生成的具體流程如圖2所示.

圖2 最短依存路徑生成示意圖Fig.2 Schematic diagram of the shortest dependency path generation
原句子經過Stanford parser依存句法分析后得到若干個表示句中兩個單詞之間關系的三元組.比如對于三元組“dobj(potentiate-3,effects-6)”,表示“ef?fects”是“potentiate”的直接賓語,“dobj”表示直接賓語關系,3 和6 分別表示“potentiate”和“effects”在句中的位置.根據依存分析結果得到句子的依存關系圖,依存關系圖使用節點來表示句子中的單詞,使用邊來描述單詞之間的依存關系.最后從依存關系圖中找到目標藥物實體間的最短依存路徑.可以看到,最短依存路徑將重要的詞保留在兩個實體之間的語法路徑上,同時過濾掉次要的輔助詞,并給出了相鄰詞之間的依存關系.因為表征單詞之間關系的依賴關系詞沒有一致的向量表示方法,通過隨機初始化再訓練的方式很難學習其中復雜的關系,所以我們只保留路徑中的單詞作為最短依存路徑.另外,句中除了兩個目標藥物實體外,往往還存在多個其他藥物實體.為了避免這些無關實體對識別目標藥物實體相互關系帶來的負面影響,本文對每條最短依存路徑中“DRUG0”的出現次數進行統計,并將“DRUG0”出現次數大于或等于路徑長度一半的最短依存路徑進行置空處理.
完成預處理后,包含有兩個目標藥物實體的句子S 及其對應的最短依存路徑X 輸入到模型的嵌入層以生成句子序列和最短依存路徑序列的嵌入向量表示.我們直接利用了Pyysalo 等人[22]基于大量PubMed 和English Wikipedia 文獻訓練得到的詞向量.同時,為了進一步獲得句中其他單詞與目標藥物實體的關聯關系,我們還將句中任意單詞wi到兩個目標藥物實體wu和wv的相對距離標記為pi1和pi2,用來表示句中單詞的位置信息.

然后,通過嵌入層將句中單詞和其與目標藥物之間的相對距離映射為對應的向量:

其中WE 表示單詞到對應詞向量的映射關系,PE 表示位置標記到對應位置向量的映射關系,位置向量隨機初始化生成.表示句中第i個單詞wi映射后得到的詞向量和分別表示wi與兩個目標藥物相對距離映射后得到的位置向量.
接下來,將單詞wi的詞向量和位置向量拼接后得到最終的向量表示:ei=,其維度為l=lw+2lp,lw和lp分別為詞向量和位置向量維度.
對于最短依存路徑序列,則僅將序列中的單詞si映射為對應的詞向量即可:

其中的維度為lw.
最后,句子序列S和其對應的最短依存路徑X可分別表示為如下的嵌入矩陣ES和EX:

其中ES∈Rn×l,EX∈,n和m分別為句子長度和最短依存路徑長度.
循環神經網絡(RNN)在處理文本序列信息時具有獨特的優勢,很適合序列建模,但是易于遭遇梯度消失和梯度爆炸問題,為了解決這一問題,Long Short Term Memory(LSTM)[23]網絡和Gated Recurrent Unit(GRU)[24]網絡相繼被提出.本文中,我們采用了結構更為簡潔的GRU網絡.
對于句子序列S,將其轉化為嵌入矩陣ES=[e1,e2,…,en]后,輸入到Bi-GRU 網絡中學習其特征表示.在GRU 網絡中,第t個節點的狀態ht由其前一節點的狀態ht-1和“新記憶”決定:

zt為更新門,用來表示第(t-1)個節點的狀態有多少需要傳遞到下一節點:

由第(t-1)個節點的隱含狀態ht-1和當前節點的輸入et共同決定:

其中gt表示GRU 網絡中的重置門,用來控制前一節點狀態ht-1有多少需要寫入到“新記憶中.

上式中的σ表示sigmoid 激活函數,tanh 表示雙曲正切激活函數,Wg,Wz,W都是學習到的參數矩陣.但是單個GRU 網絡在計算當前狀態時只考慮了過去的狀態信息,而忽略后續的狀態信息.因此,本模型采用雙向GRU(Bi-GRU)網絡,充分地利用過去和未來的信息來獲得更全面的上下文特征,并得到et的向量表示yt.

最后,原句子的嵌入矩陣ES被轉化為對應的特征表示yS∈Rn×d.

對于最短依存路徑的嵌入矩陣EX亦經過Bi-GRU網絡得到相應的特征表示yX:

yX∈R1×d,其中d為Bi-GRU 神經網絡的隱藏單元數.
接下來,我們將句子序列經Bi-GRU神經網絡后的輸出序列yS輸入到Attention 層的多頭自注意力機制模塊中進一步學習其中的潛在依賴關系.對于任意的第i個自注意力頭,首先通過不同的線性映射將yS映射為查詢Q∈Rn×d,鍵K∈Rn×d和值V∈Rn×d.計算每個查詢向量和所有鍵的點積來獲得序列內部的相關性,并將其輸入到softmax 函數中,得到與值相對應的最終權值,最后與值進行加權求和得到該查詢經過鍵值對映射后的Attention 值,具體計算過程如下.

最后,來自h個并行頭的結果被拼接起來并映射為句子序列的最終特征表示r:

其中M∈Rn×d,Wo∈Rn×1,r是從句子序列中學習到的最終特征表示,維度為d.
最后將從句子序列和最短依存路徑中學習到的特征表示r和yX拼接起來輸入頂層Bi-GRU 神經網絡中獲得最終的融合特征表示:

其中g的維度為2d,yf為融合各特征后得到的最終特征表示,維度為d.最后將yf放入全連接層并通過softmax函數得到該候選藥物對屬于第i類的概率為:

其中Wr和br為權重參數.
本文使用的實驗數據均來自DDIExtraction-2013 評測數據集.該數據集在DDIExtraction-2011測評數據集包含的來自DrugBank數據庫DDI文本的基礎上,還進一步增加了MedLine 摘要文本,共計包含905 份文本(其中730 份DrugBank 文本,175 份Medline 文本).通過隨機選擇的方式,語料庫中77%的文本被用作訓練集,而剩余的部分則作為測試集.數據集中的所有文本都以XML格式進行存儲,文本中的藥物名和藥物相互作用候選對均由相關領域專家完成人工標注,不僅標明了各候選實例是否存在相互作用,還對存在相互作用的藥物對細分為以下四類:
Int:句中說明了兩個目標藥物之間會發生相互作用,但未做出進一步說明.
Advise:句中說明了兩個目標藥物之間會發生相互作用,同時給出了建議.
Effect:句中說明了兩個目標藥物之間會發生相互作用,同時描述了相互作用產生的影響.
Mechanism:句中說明了兩個目標藥物之間會發生相互作用,并介紹了該DDI的藥代動力學機制.
根據預處理步驟中所述的過濾規則,我們對數據集中的實例進行了相應的預處理.過濾前后的數據集統計信息如表1 所示.從表中可以看出,訓練集中總共過濾掉了166 個正樣例和14 785 個負樣例.需要說明的是,對于測試集,將滿足過濾規則的總共8 個正樣例判定為負樣例,并計入假陰性統計數據,其余滿足過濾規則的所有負樣例直接計入真陰性統計數據中,參與最終的評估.

表1 DDIExtraction-2013數據集統計信息Tab.1 DDIExtraction-2013 dataset statistics
本文使用以TensorFlow 為后端的Keras 框架來實現相關的對比模型.詞嵌入和位置嵌入的維度分別設為200 和15.為了防止過擬合,我們在模型的嵌入層和輸出層都采用了Dropout 策略(Dropout1 和Dropout2).主要實驗參數設置如表2所示.

表2 主要實驗參數設置Tab.2 Main experimental parameters setting
本文采用了DDIExtraction-2013 評測的評估標準,當且僅當某一藥物對被識別出存在相互作用并被正確分類到具體某個關系類型時,方認為該藥物對被正確地識別.具體的評價指標包括:準確率P(precision)、召回率R(Recall)和F1值(F1-score).相應的計算方法如下.
1)微準確率:以抽取的關系對的準確程度來對模型進行評估,公式如下:

2)微召回率:從查全率的角度來對模型進行評估,公式如下:

3)微F1值:對模型從查全率和查準率進行綜合考量,公式如下:

其中TP(True Positive)是指被正確分類為正樣本的樣本個數,FP(False Positive)指負樣本中被錯誤分類為正樣本的樣本個數,FN(False Negative)指正樣本中錯誤分類為負樣本的樣本個數.
為了評價本文提出方法的有效性,我們與以下幾種baseline方法進行了比較.
FBK-irst[9]:該方法是一種基于核的方法,通過使用混合內核(包括淺層內核,基于特征的內核等)實現DDI的提取.
Feature-based kernel[25]:該方法是一種基于特征的方法,通過集成了多個相關特征例如單詞特征,短語特征,詞匯特征等來抽取DDI.
Basic-CNN[10]:該方法利用卷積神經網絡從詞向量和位置向量中學習特征來實現從生物醫學文本中抽取DDI.
MCCNN[11]:該方法通過不同的通道融合多種詞向量獲得包含更豐富語義信息的詞向量表示,再利用卷積神經網絡從中抽取DDI.
GRU+GCN[14]:該方法是一種結合了GRU 和GCN(Graph Convolutional Network)的深度神經網絡,分別從句子序列和句法圖中學習特征來對DDI 進行分類.
UGC-DDI[21]:該方法通過融合用戶生成信息和句子信息,再利用LSTM從中提取特征來抽取DDI.
Dep-LSTM[13]:該方法是一個基于Bi-LSTM 的模型,結合了句子序列特征和基于依存關系的特征.
LSTM+Att[16]:該方法提出一種關注位置信息的注意力機制,并利用Bi-LSTM 從句中學習特征完成DDI的抽取.
BERE[27]:該方法使用混合編碼網絡來更好地結合語義特征和句法特征表示每個句子,并通過考慮相關語句后使用特征聚合網絡進行DDI的抽取.
3.4.1 特征融合的有效性驗證
為了驗證融合語義和依存關系特征的有效性,我們在本文模型的基礎上實現了4 種單純使用句子序列特征或最短依存路徑特征的簡化模型,并與我們提出的結合語義和依存關系的DDIE 方法進行了性能比較.這些對比模型包括:1)單純利用最短依存路徑特征的Bi-GRU 模型(SDP);2)單純利用句子序列特征的BI-GRU 模型(Sen);3)單純利用句子序列特征并結合了多頭自注意力機制的Bi-GRU 模型(Sen+Attention);4)SDP 和Sen 進行并行結合后版本(Sen+SDP).
由表3所示的實驗結果可以看到,SDP模型的準確率、召回率和F1值是所有對比模型中最低的.這是因為最短依存路徑只保留了目標藥物實體之間部分最重要的單詞,容易丟失許多其他有用的信息,因而導致其識別精度受到較大影響.相比最短依存路徑,句子序列包含了更為完整和豐富的信息,因此,直接利用句子序列進行特征學習的Sen 模型獲得了遠高于SDP 模型的性能.通過融合句子序列和最短依存路徑兩方面的特征,Sen+SDP 模型獲得了明顯優于其他基于單一特征模型的性能,其準確率、召回率和F1值分別達到了75.7%、74.16%和74.92%.此外,Sen+Attention 雖然也僅僅使用了句子序列特征,但是,由于多頭自注意力機制的引入,增強了模型獲取長距離依賴特征的能力,所以,其超過其他兩種基于單一特征的方法并獲得了接近Sen+SDP 的性能.本文提出的模型在融合語義和依存關系的基礎上,利用多頭自注意力機制進一步提升了模型的特征表示學習能力,因此取得了所有對比方法中最好的DDI 分類效果,充分證明特征融合以及多頭自注意力機制對于提升DDI 的識別能力起到了有益的促進作用.

表3 特征融合對模型性能的影響Tab.3 Effect of fusion multi-source features on model performance
3.4.2 與baseline方法的性能比較
表4 展示了幾種代表性的藥物相互作用關系抽取方法與本文方法的性能對比結果.從表中可以看出,基于機器學習的方法與基于深度學習的方法相比具有一定的差距.如,FBK-irst[9]的F1值只有65.10%,是所有比較方法中最低的.盡管Featurebased kernel[25]通過使用多個人工制定的規則和特征有效地提高了DDI 的識別性能,但其F1值也僅為71.1%.這主要是因為這些方法通常利用依賴人工干預的傳統特征工程來實現特征的提取,特征選擇的主觀性和不全面性往往會極大地影響該類方法的實際性能.

表4 與其他baseline方法的性能比較Tab.4 Comparison with other baseline methods
相比之下,基于深度學習的方法可以自動地、更廣泛全面地捕獲數據中的相關特征,具有更強的特征學習和表示能力.其中,MCCNN[11]通過不同的通道結合五個版本的詞向量得到最終的特征表示,但是,由于忽略了句中單詞的位置信息,僅獲得了略高于Basic-CNN[10]的70.21%的F1值.而GRU+GCN[14]和Dep-LSTM[13]融合了原始句子序列中的單詞和語義特征以及從依存路徑或句法圖中得到的其他句法結構特征,所以,二者的性能均高于MCCNN.UGCDDI[21]方法通過使用UGC(user generated content)資源為DDI 的抽取提供更多有用的外部特征信息,因而也取得了較高的F1值.LSTM+Att[16]除了從句子序列中學習特征外,還通過注意力機制來捕獲全句各單詞的位置信息,從而將模型的F1值進一步提高到了72.99%.BERE[27]則是通過Tree-GRU 等獲得句子的向量表示后,進一步將實體的上下文特征嵌入到句子向量中,最后基于注意力機制加權求和得到最終特征表示進行分類,取得了73.9%的F1值.值得注意的是,得益于對句子序列的語義特征、最短依存路徑中的句法結構特征以及由多頭自注意力機制提取的單詞間依賴關系,本文方法的F1值達到了75.82%,獲得了最佳的性能.
3.4.3 差錯分析
表5 展示了本文方法對不同類別DDI 的分類結果.從表中可以看出,一共有405 個樣本被錯誤分類.在4737 個負樣本中,有155 個被誤分為正樣本,約占錯誤分類樣本的38%;在979 個正樣本中有190個被錯誤分類為負樣本,約占錯誤分類樣本的47%.這主要是因為描述藥物相互作用的句子往往結構多變,對于在訓練集中出現較少的句式難以學習到其中的特征.另外,通過觀察正負樣本被錯誤分類的句子,我們發現,大多數句中除了包含兩個目標藥物實體外還存在多個其他的非目標藥物實體,這給目標藥物實體對的關系識別帶來了一定的干擾.從正樣本中的四類DDI的識別效果來看,我們的模型在“Ef?fect”“Advise”和“Mechanism”三類DDI上取得了較好的表現.其中,“Advise”類型DDI 的抽取獲得了最高的79.34%的F1值.這是因為關于用藥建議的描述形式通常較為標準和清晰,使得它們相對更易于區分.然而,對于“Int”類型的DDI,由于訓練樣本較少(僅188個,不到其他類型訓練樣本量的25%),其分類性能最差,僅獲得了52.29%的F1值.同時,從表中我們還可以看到,在總共96 個“Int”類型的測試樣本中,56 個被錯誤分類.其中,有37 個(約66%)是因“Int”類型被誤分類為“Effect”類型所致.這是由于部分句子僅模糊地描述了兩種藥物聯合使用后的效果,從而導致模型在“Effect”類型和“Int”類型之間容易發生混淆.

表5 本文模型在各類DDI上的分類結果Tab.5 Performance of the model on various DDIs
藥物相互作用關系抽取是生物醫學關系抽取中的重要任務,現有的基于深度學習的方法往往僅從句子序列或其他外部信息中學習單一片面的特征,無法充分地利用文本中多方面的相關信息獲得全面的特征表示.針對這一問題,本文提出了一種結合語義和依存關系的藥物相互作用關系抽取方法.該方法在從句子序列中學習語義特征的基礎上,利用Bi-GRU網絡從目標藥物實體的最短依存路徑中獲取相關句法特征,同時進一步結合多頭自注意力機制來挖掘句子內部單詞之間潛在的依存關系,獲得長距離依賴特征,最終通過充分地融合多源特征有效地提升了生物醫學文本中藥物相互作用關系識別和抽取的整體性能.本文的不足之處在于,我們的方法只關注了同一句子內藥物相互作用關系的提取,而沒有考慮不同句子中藥物實體之間的關系.在未來的工作中,我們將擴展模型句子間藥物相互作用關系的識別和抽取能力,并在其他相關數據集上進一步驗證模型的有效性.