def match_pattern(tree): if tree.is_question(): return None verb = pt.find_node(tree, pt.match_POS("VB", "VBD", "VBG", "VBN", "VBP", "VBZ")) subject_tree = pt.find_node(verb, pt.match_gram("nsubj")) object_tree = pt.find_node(verb, pt.match_gram("dobj")) if verb and subject_tree: return {"verb_tree": verb, "subject_tree": subject_tree, "object_tree": object_tree} return None
def match_pattern(tree): if not tree.is_question(): return None verb_tree = pt.find_node(tree, pt.match_POS("VB", "VBD", "VBG", "VBN", "VBP", "VBZ")) copular = pt.find_node(verb_tree, pt.match_word("are", "is")) subject_tree = pt.find_node(verb_tree, pt.match_gram("nsubj")) object_tree = pt.find_node(verb_tree, pt.match_gram("dobj")) if copular and verb_tree and subject_tree: return {"verb_tree": verb_tree, "subject_tree": subject_tree, "object_tree": object_tree} return None
def match_pattern(tree): if not tree.is_question(): return None person = pt.find_node(tree, pt.match_POS("NNP")) copular = pt.find_node(person, pt.match_gram("cop")) adjective = pt.find_node(person, pt.match_POS("JJ")) if copular and adjective: return {"person": person, "adjective": adjective} return None
def match_pattern(tree): if tree.is_question(): return None super_noun = pt.find_node(tree, pt.match_POS("NN", "NNS")) copular = pt.find_node(super_noun, pt.match_gram("cop")) sub_noun = pt.find_child_node(super_noun, pt.match_POS("NN", "NNS", "NNP")) if sub_noun and copular: return {"super_noun": super_noun, "sub_noun": sub_noun} return None