Example #1
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
Example #2
0
    def __is_complaint_or_dissing(df):
        noun_list = Nlp_util.make_noun_list(df)
        verb_list = Nlp_util.make_verb_list(df, type="normal")
        said_you_dont_listen = Nlp_util.is_first_subject_in(
            ["you"], noun_list, verb_list) and Df_util.anything_isin(
                ["not listen", "never listen"], df["base_form"])
        is_dissing = Df_util.anything_isin(["f**k you", "hate you"],
                                           df["base_form"])

        return said_you_dont_listen or is_dissing
Example #3
0
    def __is_despising_himself(df):
        noun_list = Nlp_util.make_noun_list(df)
        verb_list = Nlp_util.make_verb_list(df, type="normal")
        adj_list = Nlp_util.make_adj_list(df)

        is_first_sub_i = Nlp_util.is_first_subject_in(["i"], noun_list,
                                                      verb_list)
        is_the_verb_be = Nlp_util.is_first_verb_in(["be"],
                                                   noun_list,
                                                   verb_list,
                                                   column_name="base_form")
        is_the_adj_despising = Nlp_util.is_first_adj_after_first_sub_in(
            WORDS_DESPITE_HIMSELF.word.tolist(), noun_list, adj_list)
        return is_first_sub_i and is_the_verb_be and is_the_adj_despising
Example #4
0
    def __exists_want_to(cls, df):
        df_without_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="basic")

        idx_of_i_wanna = Nlp_util.get_idx_list_of_idiom(
            "i want to", df_without_adverb.base_form)

        if len(idx_of_i_wanna) != 0 and len(
                df.loc[idx_of_i_wanna[0] + 2:, :]) > 1:
            if cls.__exists_word_after_want_to(
                    df) and Nlp_util.is_first_subject_in({"i"}, noun_list,
                                                         verb_list):
                return True
            else:
                return False
        else:
            return False