def __clean_and_tokenize(self, doc_list):
        doc_list = filter(
            lambda x: x is not None and len(x) <= GitSuggest.MAX_DESC_LEN,
            doc_list,
        )
        cleaned_doc_list = list()
        tokenizer = RegexpTokenizer(r"[a-zA-Z]+")
        stopwords = self.__get_words_to_ignore()
        dict_words = self.__get_words_to_consider()
        for doc in doc_list:
            lower = doc.lower()
            tokens = tokenizer.tokenize(lower)
            tokens = [tok for tok in tokens if tok in dict_words]
            tokens = [tok for tok in tokens if tok not in stopwords]
            tokens = [tok for tok in tokens if tok is not None]
            cleaned_doc_list.append(tokens)
        return cleaned_doc_list