許 力,李建華
(華東理工大學信息科學與工程學院,上海 200237)
(*通信作者電子郵箱jhli@ecust.edu.cn)
在生物醫(yī)學領域,每年都會新增大量的專利、期刊和報告等文獻。這些文獻中包含的實體信息可應用于藥物設計和臨床醫(yī)療,對于生物醫(yī)學研究具有重大意義。隨著自然語言處理技術的發(fā)展,生物醫(yī)學命名實體識別逐漸成為研究熱點。廣義的命名實體識別針對文本中的特定實體,如人名、地理位置和組織名稱等,而在生物醫(yī)學領域,實體則特指藥物名稱、蛋白質名稱、疾病名稱和基因名稱等。與通用領域的命名實體識別任務相比,生物醫(yī)學命名實體識別由于命名規(guī)則多樣、實體名稱較長且包含關系復雜,面臨著更多困難。
現有的生物醫(yī)學命名實體識別方法主要分為:基于規(guī)則和詞典的方法、基于傳統機器學習的方法和基于深度學習的方法?;谝?guī)則和字典的方法常見于早期命名實體識別研究,主要通過設計規(guī)則模板、構建實體字典來識別實體,如Krauthammer 等[1]提出的基本局部比對檢索工具(Basic Local Alignment Search Tool,BLAST),Hanisch 等[2]使用基于規(guī)則的方法識別基因和蛋白質實體等。這種方法雖然簡單實用,但規(guī)則和詞典的設計過程復雜耗時且容易產生錯誤?;趥鹘y機器學習的方法對于特征選取的要求較高,需選取例如前后綴、大小寫等人工特征來訓練模型。Leaman 等[3]提出的tmChem 模型融合了多種人工特征,在化學命名實體識別取得了較好效果;Li 等[4]在條件隨機場(Conditional Random Field,CRF)中融入詞頻和共現信息識別基因實體,進一步提升了模型表現。基于傳統機器學習的方法進一步提高了實體識別的準確率,但由于過于依賴特征選取且識別策略單一,導致模型魯棒性和泛化性能較差?;谏疃葘W習的方法主要通過神經網絡提取文本特征,在命名實體識別任務中獲得了廣泛應用。Rockt?schel 等[5]提出的ChemSpot 模型將CRF 與詞典結合,學習了化學品名稱的多種形式。Huang 等[6]提出的BiLSTMCRF 模型使用雙向長短期記憶(Bidirectional Long Short Term Memory,BiLSTM)網絡提取上下文特征,并通過CRF 學習實體標簽間的轉換概率以修正BiLSTM 的輸出;李麗雙等[7]提出的BiLSTM-CNN-CRF 模型則是在BiLSTM-CRF 的基礎上使用卷積神經網絡(Convolutional Nerual Network,CNN)提取字符級別特征,在生物醫(yī)學命名實體識別中獲得了良好的效果;Dang等[8]提出的D3NER模型在BiLSTM-CRF模型中引入語言學特征,對詞向量進行優(yōu)化;Crichton 等[9]在CNN 模型中融入多任務學習思想,使用多種不同標準和不同實體類型的數據集訓練模型,提升了模型的泛化性能;Cho 等[10]通過N-Gram模型在詞向量中融入上下文信息,進一步增強了模型表現?;谏疃葘W習的方法在不依賴人工特征的情況下,在命名實體識別任務中獲得了更好的表現。以上這些方法雖然均在一定程度上增強了模型在任務中的表現,但改進的思路大多是通過增加特征、優(yōu)化詞向量來豐富詞與詞之間的關聯,沒有從句法的角度考慮詞與詞之間的聯系,效果有所局限。
句法依存分析是獲取文本句法信息的重要方法,它以句子為單位構建依存分析圖,揭示了詞與詞之間的依存關系,提升了模型在自然語言處理任務中的表現?,F有的句法依存分析方法大多采用線性方式對句法依存分析圖進行編碼[11-12],不能充分地利用依存分析圖中的句法信息。隨著圖網絡技術的發(fā)展,將圖卷積網絡(Graph Convolutional Network,GCN)應用于句法依存分析的研究已經出現,例如:Bastings 等[13]利用GCN編碼句法依存信息用于機器翻譯;Marcheggiani等[14]使用GCN 學習文本句法結構,并將其與BiLSTM 結合應用于語義角色標注等。雖然句法依存分析在自然語言處理的多個領域已有應用,但在生物醫(yī)學命名實體識別上的研究還未出現。
針對以上問題,本文提出一種基于句法依存分析的圖網絡生物醫(yī)學命名實體識別模型。模型利用CNN 生成字符向量并將其與詞向量拼接,送入BiLSTM 進行訓練;其次,對語料進行句法依存分析,使用GCN 對句法依存分析圖進行編碼,并引入圖注意力網絡(Graph ATtention network,GAT)優(yōu)化鄰接節(jié)點的特征權重,得到模型輸出。實驗結果表明,本文提出的方法有效地提升了生物醫(yī)學命名實體識別的準確率。
本文將GCN 應用于生物醫(yī)學命名實體識別領域,通過圖網絡學習文本句法信息并使用圖注意力機制增強實體識別效果,為后續(xù)的生物命名實體識別研究拓展了思路。本文的工作主要有:
1)現有的生物醫(yī)學命名實體識別方法沒有利用語料中的句法信息,效果有所局限,為此本文對語料進行句法依存分析,并使用GCN 對句法依存分析圖進行編碼,充分利用了文本中的句法信息;
2)引入圖注意力機制優(yōu)化句法依存分析圖中鄰接節(jié)點的特征權重,更好地聚合了鄰接節(jié)點的特征,提升了模型的識別效果。
句法依存分析通過分析句子內的依存關系來獲取文本句法結構,主張句子中核心動詞是支配其他成分的中心成分,而它本身卻不受其他任何成分的支配,所有受支配成分都以某種依存關系從屬于支配者[15]。依存關系用依存弧表示,方向由從屬詞指向支配詞。每個依存弧上有個標記,稱為關系類型,表示該依存對上的兩個詞之間存在什么樣的依存關系[16]。常見的依存關系有主謂關系(SBV)、動賓關系(VOB)和狀中關系(ADV)等。
GCN 是卷積神經網絡的一種,可用于編碼與圖相關的信息。給定一個具有n個節(jié)點的圖,可以使用一個n×n的鄰接矩陣A來表示圖結構,若節(jié)點i到節(jié)點j有邊,則令Aij=1。為了聚合節(jié)點自身的特征,需對鄰接矩陣A進行自環(huán)操作,即令A對角線上所有元素都為1。其次,對A進行歸一化處理,引入鄰接矩陣A的度矩陣D,其中在一個具有l(wèi)層的GCN 中,定義為輸入向量為節(jié)點i在第l層的輸出向量,圖卷積的操作如下所示:
其中:W(l)是權重矩陣,b(l)是偏置項,σ是非線性映射函數。每個節(jié)點可以通過鄰接矩陣聚合鄰接節(jié)點的特征信息,并傳入下一層作為輸入。
本文提出的模型框架如圖1 所示,模型由詞表示層、BiLSTM 層和圖卷積層組成。首先利用CNN 生成字符向量,將其與詞向量拼接,送入BiLSTM層訓練;其次,以句子為單位對語料進行句法依存分析,并構建鄰接矩陣;最后將BiLSTM的輸出和構建好的鄰接矩陣送入GCN 訓練,并引入圖注意力機制優(yōu)化鄰接節(jié)點的特征權重,得到模型輸出。
圖1 本文模型整體結構Fig.1 Overall structure of the proposed model
1.3.1 詞表示層
詞表示層的作用是將原始文本轉換為向量形式,如圖2所示。模型使用Glove(Global Vectors for Word Representation)將單詞轉化為向量,得到長度為200 維的詞向量X1。將原始的單詞按字母拆解,填充為長度為52的字母序列后送入CNN學習,經過卷積、最大池化操作后,映射成為30 維的字符向量X2。將這兩部分向量拼接后,構成模型輸入X=X1⊕X2。
圖2 詞表示層Fig.2 Word representation layer
1.3.2 BiLSTM 層
BiLSTM 層由前向和后向LSTM 組成,主要用于提取文本中的上下文特征。Marcheggiani等[14]的工作指出,GCN的主要問題在于難以捕捉長距離節(jié)點之間的依存關系,將其與LSTM結合后可以很好地避免這一問題。因此,本文沿用這一思路,將字符向量和詞向量進行拼接后,加入BiLSTM 中進行編碼。LSTM的主要結構可以表示為:
其中:σ是sigmoid 函數;i、f、o和c分別是輸入門、遺忘門、輸出門和細胞向量;?是點乘運算;w、b代表輸入門、忘記門、輸出門的權重矩陣和偏置向量。
1.3.3 圖卷積層
圖卷積層的作用是對語料中的句法依存分析信息進行編碼,其輸入由兩部分構成:一部分是BiLSTM 的輸出,另一部分是根據句法依存分析構建好的鄰接矩陣。本文使用Spacy工具庫對數據集進行句法依存分析,以句子為單位構建依存分析圖。將句子中的單詞看作圖中的節(jié)點,將單詞與單詞之間的依存關系看作圖中的邊。Spacy 以child 和head 描述單詞與單詞之間的依存關系,依存關系弧從head 指向child。得到一個句子的依存分析圖之后,將其構建成鄰接矩陣。假設一個句子由n個單詞構成,需要構建一個大小為n×n的鄰接矩陣。若單詞i與單詞j之間存在依存關系,且依存弧由i指向j,則相應的令。鄰接矩陣構建好后,將會作為GCN 的部分輸入。以句子“China’s achievements attract the world’s attention”為例,其依存分析圖如圖3所示。
圖3 依存分析示意圖Fig.3 Schematic diagram of dependency parsing
根據依存分析圖得到的鄰接矩陣,經過自環(huán)操作后轉為:
經過歸一化后,鄰接矩陣轉換為:
從上述矩陣可以看出,每個節(jié)點的出度經過歸一化之后得到相同的值。這種操作為節(jié)點的鄰接節(jié)點分配了相同的權重,忽視了節(jié)點之間依存關系的差異性。因此,本文引入圖注意力機制[17],在GCN 的基礎上,對鄰接節(jié)點的特征聚和做出調整。其操作如下所示:
得到節(jié)點i的鄰接節(jié)點注意力權重后,對鄰接節(jié)點特征進行加權求和:
為了均衡注意力機制的輸出,采用多頭注意力機制執(zhí)行相同的操作,拼接后得到輸出,K代表注意力頭數:
獲得圖卷積層輸出后,使用softmax 函數得到模型分類結果。
本文在JNLPBA[18]和NCBI-disease[19]數據集中訓練模型,數據集分布如表1所示。NCBI-disease數據集來源于793篇生物醫(yī)學領域的摘要,主要包含疾病實體;JNLPBA 數據集包含DNA、RNA、Cell_line、Cell_type、Protein 五種實體,模型除了識別出實體,還需要給出實體的具體分類。數據集使用BIO 標注方案:B 代表Beginning,標注一個實體的開始部分;I 代表Inside,標注組成實體的中間部分;O 代表Outside,標注與實體無關的信息。
表1 實驗數據集詳細信息Tab.1 Details of datasets used in the experiment
生物醫(yī)學命名實體識別任務需要模型正確判定實體的邊界并輸出正確的實體類別。為了精確衡量實體識別效果,本文采用準確率P(Precision)、召回率R(Recall)和F1(F1 值)三種評測指標,具體公式如下:
其中:TP為正確識別的實體個數,FP代表實體邊界判定錯誤或類別分類錯誤的實體個數,FN代表未識別出的實體個數。
本文使用Glove將單詞轉換為200維詞向量,利用CNN生成30維字符向量,將兩部分向量拼接后形成230維特征表示;BiLSTM 隱藏層單元數設為200,Dropout率設為0.5;圖卷積層單元數設為50,圖注意力機制頭數設置為6;獲得圖卷積層輸出后,通過softmax函數得到最終分類結果。
實驗運行環(huán)境為Keras 2.2.4,模型學習率設為5e -4,損失函數定義為多類交叉熵損失函數,優(yōu)化器采用Nadam算法,模型經過100輪訓練后達到收斂。
2.4.1 對比實驗分析
為了驗證本文方法的有效性,進行對比實驗來說明各個模塊作用,實驗結果如表2所示。
為了說明字符向量在向量表征方面的優(yōu)勢,本文選擇BiLSTM 進行對比實驗。從表中可以看出,Glove+char+BiLSTM 模型相比Glove+BiLSTM 的方法,準確率平均提升了1.42個百分點,F1值平均提升了2.64個百分點。生物醫(yī)學實體名稱大多包含大小寫和特殊字符,使用CNN 提取字符特征,能夠幫助模型區(qū)分實體,提高實體識別率。實驗結果表明,使用CNN 提取字符特征生成的字符向量,在與詞向量結合后,提升了模型的準確率。
傳統的生物醫(yī)學命名實體識別方法不能很好地利用語料中的句法信息,而句法信息可以豐富實體與實體之間的關聯,對于生物醫(yī)學命名實體識別有重要意義。本文方法對語料進行句法依存分析,并使用GCN 利用這部分信息進行訓練。對比Glove+char+BiLSTM模型和Glove+char+GCN+BiLSTM模型的實驗結果可以發(fā)現,后者相比前者的準確率平均提升了3.80個百分點,F1值平均提升了2.68個百分點。實驗結果表明,使用GCN可以很好地利用句法信息,增強模型表現。
GCN 使用歸一化操作處理鄰接矩陣,為每個節(jié)點的鄰接節(jié)點賦予相同的權重,忽視了節(jié)點之間依存關系的差異性。本文在GCN 的基礎上引入了圖注意力機制改善這一問題。對比Glove+char+GCN+BiLSTM 模型和Glove+char+GAT+BiLSTM 模型的實驗結果可以發(fā)現,后者相比前者的準確率平均提升了1.60 個百分點,F1 值平均提升了2.01 個百分點。實驗結果表明,引入圖注意力機制可以更好地聚合鄰接節(jié)點的特征,提升模型性能。
表2 不同方法在NCBI-disease和JNLPBA數據集上的評價指標對比 單位:%Tab.2 Comparison of evaluation indexes of different methods on NCBI-disease and JNLPBA datasets unit:%
2.4.2 與現有其他方法對比
各模型在JNLPBA 數據集上的表現對比如表3 所示。Tang 等[20]在生物醫(yī)學命名實體識別中融入詞表示特征;Li等[21]提出在模型中結合使用句子向量和雙詞向量;Wei 等[22]在BiLSTM-CRF 模型中引入注意力機制,獲得了71.57%的準確率和73.50%的F1 值;Dai 等[23]在BiLSTM-CRF 模型中使用預訓練詞向量模型ELMO(Embeddings from Language MOdels,ELMO),獲得了74.29%的F1 值。以上方法均沒有利用語料中的句法信息,效果有所局限。本文模型使用CNN提取字符特征,幫助模型識別包含特殊字符的實體,在不使用人工設計特征的情況下,提升了實體識別率;其次,本文使用GCN 學習語料中的句法依存分析信息,增強了詞與詞之間的關聯。GCN在歸一化操作后會為每個節(jié)點的鄰接節(jié)點賦予相同的權重,忽視了節(jié)點之間依存關系的差異性。針對這一問題,本文還引入了圖注意力機制優(yōu)化鄰接節(jié)點的特征權重,讓模型更好地聚合鄰接節(jié)點特征。實驗結果表明,本文模型的F1 值比Dai 等[23]提出的模型高出了2.62 個百分點,相比于Wei 等[22]提出的模型,其準確率提高了5.99 個百分點,F1 值提高了3.41個百分點,獲得了更好表現。
模型在NCBI-disease 數據集上的表現對比如表4 所示。Leaman 等[24]提出的DNorm 模型使用CRF 結合多種人工設計特征;Lu 等[25]提出的TaggerOne 模型通過正則化方法降低實體識別錯誤率;Dang 等[8]提出的D3NER 模型在BiLSTM-CRF模型中引入語言學特征對詞向量進行優(yōu)化,取得了85.03%的準確率和84.41%的F1 值;Wang 等[26]在BiLSTM-CRF 模型中融入多任務學習思想,同時學習多種生物醫(yī)學實體類型,取得了85.86%的準確率和86.14%的F1 值。以上這些方法的思路大多是通過融合特征或優(yōu)化詞向量來提升模型效果,沒有從句法的角度考慮詞與詞之間的關聯。本文模型利用GCN學習文本的句法依存信息,并引入圖注意力機制優(yōu)化鄰接節(jié)點的特征權重,充分地利用了語料中的句法信息。實驗結果表明,相比Wang 等[26]提出的模型,本文模型的準確率提升了1.43 個百分點,F1 值提升了1.66 個百分點;相比D3NER 模型[8],準確率提升了2.26 個百分點,F1 值提升了3.39 個百分點,取得了良好的效果。
表3 不同模型在JNLPBA數據集上的評價指標對比單位:%Tab.3 Comparison of evaluation indexes of different models on JNLPBA dataset unit:%
表4 不同模型在NCBI數據集上的評價指標對比 單位:%Tab.4 Comparison of evaluation indexes of different models on NCBI dataset unit:%
實驗結果表明,本文模型通過GCN 編碼句法依存分析圖,充分地利用了語料中的句法信息,在生物醫(yī)學命名實體識別任務中獲得了更好的表現。
2.4.3 實驗參數分析
表5 為模型在不同詞向量嵌入維度中的性能表現。從表中可以看出,低維度的詞嵌入模型準確率較低,因為過低的嵌入維度不能很好地區(qū)分單詞與單詞間的語義,而過高的詞向量維度會導致圖卷積層參數過多,難以訓練,降低模型性能。經過實驗后,確定合適的詞向量維度為200。
表5 不同嵌入維度的F1值 單位:%Tab.5 F1 scores of different embedding dimensions unit:%
表6 為模型在不同圖卷積層數下的性能表現??梢钥闯觯瑘D卷積層數為2 時,模型準確率最高,相比于1 層圖卷積,其準確率和F1值均得到了一定的提升;圖卷積層數為3后,準確率和F1 值反而有所降低。這是因為圖卷積層的堆疊層數過多時,會出現過平滑問題[27],使得鄰接節(jié)點的特征表示越來越趨同,實體識別率下降。
表6 不同圖卷積層數的F1值 單位:%Tab.6 F1 scores of different graph convolutional layers unit:%
本文提出了一種基于句法依存分析的圖網絡生物醫(yī)學命名實體識別方法。模型以句子為單位對語料進行句法依存分析,通過圖卷積網絡(GCN)學習語料中的句法依存信息并引入圖注意力機制優(yōu)化鄰接節(jié)點特征權重。實驗結果表明,本文方法有效地利用了語料中的句法信息,提升了生物醫(yī)學命名實體識別的準確率。未來會根據句法依存分析圖的特點,嘗試多種GCN的變形,作出進一步改進。