anonymous8/RPD-Demo
initial commit
4943752
raw
history blame
1.04 kB
from textattack import Attack
from textattack.constraints.pre_transformation import (
RepeatModification,
StopwordModification,
)
from textattack.goal_functions import UntargetedClassification
from textattack.search_methods import GreedyWordSwapWIR
from textattack.transformations import (
CompositeTransformation,
WordSwapChangeLocation,
WordSwapChangeName,
WordSwapWordNet,
)
from .attack_recipe import AttackRecipe
class SpanishRecipe(AttackRecipe):
@staticmethod
def build(model_wrapper):
transformation = CompositeTransformation(
[
WordSwapWordNet(language="esp"),
WordSwapChangeLocation(language="esp"),
WordSwapChangeName(language="esp"),
]
)
constraints = [RepeatModification(), StopwordModification("spanish")]
goal_function = UntargetedClassification(model_wrapper)
search_method = GreedyWordSwapWIR()
return Attack(goal_function, constraints, transformation, search_method)