作者简介:
吴大帅,新屿算法工程师,曾供职于宅米网、新达达,从事系统架构设计、算法设计等工作。
李智慧,《大型网站技术架构:核心原理与案例分析》作者,从事大型网站、分布式系统、大数据方面的研发工作。
责编:钱曙光(qianshg@youkuaiyun.com)
声明:本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅《程序员》。
人工智能的到来驱动着诸多领域的变革,但具体如何应用到行业实践中一直是难题,本文介绍了人工智能是如何进一步提高医疗效率的曲折历程,主要以病历智能处理引擎为例。
文本病历的语义解析是进行病历价值挖掘的基础工作,本文介绍一个病历智能处理引擎的设计,针对医疗病历这种特殊的文本,如何确立文本知识结构,如何选择应用自然语言处理算法,针对医疗科研与智能诊疗这个场景,如何根据模板抽取特定的知识信息,如何将该引擎应用于具体的生产系统中。
最近几十年,随着医疗信息化技术的不断发展,积累了大量的病历数据,但是大部分的病历都以无结构或半结构化文本方式存储,这对病历价值的挖掘带来了很大的难度,也难以将这些宝贵的信息应用于医疗科研和智能诊疗等领域,阻碍了智能医疗的发展。
病历智能处理引擎主要目标是将病历文本自动转化为更便于医疗科研和机器学习的知识结构,这是开发所有基于病历的应用的基础,也是智能医疗领域的研究热点之一。
一、病历智能处理引擎设计思路
病历是患者疾病发展以及诊疗的记录,是对采集的资料归纳整理、综合分析并按规定的格式和要求书写的患者医疗健康档案,对医疗、教学、科研以及医院管理有重要的作用。
病历的文本性确定了引擎以NLP(自然语言处理)为核心,医疗科研等实际需求决定了引擎的上层结构,接下来,按照应用NLP的一般思路介绍病历智能处理的过程。
1. 确立文本知识结构
病历结构叙述一般都比较清晰,各种医疗事件描述集中,整体按照不同或相关医疗语义进行句段的过度,这里我们按照原始文本的描述过程,使用递归层级结构来表示中间结果,层级中的节点,按照语法结构来存储具体的医疗事件,方便对医疗事件进行语义提取。层级结构如图1所示。
医学标准的不统一以及医学术语口语化是影响病历的共享和统计的重要原因,为了提高病历智能处理引擎的效率,需要将所有的输出标准化,即所有对应同一医学实体的医学表达要统一。这里我们引入了医学知识库作为统一的标准,将所有的抽取结果转化为标准医学叙词