我使用 Gensim 3.8.0 训练了一个 Word2Vec 模型。后来我尝试在 GCP 上使用使用 Gensim 4.0.o 的预训练模型。我使用了以下代码:
model = KeyedVectors.load_word2vec_format(wv_path, binary= False)
words = model.wv.vocab.keys()
self.word2vec = {word:model.wv[word]%EMBEDDING_DIM for word in words}
我收到错误消息,“model.mv”已从 Gensim 4.0.0 中删除。然后我使用了以下代码:
model = KeyedVectors.load_word2vec_format(wv_path, binary= False)
words = model.vocab.keys()
word2vec = {word:model[word]%EMBEDDING_DIM for word in words}
并收到以下错误:
AttributeError: The vocab attribute was removed from KeyedVector in Gensim 4.0.0.
Use KeyedVector's .key_to_index dict, .index_to_key list, and methods .get_vecattr(key, attr) and .set_vecattr(key, attr, new_val) instead.
See https://github.com/RaRe-Technologies/gensim/wiki/Migrating-from-Gensim-3.x-to-4
谁能建议我如何使用预训练模型并在 Gensim 4.0.0 中返回字典?
原文由 Md. Ahsanul Kabir Arif 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 Gensim 3.x 迁移到 4 所引起的变化都存在于 github 链接中:
https://github.com/RaRe-Technologies/gensim/wiki/Migrating-from-Gensim-3.x-to-4
对于上述问题,对我有用的解决方案: