林英姿 曾宇平 徐飛龍 傅昊陽
(廣東省中醫院 廣州 510000)
?
基于Hadoop的分布式樸素貝葉斯智能診斷系統
林英姿 曾宇平 徐飛龍 傅昊陽
(廣東省中醫院 廣州 510000)
介紹基于Hadoop的分布式樸素貝葉斯智能診斷系統的研究思路、設計與實現,結合系統在廣東省中醫院的應用情況對其進行優化與改進,包括算法改選設計及系統準確率、擴展性、安全性等方面。
Hadoop; 分布式貝葉斯; 智能診斷
醫療領域經過近30年的信息化建設,積累了海量電子化病歷、檢查、檢驗、處方、診療費用等數據,正向數據密集型、數據驅動型方向發展。而其中電子病歷作為患者在醫療機構歷次診療信息的完整記錄,蘊含的醫學信息具有潛在價值性。通過對電子病歷數據進行挖掘,實現臨床決策支持、減少誤診及醫療疏忽,已成為醫療質量管理的重要內容[1]。目前已經有學者對樸素貝葉斯算法在冠心病、糖尿病等疾病臨床輔助診斷決策以及中醫癥候診斷等方面進行了探索,對樸素貝葉斯算法進行了優化與改進研究[2-3]。但總體而言,基于貝葉斯的臨床決策支持應用存在決策支持病種單一、訓練數據非臨床一線病歷、訓練數據規模有限、算法傳統串行實現效率受單機硬件配置限制等問題[4]。本研究基于廣東省中醫院海量真實電子病歷,在醫院私有云平臺上搭建Hadoop集群并部署優化后的分布式樸素貝葉斯算法,進行智能診斷應用研究,以輔助臨床決策。基于Hadoop的分布式樸素貝葉斯智能診斷系統是指利用云計算、Hadoop、樸素貝葉斯及相關文本分類挖掘技術,具有海量病歷文本訓練數據采集、存儲、分布式并行處理以及智能預測等功能的信息管理系統。下文基于Hadoop的分布式樸素貝葉斯智能診斷系統均簡稱為智能診斷系統。
2.1 智能診斷數據挖掘算法選擇
2.1.1 樸素貝葉斯算法在文本分類方面具有獨特優勢 首先,樸素貝葉斯分算法基于獨立假設,即假設樣本每個特征與其他特征不相關,每個特征的分布都可以獨立地當作一維分布來估計,當樣本的特征個數增加時,不需要使樣本規模呈指數增長,只需要估計各個變量;其次,獨立假設會導致一定的不準確性,但樸素貝葉斯分類器中,依據最大后驗概率決策規則,只要正確類的后驗概率比其他類高就可以得到正確的分類,抗噪音能力強,所以分類器有足夠的魯棒性彌補獨立假設的缺陷[5];第三,隨著樣本量的不斷增大,在獲得更多關于樣本特征信息后,可以依照貝葉斯公式對先驗概率不斷進行修正,對后驗概率進行優化,不斷提高分類決策的準確性和置信度。
2.1.2 從算法角度考慮 樸素貝葉斯應用于臨床決策、診斷,能夠通過綜合分析患者相關影響因素,客觀準確地把握各種臨床信息權重,有效地根據診斷試驗的靈敏度、特異度、患病時各癥狀出現的概率(條件概率),結合各種疾病在人群中的比例(先驗概率),計算出患者患某病的概率(后驗概率),減少經驗主義方法的偏倚[6-7]。因此,智能診斷系統采用樸素貝葉斯算法作為系統的核心算法。
2.2 海量真實病歷訓練數據選擇
分類模型訓練數據的準確性直接影響到樸素貝葉斯算法的計算結果,為在最大程度上保證準確率,系統訓練數據全部采用醫院真實病歷文本。醫院年門診量達700萬人次,通過病歷篩選將10個專科質量較高的10萬份病歷納入訓練數據資源池,訓練數據規模大。
2.3 大數據并行運算
2.3.1 意義 大數據時代,當訓練病歷達到很大數量級時,訓練集增大必將占用更多的計算資源。傳統樸素貝葉斯算法的串行實現機制中,算法的訓練階段與分類預測階段都在單機上進行,必然會受到硬件資源不足的限制,最終導致機器性能下降甚至無法完成計算任務。然而在臨床診療過程中,臨床醫生對于系統運算效率、系統響應時間有極為嚴苛的需求,如何在系統用戶并發數量多時提供實時或準實時的數據分析查詢能力,對于系統具有重要意義。
2.3.2 過程 基于Hadoop的分布式貝葉斯算法采用分布處理的思想,通過對樣本進行分散統計與集中整合的方式來構造分類器[8]。系統基于私有云平臺,搭建Hadoop集群,樸素貝葉斯分類算法在MapReduce并行化后部署在Hadoop集群上運行。具體實現表現在,訓練過程中,Map階段進行類別數及詞頻統計的過程分布在多個節點同時進行,對應Reduce過程將各節點的統計頻度進行匯總。分類過程中,未分類樣本之間相互獨立,所以樣本的分類預測只需要使用Map逐個處理,不需要進行Reduce過程,當多個用戶同時提交請求時,只需將不同用戶請求提交給不同的Map節點并行處理即可。
3.1 智能診斷系統總體技術架構設計
基于Hadoop的分布式樸素貝葉斯智能診斷系統總體技術架構設計,見圖1。

圖1 智能診斷系統總體技術架構
3.1.1 基礎設施層 提供智能診斷系統模型訓練數據的分布存儲與并行計算的硬件基礎設施和平臺。該層并行架構及私有云平臺基于普通商用服務器即能滿足需求,優勢在于一方面可將組織內部閑置或利用率不高的現有硬件納入到云平臺,另一方面能夠運用云計算的虛擬化和彈性資源調度技術為數據分析處理提供可伸縮的計算資源和基礎設施。
3.1.2 數據采集與預處理層 主要從電子病歷數據庫中抽取數據,主要包括病歷主訴、既往史、過敏史、中醫診斷、西醫診斷等字段。在詳細分析數據源的數據結構及質量基礎上,將文檔處理成貝葉斯模型文本輸入格式,形成貝葉斯分類模型的訓練數據池。
3.1.3 數據存儲管理層 基于云平臺搭建Hadoop集群,設計Hadoop分布式文件系統(Hadoop Distributed File System,HDFS)模型及MapReduce模型,進行電子病歷數據存儲。目前平臺只將歷史病歷數據加載到Hadoop平臺,病歷實時數據流加載暫未進行研究。HDFS存儲模型特有的數據冗余機制,能夠保證數據存儲安全。
3.1.4 算法分析層 主要可劃分為兩個步驟:第一是貝葉斯訓練算法設計,第二是貝葉斯預測算法設計。兩個步驟都涉及中文分詞,分詞的好壞直接影響到貝葉斯分類器模型的性能及后續分類的結果。系統采用多層隱馬爾科夫模型進行分詞處理,這是目前中文分詞領域性能較好的一種模型。
3.1.5 應用服務層 系統支持B/S架構,用戶(臨床醫護人員、系統管理員、患者)采用自然語言或關鍵詞方式輸入,結果可通過多方式(圖形、概率值)進行展示,實現對病種的預測、專題分析等功能。
3.2 智能診斷實現過程
基于Hadoop的分布式樸素貝葉斯智能診斷系統對歷史海量真實病歷數據訓練得到貝葉斯分類預測模型,通過該模型預測文本所屬的類別,即預測醫生所輸入的癥狀描述文本所對應的病種。系統流程主要可分為兩大部分:第一部分是貝葉斯分類器模型訓練,第二部分利用貝葉斯分類模型進行分類預測,見圖2。

圖2智能診斷系統流程
3.3 智能診斷系統實現
醫院智能診斷系統具體實現界面,見圖3。臨床醫生只需在瀏覽器頁面癥狀文本框中輸入患者癥狀,系統就可以進行智能診斷,將診斷結果以圖像化界面方式輸出。

圖3 智能診斷系統界面
4.1 概述
基于分布式設計實現的樸素貝葉斯文本分類器具有高數據容量、高效性、可靠性和易擴展性[9],目前系統已經在廣東省中醫院幾個專科測試應用,在保證基于病歷文本的智能診斷準確率的前提下,能夠有效提升海量病歷文檔分類預測的速度,實現毫秒級的響應時間。
4.2 算法改造設計
4.2.1 算法并行化設計與改造 明確哪些計算過程需要并行化分析、結果如何匯總。訓練過程中Map階段進行類別數及詞頻統計,對應Reduce過程將各節點的統計頻度進行匯總。分類過程中,未分類樣本之間相互獨立,所以樣本的分類預測只需要使用Map逐個處理,不再需要進行Reduce過程,Map結果直接輸出即可。
4.2.2 算法的優化 充分考慮醫學決策特點(高級職稱醫生病歷權重、疑難診斷病歷權重),采用加權、文本向量空間模型方法對病歷數據進行預處理,提高病歷數據質量和決策分析準確率。另外一點考慮就是針對分類樣本屬性的加權,因為有些屬性對分類影響要大一些,而另外的屬性則要小一些。在參考國內外研究成果基礎上提出屬性加權樸素貝葉斯算法,進一步提高樸素貝葉斯分類器性能[10-11]。
4.3 系統準確率改進
由于臨床診療的復雜性,診療決策很難保證完全正確,因此基于樸素貝葉斯算法的智能診斷準確性也無法達到百分之百。系統分類模型訓練數據以及前驗概率的準確性直接影響到樸素貝葉斯算法的計算結果,為在最大程度上保證系統準確率,訓練數據全部采用醫院真實病歷文本,可信度高,而且規模大,保證貝葉斯分類模型的準確性。選擇醫院病歷質量較好的幾個專病專科,對其歷年臨床電子病歷進行了詳細的調查與病例分析,輔助對人群患病率進行預估算。同時系統具有很好的優化調整能力。一方面體現在樸素貝葉斯分類模型建立之后,新增的病歷也可以不斷加載到Hadoop集群上的訓練數據池,對模型進行進一步的優化與調整;另一方面,系統應用過程中可進一步獲得更多關于樣本特征的信息,依照貝葉斯公式對先驗概率進行修正,得到后驗概率,提高分類決策的準確性和置信度。
4.4 系統擴展性
基于云平臺搭建的Hadoop集群具有很好的冗余性、可擴展性。一方面,集群提供了數據冗余、備份機制,某個節點出現問題不會影響到整個計算過程,只需將節點分配的計算任務重新分配給另外一個節點即可;另一方面,MapReduce在處理樸素貝葉斯分類算法上具有較好的加速比,通過MapReduce計算框架將在串行實現機制中的一些計算過程并行化,總處理時間隨著參與計算節點的增加而減少,增加計算節點可以提高系統對規模相同數據的處理能力[12]。當集群計算能力不足時,只需利用云計算的虛擬化和彈性資源調度技術,集群中添加新的節點即可[13]。需要注意的是Hadoop集群上完成樸素貝葉斯算法需要完成多個MapReduce作業,每個作業的啟動和交互等需要消耗一定的資源且占總消耗的比例大。只有當需要處理的樣本數據量規模足夠大時,通過擴展計算節點才可以有效提高系統計算效率。
4.5 系統安全性
大數據的應用需從多個數據庫和信息系統中獲得相應的信息,添加數據分析功能,一定程度上預示著數據的開放、共享,而數據的開放與共享必將引起患者隱私安全保護等問題。電子病歷隱私問題包括個人隱私保護、重新識別攻擊、結果可信度、數據欺詐等[14]。在分析醫療電子病歷數據主體的隱私安全問題、安全需求、攻擊模型及系統特征的基礎上,管理層面上采用權限管控,技術層面上采用日志監控、數字水印、數據脫敏、匿名化、標識轉換[15]等機制,防止敏感數據的越權查詢和泄露。
醫院經過多年信息化建設,積累海量電子病歷數據,其蘊含的醫學信息與知識亟待挖掘、利用。本文針對廣東省中醫院海量真實電子病歷建立的基于Hadoop的分布式樸素貝葉斯智能診斷系統在臨床智能診斷、決策支持方面取得了較好的應用效果。目前只將歷史病歷數據加載到Hadoop平臺,病歷實時數據流加載暫未進行研究。未來將對病歷實時加載至智能診斷平臺進行研究,對智能診斷核心算法不斷進行優化與改進。
1 吳煒,楊梅瑰,唐飛岳. 基于數據挖掘技術的輔助醫療診斷研究[J]. 醫學信息學雜志,2010,31(12):22-26.
2 柳秋云.改進的樸素貝葉斯分類器在醫療診斷中的應用[J]. 科技創新導報,2008,(31):192,194.
3 劉智,桑國明,魯明羽.基于屬性加權樸素貝葉斯的冠心病辨證模型[J]. 廣西師范大學學報: 自然科學版,2008,26(4):67-70.
4 陳偉,沈亞誠,蔡永銘,等. 基于Web的數據挖掘系統設計及其在絕經綜合征中的應用[J].醫學信息學雜志,2012,33(7):33-36,44.
5 魏魯霞. 數據挖掘技術在藥品療效上的應用[J]. 醫學信息學雜志,2010,31(4):40-43.
6 李凱.貝葉斯法在醫學診斷中的應用[J].北京大學學報:醫學版,2010,42(3):360-362.
7 關鴻志,陳琳.貝葉斯法在臨床診斷決策中的應用[J].中華醫學雜志,2007,(29):2081-2083.
8 李偉衛,趙航,張陽,等.基于MapReduce的海量數據挖掘技術研究[J].計算機工程與應用,2013,(20):112-117.
9 衛潔,石洪波,冀素琴.基于Hadoop的分布式樸素貝葉斯文本分類[J].計算機系統應用,2012,21(2):210-213.
10 Cheng T,Wei C,Tseng V S. Feature Selection for Medical Data Mining:comparisons of expert judgment and automatic approaches[C].Washington DC:Proceedings of the 19th IEEE Symposium on Computer-Based Medical Systems, 2006:165-170.
11 Ordon E Z C.Association Rule Discovery with the Train and Test Approach for Heart Disease Prediction[J].IEEE Transactions on Information Technology in Biomedicine,2006,10(2):334-343.
12 江小平,李成華,向文,等.云計算環境下樸素貝葉斯文本分類算法的實現[J].計算機應用,2011,31(9):2551-2556.
13 高漢松,肖凌,許德瑋,等.基于云計算的醫療大數據挖掘平臺[J]. 醫學信息學雜志,2013,34(5):7-12.
14 Meiko J.Challenges of Privacy Protection in Big Data Analytics[C].Santa Clara: IEEE International Congress on Big Data,2013: 235-238.
15 胡新平.醫療數據挖掘中的隱私保護[J]. 醫學信息學雜志,2009,30(8):1-4.
The Distributed Naive Bayesian Intelligent Diagnosis System Based on Hadoop
LINYing-zi,ZENGYu-ping,XUFei-long,FUHao-yang,Guangdong
ProvinceTraditionalChineseMedicalHospital,Guangzhou510000,China
The paper introduces the research idea, design and realization of the distributed Naive Bayesian intelligent diagnosis system based on Hadoop, makes optimization and improvement according to its application in Traditional Chinese Medicine (TCM) Hospital of Guangdong Province, including algorithm design improvement and enhancement of accuracy, extensibility and security of the system.
Hadoop; Distributed Naive Bayes; Intelligent diagnosis
2015-05-07
林英姿,工程師,發表論文3篇。
R-058
A 〔DOI〕10.3969/j.issn.1673-6036.2015.07.012