python實現word2vec訓練結果bin文件轉txt文件


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM