我一直試圖在Python中使用gensim使用word2vec。雖然我使用try /除了爲了檢查不在Google模型中的單詞而遇到問題。每次出現異常時,我都可以打印該單詞,但模型會停止並且不會計算列表中剩餘的單詞。Try-Except與列表在Python中的問題
代碼後,我已經顯示詞彙列表的內容和模型停止在單詞遊客沒有改變其他單詞旅客後的單詞。我真的陷入困境,我可以在這一個上使用一些幫助。有任何想法嗎?
for x in range(0,len(data)):
titles.append(data[x]['title'])
paragraphs.append(data[x]['paragraphs'])
model = gensim.models.Word2Vec.load('/tmp/models/google2')
for y in range(95,96):
vocabulary.append(titles[y])
vocabulary.append(paragraphs[y][0])
vocabulary.append(paragraphs[y+1][0])
print vocabulary
for entry in vocabulary:
try:
row = tokenizer.tokenize(entry)
row = [word for word in row if word not in stopwords.words('english')]
row = [model[item] for item in row]
row = [np.sum(item) for item in row]
last.append(row)
except KeyError,e:
print "There is a word that does not exist in the vocabulary: ", e
有不詞彙表中存在的一句話:u'travellers'
詞彙[0]:亞洲的全球旅行熱潮
詞彙[1]:大陸的變化正在作出在旅遊,旅遊和消費能力方面,越來越多的亞洲人,特別是中國人,旅行者在海外冒險。
詞彙[2]:這是最近發生在中亞最窮的國家最令人興奮的事情。
預先感謝您。
它用於測試目的隊友。循環運行一次,並將3個值加載到詞彙表中。爲了產生設想的結果,不需要運行一次以上。例如第二個循環運行3次,因爲詞彙表中有3個值。即使你是正確的,這就是問題,計算應該停止在旅行者之前,而不是在那裏。 – Swan87 2014-08-29 00:09:39