陳先來,賈一珍,安 瑩,唐紅英
(1.中南大學(xué) 大數(shù)據(jù)研究院,長沙 410083;2.中南大學(xué) 醫(yī)療大數(shù)據(jù)應(yīng)用技術(shù)國家工程研究中心,長沙 410083;3.中南大學(xué) 計算機學(xué)院,長沙 410083;4.中南大學(xué)湘雅醫(yī)院 臨床護理學(xué)教研室,長沙 410008)
胃癌是威脅人類健康的重要疾病之一,根據(jù)國際癌癥研究機構(gòu)(IARC)最新的研究結(jié)果顯示,2020年全球約有108 萬新發(fā)胃癌病例數(shù),位居全部惡性腫瘤第6 位,而在2012 年僅為95 萬[1],因此,全球胃癌的發(fā)病數(shù)呈上升趨勢。在我國胃癌屬于高發(fā)疾病,每年新發(fā)病例數(shù)約40 萬,死亡約35 萬,新發(fā)病例數(shù)與死亡病例數(shù)均占全世界胃癌病例數(shù)的40%以上。預(yù)計到2030 年,我國將有63 萬胃癌患者,胃癌死亡率將位居惡性腫瘤第3 位,成為重大的公共衛(wèi)生問題[2]。
在臨床診斷上,胃癌診斷的準確性依賴于胃鏡、X線造影、CT 等影像學(xué)方法和病理組織活檢。這些方法不僅價格昂貴,而且需要實踐經(jīng)驗豐富的醫(yī)務(wù)人員。該方法使患者感受到一定程度的痛苦,無法用于大規(guī)模人群的風(fēng)險篩查。因此,一種準確、便捷的胃癌篩查方法成為研究熱點。
隨著醫(yī)療信息化建設(shè)的不斷發(fā)展,在醫(yī)療活動中,每天都會積累大量的電子健康記錄(Electronic Health Record,EHR)數(shù)據(jù)。因此,基于EHR,利用機器學(xué)習(xí)方法對患者患病風(fēng)險進行分析和預(yù)警的相關(guān)技術(shù)逐漸得到研究人員的廣泛關(guān)注[3]。這類方法對患者身體沒有創(chuàng)傷。近年來,深度學(xué)習(xí)方法在數(shù)據(jù)挖掘與建模領(lǐng)域取得了顯著的進展,相關(guān)研究人員提出Deepr[4]、Dipole[5]、R-MeHPAN[6]等用于患者疾病風(fēng)險預(yù)測的模型。然而,這些方法都是針對通用的疾病風(fēng)險預(yù)測任務(wù),并不一定適合于胃癌風(fēng)險預(yù)測。在胃癌風(fēng)險預(yù)測領(lǐng)域中,大多數(shù)研究都基于病理或影像圖片進行預(yù)測,但是在臨床診斷中,這些數(shù)據(jù)的獲得需要付出較大的代價。此外,這些方法主要聚焦于某一類型的單一結(jié)構(gòu)化醫(yī)療數(shù)據(jù),未聯(lián)合胃癌診療過程中產(chǎn)生的大量多樣化醫(yī)療健康數(shù)據(jù)。
本文通過融合不同類型的數(shù)據(jù),從多個維度對胃癌風(fēng)險預(yù)測任務(wù)進行建模,提出基于多類型異構(gòu)數(shù)據(jù)的胃癌風(fēng)險預(yù)測模型??紤]到不同結(jié)構(gòu)數(shù)據(jù)之間的差異性,采用預(yù)訓(xùn)練語言模型對入院記錄文本數(shù)據(jù)進行特征提取,通過降噪自動編碼器(Denoising Auto-Encoder,DAE)提取實驗室檢驗數(shù)據(jù)的特征,并將提取的兩個特征相融合。此外,通過對低維度的結(jié)構(gòu)化數(shù)據(jù)向量表示的維度進行擴增,以避免低維度的特征表示被維度更高的特征淹沒。
臨床輔助決策系統(tǒng)是利用規(guī)則庫、機器學(xué)習(xí)等技術(shù)為臨床醫(yī)師提供決策支持的計算機系統(tǒng),早期的研究主要基于規(guī)則和知識進行推理的專家系統(tǒng)。這類方法簡單便利,但是需要大量的人工操作來構(gòu)建相應(yīng)的規(guī)則。隨著機器學(xué)習(xí)方法的不斷發(fā)展,研究人員圍繞胃癌的風(fēng)險預(yù)測,以海量醫(yī)療數(shù)據(jù)驅(qū)動,結(jié)合機器學(xué)習(xí)和深度學(xué)習(xí)技術(shù),積極開展研究工作。文獻[7]使用決策樹構(gòu)建胃癌患者臨床信息分析模型,主要從醫(yī)院信息系統(tǒng)(Hospital Information System,HIS)中提取與患者胃癌術(shù)后復(fù)發(fā)有關(guān)的數(shù)據(jù),構(gòu)建胃癌術(shù)后復(fù)發(fā)危險因素分析模型,從而改善胃癌的診療效果。文獻[8]提出一種利用本體進行關(guān)聯(lián)規(guī)則發(fā)現(xiàn)的新方法,解決了結(jié)果集含有大量無意義和冗余規(guī)則的問題,從而縮短Aprior 算法的運行時間。文獻[9]使用分層賦時著色Petri 網(wǎng)對胃癌的診療過程進行建模,通過模擬不同臨床狀態(tài)與需求的患者,設(shè)計最佳診療方案,為診療提供決策支持。
深度學(xué)習(xí)技術(shù)的發(fā)展給胃癌的早期篩查和臨床診療帶來了新的思路,依托各類醫(yī)療影像數(shù)據(jù)進行胃癌篩查的相關(guān)研究層出不窮。文獻[10]使用視覺幾何組(Visual Geometry Group,VGG)-16 構(gòu)建深度預(yù)測模型,以鑒別內(nèi)窺鏡圖像是否為早期胃癌圖像。文獻[11]設(shè)計基于臨床內(nèi)窺鏡成像數(shù)據(jù)的胃腸人工智能診斷系統(tǒng),用于診斷上消化道癌癥,在來自6 家醫(yī)院的多中心對照數(shù)據(jù)集上的實驗結(jié)果表明,該系統(tǒng)與內(nèi)窺鏡醫(yī)師的診斷靈敏度相似,有助于社區(qū)醫(yī)院提高上消化道癌癥診斷的準確率。文獻[12]提出基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的模型,對腫瘤浸潤淋巴細胞進行檢測,具有較高的準確率。文獻[13]使用來自某三甲醫(yī)院的1 885 張胃鏡圖片,基于ResNet50 和VGG-16 模型構(gòu)建3個單獨的二元分類模型并進行對比實驗,結(jié)果表明,該模型能夠較早地發(fā)現(xiàn)潰瘍病灶,有助于臨床輔助潰瘍病灶檢出并鑒別良惡性潰瘍。文獻[14]設(shè)計了計算機輔助診斷系統(tǒng)來幫助內(nèi)窺鏡醫(yī)師識別放大窄帶成像(M-NBI)圖像中的早期胃癌病例,該系統(tǒng)還能篩選出含有癌癥的關(guān)鍵區(qū)域。文獻[15]提出一種基于Ada Boost 的多列卷積神經(jīng)網(wǎng)絡(luò)(MCNN)和智能連接電子胃鏡系統(tǒng),實現(xiàn)了胃癌的動態(tài)智能篩查。研究人員提出一種基于多尺度輸入的深度學(xué)習(xí)模型MIFNet,通過將多尺度圖像和特征相融合[16],進一步提高胃癌病理圖像分割的準確性,對臨床輔助診斷具有重要意義。
這些研究在一定程度上提高了胃癌篩查的準確率和覆蓋率,但是仍然存在一些不足。一方面,這些方法主要聚焦于某一類型的單一結(jié)構(gòu)化醫(yī)療數(shù)據(jù),沒有聯(lián)合臨床胃癌診療過程中產(chǎn)生大量的多樣化醫(yī)療健康數(shù)據(jù),容易遺漏部分信息;另一方面,基于機器學(xué)習(xí)和數(shù)據(jù)挖掘方法的預(yù)測模型往往受限于特征工程和算法自身的不足,嚴重依賴于人工的特征工程,導(dǎo)致模型泛化能力弱。除此之外,現(xiàn)有基于深度學(xué)習(xí)的篩查模型只能依賴于某些機構(gòu)提供的少量單維度數(shù)據(jù)。
深度學(xué)習(xí)可以在更高維度上對數(shù)據(jù)進行抽象和建模,從而發(fā)現(xiàn)數(shù)據(jù)中潛在的規(guī)律。臨床醫(yī)療數(shù)據(jù)的顯著特點是多樣性,即臨床醫(yī)療數(shù)據(jù)包含各種方式收集的結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù)[17]。受病理學(xué)家在實際臨床診斷中的啟發(fā),研究人員提出融合多源異構(gòu)數(shù)據(jù)的疾病風(fēng)險預(yù)測方法,這些方法具有比單一類型結(jié)構(gòu)的數(shù)據(jù)更優(yōu)異的性能。文獻[18]結(jié)合腫瘤蛋白表達、病理圖像和拷貝數(shù),提出基于深度學(xué)習(xí)的癌癥患者生存期預(yù)測模型。文獻[19]提出一種疊加網(wǎng)絡(luò)的魯棒集成深度學(xué)習(xí)模型,可以融合五類多模態(tài)時間序列和一組背景信息,通過對多個變量進行聯(lián)合預(yù)測,在多類遞進和回歸任務(wù)中都具有優(yōu)異的性能。
雖然上述方法均具有優(yōu)異的性能,但是每類數(shù)據(jù)都具有自身獨特的特征,導(dǎo)致不同類型的數(shù)據(jù)特征之間難以良好融合。例如,文本、圖像等非結(jié)構(gòu)化的數(shù)據(jù)通常具有高維的特征表示,而結(jié)構(gòu)化數(shù)據(jù)的維度較低,如何將兩者有效集成會極大影響預(yù)測模型的性能。根據(jù)融合級別,融合方法可以分為數(shù)據(jù)融合、特征融合和決策融合[20]。在融合前每個模態(tài)的信息損失越小,信息融合越可靠,信息融合的結(jié)果就越好[21]。實驗結(jié)果表明,每個模態(tài)的信息,特別是信息豐富的高維模式,應(yīng)該在融合前盡可能完整,然后在初始融合后將維度降低到期望的水平,這樣的融合才能夠有效地捕捉多模態(tài)異構(gòu)數(shù)據(jù)的復(fù)雜關(guān)聯(lián)關(guān)系。目前,大多數(shù)數(shù)據(jù)融合是圖像以及文本[22-23]的融合。然而,這些數(shù)據(jù)都是高維的,很少有研究涉及到低維結(jié)構(gòu)化數(shù)據(jù)與高維非結(jié)構(gòu)化數(shù)據(jù)的融合。
自動編碼器是一種無監(jiān)督的機器學(xué)習(xí)算法,廣泛應(yīng)用于數(shù)據(jù)降維。在現(xiàn)有的研究中,很少使用自動編碼器或其變體來改進數(shù)據(jù)的維度。降噪自動編碼器是在自動編碼器的輸入中添加隨機噪聲,使解碼器部分恢復(fù)出真正的原始數(shù)據(jù)。因此,DAE 能夠?qū)W習(xí)到原始輸入數(shù)據(jù)中魯棒性更優(yōu)的特征表示。在本文構(gòu)建的模型中,利用降噪自動編碼器來擴展結(jié)構(gòu)化數(shù)據(jù)的維度,以避免在早期過程中丟失高維特征的部分信息,能夠更高效、全面地捕獲電子病歷數(shù)據(jù)中的特征信息,實現(xiàn)更優(yōu)的預(yù)測性能。
近年來,研究人員提出許多用于胃癌風(fēng)險預(yù)測的深度學(xué)習(xí)模型,但是這些模型多聚焦于某一類數(shù)據(jù),沒有聯(lián)合臨床診療過程中產(chǎn)生的多種醫(yī)療健康數(shù)據(jù),可能造成某些信息的遺漏。為了融合不同類型結(jié)構(gòu)的數(shù)據(jù),從更全面的角度對患者的患病風(fēng)險進行預(yù)測,本文提出一種用于胃癌風(fēng)險預(yù)測的多類型數(shù)據(jù)融合深度學(xué)習(xí)模型,該模型分為文本數(shù)據(jù)處理模塊、結(jié)構(gòu)化數(shù)據(jù)處理模塊以及特征融合模塊,分別對應(yīng)EHR 數(shù)據(jù)中不同的數(shù)據(jù)類型。本文模型的整體架構(gòu)如圖1 所示。
圖1 本文模型結(jié)構(gòu)Fig.1 Structure of the proposed model
文本數(shù)據(jù)處理模塊利用預(yù)訓(xùn)練語言模型對EHR記錄中的入院記錄進行建模,建模時主要使用入院記錄中的主訴和現(xiàn)病史部分,主訴部分記錄了患者入院時的主要癥狀,現(xiàn)病史部分是對患者疾病的發(fā)展狀況和已經(jīng)進行的治療手段的簡要描述,這些內(nèi)容包含大量重要的信息。結(jié)構(gòu)化數(shù)據(jù)處理模塊基于DAE 對結(jié)構(gòu)化的實驗室檢驗數(shù)據(jù)進行特征抽取,由于結(jié)構(gòu)化數(shù)據(jù)的維度遠低于文本數(shù)據(jù),在模型中加入降噪自動編碼器對結(jié)構(gòu)化數(shù)據(jù)的向量表示的維度擴增到適當?shù)某潭龋詈髮Λ@得的向量進行拼接,從而實現(xiàn)患病風(fēng)險預(yù)測。
來自入院記錄中的主訴和現(xiàn)病史描述了疾病的主要癥狀和發(fā)展過程,其中包含大量關(guān)鍵信息。采用適當?shù)乃惴ㄌ崛∵@些記錄中的關(guān)鍵信息,有助于對患者的患病風(fēng)險進行預(yù)測。但是由于醫(yī)療數(shù)據(jù)的匱乏,傳統(tǒng)的word2vec、Glove 等文本表示方法無法獲得準確的向量表示?;谶w移學(xué)習(xí)的預(yù)訓(xùn)練語言模型經(jīng)過大規(guī)模數(shù)據(jù)集的預(yù)訓(xùn)練,在小樣本上經(jīng)過微調(diào)后便能達到較優(yōu)的領(lǐng)域表示效果。在自然語言處理(Natural Language Processing,NLP)任務(wù)中,基于大型語料庫的預(yù)訓(xùn)練語言模型可以學(xué)習(xí)到通用的語言表示,以避免從頭開始訓(xùn)練新的模型[24],例如BERT[25]、ELMO、XLNet 等。BERT 模型結(jié)構(gòu)如圖2所示。
圖2 BERT 模型結(jié)構(gòu)Fig.2 Structure of BERT model
文本數(shù)據(jù)通過WordPiece 方法嵌入后用于模型的輸入。此外,為了獲取不同字之間的序列信息和完成NSP 預(yù)訓(xùn)練任務(wù),BERT 模型還加入了句子嵌入和位置嵌入信息,將以上3 個嵌入向量相加后經(jīng)過若干個Transformer 編碼器來得到相應(yīng)的輸出。
Transformer 編碼器是基于多頭自注意力(Multihead Self-attention)機制的seq2seq 結(jié)構(gòu),BERT 使用了其中的Encoder 部分。多頭自注意力機制是由多個自注意力向量拼接構(gòu)成,使模型從不同表征子空間中獲取更多層面的特征,從而捕獲句子全面的上下文信息。假設(shè)嵌入后的文本向量,其中,n為文本的最大長度,k為文本的嵌入維度,則按照式(1)分別計算得到Query、Key 和Value 向量:
其中:Q、K和V分別表示Query、Key 和Value 向量;WQ、WK、WV表示參數(shù)矩陣。單個自注意力計算如式(2)所示:
其中:dk表示神經(jīng)網(wǎng)絡(luò)的隱藏層單元數(shù);表示對注意力的值進行調(diào)整,避免其過大。多頭自注意力機制是由多個自注意力并行計算后合并得到。其中head,即自注意力的個數(shù)是人為設(shè)置的超參數(shù)。整體過程的計算如式(3)所示:
其中:Wo表示附加的權(quán)重矩陣;concat()表示拼接函數(shù)。
為了增強語義的表達能力,BERT 模型采用遮蔽語言模型(Masked Language Model,MLM)和句對預(yù)測(Next Sentence Prediction,NSP)兩個預(yù)訓(xùn)練任務(wù)對模型進行預(yù)訓(xùn)練。MLM 任務(wù)是給定一個句子,隨機掩蓋其中的部分詞,利用剩余部分信息預(yù)測掩蓋的詞。該任務(wù)使得BERT 模型實現(xiàn)深度的雙向表示。NSP 任務(wù)是給定一篇文章中的兩個句子,判斷第二個句子是否是第一個句子的下一句,使得BERT模型學(xué)習(xí)到兩個句子之間的關(guān)系。
為了進一步減少模型的參數(shù)量和優(yōu)化預(yù)測性能,研究人員提出BERT 的優(yōu)化版本,例如,F(xiàn)acebook提出RoBERTa[26],針對BERT 的預(yù)訓(xùn)練任務(wù),提出動態(tài)掩蓋方案,取消了NSP 任務(wù)和采用更大的批次大小,在多個測評基準上取得了較優(yōu)BERT 結(jié)果。斯坦福大學(xué)聯(lián)合谷歌發(fā)布的ELECTRA[27],將一個小版本的BERT 作為生成器,采用對抗訓(xùn)練的方法對被掩蓋的詞進行預(yù)測,使用判別器對每個字是否被替換進行判別,得到了更強的擬合能力。RoBERTa是BERT 的進一步強化版,而ELECTRA 是目前性能最優(yōu)的預(yù)訓(xùn)練語言模型。
在本文提出的文本數(shù)據(jù)處理模塊中,分別采用BERT、RoBERTa 和ELECTRA 三種模型提取入院記錄文本信息。其中,每個模型都有多個不同的預(yù)訓(xùn)練版本,較“輕”的版本具有更少的參數(shù)量,訓(xùn)練時間較短,但是對文本信息的提取能力較差;而較“重”的版本則相反。綜合考慮各因素,在本文的文本數(shù)據(jù)處理模塊中,BERT 選擇使用由谷歌發(fā)布的Base 版本模型,RoBERTa 選擇由哈工大與科大訊飛聯(lián)合實驗室公布的Base_ext 版本模型,ELECTRA 選擇哈工大與科大訊飛聯(lián)合實驗室公布的Base 版本模型。
文獻[28]的研究結(jié)果表明,當維度差異較大的數(shù)據(jù)直接融合時,低維度的信息將被高維度的信息淹沒。在胃癌風(fēng)險預(yù)測任務(wù)中,結(jié)構(gòu)化數(shù)據(jù)的向量維度遠小于文本數(shù)據(jù)嵌入后的向量維度,為了避免其被高維的文本數(shù)據(jù)表示向量淹沒,需要將結(jié)構(gòu)化數(shù)據(jù)的向量表示維度調(diào)整到與文本數(shù)據(jù)的向量表示維度相當?shù)乃?。若在?shù)據(jù)融合前對高維的文本信息進行降維,會丟失部分信息。因此,通過擴增結(jié)構(gòu)化數(shù)據(jù)向量表示維度的方法來避免輸入模型的信息失真。本文使用改進的降噪自動編碼器來達到上述目的。DAE 是一種無監(jiān)督的機器學(xué)習(xí)模型,其輸出是對輸入的重構(gòu)。此外,DAE 的輸入是經(jīng)過擾動之后的原始數(shù)據(jù),使得模型學(xué)習(xí)到魯棒性更優(yōu)的特征表示,避免通過簡單的函數(shù)映射來重建數(shù)據(jù)。同時,來自臨床的電子病歷數(shù)據(jù)還存在大量的缺失數(shù)據(jù),DAE 可以降低缺失數(shù)據(jù)對預(yù)測結(jié)果的影響。
為了適應(yīng)擴增向量維度的需求,本文對傳統(tǒng)的DAE結(jié)構(gòu)進行改進。改進的DAE 結(jié)構(gòu)如圖3 所示。
圖3 改進的降噪自動編碼器結(jié)構(gòu)Fig.3 Structure of improved denoising auto-encoder
為了增加數(shù)據(jù)的維度,本文將隱藏層的節(jié)點數(shù)設(shè)置為大于輸入層的數(shù)目,并添加dropout 層,采用隨機丟失原始輸入中一部分數(shù)據(jù)的方式來實現(xiàn)DAE對模型數(shù)據(jù)加入噪聲的機制。此外,為了進一步增強網(wǎng)絡(luò)的稀疏性,本文還使用正則化技術(shù)。模型的計算如式(4)所示:
其中:x為原始輸入的結(jié)構(gòu)化數(shù)據(jù);為添加噪聲后的模型輸入數(shù)據(jù);W、b為模型參數(shù)。在編碼器部分學(xué)習(xí)非線性變換f(·)并將輸入轉(zhuǎn)換為其隱藏向量hz。在解碼器部分通過另一個非線性變換g(·)來重建原始輸入x。本文使用L1 正則化解決復(fù)雜度和過擬合問題。整體的損失函數(shù)如式(5)所示:
其中:xi為原始輸入數(shù)據(jù);yi為解碼器重建的結(jié)果;w為模型參數(shù);λ為正則化系數(shù)。
對于文本數(shù)據(jù),預(yù)訓(xùn)練語言模型將每條入院記錄轉(zhuǎn)換為高維向量的特征表示。同時,為確保不同的數(shù)據(jù)可以在相同的尺度上被融合,結(jié)構(gòu)化數(shù)據(jù)處理模塊將維度較低的結(jié)構(gòu)化數(shù)據(jù)擴增到較高的維度進行特征表示,在得到每種類型數(shù)據(jù)的向量表示之后,一般而言,有多種進行向量融合的方法,例如相加、相乘、拼接等。由于向量拼接方式能夠最大程度地保留不同向量中的信息,因此本文選擇拼接方式作為特征融合方法。通過三個全連接層對向量進行適當壓縮,利用帶有sigmoid 激活函數(shù)的神經(jīng)網(wǎng)絡(luò)層對患者的胃癌風(fēng)險進行判斷,其過程如式(6)所示:
其中:Sn、Tm分別為結(jié)構(gòu)化數(shù)據(jù)和文本數(shù)據(jù)的向量表示;n、m為它們的維度;concat()為向量拼接;f(·)為最后一層帶有sigmoid 激活函數(shù)的全連接層;y為模型的預(yù)測結(jié)果;W、b為模型參數(shù)。
本文模型分為三個階段進行訓(xùn)練。首先,針對文本數(shù)據(jù)處理模塊中的預(yù)訓(xùn)練語言模型,單獨使用患者的入院記錄文本進行訓(xùn)練;然后,單獨使用患者的實驗室檢驗數(shù)據(jù)對結(jié)構(gòu)化數(shù)據(jù)處理模塊中的DAE進行訓(xùn)練,同時采用較高的學(xué)習(xí)率以幫助模型盡快收斂;最后,使用DAE 的編碼器和訓(xùn)練好的預(yù)訓(xùn)練語言模型的權(quán)重對整個模型進行初始化,在較低學(xué)習(xí)率下對整個模型進行微調(diào)。
本文使用的數(shù)據(jù)來源于多所三甲醫(yī)院,收集了近10 年消化科42 318 位患者的EHR 數(shù)據(jù)。本文未獲取原始電子病歷中涉及個人隱私的信息,例如患者姓名、住院號碼、身份證號碼等。此外,由于EHR數(shù)據(jù)存在冗余、缺失等問題,因此剔除了部分缺失率過高的記錄和字段,對冗余記錄進行去重處理。本文抽取這些患者的入院記錄、病案首頁與實驗室檢驗記錄,其中,入院記錄主要包含患者的基本信息、主訴、現(xiàn)病史、個人史、體格檢查等內(nèi)容,采用正則表達式、字符匹配等方法提取入院記錄中的主訴和現(xiàn)病史部分,并且對空格、換行等字符進行清理。對于實驗室檢驗,本文按照檢驗項目繪制箱形圖以剔除異常值。由于不同檢驗項目的數(shù)據(jù)分布差異極大,因此采取Q3+10IQR 和Q1-10IQR 作為異常值閾值。為避免發(fā)生誤刪,本文對異常值占比超過10%的檢驗項目進行人工核查。經(jīng)過上述篩選過程,最終獲得性別、年齡等5 項人口學(xué)數(shù)據(jù)以及酮體、膽紅素、血紅蛋白等93 項實驗室檢驗指標。
本文共獲得18 390 份有效電子病歷數(shù)據(jù),其中3 565 份數(shù)據(jù)為正例。為了保證數(shù)據(jù)集的平衡性,本文使用欠采樣方法對數(shù)據(jù)集進行平衡,最終獲得7 165 份電子病歷數(shù)據(jù),其中包含胃癌患者記錄3 565 份,非胃癌患者記錄3 600 份。
本文所提出的模型基于Python 3.8 編程語言,采用Keras 2.3 以及TensorFlow 2.1 工具包進行實現(xiàn)。為進一步優(yōu)化模型,在不同的訓(xùn)練階段采用不同的參數(shù)設(shè)置,具體如表1 所示。
表1 本文模型的訓(xùn)練參數(shù)Table 1 Training parameters of the proposed model
在表1 中,Learning Rate 是模型的初始學(xué)習(xí)率,λ是正則化層的正則化率,maxlen 是輸入的最大文本長度,NDAE和NFC是相應(yīng)隱藏層的神經(jīng)元數(shù)量。此外,本文還使用動態(tài)學(xué)習(xí)率和dropout 策略,其中,動態(tài)學(xué)習(xí)率策略設(shè)定從第10 輪開始學(xué)習(xí)率每輪下降20%。用于實驗的數(shù)據(jù)集按照6∶2∶2 的比例劃分為訓(xùn)練集、驗證集和測試集,每個實驗都使用五折交叉驗證來保證實驗結(jié)果的穩(wěn)定性。整個模型分為3 個階段進行訓(xùn)練,首先,使用結(jié)構(gòu)化數(shù)據(jù)單獨訓(xùn)練DAE,然后,在分類任務(wù)中使用文本數(shù)據(jù)對預(yù)訓(xùn)練語言模型進行訓(xùn)練,最后,將兩個模型合并在一起,使用較低的學(xué)習(xí)率進行訓(xùn)練。
本文采用在分類任務(wù)中廣泛使用的評價指標對模型性能進行評價,包括準確率(AAccuracy)、精確率(P)、召回率(R)、F1 值以及AUC。各指標的計算如式(7)~式(10)所示:
其中:TTP為預(yù)測正確的正例數(shù);TTN為預(yù)測正確的負例數(shù);FFP為預(yù)測錯誤的正例數(shù);FFN為預(yù)測錯誤的負例數(shù)。
3.4.1 不同文本數(shù)據(jù)處理模塊的性能分析
本文采用3.1 節(jié)描述的數(shù)據(jù)集對常見的預(yù)訓(xùn)練語言模型進行測試,并與文本處理方法進行對比,主要包括傳統(tǒng)的機器學(xué)習(xí)模型,例如,支持向量機(Support Vector Machine,SVM)、邏輯回歸(Logistic Regression,LR)、樸素貝葉斯(Naive Bayes,NB)以及常見的深度學(xué)習(xí)模型(如TextCNN、BiLSTM)。不同模型的預(yù)測結(jié)果對比如表2 所示。
表2 不同模型的預(yù)測結(jié)果對比Table 2 Prediction results comparison among different models
SVM、LR、NB 表示全部使用相應(yīng)的模型對患者的實驗室檢驗記錄和入院記錄文本進行處理得到的預(yù)測結(jié)果。TextCNN+DAE、BiLSTM+DAE 表示相應(yīng)的模型作為文本數(shù)據(jù)處理模塊,使用DAE 作為結(jié)構(gòu)化數(shù)據(jù)處理模塊得到的預(yù)測結(jié)果。本文模型(BERT)、本文模型(RoBERTa)、本文模型(ELECTRA)分別表示使用BERT、RoBERTa 和ELECTRA 預(yù)訓(xùn)練語言模型作為文本數(shù)據(jù)處理模塊,使用DAE 作為結(jié)構(gòu)化數(shù)據(jù)處理模塊得到的預(yù)測結(jié)果。
從表2 可以看出,經(jīng)典機器學(xué)習(xí)模型中SVM 取得了0.929 333 的準確率,但仍然低于預(yù)訓(xùn)練語言模型中表現(xiàn)最差的BERT 的準確率0.945 29。這是因為機器學(xué)習(xí)方法只能基于給定的規(guī)則對數(shù)據(jù)進行擬合,難以學(xué)習(xí)到不同結(jié)構(gòu)數(shù)據(jù)之間的潛在關(guān)聯(lián)關(guān)系,而預(yù)訓(xùn)練語言模型可以對入院記錄中的文本特征進行更好的表征,再加上DAE 和特征融合模塊可以挖掘到不同結(jié)構(gòu)數(shù)據(jù)間的關(guān)聯(lián)關(guān)系,更充分地提取患者EHR數(shù)據(jù)中的特征。在深度學(xué)習(xí)模型中,BiLSTM+DAE效果較差,準確率只有0.915 282,而TextCNN+DAE表現(xiàn)較好,準確率達到了0.940 265,這表明單純的序列模型并不適合對醫(yī)療文本進行建模,卷積模型反而能取得較好的效果。但是它們的表現(xiàn)均低于預(yù)訓(xùn)練語言模型,其中,本文模型(ELECTRA)的準確率高達0.949 337,這主要得益于ELECTRA 創(chuàng)新性的對抗訓(xùn)練方法及其對預(yù)訓(xùn)練任務(wù)的改進。
3.4.2 不同類型數(shù)據(jù)下的性能分析
為進一步對比本文所提出的模型在不同類型數(shù)據(jù)下的性能,本文分別測試了不同模型在僅使用文本數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)以及聯(lián)合使用情況下的準確率,對比結(jié)果如圖4 所示。
圖4 在使用文本數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)以及融合數(shù)據(jù)的情況下不同模型的準確率對比Fig.4 Accuracy comparison among different models in the case of using only text data,structured-data and fusion data
不同花紋的條柱分別表示各個模型僅使用入院記錄文本、實驗室檢驗數(shù)據(jù)以及將這兩種類型的數(shù)據(jù)融合后的預(yù)測結(jié)果。從圖4 可以看出,除NB 外,其他模型使用融合數(shù)據(jù)都取得了優(yōu)于使用單一類型數(shù)據(jù)的預(yù)測性能,其原因為來源于電子病歷的不同結(jié)構(gòu)的數(shù)據(jù)都有其特有的信息,只有融合更多的信息才能取得更優(yōu)的預(yù)測效果,進一步表明使用多源異構(gòu)數(shù)據(jù)有助于提升胃癌預(yù)測的準確性。在不同模型中,除BiLSTM 之外,基于文本數(shù)據(jù)的預(yù)測結(jié)果均要優(yōu)于基于結(jié)構(gòu)化數(shù)據(jù)的預(yù)測結(jié)果,其原因為患者入院記錄中含有更加詳細和有用的信息,在一定程度上表明文本記錄在患者風(fēng)險預(yù)測任務(wù)中的重要性。
3.4.3 DAE 與預(yù)訓(xùn)練策略的價值分析
為進一步驗證預(yù)訓(xùn)練策略的優(yōu)勢,不同模型未使用和使用不同預(yù)訓(xùn)練策略的準確率對比如圖5所示。
圖5 不同模型使用和未使用預(yù)訓(xùn)練策略的預(yù)測準確率對比Fig.5 Prediction accuracy comparison among different models with and without pretraining strategies
在圖5 中,NoPretrain 表示未單獨對文本數(shù)據(jù)處理模塊進行訓(xùn)練,Pretrain1 和Pretrain2 表示在最后的訓(xùn)練階段分別使用1e-5 和1e-6 作為初始學(xué)習(xí)率進行訓(xùn)練。從圖5 可以看出,不論使用何種初始學(xué)習(xí)率,使用預(yù)訓(xùn)練策略的模型準確率均要優(yōu)于未進行預(yù)訓(xùn)練的模型,這表明本文提出的預(yù)訓(xùn)練策略能夠有效提高模型的性能。
在使用和未使用DAE 的情況下,不同模型的準確率對比如圖6 所示。圖6 使用普通的多層感知機代替DAE,以及在最后的訓(xùn)練階段分別使用1e-5 和1e-6 作為初始學(xué)習(xí)率進行訓(xùn)練,分別標注為NoDAE、Pretrain1、Pretrain2。從圖6 可以看出,模型使用DAE 能夠有效提高預(yù)測性能。此外,當使用較低的初始學(xué)習(xí)率(Pretrain2)時,RoBERTa 和ELECTRA 模型的預(yù)測性能較優(yōu),這是由于較低的學(xué)習(xí)率能夠幫助梯度下降算法避免錯過最優(yōu)解,使得模型學(xué)習(xí)到更合適的參數(shù)。
圖6 不同模型使用和未使用降噪自動編碼器的準確率對比Fig.6 Accuracy comparison among different models with and without denoising auto-encoder
針對基于單一結(jié)構(gòu)數(shù)據(jù)的預(yù)測模型難以全面對患者的患病風(fēng)險進行準確預(yù)測的問題,本文提出融合結(jié)構(gòu)化數(shù)據(jù)與文本數(shù)據(jù)的胃癌篩查預(yù)測模型。通過結(jié)合患者診療過程中產(chǎn)生的實驗室檢驗數(shù)據(jù)與入院記錄文本數(shù)據(jù),同時對低維度的結(jié)構(gòu)化數(shù)據(jù)向量表示的維度進行擴增。實驗結(jié)果表明,相比傳統(tǒng)的機器學(xué)習(xí)模型和深度學(xué)習(xí)模型,本文模型具有較優(yōu)的預(yù)測性能,為開展大規(guī)模人群的胃癌風(fēng)險篩查提供技術(shù)支持。后續(xù)將通過引入更多類型的電子健康記錄數(shù)據(jù),并將其與知識圖譜技術(shù)相融合,為醫(yī)生和患者提供更加詳細的分類預(yù)測結(jié)果。