[发明专利]大规模高维数据快速检索方法及系统有效
申请号: | 201711350995.4 | 申请日: | 2017-12-15 |
公开(公告)号: | CN107944046B | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | 王建民;龙明盛;曹越;刘斌 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/9532 | 分类号: | G06F16/9532;G06F16/906 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大规模 数据 快速 检索 方法 系统 | ||
本发明提供了一种基于乘积量化与多重倒排索引的大规模高维数据近似近邻检索方法及系统,包括基于训练后的乘积量化单元,获取待检索数据对应的二进制码,所述二进制码用于确定与所述待检索数据距离最近的聚类中心;将所述二进制码输入至与所述训练后的乘积量化单元匹配的多重倒排索引单元中,获取预设数据库中与所述待检索数据距离最小的数据构成的集合;根据所述集合中每一数据与所述待检索数据的距离大小,对所述集合中的所有数据进行排序,并将排序后的所有数据作为检索结果。本发明通过提供一种基于高维数据的大规模相似性检索方法及系统,可以大大提高检索的准确度和时间效率。
技术领域
本发明涉及计算机数据管理技术领域,更具体地,涉及大规模高维数据快速检索方法及系统。
背景技术
随着互联网的飞速发展,大规模高维度数据在搜索引擎和社会网络中越来越普遍,也吸引了越来越多的关注。随着互联网上多媒体资源的不断增加,如何从大规模高维数据中快速、有效的查找到相关的数据,无论是在时间上还是空间上都是一个极大的考验。
现有技术中,通常采用如下方法实现大规模高纬度数据的查找和检索,即步骤1,采用初始化检索方法对高维数据库点集,建立初始化索引,并建立所述高维数据库点集的最近邻表;步骤2,根据初始化索引,获得待检索数据点在所述高维数据库点集中的若干个最邻近点,若干个最邻近点构成初始候选点集;步骤3,构造临时点集,针对初始候选点集中的每个数据点,在最近邻表中查询该数据点的若干个近邻点,并将查到的各近邻点以及初始候选点添加至临时点集中;步骤4,计算临时点集中所有数据点与待检索数据点的距离,将距离最小的若干个数据点作为新的候选点集;步骤5,将新的候选点集作为初始候选点集;步骤6,重复步骤3~步骤5,直至候选点集中的数据点不再更新或者迭代次数达到预定值,输出候选点集中距离待检索数据点最近的若干数据点作为近似最近邻数据点进行。
但是,在现有的大规模高纬度数据的查找和检索方法中,仅能在一定程度上对高维数据进行压缩,却不能进行有效剪枝,使得检索实现的检索精度与效率均不高。
发明内容
为克服上述问题或者至少部分地解决上述问题,本发明提供了一种大规模高维数据快速检索方法及系统。
一方面,本发明提供了一种大规模高维数据快速检索方法,包括:
S1,基于训练后的乘积量化单元,获取待检索数据对应的二进制码,所述二进制码用于确定与所述待检索数据距离最近的聚类中心;
S2,将所述二进制码输入至与所述训练后的乘积量化单元匹配的多重倒排索引单元中,获取预设数据库中与所述待检索数据距离最小的数据构成的集合;
S3,根据所述集合中每一数据与所述待检索数据的距离大小,对所述集合中的所有数据进行排序,并将排序后的所有数据作为检索结果。
优选地,所述方法还包括:
将训练样本集输入至乘积量化单元,基于乘积量化损失函数对所述乘积量化单元进行训练,以得到与所述训练样本集中每一训练样本对应的二进制码。
优选地,所述方法还包括:基于训练后的乘积量化单元,获取所述乘积量化单元中的聚类中心矩阵;相应地,所述将所述二进制码输入至与所述训练后的乘积量化单元匹配的多重倒排索引单元中之前,还包括:
获取所述预设数据库中的所有数据并分别输入至所述训练后的乘积量化单元,得到每一数据对应的二进制码;
基于得到的每一数据对应的二进制码,分别获取所述预设数据库中与所述聚类中心矩阵中每一聚类中心距离最小的数据;
基于获取到的所有数据及对应的二进制码,构建与所述乘积量化单元匹配的多重倒排索引单元。
优选地,所述乘积量化损失函数具体通过如下公式计算:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711350995.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置