[发明专利]一种大规模矢量检索方法及装置在审
申请号: | 201910147494.9 | 申请日: | 2019-02-27 |
公开(公告)号: | CN111625530A | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 卢禹锟;田伟伟;董健;颜水成 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F16/28 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大规模 矢量 检索 方法 装置 | ||
本发明提供了一种大规模矢量检索方法及装置,所述方法包括:接收来自用户针对文字和/多媒体数据的查询请求,并将所述查询请求映射至预设多维矢量空间,生成与所述查询请求对应的查询矢量;获取预先设置的待检索矢量集合,将所述待检索矢量集合平衡划分为多个具备唯一标识的哈希桶;基于多个所述哈希桶检索与所述查询矢量相似度量大于指定阈值的至少一个相似检索矢量。基于本发明提供的方案,不仅可以有效提供矢量检索的效率,还可以在高效且易实现量亿级的召回任务。
技术领域
本发明涉及检索技术领域,特别是涉及一种大规模矢量检索方法及装置。
背景技术
大规模矢量检索技术作为一种能够支撑十亿、乃至几百亿的高效矢量检索方法,一直以来都是互联网领域中的重要的技术需求,尤其在搜索、电商等业务场景均具有重要作用。传统的矢量检索技术中,多使用LSH(Location Sensitive Hash,局部敏感哈希)或者PQ(Product quantization,乘积量化)等分桶策略,虽然其适合高精度相似性检索去重的任务,但是桶内容易产生严重的数据倾斜,不仅影响检索效率,还不利于分布式召回任务。
发明内容
本发明提供了一种大规模矢量检索方法及装置以克服上述问题或者至少部分地解决上述问题。
根据本发明的一个方面,提供了一种大规模矢量检索方法,包括:
接收来自用户针对文字和/多媒体数据的查询请求,并将所述查询请求映射至预设多维矢量空间,生成与所述查询请求对应的查询矢量;
获取预先设置的待检索矢量集合,将所述待检索矢量集合平衡划分为多个具备唯一标识的哈希桶;
基于多个所述哈希桶检索与所述查询矢量相似度量大于指定阈值的至少一个相似检索矢量。
可选地,所述获取预先设置的待检索矢量集合,将所述待检索矢量集合平衡划分为多个具备唯一标识的哈希桶,包括:
获取预先设置的待检索矢量集合;
对所述待检索矢量集合中的各待检索矢量进行聚类得到多个聚类类别,并选取各聚类类别的聚类中心;
基于所述多个聚类类别的聚类中心将所述待检索矢量结合平衡划分为多个具备唯一标识的哈希桶。
可选地,所述基于所述多个聚类类别的聚类中心将所述待检索矢量结合平衡划分为多个具备唯一标识的哈希桶,包括:
获取任意聚类类别中作为中心点的中心检索矢量,并计算所述聚类类别中每个待检索矢量与所述中心检索矢量的相似度量;
基于所述每个待检索矢量与所述中心检索矢量的相似度量构建KD树;
将所述KD树的每个叶节点作为一个哈希桶,并为各哈希桶设置唯一标识。
可选地,所述基于所述每个待检索矢量与所述中心检索矢量的相似度量构建KD树,包括:
设置标准相似度量,将所述聚类类别中每个待检索矢量与中心检索矢量的相似度量与所述标准相似度量进行比较;
根据比较结果构建二叉树结构。
可选地,所述根据比较结果构建二叉树结构,包括:
针对所述聚类类别的任意一个待检索矢量,若所述待检索矢量与所述中心检索矢量的相似度量小于预设标准相似度量,则将所述待检索矢量归于左子树;
若所述待检索矢量与所述中心检索矢量的相似度量大于预设标准相似度量,则将所述待检索矢量归于右子树;
其中,左子树和右子树的元素数目一致。
可选地,所述根据比较结果构建二叉树结构,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910147494.9/2.html,转载请声明来源钻瓜专利网。