code: def __clean_and_tokenize(self, doc_list):
          
          # Some repositories fill entire documentation in description. We ignore
          # such repositories for cleaner tokens.
          doc_list = filter(
              lambda x: x is not None and len(x) <= GitSuggest.MAX_DESC_LEN,
              doc_list,
          )
  
          cleaned_doc_list = list()
  
          # Regular expression to remove out all punctuations, numbers and other
          # un-necessary text substrings like emojis etc.
          tokenizer = RegexpTokenizer(r"[a-zA-Z]+")
  
          # Get stop words.
          stopwords = self.__get_words_to_ignore()
  
          # Get english words.
          dict_words = self.__get_words_to_consider()
  
          for doc in doc_list:
              # Lowercase doc.
              lower = doc.lower()
  
              # Tokenize removing numbers and punctuation.
              tokens = tokenizer.tokenize(lower)
  
              # Include meaningful words.
              tokens = [tok for tok in tokens if tok in dict_words]
  
              # Remove stopwords.
              tokens = [tok for tok in tokens if tok not in stopwords]
  
              # Filter Nones if any are introduced.
              tokens = [tok for tok in tokens if tok is not None]
  
              cleaned_doc_list.append(tokens)
  
          return cleaned_doc_list
docs: Method to clean and tokenize the document list.
  
          :param doc_list: Document list to clean and tokenize.
          :return: Cleaned and tokenized document list.