我在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']]
我想要所有的名词短语。我该怎么办?
答案 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')]