Source code for textattack.attack_recipes.french_recipe

"""
Attack French Recipe
====================

(Contextualized Perturbation for French NLP Adversarial Attack)

"""

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


[docs]class FrenchRecipe(AttackRecipe):
[docs] @staticmethod def build(model_wrapper): transformation = CompositeTransformation( [ WordSwapWordNet(language="fra"), WordSwapChangeLocation(language="fra"), WordSwapChangeName(language="fra"), ] ) constraints = [RepeatModification(), StopwordModification("french")] goal_function = UntargetedClassification(model_wrapper) search_method = GreedyWordSwapWIR() return Attack(goal_function, constraints, transformation, search_method)