TextFooler 项目使用教程
1. 项目的目录结构及介绍
TextFooler 项目的目录结构如下:
TextFooler/
├── attack_classification.py
├── attack_nli.py
├── data/
│ └── ...
├── ESIM/
│ └── ...
├── requirements.txt
├── run_attack_classification.py
├── run_attack_nli.py
└── README.md
attack_classification.py
和attack_nli.py
:用于生成文本分类和自然语言推理的对抗样本。data/
:包含项目使用的数据集。ESIM/
:包含 ESIM 模型的相关文件。requirements.txt
:列出了项目所需的 Python 包。run_attack_classification.py
和run_attack_nli.py
:运行对抗样本生成的示例脚本。README.md
:项目的说明文档。
2. 项目的启动文件介绍
项目的启动文件主要包括 attack_classification.py
和 attack_nli.py
。这两个文件分别用于生成文本分类和自然语言推理的对抗样本。
attack_classification.py
该文件用于生成文本分类的对抗样本。可以通过以下命令运行:
python attack_classification.py
attack_nli.py
该文件用于生成自然语言推理的对抗样本。可以通过以下命令运行:
python attack_nli.py
3. 项目的配置文件介绍
项目的配置主要通过命令行参数进行设置。以下是一些常用的参数:
--dataset_path
:数据集的路径。--target_model
:目标模型的名称,如bert
。--target_model_path
:目标模型的训练参数路径。
例如:
python attack_classification.py --dataset_path data/ --target_model bert --target_model_path models/bert_model.pt
这些参数可以在运行脚本时根据需要进行调整。