Example #1
0
    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
Example #2
0
    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