Esempio n. 1
0
    def __mean_no_friends(cls, df):
        exists_nobody_likes_me = Nlp_util.are_words1_words2_words3_in_order(
            df, ["nobody", "no one"], ["like", "love"], ["me"])
        exists_friends_dont_like_me = Nlp_util.are_words1_words2_words3_in_order(
            df, ["friend", "they", "everybody"],
            ["not like", "not love", "hate"], ["me"])

        exists_have_no_friend = Nlp_util.are_words1_words2_words3_in_order(
            df, ["i"], ["not have", "have no"], ["friend"])

        return exists_nobody_likes_me or exists_friends_dont_like_me or exists_have_no_friend
Esempio n. 2
0
    def __is_jullie_useless(df):
        if df is None:
            return False

        c1 = Nlp_util.are_words1_words2_words3_in_order(
            df, ["you", "this"], ["be not", "be never"],
            ["helpful", "help", "helping"])

        c2 = Nlp_util.are_words1_words2_words3_in_order(
            df, ["you"], ["be"], ['useless', 'helpless'])

        return c1 or c2
Esempio n. 3
0
    def __is_anxious(cls, df_by_sentence: DataFrame):
        try:
            word1_1 = ['anxious']
            word1_2 = ['be', 'being', 'am', 'was', 'been', 'feel', 'feeling']

            word2_1 = ['anxiety']
            word2_2 = ['have', 'having', 'had', 'feel', 'feeling']

            return Nlp_util.are_words1_words2_words3_in_order(df_by_sentence, word1_1, word1_2) \
                   or Nlp_util.are_words1_words2_words3_in_order(df_by_sentence, word2_1, word2_2)
        except:
            logging.exception('')
            return False
Esempio n. 4
0
    def __is_anxious(cls, df_by_sentence: DataFrame):
        word1_1 = ['anxious']
        word1_2 = ['be', 'being', 'am', 'was', 'been', 'feel', 'feeling']

        word2_1 = ['anxiety']
        word2_2 = ['have', 'having', 'had', 'feel', 'feeling']

        pattern_1 = Nlp_util.are_words1_words2_words3_in_order(
            df_by_sentence, word1_1, word1_2)
        pattern_2 = Nlp_util.are_words1_words2_words3_in_order(
            df_by_sentence, word2_1, word2_2)

        return pattern_1 or pattern_2
Esempio n. 5
0
    def __is_jullie_useless(df):
        try:
            if df is None:
                return False

            is_useless = Nlp_util.are_words1_words2_words3_in_order(
                df, ["you", "this"], ["be not", "be never"],
                ["helpful", "help", "helping"
                 ]) or Nlp_util.are_words1_words2_words3_in_order(
                     df, ["you"], ["be"], ['useless', 'helpless'])

            return is_useless
        except:
            logging.exception('')
            return False
Esempio n. 6
0
 def __like_someone(cls, df):
     df_ex_adverb = df[~df.pos.isin(Nlp_util.pos_ADVERBs)]
     target_list = [{
         "subjects": ["guy", "friend", "boy", "man"],
         "word1": ["i"],
         "word2": ["like"],
         "exceptions": []
     }, {
         "subjects": ["i"],
         "word1": ["like"],
         "word2": ["guy", "friend", "boy", "man"],
         "exceptions": ["feel like"]
     }, {
         "subjects": ["i"],
         "word1": ["be", "fall"],
         "word2": ["in love"],
         "exceptions": []
     }]
     return any(
         Nlp_util.are_words1_words2_words3_in_order(
             df_ex_adverb,
             target["subjects"],
             target["word1"],
             target["word2"],
             exception_list=target["exceptions"]) for target in target_list)
Esempio n. 7
0
    def __is_about_money(cls, df_by_sentence: DataFrame):
        money_words = ['money', 'finance', 'financial', 'financially']

        if any(i in df_by_sentence.word.values for i in money_words):
            prp = ['they', 'he', 'she']
            have = ['have']
            if Nlp_util.are_words1_words2_words3_in_order(
                    df_by_sentence, prp, have, money_words):
                return False
            else:
                return True
        elif Nlp_util.are_words1_words2_words3_in_order(
                df_by_sentence, ['i'], ['poor']):
            return True
        else:
            return False
Esempio n. 8
0
    def __is_call_me_names(cls, df_by_sentence):
        word1 = ['call']
        word2 = ['me']
        word3 = ['names']

        return Nlp_util.are_words1_words2_words3_in_order(
            df_by_sentence, word1, word2, word3)
Esempio n. 9
0
    def __is_no_idea(cls, df):
        df_ex_adverb = df[~df.pos.isin(Nlp_util.pos_ADVERBs)]
        noun_list = Nlp_util.make_noun_list(df)
        verb_list = Nlp_util.make_verb_list(df, type="normal")
        is_subj_himself = Nlp_util.is_first_subject_in(["i"], noun_list,
                                                       verb_list)
        exist_subj_for_first_verb = Nlp_util.exist_subj_for_first_verb(
            noun_list, verb_list)

        is_idk_what_to_do = Df_util.anything_isin(
            {"do not know", "not sure", "have no idea"},
            df_ex_adverb["base_form"]) and Df_util.anything_isin(
                {"what to do", "how to do", "what to deal", "how to deal"},
                df_ex_adverb["base_form"])

        is_want_advice = Df_util.anything_isin(
            {"want", "need", "give me"},
            df_ex_adverb["base_form"]) and Df_util.anything_isin(
                {"advice", "suggestion"}, df_ex_adverb["word"])

        is_give_me_advice = Df_util.anything_isin(
            {"need", "want", "give me"},
            df_ex_adverb["base_form"]) and Df_util.anything_isin(
                {"advice", "suggestion"}, df_ex_adverb["word"])

        what_should_i_do = Nlp_util.are_words1_words2_words3_in_order(
            df_ex_adverb, ["what"], ["should"], ["i"])

        return (is_subj_himself and (is_idk_what_to_do or is_want_advice)) or (
            not exist_subj_for_first_verb
            and is_give_me_advice) or what_should_i_do
Esempio n. 10
0
 def __has_what_to_do(df):
     try:
         df_ex_adverb = df[~df.pos.isin(Nlp_util.pos_ADVERBs)]
         return Nlp_util.are_words1_words2_words3_in_order(df_ex_adverb, ["i"], ["not know", "not sure"],
                                                           ["what to", "how to"])
     except:
         logging.exception('')
         return False
Esempio n. 11
0
 def __lack_of_confidence(cls, df):
     df_ex_adverb = df[~df.pos.isin(Nlp_util.pos_ADVERBs)]
     target_list = [
         [["i"], ["hate", "not like"], ["myself"]],
         [["i"], ["be"],
          ["fat", "w***e", "s**t", "bitch", "stupid", "ugly", "burden"]],
         [["i"], ["bother"], ["people", "everyone", "friends"]],
     ]
     return any(
         Nlp_util.are_words1_words2_words3_in_order(
             df_ex_adverb,
             target[0],
             target[1],
             target[2],
             exception_list=["say", "tell"]) for target in
         target_list) or Nlp_util.are_words1_words2_words3_in_order(
             df, ["i"], ["be"], ["not good enough"])
Esempio n. 12
0
 def __has_wish_S_V(target_df):
     if Df_util.anything_isin(["wish"], target_df["base_form"]):
         wish_idx = Nlp_util.get_idx_list_of_word("wish", target_df["base_form"])[0]
         if Nlp_util.are_words1_words2_words3_in_order(target_df.loc[wish_idx:,:], Nlp_util.pos_NOUNs+Nlp_util.pos_PRPs, Nlp_util.pos_VERBs, df_column="pos"):
             return True
         else:
             return False
     else:
         return False
Esempio n. 13
0
    def __mean_no_friends(cls, df):
        try:
            exists_nobody_likes_me = Nlp_util.are_words1_words2_words3_in_order(
                df, ["nobody", "no one"], ["like", "love"], ["me"])
            exists_friends_dont_like_me = Nlp_util.are_words1_words2_words3_in_order(
                df, ["friend", "they", "everybody"],
                ["not like", "not love", "hate"], ["me"])

            exists_have_no_friend = Nlp_util.are_words1_words2_words3_in_order(
                df, ["i"], ["not have", "have no"], ["friend"])

            if exists_nobody_likes_me or exists_friends_dont_like_me or exists_have_no_friend:
                return True
            else:
                return False
        except:
            logging.exception('')
            return False
Esempio n. 14
0
    def __has_say_plus_bad_word(df):
        if any([
                Nlp_util.are_words1_words2_words3_in_order(
                    df, ["say", "tell"], ["i be", "i look"], [negative_word])
                for negative_word in KWDF[KWDF['Type'] ==
                                          'n'].keyword.tolist()
        ]):
            return True

        elif any([
                Nlp_util.are_words1_words2_words3_in_order(
                    df, ["say", "tell"], ["i be not", "i do not look"],
                    [positive_word]) for positive_word in KWDF[
                        KWDF['Type'] == 'p'].keyword.tolist()
        ]):
            return True

        else:
            return False
Esempio n. 15
0
    def __is_about_missing(cls, df_by_sentence):
        try:
            phrase1 = ['i']
            phrase2 = ['miss']

            return Nlp_util.are_words1_words2_words3_in_order(
                df_by_sentence, phrase1, phrase2)
        except:
            logging.exception('')
            return False
Esempio n. 16
0
    def __is_call_me_names(cls, df_by_sentence):
        try:
            word1 = ['call']
            word2 = ['me']
            word3 = ['names']

            return Nlp_util.are_words1_words2_words3_in_order(
                df_by_sentence, word1, word2, word3)
        except:
            logging.exception('')
            return False
Esempio n. 17
0
 def __cant_get_attention_from_bf(cls, df):
     df_ex_adverb = df[~df.pos.isin(Nlp_util.pos_ADVERBs)]
     target_list = [
         [["he", "boyfriend"],
          ["not pay", "never pay", "not give me", "never give me"],
          ["attention"]],
         [["he", "boyfriend"],
          [
              "not respond", "never respond", "not reply", "never reply",
              "not answer", "never answer", "not call", "never call",
              "not text", "never text"
          ], []],
         [["he", "boyfriend"],
          ["not listen", "never listen", "not care", "never care"], ["me"]]
     ]
     return any(
         Nlp_util.are_words1_words2_words3_in_order(df_ex_adverb, target[0],
                                                    target[1], target[2])
         for target in target_list)
Esempio n. 18
0
 def __is_about_breakup(cls, df):
     df_ex_adverb = df[~df.pos.isin(Nlp_util.pos_ADVERBs)]
     target_list = [
         [["i", "we", "boyfriend", "girlfriend"],
          ["brokeup", "broke up", "did breakup", "did breakup"], []],
         [[
             "she",
             "he",
             "boyfriend",
             "girlfriend",
         ], ["brokeup", "broke up", "did breakup", "did breakup"],
          ["with me"]],
     ]
     return any(
         Nlp_util.are_words1_words2_words3_in_order(df_ex_adverb,
                                                    target[0],
                                                    target[1],
                                                    target[2],
                                                    df_column="word")
         for target in target_list)
Esempio n. 19
0
 def __has_what_to_do(df):
     df_ex_adverb = df[~df.pos.isin(Nlp_util.pos_ADVERBs)]
     return Nlp_util.are_words1_words2_words3_in_order(
         df_ex_adverb, ["i"], ["not know", "not sure"],
         ["what to", "how to"])
Esempio n. 20
0
    def __is_about_missing(cls, df_by_sentence):
        phrase1 = ['i']
        phrase2 = ['miss']

        return Nlp_util.are_words1_words2_words3_in_order(
            df_by_sentence, phrase1, phrase2)