我训练了一个基于深度神经网络的信息检索模型。最后,我的模型以128维向量的形式表示文档。文档的语义表示类似于词的嵌入表示(word2vec算法)。当我对我的模型进行查询时,它也将查询表示在相同的128维向量空间中。现在,从整个向量空间中,我想检索最接近在同一个向量空间中表示的查询向量的顶部k个文档。
相似性度量是余弦相似度,定义如下:
sim(Q, D) = np.dot(Q.T, D)/(np.linalg.norm(Q) * np.linalg.norm(D))其中sim(Q, D)用简单的词表示查询Q和文档D之间的相似性,它是查询和文档单位向量的点乘积。
现在我大约有3600万个文档,所以计算所有文档的余弦相似度并对它们进行排序并不是一个有效检索的可行选择。我想有效地搜索在同一128维向量空间中表示的任何查询向量的最相似的k文档。
https://stackoverflow.com/questions/61349106
复制相似问题