彭清泉,王丹
(1.華中科技大學(xué)同濟醫(yī)學(xué)院附屬同濟醫(yī)院腎內(nèi)科,湖北武漢 430030;2.華中科技大學(xué)同濟醫(yī)學(xué)院附屬同濟醫(yī)院綜合醫(yī)療科,湖北武漢 430030)
醫(yī)療文本數(shù)據(jù)蘊含著豐富的醫(yī)學(xué)知識,利用深度學(xué)習(xí)技術(shù)對醫(yī)療文本進行分析研究,從而生成有效的醫(yī)療信息,為臨床決策提供數(shù)據(jù)支持,提高整體醫(yī)療質(zhì)量[1-2]。
靜態(tài)詞向量模型Word2vec[3]和Glove,預(yù)訓(xùn)練過程缺乏詞的位置信息,導(dǎo)致無法表示多義詞。動態(tài)詞向量模型ELMO[4]和BERT[5],預(yù)訓(xùn)練過程中結(jié)合詞的具體上下文語境進行學(xué)習(xí),提升了詞向量表征能力。ChineseBERT[6]模型將漢字特有的字形和拼音信息融入預(yù)訓(xùn)練過程,使模型更加綜合地建立漢字、字形、讀音與上下文之間的聯(lián)系。
醫(yī)療文本分類方法主要有機器學(xué)習(xí)方法和深度學(xué)習(xí)方法,文獻[7]利用LDA 模型進行特征提取來構(gòu)建低維度向量,但需要復(fù)雜的人為特征構(gòu)建工程,不能確保獲取特征的全面性和準確性。在深度學(xué)習(xí)領(lǐng)域,文獻[8]提出了LS-GRU 醫(yī)療文本分類模型,解決了GRU模塊特征提取能力不足的問題,采用Word2vec模型將醫(yī)療文本向量化,得到的靜態(tài)詞向量語義表征能力較弱。文獻[9]針對評論文本情感極性判斷問題,提出了BERT-BiLSTM 情感分類模型,BiLSTM 模塊受限于循環(huán)依賴機制,導(dǎo)致訓(xùn)練效率較低。以上模型均賦予每個詞相同權(quán)重得分,無法聚焦于對分類結(jié)果影響較大的關(guān)鍵詞。
針對醫(yī)療文本分類研究仍然存在的問題,提出了ChineseBERT-BiSRU-AT 醫(yī)療文本分類模型,主要貢獻和創(chuàng)新點如下:
1)針對傳統(tǒng)向量模型無法表示多義詞問題,采用ChineseBERT 將醫(yī)療文本向量化,得到詞的動態(tài)向量表征。
2)為提升模型整體訓(xùn)練效率,采用簡單循環(huán)單元[10]提取文本序列信息。
3)軟注意力機制計算每個詞對分類結(jié)果的影響大小,賦予模型識別關(guān)鍵特征的能力。
基于ChineseBERT-BiSRU-AT 的醫(yī)療文本分類模型整體結(jié)構(gòu)如圖1 所示。主要由醫(yī)療文本預(yù)處理、ChineseBERT 預(yù)訓(xùn)練模型、雙向簡單循環(huán)單元語義提取層、軟注意力機制和分類層組成。文本預(yù)處理將醫(yī)療文本處理成能夠輸入模型的數(shù)據(jù)格式;ChineseBERT 模型負責(zé)學(xué)習(xí)詞的動態(tài)語義表示;雙向簡單循環(huán)單元學(xué)習(xí)句子序列高維語義特征,軟注意力機制計算每個詞的權(quán)重大小,分類層得到醫(yī)療文本分類結(jié)果。
圖1 模型整體結(jié)構(gòu)
首先對醫(yī)療文本數(shù)據(jù)集進行數(shù)據(jù)清洗,通過編寫正則表達式刪除部分特殊字符,并去除部分不合規(guī)樣本。使用ChineseBERT 分詞器對醫(yī)療文本進行字符級別分詞操作,按照詞匯表序號將字符替換成序號表示;根據(jù)序列最大長度對文本進行首部截斷或后補0,首尾位置分別加入句首標志[CLS]和分句標志[SEP],得到文本的靜態(tài)語義向量表示。
模型ChineseBERT 針對漢字特性,將字形與拼音信息融入到預(yù)訓(xùn)練過程,增強對中文語料的建模能力。特征抽取模塊為Transformer 編碼器,自注意力機制捕捉詞與詞之間的依賴關(guān)系,提取句法結(jié)構(gòu)信息[11]。字形嵌入由多個不同字體圖像向量化后融合而成,拼音嵌入則由對應(yīng)的羅馬化拼音字符序列經(jīng)過CNN 模塊訓(xùn)練得到。模型整體框架如圖2 所示。
圖2 ChineseBERT模型結(jié)構(gòu)
其中,融合嵌入由字嵌入、字形嵌入與拼音嵌入經(jīng)過一個全連接層融合得到,相關(guān)過程如圖3 所示;e={e1,e2,…,en}為輸入向量,由融合嵌入和位置嵌入相加組成,位置嵌入PE計算過程如式(1)、(2)所示。經(jīng)Transformer 編碼器動態(tài)訓(xùn)練后得到的詞動態(tài)語義表示T={T1,T2,…,Tn},Ti表示第i個詞的語義向量表示,作為BiSRU 層的輸入向量。
圖3 融合向量組成
簡單循環(huán)單元(Simple Recurrent Unit,SRU)擺脫了對上一個時間狀態(tài)輸出的依賴,提高并行計算能力,加快序列處理速度,較LSTM 模型[12]運算速度更快,參數(shù)更少。單個SRU計算公式如式(3)-(6)所示。
其中,⊙表示矩陣對應(yīng)元素的乘法運算;Wt、Wr、W、bf、br、vf和vr均為模型中的可學(xué)習(xí)參數(shù);rt和ft分別代表重置門和遺忘門,用于控制信息流入下一步的程度并緩解梯度消失與爆炸問題[13]。由式(6)可知,計算時間步狀態(tài)ht不再依賴上一個時間步輸出ht-1,提高模型并行處理速度。為增強SRU 對文本語義的建模能力,將前向SRU 和后向SRU 合并為BiSRU 模塊,得到t時間步BiSRU 輸出狀態(tài)Ht。
軟注意力機制計算每個詞的權(quán)重大小,賦予對分類結(jié)果影響大的焦點詞更高權(quán)重,有助于提升模型分類性能[14]。將BiSRU 層獲取的文本高維序列特征H輸入到軟注意力機制層,計算每個時間步輸出Ht的權(quán)重at,加權(quán)求和后得到注意力特征A,計算過程如式(7)-(9)所示。
其中,tanh(·)為非線性函數(shù),exp(·)為指數(shù)函數(shù)。
將軟注意力特征A映射到實例分類空間,由Softmax()函數(shù)計算得到文本屬于某個類別的概率大小,Top(·) 取行最大值對應(yīng)的標簽作為分類結(jié)果Result,計算過程如式(10)、(11)所示。
實驗數(shù)據(jù)集為患者呼吸科影像,經(jīng)數(shù)據(jù)清洗后得到合格樣本856 例;采用文本描述、診斷字段分別作為樣本內(nèi)容和標簽。數(shù)據(jù)集包含肺氣腫408 例和肺炎448 例,按照8∶1∶1 將數(shù)據(jù)集劃分為訓(xùn)練集、測試集和驗證集。
為驗證模型在醫(yī)療文本分類任務(wù)上的有效性,采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1分數(shù)作為評價指標。計算過程如式(12)-(15)所示。
采用Pytorch1.7.1 深度學(xué)習(xí)框架和python3.6.0 及其他第三方庫進行模型訓(xùn)練,采用Linux 操作系統(tǒng),GTX3080 顯卡,顯存24 GB。模型參數(shù)設(shè)置如下:BiSRU 隱藏層大小128,層數(shù)2;隨機失活概率大小為0.5,L2 正則化系數(shù)為0.1;訓(xùn)練輪次為5 次,損失函數(shù)為多交叉熵損失函數(shù);軟注意力機制維度256;序列最大長度為100;批處理大小為64,初始學(xué)習(xí)率為1×10-5;引入RAdam[15]優(yōu)化器,自動調(diào)整學(xué)習(xí)率大小,避免頻繁手動調(diào)整。
為驗證模型有效性,采用近期表現(xiàn)優(yōu)秀的深度學(xué)習(xí)模型進行對比。為降低實驗隨機誤差,固定隨機數(shù)種子,并取10 次實驗結(jié)果的平均值作為最終結(jié)果,選取對比模型如下:
1)LS-GRU[8]:文獻[8]提出的LS-GRU模型,LSTMGRU 模塊提取序列特征。
2)BERT-BiLSTM[9]:文獻[9]提出的BERT-BiLSTM模型,BERT 模型得到結(jié)合具體上下文語境的詞向量表示,BiLSTM 抽取文本全局序列信息。
模型實驗結(jié)果如表1所示,ChineseBERT-BiLSTM和ChineseBERT-BiSRU 模型訓(xùn)練時間如圖4 所示。由表1 可得,該文提出的ChineseBERT-BiSRU-AT 模型F1 得分最高,優(yōu)于近期表現(xiàn)較好的LS-GRU 和BERT-BiLSTM 模型,證明了ChineseBERT 與BiSRUAT 結(jié)合的有效性。
圖4 模型訓(xùn)練時間
表1 性能指標對比
與模型Word2vec-BiSRU、ELMO-BiSRU 和BERT-BiSRU 相對比,ChineseBERT-BiSRU 模型的F1分數(shù)分別提升了6.71%、5.58%和2.77%,說明了ChineseBERT 將漢字字形和拼音信息融入中文語料預(yù)訓(xùn)練過程,通過參考詞的上下文聯(lián)系,學(xué)習(xí)到語義表征能力更強的動態(tài)詞向量,應(yīng)用效果優(yōu)于其他詞向量模型。靜態(tài)詞向量模型Word2vec 訓(xùn)練過程缺乏詞的位置信息,無法表示多義詞,F(xiàn)1 分數(shù)較低,而ELMO 和BERT 模型能夠結(jié)合詞的上下文語境進行動態(tài)編碼,效果優(yōu)于Word2vec。BERT 采用了特征提取能力更強的Transformer 編碼器,ELMO 則使用了雙向LSTM,因此模型BERT-BiSRU 的F1 分數(shù)高于ELMO-BiSRU。
設(shè)置實驗ChineseBERT-BiSRU 與ChineseBE RT-BiSRU-AT 進行對比,結(jié)果表明軟注意力機制計算每個詞的權(quán)重大小,聚焦于對分類結(jié)果影響較大的關(guān)鍵特征,能夠有效提升模型分類性能。
由圖4 可得,ChineseBERT-BiSRU 模型輪次訓(xùn)練時間均低于ChineseBERT-BiLSTM,BiSRU 模塊訓(xùn)練效率優(yōu)于BiLSTM,降低模型訓(xùn)練復(fù)雜度,但仍保持著高效的序列建模能力。
綜上所述,該文提出的ChineseBERT-BiSRUAT 模型能夠有效地提升醫(yī)療文本分類性能。
針對醫(yī)療文本分類問題,提出了基于Chinese BERT-BiSRU-AT 的醫(yī)療文本分類模型。通過ChineseBERT 模型學(xué)習(xí)到結(jié)合具體上下文語境的動態(tài)詞向量表征,解決了傳統(tǒng)詞向量無法表示多義詞問題,應(yīng)用效果優(yōu)于實驗對比的其他詞向量模型。采用BiSRU 模塊進行序列特征提取,訓(xùn)練效率優(yōu)于BiLSTM。軟注意力機制能夠識別出關(guān)鍵詞,賦予較高權(quán)重。利用醫(yī)療影像報告數(shù)據(jù)集進行實驗,結(jié)果表明ChineseBERT-BiSRU-AT 模型在醫(yī)療文本分類任務(wù)上的有效性。在未來的研究中,將考慮進一步提升模型訓(xùn)練速度,并將該模型遷移到其他文本分類領(lǐng)域。