在特定方向上移动Word2Vec向量空间

时间:2016-11-30 13:55:30

标签: python machine-learning gensim word2vec

我使用gensim来训练Word2Vec模型,并想查询附近的术语。但不是仅仅获得最接近所有方向的词语:

model = models.Word2Vec.load('MyModel')        # load up my trained model
nearest = model.most_similar(['mushroom'])     # nearby words all around

我想在向量空间内移动特定方向和距离并检索最近的单词,基本上是:

nearest = nearest_by_vector(word, direction_vector)

我的矢量数学很糟糕(即不存在),特别是在我的模型中有这么多维度。

1 个答案:

答案 0 :(得分:0)

我认为你的问题是找到距离最近的矢量(欧几里德距离),而不是最接近角度的矢量。这基本上是Nearest Neighbor Search的问题。最坏情况/强力搜索算法将是线性搜索。但是,您可以搜索各种高级库或数据结构,以更优化和更具成本效益的方式找到这些最近邻居。