陳春玲,姜慧敏,郭永安
(1.南京郵電大學 計算機學院、軟件學院,江蘇 南京 210023; 2.南京郵電大學 通信與信息工程學院,江蘇 南京 210003)
隨著醫療信息化,對醫療大數據的深入分析研究,大量的醫療數據不僅是對醫療過程的記錄,還被用于深入地進行數據挖掘和分析,從中總結出這些數據的隱藏價值,促進醫學技術的發展,提高醫療檢測系統的有效性[1]。但是,醫療大數據使用過程中出現的問題也不容小覷。對于醫療信息,一方面通過對醫療信息數據的挖掘,對病癥的診斷、治療、藥物開發、臨床試驗、發現疾病等提供科學決策具有重要意義。但在另一方面,在數據對外發布使用之前,如果病人的數據被完全泄露,可能會侵犯到病人的隱私,甚至由于數據的泄露,個人數據信息被隨意交易,給病人帶來更加嚴重的影響。馮登國等人[2]對于大數據的隱私保護提出了六種方法,其中包括匿名、數據溯源、訪問控制等方法類別。但是這些方法實際上都是對數據進行處理,對數據的路徑追蹤以及數據權限的訪問,而缺乏對源數據的分類的考慮。國內現有的對醫療領域的隱私保護技術[3-4]主要是基于匿名化的醫療數據隱私保護、基于醫療數據加密的隱私保護、基于訪問控制的醫療數據隱私保護以及醫療數據的分級保護。文中從對醫療敏感數據的分類入手,以提高后續敏感數據的處理效率為目標進行醫療數據的隱私保護。
傳統的醫療文本分類方法,側重于進行醫療數據的分類管理[5],對如何快速地從醫療數據中分類敏感數據與非敏感數據的研究較少,考慮選擇合適的方法對醫療信息進行敏感性分類,對于醫療信息的隱私保護技術的提高具有重要意義[6]。在傳統的文本分類方法中,通常只有一個階段的特征選擇,其中使用較為廣泛的是基于TF-IDF的特征選擇方法。TF-IDF方法是一種利用文檔中的術語頻率賦予權重進行特征排名的特征選擇方法,對于醫療敏感文本,由于其數據結構涵蓋了結構化、半結構化和非結構化數據,僅僅考慮術語頻率對于特征選擇的效率和分類的效果是不夠的。考慮到醫療敏感文本的特殊性,在特征選擇的過程中,還要考慮特征的降維,以提高分類的準確率,因此需要對傳統的醫療文本分類方法進行改進。文中提出的基于LSI-TF-IDF兩階段特征選擇的醫療文本分類方法,在特征選擇階段通過連續的兩個階段的特征選取和特征降維,提高分類的準確率,從而達到對醫療敏感文本分類的高效性。
傳統的醫療文本分類主要側重于自由文本分類。文本分類的過程,一般包括四個步驟:文本預處理、特征選擇、分類、評估[7]。
第一步中,在讀取輸入文本文檔之后進行文本預處理。此時,文本文檔被劃分為特征,數據表示中的文本文檔則被表示為向量空間,而其組件是該特征及其特征在該文本文檔中每個特征的頻率所占據的權重。而后對其進行刪除非信息特征操作,包括消除停用詞、處理分詞、文本標記、詞干還原等步驟。
第二步中,特征選擇的主要作用是減小數據大小,提高預測精度,提取重要特征,輕松理解屬性或變量,最終減少執行時間。特征選擇的過程可以概括為:對預處理過的文本進行搜索生成特征子集,通過評估產生最好的子集,通過驗證方法驗證產生的子集是否是最佳子集,若是最佳子集,則達到停止標準;若不是最佳子集,則當達到最大迭代次數時會停止循環。根據特征選擇的評估任務,可以將特征選擇方法分為兩類:基于過濾的方法和基于包裝的方法,分類依據按照是否依賴分類器進行劃分。具體的特征選擇方法包括文檔頻率(DF)、Pearson相關標準、相關系數、信息增益(IG)、互信息(MI)、χ2統計、期望交叉熵(CE)、文本證據權重(WET)、遺傳算法(GA)等[8-10]。
在第三步中,分類器的功能是根據文本文檔的內容將其合并為一個或多個預定義的類別[11]。傳統文本分類方法來源于模式分類,可以分為三類[12]:第一類是基于統計方法,如樸素貝葉斯、支持向量機(support vector machine,SVM)、K-近鄰(K-nearest neighbor,KNN)、Rocchio等算法;第二類是基于連接的方法,如人工神經網絡;第三類是基于規則的方法,如決策樹、關聯規則、粗糙集等。有很多算法用作分類器,但廣泛使用的算法(分類器)[13-14]是決策樹分類器、SVM分類器、樸素貝葉斯分類器和K-最近鄰分類器。
第四步中,由于文本數據被分為測試集和數據集,通過測試集對訓練集訓練得出的分類器模型進行評估。對訓練集和測試集的劃分可以通過保持法和K折交叉驗證法實現。目前對于文本的分類處理來說,評價的方法和指標包括召回率(recall ratio)、精確率(precision ratio)和F1度量[15]。
傳統醫療文本分類是基于TF-IDF特征選擇方式僅考慮用文本中的詞頻進行特征選擇,而未考慮到醫療敏感本文數據結構的復雜性,單一階段的特征選擇之后,分類效果并不夠理想。不同于傳統醫療文本分類的單一階段特征選擇方式,下一節提出的基于LSI-TF-IDF兩階段特征方法,通過連續利用現有特征降維和特征選擇方法對文本進行特征選擇,對醫療文本進行敏感性分類。
基于LSI-TF-IDF兩階段特征選擇方法包括兩個階段:第一階段采用LSI方法,對原始文檔進行特征降維;第二階段采用TF-IDF方法從原始文檔中獲得權重數字表示,進行特征提取。
潛在語義索引(latent semantic indexing,LSI)[16]是一種流行的線性代數索引方法,通過詞同現產生低維表示。LSI的目的是在最小化全局重建誤差的基礎上,找到原始文檔空間的最近似子空間。它基于奇異值分解(singular value decomposition,SVD)并將文檔向量投影到近似子空間中,用余弦相似性準確地表示語義相似性[17]。給定一個術語文檔矩陣X=[x1,x2,…,xI]∈Rm,假設X的等級為R,對X進行奇異值分解,如式(1)所示:
X=U∑VT
(1)
其中,∑=diag(δ1,δ2,…,δr),且?1≥?2≥…≥?r是X的奇異值。U=[u1,u2,…,ur],ui是左奇異向量,V=[v1,v2,…,vr],其中vi是右奇異向量。
詞頻-逆文本術語頻率(term frequency-inverse document frequency,TF-IDF)是由Sparck Jones[18]提出的IDF演化而來的,TF-IDF認為比起在少數文檔中出現的術語,在許多文檔中出現的術語,應該賦予更少的權重[19]。TF-IDF術語加權的公式如下:
(2)
其中,wi,j表示文檔j中術語i的權重,N是集合中文檔的數量,tfi,j是文檔j中術語i的術語頻率,由式(3)定義,dfi是集合中術語i的文檔頻率,由式(4)定義。
(3)

(4)
其中,|D|表示文件總數,|{j:ti∈di}|表示包含詞語ti的文件數目(即ni,j≠0的文件數目)。
LSI-TF-IDF兩階段特征選擇算法如下所示:
Algorithm:LSI-TF-IDF算法。
1.輸入:經過文本預處理后的dataset,存放于文檔列表doc_list中
2.輸出:返回特征選擇詞典dict_feature_select
3.根據式(1)計算文檔向量矩陣X和查詢矩陣Q
4.對矩陣X進行奇異值分解,得到左奇異值U和右奇異值V
5.計算query-document的余弦相似度
6.返回相似度最高的語句sims
7.sims切片存放于詞列表list_words中
8.進行詞頻統計
9.根據式(3)計算每個詞的TF值
10.根據式(4)計算每個詞的IDF值
11.根據式(2)計算每個詞的TF*IDF術語加權
12.對字典值由大到小排序
在兩階段的特征選擇中,首先采用LSI方法形成文檔矩陣,采用余弦相似性評估文檔矩陣,進行數據降維。而后利用TF-IDF方法,對降維后的文檔數據中術語頻率進行排序,從而完成特征提取。完成特征選擇之后,緊接著就是對特征樣本進行分類,最后在分類出的敏感樣本和普通樣本結果上,對其進行評估。因此,LSI-TF-IDF兩階段特征選擇算法用于醫療敏感文本分類的流程包括以下五個步驟:文本預處理、LSI特征降維、TF-IDF特征選擇、分類、評估。
實驗數據集使用736份糖尿病文本病歷樣本,對其進行處理,將它分為敏感樣本和普通樣本。在Pycharm平臺上使用,并使用python語言進行設計,中文分詞工具是Jieba。在分類器訓練部分,分別選擇了樸素貝葉斯、KNN和SVM作為文中的分類算法。在特征選擇階段,對基于TF-IDF方法和基于LSI-TF-IDF兩階段特征選擇方法進行比較。對于分類結果評估,采用10倍交叉驗證法對數據集進行評估。
對于分類結果的評價標準可以通過精確率、召回率和F1值進行評估。
召回率也稱為查全率。在文本分類中,正確識別出屬于C類的文本數與測試集中實際存在的屬于C類的文本總數的比值為分類召回率,公式如下:
(5)
其中,TP表示由分類器正確計算將屬于C類的文本判定屬于C類;FN表示由分類器錯誤地將屬于C類的文本判定為屬于其他類。
精確率也稱為查準率。正確識別出的屬于C類的文本數與識別出的屬于C類的文本數二的比值,為分類精確率,公式如下:
(6)
其中,TP表示由分類器正確計算將屬于C類的文本判定屬于C類;FP表示由分類器錯誤地將應屬于其他類的文本判定為屬于C類。
F1度量是基于精確率和召回率的調和平均,定義如下:
(7)
其中,P為精確率,R為召回率。
實驗通過對糖尿病文本數據進行敏感樣本分類,基于TF-IDF的傳統文本分類方法的實驗結果以及評價標準比較分別如表1和圖1所示,基于LSI-TF-IDF的兩階段文本分類方法的實驗結果以及評價標準比較分別如表2和圖2所示。

表1 基于TF-IDF的分類結果

表2 基于LSI-TF-IDF的分類結果

圖1 基于TF-IDF的醫療敏感文本分類

圖2 基于LSI-TF-IDF的醫療敏感文本分類
由表1和表2對比顯示,在經過連續兩階段的特征降維和特征選擇后,正確分類出的敏感樣本數目有所增加,對于樸素貝葉斯分類器,正確分類的敏感樣本數由313份增加到331份;對于KNN分類器,正確分類的敏感樣本數由296份增加到324份;對于SVM分類器,正確分類的敏感樣本數由327份增加到345份。
由圖1和圖2對比顯示,對于樸素貝葉斯分類,基于LSI-TF-IDF兩階段特征選擇算法的分類精確率相比于單一的基于TF-IDF特征選擇的分類精確率由89.2%上升到90.2%,召回率也由84.6%上升到89.5%;對于KNN分類,基于LSI-TF-IDF兩階段特征選擇算法的分類精確率相比于單一的基于TF-IDF特征選擇的分類精確率由82.7%上升到87.1%,召回率也由80%上升到87.6%;對于SVM分類,基于LSI-TF-IDF兩階段特征選擇算法的分類精確率相比于單一的基于TF-IDF特征選擇的分類精確率由91.9%上升至92.7%,召回率由88.4%上升至93.2%。可以看出無論是精確率、召回率還是F1值,基于兩階段特征選擇的醫療敏感文本分類都比傳統醫療敏感文本分類有所提高。
因此,根據對實驗結果的對比分析,對于醫療文本的敏感性分類而言,基于LSI-TF-IDF兩階段特征選擇的文本分類方法比傳統的基于TF-IDF文本分類方法取得了更好的分類效果。
從對敏感數據的分類角度切入隱私保護,針對傳統的文本分類方法用于醫療敏感數據的分類準確性不足的問題,提出了基于LSI-TF-IDF兩階段特征選擇的醫療敏感文本分類方法,通過連續兩階段的特征降維和特征提取,提高分類的準確性,解決了傳統分類方法的不足。以TF-IDF特征選擇為例,通過實驗對傳統的基于TF-IDF醫療文本分類方法和基于兩階段文本分類的醫療敏感文本分類方法進行比較。實驗證明,基于LSI-TF-IDF兩階段特征選擇的文本分類方法對于醫療敏感文本分類具有更好的效果。但是,由于醫療數據量大,文本數據包括半結構化數據和非結構化數據,分類器的選擇不同會導致分類速度和分類結果的準確性有差別,如何針對醫療數據的特點選擇性能最好的分類器,需要具體的進一步研究。