基于医学词典的实体提取方法、装置、设备及存储介质与流程

文档序号:18526046发布日期:2019-08-24 10:14阅读:213来源:国知局
基于医学词典的实体提取方法、装置、设备及存储介质与流程

本发明涉及自然语言处理领域,涉及一种基于医学词典的实体提取方法、电子装置、计算机设备及存储介质。



背景技术:

目前对于命名实体识别在病例上的应用的需求很大,比如对病例的查询、搜索、整理等。

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



技术实现要素:

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

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

一种基于医学词典的实体提取方法,包括以下步骤:

基于原始医学词典构建前缀词典和后缀词典,所述原始医学词典包含了所有医学名词与实体类别的对应关系;

对中文病历做n-gram遍历,n为等于或小于所述中文病历长度的非零自然数;

将遍历后得到各个词组分别与所述原始医学词典、所述前缀词典和所述后缀词典进行匹配并输出匹配结果,所述匹配结果包括匹配和不匹配,当匹配时所述匹配结果包含有匹配的词典名词和匹配的医学名词及该医学名词对应的实体类别;

根据匹配结果与特征向量的对应规则,输出每个字的特征向量;

将所述输出的每个字的特征向量对应拼接每个字的初始向量之后,以得到用于表征所述中文病历的向量集;

将所述用于表征所述中文病历的向量集输入训练好的模型以抽取其中的实体。

优选地,所述前缀词典的构建包括以下步骤:

识别出所述原始医学词典中多于两个字的词组;

将识别出的所述词组的前i个字存入前缀词典,i为小于该词组长度且大于该词组长度的一半的自然数,其中该词组长度的一半取整数。

优选地,所述后缀词典的构建包括以下步骤:

识别出所述原始医学词典中多于两个字的词组;

将识别出的所述词组的后i个字存入后缀词典,i为小于该词组长度且大于等于该词组长度的一半的自然数,其中该词组长度的一半取整数。

优选地,所述根据匹配结果与特征向量的对应规则,输出每个字的特征向量包括以下步骤:

当所述匹配结果为匹配时,根据所述匹配结果中包含的词典名词调用适用的对应规则,所述对应规则包括与原始医学词典相匹配时适用的第一对应规则,与前缀词典相匹配时适用的第二对应规则,以及与后缀词典相匹配时适用的第三对应规则;

根据所述适用的对应规则输出每个字的特征向量;

当所述匹配结果为不匹配时,对应每个字输出初始的特征向量。

优选地,所述第一对应规则包括:

所述特征向量的长度等于所述实体类别的数量;

所述特征向量中每一维度对应一个所述实体类别;

所述特征向量通过将初始向量值改为第一向量值、第二向量值或第三向量值对应表征单个字在词组中的首位、中间位或末位。

优选地,所述第二对应规则包括:

所述特征向量的长度等于所述实体类别的数量;

所述特征向量中每一维度对应一个所述实体类别;

所述特征向量通过将初始向量值改为第一向量值或第二向量值对应表征单个字在词组中的首位或非首位。

优选地,所述第三对应规则包括:

所述特征向量的长度等于所述实体类别的数量;

所述特征向量中每一维度对应一个所述实体类别;

所述特征向量通过将初始向量值改为第二向量值或第三向量值对应表征单个字在词组中的非末位或末位。

本发明还公开了一种基于医学词典的实体提取装置,包括:

词典构建模块,用于基于原始医学词典构建前缀词典和后缀词典,所述原始医学词典包含了所有医学名词与实体类别的对应关系;

遍历模块,用于对中文病历做n-gram遍历,n为等于或小于所述中文病历长度的非零自然数;

匹配模块,用于将遍历后得到各个词组分别与所述原始医学词典、所述前缀词典和所述后缀词典进行匹配并输出匹配结果,所述匹配结果中包含有匹配的词典名词和匹配的医学名词及该医学名词对应的实体类别;

特征向量生成模块,用于根据匹配结果与特征向量的对应规则,输出每个字的特征向量;

向量集生成模块,用于将所述输出的每个字的特征向量对应拼接每个字的初始向量之后,以得到用于表征所述中文病历的向量集;

实体提取模型,用于将所述用于表征所述中文病历的向量集输入训练好的模型以抽取其中的实体。

本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现前述的基于医学词典的实体提取方法的步骤。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以实现前述的基于医学词典的实体提取方法的步骤。

本发明的积极进步效果在于:通过先识别出中文病历中的实体转换成特征向量,然后将中文病历整体转换成的向量集作为模型的输入,以提高模型对实体抽取的准确率。

附图说明

图1示出了本发明基于医学词典的实体提取方法一实施例的流程图;

图2示出了本发明基于医学词典的实体提取装置一实施例的结构图;

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

具体实施方式

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

首先,本发明提出一种基于医学词典的实体提取方法。

在一实施例中,如图1所示,所述的基于医学词典的实体提取方法包括如下步骤:

步骤01:基于原始医学词典构建前缀词典和后缀词典,所述原始医学词典包含了所有医学名词与实体类别的对应关系。

所述原始医学词典可以选用现有的任意一种医疗术语词典。在原始医学词典中,每个词组都对应一种实体类别,根据该词组分出的若干个词组在前缀词典和后缀词典的实体类别沿用该词组在原始医学词典中对应的实体类别。

所述前缀词典的构建具体为:识别出所述原始医学词典中多于两个字的词组,依次将识别出的词组的前i个字存入前缀词典,i为小于该词组长度且大于该词组长度的一半的自然数,其中该词组长度的一半取整数。

以原始医学词典中的词组“左侧粗隆间骨折”为例,该词组的长度为7,该词组长度的一半为3.5,取整数为3,因此i的取值为4、5、6,i=6对应“左侧粗隆间骨”,i=5对应“左侧粗隆间”,i=4对应“左侧粗隆”,因此根据词组“左侧粗隆间骨折”构建的前缀词典包含“左侧粗隆间骨”、“左侧粗隆间”、“左侧粗隆”。

所述后缀词典的构建具体为:识别出所述原始医学词典中多于两个字的词组;将识别出的所述词组的后i个字存入后缀词典,i为小于该词组长度且大于等于该词组长度的一半的自然数,其中该词组长度的一半取整数。

以原始医学词典中的词组“左侧粗隆间骨折”为例,该词组的长度为7,该词组长度的一半为3.5,取整数为3,因此i的取值为3、4、5、6,i=6对应“侧粗隆间骨折”,i=5对应“粗隆间骨折”,i=4对应“隆间骨折”,i=3对应“间骨折”,因此根据词组“左侧粗隆间骨折”构建的后缀词典包含“侧粗隆间骨折”、“粗隆间骨折”、“隆间骨折”、“间骨折”。

步骤02:对中文病历做n-gram遍历,n为等于或小于所述中文病历长度的非零自然数。

遍历之前需要对中文病历预处理,通常需要将标点符合去除。

优选地,n一般取原始医学字典中最长的词组的长度。对所有小于n的自然数都输入病例一次。以n=5为例,需要对中文病历先后做5-gram遍历、4-gram遍历、3-gram遍历、2-gram遍历、1-gram遍历。

所谓n-gram遍历是自然语言处理的常用方法,实际上就是分词,n为分词后每个词组的长度,从第一个字开始取前5个字组成词组,从第二个字开始取前5个字组成词组,依次类推,即每个词组的首字为中文病历中的第i个字,每个词组的末字为中文病历中的第i+n-1个字,1≤i=≤(中文病历长度-n+1)。

以中文病历内容“直肠腹膜返折上方未及肿块”为例,经3-gram遍历后得到的结果为“直肠腹”、“肠腹膜”、“腹膜返”、“膜返折”、“返折上”、“折上方”、“上方未”、“方未及”、“未及肿、“及肿块”。

步骤03:将遍历后得到各个词组分别与所述原始医学词典、所述前缀词典和所述后缀词典进行匹配并输出匹配结果,所述匹配结果包括匹配和不匹配,当匹配时所述匹配结果包含有匹配的词典名词和匹配的医学名词及该医学名词对应的实体类别。

三个词典(原始医学词典、前缀词典和后缀词典)可以同时进行匹配,也可以设定匹配顺序。无论采用哪种匹配方法,只要词组匹配到其中一个词典后,就停止与其他两个词典的匹配。这里的匹配要求为完全匹配。

步骤04:根据所述匹配结果与特征向量的对应规则,输出每个字的特征向量。

所述特征向量用于区分实体类别,特征向量的长度等实体类别的数量,例如共分为六类实体,分别代表疾病和诊断、症状和体征、身体部位、检查和检验、手术、药物,那么对应特征向量的长度为6,则初始的特征向量即为[0,0,0,0,0,0],每个维度的向量值对应一个实体类别。

当匹配结果为不匹配时,对应每个字输出初始的特征向量。

当匹配结果为匹配时,则根据相匹配到的词组的实体类别,将该实体类别对应维度的向量值改变,根据与不同词典中的词组相匹配,改变规则有所不同,因此需要根据所述匹配结果中包含的词典名词调用适用的对应规则,具体如下:

与原始医学词典相匹配时调用第一对应规则:所述特征向量的长度等于所述实体类别的数量;所述特征向量中每一维度对应一个所述实体类别;所述特征向量通过将初始向量值改为第一向量值、第二向量值或第三向量值对应表征单个字在词组中的首位、中间位或末位。

以词组“直肠腹膜”为例,第一向量值、第二向量值和第三向量值分别取1,2,3。该词组出现在原始医学词典,且与身体部位这一实体类别相关联,因此这四个字均要改变第三维度的向量值。再根据各个字在词组中的具体位置,“直”位于该词组的首位,将第三维度的向量值由0改为1,即“直”的特征向量为[0,0,1,0,0,0];“肠”和“腹”均位于该词组的中间位置,因此这两个字的特征向量相同,均将第三维度的向量值由0改为2,即“肠”和“腹”的特征向量均为[0,0,2,0,0,0];“膜”位于该词组的末位,将第三维度的向量值由0改为3,即“膜”的特征向量为[0,0,3,0,0,0]。

与前缀词典相匹配时适用第二对应规则:所述特征向量的长度等于所述实体类别的数量;所述特征向量中每一维度对应一个所述实体类别;所述特征向量通过将初始向量值改为第一向量值或第二向量值对应表征单个字在词组中的首位或非首位。

以词组“血细胞”为例,第一向量值和第二向量值分别取1,2。该词组出现在前缀词典中,且与检查和检验这一实体类别相关联,因此这三个字均要改变第四维度的向量值。再根据各个字在词组中的具体位置,“血”位于该词组的首位,将第四维度的向量值由0改为1,即“血”的特征向量为[0,0,0,1,0,0];“细”和“胞”均位于该词组的非首位,均将第四维度的向量值由0改为2,即“细”和“胞”的特征向量均为[0,0,0,2,0,0]。

与后缀词典相匹配时适用第三对应规则:所述特征向量的长度等于所述实体类别的数量;所述特征向量中每一维度对应一个所述实体类别;所述特征向量通过将初始向量值改为第二向量值或第三向量值对应表征单个字在词组中的非末位或末位。

以词组“彩超”为例,第二向量值和第三向量值分别取2,3。该词组出现在后缀词典中,且与检查和检验这一实体类别相关联,因此这三个字要改变第四维度的向量值。再根据各个字在词组中的具体位置,“彩”位于该词组的非末位,将第四维度的向量值由0改为2,即“彩”的特征向量为[0,0,0,2,0,0];“超”位于该词组的末位,将第四维度的向量值由0改为3,即“超”的特征向量为[0,0,0,3,0,0]。

需要注意的是,经过n-gram遍历,会将一段语句按不同的字数划分多次,因此每个字会得到n个特征向量,但这个特征向量只会有两种可能,要么不匹配输出的初始的特征向量,要么匹配输出的相应的特征向量(各次遍历下匹配输出的相应的特征向量是相同的)。只要有一次匹配,则最终对应该字输出的是该字相应的特征向量,除非每次都不匹配,则最终对应该字输出的是初始的特征向量。

步骤05:将所述输出的每个字的特征向量对应拼接每个字的初始向量之后,以得到用于表征所述中文病历的向量集。

所述初始向量是中文病历在预处理时给病历中每个字的定义,比如每个字的初始向量定义为[0]。

以词组“彩超”为例,最终得到的向量集为[0,0,0,0,2,0,0][0,0,0,0,3,0,0]。又以词组“直肠腹膜”为例,最终得到的向量集为[0,0,0,1,0,0,0][0,0,0,2,0,0,0][0,0,0,2,0,0,0][0,0,0,3,0,0,0]。

步骤06:将所述用于表征所述中文病历的向量集输入训练好的模型以抽取其中的实体。

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

模型训练时,给模型定义输入向量和对应的输出值,模型经过训练后,一旦识别到输入的向量集中包含某段特定的向量值,模型就可以识别出特定的实体特征。例如输入向量集[0,0,0,1,0,0,0][0,0,0,2,0,0,0][0,0,0,2,0,0,0][0,0,0,3,0,0,0],根据每个特征向量中第二个维度至第七个维度的六个向量值,可以识别出这向量集表征的词组是一个身体部位。

本实施例通过先识别出中文病历中的实体转换成特征向量,最终生成向量集作为模型的输入,可以有效提高模型对实体提取的准确率。

其次,本发明提出了一种基于医学词典的实体提取装置,所述装置20可以被分割为一个或者多个模块。

例如,图2示出了所述基于医学词典的实体提取装置20一实施例的结构图,该实施例中,所述装置20可以被分割为词典构建模块201、遍历模块202、匹配模块203、特征向量生成模块204、向量集生成模块205和实体提取模型206。以下描述将具体介绍所述模块201-206的具体功能。

所述词典构建模块201用于基于原始医学词典构建前缀词典和后缀词典,所述原始医学词典包含了所有医学名词与实体类别的对应关系。

所述遍历模块202用于对中文病历做n-gram遍历,n为等于或小于所述中文病历长度的非零自然数。

所述匹配模块203用于将遍历后得到各个词组分别与所述原始医学词典、所述前缀词典和所述后缀词典进行匹配并输出匹配结果,所述匹配结果中包含有匹配的词典名词和匹配的医学名词及该医学名词对应的实体类别。

所述特征向量生成模块204用于根据匹配结果与特征向量的对应规则,输出每个字的特征向量。

所述向量集生成模块205用于将所述输出的每个字的特征向量对应拼接每个字的初始向量之后,以得到用于表征所述中文病历的向量集。

所述实体提取模型206用于将所述用于表征所述中文病历的向量集输入训练好的模型以抽取其中的实体。

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

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

所述存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器21还可以既包括所述计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述计算机设备2的操作系统和各类应用软件,例如用于实现所述基于医学词典的实体提取方法的计算机程序等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。

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

所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他计算机设备之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。

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

在本实施例中,存储于存储器21中的用于实现所述基于医学词典的实体提取方法的计算机程序可以被一个或多个处理器(本实施例为处理器22)所执行,以完成以下步骤的操作:

步骤01:基于原始医学词典构建前缀词典和后缀词典,所述原始医学词典包含了所有医学名词与实体类别的对应关系;

步骤02:对中文病历做n-gram遍历,n为等于或小于所述中文病历长度的非零自然数;

步骤03:将遍历后得到各个词组分别与所述原始医学词典、所述前缀词典和所述后缀词典进行匹配并输出匹配结果,所述匹配结果中包含有匹配的词典名词和匹配的医学名词及该医学名词对应的实体类别;

步骤04:根据匹配结果与特征向量的对应规则,输出每个字的特征向量;

步骤05:将所述输出的每个字的特征向量对应拼接每个字的初始向量之后,以得到用于表征所述中文病历的向量集;

步骤06:将所述用于表征所述中文病历的向量集输入训练好的模型以抽取其中的实体。

此外,本发明一种计算机可读存储介质,所述计算机可读存储介质为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以实现上述基于医学词典的实体提取方法或装置的操作。

其中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如前述用于实现所述基于医学词典的实体提取方法的计算机程序等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

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

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