from nltk.corpus import wordnet as wn
def getSynonyms(word, pos):
synonymList1 = []
for data1 in word:
tmp1data1 = []
wordnetSynset1 = wn.synsets(data1)
for syn in wordnetSynset1:
if syn.pos() == wn.NOUN:
newSyn1 = [data1, wn.NOUN]#, wn.VERB)
tmp1data1.append(newSyn1)
break
if syn.pos() == wn.VERB:
newSyn2 = [data1, wn.VERB]
tmp1data1.append(newSyn2)
break
if syn.pos() == wn.ADV:
newSyn3 == [data1, wn.ADV]
tmp1data1.append(newSyn3)
break
if syn.pos() == wn.ADJ:
newSyn4 == [data1, wn.ADJ]
tmp1data1.append(newSyn4)
break
return tmp1data1
tempList1 = []
for synset1 in tmp1data1:
synLemmas = synset1.lemma_names()
for i in xrange(len(synLemmas)):
word = synLemmas[i]
tempList1.append(word)
synonymList1.append(tempList1)
return synonymList1
words1 = ['move']
pos = ['n','v','a','r']
syn1 = getSynonyms(words1, pos)
print syn1
上面写着错误:
elif syn.pos() == wn.VERB:
^
IndentationError: unindent does not match any outer indentation level
我不明白为什么缩进错误是从wn.VERB开始的,而不是从wn.NOUN开始的。有人能帮我吗
另外,如果你不介意的话,你能检查一下我显示word同义词和wordnet pos标签的代码是正确的还是错误的吗? 谢谢
目前没有回答
相关问题 更多 >
编程相关推荐