Page 317 - 《软件学报》2025年第10期
P. 317
4714 软件学报 2025 年第 36 卷第 10 期
与基于种群的优化算法相比, 应用贪心算法及其变种的文本对抗攻击方法更为常见. 因为这些方法的实现方
式更加简单, 且往往仅需更少的时间就能够生成对抗文本. 在各种类型的贪心算法中, 应用最多的搜索算法为基于
词语重要性的贪心搜索. 该算法的优势在于大大提升了对抗文本生成过程的可解释性 [13] . 这种搜索算法的核心在
于词语重要性打分方法的设计, 合适的打分方法能够更好地捕捉到每个文本中与其对应标签强相关的词语. 若着
重对这些词语进行扰动, 则能够在扰动尽量少词语的情况下成功生成对抗文本. 当前使用最广泛的词语重要性打
分方法为 delete score (DS) 方法 [3,14,17,18] . 该方法采用删去某词语前后目标模型输出的置信度之差作为该词语的重
要性分数. 其他的词语重要性打分方法大多数均在 DS 方法的基础上加以改动. 如 Gao 等人 [3] 提出的 temporal
score (TS)、temporal tail score (TTS) 以及 combined score (CS) 方法. 这 3 种方法分别选取某词语之前的所有词语、
某词语之后的所有词语以及使用将前两种方法进行结合的方式, 同样利用与 DS 类似的置信度作差的方法来计算
该词语的重要性分数. 然而, 这 3 种方法仅适用于 RNN 类模型, 而 DS 却能适用于所有类型的目标模型. 王文琦等
人 [4] 面向倾向性分类任务, 设计了一种 TF-IDF score (TIS). 该方法使用 TF-IDF 技术提取原始文本中可能含有情感
倾向的词, 并将 DS、TS 和 TIS 这 3 种打分方法进行结合, 计算最终的词语重要性得分. Jin 等人 [10] 则额外考虑了
删去某词语后预测类别是否发生变化这一点, 以此进行分类讨论. 若原标签和删去该词语后的预测标签不一致, 则
分别在原标签和改动后的标签上使用 DS 方法, 并将得到的值作和, 当作这种情况下该词语最终的重要性得分. Li
等人 [11] 将 BERT 模型 [26] 作为目标模型, 设计了攻击方法 BERT-Attack. 在 BERT-Attack 中, 将删去的词用
[MASK] 进行替代, 并将使用完整文本的输出置信度与使用掩码后文本的输出置信度作差, 得到的结果即为被掩
码词语的重要性分数. 然而该方法仅适用于 BERT 模型及其变种, 并不适合不包含掩码语言模型 (masked language
model, MLM) 这一机制的目标模型. Ren 等人 [12] 提出了一种名为 PWWS 的对抗文本生成方法. 在 PWWS 中, 原文
本的词语重要性打分方法与 BERT-Attack 中使用的打分方法相似, 将 [MASK] 用不在预定义字典中的词语替代,
然后也用与 DS 一样的方法计算原始文本中每个词语的重要性分数. 然而, 与上述提到的所有方法不同的是,
PWWS 中最终的词语替换顺序并非仅由原文本中的词语重要性分数决定, 而是由该分数与词语替换后得到的文
本的分类置信度变化共同决定. 该方法比起 BERT-Attack 中使用的打分方法适用范围更广, 适用于所有类型的目
标模型; 但相比起其他仅由原文本中词语重要性决定词语替换顺序的方法, 该方法需要更大的计算量以及更多的
目标模型访问次数. 而 Xu 等人 [13] 则提出了一种与上述提到的方法有本质区别的词语重要性打分方法, layer-wise
relevance propagation (LRP). LRP 是一种从 CV 领域迁移到文本对抗领域的打分方法. 值得注意的是, 尽管该方法
是一种在白盒场景下设计的打分方法, 但该方法的设计思想也值得当前在黑盒场景下设计的打分方法借鉴. 即除
了基于 DS 打分方法的变种, 也可以从其他领域中迁移合适的方法并加以改进, 作为基于词语重要性对抗文本生
成框架中的打分方法.
除了上面介绍的搜索算法外, 扰动方法也是词符级对抗文本生成方法中必不可少的一部分. 扰动方法与语言
息息相关, 通常需要根据语言特点来设计相应的扰动方法. 下面分别对常见的英文扰动方法和中文扰动方法进行
介绍. 最初的英文扰动方法以字符级扰动为主. Gao 等人 [3] 提出了字符级的增加、删除、替换随机字母以及交换
相邻字母这 4 种扰动方法. Li 等人 [14] 在此基础上, 改进了上述删除、交换以及字符级替换的扰动方法. 他们将前
两种扰动方法允许扰动的字母限定在除了首字母和尾字母外的其他字母, 而替换则是使用与原字母相似的字符进
行替换. 上述改动的目的旨在设计出人类难以察觉的扰动. 与此同时, 他们还设计了一种新的字符级扰动方法, 即
插入空格法. 插入空格法是将空格插入一个英文单词的随机位置, 由于英文是以空格进行分词的, 因此该方法可以
将一个单词拆分为两个不同的词.
相比于基于相似外形的字符级扰动来说, 基于相似语义的词语级扰动往往能保留与原始文本更高的语义相似
度. 与此同时, 词语级扰动能够提供更多的候选词, 大大增加了攻击成功率. 此外, 字符级扰动更容易被拼写检查检
测出来, 而词语级扰动则不受拼写检查的影响. 基于上述优点, 词语级扰动逐渐替代字符级扰动成为主流的扰动方
式. 具体的英文词语级扰动介绍如下. Li 等人 [14] 除了提出上述的 4 种字符级扰动方法外, 还提出了一种词语级的
替换扰动方法. 该方法在词向量空间中寻找与原单词距离最近的前 k 个词. 与 Li 等人 [14] 提出的词语级替换扰动类
似, Jin 等人 [10] 同样在词嵌入空间中选择与原词语最相似的前 k 个词语, 但为了过滤原词语的反义词, Jin 等人加入

