Использование nltk
pos-tagger
>>> import nltk
>>> text = nltk.word_tokenize("They refuse to permit us to obtain the refuse permit")
>>> pos_tagged = nltk.pos_tag(text)
>>> pos_tagged
[('They', 'PRP'), ('refuse', 'VBP'), ('to', 'TO'), ('permit', 'VB'), ('us', 'PRP'),
('to', 'TO'), ('obtain', 'VB'), ('the', 'DT'), ('refuse', 'NN'), ('permit', 'NN')]
>>> nouns = filter(lambda x:x[1]=='NN',pos_tagged)
>>> nouns
[('refuse', 'NN'), ('permit', 'NN')]
Существительные отмечены NN
, а глаголы - VB
, поэтому вы можете использовать их соответственно.
Примечание:
Если вы не настроили / скачали punkt
и averaged_perceptron_tagger
с помощью nltk, вам, возможно, придется сделать это с помощью:
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')