背景技术
随着数字化医院的建设,大型医院长年积累了海量的医疗文本信息,面对这浩如烟海的文本数据,如何快速检索发现有用的信息、多角度利用这些文本和有效的对这些信息进行归类整理,进而挖掘出隐含的、有用的医疗知识和经验便显得尤为迫切。因此研究自动分类、聚类技术来改进传统的数据库结构化查询有着十分重要的意义。
文本分类和聚类是文本信息处理领域的一个重要分支,其目标就是研究如何更有效地组织和管理文本信息,并快速、准确、全面地从中找到、分流、定位和形成用户所需要的信息。文本分类和聚类作为获取和组织大量文本数据的关键技术,可以在很大程度上解决信息杂乱和信息爆炸的问题。
聚类分析是按照一定的度量规则将数据集合进行划分,以此形成若干聚类簇。目的是使得在同一个簇中的数据或属性具有较大的相似程度,而不同簇之间相似程度低。K-Means聚类算法是一种基于划分的聚类算法,尝试找出使得平方误差函数值最小的K个划分,当簇与簇之间的特征区别比较明显时,并且结果簇是密集的,K-Means聚类结果的效果较好。K-Means聚类算法的优点主要集中在:算法快速、简单;对大数据集有较高的效率并且是可伸缩性的。
朴素贝叶斯分类作为一类基于概率统计知识的分类方法,可以与基于决策树和神经网络的分类方法相媲美,且该方法较简单、准确率高、分类过程中时间空间开销小,非常适合运用于医疗影像数据库等大型数据库中。
目前,对于医疗影像疾病的分类,主要采用RIS/PACS系统所提供的基本分类功能,但其并非自动分类,而需要影像科医生及时对医疗影像进行分类。由于缺乏合适的医疗影像检查结果自动分类技术,一方面给影像科医生增加了工作负担;另一方面,给医生科研检索带来诸多不便。为此,本发明结合基于朴素贝叶斯分类方法简单,准确率高,时间空间开销小等优点,提出一种基于朴素贝叶斯的医疗影像疾病自动分类方法。
发明内容
针对医疗影像检查报告不能被及时进行分类,从而对医生科研检索带来诸多不便的问题,利用朴素贝叶斯算法简单,高效,稳定性强且有较好的精确度等优点,本发明提出一种基于朴素贝叶斯的医疗影像疾病分类方法,以解决上述技术问题。
疾病自动分类具体内容:根据设备类型和诊断报告表中的影像所见、诊断结论等文本信息,自动判断影像检查结果所属的疾病类型。考虑到朴素贝叶斯分类的独立性假设在实际应用中的影响,本发明采用K-Means聚类算法进行疾病聚类分析,将相似程度高的数据划分到同一簇中,相似程度低的数据划分到不同簇中,同时确定疾病类别数量。
本发明方法具体是:
步骤1:首先利用机器学习方法,从医疗影像信息系统的数据报告表中提取10000数量的检查记录;使用K-Means聚类算法进行疾病聚类分析,确定十个疾病类别。K-Means聚类算法的目的是将一些数据矢量划分至类别数目已知的聚类中。
具体的说,K-Means聚类算法进行疾病聚类分析包括以下步骤:
1)从待分类数据记录X中任意选取K个数据记录作为初始簇类中心C={c1,c2,…,ck},令K=10;待分类数据记录X={a1,a2,…,an},ai表示待分类数据记录X的一个特征向量,X的维数是N维。
2)计算d(xi,Cj),d为待分类数据记录xi到类Cj的距离,并把具有最小值d(xi,Cj)的数据点xi划分到类Cj中,引进N维向量Uj作为类Cj的中心。
3)计算类Cj的中心点,通过计算类Cj中每个点的坐标平均值获得,即Uj。
4)如果每个数据记录X与它类中心点Uj的距离平方和最小,则符合条件,则停止该算法并返回最后结果C;否则将Uj(1≤j≤10)作为新的10个簇类中心,并返回1-2)。
通过K-Means聚类算法获得十个疾病类型后,借助国际疾病类型分类标准ICD-10将这十个类别进行疾病类型确定和编码。
步骤2:针对不同的疾病数据,将每种疾病类型保留25-30条最具代表性的数据(这些数据必须能够充分表示该疾病症状,特征),并在数据库中对应的该条数据记录添加疾病编码。此举目的在于获取每种疾病的关键属性,并将其作为文本分类过程中分类判断依据。
步骤3:由于在各种实用数据库中,属性值缺失的情况经常发生,甚至不可避免。所以在大多数情况下,信息数据系统是不完备的,或者说存在某种程度的不完备。数据的不完备性会影响到朴素贝叶斯的精确度。所以我们分析整理报告数据表,清理脏数据,过滤空白数据,对待分类数据集进行缺失值处理。主要处理方法如下:
1)简单删除数据:将遗漏信息属性值的数据记录删除。
2)补齐数据:将人们的先验知识与数据报告表结合起来,推断出缺失属性的最大可能的取值,从而填充缺失数据。
结合这两种处理方法,使数据报告表完备化。
步骤4:利用ICTCLAS(Institute of Computing Technology,Chinese LexicalAnalysis System),即汉语词法分析系统,对数据库中待分类的数据记录进行分词,确定每条数据记录的属性值。
步骤5:采用朴素贝叶斯分类器模型判断待分类数据记录归属的疾病类型。设变量集U={A,C},其中A={A1,A2,…,A25},包含25个条件属性。这25个条件属性由K-Means聚类后的十大疾病种类中抽取的关键词表示。C={c1,c2,…,c10},包含十个取值,并且这十个取值对应于疾病的分类编码。将一个待分类数据记录X={a1,a2,…,a25}分配给类Ci(1≤i≤10),当且仅当:P(Ci/X)>P(Cj/X)(1≤i,j≤10,j≠i)。具体做法如下:
1)构成统计表:统计出待分类数据记录的个数S、类为Ci的数据记录个数Si、类Ci的数据记录中属性Ak取值为ak的数据记录个数Sik;
2)计算 和 构成概率统计表;
3)利用朴素贝叶斯分类模型:
得出待分类数据记录X的判定结果即判定出了所属疾病类型Cnb。
本发明的有益效果为:
1)利用朴素贝叶斯算法的高效、速度快特点,在保证分类精度的同时很大程度上提高了医疗影像检索的分类速度。
2)由于朴素贝叶斯基于属性之间相互独立的条件,使该算法在实际应用中存在一定局限性,所以使用K-Means聚类算法对数据记录进行数据类别确定,一定程度上确保类之间属性的独立,从而确保了分类的精确性。
3)在使用朴素贝叶斯分类器前首先对待分类数据记录集进行缺失值处理,提高数据的完备性,从而有效的确保朴素贝叶斯分类的精确度。
4)利用国际疾病类型分类标准ICD-10确定分类后疾病类型,使该分类结果更具实用性。
5)本发明的实施方案简单,系统稳定,效果良好且成本低廉,能够有效的进行疾病分类。
具体实施方式
为使本发明实现的技术手段与创作特征易于明白,下面结合附图和实施例,对本发明的实施方式作进一步详述。
如图1所示,本发明提供的基于朴素贝叶斯的医疗影像疾病分类方法,具体包括如下步骤:
步骤1:首先使用k-means算法进行疾病聚类分析,将疾病类型分为十类。借助国际疾病类型分类标准ICD-10将这十个类别进行疾病类型确定和编码;例如,将疾病类型分为如下所示并进行编码:
肿瘤(C00-D48)
循环系统疾病(I00-I99)
呼吸系统疾病(J00-J99)
消化系统疾病(K00-K93)
肌肉骨骼系统和结缔组织疾病(M00-M99)
妊娠、分娩和产褥期疾病(O00-O99)
皮肤和皮下组织疾病(L00-L99)
泌尿生殖系统疾病(N00-N99)
耳和乳突疾病(H60-H95)
神经系统疾病(G00-G99)
步骤2:为了确保下一步自动分类的精确度,对聚类后的数据记录,我们将每种疾病类型保留25条最具代表性的数据记录,并在数据库中对应该条数据记录添加疾病编码;然后从这25条数据记录中提取对应疾病类型的关键属性;例如,从“影像所见:腹腔气体干扰各脏器显示不满意,肝脏外形大小正常,包膜光整,肝内光点细密增强,血管走形显示欠清晰,门静脉内径不宽”数据记录中提取“腹腔气体干扰”、“血管欠清晰”、“门静脉不宽”这三个关键属性。
步骤3:在各种实用数据库中,属性值缺失的情况经常发生,甚至不可避免。所以在大多数情况下,信息系统是不完备的,或者说存在某种程度的不完备。例如在医疗数据库中,并非所有的病人关于影像检查结果都能在给定时间内得到,又或者在诊断结论中存在错误,这会导致一部分属性值暂时缺失或错误。所以,我们分析整理报告数据表,清理脏数据,过滤空白数据,对待分类数据集进行缺失值处理。
步骤4:为了使用朴素贝叶斯算法对待分类数据记录进行自动分类,我们首先对数据记录进行离散化处理。利用ICTCLAS对每条数据记录中的影像所见和诊断结论进行分词。例如对诊断结论“可能患有脂肪肝,肝内胆管略扩张,胆总管上端略增宽,右肾多发囊肿”进行分词后,得到“可能”、“患有”、“脂肪肝”、“胆内”、“胆管”、“略”、“扩张”、“胆总管”、“上端”“略”、“增宽”、“右肾”、“多发”、“囊肿”。
步骤5:设变量集U={A,C},其中A={A1,A2,…,A25},包含25个条件属性。这25个条件属性由K-Means聚类后的十大疾病类型中抽取的关键词表示。C={c1,c2,…,c10},包含10个取值,这10个取值为对应疾病的分类编码;待分类数据记录Xi={a1,a2,…,a25}。接下来根据报告数据表构成统计表:统计出医疗疾病数据记录的个数S、类为Ci的数据记录个数Si、类Ci的数据记录中属性Ak取值为ak的数据记录个数Sik。
步骤6:计算和构成概率统计表;并利用模型得出待分类数据记录X的判定结果即判定出了所属疾病类型Cnb。
步骤7:生成医疗影像疾病分类后的数据表。