如何使用Stanford Parser从NLTK获取POS标签?

时间:2016-09-26 07:38:07

标签: python-3.x nltk stanford-nlp

我在Python上使用了StanfordParser和NLTK。它给了我以下输出:

(ROOT
    (S
        (NP (NNP Python))
        (VP (VBZ is) (NP (DT a) (JJ lovely) (NN language)))
        (. !)))

但我希望有一个这样的清单:

[['Python', 'NNP'], ['is', 'VBZ'], ['a', 'DT'], ['lovely', 'JJ'], ['language', 'NN']]

我想要所有的名词短语。我该怎么办?

1 个答案:

答案 0 :(得分:0)

在这里你可以看到NLTK树的方法:http://www.nltk.org/_modules/nltk/tree.html

这很有可能会这样做:

parser = StanfordParser(model_path="lib/englishPCFG.ser.gz")
parsed = parser.raw_parse("update Office 365")
next(parsed).pos()

返回: [('update','VB'),('Office','NNP'),('365','NNP')]