导航小世界图上实现有标签过滤约束的近似最近邻搜索

个人主页:mzwang.top

论文题目

Multiattribute Approximate Nearest Neighbor Search Based on Navigable Small World Graph

相关信息

作者与单位

Xiaoliang Xu | Chang Li | Yuxiang Wang | Yixing Xia; Hangzhou Dianzi University

出处与时间

Concurrency and Computation: Practice and Experience; 2020

作者拟解决的主要问题

本文主要研究有属性过滤的要求情况下,基于图的近似最近邻搜索(ANNS)问题。当前现存的大部分ANNS方法都是仅采用距离度量来建立索引,不能支持多属性的ANNS。当前的ANNS方法主要针对大规模的、时间敏感的搜索,还没有能很好的支持多属性的工作。下面是一个多属性搜索的例子。

图1 电影推荐系统示例

m 1 m_1 m1是查询,现在要找与其最接近且属性一致的两个点,传统的基于图的ANNS算法是先根据贪婪搜索获取一定量(比如4个,分别是: m 3 m_3 m3, m 9 m_9 m9, m 7 m_7 m7, m 4 m_4 m4)最近的点,然后从这4个元素里面过滤出属性与 m 1 m_1 m1一致的两个点。传统的方案过滤的结果是: m 3 m_3 m3。我们想要两个与 m 1 m_1 m1接近的结果,为了保证搜索效率,返回的点不能太多(4个),但对这4个点筛选后,最终仅剩一个点符合要求。为了实现最初需求,我们需要增加返回结果的量(比如6个),这样会显著增加搜索延迟,影响效率。这便是传统的方法在应对有属性约束的查询时存在的弊端。

论文主要研究内容

有属性(或标签)约束的ANNS

论文使用的方法

本文提出了一种基于导航小世界图的多属性近似最近邻搜索(MA-NSW)方法。具体如下:

  1. 对每一个多属性组合建立一个近邻子图,整合所有的子图为一个层次索引结构(类似HNSW)。
  2. 使用一个导航树来获取相关的子图,剪枝不相关的子图。
  3. 在相关的子图上通过贪婪搜索获取最近邻结果。

论文的创新点

在近邻图实现了有属性约束的ANNS。具体地,根据属性组合构建子图,并通过导航树(属性组合映射)组织子图。查询时,根据查询点的属性约束并通过属性映射表获取与查询属性组合相同的子图,在该子图上执行贪婪搜索。

论文的结论

与在HNSW上一边搜索一边属性筛选的传统方案相比,MA-NSW有以下优势:

  1. 在不同数据集上普遍更好的搜索性能;
  2. 在目标属性组合不同的比例下更好的稳定性;

缺陷:索引尺寸随属性的个数呈指数级增长,而且随属性个数的增加索引构建时间也会增加。

其它内容

为了测试有属性约束的ANNS,我们可以在一些公用数据集上添加属性来执行实验。论文中的属性组合生成主要有两种方式:一种是平衡的,即每个属性取值的概率相同;一种是不平衡的,即每个属性取值的概率不同。

我的观点或思考

  1. 每个属性组合都要建立子图,造成很大的索引尺寸,内存占用,以及低的索引构建效率。
  2. 如果有n个属性,构建时,每个元素要插入 2 n 2^n 2n个子图中。
  3. 图2中的例子感觉有问题,一般而言,数据库里面的点(同一类型的点)每个属性都是有的,只是不同的取值而已,这么多带NULL属性的点感觉是不现实的。
图2 MA-NSW整体概览
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值