ketika saya menjalankan kode ini pada corpus kecil saya mendapatkan kesalahan kunci karena kunci itu tidak dalam dict dan corpus vocab juga tidak terlalu besar.
sim = similarity.eval()
for i in xrange(valid_size):
valid_word = reverse_dictionary[valid_examples[i]]
print("--",valid_word)
top_k = 5 # number of nearest neighbors
nearest = (-sim[i, :]).argsort()[1:top_k+1]
print(nearest)
log_str = "Nearest to %s:" % valid_word
print(log_str)
for k in xrange(top_k):
close_word = reverse_dictionary[nearest[k]]
Output saya seperti ini:
Average loss at step 0 : 139.830688477
[[ 0.01613899 -0.06088334 -0.043384 ..., 0.02021606 -0.10094199
0.16063547]
[ 1.00000012 0.10277888 -0.20193034 ..., -0.04780241 0.07802841
0.13258868]
[ 0.09824251 -0.17075592 0.10143445 ..., 0.09903113 -0.08740355
-0.00371696]
...,
[-0.01591019 0.02056946 0.09188825 ..., -0.0506176 0.07684846
0.06354721]
[-0.06749535 0.0028128 -0.09138335 ..., 0.09473826 0.04847325
-0.00853895]
[ 0.01795161 0.01850585 0.04632751 ..., 0.11854959 0.11196665
-0.00684015]]
16
[-0.01613899 0.06088334 0.043384 ..., -0.02021606 0.10094199
-0.16063547]
<type 'numpy.ndarray'>
[ 31 113 118 ..., 650 353 233]
-- using
[113 118 555 298 150]
Nearest to using:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-129-cf006e08ddb8> in <module>()
87 for k in xrange(top_k):
88
---> 89 close_word = reverse_dictionary[nearest[k]]
90 log_str = "%s %s," % (log_str, close_word)
91 print(log_str)
KeyError: 555
vocab_length = 1155
batch_size = 16
embedding_size = 128
skip_window = 5
jumlah_skips = 4
valid_size = 16
valid_window = 100
valid_examples = np.random.choice(valid_window, valid_size, replace=False)
jumlah_sampel = 64
Adakah yang bisa membantu?
Hai Rahul,
Saya mengalami masalah yang sama persis seperti Anda sampai saya memeriksa ukuran array "reverse_dictionary" menggunakan "print(len(reverse_dictionary))" tepat sebelum kesalahan terjadi.
Baris "vocabulary_size = 50000" Anda harus disetel lebih rendah. Saya mengaturnya ke nilai yang dikembalikan dengan mencetak panjang "reverse_dictionary" dan tidak lagi memiliki masalah.
Saya harap ini membantu.
itu sangat membantu!!!!!! @tcheightyeight
Secara otomatis menutup karena kurangnya aktivitas terbaru. Silakan buka kembali ketika informasi lebih lanjut tersedia.
Komentar yang paling membantu
Hai Rahul,
Saya mengalami masalah yang sama persis seperti Anda sampai saya memeriksa ukuran array "reverse_dictionary" menggunakan "print(len(reverse_dictionary))" tepat sebelum kesalahan terjadi.
Baris "vocabulary_size = 50000" Anda harus disetel lebih rendah. Saya mengaturnya ke nilai yang dikembalikan dengan mencetak panjang "reverse_dictionary" dan tidak lagi memiliki masalah.
Saya harap ini membantu.