我是deeplearning4j的新手,我想使用单词vector作为分类器的输入来创建句子分类器。 之前我正在使用python,其中使用gensim生成矢量模型,我想将该模型用于这个新的分类器。 是否可以在deeplearning4j.word2vec中使用gensim的word2vec模型以及我如何做到这一点?
答案 0 :(得分:4)
是的,因为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"));