code: def _get_cat_and_ncat(self, X):
      if self.category_name_is_set_ is False:
          raise NeedToSetCategoriesException()
      cat_X = X[self._get_cat_x_row_mask(), :]
      ncat_X = X[self._get_ncat_x_row_mask(), :]
      if self.neutral_category_names:
          neut_X = X[self._get_neut_row_mask(), :]
          cat_X = vstack([cat_X, neut_X])
          ncat_X = vstack([ncat_X, neut_X])
      return cat_X, ncat_X
  
imports: from abc import ABCMeta, abstractmethod
  from typing import Tuple
  import numpy
  import pandas
  from scattertext.ParsedCorpus import ParsedCorpus
  from scipy import stats
  from scipy.sparse import vstack
  from scattertext.util import inherits_from
  from scattertext.termranking import AbsoluteFrequencyRanker
  from scattertext.termranking.TermRanker import TermRanker
label_desc: Use image node_id 17 for calling the CorpusBasedTermScorer obj's underlying member method code with example usage: obj._get_cat_and_ncat(X) and returns: cat_X,  ncat_X