def train_context_extractor(records, stable=True): print('%s: train context topics model' % time.strftime("%Y/%m/%d-%H:%M:%S")) if Constants.TOPIC_MODEL_TYPE == 'lda': context_extractor = LdaBasedContext(records) context_extractor.generate_review_corpus() context_extractor.build_topic_model() context_extractor.update_reviews_with_topics() context_extractor.get_context_rich_topics() context_extractor.clear_reviews() elif Constants.TOPIC_MODEL_TYPE == 'nmf': context_extractor = NmfContextExtractor(records) context_extractor.generate_review_bows() context_extractor.build_document_term_matrix() if stable: context_extractor.build_stable_topic_model() else: context_extractor.build_topic_model() context_extractor.update_reviews_with_topics() context_extractor.get_context_rich_topics() context_extractor.clear_reviews() else: raise ValueError('Unrecognized topic model type: \'%s\'' % Constants.TOPIC_MODEL_TYPE) print('%s: Trained Topic Model' % time.strftime("%Y/%m/%d-%H:%M:%S")) return context_extractor
def train_context_topics_model(records): print('%s: train context topics model' % time.strftime("%Y/%m/%d-%H:%M:%S")) lda_based_context = LdaBasedContext(records) lda_based_context.generate_review_corpus() lda_based_context.build_topic_model() lda_based_context.update_reviews_with_topics() print('%s: Trained LDA Model' % time.strftime("%Y/%m/%d-%H:%M:%S")) return lda_based_context
def train_context_topics_model(records): print('%s: train context topics model' % time.strftime("%Y/%m/%d-%H:%M:%S")) lda_based_context = LdaBasedContext(records) lda_based_context.generate_review_corpus() lda_based_context.build_topic_model() lda_based_context.update_reviews_with_topics() print('%s: Trained LDA Model' % time.strftime("%Y/%m/%d-%H:%M:%S")) return lda_based_context
def train_topic_model(self, cycle_index, fold_index): if Constants.CACHE_TOPIC_MODEL: print('loading topic model') lda_based_context = topic_model_creator.load_topic_model( cycle_index, fold_index) else: print('train topic model: %s' % time.strftime("%Y/%m/%d-%H:%M:%S")) lda_based_context = LdaBasedContext(self.train_records) lda_based_context.generate_review_corpus() lda_based_context.build_topic_model() lda_based_context.update_reviews_with_topics() lda_based_context.get_context_rich_topics() self.context_rich_topics = lda_based_context.context_rich_topics print('Trained LDA Model: %s' % time.strftime("%Y/%m/%d-%H:%M:%S")) return lda_based_context
def train_topic_model(self, cycle_index, fold_index): if Constants.CACHE_TOPIC_MODEL: print('loading topic model') lda_based_context = topic_model_creator.load_topic_model( cycle_index, fold_index) else: print('train topic model: %s' % time.strftime("%Y/%m/%d-%H:%M:%S")) lda_based_context = LdaBasedContext(self.train_records) lda_based_context.generate_review_corpus() lda_based_context.build_topic_model() lda_based_context.update_reviews_with_topics() lda_based_context.get_context_rich_topics() self.context_rich_topics = lda_based_context.context_rich_topics print('Trained LDA Model: %s' % time.strftime("%Y/%m/%d-%H:%M:%S")) return lda_based_context