nlp - Using Stanford CoreNLP Python Parser for specific output -


i'm using scp parse cfg tree english sentences.

from corenlp import * corenlp = stanfordcorenlp() corenlp.parse("every cat loves dog") 

my expected output tree this:

(s (np (det every) (nn cat)) (vp (vt loves) (np (det a) (nn dog)))) 

but got is:

(root (s (np (dt every) (nn cat)) (vp (vbz loves) (np (dt a) (nn dog))))) 

how change pos tag expected , remove root node?

thanks

you can use nltk.tree module nltk.

from nltk.tree import *  def traverse(t):     try:         # replace labels         if t.label() == "dt":             t.set_label("det")         elif t.label() == "vbz":             t.set_label("vt")        except attributeerror:         return      child in t:         traverse(child)  output_tree= "(root (s (np (dt every) (nn cat)) (vp (vbz loves) (np (dt a) (nn dog)))))" tree = parentedtree.fromstring(output_tree)  # remove root element if tree.label() == "root":       tree = tree[0]  traverse(tree) print tree   # (s (np (det every) (nn cat)) (vp (vt loves) (np (det a) (nn dog)))) 

Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -