码迷,mamicode.com
首页 > 编程语言 > 详细

python实现word2vec训练结果bin文件转txt文件

时间:2017-05-31 12:15:51      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:log   cab   vector   _for   需要   close   pen   span   blog   

      经理让我把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() 

 

python实现word2vec训练结果bin文件转txt文件

标签:log   cab   vector   _for   需要   close   pen   span   blog   

原文地址:http://www.cnblogs.com/zhangtianyuan/p/6922825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!