我有两个列表,A是单词列表,例如[“hello”,“world”,……],Len(A)是10000。列表B包含与A对应的所有预训练向量,这是一个[10000,512],512是向量维度。我想将两个列表转换为gensim word2vec模型格式,以便稍后加载模型,例如model = Word2Vec.load("word2vec.model")我应该怎么做?
由于您只有单词及其向量,因此您没有足够的信息来构建完整的Word2Vec模型(其中包括其他内容,例如内部神经网络的隐藏权重和词频)。
但是您可以创建模型属性gensim KeyedVectors中的一般类型的对象。它有许多您可能有兴趣使用的辅助方法(例如 )。gensim Word2Vec.wvmost_similar()
假设您的A单词列表位于名为 的更有用的命名 Python 列表中words_list,而您的B向量列表位于名为 'vectors_list` 的更有用的命名 Python 列表中。
尝试:
\n\nfrom gensim.models import KeyedVectors\nkv = new KeyedVectors(512)\nkv.add(words_list, vectors_list)\nkv.save(`mywordvecs.kvmodel`)\nRun Code Online (Sandbox Code Playgroud)\n\n您可以稍后通过以下方式重新加载它们:
\n\nkv2 = KeyedVectors.load(`mywordvecs.kvmodel`)\nRun Code Online (Sandbox Code Playgroud)\n\n(如果您想要更简单的纯向量格式,也可以由使用该格式的其他工具加载,您也可以使用save_word2vec_format()and代替load_word2vec_format()gensim 的原生save()/ 。但如果您留在 内,纯/也一样好 \xe2 \x80\x93 如果保存更复杂的训练模型会更好,因为它们会保留这些对象包含的额外信息。)load()gensimsave()load()Word2Vec
| 归档时间: |
|
| 查看次数: |
8322 次 |
| 最近记录: |