廖 濤,馬文祥,張順香
(安徽理工大學 計算機科學與工程學院,安徽 淮南 232001)
目前,醫療實體識別[1]的研究主要是基于機器學習和深度學習的方法。例如:許源等[2]構建CRF與規則相結合的腦卒中病歷實體抽取模型,通過調整規則和參數來提高實體識別的準確率。羅凌等[3]提出一種基于筆畫ELMO和多任務學習的神經網絡模型,能有效提高電子病歷命名實體識別的效果。
2017年,Google提出的注意力機制脫穎而出。張坤麗等[4]利用注意力機制的BiLSTM-CRF網絡標注醫療文本實體,并構建了實體關系標注平臺。唐國強等[5]利用注意力機制結合的BiGRU-CRF網絡識別電子病歷命名實體。周曉進等[6]提出一種注意力機制和多任務學習相結合的多粒度醫療實體識別方法。2018年,Google開發的BERT模型[7]橫空出世。劉道文等[8]設計預濾噪的BERT模型識別相關疾病實體,并定義了帶權重的醫療知識圖譜。李丹等[9]將部首特征編碼到字向量中,并在LSTM-CRF聯合模型的基礎上引入BERT模型,提升了醫療實體的抽取能力。Mao等[10]微調BERT模型,利用CRF進行分類,適用于多種語言的命名實體識別任務。Lee等[11]在BERT的基礎上改進,提出BioBERT模型,實驗驗證該模型在生物醫學文本挖掘任務中的表現優于BERT模型。與Lee不同,張芳叢等[12]將BERT改進為RoBERTa-WWM模型,能將病歷文本表述為字向量、句向量和位置向量。
雖然,醫療實體識別的研究已經取得了一定的成績,但未能深入考慮醫療文本的字形特征。因此,本文提出一種基于多特征融合的雙通道神經網絡模型。文本輸入預訓練模型Transformer后獲得詞向量;將卷積神經網絡與雙向長短期記憶網絡并行組合成雙通道神經網絡(dual channel neural network,DCNN),利用DCNN充分提取局部特征和上下文特征;構建偏旁特征、筆畫特征、詞性特征和詞典特征,利用差異融合的方法將以上特征與詞向量融合,能夠豐富詞向量的特征信息并且增強詞的表達能力;將注意力機制融合到卷積神經網絡以區分不同特征的重要程度;最后利用CRF進行解碼和序列標注。
融合多特征的雙通道神經網絡模型由5個部分組成,從下到上依次是:Transformer層、DCNN層、特征融合層、卷積注意力層和CRF層,具體結構如圖1所示。
第一層為Transformer層,利用預訓練模型Transformer對輸入文本進行詞嵌入,得到動態特征表示;第二層為DCNN層,其中CNN子層提取局部特征,BiLSTM子層提取上下文特征;第三層為特征融合層,該層構建偏旁特征、筆畫特征、詞性特征和詞典特征,并將多種特征與詞向量融合;第四層為卷積注意力層,優化特征選擇的結果;第五層為CRF層,將編碼完成的結果進行序列標注。
Transformer層[13]結構如圖2所示。利用N個相同的網絡層組合成Encoder模塊,每個網絡層又分為兩個子網絡層,分別是多頭注意力層(multi-head attention)和前饋層(feed forward)。

圖2 Transformer層結構
第一個網絡層為多頭注意力層,考慮給不同單詞賦予不同的權重,如式(1)所示
(1)
其中,Q,K,V為不同輸入序列中不同單詞的字符向量矩陣,dk為輸入向量的維度。
第二個網絡層為前饋層,給單詞融合位置信息,使用ReLU激活函數加速梯度收斂。如式(2)所示
Xhidden=ReLU(Linear(Linear(Xattention)))
(2)
利用分詞工具對輸入文本進行分詞,經過Transformer層訓練后得到n1維的動態詞向量。vg∈Rn1(g=1,2,…,n)。
1.3.1 CNN子層
卷積核的優勢在于捕捉單詞之間的特征,因此,本文利用卷積神經網絡(convolutional neural network,CNN)[14]提取醫療文本中的局部特征。CNN主要由卷積層和池化層組成。
將Transformer層輸出的詞向量vg送入卷積層,第i個單詞經過卷積操作后得到的向量標記為ci。計算過程如式(3)所示

(3)


vh=(c1,c2,…,cn-k+1)
(4)
為了保持字特征和詞特征的向量維度一致,將卷積核和字符向量維度設為相同。并行CNN和BiLSTM組合成雙通道神經網絡,利用CNN考慮局部特征信息,BiLSTM考慮上下文特征信息。
1.3.2 BiLSTM子層
長短期記憶網絡(long short-term memory,LSTM)[15]通過引入門控單元和存儲單元解決循環神經網絡(recurrent neural network,RNN)存在的長期依賴問題,并緩解RNN梯度消失和梯度爆炸問題。LSTM網絡構造了一個含有輸入門、輸出門和遺忘門3種門控單元的可控自循環記憶神經元,LSTM單元結構如圖3所示。

圖3 LSTM單元結構
LSTM這3種門結構計算公式如下
it=σ(Uiht-1+Wiet+bi)
(5)
ft=σ(Ufht-1+Wfet+bf)
(6)
ot=σ(Uoht-1+Woet+bo)
(7)
其中,σ為Sigmoid激活函數,Ui,Uf,Uo為參數矩陣,ht-1為前一時刻隱藏層狀態,Wi,Wf,Wo為權重矩陣,et為當前節點輸入,bi,bf,bo為偏置向量。
單向的LSTM傳播遠距離信息時,只能從上文信息推測到當前結果,無法利用下文信息。因此,本文利用雙向長短期記憶網絡(bi-directional long short term memory,BiLSTM)來充分聯系上下文信息,從而加強實體間長距離語義信息的關聯性。BiLSTM網絡結構如圖4所示。

圖4 BiLSTM網絡結構
在醫療文本中,實體含有非常豐富的外部特征。將這些外部特征融入到模型中,不僅能豐富詞向量的特征信息,還能提高實體識別的準確率。
疾病診斷類實體大多以“疒”字頭為偏旁,例如,“癥”、“疤”、“疹”和“癌”等。身體部位類實體常常以“月”字為偏旁,例如,“腦”、“腿”、“臉”和“肺”等。藥物中的微量元素常以“钅”為偏旁,例如,“鈉”、“鐵”、“鋅”等。繁體漢字偏旁比簡體漢字偏旁解釋性更強,因此,本文構建了繁體漢字偏旁映射表,能較好地獲取偏旁特征。利用One-hot編碼方式得到n4維的偏旁向量vj∈Rn4(j=1,2,…,n), 能匹配到繁體偏旁的關系值設為1,否則為0。
同時,引入筆畫特征來獲取漢字內部的結構信息,構建5種筆畫信息,例如“一”、“丨”、“丿”、“乀”和“丶”。利用一位有效編碼方式得到n5=5維的筆畫向量vk∈Rn5(k=1,2,…,n), 特征之間有相同筆畫的值設為1,否則為0。利用語言學特征能提高實體識別的準確率。
身體部位和疾病診斷這兩類實體的詞性多以名詞為主,而檢查檢驗和治療類實體前往往會伴隨“進行”、“采取”和“實施”等動詞。因此,詞性也是醫療實體中重要的特征信息,本文利用Lac百度詞法工具標注了28種詞性特征,采用獨熱編碼方式得到n6=28維的詞性向量vl∈Rn6(l=1,2,…,n)。
詞典特征的加入能夠輔助本文模型的識別,從而提高特定實體的識別效果。在百度詞庫中下載“藥品名稱大全”并剔除非藥物類實體,加入訓練集中采用匹配算法進行訓練,在測試集中匹配成功標注為1,否則為0。利用One-hot編碼方式得到n7維的詞典向量vm∈Rn7(m=1,2,…,n)。 特征融合標注示例見表1。

表1 特征融合標注示例
利用DCNN層輸出的兩個內部特征向量保留全部信息記為vn=(vh?vi),vn∈Rn2+n3, 將vh和vi做點積以保留相似信息,得到向量vo=(vh·vi), 將vh和vi做差以保留兩者之間的差異信息,得到向量vp=(vh-vi)。
將偏旁向量、筆畫向量、詞性向量和詞典向量這4種外部向量拼接,得到vq=(vj?vk?vl?vm),vq∈Rn4+n5+n6+n7(q=1,2,…,n)。
最后將外部向量、內部向量與詞向量拼接,得到vr=(vn?vo?vp?vq?vg),vr∈Rn1+n2+n3+n4+n5+n6+n7(r=1,2,…,n)。 令t=n1+n2+n3+n4+n5+n6+n7,G=[v1,v2,…,vn],G∈Rt*s。
對于特征融合層后得到的大量特征,為提高分類效率,將注意力機制融合到卷積神經網絡中實現特征優化選擇,將通道注意力和空間注意力串聯,重新分配特征權重實現自適應細化效果。通道注意力子層如圖5所示,空間注意力子層如圖6所示。

圖5 通道注意力子層

圖6 空間注意力子層
在通道注意力子層中,不同通道的重要程度不同。利用平均池和最大池將輸入特征vr聚合操作獲得兩個空間信息,之后輸入到多層感知機進行升降維度,利用兩個特征圖合并輸出特征向量,最后利用Sigmoid激活函數激活特征,獲得通道注意力權重系數T(v)。 該過程計算公式如式(8)所示
T(v)=σ{MLP[Avg(v)]+MLP[Max(v)]}
(8)
其中,σ為Sigmoid激活函數,Avg(v) 為全局平均池化通道信息,Max(v) 為全局最大池化通道信息,MLP為多層感知機。
將通道注意力系數權重與輸入特征vr的每個元素相乘,獲得細化特征v′r再輸入空間注意力子層。將最大池化和平均池化合并成雙通道的特征圖,利用卷積核進行壓縮,輸出結果利用Sigmoid激活函數激活特征,獲得空間注意力權重系數K(v), 將K(v) 與每個細化特征v′r相乘得到空間注意力圖。計算過程如式(9)所示
K(v′r)=σ{T(v){[Avg(v′r);Max(v′r)]}}
(9)
其中,σ為Sigmoid激活函數,Avg(v′r) 為全局平均池化空間信息,Max(v′r) 為全局最大池化空間信息。將通道注意力層輸出的特征記為k。
通過對特征進行通道區分和空間區分,能夠學習特征之間的差異性,并優化特征選擇,以提高實體識別準確率。
在自然語言處理任務中,為了保證序列標簽的合法性,可以用預測的標簽增加一些約束,訓練數據時條件隨機場(conditional random fields,CRF)能自動學習約束特征。通過輸入k=(k1,k2,…,kn) 來計算輸出序列y=(y1,y2,…,yn) 的得分,如式(10)所示
(10)
其中,score(k,y) 為所有單詞分數之和,P為得分矩陣,Pi,yi為第i個單詞標記成yi的概率,A為狀態轉移矩陣,Ayi-1,yi為yi-1轉移到yi的概率。預測標簽序列y的概率,如式(11)所示
(11)
其中,P(y|k) 為k在條件y下對應的條件概率分布,y′為真正的標簽,ys為全部潛在標簽的集合。
計算最終得分y*, 如式(12)所示
(12)
score(k,y′) 為正在預測的標簽序列下句子的最終得分。訓練完成后,利用維特比分析求解動態規劃問題,預測模型的最優解。
本文實驗搭建谷歌開源框架TensorFlow 1.13.0,編程語言為Python3.6,利用Jieba 0.39分詞工具進行分詞,并利用softmax交叉損失函數和Adam梯度下降算法優化并更新參數,使損失函數最小化。
為提高模型泛化能力,在神經網絡模型BiLSTM中引入dropout。具體實驗參數見表2。

表2 參數設置


表3 數據集中各類實體個數
實驗采用BIO標注實體,實體開始部分用B表示;實體中間部分用I表示;非實體部分用O表示。共計11種待預測的標簽,分別為“B-BOD”、“I-BOD”、“B-SYM”、“I-SYM”、“B-EXA”、“I-EXA”、“B-DIS”、“I-DIS”、“B-TRE”、“I-TRE”和“O”。標注示例見表4。

表4 標注示例
本文采用3種評價指標,包括準確率(P)、召回率(R)和F1值,如式(13)~式(15)所示
(13)
(14)
(15)
2.3.1 epoch值
為確定epoch的最優值,保持其它參數不變,僅改變epoch值的大小,實驗過程中,epoch值范圍設置為5~31,依次增加進行實驗。
在圖7中,橫坐標為epoch值,縱坐標為3種評價指標(%),當epoch值為25時,模型性能表現最好,故epoch值設為25。

圖7 不同epoch值的識別效果
2.3.2 基礎模型對比
實驗采用CRF、CNN、LSTM、BiLSTM、BiLSTM-CRF、ALBERT-BiLSTM-CRF和本文模型進行性能分析。實體評價指標取平均值,實驗結果見表5。

表5 各模型實驗結果/%
由表5可以發現,神經網絡模型的F1值均要好于CRF模型,這是因為神經網絡模型能自動提取特征,具有較強的自學習能力;在CNN模型與RNN衍生模型比較中,RNN衍生模型要強于CNN模型,這是因為CNN模型在圖像領域表現更好,RNN模型在文本預測時表現更好;在LSTM模型和BiLSTM模型的比較中,BiLSTM模型要優于LSTM模型,說明BiLSTM模型能更好地捕捉較長距離的語義依賴,充分利用上下文信息;從BiLSTM和BiLSTM-CRF模型的對比中可以看出,CRF模型更好地融合上下文信息,通過動態規劃的思想計算全局最優的條件概率,從而提高識別效果;在BiLSTM-CRF模型和ALBERT-BiLSTM-CRF模型的對比中,ALBERT利用Transformer框架大幅降低參數,提高模型的性能;在ALBERT-BiLSTM-CRF模型與本文模型對比中,后者比前者提高了1.28%的F1值,說明多特征的加入能豐富詞向量的特征信息,雙通道神經網絡能獲取局部特征和上下文特征,卷積注意力機制能優化特征選擇。
2.3.3 主流模型對比
此外,將本文模型與目前主流模型也進行了對比實驗,實驗結果見表6。

表6 主流模型對比實驗/%
從表6可以發現,本文模型不論在準確率還是召回率都高于以上5種主流模型,這是因為本文更注重對特征的提取和融合。本文模型的F1值高于其它模型的主要原因為:
(1)將BiLSTM和CNN并行組合成雙通道的神經網絡DCNN,DCNN在特征提取時,能兼顧局部特征和上下文特征,兩種特征互補能提高模型的識別性能,解決了忽略局部特征信息的問題。
(2)針對醫療文本字形構造了4種外部特征,例如偏旁特征、筆畫特征、詞性特征和詞典特征,這些特征的加入能有效解決醫療文本中詞向量特征不足的問題。
(3)將局部特征和上下文特征融合成內部特征。利用一種差異融合方法,將外部特征、內部特征和詞向量融合,充分考慮每種特征的關聯性。
(4)將注意力機制和卷積神經網絡融合成卷積注意力層,優化特征選擇,充分發揮多特征的優勢。因此,本文模型獲得了88.69%的F1值,性能表現更好。
本文針對醫療實體識別任務,提出一種融合多特征的雙通道神經網絡模型,能有效解決詞向量特征單一和忽略文本中局部特征的問題。在不影響性能的情況下利用Transformer編碼器,參數更少且訓練速度更快。將BiLSTM與CNN并行成雙通道神經網絡DCNN,充分考慮局部特征信息和上下文特征信息。利用多特征融合豐富詞向量的信息,增強詞的表達能力。將注意力機制融合到CNN網絡,對特征優化選擇。在未來的工作中繼續挖掘重要的特征信息,并引入多任務學習和遷移學習的方法。