[发明专利]一种基于IDistance的细粒度位码过滤的相似性检索方法有效
| 申请号: | 201610124087.2 | 申请日: | 2016-03-04 |
| 公开(公告)号: | CN105574214B | 公开(公告)日: | 2019-04-09 |
| 发明(设计)人: | 袁鑫攀;汪灿飞;何岸;向一平;朱艳辉;满君丰;李长云 | 申请(专利权)人: | 湖南工业大学 |
| 主分类号: | G06F16/901 | 分类号: | G06F16/901 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 任重;冯振宁 |
| 地址: | 412000 湖*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 idistance 细粒度 过滤 相似性 检索 方法 | ||
本发明提出一种基于IDistance的细粒度位码(fine grained bit code,简称FGBC)过滤的相似性检索方法:该方法在建立索引时,划分了更加细粒度的区域,每个区域对应一个FGBC码,利用FGBC码实现了环体搜索得到的候选集更精准的过滤。相较BC码过滤,FGBC‑IDistance的距离计算次数最多能减少到1/22d,在距离计算次数上比较为:FGBC‑IDistance≤BC‑IDistance≤IDistance。
技术领域
本发明涉及数据索引领域,更具体地,涉及一种基于IDistance的细粒度位码(fine grained bit code,简称FGBC)过滤的相似性检索方法。
背景技术
IDistance是一种基于度量空间的高维向量索引方法。它的索引建立的基本思想是:在整个数据空间内选取若干个锚点,每个锚点对应着一个聚类子集。数据空间的每个向量都划分到离该向量最近的锚点的聚类子集中。然后把高维向量通过与锚点的距离转化为一个可以度量的一维的关键值iDist,利用B+-tree组织管理所有高维向量的关键值iDist,关键值iDist的计算公式为:
iDist(x)=dist(Pi,x)+i*c
其中x是任意向量,Pi为锚点,dist()是欧式距离函数,iDist()是一维关键值函数。
如图1所示,P0、P1、P2为锚点;Ci为锚点Pi的向量子集中离锚点Pi最远的向量的距离,即锚点Pi的向量子集的半径;c是一个常量,大于所有的Ci。
设全集为D,给定一个相似度范围查询(query),即检索与查询点q距离小于半径r的向量集合:Range(q,r)={x∈D,dist(q,x)<r},其中,函数dist(q,x)表示查询点q到任意向量x的距离。
IDistance的检索过程为:
(1)通过和各个锚点Pi的距离来测算:查询点q的搜索圆是否与该锚点Pi的向量子集相交。
相交的判断公式为:dist(q,Pi)<Ci+r
不相交的判断公式为:dist(q,Pi)>Ci+r
若不相交则该锚点的向量子集中无检索目标点;
若相交,则确定锚点Pi搜索的距离(dist)环体范围:
{x∈Pi,max(dist(Pi,q)-r,0)<dist(Pi,x)<min(dist(Pi,q)+r,Ci)}
从而确定iDist的搜索范围:
{x∈Pi,i*c+max(dist(Pi,q)-r,0)<iDist(Pi,x)<i*c+min(dist(Pi,q)+r,Ci)}检索到的向量集则为候选集。
(2)分别对候选集中的每个向量与q进行距离计算,若距离小于r,则进入最终的检索结果集。
IDistance将高维向量的索引问题,通过选取锚点的方式巧妙的降低到一维上,将一维索引通过B+树进行组织,具有搜索快的特点,节约了大量的距离计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南工业大学,未经湖南工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610124087.2/2.html,转载请声明来源钻瓜专利网。





