import nltk
from nltk import *
from nltk.corpus import wordnet as wn
output=[]
wordlist=[]
entries = nltk.corpus.cmudict.entries()
for entry in entries[:200]: #create a list of words, without the pronounciation since.pos_tag only works with a list
wordlist.append(entry[0])
for word in nltk.pos_tag(wordlist): #create a list of nouns
if(word[1]=='NN'):
output.append(word[0])
for word in output:
x = wn.synsets(word) #remove all words which does not have synsets (this is the problem)
if len(x)<1:
output.remove(word)
for word in output[:200]:
print (word," ",len(wn.synsets(word)))
Я пытаюсь удалить все слова без синтеза, но по какой-то причине он не работает. После запуска программы я обнаружил, что хотя слово имеет len (wn.synsets (word)) = 0, оно не удаляется из моего списка. Может ли кто-нибудь сказать мне, что пошло не так?Оператор Python IF с nltk.wordnet.synsets