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