杜逸超,徐童,馬建輝,陳恩紅,鄭毅,劉同柱,童貴顯
1. 中國科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230027;2. 華為技術(shù)有限公司,浙江 杭州 310007;3. 中國科學(xué)技術(shù)大學(xué)附屬第一醫(yī)院,安徽 合肥 230027
國際疾病分類(international classification of diseases,ICD)編碼是在醫(yī)院等醫(yī)療機(jī)構(gòu)使用的統(tǒng)一的編碼方法。它根據(jù)疾病的病因、病理、臨床表現(xiàn)和解剖位置等特性將疾病分門別類,同時(shí)也包含手術(shù)、診斷和治療程序的統(tǒng)一代碼。ICD代碼使用字母數(shù)字組合的形式表示具體的疾病或診斷,如E860.0(酒精飲料意外中毒)。ICD代碼有多種用途,如報(bào)告疾病和健康狀況、協(xié)助醫(yī)療報(bào)銷決策、收集發(fā)病率和死亡率統(tǒng)計(jì)數(shù)據(jù)等。
臨床記錄包含了患者在醫(yī)院就診期間的人口統(tǒng)計(jì)學(xué)信息、床邊的生命體征測量值、實(shí)驗(yàn)室測試結(jié)果、診療程序、藥物使用情況、成像報(bào)告、死亡率和出院小結(jié)等信息。在醫(yī)療機(jī)構(gòu)中,編碼員通過查看醫(yī)生的診斷說明和臨床記錄中的信息手動分配適當(dāng)?shù)腎CD代碼,這樣的人工編碼費(fèi)時(shí)費(fèi)力且容易出錯(cuò)。人工編碼往往會出現(xiàn)以下幾個(gè)難題:ICD代碼的層次結(jié)構(gòu)導(dǎo)致相同層次的疾病往往難以區(qū)分;醫(yī)生在撰寫診斷說明時(shí),經(jīng)常使用縮寫詞和同義詞,極易與ICD編碼的描述產(chǎn)生歧義[1];在很多情況下,密切相關(guān)的多個(gè)診斷描述應(yīng)該被映射到某一特定ICD編碼上,而沒有經(jīng)驗(yàn)的編碼人員可能會分別對每種疾病進(jìn)行編碼。
為了降低人工編碼的難度,一些工作開始嘗試使用機(jī)器自動完成ICD編碼任務(wù)。早期工作通常使用有監(jiān)督的機(jī)器學(xué)習(xí)方法進(jìn)行ICD編碼,這種方法的效率相對較低。近期研究者采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和注意力機(jī)制(attention mechanism)結(jié)合的方式,大大提高了編碼的效率和準(zhǔn)確度[2]。雖然之前的方案有所成效,但是自動ICD編碼依然存在一些挑戰(zhàn):一是臨床記錄往往擁有非常長的字符序列,但是其中僅有少部分關(guān)鍵文本片段與某一特定的ICD編碼相關(guān);二是ICD編碼的標(biāo)簽空間非常龐大,在ICD-9-CM中有超過22 000個(gè)編碼,而在新版的ICD-10-CM中有超過170 000個(gè)編碼,龐大的標(biāo)簽空間意味著標(biāo)簽分布存在不平衡的問題。如圖1所示,在被廣泛用于自動ICD編碼的重癥加強(qiáng)護(hù)理病房(intensive care unit,ICU)醫(yī)療記錄公開數(shù)據(jù)集MIMIC-III(Medical Information Mart for Intensive Care III)[3]中,共包含8 922個(gè)ICD編碼,而在所有病歷中出現(xiàn)次數(shù)小于5次的ICD代碼共有4 344個(gè),ICD代碼的長尾分布意味著自動編碼是一個(gè)非常大的挑戰(zhàn)。
針對上述問題,筆者基于先前的方法提出了一種多過濾器殘差圖卷積網(wǎng)絡(luò)的ICD自動編碼技術(shù),可以充分利用臨床記錄的非結(jié)構(gòu)化數(shù)據(jù)實(shí)現(xiàn)較好的自動ICD編碼水平。與之前的工作相比,本文的工作有以下3點(diǎn)貢獻(xiàn)。
● 針對冗長、低質(zhì)量的臨床記錄文本,之前的工作使用單卷積核進(jìn)行特征抽取,難以適應(yīng)每種ICD代碼關(guān)注的文本片段長度。本文采用多過濾器卷積層抽取不同跨度的文本片段,并使用殘差網(wǎng)絡(luò)擴(kuò)大接受域,提取長度種類更多的文本片段模式,以適應(yīng)不同ICD代碼關(guān)注的文本片段長度。
● 針對層次結(jié)構(gòu),使用圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional neural network,GCN)抽取標(biāo)簽之間的依賴關(guān)系,緩解了標(biāo)簽分布不平衡的現(xiàn)象,并加強(qiáng)了模型的泛化性能。
● 本文的模型提高了在真實(shí)的ICU醫(yī)療記錄數(shù)據(jù)集MIMIC-III上的自動ICD編碼水平。
針對醫(yī)療記錄的自動ICD編碼一直是醫(yī)學(xué)信息領(lǐng)域的熱點(diǎn)問題。20世紀(jì)90年代,Larkey L S等人[4]集成了3種分類器:K-近鄰(K-nearest neighbors)、關(guān)聯(lián)反饋(relevance feedback)和貝葉斯獨(dú)立分類器(bayesian independence classifier),并結(jié)合患者的醫(yī)療記錄進(jìn)行自動ICD編碼,但是他們的方法僅為每個(gè)醫(yī)療記錄分配一個(gè)ICD代碼。Franz P等人[5]在非結(jié)構(gòu)化的德語文本上針對醫(yī)療記錄采用了一種診斷記錄和ICD代碼一對一映射的方式進(jìn)行編碼,顯然這種方法與臨床實(shí)踐不符。Perotte A等人[6]使用“平面”和“分層”支持向量機(jī)結(jié)合MIMIC-II[3]數(shù)據(jù)集中的出院小結(jié)為患者自動分配ICD編碼,前者針對代碼單獨(dú)進(jìn)行預(yù)測,而后者僅在存在父親ICD代碼的情況下訓(xùn)練子代碼。Kavuluru R等人[7-8]針對肯塔基大學(xué)醫(yī)學(xué)中心的71 463條醫(yī)療記錄中的非結(jié)構(gòu)化文本,提出了一種無監(jiān)督的集成方法和一種基于臨床記錄的特征抽取和選擇方法,并結(jié)合排序算法實(shí)現(xiàn)多標(biāo)簽ICD自動編碼。Koopman B等人[9]使用一種級聯(lián)的支持向量機(jī),根據(jù)死亡報(bào)告識別與癌癥相關(guān)的死亡原因,模型的第一級根據(jù)ICD-10分類系統(tǒng)確定癌癥是否存在,第二級為患者自動分配具體的癌癥ICD代碼。Scheurwegs E等人[10]基于覆蓋度的特征選擇方法和隨機(jī)森林,并結(jié)合醫(yī)療記錄中的結(jié)構(gòu)化和非結(jié)構(gòu)化文本信息實(shí)現(xiàn)了ICD-9和ICD-10的自動編碼。早期工作通常使用有監(jiān)督的機(jī)器學(xué)習(xí)方法來進(jìn)行ICD編碼,忽略了文本的上下文依賴關(guān)系以及關(guān)鍵詞語的貢獻(xiàn),這樣的方式難以對高噪聲、高冗余的現(xiàn)代醫(yī)療記錄進(jìn)行自動ICD編碼。
隨著深度學(xué)習(xí)的發(fā)展,近期的許多方法將神經(jīng)網(wǎng)絡(luò)的架構(gòu)應(yīng)用到自動ICD編碼中[11]。Lipton Z C等人[12]利用長短期記憶網(wǎng)絡(luò)(LSTM)根據(jù)臨床測量的時(shí)間序列預(yù)測診斷代碼。Xu K等人[13]采用多種模態(tài)數(shù)據(jù)(包括非結(jié)構(gòu)化文本、半結(jié)構(gòu)化文本和結(jié)構(gòu)化表格數(shù)據(jù))構(gòu)建了一個(gè)包含卷積神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)和決策樹的混合系統(tǒng)來分配代碼。Shi H等人[14]利用字符感知的長短期記憶網(wǎng)絡(luò)生成書面診斷描述和ICD代碼的隱層向量表示,并設(shè)計(jì)了一種注意力機(jī)制來解決診斷描述與相應(yīng)代碼之間不匹配的問題。Xie P等人[15]引入序列樹長短期記憶網(wǎng)絡(luò)(Tree-LSTM)來表示ICD代碼的層次結(jié)構(gòu),并采用對抗網(wǎng)絡(luò)學(xué)習(xí)不同醫(yī)生的診斷記錄風(fēng)格的差異,最終將自動編碼轉(zhuǎn)換為語義匹配問題。Duarte F等人[16]利用門控循環(huán)單元(gated recurrent unit, GRU)和注意力機(jī)制,實(shí)現(xiàn)了對癌癥病人的死亡證明的自動ICD-10編碼。Prakash A等人[17]將維基百科作為知識來源,學(xué)習(xí)一種壓縮記憶神經(jīng)網(wǎng)絡(luò),以保留特征的層次結(jié)構(gòu),從而預(yù)測出現(xiàn)頻繁的前50個(gè)和前100個(gè)ICD代碼。Baumel T等人[18]使用具有標(biāo)簽依賴注意力機(jī)制的分層GRU模型對ICD代碼進(jìn)行分類,同時(shí)提供了可解釋的決策過程。Zeng M等人[19]使用在不同的醫(yī)療數(shù)據(jù)集中進(jìn)行遷移學(xué)習(xí)的方式,并引入多尺度卷積神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)較好的自動ICD編碼能力。Mullenbach J等人[2]僅使用MIMIC-III數(shù)據(jù)集的非結(jié)構(gòu)化文本將卷積神經(jīng)網(wǎng)絡(luò)與標(biāo)簽注意力機(jī)制結(jié)合在一起,實(shí)現(xiàn)了自動ICD編碼的最佳性能。
圖卷積神經(jīng)網(wǎng)絡(luò)主題最近受到越來越多的關(guān)注。許多研究者將成熟的神經(jīng)網(wǎng)絡(luò)模型(如適用于規(guī)則網(wǎng)格結(jié)構(gòu)的CNN)推廣到圖結(jié)構(gòu)中,以處理更復(fù)雜的結(jié)構(gòu)和保存全局信息[20-24]。在這些工作中,Kipf T N等人[24]提出了一種簡化的圖神經(jīng)網(wǎng)絡(luò)模型,即GCN,該模型在許多基準(zhǔn)圖數(shù)據(jù)集上達(dá)到了先進(jìn)的水平。近期,圖卷積神經(jīng)網(wǎng)絡(luò)還被用于文本分類任務(wù)中,Yao L等人[25]提出了一種文本圖卷積網(wǎng)絡(luò)(Text-GCN),使用單詞和文檔的on-hot向量進(jìn)行初始化,并聯(lián)合學(xué)習(xí)單詞和文檔的表征,以提高文本分類的效果。Peng H等人[26]提出了一種遞歸正則化的圖卷積網(wǎng)絡(luò),在單詞共現(xiàn)圖上進(jìn)行大規(guī)模的文本分類。Rois A等人[27]提出了一種利用GCN學(xué)習(xí)標(biāo)簽結(jié)構(gòu)化信息的方法,提高了在少樣本、零樣本情況下的自動ICD編碼的性能。Wang W等人[28]將GCN和變分自編碼器結(jié)合在一起,從而以統(tǒng)一的方式嵌入ICD代碼,同時(shí)引入多任務(wù)學(xué)習(xí)方法,提高了ICD編碼的預(yù)測能力。
在本節(jié)中,針對冗長且低質(zhì)量的臨床記錄和標(biāo)簽空間極其龐大且類別不平衡的ICD代碼,筆者提出了一種基于多尺度殘差圖卷積網(wǎng)絡(luò)(multi-scale residual graph convolution network,MSResGCN)的方法進(jìn)行自動ICD編碼。
與Mullenbach J等人[2]提出的方法類似,自動ICD編碼可以被視作基于臨床記錄的多標(biāo)簽文本分類問題。針對臨床記錄實(shí)例i的編碼可以被表示成將標(biāo)簽空間中的所有標(biāo)簽l∈L映射到y(tǒng)i,l∈{0,1}(yi,l=1表示將標(biāo)簽l分配給實(shí)例i)中。圖2展示了模型的架構(gòu),模型包含5個(gè)主要組件:詞向量查找層、特征抽取層、標(biāo)簽感知的注意力層、標(biāo)簽結(jié)構(gòu)抽取層和輸出層。首先通過詞向量查找層為臨床記錄和標(biāo)簽描述生成向量表示;其次,使用含有多個(gè)尺度的卷積模塊捕獲不同長度的文本模式,并通過殘差網(wǎng)絡(luò)擴(kuò)大接受域;接著,使用標(biāo)簽感知的注意力機(jī)制捕獲與每個(gè)ICD代碼最相關(guān)的n個(gè)連續(xù)出現(xiàn)的詞語(n-gram),以克服臨床記錄冗長的問題;最后,通過|L|個(gè)二元分類器為臨床記錄分配ICD代碼。
與先前的工作類似,使用gensim工具包在整個(gè)MIMIC-III數(shù)據(jù)集上預(yù)訓(xùn)練word2vec[29]詞嵌入向量其中N是詞表大小,de是預(yù)訓(xùn)練詞向量的維度。本文的模型將臨床記錄序列{w1,w2,…,wn}作為輸入,并通過詞向量查找層為臨床記錄生成文檔嵌入向量矩陣其中n是臨床記錄的序列長度。類似地,依據(jù)標(biāo)簽的文本描述序列{ wl1, wl2,… ,wln}(l∈L)為每個(gè)標(biāo)簽生成一個(gè)特征向量,以避免學(xué)習(xí)標(biāo)簽特定的參數(shù),從而緩解標(biāo)簽空間不平衡的問題。
其中,V表示所有標(biāo)簽的表征,vi表示第i個(gè)標(biāo)簽的特征,Ni表示第i個(gè)標(biāo)簽的文本描述索引集合,M表示所有ICD代碼集合,|M|表示M的勢。
本文在特征抽取層中設(shè)置了兩個(gè)組件:多尺度卷積層和殘差卷積層。由于每個(gè)編碼對應(yīng)的臨床記錄的n-gram的長度會隨著標(biāo)簽的改變而變化,多尺度卷積層可以使用多個(gè)不同尺度的一維卷積模塊捕獲多種長度的文本模式。接著通過殘差卷積層擴(kuò)大接受域,以捕獲更長的文本模式。圖3展示了特征抽取層的整體架構(gòu)。
3.3.1 多尺度卷積層
多尺度卷積層包含多個(gè)并行的不同尺度的一維卷積單元。假設(shè)擁有m個(gè)不同尺度的卷積核,它們對應(yīng)的尺寸分別為對于給定的臨床記錄輸入矩陣多尺度卷積操作可以被形式化地定義為:
其中,F(xiàn)((X,W1)表示對矩陣X進(jìn)行卷積操作,表 示 對應(yīng)的權(quán)重矩陣,dc表示每個(gè)卷積層的特征映射維度,s1,s2,.….,sm表示m種不同的卷積尺 度 ,為輸入矩陣X的子矩陣,分別表示臨床記錄文本的第j個(gè)到第j+s1-1個(gè)字符和第j個(gè)到第j+sm-1個(gè)字符的輸入矩陣。為了表達(dá)簡潔,在本文所有的計(jì)算式中忽略偏差。因?yàn)楣P者希望輸出矩陣可以保持輸入矩陣的行數(shù),所以對輸入矩陣進(jìn)行大小為(sm/2)的填充,并使用步幅為1的一維卷積操作Fi,i=1,2,…,m,最終的輸出為m個(gè)特征矩陣
3.3.2 殘差卷積層
殘差卷積層包含多個(gè)并行的殘差單元,將m個(gè)并行的殘差單元與多尺度卷積層中對應(yīng)的一維卷積單元相連,每個(gè)殘差單元的卷積核大小與對應(yīng)的一維卷積單元保持一致,即如圖4所示,每個(gè)殘差單元包含3個(gè)一維卷積單元,該單元可以通過擴(kuò)大接受域來捕獲更長的文本特征,并使用短路連接保證網(wǎng)絡(luò)性能不會下降。
接下來,以第k個(gè)尺度的卷積單元的輸出矩陣Xk為第k個(gè)殘差單元的輸入為例,將殘差單元形式化地定義為:
其中,Wki為殘差單元中第ki個(gè)卷積單元的權(quán)重矩陣,具體的每個(gè)殘差單元的輸出為其中d表示每個(gè)殘r差卷積層的特征映射維度。與多尺度卷積類似,采用相同的方式對輸入矩陣進(jìn)行填充,以保證輸出矩陣和臨床記錄矩陣的序列長度一致。殘差卷積層最終的輸出為所有殘差單元的拼接:
殘差單元可以通過擴(kuò)大接受域來捕獲更長的文本特征,并使用短路連接保證網(wǎng)絡(luò)性能不會下降。假設(shè)第k個(gè)單元的卷積核的寬度為sk=3,多核卷積單元的輸出Xk的接受域?yàn)?,即可以捕獲tri-gram的特征,殘差卷積單元第一層輸出Wk1可以捕獲5-gram的特征,第二層輸出Wk2可以捕獲7-gram的特征,短路操作可以保持原有特征,從而防止網(wǎng)絡(luò)退化。
與Mullenbach J等人[2]提出的工作類似,本文采用一種標(biāo)簽感知的注意力機(jī)制來克服臨床記錄中關(guān)鍵信息分散的問題。本文為每個(gè)ICD代碼都分配了一個(gè)注意力向量,以確保能夠捕捉到臨床記錄中所有與該ICD代碼相關(guān)的關(guān)鍵信息。與Mullenbach J等人[2]提出的工作不同的是,為了緩解標(biāo)簽不平衡的問題,本文將ICD代碼的表征作為權(quán)重矩陣,而不是學(xué)習(xí)一個(gè)特定注意力參數(shù)矩陣。
首先,將特征提取層的輸出矩陣Xres通過簡單的單層神經(jīng)網(wǎng)絡(luò)改變矩陣維度,以保證矩陣的第二維與標(biāo)簽向量的第二維一致:
由于ICD編碼擁有天然的樹狀層次結(jié)構(gòu)關(guān)系,可以通過GCN捕獲標(biāo)簽之間的依賴關(guān)系,以進(jìn)一步緩解標(biāo)簽不平衡的問題。針對標(biāo)簽l的向量表示vl,可以通過結(jié)合它的父標(biāo)簽和子標(biāo)簽的向量來更新,第k次更新vl如下:
根據(jù)標(biāo)簽感知的注意力層輸出的“ICD-文檔”注意力矩陣和標(biāo)簽結(jié)構(gòu)抽取層輸出的標(biāo)簽矩陣為臨床記錄分配類別,定義如下:
最后,通過最小化真實(shí)值yl與預(yù)測值的二元交叉熵?fù)p失函數(shù)來訓(xùn)練本文的模型:
下面在公開數(shù)據(jù)集MIMIC-III上對模型進(jìn)行驗(yàn)證。該數(shù)據(jù)集包含2001年至2012年在貝斯以色列女執(zhí)事醫(yī)療中心就診的49 583位患者的58 976次入院記錄。每條入院記錄都有出院總結(jié),包括病史、診斷結(jié)果、手術(shù)步驟、出院說明等,編碼員根據(jù)重要性和相關(guān)性從高到低的順序,為患者在住院期間發(fā)生的診斷和程序進(jìn)行編碼。根據(jù)患者ID分割數(shù)據(jù)集,以防止同一名患者同時(shí)出現(xiàn)在訓(xùn)練集和測試集中。表1是MIMIC-III數(shù)據(jù)切割與統(tǒng)計(jì)數(shù)據(jù),共有46 157條出院小結(jié)用于訓(xùn)練,3 280條和3 285條數(shù)據(jù)分別用于驗(yàn)證與測試。該數(shù)據(jù)集中一共包含8 922個(gè)ICD編碼,包括6 919個(gè)診斷編碼和2 003個(gè)程序編碼,其中訓(xùn)練集中包含8 579種不同的ICD代碼。
對于數(shù)據(jù)的預(yù)處理,本文將所有字符轉(zhuǎn)換為小寫并刪除純數(shù)字和符號,但不刪除類似于“50 mg”的字符,并將出現(xiàn)次數(shù)少于3次的字符替換為“UNK”標(biāo)記。遵循參考文獻(xiàn)[2]的設(shè)定,使用gensim工具以連續(xù)詞袋(CBOW)模型對訓(xùn)練集中的所有文本進(jìn)行word2vec[27]詞向量預(yù)訓(xùn)練,向量維度設(shè)置為100,窗口大小設(shè)置為5。同時(shí)由于醫(yī)療記錄過于冗長,本文將字符長度大于2 500的文本截?cái)啵员WC訓(xùn)練速度。
表1 MIMIC-III數(shù)據(jù)切割與統(tǒng)計(jì)數(shù)據(jù)
為了與之前的工作進(jìn)行比較,本文使用多種不同的評價(jià)指標(biāo)對模型進(jìn)行評價(jià),重點(diǎn)使用微平均值Micro-F1、宏平均值Marco-F1和ROC曲線下的面積(AUC)。Micro-F1是將每個(gè)“臨床記錄-ICD編碼”對作為單獨(dú)的預(yù)測來計(jì)算的,Marco-F1通過對每個(gè)類別計(jì)算的指標(biāo)取平均值而得到。本文還計(jì)算了在基準(zhǔn)值(ground truth)中出現(xiàn)的得分最高的前k個(gè)標(biāo)簽的比例,即P@k,在實(shí)驗(yàn)中k分別取8和15。
為了證明本文提出的模型的有效性,將提出的MSResGCN與目前最先進(jìn)的自動ICD編碼方法進(jìn)行了比較,包含傳統(tǒng)的機(jī)器學(xué)習(xí)方法邏輯回歸(LR)和3種深度學(xué)習(xí)方法Text-CNN[30]、CAML[2]和DRCAML[2]。
● Text-CNN[30]:該方法包含一個(gè)單層卷積神經(jīng)網(wǎng)絡(luò),沒有標(biāo)簽依賴的注意力機(jī)制,僅使用最大池化的方法提取所有ICD編碼的表示向量。
● CAML[2]和DR-CAML[2]:這兩個(gè)方法在MIMIC-III數(shù)據(jù)集上取得了最優(yōu)的分類效果。CAML使用Text-CNN進(jìn)行文檔表示學(xué)習(xí)。為了克服文檔過長的情況,Mullenbach J等人[2]提出了標(biāo)簽依賴的注意力機(jī)制,以學(xué)習(xí)每種特定代碼與臨床記錄最相關(guān)的n-gram。DR-CAML將標(biāo)簽表征作為損失函數(shù)的正則化項(xiàng)來增強(qiáng)CAML。他們假設(shè)ICD代碼的描述在語義上與輸入的文本片段相似,這些文本片段可以通過標(biāo)簽注意力機(jī)制來捕獲,DR-CAML通過Text-CNN提取標(biāo)簽描述表示形式,然后使用均方損失在ICD編碼向量表示和最終分類的權(quán)重之間進(jìn)行正則化。
本文所有實(shí)驗(yàn)均在一臺處理器為Intel(R)Xeon(R) Gold 5218 CPU@2.30 GHz、內(nèi)存大小為251 GB、GPU型號為Tesla V100-SXM2、顯存大小為32 GB的Centos7服務(wù)器上進(jìn)行。因?yàn)槟P偷某瑓?shù)較多,所以遵循Mullenbach J等人[2]的工作對一些超參數(shù)進(jìn)行設(shè)置,或者根據(jù)經(jīng)驗(yàn)選擇一些超參數(shù)。預(yù)訓(xùn)練詞向量的維度de為100,多尺度卷積層中每個(gè)卷積核輸出通道的尺寸dc為100,學(xué)習(xí)率為0.000 1,批大小(batchsize)為16,隨機(jī)失活率(dropout)為0.2,5個(gè)卷積核的大小s1, s2, …,s5分別為3、5、10、15、20,圖卷積神經(jīng)網(wǎng)絡(luò)的隱層大小為300,圖卷積層數(shù)為2。
本文在MIMIC-III數(shù)據(jù)集上對提出的模型MSResGCN與部分現(xiàn)有的自動ICD編碼方法進(jìn)行了比較。表2給出了所有模型在MIMIC-III數(shù)據(jù)集上的性能表現(xiàn)。從表2可以看出,本文提出的模型MSResGCN在所有指標(biāo)上都優(yōu)于之前的分類結(jié)果。與之前分類效果最好的模型CAML相比,MSResGCN在Micro-F1上提升了1.1%,在Marco-F1上提高了0.4%;在P@8上提高了0.8%,在P@15上提高了1.2%;同時(shí)在Micro-AUC上提高了0.4%,在Marco-AUC上提高了1.3%。從表2可以看出,LR在所有的指標(biāo)上都低于深度學(xué)習(xí)方法,這是因?yàn)榍罢呤褂玫氖莻鹘y(tǒng)的人工特征。除此之外,還可以看出,簡單的深度學(xué)習(xí)模型Bi-GRU和Text-CNN有相似的性能水平;CAML和DRCAML相較于除MSResGCN外的其他3種方法性能較好,CAML將Text-CNN與標(biāo)簽感知的注意力機(jī)制結(jié)合在一起,提高了抽取臨床記錄中關(guān)鍵信息的能力。MSResGCN使用多尺度的殘差卷積網(wǎng)絡(luò)來捕獲臨床記錄中不同長度的關(guān)鍵文本片段,同時(shí)對標(biāo)簽的層次結(jié)構(gòu)的融合學(xué)習(xí)使得MSResGCN在標(biāo)簽不平衡的情況下具有高于其他模型的性能。
下面通過設(shè)計(jì)消融實(shí)驗(yàn)來驗(yàn)證MSResGCN的每個(gè)組件的有效性。MSResGCN的主要貢獻(xiàn)是在CAML上擴(kuò)展了兩個(gè)重要的組件,分別是多尺度殘差卷積模塊和標(biāo)簽結(jié)構(gòu)抽取模塊。實(shí)驗(yàn)的具體設(shè)置如下。
● w/o-MSRes:使用單個(gè)尺度的卷積層代替多尺度殘差卷積模塊,即除了多尺度殘差卷積模塊,其他組件都與CAML保持一致,卷積核的長度被設(shè)置為最優(yōu)值10。
● w/o-GCN:刪除標(biāo)簽結(jié)構(gòu)抽取模塊,保持其他組件與CAML一致,即使用特定的參數(shù)矩陣代替標(biāo)簽向量計(jì)算標(biāo)簽注意力得分和最后的分類。
表3展示了消融實(shí)驗(yàn)的結(jié)果,在刪除多尺度殘差卷積模塊之后,多個(gè)指標(biāo)都有小幅度下降;在刪除標(biāo)簽結(jié)構(gòu)抽取模塊后,Marco-F1大幅下降,并且比CAML的Marco-F1低0.3%,同時(shí)AUC下降也較為明顯。由此可以看出,標(biāo)簽結(jié)構(gòu)抽取模塊有助于改善標(biāo)簽不平衡的問題,多尺度殘差卷積模塊可以捕獲更加豐富的關(guān)鍵文本片段。
表2 實(shí)驗(yàn)結(jié)果
表3 消融實(shí)驗(yàn)結(jié)果
考慮到數(shù)據(jù)的尺度對模型訓(xùn)練時(shí)間的影響,將訓(xùn)練集大小縮小為當(dāng)前數(shù)據(jù)集大小的20%、40%、60%、80%進(jìn)行訓(xùn)練。分別統(tǒng)計(jì)出訓(xùn)練時(shí)間為275 s/輪、541 s/輪、748 s/輪、1 135 s/輪。由此可以看出,隨著數(shù)據(jù)的增加,MSResGCN的訓(xùn)練時(shí)間呈線性增長趨勢,具有較好的擴(kuò)展性。
本文提出了一種用于自動ICD編碼的多尺度殘差卷積神經(jīng)網(wǎng)絡(luò)模型,使用多尺度殘差卷積網(wǎng)絡(luò)來適應(yīng)不同標(biāo)簽依賴的文本片段的長度,同時(shí)使用圖卷積神經(jīng)網(wǎng)絡(luò)改善了標(biāo)簽不平衡的問題。筆者在MIMICIII數(shù)據(jù)集上驗(yàn)證了本文方法的有效性。在接下來的工作中,筆者將考慮將更多的文本數(shù)據(jù)和模態(tài)信息進(jìn)行融合,以進(jìn)一步提升自動ICD編碼的質(zhì)量。