Исходный код abs_text_attack.attacks.PWWS_en

from textattack import Attack as TAAttack
from textattack.constraints.pre_transformation import (
    RepeatModification,
    StopwordModification,
)
from textattack.goal_functions import UntargetedClassification
from textattack.search_methods import GreedyWordSwapWIR
from textattack.transformations import WordSwapWordNet

from abs_text_attack.core.interfaces import Attack


[документация] class PWWS(Attack):
[документация] @staticmethod def build(model_wrapper, kwargs = {}): transformation = WordSwapWordNet() constraints = [RepeatModification(), StopwordModification()] goal_function = UntargetedClassification(model_wrapper) search_method = GreedyWordSwapWIR("weighted-saliency") return Attack(goal_function, constraints, transformation, search_method)