def dep_parse(sents, entity): dep_parser = CoreNLPDependencyParser(url='http://localhost:9000') parsers = dep_parser.raw_parse_sents(sents) deps = [] for (parser, ) in parsers: for governor, dep, dependent in parser.triples(): is_dep_verb = ( (governor[0] in entity and dependent[1].startswith("VB")) or (dependent[0] in entity and governor[1].startswith("VB"))) if is_dep_verb: deps.append((governor, dep, dependent)) return deps
def _dependency_parse(sentences): ### 3.4.1 CoreNLP Dependency Parser from nltk.parse.corenlp import CoreNLPDependencyParser as DP dep_parser = DP(url='http://localhost:9000') # example: # parse, = dep_parser.raw_parse( # 'The quick brown fox jumps over the lazy dog.' # ) # print(parse.to_conll(4)) parse = dep_parser.raw_parse_sents(sentences) dep_trees = [] for itr_tree in parse: for tree in itr_tree: dep_trees.append(tree) # print(tree.to_conll(4)) # print(tree.tree()) # print() return dep_trees