王好天,李 鑫, 關(guān) 毅, 楊 洋, 李 雪, 姜京池
(1. 哈爾濱工業(yè)大學(xué) 語言技術(shù)研究中心,黑龍江 哈爾濱 150001;2. 哈爾濱工業(yè)大學(xué) 物聯(lián)網(wǎng)與泛在智能中心,黑龍江 哈爾濱 150001)
隨著人們生活水平的不斷提高,醫(yī)療健康問題也逐漸成為大眾日益關(guān)注的重要民生問題。國家衛(wèi)健委在國衛(wèi)基層函〔2018〕195號(1)http://www.nhc.gov.cn/jws/new_index.shtml中啟動了“優(yōu)質(zhì)服務(wù)基層行”活動,該文件指出鄉(xiāng)鎮(zhèn)衛(wèi)生院及社區(qū)衛(wèi)生服務(wù)中心需要至少具備識別和初步診治50種常見病、多發(fā)病的能力。基層醫(yī)院直接對接群眾,是醫(yī)療衛(wèi)生服務(wù)過程中重要的一環(huán),但由于就診壓力大、醫(yī)療設(shè)施不完善、醫(yī)生能力有限等問題,基層醫(yī)院的誤診情況時有發(fā)生。
近年來,人工智能技術(shù)取得了重大突破,相關(guān)技術(shù)已經(jīng)在醫(yī)療、金融、法律等領(lǐng)域?qū)崿F(xiàn)落地應(yīng)用[1-2],這也使利用人工智能技術(shù)為醫(yī)生提供輔助診斷成為可能。醫(yī)生在問診時會主動收集患者的性別、年齡、主訴、現(xiàn)病史和既往史等信息,并綜合各項(xiàng)信息完成初步診斷。因此,利用人工智能技術(shù)構(gòu)建一個基于電子病歷(Electronic Medical Record, EMR)文本信息的輔助診斷系統(tǒng),可以為醫(yī)生提供診斷建議,有效減少誤診的發(fā)生。
早在20世紀(jì)60年代,Lealey等人[3]提出了機(jī)器疾病診斷的概念,吸引了大批學(xué)者投身于該領(lǐng)域的研究。傳統(tǒng)疾病診斷方法需要醫(yī)學(xué)專家人工制定特征,面臨海量數(shù)據(jù)時無法展現(xiàn)出很好的處理能力。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展與計(jì)算機(jī)硬件水平的提高,深度學(xué)習(xí)模型在海量數(shù)據(jù)面前表現(xiàn)出了優(yōu)異的性能,也為輔助診斷提供了良好的思路。目前研究者主要使用序列模型和注意力機(jī)制(Attention Mechanism)抽取電子病歷中的序列特征以實(shí)現(xiàn)疾病的輔助診斷。然而,電子病歷文本中含有豐富的專業(yè)術(shù)語與醫(yī)學(xué)關(guān)系,其中蘊(yùn)含豐富的醫(yī)學(xué)知識,但目前的深度學(xué)習(xí)模型難以建模這種結(jié)構(gòu)化知識。因此,研究者們開始嘗試?yán)脠D神經(jīng)網(wǎng)絡(luò)抽取電子病歷文本中結(jié)構(gòu)化知識表示,幫助輔助診斷模型提升性能。
雖然現(xiàn)有模型在輔助診斷任務(wù)上已經(jīng)取得了較大進(jìn)展,但是仍然存在以下不足: ①電子病歷文本較長,傳統(tǒng)的序列模型無法準(zhǔn)確地從長文本中抽取診斷需要的特征; ②病人所患疾病不單一,且疾病之間一般會存在關(guān)聯(lián),如“糖尿病”與“視網(wǎng)膜病變”之間存在著“并發(fā)癥”關(guān)系,現(xiàn)有模型并未考慮疾病之間的內(nèi)在關(guān)聯(lián)。
針對現(xiàn)有方法的不足,本文提出了一個基于知識增強(qiáng)的多視野表征學(xué)習(xí)輔助診斷模型(Multi-View Representation Learning Network, MVRLN)。該模型使用雙向長短時記憶網(wǎng)絡(luò)(Bidirectional Long-Short Term Memory Network,Bi-LSTM)提取語義信息,并利用注意力機(jī)制提取疾病的字符視野表征,基于醫(yī)療知識圖抽取疾病的實(shí)體視野表征,基于預(yù)訓(xùn)練語言模型(Pretrain Language Model, PLM)抽取疾病的文檔視野表征。將不同視野疾病表征融合后,基于疾病關(guān)系圖利用知識增強(qiáng)方式融合疾病標(biāo)簽之間的內(nèi)在關(guān)系,進(jìn)而實(shí)現(xiàn)疾病輔助診斷。
本文的主要貢獻(xiàn)有:
(1) 提出一種多視野疾病表征學(xué)習(xí)方法,分別從字符、實(shí)體、文檔三個視野抽取疾病表征,有效緩解難以從長文本的準(zhǔn)確抽取疾病表征的問題。
(2) 提出一種基于疾病關(guān)系圖的知識增強(qiáng)方法,利用圖神經(jīng)網(wǎng)絡(luò)通過知識融合增強(qiáng)疾病表征,更好地建模疾病之間的內(nèi)在關(guān)系。
(3) 在“華為云杯”測評數(shù)據(jù)集上的實(shí)驗(yàn)表明,該模型相比于基線方法有顯著性能提升,驗(yàn)證了該模型的有效性,項(xiàng)目代碼已開源(2)https://github.com/FutureForMe/MVRLN。
隨著人們對自身健康關(guān)注度的不斷提高,基于電子病歷的輔助診斷研究也成為了人工智能應(yīng)用技術(shù)的熱點(diǎn)之一?,F(xiàn)有方法主要是基于序列特征、結(jié)構(gòu)化知識和與預(yù)訓(xùn)練語言模型的疾病診斷方法。
隨著數(shù)據(jù)量的不斷增加,深度學(xué)習(xí)技術(shù)憑借自動提取特征的能力及強(qiáng)大的學(xué)習(xí)能力受到研究者們的青睞,開始被應(yīng)用于疾病輔助診斷任務(wù)中,如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)。Yang等人[4]提出使用CNN從電子病歷文本中抽取高階語義信息進(jìn)行疾病診斷。Mullenbach等人[5]提出了CAML模型,通過CNN聚合電子病歷文本中的特征信息,并利用Attention機(jī)制得到與每個疾病最相關(guān)的特征信息用于疾病診斷。Li等人[6]提出了MultiResCNN模型,該模型使用多尺度CNN提取文本中的多元特征,通過殘差網(wǎng)絡(luò)擴(kuò)大感受野,并利用注意力網(wǎng)絡(luò)得到每種疾病對應(yīng)的表示用于疾病診斷。Vu等人[7]使用Bi-LSTM提取文本中的序列特征,并通過注意力網(wǎng)絡(luò)得到每種疾病表示進(jìn)行疾病診斷。
自從圖卷積神經(jīng)網(wǎng)絡(luò)[8](Graph Convolutional Neural Networks,GCN)提出以來,就受到人們的廣泛關(guān)注。由于醫(yī)療文本中包含豐富的專業(yè)術(shù)語和醫(yī)學(xué)關(guān)系,研究者們開始嘗試?yán)秒娮硬v中的結(jié)構(gòu)化知識幫助模型提升性能。劉勘等人[9]使用知識表示模型學(xué)習(xí)醫(yī)療知識圖譜結(jié)構(gòu)化知識表示,并與文本特征融合進(jìn)行并發(fā)癥的疾病診斷。Zhao等人[10]基于電子病歷數(shù)據(jù)構(gòu)造了醫(yī)療知識圖譜,并利用知識圖譜嵌入方法進(jìn)行概率推理,進(jìn)行疾病的輔助診斷。Wang等人[11]使用多尺度標(biāo)簽注意力抽取疾病標(biāo)簽的對應(yīng)特征,提出溯因因果圖融合結(jié)構(gòu)化特征進(jìn)行輔助診斷。Xie等人[12]提出了MSATT-KG模型,該模型融入了疾病之間樹狀的層次信息,并結(jié)合CNN抽取的多元特征信息進(jìn)行疾病診斷。Yuan等人[13]從電子病歷中抽取結(jié)構(gòu)化因果知識并與文本特征通過注意力網(wǎng)絡(luò)融合后用于疾病診斷。
預(yù)訓(xùn)練語言模型已經(jīng)在自然語言處理任務(wù)上取得了優(yōu)異的表現(xiàn),如BERT[14]、ERNIE[15]等。研究者們開始嘗試訓(xùn)練醫(yī)學(xué)領(lǐng)域的預(yù)訓(xùn)練模型完成疾病診斷任務(wù)。Gu等人[16]使用醫(yī)療文獻(xiàn)語料庫訓(xùn)練PubMedBERT模型,并在醫(yī)療命名實(shí)體識別、文本分類等任務(wù)上取得較好效果。Huang等人[17]提出PLM-ICD模型,使用醫(yī)學(xué)領(lǐng)域知識對PLM進(jìn)行預(yù)訓(xùn)練,并將長病歷文本劃分為不同片段微調(diào)PLM,進(jìn)而完成疾病分類編碼任務(wù)。
以上方法利用醫(yī)療文本中的序列信息建模病人表征,忽視了文本中的多粒度信息,難以從長醫(yī)療文本中準(zhǔn)確抽取疾病相關(guān)特征。此外,疾病診斷任務(wù)中的標(biāo)簽并不是相互獨(dú)立的,因?yàn)榧膊¢g存在內(nèi)在關(guān)聯(lián)。為了解決以上問題,本文提出一種基于知識增強(qiáng)的多視野表征學(xué)習(xí)方法,同時考慮了文本中的多粒度特征以及疾病標(biāo)簽之間的內(nèi)在關(guān)聯(lián),有效提升了模型性能。
本文提出了一種基于知識增強(qiáng)的多視野表征學(xué)習(xí)輔助診斷方法,框架如圖1所示。模型主要分為兩個模塊: 疾病的多視野表征學(xué)習(xí)模塊和基于知識增強(qiáng)的標(biāo)簽關(guān)系融合模塊。
圖1 模型的整體框架
疾病的多視野表征學(xué)習(xí)模塊主要考慮三個視野的特征信息,即字符視野表征學(xué)習(xí)、實(shí)體視野表征學(xué)習(xí)和文檔視野表征學(xué)習(xí)。三個視野分別對長醫(yī)療文本進(jìn)行不同粒度的表征學(xué)習(xí),相比于單一視野,三視野可以為每種疾病抽取更豐富的特征。為了融合疾病標(biāo)簽之間的內(nèi)在關(guān)聯(lián)信息,利用訓(xùn)練集數(shù)據(jù)構(gòu)造標(biāo)簽關(guān)系知識圖,并使用GCN進(jìn)行知識融合以增強(qiáng)疾病表示,用于最終的疾病輔助診斷。
2.1.1 Embedding層
給定醫(yī)療電子病歷文本X,對X切分可得到對應(yīng)的token序列[token1,token2,…,tokenn],n表示文本中token的個數(shù)。鑒于PLM已經(jīng)在眾多自然語言處理任務(wù)中有優(yōu)異表現(xiàn),本文使用PLM例如BERT[14],得到每個token的表示向量E=[e1,e2,…,en]∈Rn×d,d表示詞向量的維度。
2.1.2 Bi-LSTM層
為了提取文本中的語義特征,得到更加契合當(dāng)前語境的向量表示,我們將文本中token的表示向量作為輸入,使用Bi-LSTM提取字符級語義信息,獲得字符表征,如式(1)~式(3)所示。
2.1.3 Attention層
通過Bi-LSTM層可以得到每個字符的表示H∈Rn×2u,由于每個標(biāo)簽對于token的關(guān)注程度不同,因此模型使用注注意力機(jī)制為每個標(biāo)簽提取對應(yīng)的表征,如式(4)、式(5)所示。
其中,W∈R2u×|L|為可學(xué)習(xí)的參數(shù)矩陣,用來計(jì)算疾病標(biāo)簽與不同字符之間的注意力權(quán)重Ac∈Rn×|L|。Vchar∈R|L|×2u為使用注意力權(quán)重Ac和字符表示H計(jì)算得到的字符視野疾病表征。其中,|L|表示疾病標(biāo)簽的數(shù)量。
2.2.1 醫(yī)療知識圖構(gòu)建
在進(jìn)行實(shí)體視野表征學(xué)習(xí)之前,需要根據(jù)現(xiàn)有訓(xùn)練集中的電子病歷數(shù)據(jù)構(gòu)造醫(yī)療知識圖。首先利用命名實(shí)體識別(Named Entity Recognition,NER)技術(shù)得到病歷文本中的醫(yī)療實(shí)體;而后根據(jù)限定詞去掉否認(rèn)實(shí)體(如“否認(rèn)高血壓”),保留肯定實(shí)體。
在得到醫(yī)療實(shí)體之后,本文借鑒條件概率公式計(jì)算醫(yī)療實(shí)體與疾病標(biāo)簽之間的相關(guān)程度,如式(6)所示。
2.2.2 實(shí)體視野表征學(xué)習(xí)
醫(yī)療電子病歷文本中往往會含有較多的專業(yè)術(shù)語和醫(yī)學(xué)關(guān)系,且文本較長,傳統(tǒng)的基于序列模型的輔助診斷模型無法很好地捕捉長距離依賴信息以及文本中蘊(yùn)含的結(jié)構(gòu)化信息。我們首先使用預(yù)訓(xùn)練模型得到實(shí)體的初始化向量E=[e1,e2,…,em]∈Rm×d,m為實(shí)體數(shù)量,d表示實(shí)體向量維度。而后根據(jù)實(shí)體是否在病人病歷中出現(xiàn)構(gòu)造患者個性化one-hot表示p=[p1,p2,…,pm],pi∈{0,1}。為了融合患者個性化實(shí)體特征,我們根據(jù)病人的個性化表示對實(shí)體向量進(jìn)行掩碼,并基于醫(yī)療知識圖進(jìn)行知識融合,如式(8)所示。
由于預(yù)訓(xùn)練模型中[CLS]位置的表示可以融合整段文本的特征信息,因此本文將{[CLS],token1,token2,…,tokenn,[SEP]}作為預(yù)訓(xùn)練模型的輸入,在預(yù)訓(xùn)練模型學(xué)習(xí)過程中[CLS]關(guān)注整段上下文特征,因此本文直接將[CLS]的表示作為文檔視野疾病的表征Vdoc∈R|L|×d。
模型在得到字符視野、實(shí)體視野、文檔視野的疾病表征之后,將其拼接得到多視野表征學(xué)習(xí)的疾病表征,如式(9)所示。
在實(shí)際診斷過程中,病人患有的疾病往往不單一,且疾病之間不相互獨(dú)立,會存在一些內(nèi)在聯(lián)系,例如,“糖尿病”與“視網(wǎng)膜病變”之間存在著“并發(fā)癥”關(guān)系,即患有糖尿病的病人患有視網(wǎng)膜病變的概率要比未患有糖尿病的病人患有視網(wǎng)膜病變的概率高。因此在輔助診斷的過程中考慮疾病標(biāo)簽之間的內(nèi)在關(guān)系會對疾病診斷結(jié)果產(chǎn)生積極影響。
為捕捉疾病標(biāo)簽之間的內(nèi)在聯(lián)系,本文使用訓(xùn)練集電子病歷,利用統(tǒng)計(jì)概率方法計(jì)算疾病標(biāo)簽之間協(xié)同關(guān)系的概率,并構(gòu)建標(biāo)簽相關(guān)圖(Disease Correlation Graph,DCG),計(jì)算過程同2.2.1節(jié)。將多視野表征學(xué)習(xí)得到的疾病表示向量作為疾病標(biāo)簽知識圖中疾病節(jié)點(diǎn)的初始化向量H0=Vm,使用GCN進(jìn)行知識融合,融合不同疾病標(biāo)簽之間關(guān)系,如式(10)所示。
其中,Φ表示所有可訓(xùn)練參數(shù),E表示輸入的文本序列,G表示實(shí)體視野的知識圖和標(biāo)簽相關(guān)圖。
本文實(shí)驗(yàn)用到的所有數(shù)據(jù)均來自于“華為云杯”2022人工智能創(chuàng)新應(yīng)用大賽(3)https://competition.huaweicloud.com中的真實(shí)電子病歷數(shù)據(jù),對數(shù)據(jù)篩選后選取診斷標(biāo)簽較多的電子病歷構(gòu)成本文數(shù)據(jù)集。該數(shù)據(jù)已經(jīng)過嚴(yán)格去隱私化處理,病歷包含病人的性別、年齡、主訴、現(xiàn)病史、既往史和診斷疾病字段,具體統(tǒng)計(jì)信息如表1所示。
表1 數(shù)據(jù)集信息統(tǒng)計(jì)表
本文將性別、年齡、主訴拼接作為一個字段,并與現(xiàn)病史、既往史共同作為模型輸入,字段間使用[SEP]分隔。在構(gòu)造醫(yī)療知識圖過程中使用醫(yī)生人工標(biāo)注的實(shí)體數(shù)據(jù)集訓(xùn)練BERT+Bi-LSTM+CRF模型[18],該數(shù)據(jù)由6 511份電子病歷構(gòu)成,包括5種實(shí)體類型: 疾病、癥狀、治療、檢查和檢查結(jié)果,具體統(tǒng)計(jì)結(jié)果見表2。訓(xùn)練集和驗(yàn)證集劃分比例為8∶2,最優(yōu)模型在驗(yàn)證集上的MacroF1為95.07%,并利用最優(yōu)模型對本文數(shù)據(jù)集的電子病歷文本進(jìn)行實(shí)體識別。
表2 實(shí)體數(shù)據(jù)信息統(tǒng)計(jì)表
為了全面分析本文提出的MVRLN方法的效果,我們選取了以下基線方法進(jìn)行實(shí)驗(yàn)對比。
(1)TextCNN[19]: 使用卷積神經(jīng)網(wǎng)絡(luò)抽取文本特征進(jìn)行疾病輔助診斷。
(2)TextRNN[20]: 使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-LSTM)抽取文本特征進(jìn)行疾病輔助診斷。
(3)TextRCNN[21]: 首先使用循環(huán)神經(jīng)網(wǎng)絡(luò)提取文本語義特征,而后利用最大池化進(jìn)行疾病輔助診斷。
(4)CAML[5]: 使用多尺度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行疾病輔助診斷。
(5)MultiResCNN[6]: 利用多尺度卷積神經(jīng)網(wǎng)絡(luò)與殘差神經(jīng)網(wǎng)絡(luò)提取文本N-gram特征,并使用Attention得到每個標(biāo)簽的表示用于輔助疾病診斷。
(6)LAAT[7]: 利用Bi-LSTM提取文本時序特征,且通過Label Attention得到標(biāo)簽表示并進(jìn)行疾病輔助診斷。
(7)KenMeSH[22]: 利用Bi-LSTM分別提取不同字段表示,并結(jié)合動態(tài)知識增強(qiáng)技術(shù)進(jìn)行疾病輔助診斷。
(8)BERT[12]: 使用BERT預(yù)訓(xùn)練模型(4)https://huggingface.co/bert-base-chinese在病歷文本數(shù)據(jù)上微調(diào)實(shí)現(xiàn)輔助疾病診斷。
(9)ERNIE[13]: 使用ERNIE Health模型(5)https://huggingface.co/nghuyong/ernie-health-zh在病歷數(shù)據(jù)上微調(diào)實(shí)現(xiàn)疾病輔助診斷。
(10)Longformer[23]: 長文本預(yù)訓(xùn)練模型(6)https://github.com/IDEA-CCNL/Fengshenbang-LM,在病歷數(shù)據(jù)上微調(diào)進(jìn)行輔助疾病診斷。
模型代碼基于PyTorch框架實(shí)現(xiàn),使用RTX 3090 24 GB顯卡訓(xùn)練測試。預(yù)訓(xùn)練模型獲取的詞向量維度統(tǒng)一為768;Dropout參數(shù)設(shè)置為0.5,預(yù)訓(xùn)練模型學(xué)習(xí)率設(shè)置為0.000 01,非預(yù)訓(xùn)練模型學(xué)習(xí)率設(shè)置為0.000 5,優(yōu)化器為AdamW,GCN層數(shù)為2;batch size設(shè)置為12,epochs設(shè)置為30;閾值設(shè)置θ為0.5,da設(shè)置為128,LSTM隱變量u設(shè)置為384。所有實(shí)驗(yàn)結(jié)果均取隨機(jī)種子訓(xùn)練5次的平均值。
本方法將輔助診斷任務(wù)作為一個多標(biāo)簽分類任務(wù),評價指標(biāo)為MacroP,MacroR,MacroF1和MicroP,MicroR,MicroF1,計(jì)算如式(13)~式(18)所示。
(13)
(14)
(15)
(16)
(17)
(18)
其中,|L|表示疾病標(biāo)簽的數(shù)量,在計(jì)算MacroF1時,首先計(jì)算所有疾病類別的F1,然后取所有類別的平均值作為結(jié)果。在計(jì)算MicroF1時,將每一個樣本數(shù)據(jù)作為獨(dú)立個體進(jìn)行預(yù)測,并計(jì)算F1。
為驗(yàn)證方法的有效性,我們分別結(jié)合不同的預(yù)訓(xùn)練模型進(jìn)行向量初始化,并在數(shù)據(jù)集上與不同的基線方法進(jìn)行實(shí)驗(yàn)對比,實(shí)驗(yàn)結(jié)果如表3所示。其中,MVRLNB、MVRLNE和MVRLNL分別表示使用Bert、 ERNIE和Longformer預(yù)訓(xùn)練模型初始化向量的模型。通過實(shí)驗(yàn)結(jié)果可以看出:
表3 對比實(shí)驗(yàn)結(jié)果 (單位: %)
(1) 本文提出的方法效果超過了所有基線方法,獲得了最佳效果。其中,MVRLNL在F1指標(biāo)上取得所有基線方法中的最佳結(jié)果,其MacroF1和MicroF1分別為53.49個百分點(diǎn)和77.89個百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,多視野表征學(xué)習(xí)模塊能抽取出疾病更準(zhǔn)確的表示,通過知識增強(qiáng)技術(shù)融合疾病標(biāo)簽內(nèi)在關(guān)聯(lián)后可以有效提升模型性能,驗(yàn)證了本文方法的有效性。
(2) 在所有深度學(xué)習(xí)基線方法中TextRNN模型效果最差,主要原因是電子病歷文本較長,而RNN模型無法很好地提取長距離依賴特征。LAAT模型在Bi-LSTM基礎(chǔ)上增加了Label Attention機(jī)制,可以為每個疾病提取最相關(guān)的特征,有效緩解長距離依賴問題,使得性能有所提升。
TextCNN比TextRNN效果更好,這是因?yàn)殡娮硬v中含有較多的醫(yī)學(xué)名詞,使用CNN可以抽取文本中的多元特征,取得更好的模型效果。MultiResCNN在CNN基礎(chǔ)上進(jìn)一步改進(jìn),通過殘差網(wǎng)絡(luò)增加感受野范圍,設(shè)置不同卷積核提取特征,取得了深度學(xué)習(xí)基線方法中的最優(yōu)效果。
相比于MultiResCNN模型,本文提出的方法在MacroF1上提升5.73個百分點(diǎn),在MacroF1上提升2.53個百分點(diǎn),這表明疾病內(nèi)在關(guān)聯(lián)在疾病診斷過程中具有優(yōu)越性,通過知識增強(qiáng)技術(shù)可以有效建模疾病間的結(jié)構(gòu)化特征。相比于知識引導(dǎo)的學(xué)習(xí)方法KenMeSH,本文提出的方法在MacroF1上提升16.32個百分點(diǎn),在MacroF1上提升3.42個百分點(diǎn),這表明相比于僅使用Bi-LSTM提取字符級疾病特征,增加實(shí)體視野的結(jié)構(gòu)特征以及文檔級的整體特征可以更準(zhǔn)確地捕捉疾病相關(guān)的語義信息,獲得更全面的疾病特征表示。
(3) 在所有預(yù)訓(xùn)練模型基線方法中,MVRLNB相比于BERT在MacroF1和MacroF1上分別提升2.99和2.21個百分點(diǎn),MVRLNE相比于ERNIE在MacroF1和MacroF1上分別提升了3.69和1.12個百分點(diǎn),MVRLNL相比于Longformer在MacroF1和MacroF1上分別提升了3.17和1.08個百分點(diǎn)。這說明本文提出的方法在不同的預(yù)訓(xùn)練模型基礎(chǔ)上均可以提升模型性能,取得更好的實(shí)驗(yàn)結(jié)果。
由于醫(yī)療文本長度較長,受預(yù)訓(xùn)練模型輸入文本長度限制,MVRLNB和MVRLNE無法有效建模長文本中的特征,因此MVRLNL相比MVRLNB和MVRLNE憑借著Longformer可以建模長文本特征的優(yōu)勢取得更優(yōu)異的結(jié)果。
我們對本文方法的不同模塊進(jìn)行了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4所示。其中,w/o char表示去除字符視野表征,w/o ent表示去除實(shí)體視野表征,w/o doc表示去除文檔視野表征,w/o DCG表示去除標(biāo)簽關(guān)系融合模塊。
表4 MVRLNL消融實(shí)驗(yàn)結(jié)果 (單位: %)
通過表4可以看出:
(1) 通過對多視野表征學(xué)習(xí)模塊的消融實(shí)驗(yàn)可以發(fā)現(xiàn),相比于w/o char、w/o ent、w/o doc方法,本文提出的MVRLNL在MacroF1上分別提升了1.12個百分點(diǎn),0.37個百分點(diǎn),3.70個百分點(diǎn);在MacroF1上分別提升了0.77個百分點(diǎn),0.17個百分點(diǎn),0.51個百分點(diǎn)。其中,在MacroF1指標(biāo)文檔視野特征貢獻(xiàn)度最大,在MacroF1指標(biāo)字符視野特征貢獻(xiàn)度最大,由此可以看出: 文檔視野從粗粒度學(xué)習(xí)疾病特征,可以更全面地提取每類疾病特征,因此對少樣本數(shù)據(jù)的關(guān)注度更高;而字符視野使用Bi-LSTM和Label Attention學(xué)習(xí)醫(yī)療文本的細(xì)粒度信息,使得學(xué)習(xí)到的疾病特征更關(guān)注于樣本數(shù)量較多的疾病。
此外,實(shí)體視野在MacroF1和MacroF1貢獻(xiàn)度最小,其主要原因是本文構(gòu)建實(shí)體視野的知識圖時僅使用電子病歷中的主訴、現(xiàn)病史、既往史字段,文本較少,包含的實(shí)體信息并不豐富,后續(xù)會融入更多的病歷文本,構(gòu)建蘊(yùn)含更豐富知識的圖。通過以上實(shí)驗(yàn)可以驗(yàn)證多視野表征學(xué)習(xí)模塊中每個視野均能在疾病診斷過程中起到作用,這也表明該模塊可以幫助模型取得更好的結(jié)果。
(2) 通過對比基于知識增強(qiáng)的標(biāo)簽關(guān)系融合模塊的消融實(shí)驗(yàn)可以發(fā)現(xiàn),相比w/o DCG方法,本文提出的MVRLNL在MacroF1和MacroF1上分別提升1.64和0.28個百分點(diǎn),證明該模塊在疾病診斷過程中起到了積極作用。該模塊在MacroF1指標(biāo)上的貢獻(xiàn)度高于MacroF1指標(biāo)上的貢獻(xiàn)度,這表明通過知識增強(qiáng)技術(shù)融合標(biāo)簽之間的內(nèi)在聯(lián)系,可以增強(qiáng)少樣本疾病的表示,保證在輔助診斷任務(wù)中更多地關(guān)注樣本較少的疾病。
為了探究模型是否關(guān)注了醫(yī)療電子病歷中與疾病最相關(guān)的文本片段,我們對字符視野表征學(xué)習(xí)中Label Attention的score進(jìn)行了可視化。隨機(jī)從測試集中選取一個病人,該病人的入院診斷為“高血壓”、關(guān)節(jié)炎”和“骨折”,可視化結(jié)果如圖2~圖4所示。圖2表示“高血壓”疾病注意力可視化圖,圖3表示“關(guān)節(jié)炎”疾病注意力可視化圖,圖4表示“骨折”疾病注意力可視化圖,顏色越深說明該片段對該疾病越重要。
圖2 高血壓注意力可視化圖
圖3 關(guān)節(jié)炎注意力可視化圖
圖4 骨折注意力可視化圖
從圖2可以看出,該病人有“高血壓病史十幾年”,曾因“頭暈”住院,通過以上片段可以判斷出該病人患有高血壓。
從圖3可以看出,該病人有“左側(cè)足踝部紅腫熱痛”“足部紅腫熱痛病史”等癥狀,并且曾被診斷為“痛風(fēng)性關(guān)節(jié)炎”,因此通過以上信息可推理出該病人患有“關(guān)節(jié)炎”疾病。
從圖4可以看出,該病人曾因“外傷致左腓骨下段骨折”進(jìn)行手術(shù)治療,近兩天又因“左腓骨骨折術(shù)后”入院,因此可以推理出該病人患有“骨折”疾病。
通過對該病人所患三種疾病的可視化結(jié)果進(jìn)行分析可以說明,注意力機(jī)制能很好地為每種疾病提取最相關(guān)的片段特征,可以幫助模型進(jìn)行準(zhǔn)確的疾病診斷。
本文提出了一種基于知識增強(qiáng)的多視野表征學(xué)習(xí)輔助診斷方法。為解決醫(yī)療長文本數(shù)據(jù)中難以準(zhǔn)確抽取疾病相關(guān)特征的問題,本文提出了多個視野特征表示模塊,分別從字符視野、實(shí)體視野和文檔視野抽取每種疾病不同粒度的表征。為了解決病人患病不單一、疾病間存在內(nèi)在關(guān)聯(lián)的問題,本文利用知識增強(qiáng)的方式融合疾病標(biāo)簽之間的內(nèi)在關(guān)系,進(jìn)一步提升了模型的性能。在華為云杯評測數(shù)據(jù)上的實(shí)驗(yàn)結(jié)果表明,本文提出的基于知識增強(qiáng)的多視野表征學(xué)習(xí)輔助診斷方法可以有效提升疾病診斷的準(zhǔn)確率。未來的研究可以嘗試引入醫(yī)療知識圖譜和醫(yī)療本體等結(jié)構(gòu)化知識解決罕見疾病的輔助診斷問題,并考慮如何利用邏輯知識增強(qiáng)模型的可解釋性問題。