基于N-gram算法并利用下游任务筛选文本的文本增强方法
未命名
07-12
阅读:92
评论:0

基于n-gram算法并利用下游任务筛选文本的文本增强方法
技术领域
1.本发明属于文本智能识别领域,具体涉及一种基于n-gram算法并利用下游任务筛选文本的文本增强方法。
背景技术:
2.伴随深度学习的发展,训练数据作为提升模型性能的关键因素之一,其质量的和规模对模型效果有深刻的影响。一些包含个人隐私的文本,例如电子病历文本,医疗对话文本通常难以获取。这使得自然语言处理的相关模型难以运用于这些领域。然而,通过对患者诊疗记录的信息抽取,一方面可以帮助患者了解个人身体情况,另一方面可以辅助医生对患者病情进行分析和诊断。因此,使用文本增强方法生成高质量的文本十分必要。
3.现有的文本增强方法包括随机插入、随机删除、随机替换、回译等。由于这些方法具有一定的随机性,所生成文本的质量不可控,因此经常会出现大量不通顺、不连贯的文本。这些不能保证质量的新文本会给深度学习的模型训练带来噪声,从而使语言模型的性能显著下降。
技术实现要素:
4.本发明的技术问题是现有的文本增强方法生成的文本质量不可控,易出现生成文本不通顺、不连贯的问题。
5.本发明的目的是针对上述问题,提供一种基于n-gram算法并利用下游任务筛选文本的文本增强方法,一方面采用基于n-gram和联合概率公式的评分函数对文本进行过滤,使生成的文本的文本风格更接近原始文本的文本风格;另一方面,加权平均的评分函数对文本进行过滤,使生成的文本更加通顺。
6.本发明的技术方案是基于n-gram算法并利用下游任务筛选文本的文本增强方法,包括以下步骤:
7.步骤1:选择采用文本生成器,生成与原始文本相近的文本;
8.步骤2:设定用于评价文本生成质量的评分函数,并对每一批次生成的文本进行评分;
9.步骤2.1:建立基于n-gram和联合概率公式的评分函数,设定第一分数线,对生成的文本进行打分,筛选出得分大于第一分数线的文本;
10.步骤2.2:建立基于加权平均的评分函数,设定第二分数线,对步骤2.1筛选得到的文本进行打分,筛选出得分大于第二分数线的文本;
11.步骤3:在下游任务上对筛选出的文本进行评价;
12.步骤3.1:将步骤2筛选得到的文本与原始文本合并,用于下游任务的预训练;
13.步骤3.2:使用随机插入、随机删除、同义词替换的文本增强方式,生成与筛选出的文本数据量相同的数据,用于下游任务的预训练;
14.步骤3.3:对步骤3.1和步骤3.2得到的文本进行评价,并设定第三分数线,筛选出
得分大于第三分数线的文本;
15.步骤4:从步骤3得到的文本中选出语义通顺的文本作为下一批次文本生成过程的输入,重复步骤1-3得到所需数量的新文本。
16.进一步地,步骤1中,所述文本生成器为lstm模型或gru模型或bert模型或gpt模型。
17.步骤2.1中,将文本数据划分成unigram和bigram形式后,分别制作成unigram形式的字典unigram_dict和bigram形式的语料字典bigram_dict,字典的索引是字符,字典的值是该unigram字符或bigram字符在训练语料中出现的频数;
18.基于n-gram算法和联合概率公式的评分函数如下:
[0019][0020][0021]
其中score1(c1,c2,c3,...,cn)表示当前批次的文本字符串c1,c2,c3,...,cn的基于n-gram算法的评分,ci、c
i+1
分别表示当前批次文本的第i、i+1个字符,w(ci,c
i+1
)表示语料字典bigram_dict中查到的字符串ci,c
i+1
在语料中出现频数,w(ci)表示字典unigram_dict中查到的字符ci在语料中出现的频数,v表示训练语料中字符的种类数;字符串ci,c
i+1
不属于语料字典bigram_dict时,w(ci,c
i+1
)+1取0;n表示当前批次的文本的长度。
[0022]
为便于计算,式(1)的评分函数采用对数函数的形式,最终的得分score1范围为[0,1];score1可衡量新生成语料的概率分布与训练语料的概率分布的相似程度,即对于新生成的文本,其score1越高,则表示新文本的字符组合越符合训练语料中的字符组合。
[0023]
进一步地,步骤2.2中,基于加权平均的评分函数如下:
[0024][0025]
式中score2表示基于加权平均的文本字符串c1,c2,c3,...,cn的评分。
[0026]
优选地,步骤3.3中采用f1分数对步骤3.1和步骤3.2得到的文本进行评分和筛选。
[0027]
相比现有技术,本发明的有益效果包括:
[0028]
1)本发明同时采用基于n-gram算法和加权平均的评分方式并结合下游任务评价生成文本的质量,使文本增强方法生成文本更通顺、连贯,有利于智能语言模型的训练。
[0029]
2)本发明使用基于n-gram和联合概率公式的评分函数对文本进行过滤,使生成的文本的文本风格更接近原始文本的文本风格。
[0030]
3)本发明使用加权平均的评分函数对文本进行过滤,使生成的文本更加通顺。
[0031]
4)本发明通过在需要完成的下游任务上评价文本生成的质量,使生成的新文本能够更加贴合下游任务,提高下游任务的效果。
[0032]
5)本发明可将众多不同类型的语言模型作为生成器,具有良好的扩展性。
附图说明
[0033]
下面结合附图和实施例对本发明作进一步说明。
[0034]
图1为本发明的基于n-gram算法并利用下游任务筛选文本的文本增强方法的流程示意图。
具体实施方式
[0035]
实施例中,命名实体识别为下游任务。
[0036]
如图1所示,基于n-gram算法并利用下游任务筛选文本的文本增强方法,包括以下步骤:
[0037]
步骤1:选择采用文本生成器,生成与原始文本相近的文本;
[0038]
实施例中,选用长短期记忆网络(long short-term memory,lstm)作为文本生成器。
[0039]
步骤2:设定用于评价文本生成质量的评分函数,并对每一批次生成的文本进行评分;
[0040]
步骤2.1:建立基于n-gram和联合概率公式的评分函数,设定第一分数线,对生成的文本进行打分,筛选出得分大于第一分数线的文本。
[0041]
将文本数据划分成unigram和bigram形式后,分别制作成unigram形式的字典unigram_dict和bigram形式的语料字典bigram_dict,字典的索引是字符,字典的值是该unigram字符或bigram字符在训练语料中出现的频数。
[0042]
基于n-gram算法和联合概率公式的评分函数如下:
[0043][0044][0045]
其中score1(c1,c2,c3,...,cn)表示当前批次的文本字符串c1,c2,c3,...,cn的基于n-gram算法的评分,ci、c
i+1
分别表示当前批次文本的第i、i+1个字符,w(ci,c
i+1
)表示语料字典bigram_dict中查到的字符串ci,c
i+1
在语料中出现频数,w(ci)表示字典unigram_dict中查到的字符ci在语料中出现的频数,v表示训练语料中字符的种类数;实施例中,使用拉普拉斯平滑,使得同一个字符对应的不同bigram概率和为1;字符串ci,c
i+1
不属于语料字典bigram_dict时,w(ci,c
i+1
)+1取0;n表示当前批次的文本的长度;n个字符对应n-1个bigram形式字符,因此连乘n-1次并取几何平均避免文本长度n过大时导致最终的得分数值过大。
[0046]
为便于计算,式(1)的评分函数采用对数函数的形式,最终的得分score1范围为[0,1];score1可衡量新生成语料的概率分布与训练语料的概率分布的相似程度,即对于新生成的文本,其score1越高,则表示新文本的字符组合越符合训练语料中的字符组合。
[0047]
步骤2.2:建立基于加权平均的评分函数,设定第二分数线,对步骤2.1筛选得到的文本进行打分,筛选出得分大于第二分数线的文本。
[0048]
基于加权平均的评分函数如下:
[0049][0050]
式中score2表示基于加权平均的文本字符串c1,c2,c3,...,cn的评分。
[0051]
步骤3:在下游任务上对筛选出的文本进行评价;
[0052]
步骤3.1:将步骤2筛选得到的文本与原始文本合并,作为word2vec模型的输入,用于训练词向量。
[0053]
选择bilstm crf作为命名实体识别模型,使用训练好的word2vec词向量对文本进行编码。
[0054]
实施例的word2vec模型参照2013年第26届国际神经信息处理系统会议发表的mikolov t等人的论文“distributedrepresentations of words and phrases and theircompositionality”公开的word2vec模型。
[0055]
实施例的bilstm crf模型参照2005年第18期《neural networks》刊登的graves a等人的论文“framewise phoneme classification with bidirectional lstm and other neural network architectures”公开的bilstm crf模型。
[0056]
步骤3.2:使用随机插入、随机删除、同义词替换等文本增强方式,生成与筛选出的文本数据量相同的数据,用于下游任务的预训练;
[0057]
步骤3.3:采用f1分数对步骤3.1和步骤3.2得到的文本进行评价,并设定第三分数线,筛选出得分大于第三分数线的文本;
[0058]
f1分数的计算公式如下:
[0059][0060]
式中f1表示待评价文本的f1分数,precision表示精确率;recall表示召回率。
[0061]
步骤4:从步骤3得到的文本中选出语义通顺的文本作为下一批次文本生成过程的输入,重复步骤1-3得到所需数量的新文本。
[0062]
实施结果表示,本发明的文本增强方法得到的生成文本具有文本数量丰富可控,文本风格与训练文本相同的特点。
技术特征:
1.基于n-gram算法并利用下游任务筛选文本的文本增强方法,其特征在于,包括以下步骤:步骤1:选择采用文本生成器,生成与原始文本相近的文本;步骤2:设定用于评价文本生成质量的评分函数,并对每一批次生成的文本进行评分;步骤2.1:建立基于n-gram算法和联合概率公式的评分函数,设定第一分数线,对生成的文本进行打分,筛选出得分大于第一分数线的文本;步骤2.2:建立基于加权平均的评分函数,设定第二分数线,对步骤2.1筛选得到的文本进行打分,筛选出得分大于第二分数线的文本;步骤3:在下游任务上对筛选出的文本进行评价;步骤3.1:将步骤2筛选得到的文本与原始文本合并,用于下游任务的预训练;步骤3.2:使用多种文本增强方式,生成与筛选出的文本数据量相同的数据,用于下游任务的预训练;步骤3.3:对步骤3.1和步骤3.2得到的文本进行评分,并设定第三分数线,筛选出得分大于第三分数线的文本;步骤4:从步骤3得到的文本中选出语义通顺的文本作为下一批次文本生成过程的输入,重复步骤1-3得到所需数量的新文本。2.根据权利要求1所述的文本增强方法,其特征在于,步骤1中,所述文本生成器为lstm模型或gru模型或bert模型或gpt模型。3.根据权利要求2所述的文本增强方法,其特征在于,步骤2.1中,将文本数据划分成unigram和bigram形式后,分别制作成unigram形式的字典unigram_dict和bigram形式的语料字典bigram_dict,字典的索引是字符,字典的值是该unigram字符或bigram字符在训练语料中出现的频数;基于n-gram算法和联合概率公式的评分函数如下:gram算法和联合概率公式的评分函数如下:其中score1(c1,c2,c3,...,c
n
)表示当前批次的文本字符串c1,c2,c3,...,c
n
的基于n-gram算法的评分,c
i
、c
i+1
分别表示当前批次文本的第i、i+1个字符,w(c
i
,c
i+1
)表示语料字典bigram_dict中查到的字符串c
i
,c
i+1
在语料中出现频数,w(c
i
)表示字典unigram_dict中查到的字符c
i
在语料中出现的频数,v表示训练语料中字符的种类数;字符串c
i
,c
i+1
不属于语料字典bigram_dict时,w(c
i
,c
i+1
)+1取0;n表示当前批次的文本的长度。4.根据权利要求3所述的文本增强方法,其特征在于,步骤2.2中,基于加权平均的评分函数如下:式中score2表示基于加权平均的文本字符串c1,c2,c3,...,c
n
的评分。
5.根据权利要求3或4所述的文本增强方法,其特征在于,步骤3.2中,所述文本增强方式包括随机插入、随机删除、同义词替换。6.根据权利要求5所述的文本增强方法,其特征在于,步骤3.3中采用f1分数对步骤3.1和步骤3.2得到的文本进行评分和筛选。
技术总结
本发明涉及基于N-gram算法并利用下游任务筛选文本的文本增强方法,包括:选用文本生成器,生成与原始文本相近的文本;设定用于评价文本生成质量的评分函数,并对每一批次生成的文本进行评分;在下游任务上对筛选出的文本进行评价;从得到的文本中选出语义通顺的文本作为下一批次文本生成过程的输入,重复生成文本得到所需数量的新文本。本发明同时采用基于N-gram算法和加权平均的评分方式并结合下游任务评价生成文本的质量,使文本增强方法生成文本更通顺、连贯,有利于智能语言模型的训练。有利于智能语言模型的训练。有利于智能语言模型的训练。
技术研发人员:苏志同 陈鹏 余肖生 张猛
受保护的技术使用者:三峡大学
技术研发日:2023.03.31
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/