2016-09-26 91 views
0

我在Python上使用了带有NLTK的StanfordParser。它给了我下面的输出:如何使用斯坦福分析器从NLTK获取POS标签?

(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

如果您只需要POS标签,则不需要运行解析器,因为POS标签是解析的预处理步骤。看看NLTKs POS标签,例如。 [StanfordPOSTagger](http://www.nltk.org/api/nltk.tag.html#module-nltk.tag.stanford)。 – lenz

+0

@lenz StanfordPagagger不给我名词短语。 –

+0

在您的示例输出中没有名词短语。我建议你首先弄清楚你需要什么,然后发布一个新问题,并在这里删除这个问题(通过编辑的问题陈述在这个网站上被忽略)。 – lenz

回答

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() 

返回: [( '更新', 'VB'),('办公室'','NNP'),('365','NNP')]

相关问题