【问题标题】:gensim Word2vec transfer learning (from a non-gensim model)gensim Word2vec 迁移学习(来自非 gensim 模型)
【发布时间】:2017-12-24 09:58:48
【问题描述】:

我有一组用与 gensim 的 word2vec 无关的神经网络训练的嵌入。

我想使用这些嵌入作为gensim.Word2vec 中的初始权重。

现在我看到的是我可以model.load(SOME_MODEL) 然后继续训练,但它需要一个 gensim 模型作为输入。 reset_from() 似乎也只接受其他 gensim 模型。 但就我而言,我没有一个 gensim 模型可供开始,而是一个 word2vec 嵌入格式的文本文件。

那么我该如何开始将学习从 word2vec 文本文件转移到 gensim.Word2vec

【问题讨论】:

    标签: python word2vec gensim


    【解决方案1】:

    您可以使用原始Word2Vec模型的键向量格式加载其他模型

    import io
    
    from gensim.models.keyedvectors import KeyedVectors
    
    # first line is vocab size and vector dim
    model_buf = io.StringIO("""
    2 3
    word0 -0.000737 -0.002106 0.001851
    word1 -0.000878 -0.002106 0.002834
    """.lstrip())
    
    model = KeyedVectors.load_word2vec_format(model_buf, binary=False)
    
    model['word0']
    

    【讨论】:

    • 我需要继续训练,我试过model = Word2Vec(); model.wv.load_word2vec_format(filename); model.train(... )但它不起作用
    • 你会做这样的事情: : model.build_vocab(new_sentences, update=True) model.train(new_sentences)
    • @bluesummers build_vocab 和 train 是 Word2Vec 的一部分。您必须弄清楚如何将上面示例中的 modelKeyedVectors 转换为 Word2Vec 实例。
    猜你喜欢
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 2017-07-16
    • 2018-06-09
    相关资源
    最近更新 更多