sap*_*top 3 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)
Run Code Online (Sandbox Code Playgroud)
例如返回:
"[('进程', 'NNS'), ('a', 'DT'), ('序列', 'NN'), ('of', 'IN'), ('单词', 'NNS' )]
我想知道如何仅收集所有“NN”或所有“DT”和“IN”而不是字符串的每个成员。
提前致谢
您可以使用列表理解仅提取所需的标签,例如:
>>> tags = nltk.pos_tag(tokens)
>>> dt_tags = [t for t in tags if t[1] == "DT"]
>>> dt_tags
[('a', 'DT')]
Run Code Online (Sandbox Code Playgroud)