()
| 88 | |
| 89 | |
| 90 | def 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 | |
| 118 | def test_chinese_morphonym_character_swap(): |
nothing calls this directly
no test coverage detected