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
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
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
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
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
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)
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
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)
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
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
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"])
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
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
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
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
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
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)
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)
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"])
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)