[发明专利]一种基于可导航小世界图的多属性近似最近邻搜索方法在审
| 申请号: | 202010185898.X | 申请日: | 2020-03-17 |
| 公开(公告)号: | CN111444297A | 公开(公告)日: | 2020-07-24 |
| 发明(设计)人: | 徐小良;李畅;王宇翔 | 申请(专利权)人: | 杭州电子科技大学 |
| 主分类号: | G06F16/29 | 分类号: | G06F16/29 |
| 代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 周希良 |
| 地址: | 310018 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 导航 世界 属性 近似 近邻 搜索 方法 | ||
1.一种基于可导航小世界图的多属性近似最近邻搜索方法,其特征在于包含如下步骤:
步骤1:生成索引
步骤1.1构建向量集合P,将每个向量作为一个结点,其中每一个结点p都有其属性T(p),向量集合P即可视作结点集合P;
步骤1.2构建属性映射表table,用于记录每一种属性组合对应的属性id映射;
步骤1.3构建全局入口结点,将全局入口结点p0作为首结点,p0是独立于结点集合P的结点,不含有任何实际属性与向量,仅仅作为索引的入口存在;
步骤1.4遍历步骤1.1的结点集合P,遍历完结点集合P中的所有结点后,生成的图结构即为索引,对结点集合P中的结点重复以下操作:
设当前结点为p,设置结点p的最大边数量为ef,对T(p)的所有子集重复如下步骤:
(1)设当前T(p)的子集为Ti,查询属性映射表table是否存在键Ti;若不存在键Ti,则进入步骤(2);若存在键Ti,则进入步骤(3);
(2)生成一个新的唯一属性id为wi,并在属性映射表table中记录该键值对为(″key″:Ti,″value″:wi);在全局入口结点p0与当前结点p之间生成id为wi的边;此时结点p作为新的覆盖层的第一个结点,每一个覆盖层都是独立的可导航小世界图结构,该覆盖层的id也为wi;
(3)从属性映射表table获取到属性Ti的属性id为wi;找到与全局入口结点p0通过id为wi的边连接的结点ep,将结点ep作为查询当前id为wi的覆盖层的入口结点,并通过欧氏距离或余弦距离计算入口结点ep的邻居结点与p的距离,使用贪婪算法在该覆盖层中找到欧氏距离或余弦距离最近的ef个结点,并将p与这ef个最近邻结点连接生成id为wi的边;
步骤1.5保存步骤1.4中生成的索引为可被加载的二进制文件;
步骤2:多属性近似最近邻搜索
基于步骤1.5保存的索引,输入一个带有属性组合T(q)的目标向量作为目标结点q,在索引中找到具有相同属性组合T(q)的最近邻的k个结点;具体搜索过程如下:
a)加载索引并读取到内存,用户输入目标结点q、q的属性T(q)和需要搜索的近邻数量k;
b)通过属性映射表table获取属性组合T(q)的属性id为wq,并且找到与全局入口结点p0通过id为wq的边连接的结点ep,作为id为wq的覆盖层的入口结点;
c)以ep为入口结点,在当前id为wq的覆盖层中通过贪婪算法来找到与目标结点q欧氏距离或余弦距离最小的k个结点。
2.根据权利要求1所述的一种基于可导航小世界图的多属性近似最近邻搜索方法,其特征在于:
结点p的属性为T(p)={t1,t2,…,tn},T(p)是一个长度为n的属性组合,其中ti是第i个位置的属性值,属性值允许为NULL,即属性为空;
属性组合拥有子集关系,定义如下:给定两个结点p1和p2,存在属性组合T(p1)和T(p2),若T(p1)中存在0个或多个位置的属性值为NULL,且剩余的每一个位置属性值都和T(p2)相同,则
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010185898.X/1.html,转载请声明来源钻瓜专利网。





