文本情感分析模型评测模块使用方法 ================================= 文本情感分析模型评测模块可以在 Jupyter Notebook 中使用,也可以在命令行中使用。 在 Jupyter Notebook 中使用 ---------------------------- 文本情感分析模型评测模块可以在 Jupyter Notebook 中使用,用例见\ `AI-Testing/text_demo.ipynb `__\ 。 在命令行中使用 -------------- 文本情感分析模型评测模块可以通过读取 YAML 配置文件的方式在命令行中使用,命令如下: .. code-block:: bash python TestingText.py /path/to/config.yml 配置文件的示例可见 \ `AI-Testing/text/configs/ExampleConfigFile.yml `__\ 。可配置的主要参数如下: .. code-block:: yaml # 模型评测数据集名称, 可以从以下内置数据集任选一个: # amazon, dianping, imdb, jd_binary, jd_full, sst, ifeng, chinanews # 也可以从Huggingface的软件包 datasets 加载, # 具体可加载的数据集名称,请调用 datasets.list_datasets()查看 dataset: dianping # 忽略所有错误。默认关闭。关闭情况下,如果算法内部发生错误,则直接报错 ignore_errors: true # 文本以及模型的语言。可选值:zh, en language: zh # 被攻击模型名称,可以自定义(具体自定义方式,见文档), # 也可以传入 huggingface[/xxx] 来加载Huggingface的transformer模型 # 也可以从下面的列表 # bert_amazon_zh, roberta_chinanews, roberta_dianping, roberta_ifeng, roberta_sst 中选择。 # 如果不指定,则使用默认模型 model: roberta_dianping # 本地模型地址 # 当 model 使用自定义模型, # 以及传入 huggingface 而不带具体模型名,无法从 Huggingface Hub 下载模型参数文件时, # 此参数不能为空 model_path: null # 本次评测使用的样本数目,必须大于0或者等于-1(整个数据集样本数) num_examples: 200 # 本次评测完成需要达到的攻击成功次数的下限;null表示不设下限 num_successful_examples: null # 随机数种子 random_seed: null # 模型评测方法, 从以下支持的方法任选一个: # a2t, bae, bert_attack, deep_word_bug, fd, hotflip, pso, pwws, text_bugger, text_fooler, viper recipe: text_fooler # 否在模型评测前随机打乱数据集顺序 shuffle: true # 模型评测数据集子集名称, train 或者 test subset: test # 单个样本处理时间上限,单位:分钟 time_out: 5.0 # 单次攻击尝试次数上限;null表示无上限,直到攻击成功或者达到搜索方法的某些阈值而失败退出搜索 query_budget: 300 # 判断模型是否鲁棒的攻击成功率阈值 # 取值在 (0, 1) 区间内 robust_threshold: 0.6