融合TF-IDF算法和预训练模型的文本数据增强方法

未命名 07-22 阅读:81 评论:0

融合tf-idf算法和预训练模型的文本数据增强方法
技术领域
1.本发明涉及文本数据增强技术领域,特别涉及一种融合tf-idf算法和预训练模型的文本数据增强方法。


背景技术:

2.随着人工智能技术的发展,自然语言处理获得了极大关注,尤其是基于深度学习的自然语言处理技术取得了优异的性能,已经广泛应用在各个行业。深度学习神经网络模型的高性能依赖于训练样本数据的规模和质量。然而,文本数据由于自身的离散性和语义结构的复杂性,容易出现数据样本数量少、质量差、样本缺失等难题。数据增强(dataaugmentation)技术是解决这些问题的有效手段。因此,研究和优化文本数据增强方法对提升基于深度学习的自然语言处理技术的性能有着重要意义。
3.数据增强技术通过添加轻微扰动的样本,让有限的数据产生更多的等价数据,从而实现扩展训练数据集、进而提升深度学习模型性能的目的。数据增强技术在计算机视觉领域已经得到广泛的应用,有效的提升了各种计算机视觉任务的性能,但由于数据类型的不同,这些数据增强方法在自然语言处理中并不常见。近年来,受计算机视觉中对图像进行数据增强的启发,研究人员针对自然语言处理中的文本数据也提出了一系列文本数据增强算法。目前主流的文本数据增强算法大致可以分为三类:基于词元的数据增强、基于句子的数据增强和基于逻辑结构的数据增强,其中,基于词元的数据增强方法能够兼顾模型的效率和泛化能力,是目前最常采用的文本数据增强方法。
4.根据词元的选择和替换方式,基于词元的替换方法分为增加噪声和同义词替换两种。同义词替换是指对原样本中的若干目标词元用同义词替换而不改变原样本的语义和标签。相较于增加噪声的方法,基于同义词替换的文本数据增强方法能更好的保证生成文本与原始文本具有相同的属性。词元的选择与替换标准决定了生成文本的质量。大量的研究者提出了基于词典的同义词替换、基于词相似度的同义词替换等方法。虽然基于词元的文本数据增强方法得到了广泛的应用,但是,现有基于词元的文本数据增强算法在选择和替换文本时,可能会导致整个文本的含义或者语气发生较大改变,不利于网络参数的学习。


技术实现要素:

5.针对上述问题,本发明公开了一种融合tf-idf算法和预训练模型的文本数据增强方法,旨在使选择与替换词元时不改变文本原意,进而提升深度学习模型的泛化能力。
6.本发明的上述技术目的是通过以下技术方案得以实现的:
7.一种融合tf-idf算法和预训练模型的文本数据增强,包括以下步骤:
8.s1、数据预处理
9.根据规则对输入的文本进行预处理以去除特殊符号;
10.s2、tf-idf算法
11.假设d是属于语料corpus的一篇文档,并且d中有一词t,则tf的计算如公式(1)所
示:
[0012][0013]
对于tf值,由于词t可能出现在不同的文档d中,而不同的d篇幅长度不同,因此为了计算相对文档频率,需要将count(t,d)除以文档d的总词数length(d),而是将语料库中所有的词元组成一个列表vocab,在vocab的基础上将文档d向量化计算,这样得到的tf-idf是一个独热矩阵,且所有tf值应该在区间[0,1]内;
[0014][0015]
对于idf值,n是corpus中文档的总数,df代表t在corpus中出现的篇数,n除以df表明对于任意t,其在整个语料库中出现次数与idf值呈反比,为了防止idf值出现爆炸增长,往往对idf值取lg对数,在计算过程中,还要将df值加1进行平滑处理防止出现除0的情况,如式(2)所示:
[0016][0017]
最后将两个值相乘,即得到tf-idf值,如式(3)所示:
[0018]
tf-idf=tf
ꢀ×
idf (3)
[0019]
通过上述计算,可以根据结果确定任一词在某篇文档中是否为关键词,进而选取出非关键词;
[0020]
s3、非关键词选取和mask词元遮盖
[0021]
将corpus中出现的所有词进行向量化得到文档向量v,对于corpus中的每一篇文档d,计算d中每一个词t的tf-idf值,再根据增强系数p,确定被选为词元的个数k,其中topk根据超参数p设置,由小到大返回前k个tf-idf值,如公式(4)所示:
[0022]
topk=length(d)
×
p (4)
[0023]
对于corpus中的第i篇文档,选择di中的前k个最不相关词元进行mask遮盖,得到di的非核心词元列表,如公示(5)所示,其中,ti′
是被选中的词元:
[0024]ci
={ti'∈v:topkp
tf-idf
(ti,di)} (5)
[0025]
得到每一篇文档的非关键词词元列表后,算法将进行mask词元遮盖,即将目标词元替换为特殊符:“{tokenizer.mask_token}”;
[0026]
s4、目标词元替换
[0027]
在使用预训练模型对遮盖词元进行预测的阶段,根据替换词元列表c,使用bert模型对文档d中遮盖部分的词元进行预测。
[0028]
进一步优选的,步骤s4中,预测过程主要分为四步,即词元化、bert模型预测、前馈神经网络计算和解码;具体来看,首先将经过预处理和mask词元遮盖后的句子进行词元化(tokenize),词元化后的句子将句子中的单词划分为独立的词元,增加首位标记“cls”和“sep”,并将遮盖的词元替换为一个特殊词元“[mask]”;之后,bert模型经过transformer结构后,每个词元会生成一个n维的向量(对于bertbase为768维),将向量全部传入前馈神经网络中进行计算,得到输出logits(logits实际上是一个未经泛化的对数概率值),根据[mask]遮盖词元的位置,将遮盖词元的logits选出;然后进行解码,解码具体分为softmax
和argmax两步,logits通过softmax后得到预测词的概率分布,再经过argmax后得到模型预测出的遮盖词元可能的词;最后根据超参数确定生成新句子的个数,即可用生成的预测词替换遮盖词元。
[0029]
与现有技术相比,本发明具有以下有益效果:
[0030]
本发明提出了一种融合tf-idf算法和预训练模型的文本数据增强方法,该算法通过计算文本的tf-idf值来选取非核心词汇作为同义词替换目标,然后结合bert模型对目标替换词进行预测,从而生成增强数据。本发明方法同时考虑了目标替换词元在文本中的重要程度,以及替换词元的上下文语境。实验结果表明本发明提出的tmc算法能够对深度学习模型的性能有平均5.8%左右的提升。同时,tmc算法对不同规模数据集的增强性能验证实验表明,tmc算法适用于数据量较小的情况,此时增强效果最好。
附图说明
[0031]
图1是本发明的tmc计算流程图;
[0032]
图2是tmc算法性能相对参数naug(左1)和p(左2)变化曲线图。
具体实施方式
[0033]
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合实施例对本发明作进一步的详细描述。本领域技术人员将会理解,下列实施例仅用于说明本发明,而不应视为限定本发明的范围。
[0034]
实施例,一种融合tf-idf算法和预训练模型的文本数据增强方法,本发明首次将tf-idf和预训练语言模型bert融合提出了一种新的文本数据增强算法tmc,使得在选择与替换词元时不改变文本原意,进而提升深度学习模型的泛化能力。算法流程如图1所示。下面详细介绍tmc算法。
[0035]
1.1数据预处理
[0036]
原始数据是来自现实生活中的真实语料,其中可能包含算法无法识别的特殊字符,因此需要根据规则对输入的文本进行预处理以去除特殊符号,例如将大写转换为小写,以及去除制表符、连续空格、常见的标点符号等。通过数据预处理,得到语料corpus。
[0037]
1.2tf-idf算法
[0038]
tf-idf,即term frequency-inverse document frequency(词频-逆文档频率),是反映一个单词在文档中相对于整个语料的重要程度的统计方法,其中文档由若干句子组成,语料库则是所有文档的集合。tf-idf由两个部分组成,tf代表词频,即一个词在文档中出现的频率;idf代表逆文档频率,表示一个与该词在整个语料中出现频率呈反比的量,也就是说一个词在所有语料中出现次数越多则idf值越低,反之出现次数越少则idf值越大。
[0039]
tf-idf的具体计算过程如下:假设d是属于语料corpus的一篇文档,并且d中有一词t,则tf和idf的计算如公式(1)、(2)所示:
[0040][0041]
对于tf值,由于词t可能出现在不同的文档d中,而不同的d篇幅长度不同,因此为
了计算相对文档频率,需要将count(t,d)除以文档d的总词数length(d)。由于最终需要将文档向量化,因此计算tf时不能仅考虑t在d中的tf值,而是将语料库中所有的词元组成一个列表vocab,在vocab的基础上将文档d向量化计算。这样得到的tf-idf是一个独热矩阵,且所有tf值应该在区间[0,1]内。
[0042]
对于idf值,n是corpus中文档的总数,df代表t在corpus中出现的篇数。n除以df表明对于任意t,其在整个语料库中出现次数与idf值呈反比。为了防止idf值出现爆炸增长,往往对idf值取lg对数。在计算过程中,还要将df值加1进行平滑处理防止出现除0的情况,如式(2)所示。
[0043][0044]
最后将两个值相乘,即得到tf-idf值,如式(3)所示。
[0045]
tf-idf=tf
ꢀ×
idf (3)
[0046]
通过上述计算,可以根据结果确定任一词在某篇文档中是否为关键词,进而选取出非关键词。
[0047]
1.3非关键词选取和mask词元遮盖
[0048]
tmc算法根据tf-idf值来选取非关键词词元列表。将corpus中出现的所有词进行向量化得到文档向量v,对于corpus中的每一篇文档d,计算d中每一个词t的tf-idf值,再根据增强系数p,确定被选为词元的个数k,其中topk根据超参数p设置,由小到大返回前k个tf-idf值,如公式(4)所示。
[0049]
topk=length(d)
×
p (4)
[0050]
对于corpus中的第i篇文档,选择di中的前k个最不相关词元进行mask遮盖,得到di的非核心词元列表,如公示(5)所示。其中,ti′
是被选中的词元:
[0051]ci
={ti'∈v:topkp
tf-idf
(ti,di)} (5)
[0052]
得到每一篇文档的非关键词词元列表后,算法将进行mask词元遮盖,即将目标词元替换为特殊符:“{tokenizer.mask_token}”。
[0053]
1.4目标词元替换
[0054]
在使用预训练模型对遮盖词元进行预测的阶段,根据替换词元列表c,使用bert模型对文档d中遮盖部分的词元进行预测。bert的并行结构替代了传统的循环神经网路rnn,在机器翻译任务中表现出色,因此选用bert可以高效准确地解决遮盖词元的预测问题。
[0055]
预测过程主要分为四步,即词元化、bert模型预测、前馈神经网络计算和解码。具体来看,首先将经过预处理和mask词元遮盖后的句子进行词元化(tokenize),词元化后的句子将句子中的单词划分为独立的词元,增加首位标记“cls”和“sep”,并将遮盖的词元替换为一个特殊词元“[mask]”。之后,bert模型经过transformer结构后,每个词元会生成一个n维的向量(对于bertbase为768维),将向量全部传入前馈神经网络中进行计算,得到输出logits(logits实际上是一个未经泛化的对数概率值),根据[mask]遮盖词元的位置,将遮盖词元的logits选出,然后进行解码,解码具体分为softmax和argmax两步,logits通过softmax后得到预测词的概率分布,再经过argmax后得到模型预测出的遮盖词元可能的词。最后根据超参数确定生成新句子的个数,即可用生成的预测词替换遮盖词元。
[0056]
2.实验
[0057]
2.1实验设置
[0058]
实验的主要硬件环境如下:intercorei5-8400cpu、16gb物理内存、nvidiageforcertx2060显卡。主要软件环境如下:windows1064位操作系统、python3.7、tensorflow2.4.1。
[0059]
实验流程主要包括数据增强和数据评价两部分。在数据增强阶段,应用tmc算法对多个不同的训练集进行数据增强;在数据评价阶段,用经过数据增强后的训练数据集训练fasttext和lstm中两个任务,对比这两个模型对测试集的预测准确度,以此衡量使用本发明方法进行增强的文本数据集的质量。
[0060]
2.2实验数据集
[0061]
为了充分验证本发明tmc方法的性能,选用了imdb电影评论数据集、sst-2数据集、amazon数据集和yelp数据集等多个数据集开展实验。imdb数据集包含来自imdb网站的5万条电影评论信息,数据集包含2,500条正评价和2,500条负评价。sst-2数据集是基于斯坦福情感树库(sst,stanfordsentimenttreebank)构建的具有正负两类标签的数据集。亚马逊美食点评数据集(amazonfinefoodreviews)拥有五十万条关于食物的评价数据,数据时间跨度为1999年10月至2012年10月。yelp数据集来自2015年的yelp数据挑战赛,由418,600条训练随机样本和179,400条随机测试样本构成。在本发明实验中,训练集和测试集的比例分别为7:3,数据集的详细数据情况如表1所示。
[0062]
表2数据集详细数据透视表
[0063][0064]
3.实验结果分析
[0065]
3.1tmc模型的超参数选取实验
[0066]
为了确定在不同规模的数据集中,所提出的tmc算法生成多少数据以及选取多少词元进行遮盖可以取得最优的性能,本发明开展tmc模型的超参数选取实验,即确定tmc算法中naug和p两个超参数在不同规模数据集下的最优参数值。
[0067]
本实验中通过对比在不同规模的数据集中,不同的naug和p参数对应的数据增强算法的性能,确定naug和p两个超参数在不同条件下的最优参数值。其中,数据集规模选定为n={500,1000,2000,5000}共4种,两个超参数分别选取为naug={0,2,4,8,16},p={0,0.05,0.1,0.2,0.4}。图2分别展示了不同规模数据集中,不同的tmc超参数naug和p对应的算法性能平均值变化曲线图。从图2可以看出,相较于naug值,p值对算法性能影响更大。针对算法生成样本数据的规模,当naug=16时,普遍能获得更好的性能,相当于提升了训练的样本数;针对遮盖词元的数量选择,当p=0.05时,算法的性能较好,并且随着p值的增加,性能都有不同程度的下降。其中一个原因是过多的词元遮盖改变了原句的本意,导致生成的
数据不具有实际意义。最后,根据图2算法性能的变化曲线,本发明给出针对不同规模的数据集如何确定tmc算法的超参数,如表2所示。
[0068]
表2tmc推荐超参数
[0069][0070]
3.2有效性验证实验
[0071]
为了验证所提出的tmc算法在词元选择和替换方面的有效性,在相同数据集中对比不使用任何文本数据增强算法、使用eda文本数据增强算法、随机拼写错误文本数据增强算法、键位错误文本数据增强算法和使用本发明tmc文本数据增强算法的情况下,fasttext和lstm两种文本分类任务的性能。其中,数据集规模设定为包含2000个样本,所有的实验数据均取5次相同条件下得到数据的平均值,实验结果如表3所示。从表3中可以看出,相较于其他的方法,本发明所提出的tmc方法对fasttext和lstm算法的性能提升最为明显,平均提升达5.8%,从而验证了tmc方法在文本数据增强方面的有效性。
[0072]
3.3不同规模数据集中的性能验证实验
[0073]
为了验证提出的tmc文本数据增强方法对于不同规模数据的增强性能,分别选取原始数据规模的5%、10%、20%、40%、60%、80%和100%进行tmc数据增强,并与原始数据合并后进行训练,通过对比fasttext和lstm两种分类任务的性能,验证所提出的tmc算法对不同规模数据集的增强性能。
[0074]
表3tmc与基线模型在四个文本情感分类中的性能比较(n=2,000)
[0075][0076]
表4不同规模数据集性能验证
[0077][0078]
实验结果如表4所示,所有的实验数据均取5次相同条件下得到数据的平均值。从表中可以看出,当数据规模为5%和10%时,在大部分数据集上tmc算法的增强性能有限,这主要是因为算法所能利用的原始样本数量太少。当数据规模为20%时,tmc算法的对模型的性能提升最大,平均提升3.79%。当数据规模达到60%后,tmc算法带来的性能提升有限,因为此时原始样本数据已经为模型带来足够训练样本和信息。综上,tmc算法对数据规模较小的数据集有较好的性能提升。
[0079]
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

技术特征:
1.一种融合tf-idf算法和预训练模型的文本数据增强方法,其特征在于,包括以下步骤:s1、数据预处理根据规则对输入的文本进行预处理以去除特殊符号;s2、tf-idf算法假设d是属于语料corpus的一篇文档,并且d中有一词t,则tf的计算如公式(1)所示:对于tf值,由于词t可能出现在不同的文档d中,而不同的d篇幅长度不同,因此为了计算相对文档频率,需要将count(t,d)除以文档d的总词数length(d),而是将语料库中所有的词元组成一个列表vocab,在vocab的基础上将文档d向量化计算,这样得到的tf-idf是一个独热矩阵,且所有tf值应该在区间[0,1]内;对于idf值,n是corpus中文档的总数,d
f
代表t在corpus中出现的篇数,n除以d
f
表明对于任意t,其在整个语料库中出现次数与idf值呈反比,为了防止idf值出现爆炸增长,往往对idf值取lg对数,在计算过程中,还要将d
f
值加1进行平滑处理防止出现除0的情况,如式(2)所示:最后将两个值相乘,即得到tf-idf值,如式(3)所示:tf-idf=tf
×
idf(3)通过上述计算,可以根据结果确定任一词在某篇文档中是否为关键词,进而选取出非关键词;s3、非关键词选取和mask词元遮盖将corpus中出现的所有词进行向量化得到文档向量v,对于corpus中的每一篇文档d,计算d中每一个词t的tf-idf值,再根据增强系数p,确定被选为词元的个数k,其中topk根据超参数p设置,由小到大返回前k个tf-idf值,如公式(4)所示:topk=length(d)
×
p(4)对于corpus中的第i篇文档,选择d
i
中的前k个最不相关词元进行mask遮盖,得到d
i
的非核心词元列表,如公示(5)所示,其中,t
i

是被选中的词元:c
i
={t
i
'∈v:topkp
tf-idf
(t
i
,d
i
)}(5)得到每一篇文档的非关键词词元列表后,算法将进行mask词元遮盖,即将目标词元替换为特殊符:“{tokenizer.mask_token}”;s4、目标词元替换在使用预训练模型对遮盖词元进行预测的阶段,根据替换词元列表c,使用bert模型对文档d中遮盖部分的词元进行预测。2.根据权利要求1所述的一种融合tf-idf算法和预训练模型的文本数据增强方法,其特征在于:步骤s4中,预测过程主要分为四步,即词元化、bert模型预测、前馈神经网络计算
和解码;具体来看,首先将经过预处理和mask词元遮盖后的句子进行词元化,词元化后的句子将句子中的单词划分为独立的词元,增加首位标记“cls”和“sep”,并将遮盖的词元替换为一个特殊词元“[mask]”;之后,bert模型经过transformer结构后,每个词元会生成一个n维的向量,将向量全部传入前馈神经网络中进行计算,得到输出logits,根据[mask]遮盖词元的位置,将遮盖词元的logits选出;然后进行解码,解码具体分为softmax和argmax两步,logits通过softmax后得到预测词的概率分布,再经过argmax后得到模型预测出的遮盖词元可能的词;最后根据超参数确定生成新句子的个数,即可用生成的预测词替换遮盖词元。

技术总结
本发明针对自然语言处理领域的数据增强问题,首次提出了一种融合TF-IDF算法和预训练模型的文本数据增强方法。首先,改进传统的基于随机策略的词元选择方法,避免对语义起到关键作用的词元进行改写,利用TF-IDF算法提取样本的非核心词,得到替换的目标词元;之后针对现有算法在生成新数据时,依赖输入样本而导致的增强样本多样化受限问题,融合BERT模型预测目标替换词元,并使用预测的结果替换目标词元。实验结果表明:基于TF-IDF和BERT预训练模型融合的文本数据增强算法有效提升深度学习模型的性能达5.8%,优于现有的文本数据增强算法。算法。算法。


技术研发人员:胡荣笙 车文刚
受保护的技术使用者:昆明理工大学
技术研发日:2023.05.08
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐