基于中文病历的信息识别方法、装置、设备及存储介质与流程

文档序号:18232578发布日期:2019-07-24 08:25阅读:239来源:国知局
基于中文病历的信息识别方法、装置、设备及存储介质与流程

本发明涉及自然语言处理领域,涉及一种基于中文病历的信息识别方法、装置、设备及存储介质。



背景技术:

目前对于命名实体识别在病例上的应用的需求很大,比如对病例的查询、搜索、整理等,以实现构建医疗知识库、医疗知识图谱以及推进医疗自动问答等目的。

现有基于深度学习的中文命名实体识别的效果很难提升,而且之前都是应用在其他语言上,比如英语。因为深度学习模型的限制和各个语言间语言特性的不同,这使命名实体任务在中文上的应用受到了限制。又因为通用领域、其他领域与医疗领域之间的差异,使其在医疗领域中病例的方向上的应用有所限制。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中基于深度学习的中文命名实体识别准确率不高的问题,提出了一种基于中文病历的信息识别方法、装置、设备及存储介质,通过对中文病例中的文本内容抽取相应的特征转换成特征向量,然后将特征向量作为模型的输入,以提高实体识别的准确率。

本发明是通过下述技术方案来解决上述技术问题:

一种基于中文病历的信息识别方法,包括以下步骤:

识别中文病历中包含的病人基本信息;

识别所述病人基本信息中包含的个人信息;

根据个人信息与特征向量的对应规则,输出所述个人信息对应的特征向量;

将输出的所述特征向量拼接在用于表征所述病人基本信息中每个字的初始向量之后,以生成用于表征所述病人基本信息的向量集;

将所述向量集输入训练好的模型中以抽取其中的个人信息。

优选地,所述识别中文病历中的病人基本信息具体包括以下步骤:

从中文病历中识别出用于表征病人基本信息的章节标签作为起始标签,所述起始标签用于表征病人基本信息的起始位置;

从中文病历中识别出所述起始标签之后的首个其他章节标签作为结束标签,所述结束标签用于表征病人基本信息的结束位置;

所述中文病历中位于所述起始标签与所述结束标签之间的内容为所述病人基本信息。

优选地,所述识别所述病人基本信息中的个人信息具体包括以下步骤:

创建用于匹配个人信息的正则表达式;

用所述正则表达式与所述病人基本信息进行匹配,以识别出所述病人基本信息中包含的个人信息。

优选地,所述输出的所述特征向量至少为一个,所述输出的所述特征向量按预设顺序依次拼接在用于表征所述病人基本信息中每个字的初始向量之后。

优选地,所述对应规则包括病人类型与特征向量的对应规则,所述对应规则具体如下:

所述特征向量的长度等于所述病人类型的种类数量;

所述特征向量中每一维度对应所述病人类型中的一个种类;

所述特征向量通过所述病人类型对应维度的向量值的改变表征对应的所述病人类型。

优选地,所述对应规则包括病人类型与特征向量的对应规则,所述对应规则包括:

所述特征向量的长度为1;

所述特征向量通过不同的向量值对应表征不同所述病人类型。

优选地,所述对应规则包括病人年龄与特征向量的对应规则,所述对应规则具体如下:

所述特征向量的长度为1;

所述特征向量通过不同的向量值对应表征不同所述病人年龄,所述向量值等于所述病人年龄。

本发明还公开了一种基于中文病历的信息识别装置,包括:

粗识别模块,用于识别中文病历中包含的病人基本信息;

精识别模块,用于识别所述病人基本信息中包含的个人信息;

特征向量生成模块,用于根据个人信息与特征向量的对应规则,输出所述个人信息对应的特征向量;

向量集生成模块,用于将输出的所述特征向量拼接在用于表征所述病人基本信息中每个字的初始向量之后,以生成用于表征所述病人基本信息的向量集;

信息识别模型,用于将所述向量集输入训练好的模型中以抽取其中的个人信息。

本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现前述基于中文病历的信息识别方法的步骤。

本发明还公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以实现前述基于中文病历的信息识别方法的步骤。

本发明的积极进步效果在于:通过先识别出中文病历中的个人信息转换成特征向量,提高模型对个人信息抽取的准确率,有助于深入挖掘中文电子病历文本中的医疗信息,从而构建医疗知识库、医疗知识图谱以及推进医疗自动问答等。

附图说明

图1示出了本发明基于中文病历的信息识别方法一实施例的流程图;

图2示出了本发明基于中文病历的信息识别装置一实施例的结构图;

图3示出了本发明计算机设备一实施例的硬件架构示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

首先,本发明提出一种基于中文病历的信息识别方法。

在一实施例中,如图1所示,所述的基于中文病历的信息识别方法包括如下步骤:

步骤01:识别中文病历中包含的病人基本信息。

这里所述中文病历是指电子中文病历,这种电子中文病历通常都会包含若干章节,这些章节分别用来描述病人基本信息、诊断内容、检验结果、诊疗过程、出院医嘱、治疗结果等,在每个章节的开头一般都会采用章节标签进行标识区分。因此,可以通过章节标签识别出中文病历中包含的病人基本信息,具体步骤如下:

首先,从中文病历中识别出用于表征病人基本信息的章节标签作为起始标签,所述起始标签用于表征病人基本信息的起始位置,即该起始标签是病人基本信息的开头。章节标签为预设的,识别时根据所用计算机程序语言撰写标签查询指令即可从众多标签中找到某一特定标签。

其次,从中文病历中识别出所述起始标签之后的首个其他章节标签作为结束标签,所述结束标签用于表征病人基本信息的结束位置。

通常来说,病人基本信息都写在病历的开头,在表征病人基本信息的章节标签(即起始标签)之后通常都会跟其他章节标签,因此只要识别出起始标签之后的第一个其他章节标签,就可以知道病人基本信息的结束位置。

最后,所述中文病历中位于所述起始标签与所述结束标签之间的内容为所述病人基本信息。通过起始标签和结束标签,可以很快定位识别出病人基本信息的内容。

步骤02:识别所述病人基本信息中包含的个人信息。

识别个人信息采用正则表达式匹配。所谓正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

例如这里要识别个人信息,就要先创建一个用于匹配个人信息的正则表达式,具体的表达式根据使用的计算机程序设计语言而定,每种语言都定义有一套字符表达方法;然后运行创建的正则表达式与所述病人基本信息进行匹配,就可以识别出所述病人基本信息中包含的个人信息了。

这里所述个人信息主要指病人类型和病人年龄,选择识别这些个人信息,是因为基本每份病例中都能体现出病人类型(男、女、青年、老人、青年、儿童、婴儿等)和病人年龄,而对应不同的病人类型和病人年龄,医生可能会采取相对应的治疗手段和检查检验的方式,因此基于病人类型和病人年龄的识别有利于对病历的分析,这里选择从病人基本信息中识别出病人类型和病人年龄这两个特征。

步骤03:根据个人信息与特征向量的对应规则,输出所述个人信息对应的特征向量。

基于步骤02中获取的个人信息主要指病人类型和病人年龄,本步骤中的对应规则对应为病人类型与特征向量的对应规则和病人年龄与特征向量的对应规则。

关于病人类型与特征向量的对应规则具体有两种:

对应规则一为:所述特征向量的长度等于所述病人类型的种类数量;所述特征向量中每一维度对应所述病人类型中的一个种类;所述特征向量通过所述病人类型对应维度的向量值的改变表征对应的所述病人类型。

以病人类型为五种“男、女、老人、婴儿、儿童”为例,特征向量的长度为5,假设初始的特征向量为[0,0,0,0,0],特征向量中每个维度对应一种病人类型,假设该特征向量中的每个维度从前往后依次对应的病人类型为“男、女、老人、婴儿、儿童”。基于上述对应规则,如果病人基本信息中识别出病人类型为“男”,那么初始的特征向量中对应病人类型“男”的第一维度的特征值由0变为1,即用特征向量[1,0,0,0,0]表示病人类型“男”;如果识别出病人类型为“老人”,那么用特征向量[0,0,1,0,0]来表示。

对应规则二为:所述特征向量的长度为1;所述特征向量通过不同的向量值对应表征不同所述病人类型。

同样以病人类型为五种“男、女、老人、婴儿、儿童”为例,特征向量的长度为1,即初始的特征向量为[0],用不同的数字对应五种病人类型,这里假设用数字1,2,3,4,5依次对应病人类型“男、女、老人、婴儿、儿童”。基于上述对应原则,如果病人基本信息中识别出病人类型为“男”,那么初始的特征向量的特征值由0变为1,即用特征向量[1]表示病人类型“男”;如果识别出病人类型为“老人”,那么用特征向量[3]来表示。

关于病人年龄与特征向量的对应规则具体为:所述特征向量的长度为1;所述特征向量通过不同的向量值对应表征不同所述病人年龄,所述向量值等于所述病人年龄。

以病人年龄为“78岁”为例,特征向量的长度为1,即初始的特征向量为[0],通过识别到病人年龄为78,那么将初始的特征向量的向量值由0改为78,即用特征向量[78]表示病人年龄为78岁。

步骤04:将输出的所述特征向量拼接在用于表征所述病人基本信息中每个字的初始向量之后,以生成用于表征所述病人基本信息的向量集。

所述初始向量是中文病历在预处理时给病历中每个字的定义(标点符号仅保留基本的,如逗号和句号),比如每个字的初始向量定义为[0],标点符号的初始向量定义为[01]。

以病人基本信息中的一段内容“病人:男”为例,该段内容对应的初始向量集为[0][0][0]。假设采用病人类型与特征向量的对应规则一,那么生成的用于表征这段病人基本信息的向量集为[0,1,0,0,0,0][0,1,0,0,0,0][0,1,0,0,0,0][0,1,0,0,0,0];假设采用病人类型与特征向量的对应规则二,那么生成的用于表征这段病人基本信息的向量集为[0,1][0,1][0,1]。

以病人基本信息中的一段内容“年龄:78岁”为例,该段内容对应的初始向量集为[0][0][0][0][0][0],那么基于病人年龄与特征向量的对应规则,生成的用于表征这段病人基本信息的向量集为[0,78][0,78][0,78][0,78][0,78][0,78]。

由于识别的个人信息既包括病人类型,又包括病人年龄,即输出的特征向量不止一个,此时需要将输出的所述特征向量按预设顺序依次拼接在用于表征所述病人基本信息中每个字的初始向量之后。

以病人基本信息中的一段内容“病人:男,年龄:78岁。”为例,该段内容对应的初始向量集为[0][0][0][01][0][0][0][0][0][0][01],假设拼接顺序为先病人类型后病人年龄(这里具体采用病人类型与特征向量的对应规则二),那么生成的用于表征这段病人基本信息的向量集为[0,1,78][0,1,78][0,1,78][01][0,1,78][0,1,78][0,1,78][0,1,78][0,1,78][0,1,78][01]。

步骤05:将所述向量集输入训练好的模型中以抽取其中的个人信息。

这里所述模型是指深度神经网络模型,例如双向LSTM+CRF,也可以是传统的机器学习模型。

模型训练时,给模型定义输入向量和对应的输出值,具体包括定义输入向量的长度,输入向量的分割规则,及分割后各段向量的表征含义,例如输入向量长度为2,分割规则为首位用于表征初始向量,第二位用于表征“病人类型”实体,并定义各个特征向量的具体表征含义。以病人类型为例,输入向量为[0,5],根据规则识别到第二位表征的实体为“病人类型”,进一步根据表征含义的定义,向量值5对应的输出值为“儿童”。模型经过训练后,一旦识别到输入的向量集中包含特征向量[0,5],模型就知道是病人类型特征,根据其中第二维度的向量值5,模型识别出具体特别为“儿童”,即实现抽取出病人类型为“儿童”。

本实施例通过先识别出中文病历中的个人信息转换成特征向量,最终生成向量集作为模型的输入,可以有效提高模型对个人信息抽取的准确率,有助于深入挖掘中文电子病历文本中的医疗信息,从而构建医疗知识库、医疗知识图谱以及推进医疗自动问答等。

其次,本发明提出了一种基于中文病历的信息识别装置,所述装置20可以被分割为一个或者多个模块。

例如,图2示出了所述基于中文病历的信息识别装置20一实施例的结构图,该实施例中,所述装置20可以被分割为粗识别模块201、精识别模块202、特征向量生成模块203、向量集生成模块204和信息识别模型205。以下描述将具体介绍所述模块201-205的具体功能。

所述粗识别模块201用于识别中文病历中包含的病人基本信息。

这里所述中文病历是指电子中文病历,这种电子中文病历通常都会包含若干章节,这些章节分别用来描述病人基本信息、诊断内容、检验结果、诊疗过程、出院医嘱、治疗结果等,在每个章节的开头一般都会采用章节标签进行标识区分。因此,可以通过章节标签识别出中文病历中包含的病人基本信息,具体步骤如下:

首先,从中文病历中识别出用于表征病人基本信息的章节标签作为起始标签,所述起始标签用于表征病人基本信息的起始位置,即该起始标签是病人基本信息的开头。

其次,从中文病历中识别出所述起始标签之后的首个其他章节标签作为结束标签,所述结束标签用于表征病人基本信息的结束位置。

通常来说,病人基本信息都写在病历的开头,在表征病人基本信息的章节标签(即起始标签)之后通常都会跟其他章节标签,因此只要识别出起始标签之后的第一个其他章节标签,就可以知道病人基本信息的结束位置。

最后,所述中文病历中位于所述起始标签与所述结束标签之间的内容为所述病人基本信息。通过起始标签和结束标签,可以很快定位识别出病人基本信息的内容。

所述精识别模块202用于识别所述病人基本信息中包含的个人信息。

识别个人信息采用正则表达式匹配。所谓正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

例如这里要识别个人信息,就要先创建一个用于匹配个人信息的正则表达式,具体的表达式根据使用的计算机程序设计语言而定,每种语言都定义有一套字符表达方法;然后运行创建的正则表达式与所述病人基本信息进行匹配,就可以识别出所述病人基本信息中包含的个人信息了。

这里所述个人信息主要指病人类型和病人年龄,选择识别这些个人信息,是因为基本每份病例中都能体现出病人类型(男、女、青年、老人、青年、儿童、婴儿等)和病人年龄,而对应不同的病人类型和病人年龄,医生可能会采取相对应的治疗手段和检查检验的方式,因此基于病人类型和病人年龄的识别有利于对病历的分析,这里选择从病人基本信息中识别出病人类型和病人年龄这两个特征。

所述特征向量生成模块203用于根据个人信息与特征向量的对应规则,输出所述个人信息对应的特征向量。

基于模块202中获取的个人信息主要指病人类型和病人年龄,这里对应规则对应为病人类型与特征向量的对应规则和病人年龄与特征向量的对应规则。

关于病人类型与特征向量的对应规则具体有两种:

对应规则一为:所述特征向量的长度等于所述病人类型的种类数量;所述特征向量中每一维度对应所述病人类型中的一个种类;所述特征向量通过所述病人类型对应维度的向量值的改变表征对应的所述病人类型。

对应规则二为:所述特征向量的长度为1;所述特征向量通过不同的向量值对应表征不同所述病人类型。

关于病人年龄与特征向量的对应规则具体为:所述特征向量的长度为1;所述特征向量通过不同的向量值对应表征不同所述病人年龄,所述向量值等于所述病人年龄。

所述向量集生成模块204用于将输出的所述特征向量拼接在用于表征所述病人基本信息中每个字的初始向量之后,以生成用于表征所述病人基本信息的向量集。

所述初始向量是中文病历在预处理时给病历中每个字的定义(标点符号仅保留基本的,如逗号和句号),比如每个字的初始向量定义为[0],标点符号的初始向量定义为[01]。

由于识别的个人信息既包括病人类型,又包括病人年龄,即输出的特征向量不止一个,此时需要将输出的所述特征向量按预设顺序依次拼接在用于表征所述病人基本信息中每个字的初始向量之后。

所述信息识别模型205用于将所述向量集输入训练好的模型中以抽取其中的个人信息。

这里所述模型是指深度神经网络模型,例如双向LSTM+CRF,也可以是传统的机器学习模型。

模型训练时,给模型定义输入向量和对应的输出值。模型经过训练后,一旦识别到输入的向量集中包含某个特征向量,模型就知道该特别向量对应的输出值是什么了,即实现了从中文病历中抽取个人信息的目的。

再次,本发明还提出来一种计算机设备。

参阅图3所示,是本发明计算机设备一实施例的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22以及网络接口23。其中:

所述存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述计算机设备2的操作系统和各类应用软件,例如用于实现所述基于中文病历的信息识别方法的计算机程序等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述计算机设备2的总体操作,例如执行与所述计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行用于实现所述基于中文病历的信息识别方法的计算机程序等。

所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他计算机设备之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。

需要指出的是,图3仅示出了具有组件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

在本实施例中,存储于存储器21中的用于实现所述基于中文病历的信息识别方法的计算机程序可以被一个或多个处理器(本实施例为处理器22)所执行,以完成以下步骤的操作:

步骤01:识别中文病历中包含的病人基本信息;

步骤02:识别所述病人基本信息中包含的个人信息;

步骤03:根据个人信息与特征向量的对应规则,输出所述个人信息对应的特征向量;

步骤04:将输出的所述特征向量拼接在用于表征所述病人基本信息中每个字的初始向量之后,以生成用于表征所述病人基本信息的向量集;

步骤05:将所述向量集输入训练好的模型中以抽取其中的个人信息。

此外,本发明一种计算机可读存储介质,所述计算机可读存储介质为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以实现上述基于中文病历的信息识别方法或装置的操作。

其中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如前述用于实现所述基于中文病历的信息识别方法的计算机程序等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

其中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如前述用于实现所述端对端语音合成方法的计算机程序等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1