医疗文本特征提取与自动匹配方法和系统与流程

文档序号:15931931发布日期:2018-11-14 01:46阅读:356来源:国知局

本发明涉及互联网服务技术领域,尤其涉及一种医疗文本特征提取与自动匹配方法和系统。

背景技术

外部医疗文本大数据与商业实体(例如保险机构)内部信息的对接问题是基于大数据、深度学习背景下健康领域的热门研究课题。其中,针对外部医疗数据,根据已有分类目标进行规范化划分在内外信息对接过程中起着十分重要的作用。

由于医疗实体与普通实体区别较大,开放领域实体对一般语料信息的标注识别难以用于医疗文本,这是因为医疗术语的判断需要专业人士来进行,这大大提高了医疗文本识别和匹配的成本。

目前,绝大多数传统方法都是基于搜索引擎、文本相似度、简单编辑距离等,辅以人工提取的规则进行运作,存在规则互斥、操作繁琐、效率极低、匹配率极低等问题。

由于规则的广泛渗入,导致不同场景之间可移植性差,当需要进行场景切换时需要重铸规则代码,工作量庞大,不能满足后期决策模型的支持。而且由于海量的医疗大数据不断涌入,数量级已远超传统规则提取的掌控范围。

深度学习在近几年取得了重大进展,它已经被证明能够发掘出高维数据中的复杂结构进行学习。词向量(wordembedding)是近年来常用来替代传统词袋(bagofword)的词表示方法,解决了词袋表示带来的维数灾难问题。然而,目前尚未见有报道基于词向量而进行医疗文本规范化匹配的技术手段。



技术实现要素:

考虑到现有技术的上述问题,发明人做出了本发明,其用于实现医疗文本中字下语义识别的能力,提升模型泛化能力,在不同场景之间可以自由的切换,可移植性很强,大大减少了人力资源消耗。

根据本发明的实施例,提供了一种医疗文本特征提取与自动匹配方法,其特征在于包括以下步骤:

步骤1、从外部输入的医疗数据中提取医疗文本,并对医疗文本进行分词处理,得到待与规范词表中的规范词进行匹配的医疗词语;

步骤2、对于每个医疗词语,通过词向量化操作,获得所述医疗词语中的每个语素所对应的n维向量,形成与所述医疗词语对应的m×n维矩阵,其中,m为所述医疗词语中所包含的语素的数量;

步骤3、将与所述医疗词语对应的m×n维矩阵降维为向量,生成降维后的向量;

步骤4、分别计算所述降维后的向量与所述规范词表中的各个规范词所对应的向量的向量距离;

步骤5、对计算出的向量距离从小到大进行排序,从所述规范词表的规范词中选取与所述降维后的向量的向量距离排序在前的一个或多个规范词,作为候选规范词。

根据本发明的实施例,所述方法还包括以下步骤:

步骤6、计算所述医疗词语与各个候选规范词之间的逻辑包含距离,将逻辑包含距离最小的候选规范词作为与所述医疗词语最终匹配的规范词。

根据本发明的实施例,可选地,所述方法还包括以下步骤:

步骤6、计算所述医疗词语与各个候选规范词之间的编辑距离,将编辑距离最小的候选规范词作为所述医疗词语最终匹配的规范词。

根据本发明的实施例,可选地,所述方法还包括以下步骤:

步骤6、计算所述医疗词语与各个候选规范词之间的逻辑包含距离和编辑距离,并将所述逻辑包含距离与所述编辑距离加权求和,得到加权求和结果最大的候选规范词,作为所述医疗词语最终匹配的规范词。

根据本发明的实施例,在所述步骤3中,通过池化方法进行所述降维,所述池化方法为平均池化、最大池化、最小池化中的一种或几种,

在采用平均池化、最大池化、最小池化中的一种时,将与所述医疗词语对应的m×n维矩阵降维为1×n维向量,作为所述降维后的向量,

其中,在采用平均池化、最大池化、最小池化中的几种时,将池化后的向量级联,形成所述降维后的向量。

根据本发明的实施例,在步骤1之后还包括:

步骤1-1、通过文本比较,判定所述医疗词语与规范词表中的某个规范词是否完全相同,如果是,则直接将所述医疗词语匹配到所述规范词,结束本方法。

根据本发明的实施例,所述规范词和所述医疗词语具有属性标注,在所述步骤4中,分别计算所述医疗词语所对应的降维后的向量与所述规范词表中的与所述医疗词语具有相同的属性标注的各个规范词所对应的向量的向量距离。

根据本发明的实施例,所述向量距离为欧氏距离。

根据本发明的实施例,还提供了一种用于执行所述方法的医疗文本特征提取与自动匹配系统,其特征在于包括分词模块、词向量化模块、降维模块、匹配模块,

其中,所述分词模块用于从外部输入的医疗数据中提取医疗文本,并对医疗文本进行分词处理,得到待与规范词表中的规范词进行匹配的医疗词语;

所述词向量化模块用于通过词向量化操作,获得所述医疗词语中的每个语素所对应的n维向量,形成m×n维矩阵,其中,m为所述医疗词语中所包含的语素的数量;

所述降维模块用于将与所述医疗词语对应的m×n维矩阵降维为向量,生成降维后的向量;

所述匹配模块用于:

分别计算所述降维后的向量与所述规范词表中的各个规范词所对应的向量的向量距离;

对计算出的向量距离从小到大进行排序,从所述规范词表的规范词中选取与所述降维后的向量的向量距离排序在前的一个或多个规范词,作为候选规范词;

计算所述医疗词语与各个候选规范词之间逻辑包含距离和/或编辑距离,根据计算结果选择候选规范词中的一个作为与所述医疗词语最终匹配的规范词。

根据本发明的实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有用于上述方法的程序,所述程序被处理器执行时,执行根据所述方法的步骤。

本发明的有益效果主要在于:提高特征提取效率,实现了医疗文本中字下语义识别的能力,不基于规则的模型使得模型泛化能力极大提升,在不同场景之间可以自由的切换,可移植性很强,大大减少了人力资源消耗;我们在测试数据进行匹配时,原始数据集的直接匹配率不到8%,运用标准化自动匹配系统后匹配率能稳定在85%,基本无需人力支持;动态递增的数据结构规则化体系有助于及时反馈非中字字符信息,在循环反馈中达到识别效果的进一步提升;相比仅采用单一向量距离评价标准,效果有显著提升,同时,通过欧氏距离作为第一级筛选手段,大大减小了文本比较操作的数量,这意味着节约了计算资源,提高了计算速度;由于词向量无需标注工作,且蕴含了词汇的语义信息,能够大大减少人力资源消耗,减小了医疗术语需要专业人士进行的判别工作的负担和难度。

附图说明

图1为根据本发明的一个实施例的医疗文本特征提取与自动匹配方法的流程示意图;

图2为根据本发明的另一个实施例的医疗文本特征提取与自动匹配方法的部分流程示意图;

图3为根据本发明的另一个实施例的医疗文本特征提取与自动匹配方法的词向量化的概念示意图;

图4为根据本发明的实施例的医疗文本特征提取与自动匹配系统的功能架构示意图;

图5为根据本发明实施例的安装了应用程序的系统的运行环境的示意图。

具体实施方式

下面,结合附图对技术方案的实施作进一步的详细描述。

本领域的技术人员能够理解,尽管以下的说明涉及到有关本发明的实施例的很多技术细节,但这仅为用来说明本发明的原理的示例、而不意味着任何限制。本发明能够适用于不同于以下例举的技术细节之外的场合,只要它们不背离本发明的原理和精神即可。

另外,为了避免使本说明书的描述限于冗繁,在本说明书中的描述中,可能对可在现有技术资料中获得的部分技术细节进行了省略、简化、变通等处理,这对于本领域的技术人员来说是可以理解的,并且这不会影响本说明书的公开充分性。

下文中,将描述用于进行本发明的实施例。注意,将以下面的次序给出描述:1、发明构思的概要;2、医疗文本特征提取与自动匹配方法(图1至3);3、医疗文本特征提取与自动匹配系统(图4);4、根据本发明的实施例的安装了应用程序的系统、以及存储所述应用程序的计算机可读介质(图5)。

1、发明构思的概要

本发明涉及一种基于word2vec的无监督中文文本特征自动提取与欧式距离、逻辑包含距离与编辑距离标准化组合的模型,主要包括以下方面:

1、根据skip-gram模型的wordembedding方法,将内部待匹配医疗文本中文字对应到n维空间下的具体坐标点,实现无监督情景下的中文文本向量化,达到了语义识别的能力,即算法可以自动识别文本中语义信息,向量化后的中文文本从源头上解决了传统方法需要加入大量规则缺陷;

2、在此基础上构造了文本长/短句下的向量矩阵,通过max,min,mean纵向特征池化方法进行降维捕捉文本关键特征,结合欧式距离计算得到最优匹配待选列表;

3、通过逻辑包含距离与编辑距离加权计算得到最优匹配项,从而高效地提升了外部医疗大数据与目标分类的匹配率;

4、在模型输入前,可建立一套基于主动学习的动态递增的数据结构规则化体系来排除对语义识别有干扰的非中字字符。主要包含各类书写结构数字/字母、特殊字符、英语别名等。

下面,结合实施例来说明上述发明构思的实现。

2、医疗文本特征提取与自动匹配方法

图1和2为根据本发明的实施例的医疗文本特征提取与自动匹配方法的部分流程示意图。

如图1所示,本发明的实施例提供了一种医疗文本特征提取与自动匹配方法,主要包括以下步骤:

步骤s100、从外部输入的医疗数据中提取医疗文本,并对医疗文本进行分词处理,得到待与规范词表中的规范词进行匹配的医疗词语;

步骤s200、通过词向量化操作,获得所述医疗词语中的每个语素所对应的n维向量,形成m×n维矩阵,其中,m为所述医疗词语中所包含的语素的数量;

步骤s300、采用单向池化方法,将m×n维矩阵降维为与所述医疗词语相对应的n维向量;

步骤s400、分别计算所述医疗词语所对应的n维向量与所述规范词表中的各个规范词所对应的n维向量的欧式距离;

步骤s500、对计算出的欧式距离进行排序,从所述规范词表中的规范词中选取与所述医疗词语所对应的n维向量的欧式距离较小的多个规范词,作为候选规范词;

步骤s600、计算所述医疗词语与各个候选规范词之间逻辑包含距离和/或编辑距离,并将所述逻辑包含距离与所述编辑距离加权求和,得到加权求和结果最大的候选规范词,作为所述医疗词语最终匹配的规范词。

其中,所述规范词表中的各个规范词所对应的n维向量是通过对所述各个规范词进行上述步骤s200和s300而得到的n维向量,其中,各个规范词对应于所述医疗词语。

具体地,在步骤s100中,例如,可通过将医疗文本与医学词典中的词条进行匹配的方法,进行所述分词处理,得到拆分后的医疗词语,例如,拆分后的医疗词语可为“哮喘”、“肿瘤”,等等。

可选地,在步骤s100中,通过文本比较,判定所述医疗词语与规范词表中的某个规范词是否完全相同,如果是,则直接将所述医疗词语匹配到所述规范词,结束本方法。

例如,所述医学词典可包括50万条疾病名称(生产上的疾病名称)。

其中,所述匹配可采用以下方法:

1)正向最大匹配法(由左到右的方向);

2)逆向最大匹配法(由右到左的方向);

3)最少切分(使每一句中切出的词数最小);

4)双向最大匹配法(进行由左到右、由右到左两次扫描)。

本领域的技术人员能够理解,上述方法可通过各种已知方式/算法进行,且也可进行组合,在此不再赘述。

在步骤s200中,所述词向量化操作可采用word2vec工具,其也可被称为wordembeddings,作用就是将自然语言中的字词转为计算机可以理解的稠密向量(densevector),并且其中意思相近的词将被映射到向量空间中相近的位置。

通过所述词向量化操作,在嵌入空间中为能够每个词找一个合适的位置向量。这个向量能够反映词的语法和语义上的一些含义。

作为示例,所述步骤s100还可包括:

步骤s101、排除所述医疗文本中的非法字符,包括各类书写结构数字/字母、特殊字符、英语别名等。这里,可通过事先设置好的过滤规则,过滤掉上述非法字符。

具体地,如图2所示,在步骤s200中,所述词向量化为基于word2vec的无监督词向量化操作,所述词向量化操作主要包括以下步骤:

步骤s201、首先通过大量的语料学习,识别“正采样词”与“负采样词”;

步骤s202、将正采样词距离不断拉近,拉近的程度取决于其当前的距离,同时,将负采样词距离不断推远,推远的程度取决于其当前的距离;

步骤s203、在嵌入空间里为每个词找一个合适的位置向量。这个向量能够反映词的语法和语义上的一些含义。

也就是说,即两个词的位置向量的夹角cos越大,即越相似,则说明这两个词成词可能性越大,或是近义词的可能性越大;相反cos越小,即越不相似,说明这两个词成词可能性越小,或近义词可能性越小。同时也考虑向量之间的距离distance。

其中,上述术语“正采样词”和“负采样词”的含义如下:

正采样词:经常出现在一个窗口里的字/词,她们之间的语义相似度很高,也符合语法逻辑,譬如“肿”和“瘤”,“哮”和“喘”等成词的文字。

负采样词:极少出现在一个窗口里的字/词,即不符合语法逻辑,语义相似度低的词,譬如“肿”和“黑”,“哮”和“痛”等不成词的文字。

作为示例,通过word2vec学习,获得字向量(即,所述“语素”对应于一个汉字)在模型中的字向量通过超参数训练得到的值维度d=100,为便于理解,下面取d=2进行示例。如图3所示。

-肿[0.498006,-2.489054],瘤[0.691923,-2.792727],

-cos(肿,瘤)=0.999,distance(肿,瘤)=0.360

-肿[0.498006,-2.489054],大[-0.340440,-0.981898]

-cos(肿,大)=0.862,distance(肿,大)=1.725

-肿[0.498006,-2.489054],红[1.092340,-3.372209]

-cos(肿,红)=0.993,distance(肿,红)=1.064

-肿[0.498006,-2.489054],肱[-4.788107,2.656263]

-cos(肿,肱)=-0.647,distance(肿,肱)=7.376

-肿[0.498006,-2.489054],裂[-4.193781,2.289126]

-cos(肿,裂)=-0.642,distance(肿,裂)=6.696

-肿[0.498006,-2.489054],折[-3.655881,2.100383]

-cos(肿,折)=-0.658,distance(肿,折)=6.190

-骨[-3.781678,2.185360],瘤[0.691923,-2.792727],

-cos(骨,瘤)=-0.693,distance(骨,瘤)=6.692

-骨[-3.781678,2.185360],大[-0.340440,-0.981898]

-cos(骨,大)=-0.189,distance(骨,大)=4.676

-骨[-3.781678,2.185360],红[1.092340,-3.372209]

-cos(骨,红)=-0.742,distance(骨,红)=7.392

-骨[-3.781678,2.185360],肱[-4.788107,2.656263]

-cos(骨,肱)=0.999,distance(骨,肱)=1.111

-骨[-3.781678,2.185360],裂[-4.193781,2.289126]

-cos(骨,裂)=0.999,distance(骨,裂)=0.424

-骨[-3.781678,2.185360],折[-3.655881,2.100383]

-cos(骨,折)=0.999,distance(骨,折)=0.151

由此,可得到医学词语中的每个字所对应的字向量。

具体地,在所述步骤s300中,所述单向池化方法为纵向池化,其为平均池化(meanpooling)、最大池化(maxpooling)、最小池化(minpooling)中的一种(即,池化窗口为m×1);

例如,通过上述池化方法中的一个,可将10×100的矩阵(10个1×100维字向量形成的矩阵)降维为1×100维的向量。

可选地,可使用上面三种池化方法,将10×100的矩阵(10个1×100维字向量形成的矩阵)降维为三个1×100维的向量,之后进一步级联形成一个1×300维向量,以便于在后面的步骤中与规范词表中的各个规范词所对应的各个1×300维向量进行匹配计算。

可选地,在步骤s400中,所述规范词和所述医疗词语具有属性标注,在所述步骤s400中,分别计算所述医疗词语所对应的n维向量与所述规范词表中与所述医疗词语具有相同的属性标注的各个规范词所对应的n维向量的欧式距离。

具体地,在步骤s400中,将文本向量规范化后(即,通过上述步骤将每个医疗词语规范化为与规范词相同的维度),基于所有规范名称通过欧式空间距离公式,计算所述医疗词语所对应的n维向量与所述规范词表中的各个规范词所对应的n维向量的欧式距离。

作为示例,所述医疗词语可被向量化为1×300维向量,表示如下:a=[1.393092,1.349219,…,1.311361,-2.02858,-0.15119,…,-1.24318,-0.44072,0.98503,…,-0.05916]

而规范词表中的规范词(如疾病名称)各自具有对应的1×300维向量,表示如下:

b1=[0.395221,0.45926,…,-3.252446,-3.020052,4.52419,…,2.214458,-1.4547,-1.98543,…,2.56514]

……

bk=[1.393092,1.349219,…,1.311361,-2.02858,-0.15119,…,-1.24318,-0.44072,0.98503,…,-0.05916]

……

通过计算欧氏距离,可以得出,与a最接近(欧氏距离最小)的规范词为bk。在此示例中,bk与a的欧氏距离为0,表示完全匹配。

具体地,在步骤s500中,对计算出的欧式距离从小到大进行排序,从所述规范词表中的规范词中选取与所述医疗词语所对应的n维向量的欧式距离最小的多个规范词,作为候选规范词;

作为示例,筛选出欧式距离最短的10个规范词作为备选集。

具体地,在步骤s600中,所述逻辑包含距离表示所述医疗词语与所述规范词的重合度,例如,通过相同字符的数目来表示所述逻辑包含距离;所述编辑距离表示将所述医疗词语编辑为所述规范词个所需的最少编辑操作次数;在所述加权求和中,所述逻辑包含距离的权重为所述编辑距离的权重的2倍。

可选地,也可仅单独使用所述逻辑包含距离或所述编辑距离。

具体地,编辑距离(editdistance)又称levenshtein距离,是指两个字串之间由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。

例如,经过计算欧氏距离之后的筛选,从外部输入的医疗词语“手心局部性表皮组织挫伤”与规范词“手掌心局部性表皮组织挫伤”、“手掌心局部性表皮组织挫伤肿瘤”均具有较小的距离。接下来计算编辑距离。

“手心局部性表皮组织挫伤”→“手掌心局部性表皮组织挫伤”的编辑距离为1;“手心局部性表皮组织挫伤”→“手掌心局部性表皮组织挫伤肿瘤”的编辑距离为3。根据上述操作,可选择前者作为匹配结果。

上述“欧式距离”、“逻辑包含距离”、“编辑距离”的概念属于本领域的已知概念,为了简明起见,在此不再赘述。

3、医疗文本特征提取与自动匹配系统

根据本发明的实施例,还提供了一种医疗文本特征提取与自动匹配系统,用于执行本申请中的所述方法的各个步骤,如图4所示,所述医疗文本特征提取与自动匹配系统系统主要包括分词模块、词向量化模块、降维模块、匹配模块。

其中,所述分词模块用于从外部输入的医疗数据中提取医疗文本,并对医疗文本进行分词处理,得到待与规范词表中的规范词进行匹配的医疗词语;

所述词向量化模块用于通过词向量化操作,获得所述医疗词语中的每个语素所对应的n维向量,形成m×n维矩阵,其中,m为所述医疗词语中所包含的语素的数量;

所述降维模块用于采用单向池化方法,将m×n维矩阵降维为与所述医疗词语相对应的n维向量;

所述匹配模块用于:

分别计算所述医疗词语所对应的n维向量与所述规范词表中的各个规范词所对应的n维向量的欧式距离;

对计算出的欧式距离进行排序,从所述规范词表中的规范词中选取与所述医疗词语所对应的n维向量的欧式距离较小的多个规范词,作为候选规范词;

计算所述医疗词语与各个候选规范词之间逻辑包含距离和/或编辑距离,并将所述逻辑包含距离与所述编辑距离加权求和,得到加权求和结果最大的候选规范词,作为所述医疗词语最终匹配的规范词。

此外,本发明的不同实施例也可以通过软件模块或存储在一个或多个计算机可读介质上的计算机可读指令的方式实现,其中,所述计算机可读指令是当被处理器或设备组件执行时,执行本发明所述的不同的实施例。类似地,软件模块、计算机可读介质和硬件部件的任意组合都是本发明预期的。所述软件模块可以被存储在任意类型的计算机可读存储介质上,例如ram、eprom、eeprom、闪存、寄存器、硬盘、cd-rom、dvd等等。

4、根据本发明的实施例的安装了应用程序的系统

参照图5,其示出了根据本发明实施例的安装了应用程序的系统的运行环境。

在本实施例中,所述的安装应用程序的系统安装并运行于电子装置中。所述电子装置可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该电子装置可包括但不限于存储器、处理器及显示器。附图仅示出了具有上述组件的电子装置,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器在一些实施例中可以是所述电子装置的内部存储单元,例如该电子装置的硬盘或内存。所述存储器在另一些实施例中也可以是所述电子装置的外部存储设备,例如所述电子装置上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器还可以既包括所述电子装置的内部存储单元也包括外部存储设备。所述存储器用于存储安装于所述电子装置的应用软件及各类数据,例如所述安装应用程序的系统的程序代码等。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。

所述处理器在一些实施例中可以是中央处理单元(centralprocessingunit,cpu)、微处理器或其他数据处理芯片,用于运行所述存储器中存储的程序代码或处理数据,例如执行所述安装应用程序的系统等。

所述显示器在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。所述显示器用于显示在所述电子装置中处理的信息以及用于显示可视化的客户界面,例如应用菜单界面、应用图标界面等。所述电子装置的部件通过系统总线相互通信。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解,上述实施方式中的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件商品的形式体现出来,该计算机软件商品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明本申请各个实施例所述的方法。

也就是说,根据本发明的实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有用于执行根据本发明的实施例的所述方法的程序,所述程序被处理器执行时,执行所述方法的各个步骤。

由上,将理解,为了说明的目的,这里已描述了本发明的具体实施例,但是,可作出各个修改,而不会背离本发明的范围。本领域的技术人员将理解,流程图步骤中所绘出或这里描述的操作和例程可以多种方式变化。更具体地,可重新安排步骤的次序,可并行执行步骤,可省略步骤,可包括其它步骤,可作出例程的各种组合或省略。因而,本发明仅由所附权利要求限制。

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