从 NTLK pos_tag 中仅删除“NN”单词

use*_*742 2 python nltk

我有一个使用 NLTK 查找名词和动词的代码。

from nltk.corpus import wordnet as wn
from nltk import pos_tag
import nltk


sentence = "Hello my name is Abhishek Mitra"
sentence = nltk.word_tokenize(sentence)
sent = pos_tag(sentence)
print sent
Run Code Online (Sandbox Code Playgroud)

它返回:

[('Hello', 'NNP'), ('my', 'PRP$'), ('name', 'NN'), ('is', 'VBZ'), ('Abhishek', 'NNP'), ('Mitra', 'NNP')]
Run Code Online (Sandbox Code Playgroud)

我怎样才能从列表中只删除“NN”单词。

Noe*_*ans 5

您可以使用列表理解来删除“NN”元素:

from nltk.corpus import wordnet as wn
from nltk import pos_tag
import nltk

sentence = "Hello my name is Abhishek Mitra"
sentence = nltk.word_tokenize(sentence)
sent = pos_tag(sentence)
print [s for s in sent if s[1] != 'NN']
Run Code Online (Sandbox Code Playgroud)