Spaces:
Runtime error
Runtime error
| """ | |
| Word Swap Transformation by swapping the order of words | |
| ========================================================== | |
| """ | |
| import random | |
| from textattack.transformations import Transformation | |
| class WordInnerSwapRandom(Transformation): | |
| """Transformation that randomly swaps the order of words in a sequence.""" | |
| def _get_transformations(self, current_text, indices_to_modify): | |
| transformed_texts = [] | |
| words = current_text.words | |
| for idx in indices_to_modify: | |
| word = words[idx] | |
| swap_idxs = list(set(range(len(words))) - {idx}) | |
| if swap_idxs: | |
| swap_idx = random.choice(swap_idxs) | |
| swapped_text = current_text.replace_word_at_index( | |
| idx, words[swap_idx] | |
| ).replace_word_at_index(swap_idx, word) | |
| transformed_texts.append(swapped_text) | |
| return transformed_texts | |
| def deterministic(self): | |
| return False | |