,
電子病歷是基于特定系統的電子化患者記錄,電子病歷系統提供用戶訪問完整準確的數據、警示、提示和臨床決策支持系統的能力[1]。電子病歷數據是患者在醫療機構歷次就診過程中產生和被記錄的完整的、詳細的非結構化數據,具有數量多、復雜性、內容豐富的特點[2-4]。如何對電子病歷的非結構化文本信息進行標注和分析、索引、查詢,進而挖掘并獲取有效信息,成為醫療健康領域中一個亟待解決的問題。
聚類(clustering)是文本挖掘的主要手段之一,是指將數據集劃分為若干組(class)或類(cluster),并使同一個組內的數據對象具有較高的相似度[5]。電子病歷聚類是將工程中非監督模式識別運用于電子病歷的數據挖掘中,將沒有標記的電子病歷劃分為多個子集,使同一個子集中電子病歷的相似度盡可能的大,不同子集中的電子病歷相似度盡可能的小。電子病歷聚類對疾病歸類、疾病的發展過程、臨床治療措施的選擇以及研究等均具有重要的意義[6]。
現有的電子病歷聚類主要采用非隱語義模型,其核心思想是通過隱含特征,聯系患者的病狀、病程,從而找到電子病歷潛在的主題和分類。其方法主要有詞袋模型和向量空間模型。
詞袋模型是最簡單的文本處理方法之一,其基本原理是將文檔看作一個裝滿了詞語的袋子,認為每個詞都是獨立的不依賴其他詞。詞袋模型將電子病歷定義為由電子病歷文檔中的詞組成的詞袋,在電子病歷的聚類中得到部分應用,但由于電子病歷文本的特殊性,詞袋模型在其聚類中也出現了很多問題[7-8]:特征詞詞頻減少,如不同患者的對同一個意思的不同表述,會造成表述同一意思的詞頻減少,進而造成對電子病歷的聚類效果不理想;停用詞影響結果相關性,如在電子病歷詞袋中“你、我、他”等停用詞出現頻率較高,不但對電子病歷聚類毫無意義,還導致產生聚類的結果相關性低等問題;通過詞頻度量相關性有缺陷,如在疾病分類中用“發燒”這個詞在電子病歷描述中出現的頻次衡量其相關性,會導致所有的發熱癥狀都具有相關性,顯然僅通過詞頻度量相關性是不夠準確的。
向量空間模型將文本表示成特征項和特征項權重組成的向量,使用余弦函數進行距離度量[7],以空間上的相似度表達語義的相似度。
向量空間模型在電子病歷聚類中的應用為:將一條電子病歷表達為一個向量,每個詞為向量的一個維度,用余弦定理對電子病歷間的相似度進行計算,通過比較權重度量電子病歷的相關性。這種模型主要存在以下問題:一是語義相關缺陷。向量空間模型不能夠表達文檔中詞條之間豐富的語義關系[9]。其對電子病歷的聚類默認了每個詞語之間的完全獨立,忽略了電子病歷中詞語的語義關系,如“發燒”和“發熱”表述是同一意思,然而向量空間模型無法較好聚類語義相近的電子病歷。二是度量衡表達問題。電子病歷中存在大量的詞語,用向量空間模型計算后的電子病歷特征詞是一個多維稀疏矩陣[10],兩個相似對象之間的距離與兩個不相似對象之間的距離差別不大,這種聚類方式區分力不強,效果不理想。
針對詞袋模型和傳統的向量空間模型應用于電子病歷聚類的不足,本文將自然語言處理技術同面向屬性的歸納聯系起來,提出一種基于關聯關系的電子病歷聚類方法,目的是挖掘電子病歷中存在關聯關系特征詞的隱含語義。
由于醫學的特殊性,特征詞的完整性顯得尤為重要[11]。本文采用詞袋模型加上人工干預提取每條電子病歷的特征詞。詞袋模型的優點在于保證了特征詞的完全提取,缺點是將很多停用詞也提取出來。人工剔除停用詞,人工干預語義一致性,既保證了特征詞的完整性又解決了停用詞影響特征詞相關性以及特征詞與病歷的語義一致性問題[12-15]。
如某電子病歷影像學診斷結果為“經腹部彩色多普勒超聲檢查(胃腸道)無異?!?,用詞袋模型提取的特征詞為“經”“腹部”“彩色”“多普勒”“超聲”“檢查”“胃腸道”“無”“異?!?,去掉停用詞“經”,為保證語義一致性將特征詞“無”和“異?!焙喜椤盁o異常”。
2.2.1 電子病歷的空間向量定義
根據向量空間模型的權重衡概念,假設電子病歷集文檔為D,可以計算其特征詞的權重,計算定義為如下:

(1)
其中tft,d代表電子病歷中特征詞語t在電子病歷集D中出現的頻次,dft代表包含特征詞t的文檔數目,N代表全部電子病歷的數目。
在空間向量模型中,可由電子病歷的特征詞權重組成的特征詞向量表示電子病歷。假設D中包含有dn條電子病歷,每條電子病歷的特征詞經過公式(1)計算均可得到其權重,用矩陣表示如下:
(2)
其中M為i×j的矩陣,矩陣的每一行表示一條電子病歷,每一個元素表示某個詞的權重。
2.2.2 特征詞關聯關系定義
向量空間模型的目的是使特征詞在電子病歷中的權重衡更加合理,但不足之處是不能表達特征詞之間隱含的語義關系。如果能在權重衡的基礎上輔以關系量來表達特征詞的權重將更準確地表達特征詞的語義。
假設特征詞mi,mj同時出現在電子病歷文檔dk中,記做(mi,mj)∈dk;特征詞mi,mx同時出現在電子病歷文檔dl中,記做(mi,mx)∈dl;據數理定理得mi∈(dk∩dl)。據此,我們認為電子病歷dk和dl有關系。進一步,我們可以用特征詞在不同電子病歷出現的頻次衡量不同電子病歷之間的關系。根據廣義Jaccard系數計算不同電子病歷相似性,定義如下:

(3)
由前述假設,在電子病歷集合D中,如果特征詞mi,mx同時出現在兩條不同的電子病歷中,則說明這兩條電子病歷具有關聯關系,結合定義(1)與(3),定義電子病歷dk,dl的關聯關系度如下:

(4)
其中,Wxk,Wxl分別為特征詞mi,mx在電子病歷dk和dl中的權重。
2.2.3 特征詞關聯關系完整性語義度定義
前述(1)(2)(3)(4)定義了電子病歷特征詞的關聯關系度,但忽略了特征詞之間的完整性。利用主成分分析法對關聯關系度進行加權,因此電子病歷特征詞關系完整性語義度定義如下:
Ccontact(dk,dl)=λCcontact(dk,dl)
(5)
其中λ為主成分系數,是電子病歷特征詞權重向量方差除以方差和,λ介于0到1之間。λ值越大,關聯關系度越緊密,從而保證了結果的一致性。
2.2.4 電子病歷相似度計算
經過關聯關系語義分析之后,電子病歷可以表示成一個包含隱含語義的一個向量d。通過向量空間模型的余弦定理可以計算電子病歷的相似度定義為:

(6)
公式(6)考慮了特征詞的隱含語義和特征詞的完整性,因此對電子病歷的區分度更好。
本驗證基于重慶醫科大學附屬兒童醫院2 294條川崎病電子病歷數據,構建3個數據集D1,D2,
D3,分別代表門診病歷數據集。此數據集包括了門診的病歷,如患者口述、既往病史等;檢查病歷數據集,包括了患者各項門診檢查和住院檢查的相關記錄;住院病歷數據集,包括了患者住院的各項記錄。采用K-平均聚類算法與本文改進的關聯關系聚類從時間效率與準確率兩方面進行比較。
K-平均聚類算法的思想是將特征詞集分成N個簇,并將相似的特征詞放入相應的簇中,從而實現特征詞的聚類。K-平均聚類算法本文采用歐式距離公式計算,其算法如下:
(7)
依據K-平均聚類算法思想,其實現步驟如下:將初始質心盡可能的均勻分布(表1),依據公式(7)計算質心點與數據點的距離,計算其簇內均值并將其作為新的質心點,重復以上3步直至不再有新的質心出現。
依前討論的結果,基于關聯關系的聚類算法實現步驟如下:利用詞袋模型分別對3個主題集分詞依據公式(1)(2)計算特征詞的權重,并形成特征向量矩陣,依據公式(3)和(4)計算電子病歷的關系度,利用公式(5)對關聯關系加權計算得到特征詞之間的完整語義,利用公式(6)計算電子病歷相似度。
根據3.1和3.2,得出3個主題的聚類描述及結果(表1)。

表1 不同主題聚類結果對比
筆者請重慶醫科大學附屬兒童醫院相關專家對3個數據集樣本內的特征詞進行標注,其聚類的準確率是100%。表2是根據K-平均聚類算法和關聯關系聚類算法對同一數據集進行實驗結果準確率對比的數據。

表2 K-平均聚類算法準確率與關聯關系聚類算法
實驗結果顯示,采用關聯關系聚類模型得到的結果準確率比采用簡單向量空間模型得到的結果準確率平均提高了2.16%,說明通過關聯關系挖掘出電子病歷特征詞隱含語義得到的聚類效果更準確。
從3.1和3.2的算法實現中我們可以發現,采用K-平均聚類需要多次循環,如果初始質心選擇不當,循環的次數將會很大;采用本文的關聯關系聚類無須多次循環迭代,用時較少,效率更高。
基于關聯關系的電子病歷聚類算法的原理是利用經典的詞袋模型對電子病歷進行分詞,在廣義的向量空間模型基礎上,通過找出電子病歷間相同特征詞的頻次,并進一步分析其潛在的隱含語義。關聯關系聚類既利用了向量空間模型的度量衡優勢,又考慮了詞語之間隱含的語義關系,使電子病歷的特征詞更加全面地表達電子病歷向量,增加同類電子病歷之間的相似度,降低不同類電子病歷之間相似度,提高了電子病歷的聚類效果。引入主成分系數保證了結果的一致性。實驗表明,該算法比傳統的聚類方法更優。本文采用的構建模型方法簡單、實用、效率高,擺脫了傳統的“一病一法”粗糙聚類方法;軟件的實現相對簡單,開發成本低,亦可用于其他病種。關聯關系聚類為推動電子病歷數據挖掘、疾病的分類管理、分級診療、計算機輔助決策、精準醫療的全面實施提供有力知識保證。
實驗中筆者也發現一些問題,如利用詞袋模型分詞時工作量較大,空間向量降維計算較復雜。因此下一步的工作首先是優化詞袋模型,從而減少分詞的工作量;其次采用關聯規則的空間向量進行有效特征降維處理,提高文檔表示模型的質量,簡化相關計算,提高聚類效率。