鄭麗青 張育嘉 彭劍橋
摘要:本文針對支氣管炎電子病歷數(shù)據(jù),利用改進的基于統(tǒng)計的中文分詞算法、粗糙集和決策樹理論對數(shù)據(jù)做了處理;最后采用改進的Apriori算法進行關(guān)聯(lián)分析,實現(xiàn)“數(shù)據(jù)-信息-知識-價值”的轉(zhuǎn)變過程。
關(guān)鍵詞:電子文本病歷;反向最大匹配;Apriori;關(guān)聯(lián)規(guī)則
中圖分類號:TP391.1 文獻標識碼:A 文章編號:1007-9416(2019)05-0055-02
0 引言
隨著醫(yī)院信息系統(tǒng)(HIS)的普及應(yīng)用,其產(chǎn)生的大量數(shù)據(jù)是對醫(yī)療活動的真實記錄。醫(yī)療數(shù)據(jù)具有海量、多樣化、主觀性、價值高、實時性的特點,這使得對病歷數(shù)據(jù)的預(yù)處理成為了醫(yī)學(xué)數(shù)據(jù)分析最大的挑戰(zhàn)之一。HIS是未來醫(yī)院發(fā)展的必然趨勢,電子病歷(CPR)作為HIS的一個重要組成部分,逐漸為近年來的研究熱點。
文本挖掘是從大量非結(jié)構(gòu)化的數(shù)據(jù)中提煉出有用的信息和知識的半自動化處理過程。而分詞算法的優(yōu)劣直接決定了中文文本挖掘的效果。目前的研究中,基于詞庫的算法在中文文本挖掘的分詞技術(shù)中應(yīng)用較為廣泛。這類算法分詞的準確性很大程度上取決于所建的詞庫。但是該算法可能會漏掉某些具有重要意義的未登錄詞匯,從而使得到的結(jié)果不準確。
文獻[3]的作者設(shè)計了一種發(fā)現(xiàn)文本中所有最長頻繁序列的算法,該算法基于“組成一個詞的漢字經(jīng)常在文中以相同的順序重復(fù)出現(xiàn)”的假設(shè)。文獻[4]根據(jù)提取到的詞或詞組的長度和頻數(shù)計算它們的權(quán)重,根據(jù)權(quán)重得到關(guān)鍵詞或詞組。這種算法主要應(yīng)用于包含較多新詞和音譯詞的中文短文本。
電子病歷本身是一種半結(jié)構(gòu)化的數(shù)據(jù),其結(jié)構(gòu)化的內(nèi)容為計算機的自動抽取和分析提供了便利,而非結(jié)構(gòu)化數(shù)據(jù)的規(guī)模遠大于結(jié)構(gòu)化數(shù)據(jù),并且蘊藏著豐富知識信息,但計算機處理起來也更加困難。文獻[5]從詞性標注、組塊分析和句法分析這三部分研究了針對中文電子病歷子語言特征的特殊詞法和句法分析模型,并取得了一些初步的研究成果。
關(guān)聯(lián)規(guī)則挖掘中,眾多算法如Apriori算法和FP-growth算法被廣泛應(yīng)用,并受到了國內(nèi)外絕大多數(shù)人的認可。但是這些算法在實際應(yīng)用中也逐漸暴露出了一些不足。[6][7]文獻[8]提出的改進的Apriori Significance算法允許用戶選擇進行重點關(guān)聯(lián)規(guī)則挖掘的事務(wù)集,并且允許用戶根據(jù)每次關(guān)聯(lián)分析的重點,逐個設(shè)定興趣事務(wù)的興趣因子,并給出了一種綜合考慮用戶興趣和事務(wù)出現(xiàn)頻率的支持度計算方法。
1 研究流程
本文的研究流程如圖1所示。
1.1 文本病歷數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理的基本思路如圖2所示。
1.1.1 候選詞條數(shù)據(jù)集生成
由于沒有現(xiàn)成的分詞詞典,因此要先從數(shù)據(jù)集中選出可能的詞匯,生成分詞詞典。
首先,掃描病歷數(shù)據(jù)集,將每條病歷記錄中的選定屬性用其中全部的非中文字符作為分割符分割成短句,再將全部病歷的短句分割結(jié)果合并在一起生成短句集。接著掃描短句集,將其中每一條短句的每一個長度介于2和max_size之間的子串找出來,合并成候選詞條數(shù)據(jù)集。
令詞條為w,候選詞條數(shù)據(jù)集記為D,則詞條wi的支持度為:
式中,|·|表示集合·中元素的個數(shù)。[9]
刪除候選詞條數(shù)據(jù)集中支持度低于min_sup的項并將相同的詞條合并。
1.1.2 詞條過濾
按照上述方法得到的候選詞條中會有相當一部分的非真實詞匯,因此在進行關(guān)鍵詞匹配前,要先對非真實詞匯進行過濾,以增強匹配的準確度。將候選詞條數(shù)據(jù)集按字符順序排序,掃描候選詞條數(shù)據(jù)集,找出兩個互相包含的詞條。
設(shè)較長的詞條為w1,支持度為sup(w1);較短的詞條為w2,支持度為sup(w2);則詞條w2相對于w1的置信度為:
當計算出的置信度大于max_conf時,表示詞條w2更有可能是真實詞匯。因此去除詞條w1,保留詞條w2;同理,當置信度小于min_conf時,去除詞條w2,保留詞條w1。當置信度位于min_conf和max_conf之間時,兩個詞條均保留[10]。將過濾后的詞條按照長度進行排序,生成關(guān)鍵詞詞典。
1.1.3 關(guān)鍵詞匹配
要使用中文分詞算法進行關(guān)鍵詞匹配,需要先對其進行改進。這里以關(guān)鍵詞詞典作為匹配依據(jù),看病歷的每條記錄中出現(xiàn)了哪些關(guān)鍵詞,并舍棄未匹配成功的字符。
掃描病歷數(shù)據(jù)集,將每條病歷數(shù)據(jù)中的選定屬性用其中全部的非中文字符作為分割符分割成一系列的短句。再把每個短句用關(guān)鍵詞詞典按照改進后的反向最大匹配算法進行關(guān)鍵詞匹配:若某病歷匹配到了一個詞條,則將該病歷的該詞條的記錄值設(shè)置為true,否則為false。對病歷數(shù)據(jù)集的每一個病例數(shù)據(jù)重復(fù)上述操作,直到全部病歷均被匹配完畢。最后遍歷結(jié)果集中每一個詞條的匹配結(jié)果,刪除匹配數(shù)量少于min_sup的詞條及其匹配結(jié)果,得到的布爾矩陣就是關(guān)鍵詞匹配的結(jié)果。
1.1.4 屬性約簡
屬性約簡結(jié)合了粗糙集和決策樹理論的思想,將關(guān)鍵詞匹配結(jié)果視作知識庫,并在保證其分類能力不變的條件下,刪除其中不相關(guān)或不重要的屬性。建立分辨矩陣,求出知識庫的約簡和核,并對此進行排序,得到數(shù)據(jù)預(yù)處理的最終結(jié)果。部分結(jié)果如圖3所示。
1.2 基于Apriori算法的關(guān)聯(lián)規(guī)則分析
基于數(shù)據(jù)的預(yù)處理結(jié)果,將疾病的癥狀對應(yīng)為布爾變量Vi,每個病人的癥狀對應(yīng)為事務(wù)Ti,對應(yīng)結(jié)果(部分)如表1所示。根據(jù)原始數(shù)據(jù)得到每條病歷的事務(wù)表,如表2所示。
在得到的結(jié)構(gòu)化文本中,用Apriori算法挖掘數(shù)據(jù)的頻繁項集。將最小支持度和置信度閾值分別設(shè)定為70%和70%,結(jié)果如表3所示??梢暬Y(jié)果如圖4所示。
依據(jù)得出的頻繁項集,找出事務(wù)間的關(guān)聯(lián)規(guī)則。在最小支持度和置信度閾值分別為70%和70%的條件下,生成8條強關(guān)聯(lián)規(guī)則。剔除缺乏實用性的僅含一個項目的規(guī)則后,最后剩下4條關(guān)聯(lián)規(guī)則??梢暬Y(jié)果如圖5所示。
2 實驗結(jié)果分析
本文采用的算法的優(yōu)點主要有如下幾點。首先,關(guān)鍵詞詞典完全來源于輸入數(shù)據(jù)集,可以保證對數(shù)據(jù)中包含的新詞的收錄;通過計算置信度過濾詞條,能夠屏蔽大量的非真實詞匯;將反向最大匹配算法改進,使其適用于關(guān)鍵詞匹配;最后使用了粗糙集和決策樹理論進行進一步約簡,提高了結(jié)果的準確度。
通過查閱相關(guān)文獻可知,挖掘出來的規(guī)則基本符合醫(yī)學(xué)研究事實。因此可以將算法進行改進,從而推廣并應(yīng)用于相關(guān)領(lǐng)域。
參考文獻
[1] 曾勇.基于關(guān)聯(lián)規(guī)則的電子病歷挖掘的應(yīng)用研究[D].華南理工大學(xué),2012.
[2] 栗偉.電子病歷文本挖掘關(guān)鍵算法研究[D].東北大學(xué),2014.
[3] 胥桂仙,蘇筱蔚,陳淑艷.中文文本挖掘中的無詞典分詞的算法及其應(yīng)用[J].吉林工學(xué)院學(xué)報(自然科學(xué)版),2002(01):16-18.
[4] 陳偉鶴,劉云.基于詞或詞組長度和頻數(shù)的短中文文本關(guān)鍵詞提取算法[J].計算機科學(xué),2016,43(12):50-57.
[5] 蔣志鵬.中文電子病歷的詞法和句法分析研究[D].哈爾濱工業(yè)大學(xué),2017.
[6] 曲翠玉,畢建濤.基于Apriori算法的關(guān)聯(lián)規(guī)則在疾病診斷中的應(yīng)用[J].信息與電腦(理論版),2015(16):8-9+11.
[7] 丁衛(wèi)平,祁恒,董建成,管致錦.基于關(guān)聯(lián)規(guī)則的電子病歷挖掘算法研究與應(yīng)用[J].微電子學(xué)與計算機,2007(03):69-73+76.
[8] 高軍艦.關(guān)聯(lián)規(guī)則在呼吸內(nèi)科診療數(shù)據(jù)中的應(yīng)用研究[D].青島科技大學(xué),2014.
[9] 李春葆,李石君,李筱馳.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘?qū)嵺`[M].北京:電子工業(yè)出版社,2014:86.
[10] 傅賽香,袁鼎榮,黃柏雄,鐘智.基于統(tǒng)計的無詞典分詞方法[J].廣西科學(xué)院學(xué)報,2002(04):252-255+264.