Ejemplo n.º 1
0
    def __init__(self, comparative_mgr, det_pronoun_mgr, personal_mgr,
                 plural_mgr, pro_adverb_mgr, say_state, time_of_day_mgr,
                 verb_mgr):
        # For extracting the correct verb conjugation from subjects.
        self.arbitrary_idiolect = Idiolect()
        self.say_state = say_state
        self.subject_say_context = SayContext(prep=None,
                                              has_left=True,
                                              has_right=True,
                                              is_possessive=False)

        self.end_punct_clf = EndPunctClassifier()
        self.verb_extractor = VerbExtractor(verb_mgr)

        self.comparative_mgr = comparative_mgr
        self.det_pronoun_mgr = det_pronoun_mgr
        self.personal_mgr = personal_mgr
        self.plural_mgr = plural_mgr
        self.pro_adverb_mgr = pro_adverb_mgr
        self.time_of_day_mgr = time_of_day_mgr

        self.tag2recognize_arg = {
            'DT': self.recog_dt,
            'EX': self.recog_ex,
            'JJ': self.recog_jj,
            'JJR': self.recog_jjr,
            'NN': self.recog_nn,
            'NNS': self.recog_nns,
            'NNP': self.recog_nnp,
            'PRP': self.recog_prp,
            'WP': self.recog_wp,
        }

        self.tag2recognize_prep_arg = {
            'RB': self.recog_rb,
            'WRB': self.recog_wrb,
            'RBR': self.recog_rbr,
        }

        self.invalid_verb_arg_root_tags = set([
            '.',
            'VB',
        ])

        self.directions = """
            north south east west
            left right
        """.split()