首页> 中国专利> 一种病历的分析方法、装置和一种病历的分析系统

一种病历的分析方法、装置和一种病历的分析系统

摘要

本发明实施例提供了一种病历的分析方法、装置和一种病历的分析系统,该方法包括:获取待处理的目标病历数据;分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设的规则引擎输出的第二识别结果;预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。从而实现了基于命名实体识别模型和规则引擎的识别结果来自动生成病历的分析结果,且保证了病历的分析结果的准确性。

著录项

  • 公开/公告号CN115688787A

    专利类型发明专利

  • 公开/公告日2023-02-03

    原文格式PDF

  • 申请/专利权人 创业慧康科技股份有限公司;

    申请/专利号CN202211399689.0

  • 发明设计人 王露;翁扬帆;徐星彪;

    申请日2022-11-09

  • 分类号G06F40/295;G06F40/247;G06F40/284;G06F16/35;G16H10/60;

  • 代理机构北京润泽恒知识产权代理有限公司;

  • 代理人苏培华

  • 地址 310052 浙江省杭州市滨江区长河街道越达巷92号创业智慧大厦

  • 入库时间 2023-06-19 18:30:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-03

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及数据分析的技术领域,特别是涉及一种病历的分析方法、装置和一种病历的分析系统。

背景技术

病历是医务人员对患者疾病的发生、发展、转归,进行检查、诊断、治疗等医疗活动过程的记录,也是对采集到的资料加以归纳、整理、综合分析,按规定的格式和要求书写的患者医疗健康档案;病历既是临床实践工作的总结,又是探索疾病规律及处理医疗纠纷的法律依据,是国家的宝贵财富。

医务人员在对患者进行诊断时,可以通过键盘手动输入到电脑中进行存储,例如:主诉、现病史、既往史、个人史、婚育史、家族史、体格检查、专科检查、实验室及其他检查、初步诊断、确定诊断等,以便资料的收纳与整理。

其中,部分信息是固定的,例如:婚育史(仅包括已婚和未婚);而有些信息是由医务人员手动输入的一段文本组成的;针对结果固定的部分信息的整理,可以直接通过对应的标签来进行整理;但是针对医务人员手动输入的一段文本,则需要后期由医务人员手动整理出对应的信息,这需要耗费医务人员大量的时间。

发明内容

鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种病历的分析方法、装置和一种病历的分析系统,包括:

一种病历的分析方法,所述方法包括:

获取待处理的目标病历数据;

分别采用预设的识别模型和预设的规则引擎对所述目标病历数据进行识别,并获取所述预设的识别模型输出的第一识别结果和所述预设的规则引擎输出的第二识别结果;所述预设的识别模型包括命名实体识别模型,所述命名实体模型用于对所述目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;所述预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;

根据所述第一识别结果和所述第二识别结果,生成所述目标病历数据的目标分析结果。

可选地,所述预设的识别模型还包括同义词模型,所述同义词模型用于确定所述目标病历数据中各词对应的同义词;

所述采用预设的识别模型对所述目标病历数据进行识别,并获取所述预设的识别模型输出的第一识别结果,包括:

将所述目标病历数据输入至所述同义词模型中,并获取所述同义词模型输出的第三识别结果;

将所述第三识别结果和所述目标病历数据输入所述命名实体识别模型,并获取所述预设的识别模型输出的第一识别结果。

可选地,所述方法还包括:

获取训练用病历数据;

基于中文医学预训练模型MC-BERT,确定所述训练用病历数据中每个字基于上下文的字向量;

对所述训练用病历数据进行分词处理,并根据所述字向量计算所得到的各分词对应的词向量;

根据所述词向量对各分词进行聚类,得到聚类结果;

在一类中选定标准分词,并计算所述一类中的其他分词与所述标准分词的第一相似度;

将第一相似度最大的前N个分词作为所述标准分词的同义词,所述N为正整数;

根据所述同义词,对所述同义词模型进行训练。

可选地,所述方法还包括:

获取训练用病历数据;

获取针对所述训练用病历数据的第一人工标注信息,所述第一人工标注信息包括第一用户针对所述训练用病历数据中各词输入的命名实体类型;

根据所述第一人工标注信息和所述训练用病历数据,对所述命名实体识别模型进行训练。

可选地,所述方法还包括:

获取针对所述训练用病历数据的第二人工标注信息,所述第二人工标注信息包括第二用户针对所述训练用病历数据中各词输入的命名实体类型;

确定所述第一人工标注信息和所述第二人工标注信息的第二相似度;

当所述第二相似度超过预设阈值时,根据所述第一人工标注信息和所述训练用病历数据,对所述命名实体识别模型进行训练;

当所述第二相似度未超过所述预设阈值时,获取针对所述训练用病历数据的第三人工标注信息,所述第三人工标注信息包括第三用户针对所述训练用病历数据中各词输入的命名实体类型;

根据所述第三人工标注信息和所述训练用病历数据,对所述命名实体识别模型进行训练。

可选地,所述方法还包括:

从一预设的知识库中获取第一训练用数据和/或第二训练用数据;所述第一训练用数据包括训练用词和对应的命名实体类型,所述第二训练用数据包括同义词训练数据;

根据所述第一训练用数据,对所述命名实体识别模型进行训练;

根据所述第二训练用数据,对所述同义词模型进行训练。

可选地,所述根据所述第一识别结果和所述第二识别结果,生成所述目标病历数据的目标分析结果,包括:

确定所述命名实体识别模型针对不同命名实体类型的第一识别准确率,和所述预设的规则引擎针对不同命名实体类型的第二识别准确率;

根据所述第一识别准确率和所述第二识别准确率,对所述第一识别结果和所述第二识别结果进行融合,得到所述目标分析结果。

本发明实施例还提供了一种病历的分析系统,其特征在于,所述系统包括:模型管理模块、规则引擎模块和病历解析模块;

所述模型管理模块,用于训练预设的识别模型,所述预设的识别模型包括命名实体识别模型,所述命名实体模型用于对所述目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;

所述规则引擎模块,用于管理规则引擎和所述规则引擎中的预设的上下文规则,所述规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;

所述病历解析模块,用于获取待处理的目标病历数据;分别采用预设的识别模型和预设的规则引擎对所述目标病历数据进行识别,并获取所述预设的识别模型输出的第一识别结果和所述预设规则引擎输出的第二识别结果;根据所述第一识别结果和所述第二识别结果,生成所述目标病历数据的目标分析结果。

本发明实施例还提供了一种病历的分析装置,所述装置包括:

病历获取模块,用于获取待处理的目标病历数据;

第一识别模块,用于分别采用预设的识别模型和预设的规则引擎对所述目标病历数据进行识别,并获取所述预设的识别模型输出的第一识别结果和所述预设的规则引擎输出的第二识别结果;所述预设的识别模型包括命名实体识别模型,所述命名实体模型用于对所述目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;所述预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;

第二识别模块,用于根据所述第一识别结果和所述第二识别结果,生成所述目标病历数据的目标分析结果。

可选地,所述预设的识别模型还包括同义词模型,所述同义词模型用于确定所述目标病历数据中各词对应的同义词;

所述第一识别模块,包括:

同义词识别子模块,用于将所述目标病历数据输入至所述同义词模型中,并获取所述同义词模型输出的第三识别结果;

命名实体识别子模块,用于将所述第三识别结果和所述目标病历数据输入所述命名实体识别模型,并获取所述预设的识别模型输出的第一识别结果。

可选地,所述装置还包括:

同义词模型训练模块,用于获取训练用病历数据;基于中文医学预训练模型MC-BERT,确定所述训练用病历数据中每个字基于上下文的字向量;对所述训练用病历数据进行分词处理,并根据所述字向量计算所得到的各分词对应的词向量;根据所述词向量对各分词进行聚类,得到聚类结果;在一类中选定标准分词,并计算所述一类中的其他分词与所述标准分词的第一相似度;将第一相似度最大的前N个分词作为所述标准分词的同义词,所述N为正整数;根据所述同义词,对所述同义词模型进行训练。

可选地,所述装置还包括:

第一命名实体识别模型训练模块,用于获取训练用病历数据;获取针对所述训练用病历数据的第一人工标注信息,所述第一人工标注信息包括第一用户针对所述训练用病历数据中各词输入的命名实体类型;根据所述第一人工标注信息和所述训练用病历数据,对所述命名实体识别模型进行训练。

可选地,所述装置还包括:

第二命名实体识别模型训练模块,用于获取针对所述训练用病历数据的第二人工标注信息,所述第二人工标注信息包括第二用户针对所述训练用病历数据中各词输入的命名实体类型;确定所述第一人工标注信息和所述第二人工标注信息的第二相似度;当所述第二相似度超过预设阈值时,根据所述第一人工标注信息和所述训练用病历数据,对所述命名实体识别模型进行训练;当所述第二相似度未超过所述预设阈值时,获取针对所述训练用病历数据的第三人工标注信息,所述第三人工标注信息包括第三用户针对所述训练用病历数据中各词输入的命名实体类型;根据所述第三人工标注信息和所述训练用病历数据,对所述命名实体识别模型进行训练。

可选地,所述装置还包括:

第三命名实体识别模型训练模块,用于从一预设的知识库中获取第一训练用数据和/或第二训练用数据;所述第一训练用数据包括训练用词和对应的命名实体类型,所述第二训练用数据包括同义词训练数据;根据所述第一训练用数据,对所述命名实体识别模型进行训练;根据所述第二训练用数据,对所述同义词模型进行训练。

可选地,所述第二识别模块,包括:

准确率确定子模块,用于确定所述命名实体识别模型针对不同命名实体类型的第一识别准确率,和所述预设的规则引擎针对不同命名实体类型的第二识别准确率;

分析结果生成子模块,用于根据所述第一识别准确率和所述第二识别准确率,对所述第一识别结果和所述第二识别结果进行融合,得到所述目标分析结果。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上的病历的分析方法。

本发明实施例具有以下优点:

本发明实施例中,可以先获取待处理的目标病历数据;然后分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设的规则引擎输出的第二识别结果;预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;再根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。通过本发明实施例,实现了自动对病历的分析;且基于命名实体识别模型和规则引擎的识别结果来生成病历的分析结果,可以保证在自动对病历进行分析时的分析结果的准确性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种病历的分析方法的步骤流程图;

图2是本发明实施例的另一种病历的分析方法的步骤流程图;

图3是本发明实施例的一种同义词模型的训练的步骤流程图;

图4是本发明实施例的一种标注人员进行标注的过程的步骤流程图;

图5是本发明实施例的一种标注状态变化的步骤流程图;

图6是本发明实施例的一种审核状态变化的步骤流程图;

图7是本发明实施例一种电子病历解析的步骤流程图;

图8是本发明实施例的一种病历的分析系统的结构示意图;

图9是本发明实施例的另一种病历的分析系统的结构示意图;

图10是本发明实施例的一种病历的分析方法装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,示出了本发明实施例的一种病历的分析方法的步骤流程图,可以包括如下步骤:

步骤101、获取待处理的目标病历数据。

其中,目标病历数据可以是一待分析的病历,该目标病历数据可以包括医务人员在对患者进行诊断时,通过键盘手动输入到电脑中进行存储的各种与患者有关的信息,例如:患者的年龄、主诉、现病史、既往史、个人史、婚育史、家族史、体格检查、专科检查、实验室及其他检查、初步诊断、确定诊断等。

目标病历数据中的部分信息可以直接通过识别标签来确定,但是还有部分信息是由医务人员输入的一段文字组成的;这些文字中可能包括现病史、既往史、个人史、初步诊断、确定诊断等的一个或多个,知己而通过标签并不能识别出文字中包括哪些信息。

为了对患者的病历进行自动的分析,以减少医务人员后续对病历的整理所投入的时间,可以先获取待处理的目标病历数据,该目标病历数据可以先保存在一数据库中,以便后续在需要分析病历时,从该数据库中获取。

步骤102、分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设的规则引擎输出的第二识别结果;预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型。

其中,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;命名实体可以指以名称为标识的实体,命名实体类型可以指该实体对应的类型,例如:症状、疾病、检验、检查、药品、手术治疗、部位和体格检查等,本发明实施例对此不作限制。

预设的规则引擎可以用于根据预设的上下文规则,确定各词对应的命名实体类型;规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。

其中,预设的上下文规则可以根据实际情况设定,预设的上下文规则可以用于基于目标病历数据中一词/句子的上下文,来确定该一词/句子对应的命名实体类型。

在实际应用中,可以基于预先训练好的命名实体识别模型来识别目标病历数据,以得到目标病历数据的分析结果。

但是,命名实体识别模型在识别未训练过的词时可能欠缺识别能力;而预设的规则引擎在识别上下文关联性较弱的文本时也可能欠缺识别能力。因此,为了保证目标病历数据的分析结果的准确性,可以分别采用命名实体识别模型和预设的规则引擎来对目标病历数据进行识别。

具体的,可以将目标病历数据输入至命名实体识别模型中进行识别;命名实体识别模型在对目标病历数据进行识别后,可以输出对应的第一识别结果;其中,第一识别结果可以包括命名实体识别模型所确定的、目标病历数据中各词对应的命名实体类型,第一识别结果可以为标注的形式,即针对目标病历数据中的某个词的标注,标注内容可以为该词对应的命名实体类型。

同时,还可以将目标病历数据输入至预设的规则引擎中进行识别;预设的规则引擎在对目标病历数据进行识别后,可以输出对应的第二识别结果;其中,第二识别结果可以包括预设的规则引擎所确定的、目标病历数据中各词对应的命名实体类型,第二识别结果可以为标注的形式,即针对目标病历数据中的某个词的标注,标注内容可以为该词对应的命名实体类型。

步骤103、根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。

在得到命名实体模型输出的第一识别结果,和预设的规则引擎输出的第二识别结果后,可以基于第一识别结果和第二识别结果生成针对目标病历数据的目标分析结果;目标分析结果可以包括针对目标病历数据中的文本进行分析后得到的信息,例如:可以包括针对不同的命名实体所标注的命名实体类型。

作为一示例,目标分析结果也可以为标注的形式,即针对目标病历数据中的某个词的标注,标注内容可以为该词对应的命名实体类型。

本发明实施例中,可以先获取待处理的目标病历数据;然后分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设的规则引擎输出的第二识别结果;预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;再根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。通过本发明实施例,实现了自动对病历的分析;且基于命名实体识别模型和规则引擎的识别结果来生成病历的分析结果,可以保证在自动对病历进行分析时的分析结果的准确性。

参照图2,示出了本发明实施例的另一种病历的分析方法的步骤流程图,可以包括如下步骤:

步骤201、获取待处理的目标病历数据。

为了对患者的病历进行自动的分析,以减少医务人员后续对病历的整理所投入的时间,可以先获取待处理的目标病历数据。

作为一示例,在获取到目标病历数据后,可以先确定该目标病历数据对应的病历类型,病历类型可以包括以下的任一种:入院记录、出院记录、首次病程记录、通用,本发明实施例对此不作限制。

步骤202、预设的识别模型还包括同义词模型,同义词模型用于确定目标病历数据中各词对应的同义词;将目标病历数据输入至同义词模型中,并获取同义词模型输出的第三识别结果。

在实际应用中,不同医务人员对于同一症状、疾病、检验、检查、药品、手术治疗、部位和体格检查等的描述也可能是不同的,为了避免因为差异化描述、错别字等导致分析结果不准确、不完整的问题,可以再设定一同义词模型;同义词模型可以用于确定目标病历数据中各词对应的同义词。

在调用预设的识别模型对目标病历数据进行识别时,可以先调用同义词模型对目标病历数据进行识别,以确定与该目标病历数据中的词对应的同义词。

具体的,可以将目标病历数据输入至同义词模型中;同义词模型在对目标病历数据进行识别后,可以输出包含有目标病历数据中各词对应的同义词的第三识别结果。

在本发明一实施例中,同义词模型可以通过如下步骤进行训练:

S310、获取训练用病历数据。

首先,可以获取预先收集好的病历语料,病历语料可以包括一份或者多份训练用病历数据;该训练用病历数据可以为预先收集的数据。

需要说明的是:训练用病历数据均为经过患者同意后收集的数据。

在获取到病历语料后,可以先对其中的训练用病历数据进行清洗的操作;具体的,可以对训练用病历数据的段落进行分局,然后去除高频词和标点符号,使得每行不超过512字。之后,再保存清洗后的数据。

S320、基于中文医学预训练模型MC-BERT,确定训练用病历数据中每个字基于上下文的字向量。

针对清洗后的训练用病历数据,可以选择生物医疗领域语料训练的BERT(Bidirectional Encoder Representation from Transformers,Transformer的双向编码器表示)模型MC-BERT(Chinese Medicine-Bidirectional Encoder Representation fromTransformers,中文医学预训练模型),来确定训练用病历数据中的每个字基于上下文的字向量。

具体的,基于清洗后的训练用病历数据,可以通过查表的方式获取到训练用病历数据中每个字基于当前给定的句子上下文的字向量;对于每个字,使用字向量每个维度全局最大值策略得到在当前语料中的字向量表示并保存。

S330、对训练用病历数据进行分词处理,并根据字向量计算所得到的各分词对应的词向量。

对清洗后的训练用病历数据进行分词,以得到一个或多个分词;然后,基于S320得到的字向量,计算每个分词对应的词向量。

作为一示例,可以使用pkuseg分词,也可以使用其他方式进行分词;在进行分词时,指定领域为医学。

在实际应用中,分词可以基于分词模型进行;分词模型可以采用HanLP开源框架中的基于感知机的中文分词模型。

S340、根据词向量对各分词进行聚类,得到聚类结果。

在得到各分词对应的词向量后,可以基于词向量对各分词进行聚类,以得到聚类结果。

作为一示例,可以对词向量使用k-means聚类,得到聚类结果,本发明实施例对此不作限制。

S350、在一类中选定标准分词,并计算一类中的其他分词与标准词分的第一相似度。

在得到聚类结果后,可以在一类中自定义选定以标准分词;然后,计算该标准分词对应类中的其他分词与该标准分词的第一相似度。

S360、将第一相似度最大的前N个分词作为标准分词的同义词,N为正整数。

在计算完所有其他分词与标准分词的第一相似度后,可以将第一相似度最大的前N个分词作为标准分词的同义词。

S360、根据同义词,对同义词模型进行训练。

在得到同义词后,可以基于同义词对同义词模型进行训练,以便后续通过同义词模型确定训练用病历数据中各词对应的同义词。

如图3,示出了本发明实施例的一种同义词模型的训练的步骤流程图:

步骤1:准备训练语料:训练语料可以包括训练用病历数据。

步骤2:清洗数据:去除高频词和标点符号,对文本分行并使得每行不多于512字,保存清洗后的数据。

步骤3:选择MCBERT,获取训练用病历数据中每个字基于上下文的字向量标识:选择基于生物医疗领域语料训练的BERT模型MCBERT,基于清洗后的训练用病历数据,通过查表的方式获取到病历中每个字基于当前给定的句子上下文的字向量。

步骤4:计算每个字的字向量并保存:对于每个字,使用字向量每个维度全局最大值策略得到在当前语料中的字向量表示,并保存。

步骤5:用pkuseg对语料分词:对清洗后的训练用病历数据使用pkuseg分词,指定领域为医学。

步骤6:字向量求和得到每个分词的词向量:得到初步分词结果后,基于得到的字向量,字向量求和得到每个分词的词向量。

步骤7:对词向量使用k-means聚类,得到聚类结果。

步骤8:给定标准分词,基于聚类结构查找相似度最大的前N个分词作为同义词:根据自定义的标准词,计算与同一个簇内其他词的相似度,选取相似度最大的N个词作为目标词的同义词。

步骤9:保存标准分词及对应同义词。

步骤10:医学专家审核同义词:在得到标准分词及对应同义词后,可以再通过医学专家来审核该同义词。

步骤11:训练同义词模型:在得到标准分词及对应同义词后,或者在医学专家审核完成之后,可以基于所得到的同义词来训练同义词模型。

步骤203、将第三识别结果和目标病历数据输入命名实体识别模型,并获取预设的识别模型输出的第一识别结果。

在得到第三识别结果后,可以将第三识别结果和目标病历数据同时输入至命名实体识别模型中进行识别。

针对所输入的第三识别结果和目标病历数据,命名实体识别模型可以分别进行识别,并输出第一识别结果。

在本发明一实施例中,命名实体识别模型可以通过如下步骤进行训练:

S410、获取训练用病历数据。

首先,可以获取预先收集好的病历语料,病历语料可以包括一份或者多份训练用病历数据;该训练用病历数据可以为预先收集的数据。

需要说明的是:训练用病历数据均为经过患者同意后收集的数据。

S420、获取针对训练用病历数据的第一人工标注信息,第一人工标注信息包括第一用户针对训练用病历数据中各词输入的命名实体类型。

其中,第一人工标注信息可以包括第一用户针对训练用病历数据中各词输入的命名实体类型;第一人工标注信息可以为第一用户预先针对训练用病历数据中各词输入的信息,第一用户可以为一医务人员。

在获取到训练用病历数据后,可以再获取第一用户针对训练用病历数据的各词输入的第一人工标注信息。

S430、根据第一人工标注信息和训练用病历数据,对命名实体识别模型进行训练。

在获取到第一人工标注信息后,可以将第一人工标注信息和训练用病历数据作为命名实体识别模型的训练数据,并用该训练数据对命名实体识别模型进行训练。

在发明的另一实施例中,命名实体识别模型也可以通过如下步骤进行训练:

S510、从一预设的知识库中获取第一训练用数据和/或第二训练用数据;第一训练用数据包括训练用词和对应的命名实体类型,第二训练用数据包括同义词训练数据。

首先,可以预先设置一知识库,该知识库中可以收集各种医学术语,以及对应的命名实体类型。同时,还可以收集不同医学术语对应的同义词。

知识库中维护的医学术语分可以包括多种,例如:症状、疾病、检验、检查、药品、手术治疗、部位和体格检查等。

新增或导入医学术语时,必须先选定术语对应的类型,才能添加数据到对应类别下。在导入医学术语时,还可以调用同义词模型来获取对应的同义词。

针对知识库中的医学术语,可以按照类型展示医学术语,并能够进行查询、新增、修改、删除。

知识库中的医学术语,会补充到同义词模型和命名实体识别模型中的使用的BERT预训练模型的词典文件中。

在对命名实体识别模型和/或同义词模型进行训练时,可以先从该知识库中获取第一训练用数据和/或第二训练用数据。

其中,第一训练用数据可以包括多个训练用词,以及与之对应的命名实体类型。

第二训练用数据可以包括多组同义词训练数据。

作为一示例,第一训练用数据和第二训练用数据可以是同一病历语料的不同形态;具体的,可以根据所需要训练的模型,来选择在训练过程中的输入数据和输出数据,例如:训练数据包括多组同义词和对应的命名实体类型,如果是使用该训练数据来训练命名实体识别模型的话,可以以同义词中的一个词作为输入数据,命名实体类型作为输出数据来对命名实体识别模型进行训练;如果是使用该训练数据来训练同义词模型的话,可以以同义词中的一个词作为输入数据,同义词中的其他词作为输出数据来对同义词模型进行训练,本发明实施例对此不作限制。

S520、根据第一训练用数据,对命名实体识别模型进行训练。

基于所获取的训练用词和对应的命名实体类型,可以对命名实体识别模型进行训练。

需要说明的是,当知识库更新后,可以基于所更新的数据对命名实体识别模型进行再次训练,本发明实施例对此不作限制。

S530、根据第二训练用数据,对同义词模型进行训练。

基于所获取的同义词训练数据,可以对同义词模型进行训练。

需要说明的是,当知识库更新后,可以基于所更新的数据对同义词模型进行再次训练,本发明实施例对此不作限制。

在实际应用中,第一用户的第一人工标注信息可能并不够准确;或者说,由于数据量较小,可能存在主观判断;为了提高命名实体识别模型的识别准确率,在本发明另一实施例中,在根据第一人工标注信息和训练用病历数据对命名实体识别模型进行训练的时候,还可以包括如下步骤:

S610、获取针对训练用病历数据的第二人工标注信息,第二人工标注信息包括第二用户针对训练用病历数据中各词输入的命名实体类型。

在获取第一用户针对训练用病历数据中各词输入的第一人工标注信息的同时,还可以获取第二用户针对训练用病历数据中各词输入的第二人工标注信息;第二标注信息可以为第二用户针对训练用病历数据中各词输入的命名实体类型,第一人工标注信息可以为第二用户预先针对训练用病历数据中各词输入的信息,第二用户可以为另一医务人员。

需要说明的是,第一人工标注信息和第二人工标注信息是不同医务人员针对同一份训练用病历数据所生成的。

S620、确定第一人工标注信息和第二人工标注信息的第二相似度。

在获取到第一人工标注信息和第二人工标注信息后,可以计算两者之间的第二相似度;具体的,可以比较第一人工标注信息和第二人工标注信息所对应的词,以及对词所进行的命名实体类型的分类,来确定第一人工标注信息和第二人工标注信息之间的第二相似度。

S630、当第二相似度超过预设阈值时,根据第一人工标注信息和训练用病历数据,对命名实体识别模型进行训练。

如果第二相似度超过了设定的预设阈值的话,可以表示第一人工标注信息是可信赖的;此时,可以基于第一人工标注信息和训练用病历数据,对命名实体识别模型进行训练。其中,预设阈值可以根据实际情况设定,本发明实施例对此不作限制。

S640、当第二相似度未超过预设阈值时,获取针对训练用病历数据的第三人工标注信息,第三人工标注信息包括第三用户针对训练用病历数据中各词输入的命名实体类型。

如果第二相似度未超过设定的预设阈值的话,可以表示第一人工标注信息是不可信赖的;此时,可以再获取包括第三用户针对训练用病历数据中各词输入的命名实体类型的第三人工标注信息;第三人工标注信息可以是在第二相似度未超过设定的预设阈值时,第三用户针对训练用病历数据生成的;第三用户可以为医学专家。

作为一示例,第三人工标注信息既可以是第三用户针对第一人工标注信息和第二人工标注信息进行修改后得到的们也可以是第三用户通过浏览训练用病历数据后生成的,本发明实施例对此不作限制。

S650、根据第三人工标注信息和训练用病历数据,对命名实体识别模型进行训练。

在得到第三人工标注信息后,可以将第三人工标注信息和训练用病历数据作为训练数据,并采用该训练数据来对命名实体识别模型进行训练。

如图4,示出了本发明实施例的一种标注人员进行标注的过程的步骤流程图:

步骤1:从病历语料库中选择电子病历(即上文的目标病历数据)。

步骤2:调用HanLP开源框架中的基于感知机的命名实体识别模型对病历进行自动标注,并展示初步命名实体识别结果。

步骤3:人工对模型的标注结果可进行修改,可进行的操作有,拆分词语、组合词语、删除拆分、删除词语、修改实体标注的类型、复合词命名实体标注、撤销功能,以及保存命名实体到知识库。

步骤4:保存标注结果,保存时系统会判断人工修改的内容个数是否超过设定的阈值,如果是,则判定标注成功,并保存结果;否则判定标注失败,用户需要继续修改标注结果。

如图5,示出了本发明实施例的一种标注状态变化的步骤流程图;如图6,示出了本发明实施例的一种审核状态变化的步骤流程图:

标注过程中,涉及的病历标注状态和审核状态变化为:

当病历未被标注过时,病历数据中的标注状态为“未标注”、“未审核”;当病历数据被选择后,病历数据状态为“标注中”、“未审核”。

病历数据被超过1个人标注后状态记录为“已标注”、“未审核”的状态,被2个人标注过的病历,会计算两人标注的相似度,如果大于某个设定的阈值,会自动变更状态为“已标注”、“已审核”。

如果小于阈值,会提交给医学专家审核,状态为“已标注”、“审核中”,医学专家会针对病历数据进行重新标注,并基于医学专家的标注将状态变更为“已标注;已审核”。

对医学专家而言,可以对标注人员提交的标注结果进行审核,例如:可以直接对提交的病历标注内容进行审核通过,也可以修改后(修改操作有,拆分词语、组合词语、删除拆分、删除词语、修改实体标注的类型、复合词命名实体标注、撤销标注结果)审核通过。

步骤204、采用预设的规则引擎对目标病历数据进行识别,并获取预设的规则引擎输出的第二识别结果。

在将目标病历数据输入预设的识别模型的时候,还可以将目标病历数据输入至预设的规则引擎中进行识别;预设的规则引擎在对目标病历数据进行识别后,可以输出对应的第二识别结果。

步骤205、确定命名实体识别模型针对不同命名实体类型的第一识别准确率,和预设的规则引擎针对不同命名实体类型的第二识别准确率。

在得到第一识别结果和第二识别结果后,可以分别确定命名实体识别模型针对不同命名实体类型的第一识别准确率,和预设的规则引擎针对不同命名实体类型的第二识别准确率。

步骤206、根据第一识别准确率和第二识别准确率,对第一识别结果和第二识别结果进行融合,得到目标分析结果。

然后,可以根据第一识别准确率和第二识别准确率,对第一识别结果和第二识别结果进行融合。

具体的,可以根据第一识别准确率确定第一识别结果中的各标注的准确率;该标注可以为目标病历数据中的词和对应的命名实体类型。

同时,可以根据第二识别准确率确定第二识别结果中的各标注的准确率;该标注可以为目标病历数据中的词和对应的命名实体类型。

在确定第一识别结果和第二识别结果中各标注的准确率后,可以基于各标注的准确率,从第一识别结果和第二识别结果中提取用于生成目标分析结果的标注,并基于所提取的标注来生成目标分析结果;具体的,可以将准确率超过预设准确率阈值的标注提取出来。

如图7,示出了本发明实施例一种电子病历解析的步骤流程图:

步骤1:从病历语料中任意选择一份电子病历(即上文的目标病历数据)。

步骤2:在解析时,可以包括模型解析和规则引擎解析这两种解析类型:

针对模型解析,可以先对电子病历进行分段,并采用分词模型对电子病历进行分词;然后,可以采用命名实体识别模型对分词进行识别,并展示和保存每个词以及对应标签(即上文的命名实体类型)。

针对规则引擎解析,可以先确定电子病历的病历类型,以及选择规则模板(不同医院可能会设定不同的规则模板);然后,对电子病历进行分段,并调用规则引擎匹配实体及对应值(如婚育状态、过敏史、饮酒史、吸烟史、基础疾病、检查);再然后,可以以Json字符串的形式保存结果。

步骤3:融合解析结果:针对模型解析中容易标记错误的标签,使用规则引擎来解析;针对规则引擎中容易标记错误的标签,使用模型来解析;之后,将两者的结果融合得到针对电子病历的分析结果。

本发明实施例中,可以先获取待处理的目标病历数据;然后将目标病历数据输入至同义词模型中,并获取同义词模型输出的第三识别结果;再将第三识别结果和目标病历数据输入命名实体识别模型,并获取预设的识别模型输出的第一识别结果;同时,可以采用预设的规则引擎对目标病历数据进行识别,并获取预设的规则引擎输出的第二识别结果;在得到第一识别结果和第二识别结果后,可以确定命名实体识别模型针对不同命名实体类型的第一识别准确率,和预设的规则引擎针对不同命名实体类型的第二识别准确率,并根据第一识别准确率和第二识别准确率,对第一识别结果和第二识别结果进行融合,得到目标分析结果。通过本发明实施例,实现了自动对病历的分析;且基于命名实体识别模型和规则引擎的识别结果来生成病历的分析结果,可以保证在自动对病历进行分析时的分析结果的准确性。

且在对病历进行分析时,基于同义词模型来确定病历中的词对应的同义词,避免了病历分析时,出现差异化描述、错别字等导致分析失败的问题,保证了病历分析结果的准确性。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图8,示出了本发明实施例的一种病历的分析系统的结构示意图,可以包括:模型管理模块、规则引擎模块和病历解析模块。

模型管理模块,用于训练预设的识别模型,预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;

规则引擎模块,用于管理规则引擎和规则引擎中的预设的上下文规则,规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;

病历解析模块,用于获取待处理的目标病历数据;分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设规则引擎输出的第二识别结果;根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。

在实际应用中,模型管理模块可以用于训练命名实体识别模型,以便命名实体模型可以病历数据中的文本进行识别,从而确定病历数据中各词对应的命名实体类型。

规则引擎模块可以用于管理规则引擎和规则引擎中的预设的上下文规则,例如:删除规则、增加规则等。规则引擎可以用于根据预设的上下文规则,确定各词对应的命名实体类型。

病历解析模块可以用于获取待处理的目标病历数据;然后,可以将目标病历数据输入至命名实体识别模型中进行识别;命名实体识别模型在对目标病历数据进行识别后,可以输出对应的第一识别结果。

同时,病历解析模块还可以将目标病历数据输入至预设的规则引擎中进行识别;预设的规则引擎在对目标病历数据进行识别后,可以输出对应的第二识别结果。

在得到第一识别结果和第二识别结果后,病历解析模块可以基于第一识别结果和第二识别结果生成针对目标病历数据的目标分析结果。

如图9,示出了本发明实施例的另一种病历的分析系统的结构示意图;可以包括:用户管理模块、角色管理模块、知识库模块、病历语料模块、语料标注模块、病历解析模块、模型管理模块、规则引擎模块。

其中,用户管理模块,可以用来为系统新增用户,编辑用户信息,删除用户,分配角色。

角色管理模块,可以对使用系统的用户角色进行管理,角色涉及标注人员、医学专家和系统管理员,其中标注人员用来标注病历,医学专家可审核标注人员提交的结果,系统管理员拥有系统最高权限。

知识库模块,可以用来存储来源于医学网站词汇、电子病历中的词汇、医学术语集的标准词汇,以及它们的同义词;用于模型训练中分词的词典,并给病历解析模块、模型管理模块中的算法训练提供支持。

病历语料模块,用来管理原始的电子病历,可对电子病历进行病历预览、病历删除。

语料标注模块,可以用来培训标注人员,标注人员和医学专家对电子病历进行标注、审核、查看标注结果及对比结果,标注时分词可以保存至知识库模块进行保存,标注后病历作为模型管理模块中的命名实体识别模型提供训练数据。

病历解析模块,可以用来对电子病历进行解析,实现电子病历结构化,包含模型解析和规则引擎解析。

模型管理模块,可以用来对系统训练的模型进行新增、训练、验证和删除,以及展示训练的模型。

规则引擎模块,可以用来维护解析规则和规则模板,应用于病历解析模块。

知识库模块中的数据来源为公司历史系统维护的数据库以及医学网站收集的术语。

从整体流程看,各个模块之间的交互过程如下:

步骤1:从公司历史系统维护的数据库以及医学网站收集的术语,维护到知识库模块,知识库模块中把医学术语分别8种类型,分别为,症状、疾病、检验、检查、药品、手术治疗、部位和体格检查。

对知识库中的医学术语,人工可以持续的维护,知识库新增数据的方式有单条新增或批量导入,添加时,必须首先选定医学术语的类型。对知识库中的数据可以进行修改、删除,调用同义词模型获取术语的同义词。

步骤2:病历语料管理模块中有所有电子病历列表,并能够查看病历详细内容,以及根据病历类型(入院记录,出院记录,首次病程记录)、标注类型(已标注,未标注)、病历编号进行查找。

步骤3:语料标注模块有标注人员(普通的医务人员)和医学专家进行操作,两者都可以对病历进行标注,医学专家还能审核标注人员提交的病历。语料标注完成后会保存标注结果,用于训练模型管理模块中包含的分词模型和命名实体识别模型,训练完成后可以在模块管理模块中查看模型。

步骤4:模型训练完成后,给出未标记过的电子病历,在病历解析模块中,调用训练好的模型,得到病历解析结果。

本发明实施例中,病历的分析系统通过先获取待处理的目标病历数据;然后分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设的规则引擎输出的第二识别结果;预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;再根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。通过本发明实施例,实现了自动对病历的分析;且基于命名实体识别模型和规则引擎的识别结果来生成病历的分析结果,可以保证在自动对病历进行分析时的分析结果的准确性。

参照图10,示出了本发明实施例的一种病历的分析装置的结构示意图,可以包括如下模块:

病历获取模块1001,用于获取待处理的目标病历数据;

第一识别模块1002,用于分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设的规则引擎输出的第二识别结果;预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;

第二识别模块1002,用于根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。

本发明的一个可选实施例中,预设的识别模型还包括同义词模型,同义词模型用于确定目标病历数据中各词对应的同义词;

第一识别模块1002,包括:

同义词识别子模块,用于将目标病历数据输入至同义词模型中,并获取同义词模型输出的第三识别结果;

命名实体识别子模块,用于将第三识别结果和目标病历数据输入命名实体识别模型,并获取预设的识别模型输出的第一识别结果。

本发明的一个可选实施例中,装置还包括:

同义词模型训练模块,用于获取训练用病历数据;基于中文医学预训练模型MC-BERT,确定训练用病历数据中每个字基于上下文的字向量;对训练用病历数据进行分词处理,并根据字向量计算所得到的各分词对应的词向量;根据词向量对各分词进行聚类,得到聚类结果;在一类中选定标准分词,并计算一类中的其他分词与标准分词的第一相似度;将第一相似度最大的前N个分词作为标准分词的同义词,N为正整数;根据同义词,对同义词模型进行训练。

本发明的一个可选实施例中,装置还包括:

第一命名实体识别模型训练模块,用于获取训练用病历数据;获取针对训练用病历数据的第一人工标注信息,第一人工标注信息包括第一用户针对训练用病历数据中各词输入的命名实体类型;根据第一人工标注信息和训练用病历数据,对命名实体识别模型进行训练。

本发明的一个可选实施例中,装置还包括:

第二命名实体识别模型训练模块,用于获取针对训练用病历数据的第二人工标注信息,第二人工标注信息包括第二用户针对训练用病历数据中各词输入的命名实体类型;确定第一人工标注信息和第二人工标注信息的第二相似度;当第二相似度超过预设阈值时,根据第一人工标注信息和训练用病历数据,对命名实体识别模型进行训练;当第二相似度未超过预设阈值时,获取针对训练用病历数据的第三人工标注信息,第三人工标注信息包括第三用户针对训练用病历数据中各词输入的命名实体类型;根据第三人工标注信息和训练用病历数据,对命名实体识别模型进行训练。

本发明的一个可选实施例中,装置还包括:

第三命名实体识别模型训练模块,用于从一预设的知识库中获取训练用词和对应的命名实体类型;根据训练用词和对应的命名实体类型,对命名实体识别模型进行训练。

本发明的一个可选实施例中,第二识别模块1003,包括:

准确率确定子模块,用于确定命名实体识别模型针对不同命名实体类型的第一识别准确率,和预设的规则引擎针对不同命名实体类型的第二识别准确率;

分析结果生成子模块,用于根据第一识别准确率和第二识别准确率,对第一识别结果和第二识别结果进行融合,得到目标分析结果。

本发明实施例中,可以先获取待处理的目标病历数据;然后分别采用预设的识别模型和预设的规则引擎对目标病历数据进行识别,并获取预设的识别模型输出的第一识别结果和预设的规则引擎输出的第二识别结果;预设的识别模型包括命名实体识别模型,命名实体模型用于对目标病历数据中的文本进行识别,以确定各词对应的命名实体类型;预设的规则引擎用于根据预设的上下文规则,确定各词对应的命名实体类型;再根据第一识别结果和第二识别结果,生成目标病历数据的目标分析结果。通过本发明实施例,实现了自动对病历的分析;且基于命名实体识别模型和规则引擎的识别结果来生成病历的分析结果,可以保证在自动对病历进行分析时的分析结果的准确性。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上的病历的分析方法。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对所提供的一种病历的分析方法、装置和一种病历的分析系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号