經理讓我把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()
