首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以多维向量形式表示的文档的高效检索

以多维向量形式表示的文档的高效检索
EN

Stack Overflow用户
提问于 2020-04-21 17:07:40
回答 2查看 141关注 0票数 2

我训练了一个基于深度神经网络的信息检索模型。最后,我的模型以128维向量的形式表示文档。文档的语义表示类似于词的嵌入表示(word2vec算法)。当我对我的模型进行查询时,它也将查询表示在相同的128维向量空间中。现在,从整个向量空间中,我想检索最接近在同一个向量空间中表示的查询向量的顶部k个文档。

相似性度量是余弦相似度,定义如下:

代码语言:javascript
复制
sim(Q, D) = np.dot(Q.T, D)/(np.linalg.norm(Q) * np.linalg.norm(D))

其中sim(Q, D)用简单的词表示查询Q和文档D之间的相似性,它是查询和文档单位向量的点乘积。

现在我大约有3600万个文档,所以计算所有文档的余弦相似度并对它们进行排序并不是一个有效检索的可行选择。我想有效地搜索在同一128维向量空间中表示的任何查询向量的最相似的k文档。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-22 08:34:30

使用近似最近邻(ANN)搜索库,例如nmslib。这些库将允许对密集向量进行索引,并检索给定查询的此类索引向量列表。一些示例ipython笔记本可以找到这里

票数 1
EN

Stack Overflow用户

发布于 2020-06-20 14:52:15

您可以使用费斯库。它有一个伟大的文件,并已在许多项目中使用。Faiss是用C++编写的,带有完整的Python/numpy包装器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61349106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档