因为最近需要一个50-100d的中文词向量了,问朋友拿了一个60d的,但是给我的是一个model,没办法,项目中需要的是txt文件,不想改动太大,所以查看了很多其他的csdn看看怎么转
于是乎,找到了下面最简单的方法
model = Word2Vec.load(r’E:\data\hy\word2vec_model\Word60.model’)
model.wv.save_word2vec_format(‘WordVec60d.txt’,binary = False) # 把词向量表转成可视化的txt
就是这么简单…我也难以置信,不需要读取每一行 再写进去这样
当然,如果你要是想先从一个文章读取,然后再写进去也可以,参考一下代码
import numpy as np
from gensim.models.word2vec import Word2Vec
model = Word2Vec.load('../model/w2v_model')
for word in model.wv.vocab.keys():
vec_string = np.array2string(model.wv[word]).replace('[ ','').replace(']','').replace('[','').replace('\n','')
line = "{0} {1}\n".format(word, vec_string)
print(line)
小编在读取自己model的时候又遇到一个问题,麻烦…做工程就是这样,各种问题