[发明专利]一种基于分层可导航小世界图的近似最近邻搜索方法在审

专利信息
申请号: 201910279860.6 申请日: 2019-04-09
公开(公告)号: CN110008256A 公开(公告)日: 2019-07-12
发明(设计)人: 徐小良;李畅;王宇翔;何宏;夏一行 申请(专利权)人: 杭州电子科技大学
主分类号: G06F16/2458 分类号: G06F16/2458;G06F16/22
代理公司: 杭州千克知识产权代理有限公司 33246 代理人: 周希良
地址: 310018 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于分层可导航小世界图的近似最近邻搜索方法。本发明包括以下步骤:步骤一B‑HNSW索引生成方法,包括构建和遍历结点集合P,在B‑HNSW索引的相应层中插入每一个结点,保存B‑HNSW索引为二进制文件。步骤二B‑HNSW索引近似最近邻搜索方法,包括输入目标结点,从B‑HNSW索引的最大层到第1层依次查找1个与目标结点的最近邻结点,并根据1层得到的最近邻结点作为入口结点,在第0层使用贪婪算法搜索得到目标结点的最近邻k个结点。本发明修改了插入新结点的方式以及分层的布局,实现更为平衡的索引结构,使查询近似最近邻结点的时间更为快速、稳定。
搜索关键词: 结点 最近邻 索引 近似最近邻搜索 分层 小世界 二进制文件 输入目标 索引结构 索引生成 贪婪算法 遍历 构建 近似 集合 搜索 查询 查找 保存 平衡
【主权项】:
1.一种基于分层可导航小世界图的近似最近邻搜索方法,其特征在于该方法包含如下步骤:步骤1:生成B‑HNSW索引步骤1.1构建向量集合P,将每个向量作为B‑HNSW中的一个结点,向量集合P即可视作结点集合P;步骤1.2遍历步骤1.1遍历结点集合P,将结点集合P中的第1个结点插入B‑HNSW索引中,作为初始结点;步骤1.3设置当前节点p的最大边数量ef,并从B‑HNSW索引的第0层开始如下步骤:(1)在B‑HNSW索引的当前层插入当前结点p,随机选择当前层中已经存在的一个结点作为入口结点;通过欧氏距离或余弦距离计算入口结点的邻居结点与当前结点p的距离,使用贪婪算法在当前层中查找最近邻的ef个结点,并将当前结点p与这ef个最近邻结点连接生成边,被连接的结点称作邻居结点;(2)检查当前结点p的邻居结点,如果这些邻居结点都没有在上层存在,则将当前结点p提升到上一层并回到步骤1.3(1);若当前结点p所连接的邻居结点中有在上层存在的结点或当前结点p的邻居结点数目少于ef个,则当前结点p插入B‑HNSW索引完成;步骤1.4保存步骤1.3中生成的B‑HNSW索引为可被加载的二进制文件;步骤2:B‑HNSW近似最近邻搜索基于步骤1.4保存的B‑HNSW索引文件,输入一个目标向量作为目标结点q,在B‑HNSW索引中找到最近邻的k个结点;具体搜索过程如下:a)加载B‑HNSW索引并读取,假设B‑HNSW索引层数为N;b)用户输入目标结点q和需要搜索的近邻数量k,随机在B‑HNSW索引的最上层即第N层选择入口结点ep,在第N层通过贪婪算法来找到欧氏距离或余弦距离最小的1个结点WN,并作为下一层即第N‑1层的入口结点;c)在B‑HNSW索引的第N‑1层到第1层依次查找1个与目标结点q的最近邻结点,这些近邻结点分别为WN、WN‑1、…、W1;对于第N‑1层,使用在第N层找到的最接近目标结点q的WN作为入口结点,再次通过贪婪算法在WN开始,向外查找该层中与目标结点q的最近邻结点WN‑1,并将WN‑1作为第N‑2层的入口结点;d)将从第1层得到最近邻结点W1作为入口结点,在第0层使用贪婪算法搜索与目标结点q最近邻的k个结点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201910279860.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top