鄭麗青 張育嘉 彭劍橋

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