我想从句子中提取句法信息。我试过的是
corenlp_dir = "/home/corenlp-python/stanford-corenlp-full-2013-11-12/"
parser = corenlp.StanfordCoreNLP(corenlp_path=corenlp_dir)
result_json = json.loads(parser.parse("I am Alice."))
#pprint.pprint(result_json)
for sentence in result_json["sentences"]:
pprint.pprint(sentence["parsetree"])
print type(sentence["parsetree"])
我只得到
--># u'(ROOT (S (NP (PRP I)) (VP (VBP am) (NP (NNP Alice))) (. .)))'
<type 'unicode'>
,结果是一个字符串,而不是一个parsertree。 但是,我真正想要的是一个可用于进行文本分类的语法功能。如何从上面的结果中提取特定的句法特征? 我对如何做到这一点没有任何想法。有人可以帮我或给我一些建议吗?
答案 0 :(得分:1)
您最好先了解结果的格式,然后根据需要编写自己的代码来演示/绘制结果。
以你的结果为例, 一个最小的单位可以是(PRP I),这意味着'我'在这句话中扮演'代词'的角色,如果你看出当前的括号,(NP(PRP I) )表示这个代词是一个名词短语(NP)。等等 这就是你从下到上得到一个解析树的方法,最后你将达到'ROOT'。