def __call__(self, message, user): try: if self.__exists_admin_command(message, user): return message w_toks = WordFormatter.MsgDict2WToks(message.message_dicts) message.original_df = OriginalDFGenerator.create_original_df_by_w_toks( w_toks) message_normalizer = MessageNormalizer() message.text_df = message_normalizer(message.message_dicts, user.sender_id) intent_checker = IntentChecker() message.intent_list = intent_checker(message.text_df) text_kw_df_generator = TextKwDFGenerator() message.text_kw_df = text_kw_df_generator(message.text_kw_df) sentiment_score_df_generator = SentimentScoreDFGenerator() message.sentiment_score_df = sentiment_score_df_generator( message.text_df, message.text_kw_df) return message except: logging.exception('') return message
def __call__(self, message_dicts: List[Dict[str, str]], sender_id, from_preprocessor=True): try: if from_preprocessor: message_dicts = self.__convert_attachment(message_dicts) message_dicts = self.__normalize_apostrophe(message_dicts) w_toks = WordFormatter.MsgDict2WToks(message_dicts) else: w_toks = message_dicts print('\nword_tokenized\n', w_toks) normalized_w_toks = self.normalize_message_by_w_toks(w_toks) send_typing_on(sender_id) # make original_df with sidx, widx, word, pos tag df = OriginalDFGenerator.create_original_df_by_w_toks(normalized_w_toks) df = self.normalize_message_by_df(df) return df except: logging.exception('') return None