code: def compact(self, term_doc_matrix):
          '''
          Parameters
          ----------
          term_doc_matrix : TermDocMatrix
              Term document matrix object to compact
          Returns
          -------
          New term doc matrix
          '''
          rank_df = self.scorer.get_rank_df(term_doc_matrix)
          optimal_rank = self._find_optimal_rank(rank_df)
          compacted_term_doc_matrix = self._prune_higher_ranked_terms(term_doc_matrix, rank_df, optimal_rank)
          print('max terms', self.max_terms, 'optimal_rank', optimal_rank,
                'num_terms', compacted_term_doc_matrix.get_num_terms())
          return compacted_term_doc_matrif compact(self, term_doc_matrix):
          '''
          Parameters
          ----------
          term_doc_matrix : TermDocMatrix
              Term document matrix object to compact
          Returns
          -------
          New term doc matrix
          '''
          rank_df = self.scorer.get_rank_df(term_doc_matrix)
          optimal_rank = self._find_optimal_rank(rank_df)
          compacted_term_doc_matrix = self._prune_higher_ranked_terms(term_doc_matrix, rank_df, optimal_rank)
          print('max terms', self.max_terms, 'optimal_rank', optimal_rank,
                'num_terms', compacted_term_doc_matrix.get_num_terms())
          return compacted_term_doc_matrix
docs: Parameters
          ----------
          term_doc_matrix : TermDocMatrix
              Term document matrix object to compact
          Returns
          -------
          New term doc matrix