如何使用corenlp用python提取语法特征?

时间:2014-11-05 10:18:14

标签: python nlp stanford-nlp

我想从句子中提取句法信息。我试过的是

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。 但是,我真正想要的是一个可用于进行文本分类的语法功能。如何从上面的结果中提取特定的句法特征? 我对如何做到这一点没有任何想法。有人可以帮我或给我一些建议吗?

1 个答案:

答案 0 :(得分:1)

您最好先了解结果的格式,然后根据需要编写自己的代码来演示/绘制结果。

以你的结果为例, 一个最小的单位可以是(PRP I),这意味着'我'在这句话中扮演'代词'的角色,如果你看出当前的括号,(NP(PRP I) )表示这个代词是一个名词短语(NP)。等等 这就是你从下到上得到一个解析树的方法,最后你将达到'ROOT'。

相关问题