使用该gensim.models.Word2Vec库,您可以提供一个模型和一个"单词",您可以为其找到最相似的单词列表:
model = gensim.models.Word2Vec.load_word2vec_format(model_file, binary=True)
model.most_similar(positive=[WORD], topn=N)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有可能将系统作为输入模型和"向量",并要求系统返回顶部相似的单词(它们的向量非常接近给定的向量).类似的东西:
model.most_similar(positive=[VECTOR], topn=N)
Run Code Online (Sandbox Code Playgroud)
我需要这个功能用于双语设置,其中我有2个模型(英语和德语),以及一些英语单词,我需要找到他们最相似的德国候选人.我想要做的是从英语模型中获取每个英语单词的向量:
model_EN = gensim.models.Word2Vec.load_word2vec_format(model_file_EN, binary=True)
vector_w_en=model_EN[WORD_EN]
Run Code Online (Sandbox Code Playgroud)
然后用这些向量查询德国模型.
model_DE = gensim.models.Word2Vec.load_word2vec_format(model_file_DE, binary=True)
model_DE.most_similar(positive=[vector_w_en], topn=N)
Run Code Online (Sandbox Code Playgroud)
我已经使用word2vec包中的原始距离函数在C中实现了这一点.但是,现在我需要它在python中,以便能够将它与我的其他脚本集成.
你知道在gensim.models.Word2Vec库或其他类似的库中是否已经有一个方法可以做到这一点吗?我需要自己实施吗?