2016-11-30 6 views
1

저는 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) 

내 벡터 수학은 끔찍한 모델입니다 (예 : 존재하지 않는 모델).

답변

0

나는 당신의 질문이 가장 가까운 각도의 벡터보다는 거리 (유클리드 거리)에 가장 가까운 벡터를 찾는다고 생각한다. 이는 본질적으로 Nearest Neighbor Search의 문제입니다. 최악의 경우/무차별 검색 알고리즘은 선형 검색입니다. 그러나 가장 근접하고 비용 효율적인 방식으로 이러한 가장 가까운 이웃을 찾을 다양한 고급 라이브러리 또는 데이터 구조를 Google에 전송할 수 있습니다.