Frage

this must be simple but I'm missing it somehow. I have the code:

import nltk

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

which returns for instance:

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

I was wondering how I could just collected solely all 'NN' for example or all 'DT' AND 'IN' instead of every member of the string.

thanks in advance

War es hilfreich?

Lösung

You can extract only the tags you want with a list comprehension, e.g.:

>>> tags = nltk.pos_tag(tokens)
>>> dt_tags = [t for t in tags if t[1] == "DT"]
>>> dt_tags
[('a', 'DT')]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top