def n_similarity(self, ws1, ws2):
v1 = [self[word] for word in ws1]
v2 = [self[word] for word in ws2]
return dot(matutils.unitvec(array(v1).mean(axis=0)), matutils.unitvec(array(v2).mean(axis=0)))
이것은 gensim.word2Vec에서 발췌 한 코드입니다. 두 개의 단일 단어의 유사성은 코사인 거리로 계산할 수 있지만 두 단어 집합은 무엇입니까? 코드는 각 wordvec의 평균을 사용한 다음 두 평균 벡터의 코사인 거리를 계산합니다. Word2vec에서 몇 가지를 알고 있습니다. 그런 프로세스의 기초가 있습니까?gensim.word2vec에서 두 개의 bag-of-words가 이렇게 비슷한 방식으로 계산 된 이유는 무엇입니까?
Thx 많이! 그것이 내가 찾고있는 것입니다. – AndyLiu
그러나 단락 벡터조차도 전체 문장/단락의 표현으로 훈련 과정에서 단어의 평균을 사용합니다. –