OpenAttack
/
demo_chinese.py
31 строка · 842.0 Байт
1import OpenAttack
2import datasets
3
4def dataset_mapping(x):
5return {
6"x": x["review_body"],
7"y": x["stars"],
8}
9
10
11def main():
12print("New Attacker")
13attacker = OpenAttack.attackers.PWWSAttacker(lang="chinese")
14
15print("Building model")
16clsf = OpenAttack.loadVictim("BERT.AMAZON_ZH")
17
18print("Loading dataset")
19dataset = datasets.load_dataset("amazon_reviews_multi",'zh',split="train[:20]").map(function=dataset_mapping)
20
21print("Start attack")
22attack_eval = OpenAttack.AttackEval(attacker, clsf, metrics=[
23OpenAttack.metric.Fluency(),
24OpenAttack.metric.GrammaticalErrors(),
25OpenAttack.metric.EditDistance(),
26OpenAttack.metric.ModificationRate()
27])
28attack_eval.eval(dataset, visualize=True, progress_bar=True)
29
30if __name__ == "__main__":
31main()
32