过滤特定语音部分NLTK

时间:2014-02-19 13:49:23

标签: python filter nltk pos-tagger

这一定很简单,但我却以某种方式错过了它。我有代码:

import nltk

f=open('...\\t.txt','rU')
raw=f.read()
tokens = nltk.word_tokenize(raw)
print nltk.pos_tag(tokens)

返回例如:

“[('processes','NNS'),('a','DT'),('sequence','NN'),('of','IN'),('words', 'NNS')]

我想知道如何仅收集所有'NN'或所有'DT'和'IN'而不是每个字符串成员。

提前致谢

1 个答案:

答案 0 :(得分:2)

您只能通过列表推导来提取所需的标签,例如:

>>> tags = nltk.pos_tag(tokens)
>>> dt_tags = [t for t in tags if t[1] == "DT"]
>>> dt_tags
[('a', 'DT')]