def most_similar(self, word, num_similar=5):
idx = self._w2idx[word]
y = list(range(self._matrix.shape[0]))
y.pop(idx)
most_similar = [(1,0)] * num_similar
for i in y:
dist = 0
dist = cosine(self._matrix[idx], self._matrix[i])
if dist < most_similar[-1][0]:
most_similar.pop()
most_similar.append((dist,i))
most_similar = sorted(most_similar)
most_similar = [(distance, self._idx2w[i]) for (distance, i) in most_similar]
return most_similar
评论列表
文章目录