MCPcopy
hub / github.com/QData/TextAttack / test_word_swap_change_name_consistent

Function test_word_swap_change_name_consistent

tests/test_transformations.py:90–115  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

88
89
90def test_word_swap_change_name_consistent():
91 from flair.data import Sentence
92 from flair.models import SequenceTagger
93
94 from textattack.augmentation import Augmenter
95 from textattack.transformations.word_swaps import WordSwapChangeName
96
97 augmenter = Augmenter(transformation=WordSwapChangeName(consistent=True))
98 s = "My name is Anthony Davis. Anthony Davis plays basketball."
99 s_augmented = augmenter.augment(s)
100 augmented_text = Sentence(s_augmented[0])
101 tagger = SequenceTagger.load("flair/ner-english")
102 original_text = Sentence(s)
103 tagger.predict(original_text)
104 tagger.predict(augmented_text)
105
106 entity_original = []
107 entity_augmented = []
108
109 for entity in original_text.get_spans("ner"):
110 entity_original.append(entity.tag)
111 for entity in augmented_text.get_spans("ner"):
112 entity_augmented.append(entity.tag)
113
114 assert entity_original == entity_augmented
115 assert s_augmented[0].count("Anthony") == 0 or s_augmented[0].count("Davis") == 0
116
117
118def test_chinese_morphonym_character_swap():

Callers

nothing calls this directly

Calls 4

augmentMethod · 0.95
AugmenterClass · 0.90
WordSwapChangeNameClass · 0.90
loadMethod · 0.80

Tested by

no test coverage detected