def load(self, records): self.records = records self.ratings_matrix = basic_knn.create_ratings_matrix(records) self.reviews_matrix = create_reviews_matrix(records) self.user_dictionary = extractor.initialize_users(self.records, False) self.user_ids = extractor.get_groupby_list(self.records, 'user_id') # self.lda_model =\ # lda_context_utils.discover_topics(text_reviews, self.num_topics) if self.reviews: lda_based_context = LdaBasedContext() lda_based_context.reviews = self.reviews lda_based_context.init_reviews() else: text_reviews = [] for record in self.records: text_reviews.append(record['text']) lda_based_context = LdaBasedContext(text_reviews) lda_based_context.init_reviews() self.context_rich_topics = lda_based_context.get_context_rich_topics() self.lda_model = lda_based_context.topic_model print('building similarity matrix', time.strftime("%H:%M:%S")) self.context_matrix = self.create_context_matrix(records) self.similarity_matrix = self.create_similarity_matrix() print('finished building similarity matrix', time.strftime("%H:%M:%S"))
def load_context(self, records): if self.reviews: lda_based_context = LdaBasedContext() lda_based_context.reviews = self.reviews lda_based_context.init_reviews() else: text_reviews = [] for record in records: text_reviews.append(record['text']) lda_based_context = LdaBasedContext(text_reviews) lda_based_context.init_reviews() self.context_rich_topics = lda_based_context.get_context_rich_topics() self.lda_model = lda_based_context.topic_model for user in self.user_dictionary.values(): user.item_contexts = lda_context_utils.get_user_item_contexts( records, self.lda_model, user.user_id, True )