[发明专利]一种大规模矢量检索方法及装置在审
申请号: | 201910147494.9 | 申请日: | 2019-02-27 |
公开(公告)号: | CN111625530A | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 卢禹锟;田伟伟;董健;颜水成 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F16/28 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大规模 矢量 检索 方法 装置 | ||
1.一种大规模矢量检索方法,包括:
接收来自用户针对文字和/多媒体数据的查询请求,并将所述查询请求映射至预设多维矢量空间,生成与所述查询请求对应的查询矢量;
获取预先设置的待检索矢量集合,将所述待检索矢量集合平衡划分为多个具备唯一标识的哈希桶;
基于多个所述哈希桶检索与所述查询矢量相似度量大于指定阈值的至少一个相似检索矢量。
2.根据权利要求1所述的方法,其中,所述获取预先设置的待检索矢量集合,将所述待检索矢量集合平衡划分为多个具备唯一标识的哈希桶,包括:
获取预先设置的待检索矢量集合;
对所述待检索矢量集合中的各待检索矢量进行聚类得到多个聚类类别,并选取各聚类类别的聚类中心;
基于所述多个聚类类别的聚类中心将所述待检索矢量结合平衡划分为多个具备唯一标识的哈希桶。
3.根据权利要求2所述的方法,其中,所述基于所述多个聚类类别的聚类中心将所述待检索矢量结合平衡划分为多个具备唯一标识的哈希桶,包括:
获取任意聚类类别中作为中心点的中心检索矢量,并计算所述聚类类别中每个待检索矢量与所述中心检索矢量的相似度量;
基于所述每个待检索矢量与所述中心检索矢量的相似度量构建KD树;
将所述KD树的每个叶节点作为一个哈希桶,并为各哈希桶设置唯一标识。
4.根据权利要求3所述的方法,其中,所述基于所述每个待检索矢量与所述中心检索矢量的相似度量构建KD树,包括:
设置标准相似度量,将所述聚类类别中每个待检索矢量与中心检索矢量的相似度量与所述标准相似度量进行比较;
根据比较结果构建二叉树结构。
5.根据权利要求4所述的方法,其中,所述根据比较结果构建二叉树结构,包括:
针对所述聚类类别的任意一个待检索矢量,若所述待检索矢量与所述中心检索矢量的相似度量小于预设标准相似度量,则将所述待检索矢量归于左子树;
若所述待检索矢量与所述中心检索矢量的相似度量大于预设标准相似度量,则将所述待检索矢量归于右子树;
其中,左子树和右子树的元素数目一致。
6.根据权利要求4所述的方法,其中,所述根据比较结果构建二叉树结构,还包括:
针对任意一个所述待检索矢量与中心检索矢量的相似度量,若所述相似度量与所述标准相似度量的差值的绝对值小于预设数值,则在所述二叉树的左子树和右子树同时保留所述待检索矢量。
7.根据权利要求4所述的方法,其中,所述将所述KD树的每个叶节点作为一个哈希桶,并为各哈希桶设置唯一标识,包括:
基于所述二叉树的各叶节点包括的待检索矢量构建哈希桶,并根据叶节点的位置为对应的哈希桶设置唯一标识。
8.一种大规模矢量检索装置,包括:
生成模块,配置为接收来自用户针对文字和/多媒体数据的查询请求,并将所述查询请求映射至预设多维矢量空间,生成与所述查询请求对应的查询矢量;
划分模块,配置为获取预先设置的待检索矢量集合,将所述待检索矢量集合平衡划分为多个具备唯一标识的哈希桶;
检索模块,配置为基于多个所述哈希桶检索与所述查询矢量相似度量大于指定阈值的至少一个相似检索矢量。
9.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行权利要求1-7任一项所述的大规模矢量检索方法。
10.一种计算设备,包括:
处理器;
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行权利要求1-7任一项所述的大规模矢量检索方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910147494.9/1.html,转载请声明来源钻瓜专利网。