code: def clean_text(words):
      if len(words) > 0 and words[-1] == ":":
          return None
      sentence = " ".join(words).strip(" -").lower()
  
      sentence = CLEAN_BRACKETS_REGEX.sub("", sentence)
      if len([ch for ch in BRACKETS_CHARACTERS if ch in sentence]) > 0:
          return None
  
      sentence = sentence.replace("\\'", "'")
      if sentence.count('"') % 2 == 1:
          # There are unmatched double-quotes.
          # Usually, it means a quote got splitted into separate utterances,
          # so it's bad example of a dialog
          return None
  
      sentence = normalize_apostrophe(sentence)
  
      for regex, replacement in CLEANUP_REGEX_RULES:
          sentence = regex.sub(replacement, sentence)
      for pattern, replacement in CLEANUP_REPLACE_RULES:
          sentence = sentence.replace(pattern, replacement)
  
      words = normalize_whitespaces(sentence).split()
  
      if (
          len(words) > 0
          and any(map(lambda k: re.search(r"\w", k) is not None, words))
          and len(words) >= MIN_WORD_LENGTH
          and len(words) <= MAX_WORD_LENGTH
      ):
          return " ".join(words)
      else:
          return None
  
imports: import parlai.core.build_data
  import glob
  import gzip
  import multiprocessing
  import os
  import re
  import sys
  import time
  import tqdm
  import xml.etree.ElementTree
  from parlai.core.build_data import DownloadableFile
  from parlai.utils.io import PathManager
label_desc: Use image node_id 6 for calling a global function with example usage: clean_text(words) and returns: None, None, None, str, None