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