数据查询方法、装置、系统、设备和介质制造方法及图纸

技术编号:35352544 阅读:29 留言:0更新日期:2022-10-26 12:23
本公开提供了一种数据查询方法、装置、系统、设备和介质。该方法包括:获取目标终止条件;基于查询数据和Y个子数据集中的每一个子数据集的相似度,确定Y个子数据集各自的排名,Y为大于1的正整数;将Y个子数据集中的排名最高的前Z个未处理过的子数据集作为当前子数据集并对当前子数据集进行处理,直至当前查询指标中至少部分指标满足目标终止条件,将更新后的中间结果作为查询结果;其中,Z为小于Y的正整数,处理包括:在当前子数据集所包括的样本数据中,确定与查询数据的相似度最高的至少一个样本数据以更新中间结果,基于更新后的中间结果确定当前查询指标。结果确定当前查询指标。结果确定当前查询指标。

【技术实现步骤摘要】
数据查询方法、装置、系统、设备和介质


[0001]本公开涉及人工智能
,具体涉及一种数据查询方法、数据查询装置、数据查询系统、电子设备、计算机可读存储介质和计算机程序产品。

技术介绍

[0002]深度学习的突破使非结构化数据能够被表示为高维特征向量,以服务于广泛的应用。在大型非结构化数据集(具有数十亿项)上进行的高维特征向量的查询具有挑战性,因为难以同时保证低延迟和准确性。因此,近似最近邻搜索(Approximate Nearest Neighbor,ANN)应运而生。
[0003]在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

技术实现思路

[0004]本公开提供了一种数据查询方法、数据查询装置、数据查询系统、电子设备、计算机可读存储介质和计算机程序产品。
[0005]根据本公开的一方面,提供了一种数据查询方法,用于在数据集中查询与查询数据相似度最高的目标数量的样本数据。该方法包括:获取目标终止条件,目标终止条件包括目标准确率和/或目标时延;基于查询数据和Y个子数据集中的每一个子数据集的相似度,确定Y个子数据集各自的排名,其中,Y个子数据集是根据数据集中的样本数据之间的相似度对样本数据进行划分得到的,每一个子数据集包括数据集中与该子数据集对应的至少一个样本数据,其中,Y为大于1的正整数;将Y个子数据集中的排名最高的前Z个未处理过的子数据集作为当前子数据集,并且对当前子数据集进行处理,直至当前查询指标中至少部分指标满足目标终止条件,其中,Z为小于Y的正整数;在当前子数据集所包括的样本数据中,确定与查询数据的相似度最高的至少一个样本数据以更新中间结果,更新后的中间结果中包括排名不低于当前子数据集的子数据集所包括的样本数据中,与查询数据的相似度最高的目标数量的候选数据;以及基于更新后的中间结果确定当前查询指标,当前查询指标包括准确率,准确率指示对更新后的中间结果中的候选数据在目标结果中所占比例的预测结果,目标结果为对所有子数据集都进行处理后所得的更新后的中间结果;将更新后的中间结果作为查询结果。
[0006]根据本公开的另一方面,提供了数据查询方法,用于在原始数据集中查询与查询数据相似度最高的目标数量的样本数据。该方法应用于分布式集群中的中心节点,中心节点与分布式集群中的多个运行节点通信连接,多个运行节点中的每一个运行节点上存储有原始数据集中的与该运行节点对应的数据集。该方法包括:接收查询数据和全局终止条件;修正全局终止条件以得到目标终止条件,并将查询数据和目标终止条件发送至每一个运行节点,以使运行节点利用上述数据查询方法在与该运行节点对应的数据集中查询与查询数
据相似度最高的目标数量的样本数据;从每一个运行节点接收与该运行节点对应的查询结果,查询结果包括目标数量的样本数据;以及在从每一个运行节点接收到的查询结果中确定与查询数据相似度最高的目标数量的样本数据作为最终查询结果;其中,全局终止条件包括全局准确率,目标终止条件包括目标准确率,全局准确率指示最终查询结果中的样本数据在原始数据集中与查询数据相似度最高的目标数量的样本数据中所占比例,和/或,全局终止条件包括全局时延,目标终止条件包括目标时延。
[0007]根据本公开的另一方面,提供了一种数据查询装置,用于在数据集中查询与查询数据相似度最高的目标数量的样本数据。该装置包括:获取单元,被配置为获取目标终止条件;第一确定单元,被配置为基于查询数据和Y个子数据集中的每一个子数据集的相似度,确定Y个子数据集各自的排名,其中,Y个子数据集是根据数据集中的样本数据之间的相似度对样本数据进行划分得到的,每一个子数据集包括数据集中与该子数据集对应的至少一个样本数据,并且Y为大于1的正整数;处理单元,被配置为将Y个子数据集中的排名最高的前Z个未处理过的子数据集作为当前子数据集,并且对当前子数据集进行处理,直至当前查询指标中至少部分指标满足目标终止条件,其中,Z为小于Y的正整数,其中,处理单元包括:第一确定子单元,被配置为在当前子数据集所包括的样本数据中,确定与查询数据的相似度最高的至少一个样本数据以更新中间结果,更新后的中间结果中包括排名不低于当前子数据集的子数据集所包括的样本数据中,与查询数据的相似度最高的目标数量的候选数据;以及第二确定子单元,被配置为基于更新后的中间结果确定当前查询指标,当前查询指标包括准确率,准确率指示对更新后的中间结果中的候选数据在目标结果中所占比例的预测结果,目标结果为对所有子数据集都进行处理后所得的更新后的中间结果;结果生成单元,被配置为将更新后的中间结果作为查询结果。
[0008]根据本公开的另一方面,提供了一种数据查询装置,用于在数据集中查询与查询数据相似度最高的目标数量的样本数据,该装置应用于分布式集群中的中心节点,中心节点与分布式集群中的多个运行节点通信连接,多个运行节点中的每一个运行节点上存储有原始数据集中的与该运行节点对应的数据集。该装置包括:第一接收单元,被配置为接收查询数据和全局终止条件;修正单元,被配置为修正全局终止条件以得到目标终止条件,并将查询数据和目标终止条件发送至每一个运行节点,以使运行节点利用根据上述数据查询装置在与该运行节点对应的数据集中查询与查询数据相似度最高的目标数量的样本数据;第二接收单元,被配置为从每一个运行节点接收该运行节点对应的查询结果目标数量的候选数据,查询结果包括目标数量的样本数据;以及第二确定单元,被配置为在从每一个运行节点接收到的查询结果中,确定与查询数据相似度最高的目标数量的样本数据目标数量的目标数据作为最终查询结果,其中,全局终止条件包括全局准确率,目标终止条件包括目标准确率,全局准确率指示最终查询结果中的样本数据在原始数据集中与查询数据相似度最高的目标数量的样本数据中所占比例,和/或,全局终止条件包括全局时延,目标终止条件包括目标时延。
[0009]根据本公开的另一方面,提供了一种数据查询系统,包括应用上述用于得到对数据集的查询结果的数据查询装置的运行节点和应用上述用于得到对原始数据集的最终查询结果的数据查询装置的中心节点。
[0010]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所
述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据查询方法。
[0011]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述数据查询方法。
[0012]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现上述数据查询方法。
[0013]根据本公开的一个或多个实施例,通过将基于样本数据之间的相似度对数据集进行划分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,用于在数据集中查询与查询数据相似度最高的目标数量的样本数据,所述方法包括:获取目标终止条件,所述目标终止条件包括目标准确率和/或目标时延;基于查询数据和Y个子数据集中的每一个子数据集的相似度,确定所述Y个子数据集各自的排名,其中,所述Y个子数据集是根据所述数据集中的样本数据之间的相似度对所述样本数据进行划分得到的,每一个所述子数据集包括所述数据集中与该子数据集对应的至少一个样本数据,并且Y为大于1的正整数;将所述Y个子数据集中的排名最高的前Z个未处理过的子数据集作为当前子数据集并对所述当前子数据集进行处理,直至当前查询指标中至少部分指标满足目标终止条件,其中,Z为小于Y的正整数,所述处理包括:在所述当前子数据集所包括的样本数据中,确定与所述查询数据的相似度最高的至少一个样本数据以更新中间结果,更新后的中间结果中包括排名不低于所述当前子数据集的子数据集所包括的样本数据中,与所述查询数据的相似度最高的目标数量的候选数据;以及基于更新后的中间结果确定当前查询指标,所述当前查询指标包括准确率,所述准确率指示对更新后的中间结果中的候选数据在目标结果中所占比例的预测结果,所述目标结果为对所有所述子数据集都进行所述处理后所得的更新后的中间结果;将更新后的中间结果作为查询结果。2.根据权利要求1所述的方法,其中,基于更新后的中间结果确定所述当前查询指标包括:确定更新后的中间结果中的至少一个候选数据的预测排名,所述预测排名指示在所述目标结果中,对应的候选数据与所述查询数据的相似度的排名的预测结果;以及基于预测排名的值不大于所述目标数量的候选数据的数量和所述目标数量,确定所述准确率。3.根据权利要求2所述的方法,其中,所述Y个子数据集各自具有不重叠的对应的空间范围,每一个所述样本数据和所述查询数据各自具有对应的空间位置,其中,更新后的中间结果中的每一个候选数据对应有该候选数据在更新后的中间结果中的中间排名,所述中间排名是根据该候选数据与所述查询数据的相似度确定的,其中,确定更新后的中间结果中的至少一个候选数据的预测排名,包括:在更新后的中间结果中确定目标候选数据,对于所述目标候选数据,执行以下操作,直至所述更新后的中间结果中所有的候选数据均作为过目标候选数据或满足结束条件:根据所述查询数据的空间位置、所述目标候选数据的空间位置、以及所述Y个子数据集各自的空间范围对应的空间特征,确定比例因子;以及根据所述目标候选数据的中间排名和比例因子,确定所述目标候选数据的预测排名,其中,所述结束条件包括所述目标候选数据的预测排名不大于所述目标数量且为所述更新后的中间结果所包括的候选数据的预测排名中的最大值。4.根据权利要求3所述的方法,其中,从更新后的中间结果中确定目标候选数据,包括:按照更新后的中间结果中候选数据的中间排名由低到高或由高到低的顺序,依次将更新后的中间结果中各候选数据确定为目标候选数据;
或者,根据二分搜索法,从更新后的中间结果中确定目标候选数据。5.根据权利要求3或4所述的方法,其中,与所述目标候选数据对应的第一空间范围的中心为所述查询数据的空间位置,并且所述目标候选数据的空间位置位于所述第一空间范围的边缘,其中,第二空间范围为排名不低于所述当前子数据集的至少一个候选子数据集对应的空间范围和所述第一空间范围的交集,其中,根据所述查询数据的空间位置、所述目标候选数据的空间位置、以及所述Y个子数据集各自的空间范围对应的空间特征,确定比例因子包括:确定所述第一空间范围的体积;确定所述第二空间范围的体积;以及将所述第一空间范围的体积和所述第二空间范围的体积的比值确定为比例因子。6.根据权利要求5所述的方法,其中,至少一个第三空间范围中的每一个第三空间范围为排名高于所述当前子数据集的一个其他子数据集对应的空间范围和所述第一空间范围的交集,其中,确定所述第二空间范围的体积包括:确定所述至少一个第三空间范围各自的体积;以及基于所述第一空间范围的体积与所述至少一个第三空间范围的体积总和的差值,确定所述第二空间范围的体积。7.根据权利要求6所述的方法,其中,确定所述至少一个第三空间范围各自的体积包括:确定所述查询数据的空间位置到每一个所述第三空间范围的最短空间距离;基于每一个所述第三空间范围对应的最短空间距离与所述查询数据的空间位置到所述目标候选数据的空间位置之间的空间距离的比值的反余弦值,估计该第三空间范围的体积。8.根据权利要求5

7任一项所述的方法,其中,所述第一空间范围为以所述查询数据的空间位置为球心,以所述查询数据的空间位置和所述目标候选数据的空间位置之间的空间距离为半径的球。9.根据权利要求1

8任一项所述的方法,其中,所述数据集是通过将中间数据集中的中间数据映射到单位球上而得到的,其中,所述数据集中的第一样本数据和第二样本数据在所述单位球上的球面距离指示所述中间数据集中与所述第一样本数据和所述第二样本数据分别对应的第一中间数据和第二中间数据的内积。10.根据权利要求1

9任一项所述的方法,其中,在所述当前子数据集所包括的样本数据中,确定与所述查询数据的相似度最高的至少一个样本数据以更新所述中间结果包括:针对所述当前子数据集所包括的每一个样本数据,响应于确定该样本数据与所述查询数据的相似度高于当前的中间结果中的每一个候选数据与所述查询数据的相似度,使用该样本数据替换当前的中间结果中的与查询数据的相似度最低的候选数据。11.根据权利要求1

10中任一项所述的方法,其中,获取目标终止条件包括:接收所述目标准确率和/或所述目标时延,所述目标准确率和/或所述目标时延是基于用户输入的,
其中,当前查询指标中至少部分指标满足目标终止条件包括:所述当前查询指标中的准确率大...

【专利技术属性】
技术研发人员:金鑫刘譞哲章梓立马郓陈卓田昕晖刘勤汤林鹏
申请(专利权)人:墨奇科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1