东莞网站推广公司,淘宝推广平台有哪些,自己做软件的应用,福州市交通建设集团网站作者简介#xff1a;吴大帅#xff0c;新屿算法工程师#xff0c;曾供职于宅米网、新达达#xff0c;从事系统架构设计、算法设计等工作。 李智慧#xff0c;《大型网站技术架构#xff1a;核心原理与案例分析》作者#xff0c;从事大型网站、分布式系统、大数据方面的研… 作者简介吴大帅新屿算法工程师曾供职于宅米网、新达达从事系统架构设计、算法设计等工作。 李智慧《大型网站技术架构核心原理与案例分析》作者从事大型网站、分布式系统、大数据方面的研发工作。 责编钱曙光qianshgcsdn.net 声明本文为《程序员》原创文章未经允许不得转载更多精彩文章请订阅《程序员》。人工智能的到来驱动着诸多领域的变革但具体如何应用到行业实践中一直是难题本文介绍了人工智能是如何进一步提高医疗效率的曲折历程主要以病历智能处理引擎为例。文本病历的语义解析是进行病历价值挖掘的基础工作本文介绍一个病历智能处理引擎的设计针对医疗病历这种特殊的文本如何确立文本知识结构如何选择应用自然语言处理算法针对医疗科研与智能诊疗这个场景如何根据模板抽取特定的知识信息如何将该引擎应用于具体的生产系统中。最近几十年随着医疗信息化技术的不断发展积累了大量的病历数据但是大部分的病历都以无结构或半结构化文本方式存储这对病历价值的挖掘带来了很大的难度也难以将这些宝贵的信息应用于医疗科研和智能诊疗等领域阻碍了智能医疗的发展。病历智能处理引擎主要目标是将病历文本自动转化为更便于医疗科研和机器学习的知识结构这是开发所有基于病历的应用的基础也是智能医疗领域的研究热点之一。一、病历智能处理引擎设计思路病历是患者疾病发展以及诊疗的记录是对采集的资料归纳整理、综合分析并按规定的格式和要求书写的患者医疗健康档案对医疗、教学、科研以及医院管理有重要的作用。病历的文本性确定了引擎以NLP自然语言处理为核心医疗科研等实际需求决定了引擎的上层结构接下来按照应用NLP的一般思路介绍病历智能处理的过程。1. 确立文本知识结构病历结构叙述一般都比较清晰各种医疗事件描述集中整体按照不同或相关医疗语义进行句段的过度这里我们按照原始文本的描述过程使用递归层级结构来表示中间结果层级中的节点按照语法结构来存储具体的医疗事件方便对医疗事件进行语义提取。层级结构如图1所示。图1语义递归层级表示医学标准的不统一以及医学术语口语化是影响病历的共享和统计的重要原因为了提高病历智能处理引擎的效率需要将所有的输出标准化即所有对应同一医学实体的医学表达要统一。这里我们引入了医学知识库作为统一的标准将所有的抽取结果转化为标准医学叙词或概念code输出。整体结构如图2所示。图2 医学知识库与词库结构关系医学知识库的建设繁杂但是对于医疗业务的可持续发展意义重大所有基于知识库的工作成果可以在任何时间任何地点无壁垒解读持续的放大价值推动医疗领域的发展。需要注意的是医疗知识库处在不断的迭代完善过程中我们在建设知识库的过程中要充分考虑知识库的扩展性。2. 应用算法处理病历文本应用算法处理病历文本的过程包含以下几个部分。医学实体标记分词标注首先需要分离医学实体这一步主要应用自然语言处理中的分词算法来实现分词的算法有多种每种算法有各自的优劣。我们在实际应用中在业务不同阶段使用了不同的算法主要考量包括一是算法的效果是否能达到我们的需要二是算法底层数据结构是否可以实时更新、实时生效因为我们无法一开始就建立一个非常完备的医学词库实际应用时需要可以随时更新分词词库内存外部词库让更新的词项实时生效。然后需要对医学实体做标注这一步相对简单如果是使用HMM分词可以使用维特比算法标注也可以依赖词库标注。我们在实际应用时将词性改造成“词性医学实体TAG”的方式这样可以带来两个好处一是一般分词工具已经把词性标注集成到分词算法中去了这样可以省去我们自己标注的工作二是病历文本的叙述也是遵循中文语法的所以在做句法分析时可以将医学实体的通用词性提取出来然后使用通用的句法分析模型分析处理避免在去做针对医学领域句法分析语料标注、训练的工作。构建语义层级构建语义层级的过程类似人阅读的过程以句子为单位从左向右读取原始文本然后由主控系统分析器对句子进行句法规则分析得到具体的按语法结构组织的数据最后在由控制器根据语义建立新的语义节点并加入到新的层级。整体过程如图3所示。图3 构建语义层级过程这里需要注意问题有在医学领域很多表述按照医学惯例是不符合常用的语法的这部分的结构需要单独处理如PT2bN0M0这里面包含了T肿瘤大小及局部浸润范围、N淋巴结受累情况、M远处转移三种分期指标信息类似这种领域特有表示一般需要特殊处理然后映射到语义层级通用结构方便后续跟着语义层级的其它信息统一处理。一个语义节点的开始和结束的界限有时是非常模糊的这需要我们预先做一个实体词的关联分析模型以此来辅助判定后续的动作。另外保证我们的系统针对层级误差有一定的健壮性是非常有必要的。3. 抽取信息构建完病历文本的知识结构之后就是抽取数据进行实际应用的阶段了主要的步骤包括构建抽取模版、验证抽取模版、实际抽取数据。构建抽取模版是确立结构化目标以及定义抽取规则的过程简单的说就是定义一个Excel表头并制定每一个列字段的数据抽取规则的过程。表头的定义非常简单例如姓名、年龄、症状等。抽取规则的定义要相对复杂需要对语义层级有一定的了解因为语义层级是一个树状结构所以对应的抽取规则也是一个层级结构并且最后一个层级要能真正定位我们关注的数据。图4是一个规则示例语义层级的节点的TAG帮助我们定位到具体的语义层级节点运算规则帮助我们进行匹配运算和对输出结果的逻辑转换关键值标示了我们要抽取的目标。图4 单规则结构示意图5表示我们一个简单的抽取模版的示意姓名和CT是我们的表头内容后续是我们每个字段的具体抽取规则链。规则链标示了寻找数据的层级结构例如抽取CT信息时要先找到现病史所在语义层级然后在以此层级为基础找到CT语义层级进而获取目标信息。图5抽取模版需要注意的点注意抽取模版和抽取规则的复用。要同时支持规则组的抽取以满足的对医疗事件的抽取需求例如我们的示例模版会将CT的全部信息给抽取出来但是无法详细的抽取出CT的事件、地点、结果等信息这时便需要通过规则组先定位到CT语义节点然后以此节点出发抽取此CT事件的详细信息。二、病历智能处理引擎架构病历智能处理引擎架构主要分为六个子系统示意如图6图6 病历智能处理引擎架构病历导入系统负责对各个来源的各种格式的病历数据进行病历文本的提取。语义层级构建系统病历文本导入系统后通过此系统进行语义层级上下文的构建。此系统依赖自然语言处理系统、知识库词库维护系统。自然语言处理系统负责对病历文本进行分词、句法分析、语义分析的工作除了封装通用的处理算法还定制了医学特有的处理算法。知识库词库维护系统负责知识库、词库的维护工作是自然语言处理系统的基础。CRFCase Report Format规则定制系统负责定制抽取规则。结构化抽取系统以语义层级上下文为基础通过CRF抽取规则进行结构化的抽取。以上是六个子系统的职责与关系的介绍每个子系统中又包含了多个职责模块具体如图7图7 病历智能处理引擎模块示意模块划分主要分为四层从上到下分别对应病历导入系统、语义层级处理系统、自然语言处理系统以及结构化抽取系统。这里没有突出知识库词库维护系统以及CRF规则定制系统的具体模块因为对整个系统来讲我们仅需要以上两个系统的产出即词库知识库以及CRF抽取规则。病历导入的模块主要是为了兼容不同的格式所以对主流的Word、Excel等做了支持策略同时为后续的扩展提供了保障。语义层级处理系统的核心是层级的动作分类器构建整个语义上下文的骨架。自然语言处理系统构建填充了语义层级上下文的内容语义处理管道是主要的处理流保证了自定义处理的扩展。结构化抽取系统的核心是抽取器这里包含了一个任务中心在此可以对抽取结果进行下载以及查看正在抽取任务的进度。三、病历智能处理引擎在临床科研自动化中的应用科研对很多医生而言是一个刚需评职称需要论文写论文需要做科研。临床科研的主要方式是选定一个课题然后选择病历对病历进行结构处理录入结构化病历记录表中再对这些数据进行统计分析以分析结果得到的统计图表为基本架构撰写科研论文。在这个过程中最耗费时间和精力的最容易出错的就是病历的结构化处理而这正是前文阐述的病历智能处理引擎的强项一个使用病历智能处理引擎的的科研过程如下图。图8 医疗科研的一般过程新屿作为一家医疗大数据服务公司为医疗科研过程开发了数款产品构成了一个医疗科研数据自动化处理平台。整体架构如图9所示。图9 新屿医疗科研数据自动化处理平台病历文本通过病历智能处理引擎进行自然语言处理后处理结果写入科研宝并使用易统计进行分析产生分析报表。四、病历智能处理引擎在智能辅助诊疗中的应用病历特别是专家写的病历本身就是一笔巨大的知识财富将这些知识进行处理、分析、统计、挖掘可以构成一个病历知识库供更多的人共享即构成一个智能辅助诊疗系统。整体架构如图10所示。图10 智能辅助诊疗系统架构病历知识库、循证医学知识库、科研文献知识库、用药知识库共同构成一个辅助诊疗知识库通过知识匹配搜索引擎对外提供服务。患者或者医生录入病史、检查结果等信息系统匹配初步诊断结果搜索诊疗计划产生多个辅助诊疗建议供患者和医生进行参考。目前新屿辅助诊疗系统尚在原型验证阶段受医疗管理、医学伦理的限制大规模商业应用目前看来还为时尚早但是利用大数据技术支持下的智能医疗实现多专家会诊定制最优诊疗方案是一件值得所有人期待的事。五、总结使用传统IT技术通过信息化手段提高医疗效率的工作已经做了几十年了医疗机构信息化程度也越来越高对效能提升、信息快速流通起到了巨大的作用但是仅仅通过信息化手段进一步提高效率的空间越来越小边际效益越来越少。通过引入更多人工智能的因素辅助医生更快、更准确、更全面地开展医疗与科研工作将会是下一阶段IT技术的发展趋势但是新的道路总是曲折的期待我们共同去探索。订阅《程序员》含iOS、Android及印刷版请访问 http://dingyue.programmer.com.cn订阅咨询在线咨询QQ2251809102电话咨询010-64351436更多消息欢迎关注“程序员编辑部”