1
我想用NTLK獲取一些單詞的數量的縮寫(現在2)。看起來我可以用它來處理第一個單詞,但不是第二個單詞。我猜我還有很多要學習NTLK。下面有一些簡化的示例代碼。我基本上試圖得到兩個縮略詞列表,每個詞有1個列表。所有的第一個循環都很好。當我嘗試第二個字後,我得到:正確使用NTLK與python
syn2 = wn.synsets(word)[0].lemmas[y]
IndexError: list index out of range
希望有人能幫助我理解爲什麼會發生這種情況。
import nltk
from nltk.corpus import wordnet as wn
import string
from array import *
syn1 = ''
syn2 = ''
mylist = []
mylist2 = []
mylist3 = []
Web_Keywd = 'car loan'
wuser_words = Web_Keywd.split()
for word in wuser_words:
i=i+1
#first
if (i == 1) :
synset1 = wn.synsets(word)
y = 0
for synset in synset1:
syn1 = wn.synsets(word)[0].lemmas[y]
syn1 = syn1.name
mylist2.append(syn1)
y=y+1
if (i == 2) :
y = 0
for synset2 in wn.synsets(word):
syn2 = wn.synsets(word)[0].lemmas[y]
syn2 = syn2.name
mylist3.append(syn2)
y=y+1
感謝這有所幫助。當我進入一個名單wordlist.append(results.get(「汽車」))我注意到主要的詞「汽車」似乎重複了好幾次..有沒有辦法解決這個問題? – user2495294
@ user2495294:看我的編輯 – michaelmeyer
感謝這似乎是工作(至少在大多數情況下)。當我搜索'貓'時,我似乎得到了一些意想不到的結果。我得到的結果像嘔吐物,清除物,傢伙等等。我不確定這些詞是如何返回給貓的。看看在線詞庫,我看到像bobcat,kitty等這樣的詞,我期望在ntlk結果中看到(但不是)。想知道你是否知道這是爲什麼? – user2495294