【问题标题】:Training wordvec in Tensorflow, importing to Gensim在 Tensorflow 中训练 wordvec,导入到 Gensim
【发布时间】:2017-02-12 10:38:17
【问题描述】:

我正在训练 tensorflow 教程中的 word2vec 模型。

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/word2vec/word2vec_basic.py

训练后,我得到了嵌入矩阵。我想保存它并将其作为经过训练的模型导入 gensim。

要在 gensim 中加载模型,命令是:

model = Word2Vec.load_word2vec_format(fn, binary=True)

但是如何从 Tensorflow 生成 fn 文件?

谢谢

【问题讨论】:

    标签: python machine-learning tensorflow gensim


    【解决方案1】:

    一种方法是将文件保存为非二进制 Word2Vec 格式,基本上如下所示:

    num_words vector_size  # this is the header
    label0 x00 x01 ... x0N
    label1 x10 x11 ... x1N
    ...
    

    例子:

    2 3
    word0 -0.000737 -0.002106 0.001851
    word1 -0.000878 -0.002106 0.002834
    

    保存文件,然后用 kwarg binary=False 加载:

    model = Word2Vec.load_word2vec_format(filename, binary=False)
    
    print(model['word0'])
    

    更新

    加载模型的新方法是:

    from gensim.models.keyedvectors import KeyedVectors
    
    model = KeyedVectors.load_word2vec_format(model_path, binary=False)
    

    【讨论】:

    • 所以我需要生成一个 txt 文件,该文件遵循上面的示例格式。将其另存为txt(或w2v),然后根据您的最后一行在gensim中打开它?
    • 这就是您所要做的。加载后,您可以保存为 gensim 格式。
    猜你喜欢
    • 2019-10-27
    • 1970-01-01
    • 2019-02-07
    • 2018-06-17
    • 1970-01-01
    • 2016-03-09
    • 2017-02-16
    • 1970-01-01
    • 2018-07-31
    相关资源
    最近更新 更多