RandomDeletion
類別keras_nlp.layers.RandomDeletion(
rate,
max_deletions=None,
skip_list=None,
skip_fn=None,
skip_py_fn=None,
seed=None,
name=None,
dtype="int32",
**kwargs
)
透過隨機刪除標記來擴充輸入。
當您需要使用論文 [EDA:用於提升文字分類任務效能的簡易資料擴充技術] (https://arxiv.org/pdf/1901.11196.pdf) 中所述的刪除擴充來產生新資料時,此層會派上用場。該層預期輸入會被預先分割成標記級別的輸入。這允許控制擴充的級別,您可以按字元分割以進行字元級別的交換,或按單詞分割以進行單詞級別的交換。
輸入資料應作為張量、tf.RaggedTensor
或清單傳遞。對於批次輸入,輸入應為清單的清單或二階張量。對於非批次輸入,每個元素應為清單或一階張量。
參數
True
或 False
作為輸出返回。值為 True 表示不應被視為刪除候選標記。與 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_nlp.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_nlp.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_nlp.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_nlp.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']