code: def keyword_tokenize(text_string):
      '''
      Extracts keywords from text_string using NLTK's list of English stopwords, ignoring words of a
      length smaller than 3, and returns the new string as type str.
  
      Keyword argument:
  
      - text_string: string instance
  
      Exceptions raised:
  
      - InputError: occurs should a non-string argument be passed
      '''
      if text_string is None or text_string == "":
          return ""
      elif isinstance(text_string, str):
          return " ".join([word for word in KEYWORD_TOKENIZER.tokenize(text_string) if word not in STOPWORDS and len(word) >= 3])
      else:
          raise InputError("string not passed as argument for text_string"f keyword_tokenize(text_string):
      '''
      Extracts keywords from text_string using NLTK's list of English stopwords, ignoring words of a
      length smaller than 3, and returns the new string as type str.
  
      Keyword argument:
  
      - text_string: string instance
  
      Exceptions raised:
  
      - InputError: occurs should a non-string argument be passed
      '''
      if text_string is None or text_string == "":
          return ""
      elif isinstance(text_string, str):
          return " ".join([word for word in KEYWORD_TOKENIZER.tokenize(text_string) if word not in STOPWORDS and len(word) >= 3])
      else:
          raise InputError("string not passed as argument for text_string")
docs: Extracts keywords from text_string using NLTK's list of English stopwords, ignoring words of a
      length smaller than 3, and returns the new string as type str.
  
      Keyword argument:
  
      - text_string: string instance
  
      Exceptions raised:
  
      - InputError: occurs should a non-string argument be passed