一种基于句子语义替换的电子病历文本数据增强方法转让专利

申请号 : CN202110099780.X

文献号 : CN112836047B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 利建鑫任江涛

申请人 : 中山大学

摘要 :

本发明涉及自然语言处理技术领域,公开了一种基于句子语义替换的电子病历文本数据增强方法,将数据集中的一个样本文本作为原始文本,将原始文本拆分成多个句子,将句子整句替换成与原句语义相同或相似的句子,增加样本的数量,实现数据增强,增加生成的文本与原始文本的差异性,防止模型过拟合。

权利要求 :

1.一种基于句子语义替换的电子病历文本数据增强方法,其特征在于,包括:S1、获取待处理的原始文本;

S2、将所述原始文本拆分为多个原始句子,根据逗号、分号或句号将所述原始文本进行分句;

S3、将所述原始句子替换成语义相同或相似的样本句子,包括:

S3.1、构建句子语料库;将已获得的数据集中的各样本文本进行分类,将样本文本拆分成多个样本句子,属于同一类别的样本文本中的各个样本句子构成该类别的句子语料库;

根据疾病类型将各所述样本文本进行分类;

S3.2、根据所述原始句子与所述句子语料库中的每个样本句子的相似度,从句子语料库中采样一个样本句子来替换所述原始句子;在所述原始文本所属类别的句子语料库中进行采样;将原始文本定义为xi,xi是一段文本,由多个句子sj组成,即 yj∈{1,...C},yj为文本xi所属的类别,C代表某一具体的类别;将句子语料库定为KC,KC由类别为C的多个样本文本的所有样本句子组成,即 yj=C,q为样本文本的个数,C为样本文本所属的类别;

使用编码器gθ对原始句子sj进行编码,得到原始句子sj的向量表示 d为向量的维度,编码器gθ为预训练语言模型;

使用编码器gθ对句子语料库KC中的每一个样本句子 进行编码,得到样本句子 的向量表示计算原始句子sj与样本句子 的相似度:

其中,相似度向量P=[p1,...,pk],pk表示原始句子sj与句子语料库KC中第k个样本句子的相似度。

2.根据权利要求1所述的基于句子语义替换的电子病历文本数据增强方法,其特征在于,对相似度向量P进行归一化处理,得到一个概率分布,根据所述概率分布从所述句子语料库中进行采样替换。

3.根据权利要求1所述的基于句子语义替换的电子病历文本数据增强方法,其特征在于,所述预训练语言模型为BERT模型或XLM模型。

4.根据权利要求1所述的基于句子语义替换的电子病历文本数据增强方法,其特征在于,在S3.2中,还包括:S3.2.1、生成一个随机数r,r为0‑1中的任意一个数,若随机数r小于预设的p值,则根据相似度替换该原始句子,否则不进行替换。

5.根据权利要求1所述的基于句子语义替换的电子病历文本数据增强方法,其特征在于,获取一份疾病分类数据集,所述原始文本为所述疾病分类数据集中的一个样本文本,将所述疾病分类数据集根据疾病类型将各样本文本进行分类,对于样本文本数量较少的疾病类型中的各样本文本进行句子替换。

说明书 :

一种基于句子语义替换的电子病历文本数据增强方法

技术领域

[0001] 本发明涉及自然语言处理技术领域,特别是涉及一种基于句子语义替换的电子病历文本数据增强方法。

背景技术

[0002] 文本分类是自然语言处理中的一项基本任务。机器学习和深度学习在这项任务中获得了很高的准确率。然而,文本分类的高准确率往往取决于训练数据的大小和质量,这在真实的任务中往往是难以满足的,特别是在基于电子病历文本的疾病辅助诊断任务中,我们难以收集到足够的高质量数据。数据增强被广泛应用在深度学习中,使用这项技术可以增加训练数据的个数。Jason W.Wei和Kai Zou在文章《EDA:Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks》提出了一种EDA方法,这种方法包含四种操作,分别是同义词替换,随机插入,随机交换和随机删除,能够有效的提高模型的准确率。然而,EDA的四种操作的对象都是词,这样生成的文本与原来的文本差异度较小,容易导致模型过拟合。
[0003] 中国发明专利申请CN108460015A(公开日为2018年08月28日)公开了一种文本情感分类数据增强分析方法,包括:获取待处理的原始句子文本;对所述原始句子文本进行处理,得到与所述原始句子文本语义相同的处理语句文本;应用所述原始句子文本及所述处理语句文本进行情感分析。该专利是通过替换文本中的词语来实现数据增强的,使生成的文本与原始文本的差异度较小,容易导致模型过拟合。

发明内容

[0004] 本发明的目的是提供一种能够增加与原文本的差异性且不改变文本的含义的基于句子语义替换的电子病历文本数据增强方法。
[0005] 为了实现上述目的,本发明提供了一种基于句子语义替换的电子病历文本数据增强方法,包括:
[0006] S1、获取待处理的原始文本;
[0007] S2、将所述原始文本拆分为多个原始句子,根据逗号、分号或句号将所述原始文本进行分句;
[0008] S3、将所述原始句子替换成语义相同或相似的样本句子;包括:。
[0009] S3.1、构建句子语料库;将已获得的数据集中的各样本文本进行分类,将样本文本拆分成多个样本句子,属于同一类别的样本文本中的各个样本句子构成该类别的句子语料库;根据疾病类型将各所述样本文本进行分类;
[0010] S3.2、根据所述原始句子与所述句子语料库中的每个样本句子的相似度,从句子语料库中采样一个样本句子来替换所述原始句子;在所述原始文本所属类别的句子语料库中进行采样;将原始文本定义为xi,xi是一段文本,由多个句子sj组成,即 yj∈{1,...C},yj为文本xi所属的类别,C代表某一具体的类别;将句子语料库定为KC,KC由类别为C的多个样本文本的所有样本句子组成,即 yj=C,q为样本文本的个数,C为样本文本所属的类别;
[0011] 使用编码器gθ对原始句子sj进行编码,得到原始句子sj的向量表示 d为向量的维度,编码器gθ为预训练语言模型;
[0012] 使用编码器gθ对句子语料库KC中的每一个样本句子 进行编码,得到样本句子的向量表示
[0013] 计算原始句子sj与样本句子 的相似度:
[0014]
[0015] 其中,相似度向量P=[p1,...,pk],pk表示原始句子sj与句子语料库KC中第k个样本句子 的相似度。
[0016] 作为优选方案,对相似度向量P进行归一化处理,得到一个概率分布,根据所述概率分布从所述句子语料库中进行采样替换。
[0017] 作为优选方案,所述预训练语言模型为BERT模型或XLM模型。
[0018] 作为优选方案,在S3.2中,还包括:
[0019] S3.2.1、生成一个随机数r,r为0‑1中的任意一个数,若随机数r小于预设的p值,则根据相似度替换该原始句子,否则不进行替换。
[0020] 作为优选方案,获取一份疾病分类数据集,所述原始文本为所述疾病分类数据集中的一个样本文本,将所述疾病分类数据集根据疾病类型将各样本文本进行分类,对于样本文本数量较少的疾病类型中的各样本文本进行句子替换。
[0021] 与现有技术相比,本发明的有益效果在于:
[0022] 本发明通过将原始文本的原始句子整句替换成样本句子,可保证句子的含义与原始句子的含义相差不大,能够增加文本的数量,实现数据增强,增加生成的文本与原始文本的差异性且不改变文本的含义。

附图说明

[0023] 图1是本发明实施例的文本数据增强方法的流程框图。

具体实施方式

[0024] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0025] 如图1所示,本发明优选实施例的一种基于句子语义替换的电子病历文本数据增强方法,包括:
[0026] S1、获取待处理的原始文本:本实施例从获取的一份疾病分类数据集中,将所述疾病分类数据集根据疾病类型将各样本文本进行分类,从样本文本数量较少的疾病类型中的各样本文本中,选取一份样本文本作为原始文本进行数据增强。
[0027] S2、将所述原始文本拆分为多个原始句子:根据逗号、分号或句号将所述原始文本进行分句。
[0028] S3、将所述原始句子替换成语义相同或相似的样本句子:
[0029] S3.1、构建句子语料库:将已获得的数据集中的各样本文本进行分类,将样本文本拆分成多个样本句子,属于同一类别的样本文本中的各个样本句子构成该类别的句子语料库;本实施例根据疾病类型将各所述样本文本进行分类,使样本数量足够的疾病类型可不受影响。
[0030] S3.3、根据所述原始句子与所述句子语料库中的每个样本句子的相似度,从在所述原始文本所属类别的句子语料库中采样一个样本句子来替换所述原始句子:
[0031] S3.2.1、生成一个随机数r,r为0‑1中的任意一个数,若随机数r小于预设的p值,则进行S3.2.2,根据相似度替换该原始句子;否则不进行替换并再生成一个随机数来判断是否替换下一个原始句子,直到遍历完原始文本中的所有句子。本实施例的预设的p值为0.8,表示一个原始句子有80%的可能性被替换。生成随机数可提高数据增强后的样本数量。
[0032] S3.2.2、将原始文本定义为xi,xi是一段文本,由多个句子sj组成,即yj为文本xi所属的类别,C代表某一具体的类别;将句子语料库定为KC,KC由类别为C的多个样本文本的所有样本句子组成,即 yj=C,q为样本文本的个数,C为样本文本所属的类别;
[0033] 使用编码器gθ对原始句子sj进行编码,得到原始句子sj的向量表示 d为向量的维度,编码器gθ为预训练语言模型,编码器gθBERT模型或XLM模型;
[0034] 使用编码器gθ对句子语料库KC中的每一个样本句子 进行编码,得到样本句子的向量表示
[0035] 计算原始句子sj与样本句子 的相似度:
[0036]
[0037] 其中,相似度向量P=[p1,...,pk],pk表示原始句子sj与句子语料库KC中第k个样本句子 的相似度。
[0038] S3.2.3、对相似度向量P进行归一化处理,得到一个概率分布,根据所述概率分布从所述句子语料库中进行采样替换。将相似度向量P做归一化后,看作是一个概率分布,然后根据这个概率分布进行句子采样,如:句子语料库中有三个样本句子a、b、c,样本句子a对应的概率值为0.1,样本句子b对应的概率值为0.4,样本句子c对应的概率值为0.5,那么替换原始句子时基就有10%的可能选样本句子a、40%的可能选择样本句子b、50%的可能选择样本句子c。
[0039] 综上,本发明实施例提供一种基于句子语义替换的电子病历文本数据增强方法,其通过以数据集中的某个样本文本为原始文本,将原始文本拆分为各个原始句子,在以数据集为基础构建的句子语料库中选择一个样本句子替换原始句子,实现数据增强。
[0040] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。