面向中文文本分类的对抗样本生成方法*

2023-11-21 13:07张晓琳刘月峰刘立新
电子器件 2023年5期
关键词:扰动阈值汉字

弓 燕,张晓琳*,刘月峰,刘立新,2,徐 立

(1.内蒙古科技大学信息工程学院,内蒙古 包头 014010;2.中国人民大学信息学院,北京 100872;3.包头医学院计算机科学与技术系,内蒙古 包头 014010)

深度神经网络的应用为人工智能领域取得了突破性的进展,如图像分类[1]、语音识别[2]、自然语言处理[3]等。但是,由于神经网络自身存在局部线性等特点,使其极易受到安全性威胁。Szegedy 等[4]首次提出在图像分类任务中对图像添加难以察觉的扰动可诱导模型错误分类。此后,针对计算机视觉领域对抗样本生成方法的研究相继展开,例如经典的对抗样本生成算法有基于快速梯度投影方法(Fast Gradient Sign Method,FGSM)[5],投影梯度下降算法(Project Gradient Descent,PGD)[6],基于雅可比矩阵的显著性图攻击(Jacobian-based Saliency Map Attack,JSMA)[7]等。

自然语言处理包括情感分析[8]、文本分类[9]、机器翻译[10]以及问答系统[11]等任务,同样也存在着安全性问题。与图像不同的是,文本具有离散性,用梯度方法为输入数据添加扰动易察觉,而且会造成语法错误、语义不连贯等问题,使用的距离度量方式也不一致。因此,在图像领域中对抗样本的生成方法难以直接应用于文本。目前,文本对抗样本的生成方法面临着三个挑战。第一,如何保证对抗样本与原始样本的语义一致性;第二,如何保持对抗样本的语法正确性;第三,如何提高对抗扰动的不可被察觉性。

在文本领域,Papernot 等[12]通过FGSM 找到输入序列中梯度最大的位置,即重要单词的位置,使用插入、修改、和删除三种扰动策略生成对抗样本,从而误导字符级模型和词级模型,但该方法是在已知模型参数的前提下实现的,并不适用于黑盒场景[13-14];Gao等[15]提出的DeepWordBug 攻击算法,通过设计重要性评分函数找到重要单词,采用插入、替换、交换前后字母的位置以及删除操作生成对抗样本欺骗分类器;Garg 等[16]提出的基于BERT 生成的对抗样本方法(BERT-based Adversarial Examples,BAE)算法,是第一个使用语言模型生成对抗样本的方法,使用评分函数找到重要单词的位置,然后利用Bert 语言模型对其掩码与预测,选择具有对抗性且与原句相似度最大的单词作为替换词。以上方法均在英文文本中实现,由于英文与中文在字符的种类、字的长度以及音形特点上有着明显的差异,因此面向英文文本生成对抗样本的方法不能直接应用到中文文本。

目前,面向中文文本对抗样本生成方法的研究处于起步阶段,王文琦等[17]提出WordHanding 攻击算法,能够在黑盒条件下攻击中文文本的情感倾向性系统,借助长短期记忆网络(Long Short-Term Memory Network,LSTM)预训练模型判别分类倾向,利用词语重要性函数计算输入序列中字词的重要程度,采用同音词替换生成对抗样本,达到了较好的攻击效果且扰动字数少,但替换方式单一;仝鑫等[18]提出一种在词级黑盒条件下生成对抗样本的方法CWordAttacker,采用定向词评分删除机制计算字词的重要性,通过繁体字替换、拼音改写、词组拆解以及次序扰动四种攻击策略生成对抗样本,但是扰动率较大,未能保持较高的语义相似度。

基于前人的研究工作,提出了一种面向中文文本分类的黑盒对抗样本生成方法WordBeguiler,通过分析汉字的字形、字音特征构建对抗搜索空间,设计一种新的扰动定位方式计算影响模型分类的重要字词,并根据概率权重选取的方法确定修改策略生成对抗样本,有效地实现了在多场景分类任务下面向中文文本的对抗攻击。

本文主要贡献有:

①提出了一种面向中文文本分类的黑盒对抗样本生成方法WordBeguiler,在无需了解目标模型内部参数的情况下,只对输入文本添加微小的扰动即可生成对抗样本,适用于情感分析、垃圾邮件检测以及新闻分类等任务。

②设计了结合汉字字形、字音特征构建对抗搜索空间的方法,有效地提高了对抗样本的语法正确性,增强不可察觉性。

③设计了一种新的扰动定位方式,能够有效地找出不同分类任务下影响模型决策的关键字词,降低修改率的同时提高了攻击成功率。

④在三个公开数据集上进行实验,通过攻击卷积神经网络(Convolutional Neural Network,CNN)和双向长短期记忆(Bi-directional Long Short-Term Memory,BiLSTM)模型,使准确率降低了百分之五十左右,并且具有较高的可转移性。

1 背景知识

1.1 卷积神经网络CNN

CNN[19]是一种通过卷积计算的神经网络,由输入层、卷积层、池化层、全连接层以及softmax 层组成。其中,卷积层是CNN 最重要的部分,使用卷积核对窗口中的元素依次进行点乘、相加运算。池化层对输入数据不同位置特征进行采样,在保证收集到重要特征的条件下压缩参数量,防止过拟合。经过多轮的卷积和池化操作后,原信息被抽象成了信息含量更高的特征,提取到的特征传送到全连接层进行整合,最后经过softmax 层,将输出映射到0~1之间,表示分类概率。

在短文本分类任务中,CNN 可以保留文本的空间信息,同时捕获到局部信息和顺序信息,可应用于情感分析、垃圾邮件检测等任务。

1.2 BiLSTM

BiLSTM[20]是LSTM[21]的一种扩展形式,采用双向网络结构充分地提取上下文信息作为分类依据,有效地提高了文本分类的准确率。BiLSTM 首先将embedding 后的词向量输入网络,然后经过前向LSTM 层和后向LSTM 层得到隐向量,并进行拼接作为网络的输出,最后通过全连接层和softmax 层得到最终的分类结果,网络结构如图1 所示。

图1 BiLSTM 网络结构图

1.3 文本对抗样本

对于数据集中的N个文本X={x1,x2,…,xN},其对应的分类标签为Y={y1,y2,…,yM},F是分类模型,学习从输入文本x∈X到标签y∈Y的映射关系F:X→Y。通过向原始输入文本x中添加微小的扰动Δx生成对抗样本x*,从而迫使深度学习模型F错误分类。如式(1)所示:

式中:‖Δx‖<δ,δ是限制扰动大小的阈值。

同时,一个好的对抗样本x*不仅可以欺骗F,而且还需满足三个条件,即语义一致性、语法正确性以及不可察觉性,本文提出的对抗样本生成方法很好地满足了这三点。

2 WordBeguiler 算法

2.1 问题定义

给定文本分类模型F,学习从文本到标签的映射关系F:X→Y,将输入文本空间X映射到标签空间Y,对于句子x∈X,其真实标签y∈Y,有效的对抗样本x*应满足:

式中:Cost(·)表示文本修改累计频次,σ表示修改最大阈值。

2.2 总体描述

本文设计的中文文本分类的对抗样本生成算法具体流程如图2 所示。

图2 对抗样本生成流程

具体过程描述如下:

①基于音形码构建对抗搜索空间:结合汉字的字形和字音特征为每个汉字构建对抗搜索空间,且将繁体字、拆字和拼音加入其中。

②扰动定位:首先关键句子定位,将原始文本按照标点符号划分为若干个句子,去除预测标签与文本的真实标签不一致的句子,通过关键句子评分函数计算每个句子的重要性,降序排列。其次关键字词定位,对每一个句子进行分词,过滤掉停止词,按照关键字词评分函数筛选出重要字词。

③关键字词修改:本文共设置了三种修改策略,分别是字词替换、字符插入和次序修改,采用概率权重选取的方法确定修改策略。

将修改后的样本输入到目标模型中,若标签改变则成功生成对抗样本,否则继续返回到步骤③,直至标签改变或者达到最大修改阈值为止。

2.3 基于音形码构建对抗搜索空间

对抗搜索空间的质量决定着对抗样本的质量,因此,文本结合汉字的字形和字音特点构建对抗搜索空间以提高对抗样本质量。首先对字典中的汉字进行音形编码,其次计算每一个字与其他汉字之间的音形码汉明距离,根据汉明距离计算相似度,最后按照相似度降序排列,选取前K个加入对抗搜索空间。

2.3.1 音形编码方式

编码包括拼音和字形两部分。

①拼音部分:汉字的拼音结构由声母、韵母以及声调构成,所以对拼音进行编码也应包含这三部分。对于某些汉字拼音中声母与韵母之间存在一个元音的情况,如nuan 中的u,miao 中的i 等,需额外添加一个补码位。

第一部分表示声母,声母有23 种,用五位二进制数表示。为了在后期计算相似度的时候弱化平翘舌音差异,因此这里zh 与z,ch 与c,sh 与s 采用同一个编码表示。

第二部分表示韵母,韵母有24 种,用五位二进制数表示。同理,前后鼻音也采用同一个编码表示。声母编码和韵母编码均采用格雷码形式,可使相邻两个读音相近的编码差异最小。拼音声母编码和韵母编码表示方式如表1 和表2 所示。

表1 拼音声母编码

表2 拼音韵母编码

第三部分是补码,采用与韵母编码相同的方式,若没有补码则表示为五个0。

第四部分是声调,声调包括四种,用两位二进制数表示即可,00 表示一声,01 表示二声,10 表示三声,11 表示四声。

因此,音码部分二进制数共有5+5+5+2 =17 位。

②字形部分:汉字的字形特征包括结构,四角号码和笔画,因此需对这三个部分进行编码。

第一部分是字形的结构。由于汉字具有14 种不同的结构,因此用四位二进制数来表示,同样采用格雷码形式使字形相近的结构在编码表示上相近。结构编码如表3 所示。

表3 结构编码

第二部分为汉字的四角号码,用于描述汉字的形态特征,每个汉字都可用0 到9 中的四个数字表示,通过查找四角号码检字法可得到对应的四角号码。

第三部分是汉字的笔画,笔画数用16 位二进制数表示。即笔画数z的汉字编码方式如式(3)所示:

因此,形码部分二进制位数共有4+4×4+16 =36 位。

2.3.2 相似度计算方法

由于音码部分和形码部分的二进制位数不一致,会对最终的相似度产生不同影响,因此需计算音码部分和形码部分在最终相似度计算中所占的贡献比b1和b2,满足b1+b2=1,如式(4)和式(5)所示。其中qp表示音码的汉明距离,qx表示形码的汉明距离,l1和l2分别表示音码和形码的二进制长度。

计算汉字之间的相似度S,如式(6)所示:

将相似度降序排列,取前K个字加入对抗搜索空间。此外,将该汉字的繁体字,拆字以及对应的拼音形式也添加到对抗搜索空间中。

2.4 扰动定位

2.4.1 关键句子定位

当人们表达自己的观点时,大部分的句子都是在陈述事实,而对分类结果产生较大影响的只有少数几个句子。因此,为了提高WordBeguiler 的效率,本文先定位对最终预测结果贡献最大的关键句子。

首先将输入文本根据标点符号划分为n个子句,得到x={s1,s2,s3,…,sn},si表示第i个句子,其次过滤掉预测标签与文本的真实标签不一致的句子,最后用预测为真实标签y的置信度值作为该句的重要性分数Csi,根据分数降序排列。如式(7)所示:

2.4.2 关键字词定位

通过上一步定位到关键句子后,进行分词处理得到si={w1,w2,w3,…,wn},发现只有一些关键字词对模型的预测结果有影响,因此,首先过滤掉停止词,其次使用重要性评分函数去定位关键字词,如式(8)所示:

式中:Iwj作为字词wj∈si对于分类结果F(si)=y的重要性分数,si\wj={w1,…,wj-1,wj+1,…,wn}表示删除字词wj的句子,Fy(·)表示预测为y标签的置信度。

2.5 关键字词修改

为了保证生成的对抗样本与原样本语义相近,即在误导深度神经网络模型做出错误预测的情况下有较好的可读性,WordBeguiler 算法采用以下三种修改策略:①字词替换:利用基于音形码构建的对抗搜索空间进行替换;②字符插入:随机插入不常见的特殊符号。在此建立了一个符号集,包括标点符号、罗马字符等;③次序修改:交换相邻两个字的顺序。据心理学研究表明,交换汉字顺序不会影响人类对文本的阅读理解。对于上述修改策略,采用概率权重选取的方法确定。

WordBeguiler 算法伪代码如下。

3 实验与结果

3.1 实验设置

目标模型:CNN[19]由300 维的嵌入层、三个卷积层和一个全连接层组成,卷积层由256 个大小为2,3,4 的卷积核组成,步长为1;BiLSTM[20]由一个300 维的嵌入层,一个双向LSTM 层和一个全连接层组成,双向LSTM 层的前向和后向分别由64 个LSTM 单元组成。

数据集:选用四个中文数据集进行评估,如表4所示。

表4 实验数据集

3.2 实验方法比较

为了验证WordBeguiler 算法的有效性,在情感分析数据集上分别与DeepWordBug 和WordHanding两种攻击算法进行比较,实验中经过调试设置参数K=30,修改策略中概率权重依次为字词替换0.6、字符插入0.2 和次序修改0.2。携程酒店、京东购物、垃圾信息数据集允许最大修改阈值为30,新闻分类最大修改阈值为11。实验结果如表5 和表6 所示。

表5 在情感分析任务上验证算法WordBeguiler 的有效性(a)CNN 模型

表6 在其他任务上评估WordBeguiler 性能

在四个数据集上分析了对CNN 和BiLSTM 模型的攻击效果。从表5 可以看出,在情感分析数据集上与基线方法DeepWordBug 和WordHanding 相比,本文提出的WordBeguiler 算法最高可使准确率降幅达53.05%,明显优于基线方法。从表6 可以看出,在垃圾信息和新闻标题数据集上WordBeguiler算法平均可使模型降低45%左右的准确率,表明了其在多场景任务中的有效性与通用性。

为了验证对抗样本检测的准确率与修改阈值m之间的关系,从两个情感分类数据集中分别选取了长度大于120 个字的1000 条样本,通过调整不同的修改幅度生成对应的对抗样本。

在携程酒店数据集和京东购物评论数据集上得出CNN 和BiLSTM 的检测准确率随修改阈值m的变化曲线,如图3 和图4 所示。

图3 携程酒店评论数据集不同阈值实验结果

图4 京东购物评论数据集不同阈值实验结果

随着修改阈值m的增加,模型的检测准确率逐渐降低,意味着对输入序列中的个别关键字进行修改,WordBeguiler 就可以生成对抗样本。与基线相比,当修改阈值达到15 个字左右时,攻击效果趋于稳定状态,表明WordBeguiler 算法大大地降低了扰动率,提高了文本的可读性。

3.3 对抗样本质量度量

图像领域中度量样本质量的方法典型的有L0,L2和L∞范数,但是由于图像与文本存在不同,因此上述度量方式不能直接应用在文本中。故使用词移距离(Word Mover’s Distance,WMD)度量两个文本文档之间的距离,用于判断两个文本之间的相似度,即WMD 距离越大文本相似度越小,WMD 距离越小相似度越大。从生成的对抗样本中随机选取2 000个样本进行实验,实验结果如图5 所示。

图5 不同WMD 距离区间内样本数量占总样本的比例

与基线方法相比,WMD 距离小于0.2 的对抗样本占总样本的32.6%,在0~0.6 区间的对抗样本总占比为69.28%,高于基线方法,说明由WordBeguiler算法生成的对抗样本与原样本有较高的相似度。表7 是原始样本与WordBeguiler 算法生成的对抗样本的示例,很好地保留了语义且可读性好。

表7 原始样本与对抗样本示例

3.4 可转移性评估

为了验证由WordBeguiler 算法生成的对抗样本具有可转移性,分别使用BiLSTM 和CNN 模型生成对抗样本去攻击其他模型(包括BERT[22]模型)的实验,如表8 和表9 所示。实验结果表明,WordBeguiler 算法生成的对抗样本能够有效地转移到其他模型上,且准确率降幅达30%左右。

表8 使用BiLSTM 模型生成对抗样本攻击其他模型

表9 使用CNN 模型生成的对抗样本攻击其他模型

4 结语

本文提出了在黑盒条件下面向中文文本分类的对抗样本生成方法WordBeguiler,诱使模型做出错误决策。该方法首先结合汉字字形、字音特征为每个汉字构建对抗搜索空间,以提高对抗样本质量,设计了新的扰动定位方式寻找影响分类的重要字或词组,并根据概率权重选取的方法确定修改策略生成对抗样本。WordBeguiler 算法生成的对抗样本可以使CNN和BiLSTM 模型的准确率降幅最高达53.05%和50.50%,转移到其他模型上准确率降幅达30%左右,攻击效果均优于其他攻击方法。此外,字词重要性计算函数与修改策略还能进一步优化与改进,今后的工作重心会集中到以上方面,并对如何增强文本分类模型的鲁棒性问题展开更深入的探索与研究。

猜你喜欢
扰动阈值汉字
Bernoulli泛函上典则酉对合的扰动
(h)性质及其扰动
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于自适应阈值和连通域的隧道裂缝提取
比值遥感蚀变信息提取及阈值确定(插图)
汉字这样记
汉字这样记
小噪声扰动的二维扩散的极大似然估计
室内表面平均氡析出率阈值探讨
用于光伏MPPT中的模糊控制占空比扰动法