我是 deeplearning4j 的新手,我想使用单词向量作为分类器的输入来制作句子分类器。我之前使用的是 python,其中向量模型是使用 gensim 生成的,我想将该模型用于这个新的分类器。是否可以在 deeplearning4j.word2vec 中使用 gensim 的 word2vec 模型,我该怎么做?
问问题
2907 次
1 回答
9
是的,这是可能的,因为 Word2Vec 实现定义了一个标准来构建其模型。
去做这个:
使用gensim保存与 Word2Vec 实现兼容的模型:
w2v_model.wv.save_word2vec_format("path/to/w2v_model.bin", binary=True)
从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"));
于 2018-07-11T20:02:42.590 回答