我目前正在做一个ML项目。我被困在我的Word2Vec模型的嵌入矩阵上。
代码片段如下:;
vocab_size = len(tokenizer.word_index)+1
embedding_matrix = np.zeros((vocab_size, embedding_vector_size))
# +1 is done because i starts from 1 instead of 0, and goes till len(vocab)
for word, i in tokenizer.word_index.items():
embedding_vector = model_1.wv[word] #error
if embedding_vector is not None:
embedding_matrix[i] = embedding_vector
我得到的错误是这样的消息:
引发KeyError(f"键'{Key}'不存在")KeyError: "密钥'https'不存在">
解决这个问题的方法是什么?
它看起来像是在尝试查找一个单词"在你的词里矢量是不存在的。尝试添加检查:
...
for word, i in tokenizer.word_index.items():
if word in model_1.wv:
embedding_vector = model_1.wv[word] #error
...
如果没有找到这个词,您可能想做一些事情,所以您可以添加一个else
。
通常使用嵌入方法比手动搜索特定单词更好,但我不知道你的用例,所以这应该捕获错误。