张 薇,孙明伟,曾 俊,陈 伟,彭 谨,Pekka Kuosmanen,祝 迪,江 华△
(1.四川省医学科学院·四川省人民医院 急诊医学与灾难医学研究所,四川 成都 610072;2.中芬医学人工智能研究中心,四川 成都 610072;3.成都工业学院计算机系,四川 成都 611730;4.中国医学科学院北京协和医院肠外与肠内营养科,北京 100730;5.芬兰艾维科技集团,芬兰 赫尔辛基 00180)
急腹症是一组以急性腹痛为起病表现的常见的急诊疾病,既包含了急性单纯性阑尾炎这样并发症少,预后良好的简单疾病,更包括了急性重症胰腺炎、消化道穿孔、肠缺血性疾病、消化道出血等可能危及生命的复杂疾病。据欧美国家的报道,急腹症占成人急诊就诊的第三位,占比5%~10%[1]。国内对急腹症的系统性流行病学调查不多,结合一些单位的大宗病例报告[2],此类疾病可占到急诊就诊的1/5~1/4,是急诊科医师处理的最常见疾病之一。
本质上,对于急腹症的快速准确分诊,是一个基于患者对于症状的描述(主诉、现病史)和少量辅助检查结果对于疾病诊断和危重程度进行分类预测的过程,随着机器学习和人工智能的发展,有可能实现智能辅助决策。
临床数据的一个特点就在于信息量巨大,干扰多,关键信息隐藏于大量噪声中。从上世纪80~90年代开始,随着计算机科学的快速进步,人们逐渐认识到可以将计算机应用于医疗诊断,并提出了计算机辅助临床决策支持系统(Computerized Clinical Decision Support System,CDSS)的概念。例如,针对“创伤性休克的复苏治疗策略”,早在1990年代,美国就提出基于决策树模型,以氧输送(DO2)达标为核心标准的ICU床旁复苏决策支持系统[4]。类似的“知识库+推理机”的技术路线,是目前CDSS开发的一个主流。近年来IBM的肿瘤辅助决策系统沃森(Watson)引起了广泛关注,并已开始在国内一些单位进行试用,使得临床医务人员对AI的兴趣与日俱增。需要指出的是,由于临床信息的复杂性及其获取的不确定性,使得依据自动推理的决策支持系统往往很难真正应用到临床实战中[5]。目前已有几个典型的临床辅助决策支持系统,诸如MYCIN系统(主要用于协助医生诊断感染性疾病),其推理规则类似“IF 打喷嚏 OR 鼻塞,THEN 有感冒症状”,本质上是参考经典诊断学教科书有关诊断/鉴别诊断的逻辑规则形成的一种产生式专家系统。由于诊断学教科书只是对临床实践过程的一种概括表示,诊断规则的描述形式上相互独立,对疾病之间的相关性仅做了有效的考虑(相关性问题留待医学生毕业后进入临床自己在实践中学习和建立,实际上医生从业之后在构建临床知识库和推理规则上是一种终生学习)[6,7]。同时,产生式专家系统是采取单一控制策略进行推理,如顺序性的按照规则进行推理,这样当进入真实临床环境时,面对复杂多变以及往往不完备的信息,这类专家系统无论是在效率上还是在精准度上都大为降低。不论是上述床旁复苏决策支持系统、MYCIN、Watson,又或是斯坦福大学的临床指南知识表达模型的ATHENA决策支持系统,均面临无法大规模推广的挑战。
就急诊而言,已有一些用于分诊的临床信息管理系统投入使用,面向的使用者是分诊护士。分诊护士需要完成两项任务:①确定患者诊治的优先等级,将最严重的、具有很高风险的患者(即危重患者)识别出来并送入抢救室;②确定普通患者的情形所对应的就诊专业,并将其分配至特定的科室(如内科、外科等)[7,8]。
上述急诊分诊系统可以实现对患者优先级的初步判断,其系统通常采集的信息包括:患者的基本生命体征、症状体征、疼痛评分、早期预警评分量表、意识清晰程度、过敏史、传染病史等,然后按照简单的规则系统(如根据症状进行打分)进行分级分区,患者进入各区后,再由诊疗医师进行处置。此类信息管理系统一定程度上对急诊患者的初步评估进行了规范,对于如休克等可通过较少的指标进行识别的重症患者可实现快速筛选,但忽略了患者主诉、病史部分的信息提取,很大程度上限制了其对于急腹症这种以症状/体征为中心的复杂情况的识别,使得患者可能会被错误分诊,进行不必要的检查以及耗时反复的会诊,延误治疗时间。
早在1978年,我国外科学前辈曾宪九教授和计算机科学的前辈科学家黄风玲教授,就带领团队合作开展了急腹症自动诊断的探索[9]。由于受当时的理论、计算模型、计算机性能的限制,这一探索并未取得可直接进入到临床进行推广应用的成果。20世纪八十年代以后,这一研究方向沉寂了下来,即使到近几年,虽然危重症的辅助决策系统研究逐渐增加,但急腹症方面的类似研究依然是空白。现在回顾这一过程,可以发现,急腹症诊断的辅助决策与危重症诊断中存在的巨大差别可能是造成这种研究发展不平衡的重要原因:急腹症诊断过程中,患者口述的主诉、现病史提供了非常重要的信息,其中包含了腹痛的性质、部位、演变以及相伴随的其他症状的特性,这些症状和体征组合起来的模式形成了可鉴别的急腹症诊断。而危重症的诊断更多的依靠各种辅助检查。就机器处理的难点来说,症状的组合是由患者以自然语言表达,并由医师按照一定的术语规范以文字的形式进行记录而成。显然,如果没有适当技术的帮助,这些信息在经典的医学研究中很难被把握,也就难以成功建立自动诊断系统。
近年来,随着自然语言处理(natural language processing,NLP)技术的飞速发展,为解决此类长期困扰临床诊断学的问题提供了契机。NLP既是计算机科学的重要组成部分,也是人工智能研究的重要方向,是一门融语言学、计算机科学、数学于一体的科学[10]。2015年以来,自然语言理解和处理出现了重要的进展,即从完成了独热模型(one hot model) 向词嵌入(word embedding)模型的过渡[10,11]。词嵌入的基本原理是通过对大量的自然语言文本词汇进行提取,并将提取的关联词汇按照一定的关系组织在一个反映它们之间逻辑关系的系统中与传统的独热模型相比,更加入了对当前词组所在局部语境特征的建模。通过连续的或者间断的语言模型分析特定单词与上下文之间的关系,然后将这种关系和单词之间的转移概率转化为一系列定长的向量。通过把不同的单词转化为相同长度的向量,文字就转化为有固定宽度的矩阵,从而可用于进一步的各种机器学习建模[12,13]。
词嵌入技术虽然能够获得各种单词的嵌入向量,但是这种嵌入向量表现的是特定单词在上下文中出现的概率。对于单词内部的各种隐含意义,以及它在人类知识体系中承担的各种内容并不能完全反映。如果要了解特定单词,例如“急腹症”在特定业务场景下,在某段病历文本中的全局语境和语义描述,则需要做更多的技术努力。以主-谓-宾的三元关系构成的本体网络可以帮助达到上述目的,此时,急腹症作为一个专业术语,可以归一化并映射为一系列基本原子颗粒概念的组合,例如可以转化为:腹痛、主要表现和急性起病的组合,这些概念又和更多的概念相联系,形成概念网络,特定单词的意义不仅由大量文本的上下文标定,更是由其在概念空间中所处的位置来进行标定[14]。这种基于概念网络的词语标定技术被称为知识图谱(knowledge map,KG)[15,16]。
然而,如何从大量文本中自动提取知识图谱本身也是NLP中一个很大的挑战。目前有很多研究者致力于自动从网页中抽取文三元关系的算法研究,如Oren Etzioni主导的“开放信息抽取”(open information extraction,OpenIE)项目[16],以及Tom Mitchell主导的“永不停止的语言学习”(never-ending language learning,NELL)项目[17]。OpenIE项目已经从1亿个网页中抽取出了5亿条事实,而NELL项目也抽取了超过5千万条事实。这些都构成了人类知识的基础[6,18~22]。
不过,用上述通用系统构建应用于临床诊断的语言关系时,则有可能力有所不逮,因为从经典教科书中抽提的诊断关系,呈现的是“典型”的有关疾病诊断的知识:真实临床世界中,患者的症状/体征并非如教科书那样典型,常常存在多种合并疾病状态,使得症状/体征的相互重叠与干扰,鉴别这些具有重叠性的关系,依靠的是有经验的医生在长期的实践中累积的有关诊断的直觉,即对“隐性知识”的提取能力[7,22,24],因此,正确的提取信息,需要把语句及其相互关系置于一个有结构的网络中。2008年Tim Berners-Lee等人提出了下一代互联网——语义网(The Semantic Web)的概念。他们认为,互联网中的所有信息都是基于本体来描述的,都具备一定的结构,这些结构的语义可以使用本体(ontology)来描述。本体描述了特定领域(领域本体)或所有领域(通用本体)中的概念以及概念之间的关联关系,并且这些概念和关系是明确的、被共同认可的。当信息结构化并且具备语义后,计算机就能完成概念网的定位从而理解其含义。
在辅助诊断技术开发中,建立起恰当的临床场景(患者的主要症状、体征)---诊断方向的映射,处于核心地位。要确定机器能够正确理解自然语言,即计算机是否正确理解了提问者的意图,依然是人工智能研究领域中最具挑战性的难题之一。到目前为止,自然语言理解主要有两个定义,一个是基于表示的,一个是基于行为的。对于前者,如果一名医生在临床决策中提到了“腹部反跳痛”,计算机若能将这个概念联系到了经过医学训练的人所能联想的一系列相关概念,如:压痛,腹部,按压,腹膜刺激征等。那么就可以认为计算机理解了“腹部反跳痛”概念。而对于后者,如果给定一段典型的急性腹膜炎的病案,计算机按照类似人的思维模式判断出“这段文字描述的是急性腹膜炎”甚至进而判断出“需要进一步做相应的生化/影像检查”,就可以认为计算机理解了上述语句的意思。
我们认为,在解决急腹症的辅助诊断-分诊问题中,可以综合上述两种定义的模式构建新的技术。此即:当机器系统遇到同一功能意念的不同表述方法的时候,一方面需要通过构建知识图谱,如:在国外现有医学本体(症状,SNOMED-CT,综合 UMLS,检验,LONIC,药物 RxNorm,护理 NDC,诊断 CPT 或 ICD-10)的基础上,抽取某个专科子集,进行本地化定制后,完成一系列的相关概念的连接,以使得系统对病案文本输入信息在知识图谱上做出正确的映射。另外一方面,在完成所有文本信息的采集之后,生成合理的临床诊断或者标准化、结构化的辅助诊断提示文本。
通过上述过程即可完成从主诉/病史/查体到诊断构建的过程,从而提示急诊医师患者最具可能性的一种或数种诊断,并给出还需进行的必要辅助检查建议。同时,在应用的过程中,该AI辅助分诊系统通过学习和训练不断提高诊断精确性,从而达到与高年资医师类似的诊断水平。可以预见,这样一种AI的应用,将极大的提升急腹症的诊断效率,有望成倍缩短医生做出正确诊断的时间,并大幅减少对高危患者的漏诊、误诊率,这对于我国大型医院日渐繁忙、人满为患的急诊科是十分有价值的。同理,这一旨在解决急腹症诊断难题的研发思路也适合于其它一些急诊性疾病(如急性胸痛、儿科急诊)。解决了这一问题,可以在很大程度上避免由于延迟诊断和误诊造成的患者风险,从而降低医疗差错率,减少医疗事故。
基于上述构想建立急腹症快速辅助诊断系统,不仅可以提高急腹症的诊疗水平,还可基于同样原理应用于急诊的其他疾病,如胸痛、发热等。这对于提高我国急诊服务的水平,改善患者的就医体验具有十分重要的意义。