# TextAttack **Repository Path**: advancer-debug/TextAttack ## Basic Information - **Project Name**: TextAttack - **Description**: TextAttack 🐙 is a Python framework for adversarial attacks, data augmentation, and model training in NLP - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-01-29 - **Last Updated**: 2023-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
为 NLP 模型生成对抗样本
[TextAttack 的 ReadTheDocs 文档]
简介 •
环境配置 •
使用方法 •
设计模式
—————— 攻击策略 —————— | —————— 目标函数 —————— | —————— 约束条件 —————— | —————— 变换方式 —————— | ——————— 搜索方法 ——————— | 主要思想 |
---|---|---|---|---|---|
对于分类任务的攻击策略,例如情感分类和文本蕴含任务: | |||||
alzantot |
无目标 {分类,蕴含} |
被扰动词的比例,语言模型的困惑度,词嵌入的距离 | Counter-fitted 词嵌入替换 | 遗传算法 | 来自 (["Generating Natural Language Adversarial Examples" (Alzantot et al., 2018)](https://arxiv.org/abs/1804.07998)) |
bae |
无目标 分类 |
USE 通用句子编码向量的 cosine 相似度 | BERT 遮罩词预测 | 对 WIR 的贪心搜索 | 使用 BERT 语言模型作为变换的攻击方法,来自 (["BAE: BERT-based Adversarial Examples for Text Classification" (Garg & Ramakrishnan, 2019)](https://arxiv.org/abs/2004.01970)). |
bert-attack |
无目标 分类 |
USE 通用句子编码向量的 cosine 相似度, 被扰动词的最大数量 | BERT 遮罩词预测 (包括对 subword 的扩充) | 对 WIR 的贪心搜索 | (["BERT-ATTACK: Adversarial Attack Against BERT Using BERT" (Li et al., 2020)](https://arxiv.org/abs/2004.09984)) |
checklist |
{无目标,有目标} 分类 |
checklist 距离 | 简写,扩写,以及命名实体替换 | 对 WIR 的贪心搜索 | CheckList 中实现的不变性检验(["Beyond Accuracy: Behavioral Testing of NLP models with CheckList" (Ribeiro et al., 2020)](https://arxiv.org/abs/2005.04118)) |
clare (*coming soon*) |
无目标 {分类,蕴含} |
RoBERTa 掩码语言模型 | 词的替换,插入,合并 | 贪心搜索 | ["Contextualized Perturbation for Textual Adversarial Attack" (Li et al., 2020)](https://arxiv.org/abs/2009.07502)) |
deepwordbug |
{无目标,有目标} 分类 |
Levenshtein 编辑距离 | {字符的插入,删除,替换,以及临近字符交换} | 对 WIR 的贪心搜索 | 贪心搜索 replace-1 分数,多种变换的字符交换式的攻击 (["Black-box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers" (Gao et al., 2018)](https://arxiv.org/abs/1801.04354) |
fast-alzantot |
无目标 {分类,蕴含} |
被扰动词的比例,语言模型的困惑度,词嵌入的距离 | Counter-fitted 词嵌入替换 | 遗传算法 | 改进过的更快的 Alzantot et al. 遗传算法, 来自 (["Certified Robustness to Adversarial Word Substitutions" (Jia et al., 2019)](https://arxiv.org/abs/1909.00986)) |
hotflip (word swap) |
无目标 分类 |
词嵌入的 cosine 相似度,词性的匹配,被扰动词的数量 | 基于梯度的词的交换 | 束搜索 | (["HotFlip: White-Box Adversarial Examples for Text Classification" (Ebrahimi et al., 2017)](https://arxiv.org/abs/1712.06751)) |
iga |
无目标 {分类,蕴含} |
被扰动词的比例,词嵌入的距离 | Counter-fitted 词嵌入替换 | 遗传算法 | 改进的基于遗传算法的词替换,来自 (["Natural Language Adversarial Attacks and Defenses in Word Level (Wang et al., 2019)"](https://arxiv.org/abs/1909.06723) |
input-reduction |
输入归约 | 词的删除 | 对 WIR 的贪心搜索 | 基于词重要性排序的贪心攻击方法,在缩减输入词的同时保持预测结果不变 (["Pathologies of Neural Models Make Interpretation Difficult" (Feng et al., 2018)](https://arxiv.org/pdf/1804.07781.pdf)) | |
kuleshov |
无目标 分类 |
Thought vector 编码的 cosine 相似度, 语言模型给出的相似度概率 | Counter-fitted 词嵌入替换 | 贪心的词的替换 | (["Adversarial Examples for Natural Language Classification Problems" (Kuleshov et al., 2018)](https://openreview.net/pdf?id=r1QZ3zbAZ)) |
pruthi |
无目标 分类 |
词的最短长度,被扰动词的最大数量 | {临近字符替换,字符的插入与删除,基于键盘字符位置的字符替换} | 贪心搜索 | 模拟常见的打字错误 (["Combating Adversarial Misspellings with Robust Word Recognition" (Pruthi et al., 2019)](https://arxiv.org/abs/1905.11268) |
pso |
无目标 分类 |
基于 HowNet 的词替换 | 粒子群优化算法 | (["Word-level Textual Adversarial Attacking as Combinatorial Optimization" (Zang et al., 2020)](https://www.aclweb.org/anthology/2020.acl-main.540/)) | |
pwws |
无目标 分类 |
基于 WordNet 的同义词替换 | 对 WIR 的贪心搜索 | 贪心的攻击方法,基于词重要性排序,词的显著性,以及同义词替换分数(["Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency" (Ren et al., 2019)](https://www.aclweb.org/anthology/P19-1103/)) | |
textbugger : (black-box) |
无目标 分类 |
USE 通用句子编码向量的 cosine 相似度 | {字符的插入、删除、替换,以及临近字符交换} | 对 WIR 的贪心搜索 | ([(["TextBugger: Generating Adversarial Text Against Real-world Applications" (Li et al., 2018)](https://arxiv.org/abs/1812.05271)). |
textfooler |
无目标 {分类,蕴含} |
词嵌入的距离,词性的匹配,USE 通用句子编码向量的 cosine 相似度 | Counter-fitted 词嵌入替换 | 对 WIR 的贪心搜索 | 对词重要性排序的贪心攻击方法(["Is Bert Really Robust?" (Jin et al., 2019)](https://arxiv.org/abs/1907.11932)) |
对 seq2seq 模型的攻击策略: | |||||
morpheus |
最小 BLEU 分数 | 词的屈折变化 | 贪心搜索 | 贪心的用词的屈折变化进行替换,来最小化 BLEU 分数(["It’s Morphin’ Time! Combating Linguistic Discrimination with Inflectional Perturbations"](https://www.aclweb.org/anthology/2020.acl-main.263.pdf) | |
seq2sick :(black-box) |
翻译结果无重叠 | Counter-fitted 词嵌入替换 | 对 WIR 的贪心搜索 | 贪心攻击方法,以改变全部的翻译结果为目标。目前实现的是黑盒攻击,计划改为与论文中一样的白盒攻击(["Seq2Sick: Evaluating the Robustness of Sequence-to-Sequence Models with Adversarial Examples" (Cheng et al., 2018)](https://arxiv.org/abs/1803.01128)) |