RandomDeletion
类keras_hub.layers.RandomDeletion(
rate,
max_deletions=None,
skip_list=None,
skip_fn=None,
skip_py_fn=None,
seed=None,
name=None,
dtype="int32",
**kwargs
)
通过随机删除 token 来增强输入。
当您需要使用删除增强生成新数据时,此层会派上用场,如论文 [EDA: 文本分类任务性能提升的简易数据增强技术] (https://arxiv.org/pdf/1901.11196.pdf) 中所述。该层期望输入在输入到该层之前已被拆分为 token 级别。这允许控制增强的级别,您可以按字符拆分以进行字符级别的交换,或按单词拆分以进行单词级别的交换。
输入数据应作为张量、tf.RaggedTensor
或列表传递。对于批量输入,输入应为列表的列表或秩为 2 的张量。对于非批量输入,每个元素应为列表或秩为 1 的张量。
参数
True
或 False
作为输出。True 值表示该 token 不应被视为删除候选对象。与 skip_fn
参数不同,此参数不需要是可追踪的——它可以是任何 python 函数。示例
单词级别用法。
>>> keras.utils.set_random_seed(1337)
>>> x = ["Hey I like", "Keras and Tensorflow"]
>>> x = list(map(lambda x: x.split(), x))
>>> augmenter = keras_hub.layers.RandomDeletion(rate=0.4, seed=42)
>>> y = augmenter(x)
>>> list(map(lambda y: " ".join(y), y))
['I like', 'and']
字符级别用法。
>>> keras.utils.set_random_seed(1337)
>>> x = ["Hey Dude", "Speed Up"]
>>> x = list(map(lambda x: list(x), x))
>>> augmenter = keras_hub.layers.RandomDeletion(rate=0.4, seed=42)
>>> y = augmenter(x)
>>> list(map(lambda y: "".join(y), y))
['H Dude', 'pedUp']
与 skip_list 一起使用。
>>> keras.utils.set_random_seed(1337)
>>> x = ["Hey I like", "Keras and Tensorflow"]
>>> x = list(map(lambda x: x.split(), x))
>>> augmenter = keras_hub.layers.RandomDeletion(rate=0.4,
... skip_list=["Keras", "Tensorflow"], seed=42)
>>> y = augmenter(x)
>>> list(map(lambda y: " ".join(y), y))
['I like', 'Keras Tensorflow']
与 skip_fn 一起使用。
>>> def skip_fn(word):
... return tf.strings.regex_full_match(word, r"\pP")
>>> keras.utils.set_random_seed(1337)
>>> x = ["Hey I like", "Keras and Tensorflow"]
>>> x = list(map(lambda x: x.split(), x))
>>> augmenter = keras_hub.layers.RandomDeletion(rate=0.4,
... skip_fn=skip_fn, seed=42)
>>> y = augmenter(x)
>>> list(map(lambda y: " ".join(y), y))
['I like', 'and']
与 skip_py_fn 一起使用。
>>> def skip_py_fn(word):
... return len(word) < 4
>>> keras.utils.set_random_seed(1337)
>>> x = ["Hey I like", "Keras and Tensorflow"]
>>> x = list(map(lambda x: x.split(), x))
>>> augmenter = RandomDeletion(rate=0.4,
... skip_py_fn=skip_py_fn, seed=42)
>>> y = augmenter(x)
>>> list(map(lambda y: " ".join(y), y))
['Hey I', 'and Tensorflow']