经理让我把word2vec训练后得到的bin文件转为txt文件,目前还不知道txt文件用来干什么。其实word2vec训练语料时可以选择训练处出bin文件或者txt文件,但是训练出bin文件时过程太漫长,我怕直接训练出txt文件也一样慢,所以还是自己想办法做这个事情了。
我用到了gensim,这个需要自己安装一下,我的电脑装这个还挺麻烦的。
# -*- coding: utf-8 -*-
import gensim
import codecs def main():
path_to_model = 'result.bin'
output_file = 'file.txt'
bin2txt(path_to_model, output_file) def bin2txt(path_to_model, output_file):
output = codecs.open(output_file, 'w' , 'utf-8')
model = gensim.models.KeyedVectors.load_word2vec_format(path_to_model, binary=True)
print('Done loading Word2Vec!')
vocab = model.vocab
for item in vocab:
vector = list()
for dimension in model[item]:
vector.append(str(dimension))
vector_str = ",".join(vector)
line = item + "\t" + vector_str
output.writelines(line + "\n") #本来用的是write()方法,但是结果出来换行效果不对。改成writelines()方法后还没试过。
output.close() if __name__ == "__main__":
main()