我使用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)
我的矢量数学很糟糕(即不存在),特别是在我的模型中有这么多维度。
答案 0 :(得分:0)
我认为你的问题是找到距离最近的矢量(欧几里德距离),而不是最接近角度的矢量。这基本上是Nearest Neighbor Search的问题。最坏情况/强力搜索算法将是线性搜索。但是,您可以搜索各种高级库或数据结构,以更优化和更具成本效益的方式找到这些最近邻居。