def __is_previous_msg_cmp_makeable(cls, user_id): try: previous_msg = models.Message.fetch_previous_msg(user_id) if len(previous_msg) == 0: return False w_toks = WordFormatter.SToks2WToks([previous_msg]) message_normalizer = MessageNormalizer() df = message_normalizer(w_toks, None, from_preprocessor=False) target_pos = Nlp_util.pos_VERBs + Nlp_util.pos_ADVERBs + Nlp_util.pos_ADJECTIVEs target_word_df = df[df.pos.isin(target_pos)] if any(target_word_df.base_form.isin(WORD_LIST_FOR_CMP.word.tolist())): return True else: return False except: logging.exception('') return False
def __call__(self): try: previous_msg = models.Message.fetch_previous_msg(self.user.id) w_toks = WordFormatter.SToks2WToks([previous_msg]) message_normalizer = MessageNormalizer() df = message_normalizer(w_toks, self.user.sender_id, from_preprocessor=False) text_kw_df_gengerator = TextKwDFGenerator() text_kw_df = text_kw_df_gengerator(df) sentiment_score_df_generator = SentimentScoreDFGenerator() sentiment_score_df = sentiment_score_df_generator(df, text_kw_df) responses = self.create_cmp(df, sentiment_score_df, self.response_data) self.response_data['regular'] = responses return self.response_data except: logging.exception('') return self.response_data