基于Hadoop的分布式朴素贝叶斯智能诊断系统
2015-03-13林英姿曾宇平徐飞龙傅昊阳
林英姿 曾宇平 徐飞龙 傅昊阳
(广东省中医院 广州 510000)
基于Hadoop的分布式朴素贝叶斯智能诊断系统
林英姿 曾宇平 徐飞龙 傅昊阳
(广东省中医院 广州 510000)
介绍基于Hadoop的分布式朴素贝叶斯智能诊断系统的研究思路、设计与实现,结合系统在广东省中医院的应用情况对其进行优化与改进,包括算法改选设计及系统准确率、扩展性、安全性等方面。
Hadoop; 分布式贝叶斯; 智能诊断
1 引言
医疗领域经过近30年的信息化建设,积累了海量电子化病历、检查、检验、处方、诊疗费用等数据,正向数据密集型、数据驱动型方向发展。而其中电子病历作为患者在医疗机构历次诊疗信息的完整记录,蕴含的医学信息具有潜在价值性。通过对电子病历数据进行挖掘,实现临床决策支持、减少误诊及医疗疏忽,已成为医疗质量管理的重要内容[1]。目前已经有学者对朴素贝叶斯算法在冠心病、糖尿病等疾病临床辅助诊断决策以及中医症候诊断等方面进行了探索,对朴素贝叶斯算法进行了优化与改进研究[2-3]。但总体而言,基于贝叶斯的临床决策支持应用存在决策支持病种单一、训练数据非临床一线病历、训练数据规模有限、算法传统串行实现效率受单机硬件配置限制等问题[4]。本研究基于广东省中医院海量真实电子病历,在医院私有云平台上搭建Hadoop集群并部署优化后的分布式朴素贝叶斯算法,进行智能诊断应用研究,以辅助临床决策。基于Hadoop的分布式朴素贝叶斯智能诊断系统是指利用云计算、Hadoop、朴素贝叶斯及相关文本分类挖掘技术,具有海量病历文本训练数据采集、存储、分布式并行处理以及智能预测等功能的信息管理系统。下文基于Hadoop的分布式朴素贝叶斯智能诊断系统均简称为智能诊断系统。
2 智能诊断系统研究思路
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 智能诊断系统设计与实现
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 经验与讨论
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]等机制,防止敏感数据的越权查询和泄露。
5 结语
医院经过多年信息化建设,积累海量电子病历数据,其蕴含的医学信息与知识亟待挖掘、利用。本文针对广东省中医院海量真实电子病历建立的基于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