class_docstr: The DenoisingAutoEncoderDataset returns InputExamples in the format: texts=[noise_fn(sentence), sentence]
  It is used in combination with the DenoisingAutoEncoderLoss: Here, a decoder tries to re-construct the
  sentence without noise.
  
  :param sentences: A list of sentences
  :param noise_fn: A noise function: Given a string, it returns a string with noise, e.g. deleted words
code: def delete(text, del_ratio=0.6):
      words = nltk.word_tokenize(text)
      n = len(words)
      if n == 0:
          return text
  
      keep_or_not = np.random.rand(n) > del_ratio
      if sum(keep_or_not) == 0:
          keep_or_not[
              np.random.choice(n)
          ] = True  # guarantee that at least one word remains
      words_processed = TreebankWordDetokenizer().detokenize(
          np.array(words)[keep_or_not]
      )
      return words_processed
  
file_path: sentence-transformers/sentence_transformers/datasets/DenoisingAutoEncoderDataset.py
imports: from torch.utils.data import Dataset
  from typing import List
  from ..readers.InputExample import InputExample
  import numpy
  import nltk
  from nltk.tokenize.treebank import TreebankWordDetokenizer
label_desc: Use image node_id 4 for calling the DenoisingAutoEncoderDataset obj's underlying member method code with example usage: obj.delete(text, del_ratio) and returns: words_processed, text