【问题标题】:Is it possible to use gensim word2vec model in deeplearning4j.word2vec?是否可以在 deeplearning4j.word2vec 中使用 gensim word2vec 模型?
【发布时间】:2017-09-23 18:59:37
【问题描述】:

我是 deeplearning4j 的新手,我想使用词向量作为分类器的输入来制作句子分类器。 我之前使用的是 python,其中向量模型是使用 gensim 生成的,我想将该模型用于这个新的分类器。 是否可以在 deeplearning4j.word2vec 中使用 gensim 的 word2vec 模型,我该怎么做?

【问题讨论】:

  • 请在我们的 Gitter 频道上提问。 gitter.im/deeplearning4j/deeplearning4j那里有4300个DL4J用户。
  • 谢谢,我去那里问问
  • 你得到答案了吗?如果是这样,你能把它贴在这里吗?

标签: java gensim word2vec deeplearning4j


【解决方案1】:

是的,这是可能的,因为 Word2Vec 实现定义了一个标准来构建其模型。

为此:

  1. 使用gensim,保存模型与Word2Vec实现兼容

    w2v_model.wv.save_word2vec_format("path/to/w2v_model.bin", binary=True)
    
  2. DL4J,加载相同的预训练模型:

    Word2Vec w2vModel = WordVectorSerializer.readWord2VecModel("path/to/w2v_model.bin");
    

事实上,你可以在两个代码中测试模型,你应该看到相同的结果,例如:

使用 gensim:

print(w2v_model.most_similar("love"))
print(w2v_model.n_similarity(["man"], ["king"]))

还有 DL4J:

System.out.println(w2vModel.wordsNearest("love", 10));
System.out.println(w2vModel.similarity("man", "king"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 2014-04-02
    • 2017-07-16
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    相关资源
    最近更新 更多