cosine_similarities.argsort()
按相似度大小升序给出对应相似度所在位置,[-topn:]取倒数几个位置,即取相似度最大N个值所在index
sklearn.metrics.pairwise import cosine_similarity
a1 = np.arange(5).reshape(1,5)
a2 = np.arange(20).reshape(4,5)
print(a1)
print('-----------')
print(a2)
a1:
[[0 1 2 3 4]]
a2:
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]
comp_sim = cosine_similarity(a1,a2)
print(comp_sim)
[[1. 0.91465912 0.87845859 0.86154979]]
print(comp_sim.argsort())
print(comp_sim.argsort().flatten())
print(comp_sim.argsort().flatten()[-2:])
[[3 2 1 0]]
[3 2 1 0]
[1 0]
similar_indices = cosine_similarities.argsort().flatten()[-topn:]
按相似度大小升序给出对应相似度所在位置,[-topn:]取倒数几个位置,即取相似度最大N个值所在index