馬鴻超,張坤麗,趙悅淑,昝紅英,莊 雷
(1. 鄭州大學(xué) 信息工程學(xué)院,河南 鄭州 450001;2. 鄭州大學(xué) 產(chǎn)業(yè)技術(shù)研究院,河南 鄭州 450001;3. 鄭州大學(xué) 第三附屬醫(yī)院,河南 鄭州 450052)
自計(jì)劃生育寫入我國基本國策,晚婚晚育政策帶來諸多益處的同時(shí),也導(dǎo)致年齡超過35歲的高齡孕婦所占比例逐年增加[1]。2016年“全面二孩”政策實(shí)施之后,預(yù)計(jì)我國會(huì)迎來一個(gè)新的生育高潮,而高齡孕婦所占比重會(huì)更大。針對(duì)高齡產(chǎn)婦,難產(chǎn)、胎兒畸形的發(fā)生率及并發(fā)癥風(fēng)險(xiǎn)都有所增加,這對(duì)各醫(yī)療機(jī)構(gòu)的產(chǎn)科是一個(gè)巨大挑戰(zhàn)。
自2010年國家衛(wèi)生計(jì)生委醫(yī)政醫(yī)管局出臺(tái)《電子病歷基本規(guī)范(試行)》[2]之后,各診療機(jī)構(gòu)累積了豐富的產(chǎn)科電子病歷資源。海量電子病歷數(shù)據(jù)是醫(yī)療領(lǐng)域的大數(shù)據(jù),蘊(yùn)含著大量醫(yī)療知識(shí)和健康信息。如何利用這些資源實(shí)現(xiàn)臨床信息決策支持,從而改善臨床治療效果,是迫在眉睫的研究任務(wù)。
電子病歷是醫(yī)務(wù)人員對(duì)醫(yī)療活動(dòng)進(jìn)行的詳細(xì)記錄。其中非常重要的形式是自由文本(半結(jié)構(gòu)或無結(jié)構(gòu))數(shù)據(jù)[3],如何采用自然語言處理技術(shù)對(duì)電子病歷進(jìn)行結(jié)構(gòu)化和信息抽取是充分利用電子病歷所蘊(yùn)藏知識(shí)的重要一步。隨著人工智能技術(shù)的發(fā)展,讓醫(yī)療輔助診斷成為了可能。在電子病歷中,首次病程記錄以文本形式存儲(chǔ)。包括患者的主訴、查體以及輔助檢查等信息,而通常情況下,產(chǎn)科的入院診斷包括正常診斷、病理診斷及并發(fā)癥等,即并非單一結(jié)果。如一份電子病歷中的診斷中可能有“羊水過多”和“妊娠期高血壓”。若將一個(gè)電子病歷看作一個(gè)實(shí)例,診斷結(jié)果看作標(biāo)記,則可認(rèn)為每個(gè)實(shí)例都可能屬于多個(gè)標(biāo)記??梢詫⑨槍?duì)產(chǎn)科電子病歷的輔助診斷問題轉(zhuǎn)化為機(jī)器學(xué)習(xí)中的多標(biāo)記分類問題,而同一份病歷中的多個(gè)診斷結(jié)果即為不同的標(biāo)記。
本文在分析中文產(chǎn)科電子病歷自由文本結(jié)構(gòu)及內(nèi)容的基礎(chǔ)上,對(duì)首次病程記錄進(jìn)行數(shù)據(jù)清洗,并規(guī)范化診斷結(jié)論。根據(jù)已收集到的電子病歷中首次病程記錄的主訴、入院查體、產(chǎn)科檢查和輔助檢查等信息,將LDA(Latent Dirichlet Allocation)主題模型抽取的特征與生理參數(shù)數(shù)值型特征融合,采用多種多標(biāo)記分類的方法對(duì)產(chǎn)科電子病歷進(jìn)行自動(dòng)診斷。
在多標(biāo)記分類問題中,實(shí)例空間中的每一個(gè)實(shí)例可以屬于多個(gè)標(biāo)記,即設(shè)實(shí)例空間為X,實(shí)例集合為D,L為標(biāo)記集合,|L|=n。在單標(biāo)記中只有一個(gè)標(biāo)記li與實(shí)例xi相對(duì)應(yīng),其中l(wèi)i∈L,xi是集合D的第i個(gè)實(shí)例,集合D可表示為{(x1,l1),(x2,l2),…,(xn,ln)}。而在多標(biāo)記中,每一個(gè)實(shí)例可以屬于多個(gè)標(biāo)記,即實(shí)例集合D可以表示為{(x1,L1),(x2,L2),…,(xn,Ln)},其中Li?L,Li是xi關(guān)聯(lián)的標(biāo)記集合。不少學(xué)者對(duì)多標(biāo)記分類進(jìn)行研究,分別應(yīng)用于文本分類[4],情感分類[5],圖像和視頻分類[6],生物信息[7]和醫(yī)學(xué)[8]等領(lǐng)域。
目前,針對(duì)多標(biāo)記學(xué)習(xí)的研究主要集中在三個(gè)方面: 第一,改進(jìn)或者提出新分類或排序的模型,楊小健等[9]提出了一種結(jié)合類別權(quán)重及多示例的多標(biāo)記學(xué)習(xí)改進(jìn)算法(CWMI-INSDIF)。在對(duì)單一對(duì)象拆分時(shí),充分考慮數(shù)據(jù)的內(nèi)部特性,加入權(quán)重函數(shù)和自適應(yīng)懲罰策略;李哲等[10]改進(jìn)了分類器鏈,形成了有序分類器鏈(Ordered Classifier Chain,OCC),OCC可以有效利用各個(gè)標(biāo)記之間的依賴關(guān)系。第二,改進(jìn)、提出新的特征選擇模型或者聯(lián)合模型。李峰等[11]提出了一種局域互信息的粒化特征加權(quán)多標(biāo)簽學(xué)習(xí)k近鄰算法GFWML-kNN(granular feature weighed k-nearest neighbors algorithm for multi-label leaning)。該算法計(jì)算了每個(gè)特征的權(quán)重系數(shù),并把標(biāo)記間的相關(guān)性融合進(jìn)特征的權(quán)重系數(shù),解決了特征相關(guān)性和組合爆炸問題。實(shí)驗(yàn)表明,該算法在整體上取得了較好的效果;Teisseyre P[12]把分類器鏈和強(qiáng)行網(wǎng)絡(luò)正則化相結(jié)合,提出了CCnet算法,CCnet最重要的優(yōu)點(diǎn)是在學(xué)習(xí)過程中能選擇相關(guān)特征。第三,在新的領(lǐng)域應(yīng)用多標(biāo)記學(xué)習(xí),Liu G P等[13]把技術(shù)應(yīng)用到中文冠心病數(shù)據(jù)集上,進(jìn)行多癥狀選擇。
在醫(yī)學(xué)領(lǐng)域,也有學(xué)者采用多標(biāo)記分類方法進(jìn)行數(shù)據(jù)的處理。Ira Goldstein等[8]利用I2B2 2008的數(shù)據(jù),為每一個(gè)類別訓(xùn)練一個(gè)分類器,對(duì)肥胖癥及其他15種并發(fā)癥進(jìn)行多標(biāo)記分類;Shao H等[14]提出了一種混合優(yōu)化的特征選擇算法(Hybrid Optimization based Multi-Label,HOML)用于特征選擇。HOML把模擬退火算法、遺傳算法和爬山貪婪算法進(jìn)行結(jié)合,在中醫(yī)冠心病數(shù)據(jù)集上顯著提高了分類的效果;Li Y等[15]把中藥方劑與中醫(yī)證候關(guān)系轉(zhuǎn)化為一個(gè)多實(shí)例學(xué)習(xí)和多標(biāo)記學(xué)習(xí)問題,提出了WSSH-MIML (Weighted Sampling based on Similar Herbs MIML)的方法,用于預(yù)測基于多實(shí)例多標(biāo)記框架處方的主要癥狀;徐瑋斐等[16]把隨機(jī)森林與多標(biāo)記學(xué)習(xí)算法相結(jié)合對(duì)慢性胃炎的實(shí)證癥狀進(jìn)行選擇和模型構(gòu)建;程波等[17]提出一種基于多模態(tài)特征數(shù)據(jù)的多標(biāo)記遷移學(xué)習(xí)模型,并將其應(yīng)用于早期阿爾茨海默病診斷: 首先對(duì)圖像提取特征,再選擇最優(yōu)特征子集,最后用多標(biāo)記遷移學(xué)習(xí)模型分類回歸器進(jìn)行分類。
目前,在醫(yī)學(xué)領(lǐng)域的研究多在公開數(shù)據(jù)集或類別較少的真實(shí)數(shù)據(jù)集上展開。如文獻(xiàn)[8]中采用的是公開的評(píng)測數(shù)據(jù)。產(chǎn)科診斷種類較為復(fù)雜,且一些特征不易直接提取,這也為開展中文產(chǎn)科電子病歷研究帶來了一定困難,到目前為止,還鮮有人對(duì)較復(fù)雜的中文產(chǎn)科電子病歷進(jìn)行輔助診斷的研究。
產(chǎn)科電子病歷多為自由文本形式或半結(jié)構(gòu)化文本形式。本節(jié)結(jié)合具體的電子病歷,重點(diǎn)對(duì)首次病程記錄的內(nèi)容及特點(diǎn)進(jìn)行了分析。產(chǎn)科電子病歷主要包括病程記錄和出院小結(jié)兩部分內(nèi)容,具體如表1所示。在電子病歷文本中,所有內(nèi)容混排在一起,為了便于數(shù)據(jù)分析,將首次病程記錄按主訴、入院查體、產(chǎn)科檢查、輔助檢查、入院診斷、診斷依據(jù)、鑒別診斷和診療計(jì)劃等進(jìn)行結(jié)構(gòu)化,形成了本文進(jìn)行實(shí)驗(yàn)的首次病程記錄集合(圖1則是按小節(jié)內(nèi)容整理后的形式)。
表1 病程記錄和出院小結(jié)所包含的主要內(nèi)容
在電子病歷中由于醫(yī)院管理信息(Hospital Information System,HIS)系統(tǒng)的原因,存在首次病程記錄冗余(如首次病程記錄和出院小結(jié)的重復(fù))、缺失(如首次病程記錄和出院小結(jié)的缺失)、時(shí)序錯(cuò)亂(時(shí)間出現(xiàn)邏輯錯(cuò)誤)等問題,因此也對(duì)數(shù)據(jù)進(jìn)行了清洗。
圖1 首次病程記錄示例
本文以15家醫(yī)院隨機(jī)抽取的一萬余份產(chǎn)科電子病歷為研究對(duì)象,在抽取電子病歷的同時(shí)進(jìn)行去隱私化預(yù)處理[18],隱去了病人的姓名、身份證號(hào)碼、家庭住址、醫(yī)生姓名等涉及病人及醫(yī)生的隱私性信息。
針對(duì)電子病歷中存在的不同問題,采取不同的方式進(jìn)行數(shù)據(jù)清洗[19]。針對(duì)首次病程記錄冗余,采用自動(dòng)比對(duì)的方式進(jìn)行篩選。當(dāng)檢測到同一個(gè)病歷中有多個(gè)首次病程記錄時(shí),根據(jù)信息的完整性以及記錄時(shí)間,甄選出正確的首次病程記錄;針對(duì)首次病程記錄的缺失,則直接刪除;而針對(duì)首次病程中的時(shí)序錯(cuò)誤,根據(jù)產(chǎn)科治療的時(shí)序邏輯,設(shè)計(jì)出了時(shí)序錯(cuò)誤檢測方案,對(duì)這一類首次病程記錄也進(jìn)行了刪除。最終得到包含10 886份首次病程記錄的數(shù)據(jù)集。
在首次病程記錄中,入院診斷是醫(yī)生依據(jù)病人的各項(xiàng)生理指標(biāo)對(duì)病人的情況綜合分析后作出的診斷,然后給出診療計(jì)劃。因此,首次病程記錄的入院診斷可以看作是依據(jù)顯式或隱式的特征進(jìn)行多個(gè)診斷標(biāo)記的分類。本文的輔助診斷模擬這一過程,利用主訴、入院查體、產(chǎn)科檢查和輔助檢查來預(yù)測入院診斷。抽取了其中的主訴、入院查體、產(chǎn)科檢查、輔助檢查和入院診斷作為實(shí)驗(yàn)數(shù)據(jù)集,把入院診斷看作標(biāo)記,其余四部分看作特征。在分詞工具ICTCLAS*https://github.com/NLPIR-team/NLPIR中增加來自互聯(lián)網(wǎng)及《婦產(chǎn)科學(xué)》[20]中的婦產(chǎn)科醫(yī)療術(shù)語和藥物名稱,對(duì)實(shí)驗(yàn)文本進(jìn)行分詞作為實(shí)驗(yàn)數(shù)據(jù)集。入院診斷中的每一條看作是一個(gè)標(biāo)記,其中的“孕X+Y周”及“孕Z產(chǎn)U”是計(jì)算或主訴的結(jié)果,不作為類標(biāo)記,將其他診斷作為多標(biāo)記從數(shù)據(jù)集中共得到診斷737個(gè),形成集合L1。由于本文中所使用的電子病歷來源于多家診療結(jié)構(gòu),醫(yī)生書寫習(xí)慣并不相同,如在L1中出現(xiàn)的“胎盤前置狀態(tài)”及“前置胎盤”兩種寫法,以及“上感”與“上呼吸道感染”這樣的寫法,即存在同一類別標(biāo)記的多種不同表現(xiàn)形式。以ICD10疾病命名規(guī)范為依據(jù),對(duì)診斷結(jié)果進(jìn)行分詞之后,采用基于語義的方法對(duì)標(biāo)記的相似度進(jìn)行計(jì)算*https://my.oschina.net/twosnail/blog/370744#comment-list,計(jì)算方法如式(1)所示。其中,S1、S2是兩個(gè)診斷標(biāo)記的語義向量表示。
(1)
根據(jù)相似度計(jì)算的結(jié)果,由醫(yī)學(xué)專業(yè)人員對(duì)類標(biāo)記進(jìn)行規(guī)范化,合并了同一診斷結(jié)果的不同表述形式。從而得到類標(biāo)記集合L2,包含標(biāo)記249個(gè),出現(xiàn)頻次統(tǒng)計(jì)結(jié)果如表2所示。其中,僅出現(xiàn)1次的診斷標(biāo)記有84個(gè),占標(biāo)記總數(shù)的34%。在數(shù)據(jù)集中共出現(xiàn)診斷標(biāo)記25 881次,首次病程中最少標(biāo)記數(shù)為1,最大標(biāo)記數(shù)為9,平均每份電子病歷出現(xiàn)2.38次。規(guī)范化之后把標(biāo)記轉(zhuǎn)化為0,1向量,出現(xiàn)為1,否則為0。
表2 入院診斷頻率分布情況
LDA可以提取文本特征,而不能有效地表達(dá)數(shù)值特征,所以把LDA提取的文本特征與數(shù)值型特征融合。以下分別介紹LDA特征、數(shù)值型特征及相應(yīng)的融合方式。
3.1.1 LDA特征
LDA由Blei等[21]在2003年提出,已經(jīng)被廣泛的應(yīng)用到特征提取上。LDA是一個(gè)三層的貝葉斯模型,第一層是文檔集合層D,每個(gè)文檔d(d∈D)由K(k1,k2,…,km)個(gè)主題構(gòu)成。每個(gè)主題ki由第三層的N個(gè)特征詞構(gòu)成,文本中的詞是可觀察的,而主題則是隱含的,LDA模型如圖2所示。模型由參數(shù)(α,β)確定,α反映了隱含主題之間的相對(duì)強(qiáng)弱,β反映所有隱含主題自身的分布。首先,LDA從參數(shù)為β的Dirichlet分布中抽取主題與單詞的關(guān)系,而后LDA生成一個(gè)文本: 首先從參數(shù)為α的Dirichlet分布中抽樣出該文本d與各個(gè)主題之間的關(guān)系θd;其次,從參數(shù)為θd的多項(xiàng)式分布中抽樣出當(dāng)前所屬的主題z;最后從參數(shù)為的多項(xiàng)式分布中抽取具體的單詞w。一個(gè)文本中所有單詞與其所屬主題的聯(lián)合概率分布如式(2)所示。
(2)
LDA的輸出包含文檔-主題概率分布矩陣M[m×n]。m表示文檔總數(shù)D,一行代表一個(gè)文檔(在本文中為一個(gè)病歷實(shí)例),n是主題數(shù),每一列表示一個(gè)主題。LDA的主題數(shù)目K=n表示一個(gè)實(shí)例的K個(gè)特征,每一個(gè)元素代表文檔屬于該主題的概率。假設(shè)D=3,K=120,圖3是LDA的輸出的一個(gè)實(shí)例M[3×120]。但LDA訓(xùn)練時(shí)是以詞語為單位,并且高頻的全局性詞對(duì)主題的貢獻(xiàn)概率大于低頻詞的貢獻(xiàn)概率,而對(duì)于每一份病例中的檢查指標(biāo)都是自己所獨(dú)有的,頻率較低,LDA無法有效表達(dá)數(shù)值特征。所以引入了數(shù)值型特征,以彌補(bǔ)LDA的不足。
圖2 LDA模型示意圖
圖3 M矩陣示意圖
3.1.2 數(shù)值型特征
數(shù)值是電子病歷中很重要的指標(biāo),不能忽略,需單獨(dú)考慮。在首次病程記錄中,孕婦年齡、停經(jīng)月數(shù)、宮高腹圍等16個(gè)生理指標(biāo)是影響判斷的重要因素,因此需要提取這些生理參數(shù)。文中有一些數(shù)值單位不統(tǒng)一的情況,以停經(jīng)月數(shù)為例,一般描述為“停經(jīng)X月余”,但也有“停經(jīng)Y周”等的出現(xiàn)。在抽取時(shí),我們把周轉(zhuǎn)換為月,“四周”近似為“一個(gè)月”。在抽取時(shí)需要充分考慮這些問題,并換算單位。同時(shí)也要兼顧數(shù)據(jù)的真實(shí)有效性,在抽取孕婦體重增加生理參數(shù)中,其中一份,孕婦體重增加為“158kg”,可以推測這一數(shù)據(jù)可能是錯(cuò)誤數(shù)據(jù),抽取時(shí)需要設(shè)定一個(gè)閾值來判定數(shù)據(jù)的準(zhǔn)確性。對(duì)于可能錯(cuò)誤的數(shù)據(jù),直接刪除不用,因?yàn)榭赡艹霈F(xiàn)錯(cuò)誤的數(shù)據(jù)會(huì)影響實(shí)驗(yàn)的結(jié)果。表3是抽取的生理參數(shù)的數(shù)值型特征示例。
表3 數(shù)值型特征示例
3.1.3 特征融合
由上文可知,產(chǎn)科電子病歷中既有描述性的文本特征(主訴和入院查體的描述性文本),也有生理參數(shù)的數(shù)值型特征(年齡,體溫和宮高等)。只用數(shù)值型特征又無法表達(dá)描述性的文本特征,只用文本特征又無法表達(dá)數(shù)值型特征。因此我們把數(shù)值型特征單獨(dú)抽取,與LDA特征向量進(jìn)行拼接,進(jìn)行融合,即為分類的最終特征。圖4是將圖3中矩陣拼接數(shù)值特征之后的結(jié)果,矩陣M[3×136]。
圖4 M矩陣示意圖
本文采用BP-MLL[7]進(jìn)行多標(biāo)記分類,這種方法是在傳統(tǒng)的多層反向傳播神經(jīng)的基礎(chǔ)上,改變?cè)械恼`差函數(shù)。為了將適用于單標(biāo)記示例的傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)應(yīng)用到多標(biāo)記示例,必須設(shè)計(jì)一些特定的誤差函數(shù),而不是簡單的平方和函數(shù)來捕捉多標(biāo)記學(xué)習(xí)的特征,并且使誤差函數(shù)最小化。式(3)所示誤差函數(shù)認(rèn)為每個(gè)類標(biāo)記是獨(dú)立的,沒有考慮每一個(gè)標(biāo)記之間的關(guān)系,式(4)所示誤差函數(shù)側(cè)重于網(wǎng)絡(luò)在屬于一個(gè)實(shí)例的標(biāo)記上的輸出與不屬于其標(biāo)記之間的差異。式(4)中誤差函數(shù)的最小化,可以使系統(tǒng),對(duì)于屬于訓(xùn)練實(shí)例的那些標(biāo)記,輸出較大的值,對(duì)于不屬于訓(xùn)練實(shí)例的標(biāo)記,輸出較小的值。
實(shí)驗(yàn)采用多標(biāo)記常用的漢明損失(Hamming loss)、首標(biāo)記錯(cuò)誤(One Error)、覆蓋距離(Coverage)、排序損失(Ranking loss)、平均精度(Average precision)作為評(píng)價(jià)指標(biāo)[21]。
漢明損失: 該指標(biāo)用于評(píng)估樣本的真實(shí)標(biāo)記與系統(tǒng)預(yù)測所得標(biāo)記之間的誤差率。即示例具有標(biāo)記Yi但未被識(shí)別出,或不具有標(biāo)記Yi卻被誤判的可能性。
首標(biāo)記錯(cuò)誤: 該評(píng)價(jià)指標(biāo)用于考察在樣本的類別標(biāo)記排序序列中,排名最高的標(biāo)記不是樣本真實(shí)標(biāo)記的可能性。在單標(biāo)記學(xué)習(xí)中,就演化成一般的分類錯(cuò)誤率。
覆蓋距離: 該評(píng)價(jià)指標(biāo)考察了在樣本的類別標(biāo)記排序隊(duì)列中,平均需要多少搜索深度才能覆蓋樣本所有相關(guān)標(biāo)記。
排序損失: 該指標(biāo)用于考察在樣本的類別標(biāo)記排序序列中出現(xiàn)排序錯(cuò)誤的情況。即樣本對(duì)其所具有標(biāo)記的排名低于對(duì)其所不具有標(biāo)記的排名的可能性。
平均精度: 該評(píng)價(jià)指標(biāo)考察了在樣本的類別標(biāo)記排序隊(duì)列中,隸屬度值大的標(biāo)記仍為其相關(guān)標(biāo)記的情況,即反映了預(yù)測類標(biāo)的平均精確度。
本文選用的BP-MLL與常用的RAkEL[22]、MLkNN[23]和Classifier Chain[24](CC)分類方法進(jìn)行比較,分別考慮三個(gè)因素對(duì)實(shí)驗(yàn)結(jié)果的影響。首先,如表2所示,診斷標(biāo)記出現(xiàn)頻次不均衡,且低頻標(biāo)記出現(xiàn)個(gè)數(shù)較多,因此考察不同頻次的類別標(biāo)記集合對(duì)實(shí)驗(yàn)結(jié)果的影響;其次,實(shí)驗(yàn)中利用LDA提取特征時(shí),不同特征數(shù)目對(duì)實(shí)驗(yàn)結(jié)果也有影響,本文也予以考察。因此本節(jié)設(shè)置了三組實(shí)驗(yàn),第一組設(shè)置LDA的主題數(shù)目K為120,比較不同規(guī)模標(biāo)記數(shù)目對(duì)于分類性能的影響,第二組是標(biāo)記數(shù)目為69時(shí),LDA的不同主題數(shù)目對(duì)平均精度的影響,第三組是數(shù)值型特征對(duì)實(shí)驗(yàn)結(jié)果的影響。
首先選定L2=249,LDA的主題數(shù)K=120,結(jié)果如表4所示,“↓”表示值越小效果越好,“↑”表示值越大效果越好(下同)。MLkNN所選用的五個(gè)評(píng)價(jià)指標(biāo)中結(jié)果最好,而BP-MLL除漢明損失表現(xiàn)較差外,在其余四個(gè)評(píng)價(jià)指標(biāo)中也都有排到了第二位,從整體來看MLkNN和BP-MLL都有絕對(duì)的優(yōu)勢。從表4中可以看出,即使是表現(xiàn)最好的BP-MLL和MLkNN算法,其平均精度才為0.691 6±0.005 9和0.625 9±0.009 2。根據(jù)表2統(tǒng)計(jì)結(jié)果,僅出現(xiàn)1次的診斷標(biāo)記有84個(gè),頻次在2~10的96個(gè),兩者共計(jì)180個(gè),對(duì)這部分標(biāo)記進(jìn)行分析,主要是有三種情況:
第一種情況,是由于對(duì)電子病歷并未做分類,因此所抽取的標(biāo)記是所有在產(chǎn)科辦理住院的患者。而有一些針對(duì)產(chǎn)科來講是非典型的診斷結(jié)果,如過敏性皮炎、腹瀉、左上肢骨折、左下肢陳舊性血栓、類風(fēng)濕關(guān)節(jié)炎、抑郁癥等。
第二種情況,是由于醫(yī)生對(duì)入院診斷的書寫習(xí)慣不同造成的,個(gè)別醫(yī)生會(huì)在正常診斷中寫出在類標(biāo)記中出現(xiàn)頻率較低的標(biāo)記,如“單胎妊娠胎”僅出現(xiàn)一次。
第三部分,是較為少見的診斷結(jié)果。在抽取的10 886份電子病歷中,僅出現(xiàn)一次的,如胎兒鼻骨缺失、胎兒十二指腸梗阻和抗磷脂抗體綜合征等。這些標(biāo)記在規(guī)模為10 886的數(shù)據(jù)集中僅出現(xiàn)一次,在一定程度上造成了數(shù)據(jù)的稀疏性。
將只出現(xiàn)一次的類標(biāo)記刪除,形成標(biāo)記集L3,包含165個(gè)類標(biāo)記,實(shí)驗(yàn)結(jié)果如表5所示。在表5中可以看出,除了RAkEL在平均精度上高于BP-MLL,在整體性能上MLkNN和BP-MLL依然是表現(xiàn)最好的兩個(gè)算法,且平均精度值有所提高,且BP-MLL的提高超過了2%。
嘗試進(jìn)一步降低數(shù)據(jù)稀疏性,去除出現(xiàn)頻率不大于10的標(biāo)記,形成標(biāo)記集L4,包含69個(gè)類標(biāo)記,結(jié)果如表6所示。在表6中可以看出BP-MLL在覆蓋距離、排序損失和平均精度都排到了第一位,而MLkNN在整體性能上也有不錯(cuò)的表現(xiàn),且BP-MLL的平均精度高達(dá)0.713 6。
表4 L2=249,K=120時(shí)的實(shí)驗(yàn)結(jié)果
表5 L3=165,K=120時(shí)的實(shí)驗(yàn)結(jié)果
續(xù)表
表6 L4=69,K=120時(shí)的實(shí)驗(yàn)結(jié)果
由于主題數(shù)目對(duì)實(shí)驗(yàn)結(jié)果可能會(huì)有影響,所以本實(shí)驗(yàn)中的K在120上下選取,分別選擇100、110、130、140,并與K等于120時(shí)進(jìn)行對(duì)比。本實(shí)驗(yàn)旨在研究LDA的主題數(shù)目K對(duì)于分類結(jié)果的影響,以平均精度為例,橫坐標(biāo)是不同的主題數(shù)目,縱坐標(biāo)是各個(gè)方法在不同主題下的平均精度。從圖5中可以看出,隨著LDA的主題數(shù)目K不斷增長然后到達(dá)最高點(diǎn),而后下降,在主題數(shù)目為110左右或者120左右時(shí),達(dá)到最高點(diǎn)。MLkNN和BP-MLL整體效果均優(yōu)于其他兩種算法,而BP-MLL算法在整體上優(yōu)于其他三種算法。
圖5 主題數(shù)目K的大小對(duì)四種算法的平均精度影響
為了研究數(shù)值型生理參數(shù)對(duì)實(shí)驗(yàn)的影響,提取了16個(gè)生理參數(shù)作為數(shù)值特征。把這16個(gè)生理參數(shù)加入特征之中,與單獨(dú)用LDA提取的特征作對(duì)比。在標(biāo)記數(shù)目為69時(shí),K為100,110,120,130,140時(shí)實(shí)驗(yàn),具體如圖6,表7所示。其中圖6是加入數(shù)值特征前后,在BP-MLL方法上平均精度的對(duì)比,表7是另三種方法的對(duì)比。
加入生理參數(shù)的數(shù)值特征之后,平均精度均有不同程度的提高。在BP-MLL算法上,當(dāng)K取140,平均精度提高了將近10%。當(dāng)K取120時(shí)達(dá)到了最好的分類效果,其值為0.728 0。可以表明加入數(shù)值型生理參數(shù)之后,在一定程度上彌補(bǔ)了LDA不能表達(dá)數(shù)值特征的缺陷,有效提高了分類結(jié)果。
圖6 數(shù)值型特征對(duì)BP-MLL的平均精度影響
續(xù)表
本文在對(duì)中文產(chǎn)科電子病歷分析的基礎(chǔ)上,把輔助診斷問題轉(zhuǎn)化為多標(biāo)記分類問題任務(wù),比較了四種算法的分類性能,并分別討論了LDA主題數(shù)目,類標(biāo)記集合的大小和不同的分類方法對(duì)實(shí)驗(yàn)結(jié)果的影響。最后加入了提取的生理參數(shù)的數(shù)值型特征提高了各個(gè)算法的性能。當(dāng)標(biāo)記數(shù)目為69,LDA主題數(shù)目為120時(shí),BP-MLL算法取得了最好效果,平均精度達(dá)到了0.728 0±0.013 5,這樣的結(jié)果可為醫(yī)學(xué)院學(xué)生的學(xué)習(xí)提供輔助手段。以往的工作一般是利用公開的數(shù)據(jù)集或者比較規(guī)范、標(biāo)記數(shù)目相對(duì)較少的數(shù)據(jù)集,本文是在真實(shí)的病歷中抽出特征并進(jìn)行診斷,不僅適用于產(chǎn)科電子病歷,同樣也適用于其他的病歷。本文的工作為以后電子病歷尤其是產(chǎn)科方面電子病歷的輔助診斷研究,提供了參考和思路。
從實(shí)驗(yàn)結(jié)果可以看到,分類的平均精度還有一定的提升空間。下一步的工作準(zhǔn)備將多標(biāo)記分類方法與產(chǎn)科醫(yī)療知識(shí)圖譜進(jìn)行融合,進(jìn)行輔助診斷,進(jìn)一步提高輔助診斷的精度及可靠性。
[1] 楊慧麗, 楊孜. 高齡妊娠對(duì)母胎結(jié)局的影響[J]. 中華產(chǎn)科急救電子雜志, 2016, 5(3):129-135.
[2] 衛(wèi)生部印發(fā)《電子病歷基本規(guī)范(試行)》[J]. 中國病案,2010,11(3):64-65.
[3] 楊錦鋒,于秋濱,關(guān)毅,等. 電子病歷命名實(shí)體識(shí)別和實(shí)體關(guān)系抽取研究綜述[J]. 自動(dòng)化學(xué)報(bào),2014,08:1537-1562.
[4] Schapire R E, Singer Y. BoosTexter: A boosting-based system for text categorization[J].Machine learning, 2000, 39(2): 135-168.
[5] Liu S M, Chen J H. A multi-label classification based approach for sentiment classification[J].Expert Systems with Applications, 2015, 42(3): 1083-1093.
[6] Wang C, Yan S, Zhang L, et al. Multi-label sparse coding for automatic image annotation[C]//Proceedings of the 2009 IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2009: 1643-1650.
[7] Zhang M L, Zhou Z H. Multilabel Neural Networks with Applications to Functional Genomics and Text Categorization[J]. IEEE Transactions on Knowledge & Data Engineering, 2006, 18(10):1338-1351.
[8] Goldstein I, Uzuner ?. Specializing for predicting obesity and its co-morbidities.[J]. Journal of Biomedical Informatics, 2009, 42(5):873-886.
[9] 楊小健, 王杉杉, 李榮雨. 一種結(jié)合類別權(quán)重及多示例的多標(biāo)記學(xué)習(xí)改進(jìn)算法[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2017, 38(4):857-862.
[10] 李哲,王志海,何穎婧,付彬. 一種啟發(fā)式多標(biāo)記分類器選擇與排序策略[J]. 中文信息學(xué)報(bào),2013,27(04):119-126.
[11] 李峰, 苗奪謙, 張志飛,等. 基于互信息的?;卣骷訖?quán)多標(biāo)簽學(xué)習(xí)k近鄰算法[J]. 計(jì)算機(jī)研究與發(fā)展, 2017, 54(5):1024-1035.
[12] Teisseyre P. CCnet: Joint multi-label classification and feature selection using classifier chains and elastic net regularization[J]. Neurocomputing, 2017, 235:98-111.
[13] Liu G P, Li G Z, Wang Y L, et al. Modelling of inquiry diagnosis for coronary heart disease in traditional Chinese medicine by using multi-label learning[J]. BMC complementary and alternative medicine, 2010, 10(1): 37.
[14] Shao H, Li G Z, Liu G P, et al. Symptom selection for multi-label data of inquiry diagnosis in traditional Chinese medicine[J]. Science China Information Sciences, 2013, 56(5): 1-13.
[15] Li Y, Li H, Wang Q, et al. Traditional Chinese Medicine formula evaluation using multi-instance multi-label framework[C]//Proceedings of the 2016 IEEE International Conference on Bioinformatics and Biomedicine. IEEE, 2016:484-488.
[16] 徐瑋斐, 顧巍杰, 劉國萍,等. 基于隨機(jī)森林和多標(biāo)記學(xué)習(xí)算法的慢性胃炎實(shí)證特征選擇和證候分類識(shí)別研究[J]. 中國中醫(yī)藥信息雜志, 2016, 23(8):18-23.
[17] 程波, 朱丙麗, 熊江. 基于多模態(tài)多標(biāo)記遷移學(xué)習(xí)的早期阿爾茨海默病診斷[J]. 計(jì)算機(jī)應(yīng)用, 2016, 36(8):2282-2286.
[18] Zhao Y S, Zhang K L, Ma H C, et al. Leveraging text skeleton for de-identification of electronic medical records[J]. Bmc Medical Informatics & Decision Making, 2018, 18(1):18.
[19] 張坤麗,馬鴻超,趙悅淑,等.基于自然語言處理的中文產(chǎn)科電子病歷研究[J].鄭州大學(xué)學(xué)報(bào)(理學(xué)版),2017,49(04):40-45.
[20] 謝幸, 茍文麗. 婦產(chǎn)科學(xué).第8版[M].北京: 人民衛(wèi)生出版社, 2013.
[21] Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation[J]. Journal of machine Learning research, 2003, 3(Jan): 993-1022.
[22] Zhang M L, Zhou Z H. ML-KNN: A lazy learning approach to multi-label learning[J]. Pattern recognition, 2007, 40(7): 2038-2048.
[23] Tsoumakas G, Katakis I, Vlahavas I. Random k-labelsets for multilabel classification[J]. IEEE Transactions on Knowledge and Data Engineering, 2011, 23(7): 1079-1089.
[24] Read J, Pfahringer B, Holmes G, et al. Classifier chains for multi-label classification[J]. Machine Learning and Knowledge Discovery in Databases, 2009 , 85 (3): 254-269.