code: def string_to_keywords(string,
          keyword_minimal_length=1):
      
      # Convert the string to ASCII lower characters.
      ascii_string = unidecode.unidecode(string).lower()
  
      # Replace any punctuation character with space.
      punctuationless_string = re.sub(r"""[.,\\/#!$%\^&*;:{}=\-_`~()<>"']""", ' ', ascii_string)
  
      # Remove any double space character.
      cleansed_string = re.sub(r'\s{2,}', ' ', punctuationless_string)
  
      # Decompose the string into distinct keywords.
      keywords = set(cleansed_string.split(' '))
  
      # Filter out sub-keywords of less than 2 characters.
      return [ keyword for keyword in keywords if len(keyword) > keyword_minimal_length ]
docs: Remove any punctuation character from the specified list of keywords,
      remove any double or more space character and represent Unicode
      characters in ASCII.
  
  
      @param keywords: a list of keywords strip out any punctuation characters.
  
      @param keyword_minimal_length: minimal number of characters of the
          keywords to be returned.
  
  
      @return: the set of keywords cleansed from any special Unicode
          accentuated character, punctuation character, and double space
          character.