textattack.constraints.pre_transformation package¶
Pre-Transformation:¶
Pre-transformation constraints determine if a transformation is valid based on only the original input and the position of the replacement. These constraints are applied before the transformation is even called. For example, these constraints can prevent search methods from swapping words at the same index twice, or from replacing stopwords.
Input Column Modification¶
- class textattack.constraints.pre_transformation.input_column_modification.InputColumnModification(matching_column_labels, columns_to_ignore)[source]¶
Bases:
textattack.constraints.pre_transformation_constraint.PreTransformationConstraint
A constraint disallowing the modification of words within a specific input column.
For example, can prevent modification of ‘premise’ during entailment.
Max Modification Rate¶
- class textattack.constraints.pre_transformation.max_modification_rate.MaxModificationRate(max_rate, min_threshold=1)[source]¶
Bases:
textattack.constraints.pre_transformation_constraint.PreTransformationConstraint
A constraint that prevents modifying words beyond certain percentage of total number of words.
- Parameters
max_rate (
float
) – Percentage of words that can be modified. For example, given text of 20 words, max_rate=0.1 will allow at most 2 words to be modified.min_threshold (
int
, optional, defaults to1
) – The minimum number of words that can be perturbed regardless of max_rate. For example, given text of 20 words and max_rate=0.1, setting`min_threshold=4` will still allow 4 words to be modified even though max_rate=0.1 only allows 2 words. This is useful since text length can vary a lot between samples, and a N% modification limit might not make sense for very short text.
Max Word Index Modification¶
- class textattack.constraints.pre_transformation.max_word_index_modification.MaxWordIndexModification(max_length)[source]¶
Bases:
textattack.constraints.pre_transformation_constraint.PreTransformationConstraint
A constraint disallowing the modification of words which are past some maximum sentence word-length limit.
Min Word Lenth¶
- class textattack.constraints.pre_transformation.min_word_length.MinWordLength(min_length)[source]¶
Bases:
textattack.constraints.pre_transformation_constraint.PreTransformationConstraint
A constraint that prevents modifications to words less than a certain word character-length.
- Parameters
min_length – Minimum word character-length needed for changes to be made to a word.
Repeat Modification¶
- class textattack.constraints.pre_transformation.repeat_modification.RepeatModification[source]¶
Bases:
textattack.constraints.pre_transformation_constraint.PreTransformationConstraint
A constraint disallowing the modification of words which have already been modified.
Stopword Modification¶
- class textattack.constraints.pre_transformation.stopword_modification.StopwordModification(stopwords=None, language='english')[source]¶
Bases:
textattack.constraints.pre_transformation_constraint.PreTransformationConstraint
A constraint disallowing the modification of stopwords.