• 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 + "	"  + vector_str   
            output.writelines(line + "
    ")  #本来用的是write()方法,但是结果出来换行效果不对。改成writelines()方法后还没试过。
        output.close()  
      
    if __name__ == "__main__":  
        main() 
  • 相关阅读:
    【23设计模式】总结
    【JAVA】内部类,内部接口
    【JAVA】接口
    【JAVA】抽象类,抽象方法
    【JAVA】类加载器
    【JAVA】枚举
    【JAVA】序列化
    【JAVA】异常笔记
    汇编笔记_第十一章
    汇编笔记_第十章
  • 原文地址:https://www.cnblogs.com/zhangtianyuan/p/6922825.html
Copyright © 2020-2023  润新知