过滤词性 NLTK 的特定部分



这必须很简单,但我不知何故错过了它。 我有代码:

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

例如返回:

"[('进程', 'NNS'), ('a', 'DT'), ('序列', 'NN'), ('

的', 'IN'), ('words', 'NNS')]

想知道我怎么能只收集所有"NN",例如所有"DT"和"IN",而不是字符串的每个成员。

提前致谢

您可以使用列表推导式仅提取所需的标签,例如:

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

最新更新