CN115495504A - 数据查询方法和装置、电子设备、计算机可读存储介质 - Google Patents
数据查询方法和装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN115495504A CN115495504A CN202211236433.8A CN202211236433A CN115495504A CN 115495504 A CN115495504 A CN 115495504A CN 202211236433 A CN202211236433 A CN 202211236433A CN 115495504 A CN115495504 A CN 115495504A
- Authority
- CN
- China
- Prior art keywords
- vector
- data
- retrieved
- attribute
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 239000013598 vector Substances 0.000 claims abstract description 365
- 239000002131 composite material Substances 0.000 claims description 44
- 238000012216 screening Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 abstract description 10
- 230000000875 corresponding effect Effects 0.000 description 67
- 238000001914 filtration Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 1
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种数据查询方法和装置、电子设备、计算机可读存储介质,数据查询方法包括:对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据;获取参考向量集合,参考向量集合包括多个参考向量,每个参考向量关联有参考编码数据,参考编码数据是对关联的参考向量的属性信息进行编码处理后得到的一个编码数据;结合待检索编码数据和参考编码数据,从参考向量集合中,确定出对应于待检索向量的目标向量,目标向量用于进行数据查询。通过将属性信息编码为一个编码数据,可令编码数据参与到检索计算中,利用属性优化检索结果,提高召回率,并可将多属性约束问题转换为单属性约束问题,保障检索效率。
Description
技术领域
本公开涉及深度学习技术领域,尤其涉及一种数据查询方法和装置、电子设备、计算机可读存储介质。
背景技术
得益于深度神经网络的快速发展,我们拥有了能够将非结构化的数据抽象为向量的能力,进而可以通过向量的检索,实现对非结构化数据的查询。然而,对这些大量级的高维度数据进行精确的检索操作需要非常昂贵的时间开销,许多研究者为此提出了很多近似最近邻检索的向量检索算法。近似最近邻检索算法可以在很短的时间内,实现对向量的k-近邻检索。
但是,随着现代推荐系统的发展,我们不仅仅需要对向量进行检索,还需要加入属性的约束,例如数据的类目,又如电商领域中商品归属的商家等。现有的带属性的向量检索方法主要有两种。一种是先基于向量进行相似计算,然后再针对属性进行过滤,但由于向量相似的数据未必是属性标签相同的数据,所以召回率往往比较低。另一种是首先利用属性进行过滤,随后只在满足条件的向量域内进行检索,虽然可以保证很高的召回率,但依赖于预先的属性过滤和筛选,也就需要对属性进行额外的检索,产生速度开销,降低检索效率,并且随着属性数量的增加,其过滤效率会进一步降低,不能保证检索的效率。因此,现有的带属性的向量检索方法,往往无法兼顾召回率和检索效率,整体的检索性能有待提高。
发明内容
本公开提供一种数据查询方法和装置、电子设备、计算机可读存储介质,以至少解决相关技术中的如何提高带属性向量检索的性能的问题,也可不解决任何上述问题。
根据本公开的第一方面,提供了一种数据查询方法,包括:对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据;获取参考向量集合,所述参考向量集合包括多个参考向量,每个参考向量关联有参考编码数据,所述参考编码数据是对关联的所述参考向量的属性信息进行编码处理后得到的一个编码数据;结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,所述目标向量用于进行数据查询。
可选地,所述对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据,包括:针对所述待检索向量的属性信息构成的属性组合,查询编码数据集合,得到与所述待检索向量的属性信息相对应的编码数据,作为所述待检索编码数据,其中,所述编码数据集合中关联存储有一一对应的属性组合和编码数据。
可选地,所述编码数据集合通过以下步骤生成:获取多个属性组合;确定所述多个属性组合彼此之间的相似度;为每个属性组合赋予对应的编码数据,其中,任意两个属性组合的编码数据之间的差异与所述任意两个属性组合之间的相似度负相关。
可选地,所述参考向量集合通过以下步骤生成:获取所述多个参考向量;根据所述多个参考向量构建复合近邻图,作为所述参考向量集合,其中:所述多个参考向量表示为所述复合近邻图中的多个图像点,记为参考点;每个参考点均与至少一个其他参考点互为邻居点,所述其他参考点为所述复合近邻图的参考点中除当前的参考点以外的参考点;所述每个参考点与所述每个参考点的至少一个邻居点互为相似点,所述相似点是编码数据满足预设关系的点,所述预设关系用于表示两个编码数据相同或相似。
可选地,所述结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,包括:将所述复合近邻图中的任一个参考点作为父候选点,确定所述父候选点的全部邻居点对应的参考向量与所述待检索向量之间的向量距离;根据所述向量距离,从所述全部邻居点中筛选预设数量的邻居点,作为所述父候选点的子候选点;将所述子候选点中不满足截断条件的子候选点逐个作为新的父候选点,针对所述新的父候选点,重复执行确定所述父候选点的全部邻居点对应的参考向量与所述待检索向量之间的向量距离,和根据所述向量距离,从所述全部邻居点中筛选预设数量的邻居点,作为所述父候选点的子候选点的步骤,其中,所述截断条件用于表示所述子候选点对应的所述参考编码数据与所述待检索编码数据的差异值大于差异阈值,且所述子候选点之前的连续N级父候选点对应的所述参考编码数据与所述待检索编码数据之间的差异值均大于所述差异阈值,所述N为预设值;直到满足结束条件,从全部所述父候选点对应的参考向量中,选择所述目标向量,所述结束条件用于表示无法得到新的子候选点。
可选地,所述复合近邻图通过以下步骤构建:根据所述多个参考向量彼此之间的向量距离,构建近邻图,作为基准图;根据所述参考编码数据,将所述参考向量集合划分为多个子集合,对每个子集合分别构建近邻图,作为属性图;结合所述基准图和所述属性图中的邻居关系,获得所述复合近邻图。
可选地,所述根据所述参考编码数据,将所述参考向量集合划分为多个子集合,包括:将所述参考向量集合中具有相同的所述参考编码数据的参考向量划入同一个子集合,得到多个初始子集合;将元素数量小于数量阈值的初始子集合并入对应的近似子集合,得到所述多个子集合,其中,所述初始子集合的所述参考编码数据与对应的所述近似子集合的所述参考编码数据之间的属性相似度大于或等于相似度阈值。
可选地,所述结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,包括:根据所述待检索编码数据,确定所述参考向量集合中与所述待检索编码数据相符的参考编码数据;根据所述相符的参考编码数据所对应的参考向量,得到候选向量集合;从所述候选向量集合中,确定出对应于所述待检索向量的所述目标向量。
根据本公开的第二方面,提供了一种数据查询装置,包括:编码单元,被配置为执行对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据;获取单元,被配置为执行获取参考向量集合,所述参考向量集合包括多个参考向量,每个参考向量关联有参考编码数据,一个所述参考编码数据是对关联的所述参考向量的属性信息进行编码处理后得到的一个编码数据;检索单元,被配置为执行结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,所述目标向量用于进行数据查询。
可选地,所述编码单元还被配置为执行针对所述待检索向量的属性信息构成的属性组合,查询编码数据集合,得到与所述待检索向量的属性信息相对应的编码数据,作为所述待检索编码数据,其中,所述编码数据集合中关联存储有一一对应的属性组合和编码数据。
可选地,所述编码数据集合通过以下步骤生成:获取多个属性组合;确定所述多个属性组合彼此之间的相似度;为每个属性组合赋予对应的编码数据,其中,任意两个属性组合的编码数据之间的差异与所述任意两个属性组合之间的相似度负相关。
可选地,所述参考向量集合通过以下步骤生成:获取所述多个参考向量;根据所述多个参考向量构建复合近邻图,作为所述参考向量集合,其中:所述多个参考向量表示为所述复合近邻图中的多个图像点,记为参考点;每个参考点均与至少一个其他参考点互为邻居点,所述其他参考点为所述复合近邻图的参考点中除当前的参考点以外的参考点;所述每个参考点与所述每个参考点的至少一个邻居点互为相似点,所述相似点是编码数据满足预设关系的点,所述预设关系用于表示两个编码数据相同或相似。
可选地,所述检索单元还被配置为执行将所述复合近邻图中的任一个参考点作为父候选点,确定所述父候选点的全部邻居点对应的参考向量与所述待检索向量之间的向量距离;根据所述向量距离,从所述全部邻居点中筛选预设数量的邻居点,作为所述父候选点的子候选点;将所述子候选点中不满足截断条件的子候选点逐个作为新的父候选点,针对所述新的父候选点,重复执行确定所述父候选点的全部邻居点对应的参考向量与所述待检索向量之间的向量距离,和根据所述向量距离,从所述全部邻居点中筛选预设数量的邻居点,作为所述父候选点的子候选点的步骤,其中,所述截断条件用于表示所述子候选点对应的所述参考编码数据与所述待检索编码数据的差异值大于差异阈值,且所述子候选点之前的连续N级父候选点对应的所述参考编码数据与所述待检索编码数据之间的差异值均大于所述差异阈值,所述N为预设值;直到满足结束条件,从全部所述父候选点对应的参考向量中,选择所述目标向量,所述结束条件用于表示无法得到新的子候选点。
可选地,所述复合近邻图通过以下步骤构建:根据所述多个参考向量彼此之间的向量距离,构建近邻图,作为基准图;根据所述参考编码数据,将所述参考向量集合划分为多个子集合,对每个子集合分别构建近邻图,作为属性图;结合所述基准图和所述属性图中的邻居关系,获得所述复合近邻图。
可选地,所述根据所述参考编码数据,将所述参考向量集合划分为多个子集合,包括:将所述参考向量集合中具有相同的所述参考编码数据的参考向量划入同一个子集合,得到多个初始子集合;将元素数量小于数量阈值的初始子集合并入对应的近似子集合,得到所述多个子集合,其中,所述初始子集合的所述参考编码数据与对应的所述近似子集合的所述参考编码数据之间的属性相似度大于或等于相似度阈值。
可选地,所述检索单元还被配置为执行根据所述待检索编码数据,确定所述参考向量集合中与所述待检索编码数据相符的参考编码数据;根据所述相符的参考编码数据所对应的参考向量,得到候选向量集合;从所述候选向量集合中,确定出对应于所述待检索向量的所述目标向量。
根据本公开的第三方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的数据查询方法。
根据本公开的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的数据查询方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现根据本公开的数据查询方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例的数据查询方法和数据查询装置,通过将向量的属性信息编码为一个编码数据,可令编码数据具备参与到检索计算中来的可能,从而利用属性优化检索结果,提高召回率。并且,由于此时无论涉及的属性数量如何增加,都可以用一个编码数据来表示向量的全部属性,所以可以将多属性约束问题转换为单属性约束问题,使得检索效率能够随着属性数量的增加而保持在较高水平。因此,本公开能够兼顾召回率和检索效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出相关技术中的一种带属性的向量检索方法的流程示意图;
图2是示出相关技术中的另一种带属性的向量检索方法的流程示意图;
图3是示出相关技术中的再一种带属性的向量检索方法的流程示意图;
图4是示出根据本公开的示例性实施例的数据查询方法的流程图;
图5是示出根据本公开的具体实施例的基准图的示意图;
图6a至图6c是示出根据本公开的具体实施例的属性图的示意图;
图7是示出根据本公开的具体实施例的复合近邻图的示意图;
图8是示出根据本公开的示例性实施例的数据查询装置的框图;
图9是示出根据本公开的示例性实施例的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
得益于深度神经网络的快速发展,我们拥有了能够将非结构化的数据抽象为向量的能力,进而可以通过向量的检索,实现对非结构化数据的查询。然而,对这些大量级的高维度数据进行精确的检索操作需要非常昂贵的时间开销,许多研究者为此提出了很多近似最近邻检索(ANNS,Approximately Nearest Neighbor Search,指给定一个待检索向量(Query),从现有的数据库中检索出与其距离最近的top-k个向量作为返回结果)的向量检索算法。近似最近邻检索算法可以在很短的时间内,实现对向量的k-近邻检索。但是,随着现代推荐系统的发展,我们不仅仅需要对向量进行检索,还需要加入属性的约束,例如数据的类目,又如电商领域中商品归属的商家等。
对普通向量检索而言,现在主流的方法有两种。一种是对向量进行量化压缩,从而减少每个向量的数据量,再计算向量间的距离,通过一定程度上的数据精度损失来加快数据的运算。另一种是使用图索引的方法,构建近邻图,用近邻图中的一个点表示一个向量,并且对每个向量,将与之距离近的其他向量作为图近邻(又称为邻居点),用边连接起来,检索的时候在近邻图中进行,从而加快检索的速度。典型的图索引方法流程是,先在近邻图中随机确定一个点作为入口点,再计算入口点及其全部邻居点与待检索向量的距离,从全部邻居点中选择距离最近的若干个邻居点,将入口点和选择的邻居点以及这些点的距离值加入一个队列。然后继续计算这些邻居点的邻居点与待检索向量的距离,如此遍历图索引中的点,直到达到结束条件。结束条件通常是当前邻居点的全部邻居点与待检索向量的距离均大于队列中的距离最小值。在这个过程中,已经计算过距离的点不再进行二次计算。
对于带属性的向量检索而言,目前主要有两种方法。一种如图1所示(图中的空心圆表示待检索向量,实心圆代表待检索向量的属性,图2和图3与之同理,不再说明),还是基于向量进行相似计算,实现普通向量检索,然后再针对属性进行过滤,得到top-k个向量作为返回结果。这种方法只需要扩大向量检索的候选结果即可,可以很容易拓展到现有的向量检索的方案中,既可以使用量化压缩方法也可以使用图索引,但现有的许多向量检索方法对于候选集大小十分敏感,扩大后的候选集大小会导致搜索的性能极具降低。此外,由于向量相似的数据未必是属性标签相同的数据,所以这样的方式将导致召回率(指检索返回的top-1向量,也就是离待检索向量最近的向量的概率)比较低,并且随着属性组合数的增加,召回能力会显著降低。另一种如图2所示,是首先利用属性进行过滤,随后只在满足条件的向量域内进行检索。对于这种方法,有学者提出基于PQ(Product Quantization,乘积量化)的属性查询处理框架,可提前对向量进行PQ压缩存储,查询时先扫描过滤出所有满足属性条件的向量,再进行检索。这种方法虽然可以保证很高的召回率,但依赖于预先的属性过滤和筛选,也就需要对属性进行额外的检索,产生速度开销,降低检索效率,一定程度上会影响性能,并且随着属性数量的增加,这部分性能影响也会大幅增加。同时,由于不同的待检索向量带有不同的属性,所以每次过滤后满足条件的向量都不同,而图索引需要预先完成图的构建,若在每次过滤后都花费时间重新建图,会严重降低检索效率,导致这种方法不适合使用图索引,不利于提高检索效率。除了以上两种主要方法,还有学者提出一种如图3所示的基于图索引的属性查询处理框架,该框架将向量距离和属性距离混合起来,向量距离使用的是内积距离,属性距离使用的是异或距离。在混合距离中,向量距离占据主导地位,属性距离仅仅是微调。这种方法没有将属性距离放至混合距离公式的主导地位,导致随着属性数目的增加,召回会急剧下降。这也导致其公式应用于PQ等方法,无法保证召回的向量一定满足属性条件。
根据本公开的示例性实施例的数据查询方法和装置,通过将向量的属性信息编码为一个编码数据,可令编码数据具备参与到检索计算中来的可能,从而利用属性优化检索结果,提高召回率。并且,由于此时无论涉及的属性数量如何增加,都可以用一个编码数据来表示向量的全部属性,所以可以将多属性约束问题转换为单属性约束问题,使得检索效率能够随着属性数量的增加而保持在较高水平。因此,本公开能够兼顾召回率和检索效率。
下面,将参照图4至图8具体描述根据本公开的示例性实施例的数据查询方法和数据查询装置。
图4是示出根据本公开的示例性实施例的数据查询方法的流程图。应理解,根据本公开的示例性实施例的数据查询方法可以在诸如智能手机、平板电脑、个人电脑(PC)的终端设备中实现,也可以在诸如服务器的设备中实现。
参照图4,在步骤401,对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据。应理解,待检索向量用于表示数据查询中的待查询数据,也就是可以将非结构化的待查询数据抽象为待检索向量,当然,结构化的待查询数据也可以抽象为待检索向量。需说明的是,被编码的属性信息是待检索向量的全部属性信息中需要参与数据查询的属性信息,可以是待检索向量的全部属性信息,也可按照预设的规则确定,本公开对此不作限制。
可选地,步骤401包括:针对待检索向量的属性信息构成的属性组合,查询编码数据集合,得到与待检索向量的属性信息相对应的编码数据,作为待检索编码数据,其中,编码数据集合中关联存储有一一对应的属性组合和编码数据。通过提前按照属性组合构建编码数据集合,匹配待检索向量的属性信息对应的编码数据,不必使用原始的属性信息直接转换得到的数据,可减少编码数据的大小,既可降低计算量,有助于在属性数量增加的情况下可靠保持检索效率,又能够有效压缩存储空间,降低存储成本。
可选地,编码数据集合通过以下步骤生成:获取多个属性组合;确定多个属性组合彼此之间的相似度;为每个属性组合赋予对应的编码数据,其中,任意两个属性组合的编码数据之间的差异与这任意两个属性组合之间的相似度负相关。通过按照属性组合之间的相似度来赋予编码数据,令越相似的属性组合的编码数据的差异越小,能够利用编码数据之间的差异来体现属性组合间的差异,使得后续检索时不但可以优先选择相同属性的向量,还能够优先选择相似属性的向量,从而减少内容相似但属性差异大的向量对检索结果的干扰,有助于提高检索的召回率。作为示例,可按照相似度为获取的多个属性组合排序,越相似的属性组合排序越接近,即任意两个属性组合的序号之间的差异与这任意两个属性组合之间的相似度负相关,并将属性组合的序号作为该属性组合的编码数据,此时既能够把简短的序号作为编码数据,充分减小编码数据的大小,又能够利用排序上的远近来体现属性间的差异。进一步来说,编码数据可以是连续的序号,例如n个属性组合分别对应1至n的序号,也可以在初次构建编码数据集合时令编码数据采用非连续的序号,例如,但不限于,2的倍数序号(即偶数序号)、3的倍数序号、5的倍数序号,从而能够留出空位,以便于扩张编码数据集合中的属性组合数量。此外,应理解,两个属性组合的编码数据之间的差异只要能够体现出二者的差异程度即可,以反映相应属性组合之间的相似度。作为示例,可以是两个属性组合的编码数据的差的绝对值,也可以是两个属性组合的编码数据的差的绝对值的对数,本公开对此不作限制。
以编码数据是排序的序号为例,作为示例,建立编码数据集合的流程如下:
首先整理参考向量集合中涉及的全部属性组合。为便于比较,可以将不同的属性种类按序排列,每种属性赋予相应的取值区间,例如用0表示属性组合中不包含该属性种类,然后用1到x之间的数值表示属性组合中包含该属性种类以及具体属性具体是什么,例如对于电商领域的商家属性,可以用一个数值来代表一个具体的商家,由此,一个属性组合就可以根据所包含的属性种类和具体的属性内容进行相应取值,得到一个值序列。
然后根据属性组合所包含的属性种类数量,将全部属性组合分组。举例来说,参考向量集合总计涉及4种属性,则可以将属性组合分为4组,第一组中的每个属性组合均包含这全部4种属性,第二组中的每个属性组合均包含其中的3种属性,第三组和第四组中的属性组合则分别包含其中的2种和1种属性。
最后,依次对每个组,随机选择一个属性组合,作为该组中的第一个属性组合,这个属性组合的序号则是基于前一组的最后一个序号来继续排列的,然后计算该组中的其他属性组合与这个属性组合的相似度,相似度例如,但不限于,为两个属性组合的值序列的异或距离,并按照相似度由大到小为其他属性组合排序。
在步骤402,获取参考向量集合,参考向量集合包括多个参考向量,每个参考向量关联有参考编码数据,参考编码数据是对关联的参考向量的属性信息进行编码处理后得到的一个编码数据。与步骤401中的编码处理略有不同的是,参考编码数据可以是在建立编码数据集合时就一并得到的。
应理解,对于编码数据集合可扩张的情况,参考向量集合也相应可扩张,当参考向量集合中出现新的参考向量,且该参考向量的属性信息构成的属性组合是编码数据集合中未出现的属性组合时(可以是某种属性出现了新的内容,也可以是出现了新的属性种类),就按照建立编码数据集合时的排序规则,确定新属性组合的序号,即编码数据,并加入到编码数据集合中。
接下来介绍基于参考向量集合建立编码数据集合的一个具体实施例。在该具体实施例中,属性组合由对应向量的全部属性信息构成,各个属性组合按照相似度排序,编码数据是属性组合的序号。
参考向量集合中总共有30个参考向量,涉及4种属性类目,每种属性类目的可能取值分别为0-3、0-4、0-2、0-6。在这些参考向量中,有5个参考向量的全部属性信息构成的属性组合完全相同,剩余25个参考向量的属性组合各不相同,则此时可以确定出26个属性组合,并且每个属性组合的值序列由4个取值构成。
然后,按照值序列中的非0取值的数量,将这26个属性组合分为4组,第一组中每个值序列均不含非0取值,即每个属性组合都包含4种属性类目,第二组中每个值序列均含有3个非0取值和1个0,即每个属性组合都包含3种属性类目,第三组中每个值序列均含有2个非0取值和2个0,即每个属性组合都包含2种属性类目,第四组中每个值序列均含有1个非0值和3个0,即每个属性组合都包含1种属性类目。例如,在这26个属性组合中,属性组合A的值序列为0、1、2、3,属性组合B的值序列为0、1、2、4,属性组合C的值序列为0、1、1、2,属性组合D的值序列为3、1、2、5,则属性组合D分入第一组,属性组合A、B、C分入第二组,其他未列出的属性组合同理分组,得到第一组共计3个属性组合,第二组共计8个属性组合,第三组共计10个属性组合,第四组共计5个属性组合。
最后,确定每个属性组合的序号,作为其编码数据。对第一组,随机选择一个属性组合(例如属性组合D)作为序号1的属性组合,对于第一组内的其他属性组合,按照各自的值序列与序号1的属性组合的值序列的异或距离,以降序方式继续排列,得到第一组属性组合的序号。对第二组,随机选择一个属性组合(例如属性组合A)作为序号4的属性组合,按照和第一组同样的方式对组内其他属性组合排序。其中,对于前述的属性组合B、C,不难发现,属性组合B中有3个属性取值均与属性组合A相同,属性组合C则只有2个属性取值均与属性组合A相同,所以属性组合B会相对于属性组合C更接近属性组合A,所以属性组合B排序更靠前,序号更小,例如,属性组合B的序号为5,属性组合C的序号为9。对于第三组和第四组,也按照同样的方式排序,得到序号作为编码数据,不再详述。
在步骤403,结合待检索编码数据和参考编码数据,从参考向量集合中,确定出对应于待检索向量的目标向量,目标向量用于进行数据查询。应理解,目标向量所表示的数据就是查询到的目标数据,从而实现待查询数据的查询。
对于步骤403,具体可采取两类检索策略,接下来分别进行介绍。
第一类是图索引策略。
在图索引策略中,可选地,参考向量集合通过以下步骤生成:获取多个参考向量;根据多个参考向量构建复合近邻图,作为参考向量集合,其中:多个参考向量表示为复合近邻图中的多个图像点,记为参考点;每个参考点均与至少一个其他参考点互为邻居点,其他参考点为复合近邻图的参考点中除当前的参考点以外的参考点;每个参考点与每个参考点的至少一个邻居点互为相似点,相似点是编码数据满足预设关系的点,预设关系用于表示两个编码数据相同或相似。通过结合相似点间的预设关系来辅助构建近邻图,能够得到带有相同或相似属性邻域信息的复合近邻图,将属性相同或相似的参考向量关联起来,便于快速定位到与待检索向量属性相同或相似的参考向量,从而将带属性查询引入到了图索引中,在利用图索引提升检索效率的同时,利用属性查询保证了图索引中向量邻域的高质量性,有助于提高召回率,实现了高效快速的检索过程。应理解,根据实际检索情况的不同,预设关系可以仅表示两个编码数据相同,也就是相似点都是属性相同的参考点,也可以同时包含两个编码数据相同和相似的情况。对于后者,可以是每个参考点都具备属性相同的相似点以及属性相似的相似点,也可以是部分参考点同时具备属性相同的相似点以及属性相似的相似点,部分参考点仅具备属性相同的相似点,部分参考点仅具备属性相似的相似点,作为示例,可以对每个参考点优先确定属性相同的相似点,在属性相同的相似点数量较少或不存在时,又适量引入属性相似的相似点。本公开对此不作限制。
可选地,使用图索引策略时,步骤403可包括:将复合近邻图中的任一个参考点作为父候选点,确定父候选点的全部邻居点对应的参考向量与待检索向量之间的向量距离;根据向量距离,从全部邻居点中筛选预设数量的邻居点,作为父候选点的子候选点;将子候选点中不满足截断条件的子候选点逐个作为新的父候选点,针对新的父候选点,重复执行确定父候选点的全部邻居点对应的参考向量与待检索向量之间的向量距离,和根据向量距离,从全部邻居点中筛选预设数量的邻居点,作为父候选点的子候选点的步骤,其中,截断条件用于表示子候选点对应的参考编码数据与待检索编码数据的差异值大于差异阈值,且子候选点之前的连续N级父候选点对应的参考编码数据与待检索编码数据之间的差异值均大于差异阈值,N为预设值;直到满足结束条件,从全部父候选点对应的参考向量中,选择目标向量,结束条件用于表示无法得到新的子候选点。
应用根据本公开的示例性实施例的复合近邻图来实现向量检索时,检索流程除了常规的结合向量距离和结束条件来对参考点进行逐级筛选外,还包含了根据属性的截断条件来判断是否对一个通过了筛选的参考点继续下探,也就是是否对其邻居点进行筛选(作为示例,为减少计算量,每个参考点的向量距离不重复确定,基于此,判断是否对一个通过了筛选的参考点继续下探也就是判断是否对其未计算过向量距离的邻居点进行筛选),能够充分利用属性来加快检索进程,减少计算量,有助于进一步提升检索效率。截断条件用于表示当前子候选点及其之前的连续N级父候选点对应的参考编码数据与待检索编码数据的差异值均大于差异阈值,换言之,就是当前子候选点及其之前的连续N级父候选点均与待检索向量的属性不同且不近似,此时能够较为可靠地认为这个子候选点的邻居点很大概率也与待检索向量的属性不同且不近似,不再对其邻居点进行筛选。通过配置该截断条件,能够在保障检索效果的情况下减少计算量。应理解,N的取值可以根据复合近邻图中的参考点数量和计算精度要求合理配置。
具体来说,第一个父候选点作为检索的入口点,可随机选取。检索流程是,选定入口点后,就可以结合向量距离对其全部邻居点进行筛选,通过筛选的邻居点就作为入口点的子候选点。接下来,逐个判断这些子候选点是否满足截断条件,并在确定满足截断条件时舍弃该子候选点,也就是不将其作为新的父候选点,而在确定不满足截断条件时,将当前的子候选点作为新的父候选点,可对其继续下探,也就是继续筛选新的父候选点的子候选点。此处可以每确定一个新的父候选点就直接继续下探,也可以在确定出全部新的父候选点后再逐一下探,本公开对此不作限制。在下探时,若遇到满足结束条件的情况,也就是发现无法得到新的子候选点,即下探失败,就停止对该新的父候选点的下探;若没有满足结束条件,表明可以继续下探,此时可以先对其下探,直到该路径满足结束条件,也可以先暂停,对该新的父候选点同级的其他新的父候选点进行下探,也就是对同级的所有新的父候选点都执行一级下探,本公开对此不作限制。如此继续进行逐级下探,直到所有路径都满足结束条件,就停止下探,将此前得到的所有父候选点对应的参考向量作为候选向量,从中选择向量距离最小的top-k向量,作为目标向量。
可选地,复合近邻图通过以下三个步骤构建:
基准图构建步骤。具体是根据多个参考向量彼此之间的向量距离,构建近邻图,作为基准图。近邻图的构建属于本领域成熟技术,在此不再赘述。
属性图构建步骤。具体是先根据参考编码数据,将参考向量集合划分为多个子集合,再对每个子集合分别构建近邻图,作为属性图。通过结合参考编码数据来为参考向量分组并分别构建属性图,可以令每个属性图保有的参考向量的邻域信息仅为带有相同或相似属性的参考向量,也就是得到相同或相似属性的参考向量之间的邻居关系,从而弥补基准图中属性信息的缺失。应理解,划分到一个子集合的是相同属性的参考向量,则可以得到相同属性的参考向量之间的邻居关系,划分到一个子集合的是相似属性的参考向量,则可以得到相似属性的参考向量之间的邻居关系。
其中,可选地,根据参考编码数据,将参考向量集合划分为多个子集合的步骤包括:将参考向量集合中具有相同的参考编码数据的参考向量划入同一个子集合,得到多个初始子集合;将元素数量小于数量阈值的初始子集合并入对应的近似子集合,得到多个子集合,其中,初始子集合的参考编码数据与对应的近似子集合的参考编码数据之间的属性相似度大于或等于相似度阈值。通过先划分属性相同的参考向量组成的初始子集合,可优先保障相同属性的参考向量被聚集在一起,以得到相同属性的参考向量之间的邻居关系,提高召回率。在此基础上,通过在初始子集合的元素数量较少时将之并入对应的近似子集合,能够保障每个子集合的元素数量充足,从而得到足量的近似属性的邻居关系,有助于提升检索的召回率。作为示例,属性相似度可以是属性组合之间的向量距离,例如,但不限于,异或距离;在编码数据是前述的属性组合的排序序号的情况下,属性相似度可以是编码数据的差值的绝对值经过负相关的处理后得到,例如,但不限于,求相反数、求倒数,求相反数时,相似度阈值应为负数值。
复合近邻图整合步骤。具体是结合基准图和属性图中的邻居关系,获得复合近邻图。通过综合基准图和各个属性图中的邻居关系,能够在基准图的基础上为每个参考点增加同属性且相对接近的邻居点,保障了图索引策略的可靠实现。作为示例,可以通过在属性图构建步骤合理划分子集合,保障复合近邻图中的每个参考点的邻居点中,相同或相似属性的邻居点与不同属性的邻居点的数据量基本相当,既保证参考点可以具备属性相同或相似的邻居点,又能够总体上保障足够的邻居点数量,增加复合近邻图的连通性。
应理解,基准图和属性图可以同步构建,也可以先后构建,不同的属性图也可以同步构建或者先后构建,复合近邻图可以是在构建出基准图和全部属性图后再进行整合得到,也可以是一旦构建出其中的至少两个近邻图就进行整合,并在构建出新的近邻图后就将其整合进现有的复合近邻图中,直到所有的近邻图都构建完成后,就相应得到完整的复合近邻图。本公开对这些近邻图的构建步骤的执行顺序和复合近邻图的详细整合策略不作限制。
接下来结合图5至图7描述一个具体实施例的复合近邻图的整合方式,以及利用该复合近邻图进行图索引检索的过程。在该具体实施例中,参考向量集合共包括14个参考向量,对14个参考向量按序标号,图5示出了这14个参考向量的基准图,基准图中用与参考向量一致的标号来标记参考点。
这14个参考向量涉及3个属性组合,即3个参考编码数据,并被划分到了3个子集合。也就是说,每个子集合中包含的都是属性相同的参考向量。
具体划分如下:
第一子集合:参考向量1、3、6、8;
第二子集合:参考向量2、4、9、11、12、13;
第三子集合:参考向量5、7、10、14。
图6a至图6c分别示出了这3个子集合的属性图。为便于区分,在图5中用双箭头细实线来表示参考点之间的邻居关系,在图6a至图6c中用双箭头粗虚线来表示参考点之间的邻居关系。得到以上各图后,可将图6a至图6c中的双箭头粗虚线添加到图5中,得到图7所示的复合近邻图。
检索时,每次下探筛选的预设数量为2,每个参考点的向量距离不重复确定。待检索向量的属性与第三子集合相同,也就是与参考向量5、7、10、14相同。截断条件是当前的子候选点及其之前的连续两级父候选点对应的参考编码数据均与待检索编码数据不同,即N=2。结束条件包括当前父候选点的全部邻居点的向量距离均大于现有各个父候选点的向量距离最小值。最终需要得到的目标向量的数量为3。检索过程如下:
1)随机确定参考点1为入口点,也就是第一级父候选点。
2)结合向量距离,假设从参考点1的全部邻居点2、3、5中筛选出了子候选点2、3,此时仅有1级父候选点,必然不满足截断条件,可确定出第二级父候选点2、3,继续下探。
此时需注意,由于第一级父候选点和第二级父候选点的参考编码数据均与待检索编码数据不同,所以如果下探得到的子候选点不是参考点5、7、10、14中的任一个,则满足截断条件。
3)对第二级父候选点2,剩余的全部邻居点为6、7、13,假设从中筛选出子候选点7、13,那么可以得到第三级父候选点7。
对第二级父候选点3,剩余的全部邻居点为8、9,假设不满足结束条件,均可作为子候选点,但由于满足截断条件,所以均不能作为第三级父候选点。
至此,确定出第三级父候选点7。
4)对第三级父候选点7,仅剩余1个邻居点12,若不满足结束条件,可作为子候选点。同时,由于其父候选点为7,不满足截断条件,所以子候选点12可作为第四级父候选点。
5)对第四级父候选点12,由于已经没有剩余的邻居点,所以无法得到新的子候选点,满足结束条件,停止下探。
6)从全部父候选点1、2、3、7、12中,确定出向量距离最小的3个,假设为父候选点2、3、7,则将参考向量2、3、7作为目标向量。
对图索引策略的介绍至此结束。
第二类检索策略是先过滤再检索的策略。
可选地,此时步骤403包括:根据待检索编码数据,确定参考向量集合中与待检索编码数据相符的参考编码数据;根据相符的参考编码数据所对应的参考向量,得到候选向量集合;从候选向量集合中,确定出对应于待检索向量的目标向量。通过先进行属性过滤,再从过滤得到的候选向量集合中检索出目标向量,可以保障较高的召回率。同时,由于本公开的参考编码数据和待检索编码数据都是单一编码数据,所以可以极大提升属性过滤速度,并且可以将多属性约束问题转换为单属性约束问题,使得检索效率能够随着属性数量的增加而保持在较高水平。因此,能够兼顾召回率和检索效率。
应理解,根据检索需求的不同,属性过滤时,与待检索编码数据相符的参考编码数据,可以是与待检索编码数据相同的参考编码数据,也可以同时包括与待检索编码数据相同的参考编码数据以及与待检索编码数据相似的参考编码数据,本公开对此不作限制。作为示例,对候选向量集合检索时,可以直接计算向量距离进行检索,也可以采用以量化压缩方法为例的检索方法,还可以采用其他可实现的检索方法,本公开对此亦不作限制。
经实验验证,根据本公开的示例性实施例的数据查询方法,比现有方法性能提高了10倍,并且随着属性组合数量的增加(可以是某种属性增加了新的内容,也可以是增加了新的属性种类),其他的方法召回率会剧烈降低,但本公开的方法仍然可保持95%以上的召回率。
图8是示出根据本公开的示例性实施例的数据查询装置的框图。应理解,根据本公开的示例性实施例的数据查询装置可以在诸如智能手机、平板电脑、个人电脑(PC)的终端设备中以软件、硬件或软件硬件结合的方式实现,也可以在诸如服务器的设备中实现。
参照图8,数据查询装置800包括编码单元801、获取单元802、检索单元803。
编码单元801可对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据。
可选地,编码单元801可针对待检索向量的属性信息构成的属性组合,查询编码数据集合,得到与待检索向量的属性信息相对应的编码数据,作为待检索编码数据,其中,编码数据集合中关联存储有一一对应的属性组合和编码数据。
可选地,编码数据集合通过以下步骤生成:获取多个属性组合;确定多个属性组合彼此之间的相似度;为每个属性组合赋予对应的编码数据,其中,任意两个属性组合的编码数据之间的差异与任意两个属性组合之间的相似度负相关。
获取单元802可获取参考向量集合,参考向量集合包括多个参考向量,每个参考向量关联有参考编码数据,一个参考编码数据是对关联的参考向量的属性信息进行编码处理后得到的一个编码数据。
可选地,参考向量集合通过以下步骤生成:获取多个参考向量;根据多个参考向量构建复合近邻图,作为参考向量集合,其中:多个参考向量表示为复合近邻图中的多个图像点,记为参考点;每个参考点均与至少一个其他参考点互为邻居点,其他参考点为复合近邻图的参考点中除当前的参考点以外的参考点;每个参考点与每个参考点的至少一个邻居点互为相似点,相似点是编码数据满足预设关系的点,预设关系用于表示两个编码数据相同或相似。
检索单元803可结合待检索编码数据和参考编码数据,从参考向量集合中,确定出对应于待检索向量的目标向量,目标向量用于进行数据查询。
可选地,检索单元803还可将复合近邻图中的任一个参考点作为父候选点,确定父候选点的全部邻居点对应的参考向量与待检索向量之间的向量距离;根据向量距离,从全部邻居点中筛选预设数量的邻居点,作为父候选点的子候选点;将子候选点中不满足截断条件的子候选点逐个作为新的父候选点,针对新的父候选点,重复执行确定父候选点的全部邻居点对应的参考向量与待检索向量之间的向量距离,和根据向量距离,从全部邻居点中筛选预设数量的邻居点,作为父候选点的子候选点的步骤,其中,截断条件用于表示子候选点对应的参考编码数据与待检索编码数据的差异值大于差异阈值,且子候选点之前的连续N级父候选点对应的参考编码数据与待检索编码数据之间的差异值均大于差异阈值,N为预设值;直到满足结束条件,从全部父候选点对应的参考向量中,选择目标向量,结束条件用于表示无法得到新的子候选点。
可选地,复合近邻图通过以下步骤构建:根据多个参考向量彼此之间的向量距离,构建近邻图,作为基准图;根据参考编码数据,将参考向量集合划分为多个子集合,对每个子集合分别构建近邻图,作为属性图;结合基准图和属性图中的邻居关系,获得复合近邻图。
可选地,根据参考编码数据,将参考向量集合划分为多个子集合,包括:将参考向量集合中具有相同的参考编码数据的参考向量划入同一个子集合,得到多个初始子集合;将元素数量小于数量阈值的初始子集合并入对应的近似子集合,得到多个子集合,其中,初始子集合的参考编码数据与对应的近似子集合的参考编码数据之间的属性相似度大于或等于相似度阈值。
可选地,检索单元803还可根据待检索编码数据,确定参考向量集合中与待检索编码数据相符的参考编码数据;根据相符的参考编码数据所对应的参考向量,得到候选向量集合;从候选向量集合中,确定出对应于待检索向量的目标向量。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据本公开的示例性实施例的电子设备的框图。
参照图9,电子设备900包括至少一个存储器901和至少一个处理器902,所述至少一个存储器901中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器902执行时,执行根据本公开的示例性实施例的数据查询方法。
作为示例,电子设备900可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备900并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备900还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备900中,处理器902可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器902可运行存储在存储器901中的指令或代码,其中,存储器901还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器901可与处理器902集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器901可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器901和处理器902可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器902能够读取存储在存储器中的文件。
此外,电子设备900还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备900的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的数据查询方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品包括计算机指令,计算机指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的数据查询方法。
根据本公开的示例性实施例的数据查询方法和装置、电子设备、计算机可读存储介质,通过将向量的全部属性信息编码为一个编码数据,可令编码数据具备参与到检索计算中来的可能,从而利用属性优化检索结果,提高召回率。并且,由于此时无论涉及的属性数量如何增加,都可以用一个编码数据来表示向量的全部属性,所以可以将多属性约束问题转换为单属性约束问题,使得检索效率能够随着属性数量的增加而保持在较高水平。因此,本公开能够兼顾召回率和检索效率。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (11)
1.一种数据查询方法,其特征在于,包括:
对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据;
获取参考向量集合,所述参考向量集合包括多个参考向量,每个参考向量关联有参考编码数据,所述参考编码数据是对关联的所述参考向量的属性信息进行编码处理后得到的一个编码数据;
结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,所述目标向量用于进行数据查询。
2.如权利要求1所述的数据查询方法,其特征在于,所述对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据,包括:
针对所述待检索向量的属性信息构成的属性组合,查询编码数据集合,得到与所述待检索向量的属性信息相对应的编码数据,作为所述待检索编码数据,其中,所述编码数据集合中关联存储有一一对应的属性组合和编码数据。
3.如权利要求2所述的数据查询方法,其特征在于,所述编码数据集合通过以下步骤生成:
获取多个属性组合;
确定所述多个属性组合彼此之间的相似度;
为每个属性组合赋予对应的编码数据,其中,任意两个属性组合的编码数据之间的差异与所述任意两个属性组合之间的相似度负相关。
4.如权利要求1到3中的任一权利要求所述的数据查询方法,其特征在于,所述参考向量集合通过以下步骤生成:
获取所述多个参考向量;
根据所述多个参考向量构建复合近邻图,作为所述参考向量集合,其中:
所述多个参考向量表示为所述复合近邻图中的多个图像点,记为参考点;
每个参考点均与至少一个其他参考点互为邻居点,所述其他参考点为所述复合近邻图的参考点中除当前的参考点以外的参考点;
所述每个参考点与所述每个参考点的至少一个邻居点互为相似点,所述相似点是编码数据满足预设关系的点,所述预设关系用于表示两个编码数据相同或相似。
5.如权利要求4所述的数据查询方法,其特征在于,所述结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,包括:
将所述复合近邻图中的任一个参考点作为父候选点,确定所述父候选点的全部邻居点对应的参考向量与所述待检索向量之间的向量距离;
根据所述向量距离,从所述全部邻居点中筛选预设数量的邻居点,作为所述父候选点的子候选点;
将所述子候选点中不满足截断条件的子候选点逐个作为新的父候选点,针对所述新的父候选点,重复执行确定所述父候选点的全部邻居点对应的参考向量与所述待检索向量之间的向量距离,和根据所述向量距离,从所述全部邻居点中筛选预设数量的邻居点,作为所述父候选点的子候选点的步骤,其中,所述截断条件用于表示所述子候选点对应的所述参考编码数据与所述待检索编码数据的差异值大于差异阈值,且所述子候选点之前的连续N级父候选点对应的所述参考编码数据与所述待检索编码数据之间的差异值均大于所述差异阈值,所述N为预设值;
直到满足结束条件,从全部所述父候选点对应的参考向量中,选择所述目标向量,所述结束条件用于表示无法得到新的子候选点。
6.如权利要求4所述的数据查询方法,其特征在于,所述复合近邻图通过以下步骤构建:
根据所述多个参考向量彼此之间的向量距离,构建近邻图,作为基准图;
根据所述参考编码数据,将所述参考向量集合划分为多个子集合,对每个子集合分别构建近邻图,作为属性图;
结合所述基准图和所述属性图中的邻居关系,获得所述复合近邻图。
7.如权利要求6所述的数据查询方法,其特征在于,所述根据所述参考编码数据,将所述参考向量集合划分为多个子集合,包括:
将所述参考向量集合中具有相同的所述参考编码数据的参考向量划入同一个子集合,得到多个初始子集合;
将元素数量小于数量阈值的初始子集合并入对应的近似子集合,得到所述多个子集合,其中,所述初始子集合的所述参考编码数据与对应的所述近似子集合的所述参考编码数据之间的属性相似度大于或等于相似度阈值。
8.如权利要求1到3中的任一权利要求所述的数据查询方法,其特征在于,所述结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,包括:
根据所述待检索编码数据,确定所述参考向量集合中与所述待检索编码数据相符的参考编码数据;
根据所述相符的参考编码数据所对应的参考向量,得到候选向量集合;
从所述候选向量集合中,确定出对应于所述待检索向量的所述目标向量。
9.一种数据查询装置,其特征在于,包括:
编码单元,被配置为执行对待检索向量的属性信息进行编码处理,得到对应的一个编码数据,作为待检索编码数据;
获取单元,被配置为执行获取参考向量集合,所述参考向量集合包括多个参考向量,每个参考向量关联有参考编码数据,一个所述参考编码数据是对关联的所述参考向量的属性信息进行编码处理后得到的一个编码数据;
检索单元,被配置为执行结合所述待检索编码数据和所述参考编码数据,从所述参考向量集合中,确定出对应于所述待检索向量的目标向量,所述目标向量用于进行数据查询。
10.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到8中的任一权利要求所述的数据查询方法。
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到8中的任一权利要求所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211236433.8A CN115495504A (zh) | 2022-10-10 | 2022-10-10 | 数据查询方法和装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211236433.8A CN115495504A (zh) | 2022-10-10 | 2022-10-10 | 数据查询方法和装置、电子设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495504A true CN115495504A (zh) | 2022-12-20 |
Family
ID=84474510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211236433.8A Pending CN115495504A (zh) | 2022-10-10 | 2022-10-10 | 数据查询方法和装置、电子设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495504A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108072A (zh) * | 2023-04-04 | 2023-05-12 | 阿里巴巴(中国)有限公司 | 数据查询方法及查询预测模型训练方法 |
-
2022
- 2022-10-10 CN CN202211236433.8A patent/CN115495504A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108072A (zh) * | 2023-04-04 | 2023-05-12 | 阿里巴巴(中国)有限公司 | 数据查询方法及查询预测模型训练方法 |
CN116108072B (zh) * | 2023-04-04 | 2023-09-19 | 阿里巴巴(中国)有限公司 | 数据查询方法及查询预测模型训练方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bahmani et al. | Efficient distributed locality sensitive hashing | |
US11526799B2 (en) | Identification and application of hyperparameters for machine learning | |
CN102609441B (zh) | 基于分布熵的局部敏感哈希高维索引方法 | |
Yagoubi et al. | Dpisax: Massively distributed partitioned isax | |
CN111460311A (zh) | 基于字典树的搜索处理方法、装置、设备和存储介质 | |
KR20150076227A (ko) | 위치 정보를 가진 데이터 프로파일링 | |
US20150186471A1 (en) | System and method for approximate searching very large data | |
KR20160019897A (ko) | 시계열의 고속 그룹화 기법 | |
US11238106B2 (en) | Fingerprints for compressed columnar data search | |
JP2015049574A (ja) | インデックス生成装置及び検索装置 | |
US20110179013A1 (en) | Search Log Online Analytic Processing | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
Zhao et al. | Approximate k-NN graph construction: a generic online approach | |
CN115495504A (zh) | 数据查询方法和装置、电子设备、计算机可读存储介质 | |
CN107133335A (zh) | 一种基于分词与索引技术的重复记录检测方法 | |
CN109635004B (zh) | 一种数据库的对象描述提供方法、装置及设备 | |
CN116821053B (zh) | 数据上报方法、装置、计算机设备和存储介质 | |
CN104199924B (zh) | 选择具有快照关系的网络表格的方法及装置 | |
CN116226468B (zh) | 基于网格化终端业务数据存储管理方法 | |
CN110489652B (zh) | 基于用户行为检测的新闻推荐方法、系统及计算机设备 | |
CN110020001A (zh) | 字符串数据的存储、查询方法以及相应的设备 | |
KR102158049B1 (ko) | Cf 트리를 활용한 범위 질의 기반의 데이터 클러스터링 장치 및 방법 | |
US10902036B2 (en) | Intersection algorithm-based search method and system, and storage medium | |
CN114911826A (zh) | 一种关联数据检索方法和系统 | |
CN114185956A (zh) | 基于canopy、k-means算法的数据挖掘方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240407 Address after: Room 101, 7th Floor, Building 11, No.16 West Erqi Road, Haidian District, Beijing, 100085 Applicant after: Beijing Lingchuan Technology Co.,Ltd. Country or region after: China Address before: 101d1-7, 1st floor, building 1, No. 6, Shangdi West Road, Haidian District, Beijing 100085 Applicant before: Beijing Dajia Internet Information Technology Co.,Ltd. Country or region before: China |
|
TA01 | Transfer of patent application right |