code: def __construct_lda_model(self):
          
          # Fetch descriptions of repos of interest to authenticated user.
          repos_of_interest = self.__get_interests()
  
          # Procure clean tokens from the descriptions.
          cleaned_tokens = self.__clean_and_tokenize(repos_of_interest)
  
          # If cleaned tokens are empty, it can cause an exception while
          # generating LDA. But tokens shouldn't be something meaningful as that
          # would mean we are suggesting repos without reason. Hence the random
          # string to ensure that LDA doesn't cause exception but the token
          # doesn't generate any suggestions either.
          if not cleaned_tokens:
              cleaned_tokens = [["zkfgzkfgzkfgzkfgzkfgzkfg"]]
  
          # Setup LDA requisites.
          dictionary = corpora.Dictionary(cleaned_tokens)
          corpus = [dictionary.doc2bow(text) for text in cleaned_tokens]
  
          # Generate LDA model
          self.lda_model = models.ldamodel.LdaModel(
              corpus, num_topics=1, id2word=dictionary, passes=10
          )
docs: Method to create LDA model to procure list of topics from.
  
          We do that by first fetching the descriptions of repositories user has
          shown interest in. We tokenize the hence fetched descriptions to
          procure list of cleaned tokens by dropping all the stop words and
          language names from it.
  
          We use the cleaned and sanitized token list to train LDA model from
          which we hope to procure topics of interests to the authenticated user.