基于微调原型网络的小样本敏感信息识别方法

2024-03-26 02:39余正涛黄于欣张思琦赵庆珏
中文信息学报 2024年1期
关键词:测试阶段微调原型

余正涛,关 昕,黄于欣,张思琦,赵庆珏

(1. 昆明理工大学 信息工程与自动化学院,云南 昆明 650500;2. 昆明理工大学 云南省人工智能重点实验室,云南 昆明 650500)

0 引言

随着互联网的发展,网络治理的问题也逐渐突出,对色情、毒品、邪教、暴力类型的敏感文本进行识别成为一项重要任务。

可以将敏感文本识别看作一种特定领域的分类任务,针对该任务,目前国内外主要的研究方法有两类: 基于敏感词典和基于深度学习的研究方法。基于敏感词典的方法通过制定规则与匹配算法利用敏感词表中关键词对文本进行过滤。但是敏感词表需要人工维护,由于网络新词、术语、敏感词变形体更新迭代速度快,构建维护敏感词表不仅易错漏,而且耗费较大。近年来,基于深度学习模型自动提取语义特征的文本分类方法取得了很好的效果。但是深度学习方法依赖于大量数据和计算能力,对于敏感信息识别任务来讲,目前没有公开的数据集,人工构建的敏感文本数据集规模较小,不足以支持深度学习大规模参数的训练。

针对标注数据稀缺的问题,目前有效的方法是利用小样本学习的思路,通过在元训练阶段使用的通用数据集上的大量学习任务对模型进行训练,使得元测试阶段新的小样本分类任务出现时,模型能够利用学到的元知识调整模型参数,通过较少的样本支撑获得好的分类效果,能够很好地应用于敏感信息识别任务中数据规模不足的场景。然而现有的小样本学习方法通常建立在元训练和元测试阶段的数据集具有相同分布的假设上,针对敏感信息识别任务,元训练和元测试阶段的数据差异较大。在元训练阶段通常选择使用通用的新闻领域数据集获取元知识,在元测试阶段应用构建的包含色情、毒品、暴恐、邪教等敏感分类的敏感文本数据集进行识别,如图 1所示,小样本学习方法会因领域特征分布的巨大差异而在没见过的敏感领域类中失去泛化性。

图1 小样本学习中的领域分布差异

针对以上问题,解决元训练和元测试阶段的数据领域差异问题可以有效提升小样本方法在测试阶段的泛化性能,提升在敏感识别新任务上的分类效果,因此考虑在元测试阶段进行微调。元测试阶段进行微调时,既要使新的敏感识别任务少量样本能够产生良好的泛化性能,又需要考虑对整个模型的大量参数进行调整时避免模型底层学习到的元知识产生灾难性的遗忘。因此,本文构建了基于微调原型网络的敏感信息识别模型,在采用了小样本学习方法应对敏感信息类别样本数量不足的问题的基础上,在元训练阶段中运用了快速适应思想[1],使模型学习到一组易于微调的初始模型参数,使模型在元测试阶段能够通过少量敏感样本的微调策略取得良好泛化性能。在微调过程中,模型通过冻结部分底层参数来避免可能造成的过拟合现象。

1 相关工作

早期的敏感信息识别方法是通过敏感词典对互联网上文本进行词匹配,包括基于BM(Boyer-Moore)算法[2]、WM(Wu-Manber)算法[3]、决策树算法[4]等方法。基于敏感词典的方法是最基础的方法,但是网络上敏感词层出不穷,人工维护词表难以及时更新。

近几年,随着深度学习框架的流行与发展,基于深度学习模型的敏感信息识别方法取得了很好的效果。Xu等人[5]使用Text-CNN[6]获取文本表示,构建文本敏感内容检测模型,提高了检测效率。Xu等人[7]通过Word2Vec模型[8]获得敏感词嵌入,通过余弦距离计算相似度实现敏感词拓展,并将拓展敏感词汇嵌入到潜在狄利克雷分配(Latent Dirichlet Allocation,LDA)模型[9]进行加权进行敏感主题识别。近年来,以Transformer[10]编码器为基础的Bert(Bidirectional Encoder Representation from Transformers)[11]、RoBERTa[12]模型等预训练语言模型,通过大规模无标注语料库进行自监督训练来获得先验知识和文本表征,使得模型在下游任务上能够通过微调取得很好的表现。李等人[13]使用预训练Bert模型针对新闻文本分段提取语义特征,结合抽取的敏感关键词对每段语义向量加权求和,获得新闻文本的语义编码,用于敏感信息多分类。深度学习方法能够自动提取文本语义特征,但需要大规模数据对深度学习模型进行训练。

在小样本学习方面,小样本学习方法最早提出于图像领域,近年来在基于小样本的文本分类方面也有相关研究。Dopierre等人[14]尝试将基于Transformer的文本编码器结合入多个小样本学习方法中,通过实验证明了其应用于自然语言处理领域的有效性。Wei等人[15]结合了课程学习、数据增强和三重损失方法,通过课程指导的噪声水平渐进的数据增强方法对小样本模型进行训练,解决了相对于图像而言文本数据增强方法使增强数据与原始数据差异性更大、噪声数据难以学习的问题。

在解决小样本学习领域差异大的方面,针对图像分类任务,Chen等人[16]设置了领域迁移场景下的小样本实验,证明元训练阶段和元测试阶段领域差异过大时对新类领域适应步骤的重要性。之后,Tseng等人[17]通过在特征提取器加入仿射变换层模拟不同域中的特征分布、Li等人[18]通过辅助网络学习从特定任务支持集中学习特征权重,对跨域小样本学习任务进行了探索。在文本分类任务上也有相关的研究,Li等人[19]结合了SMLMT方法[20]和大型预训练语言模型,通过半监督的训练方法使元学习器掌握泛化到模型没见过领域的能力。Olah等人[21]提出融入外部知识的方法进行情感分类,通过实验证明了在两种不同标签分类的情感数据集中跨域知识迁移的实现。

2 基于微调原型网络的敏感信息识别模型

为了识别小样本敏感信息并解决领域差异问题,本文建立了基于微调原型网络的敏感信息识别模型,即在原型网络的基础上,运用了微调方法和快速适应思想。在下文对模型的描述中,把原型网络元训练过程的每次迭代表示为一个episode,可以将其看作一个单独的学习任务。为保留元训练集和测试集共同的部分,微调差异的部分,在小样本学习每个episode的微调模块中冻结文本特征提取器的一部分参数,使用支持集样本对未冻结的部分参数进行微调,避免灾难性的遗忘问题。在元训练阶段,微调部分结束后,使用查询集计算更新后的特征提取器损失所产生的梯度,使用该梯度对初始参数进行优化,使模型向易于快速适应新任务的方向调整。每个episode训练过程如图2所示。

图2 基于微调原型网络的敏感信息识别模型

2.1 原型网络

本文采用的原型网络由文本编码器和度量模块构成,文本编码器Encoder表示为E,从数据集中抽取N个类别构建支持集S与查询集Q,从支持集和查询集的输入文本中提取特征,得到文本特征向量矩阵VS、VQ如式(1)所示。

VS=E(Xs),VQ=E(Xq)

(1)

(2)

具体来说,将支持集样本Xs特征表示Vs中,对每个相同类中样本的特征向量{vn,1,vn,2,…,vn,k}做平均作为该类的原型,计算如式(3)所示。

(3)

其中,n表示支持集中的第n个类,K表示支持集中每个类中包含K个样本。

(4)

其中scorei,n表示查询集中第i个样本与第n个类原型之间的评分。

(5)

2.2 基于快速适应思想的微调模块

在原型网络的基础上,在episode中加入对模型进行微调的步骤,并基于快速适应思想在元训练阶段通过大量学习任务对模型进行训练,获得一组好的初始学习参数,可以在元测试阶段的学习任务上迅速调整适应。

算法1. 基于快速适应思想的微调算法对文本特征提取器E进行参数初始化得到θE数据集生成N-way K-shot学习任务1.While do: 2. 冻结前L层参数θE(L)3. 对支持集S划分mini_batch4. While mini_batch do: 5. 使用线性分类器计算损失Loss_si6. 使用Loss_si更新后l层参数θE(l),得到θ~E(l)7. End while8. 使用结合θE(L)与θ~E(l)得到的E~_ft计算查询集Q上的损失Loss_ft9. 使用Loss_ft计算参数梯度gE~_ft(L)、gE~_ft(l)10. 更新初始参数θE: θ~E(L)=θE(L)-lrgE~_ft(L) θ~E(l)=θE(l)-lrgE~_ft(l)11.End while

具体过程如下:

在每个小批次中,将si输入E进行特征提取得到文本特征向量Vsi。使用一个线性分类器C对Vsi进行预测并计算这一批次的损失Loss_si,如式(6)、式(7)所示。

3 实验结果与分析

3.1 数据集选取与构建

元训练阶段使用的数据集有两类,第一类是来自Zhou等人的中文新闻标题数据[22],包含32个类别,共63 800个样本,平均样本长度为18。第二类是复旦大学计算机信息与技术系国际数据库中心自然语言处理小组提供的复旦大学中文文本分类语料库,包含20个类别,共19 637个样本,平均样本长度为259。

元测试阶段由于没有公开的敏感文本数据集,从新浪微博上爬取文本并进行标注,构建敏感文本数据集,包含色情、毒品、邪教、暴力和正常五种类型。文本中包含链接、特殊符号等多种干扰,因此采用预处理方式对爬取到的文本进行清洗。敏感文本数据集具体类别对应数据量如表1所示。

表1 敏感文本数据集分布

3.2 实验设置

3.2.1 参数设置

对所有小样本模型,使用Hugging Face提供的两类中文BERT、RoBERTa[23-24]预训练模型作为文本编码器进行实验。预训练模型在大规模语料库上进行无监督训练来获取先验知识,其中,RoBERTa预训练模型相比起BERT,在数据量、训练步、批数量、优化器和训练任务上都有了改进,在自然语言处理多种任务上都取得了更好的效果。在以下实验训练过程中,文本截取最大长度为64,优化算法为Adam[25],对元训练阶段小样本模型训练10 000个Episode,每个Episode的支持集中选取每类5、10、20个样本作为支持集,每类10个样本作为查询集。

3.2.2 评价指标

本文通过计算宏平均(Macro Average)下的精确率(Pre)、召回率(Re)、F1值作为评价指标,计算过程如式(12)~式(14)所示。

式中涉及基于混淆矩阵的判误指标,对某一类n而言,以“真、假”表示真实值是否属于该类,以“正、负”表示预测值是否属于该类,则其中TP表示真正例,FP表示假正例,TN表示真负例,FN表示假负例。

3.2.3 基线模型

选取了当前最优的小样本学习网络作为基线模型进行对比实验,基线模型的选取如下所示:

Vinyals等人提出的匹配网络[26](Matching network): 计算查询集样本与支持集样本间的相似度,通过注意力核函数计算查询集与支持集特征向量间的距离并归一化,得到预测值。

Geng等人提出的归纳网络[27](Induction network): 将支持集各类样本特征向量送入归纳模块,通过动态路由算法得到各类别特征映射,通过关系模块得到查询集与各类别向量的相似度评分,获得预测值。

Snell等人提出的原型网络[28](Prototype network): 是本文的基础模型,计算支持集中各类样本特征向量的平均值得到各个类原型,计算查询集特征向量与各类原型间的距离,得到预测值。

Sung等人提出的关系网络[29](Relation network): 将支持集各类特征向量相加作为类的特征映射,将支持集中样本与类映射连接进入关系模块进行相似度比较,得到相似度评分,获得预测值。

3.3 实验结果3.3.1 基线模型对比实验

当使用中文新闻标题数据集20个类别作为训练集,选择微调层数为BERT模型中顶层起1层线性层与2层Transformer Encoder层包含的层数,使用N-wayK-shot分别表示每个Episode中支持集的类别数与每个类别选取的样本数,支持集设置为5-wayk-shot(k=5,10,20)。为了更充分地验证模型性能,使用BERT、RoBERTa两类预训练模型作为特征提取器进行实验,与其他基线小样本模型在不同支持集规模下进行对比实验,实验结果如表2所示,其中“微调原型网络”表示本文提出的模型,“+BERT”“+RoBERTa”分别表示采用不同的文本特征提取器。

表2 基线模型对比实验 (单位: %)

从表2两组实验中可以看出,基线模型中原型网络取得了最好的效果,同时,微调原型网络相比所有基线模型都有了很大的提升,实验证明了本文提出的快速适应的微调原型网络在敏感信息识别任务的有效性。首先,由于实验中在元训练阶段使用通用的新闻标题数据集,元测试阶段使用敏感文本数据集,在面临巨大领域差异的情况下,只包含了文本编码器与计算查询集样本与支持集原型间欧氏距离的度量模块两部分的简单原型网络,即本文的基础模型,相比较于其他基线模型取得了较好的效果,由于原型网络仅通过文本编码器完成了上游通用知识的学习而不需要依赖额外的权重参数,使得预训练模型发挥了巨大的作用,通过上下两组BERT与RoBERTa实验可以看出,与其他基线模型对比,RoBERTa预训练模型在简单原型网络上性能提升最为明显。而本文提出的快速适应微调策略的原型网络在简单原型网络的基础上,在训练阶段获得易于快速适应的初始参数,并使用测试阶段敏感任务支持集中的样本对模型进行小批次的微调实现对敏感领域的泛化性,相较于原型网络,在两组不同预训练模型的对比实验中都实现了更进一步的性能提升。相比之下,较为先进的归纳网络在得到支持集样本的表示后,使用动态路由算法归纳类别特征来获取类的表示,但在面对巨大领域差异的敏感信息分类任务时没有取得预期的效果。

使用BERT与RoBERTa预训练模型作为文本特征提取器的两组实验间进行对比可以看出,总体来说RoBERTa组的性能相比BERT组有所提升,同时两组实验中采用不同预训练模型后产生的性能趋势基本相同。首先,在基线模型中,使用RoBERTa预训练模型组相比BERT组在模型性能上有一定提升,尤其匹配网络与原型网络中相比BERT组性能有了很大提升,在支持集规模较小时性能提升更为明显,k=5时模型性能提升约10%;而在微调原型网络即本文模型中,随着支持集的规模扩大,RoBERTa预训练模型的优势逐渐被弥补。同时,在两组实验中均可看出,随着支持集规模扩大,小样本模型的效果基本都有所提升,整体性能趋势相同,而相比之下微调原型网络效果的提升最为明显,证明了快速适应微调策略的有效性。由于两种预训练模型对本文提出的快速适应微调原型网络的性能影响趋势总体相同,以下均采用BERT预训练模型作为文本特征提取器进行试验。

3.3.2 消融实验

为证明快速适应微调原型网络的有效性,设计了消融实验。使用中文新闻标题数据集20个类别作为训练集,支持集大小为20-shot,(-)快速适应微调策略指不进行微调,仅使用单纯的原型网络; (-)冻结参数指微调原型网络在微调过程中对所有参数进行更新,不冻结底层参数; (-)快速适应方法指当微调原型网络设置参数微调层数为顶层起1层线性层与2层Transformer Encoder层所包含的参数,在元训练过程每个episode中使用微调后的文本特征提取器直接计算损失,不使用快速适应方法寻找对少数样本敏感的初始参数。实验结果如表3所示。

表3 消融实验 (单位: %)

从表3可以看出,模型每个模块都产生一定的效果,其中冻结参数的操作起到了关键的效用。当不进行冻结底层参数操作,仅使用支持集少量样本对所有参数进行微调时,模型的效果甚至比简单的原型网络降低约6%,少量数据对底层参数的调整使模型产生了灾难性的遗忘;当微调原型网络使用快速适应方法时,整体效果相比(-)快速适应方法提升了1%左右,说明一组好的初始参数能够使模型在使用少量样本进行简单微调后取得更好的效果。

3.3.3 不同微调层数实验

当中文新闻标题数据集20个类别作为训练集,支持集大小选择为20-shot,对微调模块选择不同层数的参数进行实验,实验设置选取特征提取器顶层1层线性层分别加1、2、3、4层Transformer Encoder层所包含的参数进行微调,观察不同微调层数对快速适应微调策略性能的影响。实验结果如图3所示。

图3 不同微调层数对实验结果的影响

通过图3可以看出,当微调参数为两个Transformer Encoder层时,模型取得了最好的效果,但当微调参数继续增加至3层、4层Transformer Encoder层时,性能反而呈现下降趋势。分析表中结果,推测当微调层数过大时,模型通过元学习阶段获得的底层通用知识也被一并调整,而仅使用支持集的少量样本对参数进行微调使模型产生了过拟合现象。

3.3.4 不同数据集规模实验

当支持集大小选择为20-shot,微调层数选择顶层起1层线性层与1层Transformer Encoder层所包含的参数,对元学习阶段使用不同数据集进行实验。分别使用从新闻标题数据集中选取20个类别、使用新闻标题数据集全部32个类别、使用复旦大学中文文本分类语料库20个类别作为元训练阶段数据集,使用敏感文本数据集作为元测试阶段数据集。实验结果如表4所示。

表4 不同数据集规模对实验结果的影响 (单位: %)

分析表中的结果可以看出,当元训练阶段数据规模扩大时,模型性能有了一定的提升,而相对于原型网络,微调策略缩小了数据规模差异带来的性能差距。在选择元训练阶段数据集时,使用样本平均长度较小的新闻标题数据集的不同类别数量作为对比,当元训练阶段训练的类别增加时,原型网络与微调原型网络的性能均增加了不到1%,模型的性能提升较为有限。当选取使用等同类别数量(20类)的不同数据集做对比时,样本平均长度更长的复旦大学中文文本语料库在原型网络中提升了5%,而在微调原型网络中提升了1%,可以看出,元训练阶段随着数据规模的扩大,模型在元训练阶段获得的元知识增加,模型的性能会相应上升,而微调原型网络减小了对元训练阶段数据规模的需求,使得较小的元训练数据集也能起到很好的效果。

4 结论

本文提出了基于微调原型网络的小样本敏感信息识别方法,通过小样本学习框架解决敏感文本数据类别样本不足的问题,并提出了快速适应的微调方法,在元训练阶段获得易于调整的初始参数,在元测试阶段对特征提取器冻结一部分参数并进行微调,来解决元训练阶段通用领域数据集和元测试阶段敏感文本数据集领域分布差异大、跨域不适应的问题。通过实验,证明了模型在解决敏感信息识别任务的有效性。

猜你喜欢
测试阶段微调原型
包裹的一切
浅谈计算机软件工程技术中的逻辑运用
《哈姆雷特》的《圣经》叙事原型考证
一种新型微调挤塑模具的设计及应用
灵活易用,结合自动和手动微调达到好效果 StormAudio ISP 3D.16 ELITE/PA 16 ELITE
Android应用软件测试研究
抽样技术在政府审计中的应用研究――基于细节测试阶段
论《西藏隐秘岁月》的原型复现
原型理论分析“门”
关于改进英语专业高级英语教学过程的分析