Page 192 - 《软件学报》2020年第10期
P. 192
3168 Journal of Software 软件学报 Vol.31, No.10, October 2020
of the diseases related to the input symptom set from a patient, and the related symptom set related to the input symptom set from the
patient are proposed. Finally, based on the clinical data of 6 kinds of common diseases randomly selected, the method proposed in this
study is compared with the existing methods. On the one hand, the evaluation results show that the method of this paper improves the
problems and deficiencies of the existing methods. On the other hand, it shows that the method can avoid the “cold start” problem and can
quickly support the aided diagnosis of a large number of common diseases. Using the method presented in this paper, it is expected to
provide a comprehensive diagnosis service for a large number of common diseases for the general practitioners at the grassroots level, or
provide patients with self-diagnosis services for diseases.
Key words: ontology; domain semantic knowledge base; aided diagnosis of disease; symptom weight; disease relevancy; related
symptom
[1]
疾病诊断是医疗活动中重要的环节之一,它为患者的治疗和预后提供了一个坚实的基础 .疾病诊断的质
量主要依赖医生所掌握的医疗知识以及医疗经验,但单个医生所掌握的医疗知识以及积累的医疗经验仍然有
限,如何提升医生(尤其是没有经验的医生)的临床诊疗水平并减轻医生的工作负荷,是一个亟待解决的问题.这
方面的研究在早期主要有专家系统,专家系统的思想是,将专家的经验知识进行形式化,想以此代替专家进行诊
断.从专家那里提取经验知识是一种劳动密集性的工作,由于专家的诊断往往具有“直觉性”,所以很多时候专家
都无法提供这种具有直接因果关系的经验知识.
随着医学科学的发展和医院信息化水平的提高,临床上积累了大量的诊疗知识和电子化的病历数据,医生
的诊疗经验也蕴藏在这些病历数据中.相应地,云计算、大数据、人工智能(artificial intelligence,简称 AI)等技术
的出现和发展为这些数据的挖掘和利用提供了有力支撑.在这种有利条件下,基于数据挖掘和机器学习 [2−5] 算
法的疾病辅助诊断和预测研究如雨后春笋般大量出现.但这些研究大多都针对某个单病种或者专科疾病,其得
出的疾病辅助诊断模型无法为大量基层全科医生提供常见疾病的辅助诊断服务,也无法为患者提供大量常见
疾病的自诊服务.目前出现的智能导诊服务机器人可以代替院内的导诊护士向患者提供更加高效和精准的分
诊服务,但它们也依赖对大量常见疾病的辅助诊断服务.
[6]
本体(ontology)是共享概念模型的明确的、形式化的规范说明 ,其提供了一种结构化地表示领域知识的形
式化方法,并提供了推理能力,构造本体可以实现某种程度的知识共享和重用.由于本体具有的强大的知识表示
[7]
和推理能力,已经在很多领域得到了广泛的应用,例如语义 Web 、知识工程、自然语言处理、信息获取、信息
集成、生物医学等领域,用于领域问题求解、异构信息源之间的交互、辅助组织中人与人之间的沟通等.在生
[9]
[8]
物医学领域,已经出现了大量基于本体构建的知识库 ,例如基因本体 、人类表型本体 [10] 、疾病本体 [11] 等.相
应地,在健康医疗领域也出现了大量基于本体知识库的疾病辅助诊断研究 [1,12−14] 和其他应用研究 [15−17] .基于本
体知识库可以快速支撑大量常见疾病的辅助诊断.
疾病诊断是一个不断迭代的复杂过程,包括前瞻性诊断(prospective diagnoses)和回顾性诊断(retrospective
[1]
diagnoses) .前瞻性诊断即诊断过程,在这个过程中医生不断收集关于患者的症状、检查结果和病史等详细信
息,以缩小疾病诊断的范围.在这个过程的某个点上,医生可能积累了足够多的信息,这时可以给出一个或几个
最可能的最终诊断.前瞻性诊断是一个基于收集到的患者信息的前向推理(forward reasoning)过程.在得出最终
诊断以后,医生还需要通过回顾性诊断来验证最终诊断的正确性.一方面,验证最终诊断中疾病关联的体征、症
状、异常指标等是否与医生收集到的患者的信息相一致;另一方面,最终诊断中的疾病可能还表现有其他一些
医生未收集到的信息,医生需要基于此作进一步的收集和确认,这个过程是一个反向推理(backward reasoning)
的过程.
在健康医疗领域的本体知识库中,围绕疾病建立了其与体征、症状、检查、病因、药物、手术等之间的静
态关联关系.一种疾病可以表现出多种症状,相同的症状也可能出现在多种疾病中,不同的疾病可能表现出一个
或者多个相同的症状.医生在基于收集到的患者信息对疾病进行筛查时,需要对筛查出的疾病进行可能性大小
排名.常规的思路是,假定收集到患者的 5 个症状,本体知识库中某个疾病 d 1 匹配了其中的 4 个症状,而另一个疾
病 d 2 匹配了其中的 3 个症状,那么可以认为患者患疾病 d 1 的概率比 d 2 要大,为此,在筛查出的疾病结果排序中,d 1
排在 d 2 的前面.以上思路的假设是,所有症状于疾病诊断的重要性是相同的,而实际情况并非如此.虽然由于存