董麗麗,程 炯,張 翔,葉 娜
西安建筑科技大學(xué) 信息與控制工程學(xué)院,西安 710055
在大數(shù)據(jù)的推動下,醫(yī)療診斷不斷朝著智能化方向發(fā)展,借助人工智能技術(shù)可以實現(xiàn)對醫(yī)療數(shù)據(jù)的挖掘與分析。目前,深度學(xué)習(xí)在疾病診斷領(lǐng)域中已取得較好的成果,如Coudray 等[1]通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)來預(yù)測肺癌、腺癌中10 個常見的突變基因,其預(yù)測突變基因模型的準(zhǔn)確率為0.733~0.856;Tsehay 等[2]提出使用基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)架構(gòu)識別前列腺癌,通過獲得結(jié)構(gòu)化的高抽象映射使得疾病分類更準(zhǔn)確;Esteva等[3]構(gòu)建了能自主檢測和分類皮膚癌的深度學(xué)習(xí)模型;Camps等[4]提出使用腰部佩戴式測量單元和深度學(xué)習(xí)算法預(yù)測帕金森病。然而深度學(xué)習(xí)作為一種數(shù)據(jù)驅(qū)動技術(shù),依賴于大樣本標(biāo)記數(shù)據(jù),其采用自動提取特征的方法雖提高了效率,但往往缺乏醫(yī)生專家診斷的經(jīng)驗和知識,其結(jié)果無法發(fā)現(xiàn)隱含的疾病與癥狀間的關(guān)聯(lián)關(guān)系。
與此同時,當(dāng)前人類社會也已積累大量知識,特別是近幾年在知識圖譜技術(shù)的推動下,這類蘊含大量疾病知識與癥狀特征的醫(yī)學(xué)知識圖譜不斷被構(gòu)建,如IBM 的Watson Health[5]、上海曙光醫(yī)院的中醫(yī)藥知識圖譜[6]、搜狗的AI 醫(yī)學(xué)科普知識圖譜[7]和華東理工大學(xué)構(gòu)建的中文癥狀庫等,其在醫(yī)學(xué)知識檢索與醫(yī)療文本挖掘中受到關(guān)注和研究。與傳統(tǒng)知識表現(xiàn)形式相比,知識圖譜具有實體和概念覆蓋面廣、語義關(guān)系多樣、結(jié)構(gòu)友好以及質(zhì)量較高等優(yōu)勢,使得機器語言認(rèn)知成為可能。智能診斷旨在讓機器“學(xué)習(xí)”醫(yī)生診斷的經(jīng)驗知識,通過模擬醫(yī)生的思維進行診斷推理。因此如何把知識和數(shù)據(jù)結(jié)合起來,利用蘊含于醫(yī)學(xué)知識圖譜中的經(jīng)驗知識指導(dǎo)深度神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí),對疾病的挖掘與診斷有著重要的研究意義。
以急性心肌梗塞的診斷為例,缺乏經(jīng)驗的深度學(xué)習(xí)往往比較注意經(jīng)常出現(xiàn)的典型特征,如心前區(qū)壓榨性疼痛及胸悶不適等,而對其他一些非典型特征則可能學(xué)習(xí)不到。如患者以咽喉部疼痛為主要表現(xiàn)就診時,可能會被診斷為慢性咽炎而給予對癥治療。實際上咽痛也可以是心肌梗塞的非典型體征,只是面向數(shù)據(jù)提取特征的深度學(xué)習(xí)對此缺乏認(rèn)識和經(jīng)驗。如果應(yīng)用具有豐富診斷經(jīng)驗的疾病知識圖譜進行診斷,當(dāng)它發(fā)現(xiàn)相同的咽痛癥狀時,則會根據(jù)結(jié)構(gòu)化知識的相連直接或間接推理注意到咽痛的時間性及性質(zhì),迅速將咽痛與心肌梗塞聯(lián)系起來,并結(jié)合其余癥狀排除有無心肌梗塞的存在。因此在現(xiàn)有研究當(dāng)中,雖然知識圖譜或深度學(xué)習(xí)的方法都可用于診斷疾病,但只有兩者結(jié)合,才能使“機器醫(yī)生”做出正確診斷,達到盡可能降低疾病誤診率目的。
基于上述問題,本文提出融合知識圖譜與深度學(xué)習(xí)的基于病情描述文本的疾病診斷方法(disease diagnosis method combining knowledge graph and deep learning,KGDeL)。首先識別病情描述語句中的疾病特征詞,使用詞嵌入將其轉(zhuǎn)化為詞向量;其次通過結(jié)構(gòu)化知識提取得到醫(yī)學(xué)知識圖譜(medical knowledge graph,MedKG)中與疾病特征相關(guān)的實體和關(guān)系,并利用知識圖譜嵌入將其轉(zhuǎn)化為低維連續(xù)的向量;最后將疾病特征詞向量與相關(guān)知識實體向量作為CNN 的多通道輸入,通過融合多個通道的信息從而使得網(wǎng)絡(luò)能夠?qū)W習(xí)到更豐富的疾病特征。實驗表明本文方法通過加入MedKG 這一擁有醫(yī)生經(jīng)驗的主觀知識,使得CNN 在訓(xùn)練病情描述文本客觀數(shù)據(jù)時能學(xué)習(xí)到更全面更直接相關(guān)的疾病特征,從而提高了不同類型疾病的診斷準(zhǔn)確率,更適用于初步診斷病情描述的疾病。
醫(yī)學(xué)知識圖譜MedKG 是現(xiàn)實世界中根據(jù)醫(yī)療實體(結(jié)點)、實體間關(guān)系(邊)相互連接起來所形成的一種網(wǎng)絡(luò)結(jié)構(gòu),三元組作為知識圖譜的一種通用表示形式,可將圖譜中的每一條醫(yī)學(xué)知識直觀地表示 為MedKG=<head,relation,tail>,其中head、tail分別為三元組的頭實體、尾實體,都屬于MedKG 的實體集合,relation={r1,r2,…,r|R|}是MedKG 的關(guān)系集合,共包含R種不同關(guān)系。現(xiàn)有許多開放的語義庫或各領(lǐng)域的中文知識圖譜,本文采用華東理工大學(xué)構(gòu)建的中文癥狀庫作為MedKG,其新的實體集是由現(xiàn)有三元組數(shù)據(jù)頭實體與尾實體所在列合并得到,關(guān)系集是將現(xiàn)有關(guān)系所在列構(gòu)成。其中,醫(yī)療實體(head或tail)作為MedKG 中最基本的元素,主要由疾病、藥物、癥狀、輔助檢查、科室、部位等構(gòu)成;關(guān)系(relation)存在于不同head或tail之間,主要包含類別、臨床表現(xiàn)、病因、發(fā)病機制、預(yù)防、藥理作用等。
三元組的存在表示圖譜中的實體處于給定類型的關(guān)系中。例如支氣管炎的描述為:支氣管炎(Bronchitis)多見于中老年人和吸煙人群,臨床表現(xiàn)為咳嗽明顯、咳痰和(或)反復(fù)呼吸道感染,其通過三元組表示的結(jié)果見表1。同時將表1 中的所有三元組合并得“支氣管炎”的知識圖譜,如圖1 所示,其中不同含義的結(jié)點表示head或tail,有向邊表示head和tail之間的關(guān)系,邊的方向表明實體是作為主體(head)還是對象(tail)出現(xiàn),不同relation通過不同類型的邊來表示。
Table 1 Triple representation of Bronchitis description表1 支氣管炎描述的三元組表示
Fig.1 Example of medical knowledge graph圖1 醫(yī)學(xué)知識圖譜示例
知識圖譜嵌入(knowledge graph embedding)旨在對圖譜中的頭實體、尾實體和關(guān)系進行表示學(xué)習(xí)[8],通過將head、tail或relation投影到低維向量空間,來保存知識圖譜中的語義結(jié)構(gòu)信息,從而得到實體向量表示,以用作實體間的相似度計算或其他領(lǐng)域的應(yīng)用等。不同知識圖譜嵌入方法因其模型結(jié)構(gòu)不同,所習(xí)得的知識向量也存在較大差異,如TransE 作為最具代表的翻譯模型,對于給定三元組<h,r,t>,關(guān)系r被解釋為從頭實體h到尾實體t之間的平移向量,即當(dāng)<h,r,t>成立時應(yīng)有h+r≈t,否則t與h+r應(yīng)當(dāng)遠離,得分函數(shù)如式(1)所示,下標(biāo)指計算時使用L1距離或L2距離。
TransE 由于模型參數(shù)較少,計算復(fù)雜度低,能夠有效處理簡單的1∶1 關(guān)系,故適用于大規(guī)模稀疏醫(yī)學(xué)知識圖譜。但在處理1∶N、N∶1 以及N∶N復(fù)雜關(guān)系時其性能明顯降低,針對復(fù)雜關(guān)系的醫(yī)學(xué)知識圖譜MedKG,本文采用TransD 模型來對其三元組數(shù)據(jù)進行表示學(xué)習(xí)。
對于給定三元組<h,r,t>,TransD 認(rèn)為關(guān)系所連的頭實體、尾實體包含不同的語義。通過使用兩個投影矩陣Mh和Mt將頭實體h和尾實體t分別投影到關(guān)系空間,并將每個關(guān)系的投影矩陣分解為兩個向量的乘積,其得分函數(shù)如式(2)所示:
其中,Mh=rphp+Im×n,Mt=rptp+Im×n,hp,tp∈Rm、lp∈Rn是映射向量,Im×n是單位矩陣。顯然,Mh和Mt與實體和關(guān)系均相關(guān),通過向量運算轉(zhuǎn)換,提高了模型計算速度。
本文疾病診斷KGDeL 方法主要包括三部分:疾病特征選擇、結(jié)構(gòu)化知識提取以及知識驅(qū)動的卷積神經(jīng)網(wǎng)絡(luò)。圖2 為KGDeL 的整體結(jié)構(gòu)圖。
Fig.2 Overall architecture of KGDeL圖2 KGDeL 整體結(jié)構(gòu)圖
病情描述是患者對自身疾病癥狀、病因以及嚴(yán)重程度等的描述語句。為了識別語句中所有與疾病特征相關(guān)的關(guān)鍵詞,對文本數(shù)據(jù)進行清洗、分詞、詞性標(biāo)注以及醫(yī)療實體識別等預(yù)處理操作。本文使用清華大學(xué)THULAC(THU lexical analyzer for Chinese)中文分詞系統(tǒng)及醫(yī)療專業(yè)疾病與癥狀詞典,對病情描述語句進行分詞、詞性標(biāo)注及識別醫(yī)療實體,并通過去除停用詞及無意義的單字,得到一組與病情描述相關(guān)的疾病特征關(guān)鍵詞。一條由n個特征詞構(gòu)成的疾病特征為x=[w1,w2,…,wn],其中wi為構(gòu)成一條完整疾病語句其第i個位置的詞匯,本文使用word2vec的CBOW(continuous bag-of-words)模型[9]將選擇得到的每個疾病特征詞轉(zhuǎn)換為詞向量,即映射為對應(yīng)的d維表示向量w1:n∈Rd。
結(jié)構(gòu)化疾病知識提取過程如圖3 所示。首先使用實體鏈接技術(shù)[10]將文本中的疾病特征詞w1:n與MedKG 中的三元組候選病癥實體head或tail(統(tǒng)一記為實體e)進行實體相似性計算以消歧,獲得MedKG 中的相關(guān)實體知識;其次在此基礎(chǔ)上構(gòu)造疾病知識子圖(subgraph of MedKG,sub-MedKG),即根據(jù)獲得的實體提取子圖中所有與實體相連的關(guān)系relation;最后利用2.2 節(jié)介紹的知識圖譜嵌入TransD模型對sub-MedKG 進行表示學(xué)習(xí),將學(xué)習(xí)到的實體向量作為KGDeL 模型中CNN 層的輸入。
雖然大多數(shù)知識圖譜嵌入方法在實體、關(guān)系向量化過程中可以保存原始圖譜的結(jié)構(gòu)信息,但在后續(xù)疾病特征學(xué)習(xí)過程中,這種單個實體的知識嵌入信息仍然是有限的。由于上下文實體在圖譜中的語義關(guān)聯(lián)和邏輯結(jié)構(gòu)都與當(dāng)前實體有著密切關(guān)系,因此本文為每個實體提取額外的上下文信息,實體e的“上下文”定義為其在MedKG 中相鄰的一跳結(jié)點集合,即:
其中,r為實體間關(guān)系,使用上下文實體可提供更多的補充知識,提高實體可識別性。
例如,對于病情描述語句中出現(xiàn)的疾病特征詞“咳嗽”,圖4 所示為一個包含上下文實體知識的sub-MedKG 示例,除了使用“咳嗽”本身來代表實體,疾病知識子圖中還包括其上下文如“肺癌”(疾?。?、“支氣管炎”(疾?。?、“吸煙”(病因)等作為它的補充信息。由于語義上越相近的詞語,其映射在同一個向量空間中的實數(shù)向量會越相似,故對于實體上下文向量,可通過計算其所有上下文實體的平均值得到,相應(yīng)計算公式如式(4):
Fig.3 Extraction steps of structured disease knowledge圖3 結(jié)構(gòu)化疾病知識提取步驟
Fig.4 Example of sub-MedKG圖4 sub-MedKG 示例
其中,ei是上下文實體通過知識圖譜嵌入方法學(xué)習(xí)得到的實體向量。最后在實驗部分驗證了引入實體上下文向量的有效性。
由3.3 節(jié)結(jié)構(gòu)化疾病知識提取可得,每個單詞wi都有一個與之相對應(yīng)的實體向量ei∈Rk×1、實體上下文向量∈Rk×1,其中k為實體嵌入的維數(shù)。對于每一段病情描述文本x=w1:n=[w1,w2,…,wn],使用其疾病特征詞向量w1:n=[w1,w2,…,wn]作為CNN 層的輸入,并引入詞語-實體對齊后的實體向量:
與相關(guān)實體上下文向量:
作為輸入。g是詞語-實體對齊的轉(zhuǎn)換函數(shù),即:
其中,M∈Rd×k為變換矩陣,b∈Rd×1為偏差。由于轉(zhuǎn)換函數(shù)tanh 是連續(xù)的,故它可以將實體向量與上下文實體向量從實體空間映射到詞向量空間,并保持原來的空間關(guān)系。類似于圖像RGB 通道,詞向量w1:n、轉(zhuǎn)換后的實體向量g(e1:n)與轉(zhuǎn)換后的實體上下文向量具有相同的維數(shù)與大小,因此將這三個向量矩陣對齊并疊加便得到CNN 層的多通道輸入:
應(yīng)用多個不同卷積核尺寸的l來提取X中的局部特征模式。子矩陣對w的局部激活函數(shù)如式(9):
并在輸出特征圖上使用max-over-time pooling 操作來選擇最大的特征:
其中,m為卷積核的數(shù)量。
將病情描述文本表示e(x) 輸入給softmax 分類器,p(yk)為病情描述文本e(xk)在第k種疾病上的輸出概率,經(jīng)softmax 歸一化后如式(12)所示:
其中,si與bi分別表示對應(yīng)輸出為yi的參數(shù)與偏置,n為疾病輸出類別的總數(shù)。模型訓(xùn)練采用自適應(yīng)矩估計(adaptive moment estimation,Adam)算法[11]來最小化目標(biāo)函數(shù),并通過反向傳播來更新每輪迭代過程中網(wǎng)絡(luò)的各種參數(shù),直到模型達到擬合要求。
本文實驗數(shù)據(jù)由兩部分組成,如表2 所示。一部分是從“好大夫”網(wǎng)站中爬取的已經(jīng)確診的8 類疾病描述文本數(shù)據(jù)集,包括糖尿病、高血壓、肺癌、腸胃疾病、牙周病、婦科腫瘤、支氣管炎和甲狀腺疾病,其中訓(xùn)練集數(shù)據(jù)6 400 條,測試集數(shù)據(jù)1 600 條,驗證集數(shù)據(jù)800 條。
Table 2 Experimental dataset表2 實驗數(shù)據(jù)集
另一部分是醫(yī)學(xué)知識圖譜MedKG,采用的是華東理工大學(xué)構(gòu)建的中文癥狀庫,它以垂直型醫(yī)療健康咨詢網(wǎng)站、中文百科網(wǎng)站和大量電子病歷為數(shù)據(jù)來源,以疾病為側(cè)重點包含了1.3 萬余條的癥狀實體與3.2 萬余條的疾病-癥候-特征相關(guān)三元組數(shù)據(jù)的知識圖譜,圖譜中也對應(yīng)的有上述8 類疾病的癥狀實體知識。
由表2 中統(tǒng)計數(shù)據(jù)可知,每段病情描述文本的平均長度為56 字,相應(yīng)文本中的疾病特征詞平均有7個,這表明病情描述文本中幾乎每4 個字就有一個疾病實體,與疾病相關(guān)實體的高密度出現(xiàn)也為KGDeL的設(shè)計提供了經(jīng)驗依據(jù)。
本文模型的參數(shù)設(shè)置如表3 所示。
Table 3 Model parameter setting表3 模型參數(shù)設(shè)置
本文實驗采用準(zhǔn)確度(Accuracy)、精度(Precision)、召回率(Recall)和F1值4 個指標(biāo)[12]來評價疾病診斷方法的性能,相應(yīng)計算公式如式(13)~式(16)所示:
其中,TP、TN分別表示正確分類下的正樣本數(shù)與負樣本數(shù),F(xiàn)P、FN分別表示負樣本誤分類為正樣本的數(shù)量、正樣本誤分類為負樣本的數(shù)量。
為了研究模型中超參數(shù)的不同選擇對KGDeL 性能的影響,本文采用控制變量法分別將輸入向量維度、卷積核尺寸以及卷積核數(shù)量作為被測參數(shù),其余參數(shù)值均按表3 設(shè)置,通過計算各自的精確度來確定最優(yōu)參數(shù)值,結(jié)果如圖5 所示。
由圖5(a)可以看出,詞向量維度d與實體向量維度k是由測試集合{20,50,100,200}組合確定的。當(dāng)給定實體向量維度為k時,KGDeL 的性能會隨著詞向量維度d的增加而提高,這是因為詞向量的維數(shù)越多,越可以編碼出更多有用的語義信息。當(dāng)d進一步增大時,KGDeL 的性能則會下降,因為過大的d(如d=200)可能會引入噪聲,從而誤導(dǎo)后續(xù)的預(yù)測。因此將本文模型的輸入向量(即詞向量、實體向量以及上下文向量)維度均設(shè)置為100 時模型性能最佳。
Fig.5 Effects of different selections of parameters on KGDeL圖5 參數(shù)的不同選擇對KGDeL 性能的影響
圖5(b)所示,給定卷積核尺寸w,模型的準(zhǔn)確度通常隨卷積核數(shù)量m的增加而增加,這是因為卷積核越多越能在輸入語句中捕獲更多的局部模式,并增強模型功能。當(dāng)m太大(m=200)時,可能會由于過擬合現(xiàn)象使得趨勢發(fā)生變化。因此在CNN 層的多通道中分別采用{2,3,4}3 種尺寸的卷積核,并將每種尺寸卷積核個數(shù)均設(shè)置為150,以保證CNN 從不同維度提取多個文本特征。
為了分析引入知識圖譜結(jié)構(gòu)化特征的影響,設(shè)計對比算法。算法包括:只包含詞向量的傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(CNN)、加入實體向量的卷積神經(jīng)網(wǎng)絡(luò)(CNN with entity embedding,Entity-CNN)、加入上下文實體向量的卷積神經(jīng)網(wǎng)絡(luò)(CNN with context embedding,Context-CNN)以及本文采用的KGDeL 算法(即同時加入實體向量和上下文實體向量的卷積神經(jīng)網(wǎng)絡(luò))。為了分析不同知識圖譜嵌入方法對KGDeL 融合模型的影響,結(jié)合2.2 節(jié)介紹的知識圖譜嵌入方法,設(shè)計對比實驗包括:TransE-KGDeL、TransHKGDeL、TransR-KGDeL 和TransD-KGDeL。表4 列出了這8 種算法實驗的對比結(jié)果。
Table 4 Experimental results comparison in different structures of KGDeL表4 KGDeL 不同結(jié)構(gòu)的實驗結(jié)果對比 %
由表4可知,Entity-CNN、Context-CNN和KGDeL的分類準(zhǔn)確度或精度等值均優(yōu)于CNN,即在傳統(tǒng)CNN 模型中引入知識圖譜的實體向量或?qū)嶓w上下文向量,可以使得分類準(zhǔn)確率分別提高1.3%或0.7%,這是因為醫(yī)學(xué)知識圖譜中包含著大量的疾病與癥狀實體,這部分知識的加入豐富了輸入的語義信息,使得CNN 可以更好地學(xué)習(xí)疾病描述文本表示,并能綜合考慮不同癥狀特征對疾病分類的影響,提升了算法的分類性能。通過KGDeL 和Entity-CNN、Context-CNN 的實驗結(jié)果對比可知,同時引入知識圖譜的實體和實體上下文向量所得的分類結(jié)果,要比只引入其中任何一種所得的結(jié)果好,其原因也正是由于圖譜中的這兩部分信息有著直接的關(guān)聯(lián)關(guān)系,這種結(jié)構(gòu)信息的加入增強了疾病的描述語義表示,提升了模型獲取高層文本特征的能力,因此驗證了本文算法中加入這兩種知識向量的可行性和有效性。
對比表4 中KGDeL 使用知識圖譜嵌入方法評價指標(biāo)結(jié)果可知,本文使用TransD 方法進行知識向量化的效果最好。通過分析模型結(jié)構(gòu)發(fā)現(xiàn),TransD 是4種知識圖譜嵌入方法中最復(fù)雜的模型,它能夠更好地捕捉到結(jié)構(gòu)化知識之間的非線性關(guān)系,減少向量化過程中的語義損失,從而學(xué)習(xí)得到實體以及實體上下文向量的質(zhì)量較高,作為KGDeL 的輸入時提高了疾病診斷分類性能。
基于特征方法、基于深度學(xué)習(xí)方法和基于疾病知識方法是目前解決疾病診斷問題常用的3 種方法,分別選取上述3 種方法中的一些經(jīng)典算法與KGDeL進行對比實驗。對比算法如下:Sun 等[11]提出的基于支持向量機的方法(support vector machine,SVM);Wu 等[13]提出的基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法(recurrent neural network,RNN);Zhang 等[14]提出的基于病情自述和知識圖譜的方法(disease readme and knowledge graph,DRKG)以及Hu 等[15]提出的基于動態(tài)采樣與遷移學(xué)習(xí)的方法(dynamic sampling and transfer learning,DSTL)。所有方法的實驗參數(shù)選擇對應(yīng)參考文獻中的最佳配置。表5 列出了這5 種算法實驗對比結(jié)果。
Table 5 Classification performance comparison of different disease diagnosis methods表5 不同疾病診斷方法的分類性能對比 %
由表5 可以看出,傳統(tǒng)SVM 的分類性能最差,基于RNN、DRKG 的疾病診斷方法都表現(xiàn)出較好的分類性能,這意味著相比深度學(xué)習(xí)算法,機器學(xué)習(xí)提取特征的方式與效率較低,并且SVM 算法結(jié)構(gòu)本身就存在著優(yōu)劣的更替。針對疾病診斷任務(wù),RNN 與DRKG 算法更能從大量訓(xùn)練集中學(xué)習(xí)到數(shù)據(jù)的分布式特征表示。從準(zhǔn)確率對比結(jié)果來看,DRKG 方法的分類準(zhǔn)確率低于RNN 方法,而其F1值卻高于RNN,這證明DRKG 在準(zhǔn)確識別正向文本準(zhǔn)確率方面要優(yōu)于深度學(xué)習(xí)RNN 算法。KGDeL 的分類準(zhǔn)確率最高,相比其他經(jīng)典算法,KGDeL 表現(xiàn)出良好的分類性能,同時KGDeL 取得了最高的F1測度值。F1作為綜合精度與召回率的一個有效評價標(biāo)準(zhǔn),其優(yōu)劣可以全面反映算法的性能,這進一步證明本文融合知識圖譜結(jié)構(gòu)化特征的KGDeL 方法相比傳統(tǒng)方法優(yōu)勢更大,并且相比一些深度學(xué)習(xí)方法也具備一定優(yōu)越性。為了保證實驗的魯棒性,進行了多種疾病的多次實驗,本文方法的實驗結(jié)果穩(wěn)定,每種疾病的識別率都在85%以上。
同時,對KGDeL 方法在時間上的性能作進一步的分析,主要包括模型的時間復(fù)雜度以及疾病診斷所用時長兩方面。模型的時間復(fù)雜度主要受數(shù)據(jù)量大小的影響,相較于傳統(tǒng)算法,醫(yī)學(xué)知識圖譜主觀數(shù)據(jù)的引入使得CNN 多通道特征提取、卷積運算等的計算復(fù)雜度增加,因此訓(xùn)練時長也會相應(yīng)增加;并且模型訓(xùn)練時間的長短也與其硬件環(huán)境或操作系統(tǒng)有關(guān)。對于訓(xùn)練好的KGDeL 模型,當(dāng)其在做疾病診斷處理新的病情描述特征時,所用時長會比訓(xùn)練時長少得多,并且由于其對主觀客觀數(shù)據(jù)的充分訓(xùn)練使得模型分類的準(zhǔn)確率有所提高,因此從整體而言,對于疾病診斷任務(wù),其診斷結(jié)果在準(zhǔn)確性或精度上的性能往往比時間性能更為重要。
實驗按照4∶1 爬取訓(xùn)練集與測試集病情描述文本,使用有標(biāo)簽的訓(xùn)練集數(shù)據(jù)訓(xùn)練KGDeL 方法,并從病情描述文本集中抽取一些典型句子對比不同疾病診斷方法的分類結(jié)果,如表6所示。同時使用KGDeL方法對8 種疾病分類,并計算每種疾病的分類準(zhǔn)確率、精度等指標(biāo),結(jié)果見圖6。
由表6 不同疾病的分類結(jié)果對比可得,本文KGDeL 方法的整體分類結(jié)果可用于病情描述文本的輔助診斷中。根據(jù)進一步分析發(fā)現(xiàn),其他疾病診斷方法將肺癌誤診樣本多被判為支氣管炎,將支氣管炎誤診樣本多被判成肺癌,而兩種疾病也確實具有醫(yī)療聯(lián)系,它們的臨床癥狀多與吸煙、咳嗽有關(guān)。同樣,在糖尿病和高血壓中也有這種現(xiàn)象,二者受飲食與生活習(xí)慣的影響,在醫(yī)療中屬于一種常見的并發(fā)性疾病。由圖6 的評價指標(biāo)結(jié)果值可知,牙周病與腸胃疾病的分類準(zhǔn)確率是最高的,甲狀腺疾病次之,原因是其各自的疾病特征較為明顯,識別率高,并且多次實驗結(jié)果穩(wěn)定,KGDeL 可以根據(jù)這些疾病特征引入圖譜中的相關(guān)知識,從而讓模型學(xué)習(xí)到和訓(xùn)練集標(biāo)注一致的分類結(jié)果,發(fā)現(xiàn)更多隱藏的疾病與疾病間的關(guān)系。
Table 6 Classification results of typical disease diagnosis examples表6 典型疾病診斷例子分類結(jié)果
Fig.6 Evaluation of discriminant results of 8 diseases圖6 8 種疾病的判別結(jié)果評估
本文提出了一種融合知識圖譜與深度學(xué)習(xí)的疾病診斷方法,通過加入醫(yī)學(xué)知識圖譜這一蘊含醫(yī)生經(jīng)驗的主觀知識,使得卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練病情時通過描述文本客觀數(shù)據(jù),能夠?qū)W習(xí)到更全面更直接相關(guān)的疾病特征。這種知識圖譜結(jié)構(gòu)信息的加入增強了疾病的描述語義表示,提升了模型獲取高層文本特征的能力,從而提高了不同類型疾病的診斷準(zhǔn)確率。通過對8 種疾病描述文本的分類識別,實驗結(jié)果表明,本文提出的KGDeL 方法相比其他傳統(tǒng)疾病診斷方法取得了更好的分類性能,提高了不同類型疾病的診斷準(zhǔn)確率,更適用于初步診斷病情描述的疾病。在下一步工作中,可針對知識圖譜嵌入方法進行深入研究,通過習(xí)得知識的高質(zhì)量連續(xù)化表示,為深度學(xué)習(xí)更有效地提供結(jié)構(gòu)化知識。