CN116610840A - 一种相似数据搜索方法、系统及电子设备 - Google Patents
一种相似数据搜索方法、系统及电子设备 Download PDFInfo
- Publication number
- CN116610840A CN116610840A CN202310580844.7A CN202310580844A CN116610840A CN 116610840 A CN116610840 A CN 116610840A CN 202310580844 A CN202310580844 A CN 202310580844A CN 116610840 A CN116610840 A CN 116610840A
- Authority
- CN
- China
- Prior art keywords
- data
- point
- neighbor
- query
- 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 73
- 239000013598 vector Substances 0.000 claims abstract description 143
- 230000015654 memory Effects 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 16
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书公开了一种相似数据搜索方法、系统及电子设备,能够以高效准确地确定出相似数据,降低计算成本,提高搜索效率。所述方法包括:获取指定查询数据与给定数据集,所述给定数据集包括多项基本数据;对所述指定查询数据与多项所述基本数据进行特征向量提取,生成相对应的多维特征向量,在多维向量空间中确定与所述指定查询数据对应的查询点以及与多项基本数据对应的多个数据点;通过对多维向量空间的多个维度进行区间划分以生成对应的向量近似编码;针对多个所述数据点构造近邻图,基于所述近邻图与所述向量近似编码在多个所述数据点中进行最近邻搜索,确定所述查询点的最近邻数据点,从而确定相似数据。
Description
技术领域
本发明涉及大数据处理技术领域,具体涉及一种相似数据搜索方法、系统及电子设备。
背景技术
当前信息化社会,大数据技术获得越发广泛的应用,其主体是为半结构化和非结构化数据(如文本、图像、音频和视频数据等),占总采集量的85%以上,蕴含巨大价值。不过非结构大数据具有海量、异构和混杂等特性,给信息存储、计算以及面向各种应用的数据处理技术带来了前所未有的挑战。为充分挖掘利用非结构化大数据的价值,需要能够对海量非结构化数据进行高效地处理与分析,相似性搜索作为其中的一个关键基础问题,具有重要研究意义。
相似性搜索是指从给定数据集合中搜索出与指定查询数据最相似数据的过程。由于非结构化数据在结构方面的复杂性导致难以直接计算相似度,一些相关技术中采用提取特征向量的方式将数据转换为向量空间中的数据点进行最近邻搜索,然而高维空间中的最近邻搜索往往会面临“维度灾难”问题,实际处理效果并不理想。一些其他相关技术也往往都会存在计算成本高,搜索效率低的问题。
发明内容
有鉴于此,本说明书实施例提供了一种相似数据搜索方法、系统及电子设备,能够以高效准确地确定出相似数据,降低计算成本,提高搜索效率。
在第一方面,本说明书实施例提供了一种相似数据搜索方法,包括:
获取指定查询数据与给定数据集,所述给定数据集包括多项基本数据,所述指定查询数据与多项所述基本数据均为非结构化数据;
对所述指定查询数据与多项所述基本数据进行特征向量提取,生成相对应的多维特征向量,并根据所述多维向量在多维向量空间中确定与所述指定查询数据对应的查询点以及与多项基本数据对应的多个数据点;
对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码;
针对多个所述数据点构造近邻图,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点;
确定所述最近邻数据点对应的所述基本数据为所述给定查询数据对应的相似数据。
本说明书实施例还提供了一种相似数据搜索系统,包括:
数据获取模块,用于获取指定查询数据与给定数据集,所述给定数据集包括多项基本数据,所述指定查询数据与多项所述基本数据均为非结构化数据;
特征向量提取模块,用于对所述指定查询数据与多项所述基本数据进行特征向量提取,生成相对应的多维特征向量,并根据所述多维向量在多维向量空间中确定与所述指定查询数据对应的查询点以及与多项基本数据对应的多个数据点;
近似编码模块,用于对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码;
最近邻搜索模块,用于针对多个所述数据点构造近邻图,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点;以及
相似数据确定模块,用于确定所述最近邻数据点对应的所述基本数据为所述给定查询数据对应的相似数据。
本说明书实施例还提供了一种相似数据搜索电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,,所述处理器执行所述程序时实现如第一方面所述的相似数据搜索方法。
从上面可以看出,本说明书实施例所提供的一种相似数据搜索方法、系统及电子设备,具有以下有益技术效果:
所述相似数据搜索方法,确定指定查询数据与给定数据集中多项基本数据的多维特征向量,并对多维特征向量进行近似编码生成对应的向量近似编码,并基于所述向量近似编码执行最近邻搜索,由于近似编码良好的距离保持能力和高计算效率,能够实现更加快速地搜索确定出最近邻数据点,从而确定指定查询数据对应的相似数据。这样的方式能够以高效准确地确定出相似数据,降低计算成本,提高搜索效率。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本说明书一个或多个可选实施例所提供的一种相似数据搜索方法示意图;
图2示出了本说明书一个或多个可选实施例所提供的一种相似数据搜索方法中进行近似编码的方法示意图;
图3示出了本说明书一个或多个可选实施例所提供的一种相似数据搜索方法中构造近邻图的方法示意图;
图4示出了本说明书一个或多个可选实施例所提供的一种相似数据搜索方法中进行最近邻搜索的方法示意图;
图5示出了本说明书一个或多个可选实施例所提供的一种相似数据搜索系统结构示意图;
图6示出了本说明书一个或多个可选实施例所提供的一种相似数据搜索电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前信息化社会,大数据技术获得越发广泛的应用,其主体是为半结构化和非结构化数据(如文本、图像、音频和视频数据等),占总采集量的85%以上,蕴含巨大价值。不过非结构大数据具有海量、异构和混杂等特性,给信息存储、计算以及面向各种应用的数据处理技术带来了前所未有的挑战。为充分挖掘利用非结构化大数据的价值,需要能够对海量非结构化数据进行高效地处理与分析,相似性搜索作为其中的一个关键基础问题,具有重要研究意义。
相似性搜索是指从给定数据集合中搜索出与指定查询数据最相似数据的过程。由于非结构化数据在结构方面的复杂性导致难以直接计算相似度,一些相关技术中采用提取特征向量的方式将数据转换为向量空间中的数据点进行最近邻搜索,然而高维空间中的最近邻搜索往往会面临“维度灾难”问题,实际处理效果并不理想。一些针对高维空间进行最近邻搜索的其他相关技术也往往都会存在计算量过大,计算成本高,搜索效率低的问题。
针对上述问题,本说明书实施例的目的在于提出一种相似数据搜索方法、系统及电子设备,对指定查询数据以及给定数据集中的数据进行近似编码处理后进行最近邻检索,利用近似编码良好的距离保持能力和快速的计算速度,有效减少方案计算量,提升检索效率,能够更加快速准确地从给定数据集中检索确定出相似数据。
基于上述目的,本说明书实施例提供了一种相似数据搜索方法。
如图1所示,本说明书一个或多个可选实施例所提供的一种相似数据检索方法,包括:
S1:获取指定查询数据与给定数据集,所述给定数据集包括多项基本数据,所述指定查询数据与多项所述基本数据均为非结构化数据。
相似性搜索需要在给定数据集中搜索出与指定查询数据最为相似的数据项。可以通过数据输入接口获取所述指定查询数据与所述给定数据集,所述给定数据集还可以从数据库中直接获取。所述指定查询数据与多项所述基本数据均为非结构化数据,如图像数据、视频数据、文本数据等。
S2:对所述指定查询数据与多项所述基本数据进行特征向量提取,生成相对应的多维特征向量,并根据所述多维向量在多维向量空间中确定与所述指定查询数据对应的查询点以及与多项基本数据对应的多个数据点。
对所述指定查询数据与多项所述基本数据进项特征向量提取,将原本非结构化的所述指定查询数据、所述基本数据转换为多维特征向量进行表征和描述。
针对不同类型的非结构化数据,可以采用相应的特征向量提取方法。例如,针对图像数据、视频数据,有SIFT特征提取方法、HOG(方向梯度直方图)特征提取方法等;对于音频数据,有MFCC(Mel Frequency Cepstral Coefficient)、PLP(Perceptual LinearPrediction Coefficients)等方法;对于文本数据,有tf-idf算法、word2vec算法可以提取特征。此外,还可以面向各种非结构化数据建立深度学习模型,利用深度学习模型提取对应的高维向量作为非结构化数据对应的所述高维特征向量。
通过对非结构化数据进行特征向量提取生成相应的多维特征向量,所述指定查询数据以及多项所述基本数据可以用多维向量空间中的一个点来表示。在多维向量空间中,点与点之间的距离远近可以用来衡量对应的非结构化数据之间的相似程度。
S3:对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码。
通过对多维向量空间多个维度进行区间划分,可以确定所述多维特征向量在向量空间每一维度上的区间归属情况,基于区间归属情况对所述多维特征向量进行近似编码,所得的相应的所述向量近似编码实际上是利用对应归属的区间来表征具体的向量分量,因此所述向量近似编码能够在一定程度上表征所述多维特征向量对应的非结构化数据的数据特征。对于多维向量空间中的所述查询点、所述数据点而言,其对应的所述向量近似编码具有很好的距离保持能力,因此也能够用来衡量数据间的相似程度。
S4:针对多个所述数据点构造近邻图,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点。
通过对多个所述数据点构造近邻图,可以确定每个数据点对应的多个邻居点,进而可以采用最近邻搜索方式,迭代地从参考点的邻居中寻找出更靠近查询点的数据点,实现不断向最近邻点靠近,从而最终搜索确定出最近邻点。在最近邻搜索的迭代过程中,可以基于所述查询点以及多个所述数据点对应的所述向量近似编码来确定点与点之间的近似距离从而进行迭代,能够大大提高迭代过程中的计算效率,降低计算成本。
S5:确定所述最近邻数据点对应的所述基本数据为所述给定查询数据对应的相似数据。
所述相似数据搜索方法,确定指定查询数据与给定数据集中多项基本数据的多维特征向量,并对多维特征向量进行近似编码生成对应的向量近似编码,并基于所述向量近似编码执行最近邻搜索,由于近似编码良好的距离保持能力和高计算效率,能够实现更加快速地搜索确定出最近邻数据点,从而确定指定查询数据对应的相似数据。这样的方式能够以高效准确地确定出相似数据,降低计算成本,提高搜索效率。
如图2所示,在本说明书一个或多个可选实施例所提供的一种相似数据搜索方法中,对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码,包括:
S201:统计所述给定数据集对应的多个所述多维特征向量在多个维度上的取值范围。
在多维向量空间中的每个维度中,存在具体数据的部分才具有分区意义,因此可以先统计确定多项所述基本数据对应的多个所述多维特征向量在多个维度上的取值范围。所述取值范围可以记作[Li,Ui],表示在第i个维度上的取值范围。
S202:将所述取值范围平均划分成多个区间,并分别对多个区间进行编号。
一种可选的实施方式是将所述取值范围划分成2b个区间,并依次编号。如此,每个区间的编号都可以用一个长为b的比特串表示。例如,b=2,则每个维度被划分成22=4个区间,每个区间可以使用一个2比特串表示其编号:00,01,10,11。可以理解的是,具体划分区间的个数可以根据实际情况灵活设定,区间划分越多则生成的所述向量近似编码与所述多维特征向量越相近,区间划分少则可以降低计算复杂度,提升计算效率。
S203:确定所述多维特征向量各维度分量对应所属的区间,依次将各维度分量对应区间的编号合并作为所述向量近似编码。
对于所述多维特征向量,确定其在每个维度上所落入区间对应的编码,所有维度区间的编码串起来形成对应的所述向量近似编码:
其中,Cx表示所述给定数据集中所述基本数据X对应的所述向量近似编码,分别表示在多个维度上对应的区间编码,d表示多维特征向量的维度总数。
如图3所示,在本说明书一个或多个可选实施例所提供的一种相似数据搜索方法中,针对多个所述数据点构造近邻图,包括:
S301:依次选取多个所述数据点作为顶点。
S302:确定所述顶点与其他多个所述数据点之间的距离,选取与所述顶点间距离最小的多个所述数据点作为所述顶点的邻居点。
可以将所述顶点与其他多个所述数据点之间的距离从小到大进行排序,选取排序靠前的多个距离对应的所述数据点作为所述顶点的邻居点。其中,所选定的邻居点的个数可以根据实际情况进行灵活设定。
S303:利用有向边将所述顶点与相应的多个所述邻居点连接,有向边从所述顶点指向所述邻居点。
可以采用线性扫描的方式为所述给定数据集对应的多个所述数据点构造近邻图,近邻图能够更加直观地表征多个点之间的距离关系,利用近邻图辅助最近邻搜索,能够大大提升搜索效率。
如图4所示,在本说明书一个或多个可选实施例所提供的一种相似数据搜索方法中,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点,包括:
S401:从多个所述数据点中随机选取一个作为最近邻候选点o。
S402:基于所述近邻图确定所述最近邻候选点的多个邻居点。
S403:根据所述查询点与多个所述邻居点对应的向量近似编码,确定所述查询点与多个所述邻居点之间的近似距离。
所述查询点与所述邻居点之间的所述近似距离:
其中,q,x分别表示所述查询点与所述邻居点,dist2(q,x)表示所述近似距离,d表示所述多维特征向量的维度数量,cq,cx分别表示所述查询点与所述邻居点对应的所述向量近似编码,分别表示所述查询点、所述邻居点的所述向量近似编码在第i个维度上对应的区间编号;/>分别表示在第i个维度上所述查询点、所述邻居点对应区间的中点。
一些可选实施方案中,在对所述多维向量进行区间划分时,还确定多个区间的中点以及各区间中点两两之间的距离记录在距离表中。
在根据所述查询点与多个所述邻居点对应的向量近似编码,确定所述查询点与多个所述邻居点之间的近似距离时,基于所述距离表利用查表法查询确定在第i个维度上所述查询点、所述邻居点对应区间的中点以及中点间的距离。
通过查表法能够快速确定在第i个维度上所述查询点、所述邻居点对应区间的中点以及中点间的距离,即在计算所述近似聚利时直接利用已经确定并记录的数据,不用再重新计算,从而可以大大提高计算效率。
S404:选取与所述查询点之间近似距离最小的多个邻居点,并计算这多个邻居点与所述查询点之间的原始距离。
在选取与所述查询点q之间近似距离最小的多个邻居点时,所选取的邻居点的个数根据所述近邻图中为每个所述数据点对应维护的邻居点的个数确定。
所述近邻图中为每个所述数据点对应维护的邻居点个数记为g,选取与所述查询点之间近似距离最小的多个邻居点时所选取的邻居点的个数τ:
τ=log2g。
在选取出与所述查询点q之间近似距离最小的τ个邻居点之后,进一步计算所述查询点与τ个邻居点之间的原始距离,所述原始距离是指所述邻居点与所述查询点之间的欧氏距离。所述欧氏距离根据所述邻居点与所述查询点q相应的所述多维特征向量计算确定。
所述邻居点与所述查询点之间的欧氏距离可以记为‖q,x‖。
S405:选取与所述查询点之间原始距离最小的点作为待定点,将所述待定点与所述查询点之间的原始距离与所述最近邻候选点与所述查询点之间的原始距离进行对比。
所述待定点与所述查询点之间的原始距离记为‖q,x*‖,x*表示所述待定点。所述最近邻候选点与所述查询点之间的原始距离记为‖q,o‖,o表示所述最近邻候选点。
S406:响应于所述待定点对应的所述原始距离小于所述最近邻候选点对应的所述原始距离,选取所述待定点作为新的最近邻候选点继续搜索。
若所述待定点对应的所述原始距离小于所述最近邻候选点对应的所述原始距离,即‖q,x*‖<‖q,o‖,则说明所述待定点与所述查询点距离更近,可以将所述待定点作为新的最近邻候选点,确定新的最近邻候选点的多个邻居点,按照上述的方式重新搜索选取新的待定点,进行迭代搜索。
S407:响应于所述待定点对应的所述原始距离不小于所述最近邻候选定对应的所述原始距离,确定所述最近邻候选点为所述查询点对应的所述最近邻数据点。
若所述待定点对应的所述原始距离比小于所述最近邻候选点对应的所述原始距离,即‖q,x*‖<‖q,o‖不成立,说明当前的所述最近邻候选点是多个所述数据点中与所述查询点距离最近的点,可以确定当前所述最近邻候选点即所述最近邻数据点。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一构思,与上述任意实施例方法相对应的,本说明书实施例还提供了一种相似数据搜索系统。
参考图5,所述相似数据搜索系统,包括:
数据获取模块,用于获取指定查询数据与给定数据集,所述给定数据集包括多项基本数据,所述指定查询数据与多项所述基本数据均为非结构化数据;
特征向量提取模块,用于对所述指定查询数据与多项所述基本数据进行特征向量提取,生成相对应的多维特征向量,并根据所述多维向量在多维向量空间中确定与所述指定查询数据对应的查询点以及与多项基本数据对应的多个数据点;
近似编码模块,用于对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码;
最近邻搜索模块,用于针对多个所述数据点构造近邻图,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点;以及
相似数据确定模块,用于确定所述最近邻数据点对应的所述基本数据为所述给定查询数据对应的相似数据。
在本说明书一个或多个可选实施例方式所提供的一种相似数据搜索系统中,所述近似编码模块,还用于统计所述给定数据集对应的多个所述多维特征向量在多个维度上的取值范围;将所述取值范围平均划分成多个区间,并分别对多个区间进行编号;确定所述多维特征向量各维度分量对应所属的区间,依次将各维度分量对应区间的编号合并作为所述向量近似编码。
在本说明书一个或多个可选实施例方式所提供的一种相似数据搜索系统中,所述最近邻搜索模块,还用于依次选取多个所述数据点作为顶点;确定所述顶点与其他多个所述数据点之间的距离,选取与所述顶点间距离最小的多个所述数据点作为所述顶点的邻居点;利用有向边将所述顶点与相应的多个所述邻居点连接,有向边从所述顶点指向所述邻居点。
在本说明书一个或多个可选实施例方式所提供的一种相似数据搜索系统中,所述最近邻搜索模块,还用于从多个所述数据点中随机选取一个作为最近邻候选点;基于所述近邻图确定所述最近邻候选点的多个邻居点;根据所述查询点与多个所述邻居点对应的向量近似编码,确定所述查询点与多个所述邻居点之间的近似距离;选取与所述查询点之间近似距离最小的多个邻居点,并计算这多个邻居点与所述查询点之间的原始距离;选取与所述查询点之间原始距离最小的点作为待定点,将所述待定点与所述查询点之间的原始距离与所述最近邻候选点与所述查询点之间的原始距离进行对比;在所述待定点对应的所述原始距离小于所述最近邻候选点对应的所述原始距离的情况下,选取所述待定点作为新的最近邻候选点继续搜索;在所述待定点对应的所述原始距离不小于所述最近邻候选定对应的所述原始距离的情况下,确定所述最近邻候选点为所述查询点对应的所述最近邻数据点。
在本说明书一个或多个可选实施例方式所提供的一种相似数据搜索系统中,所述最近邻搜索模块采用以下公式计算近似距离:
所述查询点与所述邻居点之间的所述近似距离:
其中,q,x分别表示所述查询点与所述邻居点,dist2(q,x)表示所述近似距离,d表示所述多维特征向量的维度数量,cq,cx分别表示所述查询点与所述邻居点对应的所述向量近似编码,分别表示所述查询点、所述邻居点的所述向量近似编码在第i个维度上对应的区间编号;/>分别表示在第i个维度上所述查询点、所述邻居点对应区间的中点。
在本说明书一个或多个可选实施例方式所提供的一种相似数据搜索系统中,所述原始距离是指所述邻居点与所述查询点之间的欧氏距离;所述欧氏距离根据所述邻居点与所述查询点相应的所述多维特征向量计算确定。
在本说明书一个或多个可选实施例方式所提供的一种相似数据搜索系统中,所述最近邻搜索模块在选取与所述查询点之间近似距离最小的多个邻居点时,所选取的邻居点的个数根据所述近邻图中为每个所述数据点对应维护的邻居点的个数确定。
所述近邻图中为每个所述数据点对应维护的邻居点个数记为g,选取与所述查询点之间近似距离最小的多个邻居点时所选取的邻居点的个数τ:
τ=log2g。
在本说明书一个或多个可选实施例方式所提供的一种相似数据搜索系统中,所述近似编码模块在对所述多维向量进行区间划分时,还用于确定多个区间的中点以及各区间中点两两之间的距离记录在距离表中。
所述最近邻搜索模块在根据所述查询点与多个所述邻居点对应的向量近似编码,确定所述查询点与多个所述邻居点之间的近似距离时,还基于所述距离表利用查表法查询确定在第i个维度上所述查询点、所述邻居点对应区间的中点以及中点间的距离。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的系统用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的相似数据搜索方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的相似数据搜索方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种相似数据搜索方法,其特征在于,所述方法包括:
获取指定查询数据与给定数据集,所述给定数据集包括多项基本数据,所述指定查询数据与多项所述基本数据均为非结构化数据;
对所述指定查询数据与多项所述基本数据进行特征向量提取,生成相对应的多维特征向量,并根据所述多维向量在多维向量空间中确定与所述指定查询数据对应的查询点以及与多项基本数据对应的多个数据点;
对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码;
针对多个所述数据点构造近邻图,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点;
确定所述最近邻数据点对应的所述基本数据为所述给定查询数据对应的相似数据。
2.根据权利要求1所述的方法,其特征在于,对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码,包括:
统计所述给定数据集对应的多个所述多维特征向量在多个维度上的取值范围;
将所述取值范围平均划分成多个区间,并分别对多个区间进行编号;
确定所述多维特征向量各维度分量对应所属的区间,依次将各维度分量对应区间的编号合并作为所述向量近似编码。
3.根据权利要求1所述的方法,其特征在于,针对多个所述数据点构造近邻图,包括:
依次选取多个所述数据点作为顶点;
确定所述顶点与其他多个所述数据点之间的距离,选取与所述顶点间距离最小的多个所述数据点作为所述顶点的邻居点;
利用有向边将所述顶点与相应的多个所述邻居点连接,有向边从所述顶点指向所述邻居点。
4.根据权利要求1所述的方法,其特征在于,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点,包括:
从多个所述数据点中随机选取一个作为最近邻候选点;
基于所述近邻图确定所述最近邻候选点的多个邻居点;
根据所述查询点与多个所述邻居点对应的向量近似编码,确定所述查询点与多个所述邻居点之间的近似距离;
选取与所述查询点之间近似距离最小的多个邻居点,并计算这多个邻居点与所述查询点之间的原始距离;
选取与所述查询点之间原始距离最小的点作为待定点,将所述待定点与所述查询点之间的原始距离与所述最近邻候选点与所述查询点之间的原始距离进行对比;
响应于所述待定点对应的所述原始距离小于所述最近邻候选点对应的所述原始距离,选取所述待定点作为新的最近邻候选点继续搜索;
响应于所述待定点对应的所述原始距离不小于所述最近邻候选定对应的所述原始距离,确定所述最近邻候选点为所述查询点对应的所述最近邻数据点。
5.根据权利要求4所述的方法,其特征在于,根据所述查询点与多个所述邻居点对应的向量近似编码,确定所述查询点与多个所述邻居点之间的近似距离,包括:
所述查询点与所述邻居点之间的所述近似距离:
其中,q,x分别表示所述查询点与所述邻居点,dist2(q,x)表示所述近似距离,d表示所述多维特征向量的维度数量,cq,x分别表示所述查询点与所述邻居点对应的所述向量近似编码,分别表示所述查询点、所述邻居点的所述向量近似编码在第i个维度上对应的区间编号;/>分别表示在第i个维度上所述查询点、所述邻居点对应区间的中点。
6.根据权利要求4所述的方法,其特征在于,所述原始距离是指所述邻居点与所述查询点之间的欧氏距离;
所述欧氏距离根据所述邻居点与所述查询点相应的所述多维特征向量计算确定。
7.根据权利要求4所述的方法,其特征在于,在选取与所述查询点之间近似距离最小的多个邻居点时,所选取的邻居点的个数根据所述近邻图中为每个所述数据点对应维护的邻居点的个数确定;
所述近邻图中为每个所述数据点对应维护的邻居点个数记为g,选取与所述查询点之间近似距离最小的多个邻居点时所选取的邻居点的个数τ:
τ=log2g。
8.根据权利要求5所述的方法,其特征在于,在对所述多维向量进行区间划分时,还确定多个区间的中点以及各区间中点两两之间的距离记录在距离表中;
在根据所述查询点与多个所述邻居点对应的向量近似编码,确定所述查询点与多个所述邻居点之间的近似距离时,基于所述距离表利用查表法查询确定在第i个维度上所述查询点、所述邻居点对应区间的中点以及中点间的距离。
9.一种相似数据搜索系统,其特征在于,所述系统包括:
数据获取模块,用于获取指定查询数据与给定数据集,所述给定数据集包括多项基本数据,所述指定查询数据与多项所述基本数据均为非结构化数据;
特征向量提取模块,用于对所述指定查询数据与多项所述基本数据进行特征向量提取,生成相对应的多维特征向量,并根据所述多维向量在多维向量空间中确定与所述指定查询数据对应的查询点以及与多项基本数据对应的多个数据点;
近似编码模块,用于对多维向量空间的多个维度进行区间划分,根据所述多维特征向量多维度分量在对应维度上的区间归属情况,对所述多维特征向量进行近似编码,以生成对应的向量近似编码;
最近邻搜索模块,用于针对多个所述数据点构造近邻图,基于所述近邻图以及所述向量近似编码在多个所述数据点中进行最近邻搜索,以确定所述查询点的最近邻数据点;以及
相似数据确定模块,用于确定所述最近邻数据点对应的所述基本数据为所述给定查询数据对应的相似数据。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310580844.7A CN116610840A (zh) | 2023-05-19 | 2023-05-19 | 一种相似数据搜索方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310580844.7A CN116610840A (zh) | 2023-05-19 | 2023-05-19 | 一种相似数据搜索方法、系统及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116610840A true CN116610840A (zh) | 2023-08-18 |
Family
ID=87683138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310580844.7A Pending CN116610840A (zh) | 2023-05-19 | 2023-05-19 | 一种相似数据搜索方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610840A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194737A (zh) * | 2023-09-14 | 2023-12-08 | 上海交通大学 | 基于距离阈值的近似近邻搜索方法、系统、介质及设备 |
CN117194737B (zh) * | 2023-09-14 | 2024-06-07 | 上海交通大学 | 基于距离阈值的近似近邻搜索方法、系统、介质及设备 |
-
2023
- 2023-05-19 CN CN202310580844.7A patent/CN116610840A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194737A (zh) * | 2023-09-14 | 2023-12-08 | 上海交通大学 | 基于距离阈值的近似近邻搜索方法、系统、介质及设备 |
CN117194737B (zh) * | 2023-09-14 | 2024-06-07 | 上海交通大学 | 基于距离阈值的近似近邻搜索方法、系统、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162695B (zh) | 一种信息推送的方法及设备 | |
US9454580B2 (en) | Recommendation system with metric transformation | |
US20230161822A1 (en) | Fast and accurate geomapping | |
US20230205822A1 (en) | Building a graph index and searching a corresponding dataset | |
CN106649782B (zh) | 一种图片检索方法和系统 | |
CN112825199B (zh) | 碰撞检测方法、装置、设备及存储介质 | |
WO2017095439A1 (en) | Incremental clustering of a data stream via an orthogonal transform based indexing | |
CN114817657A (zh) | 待检索数据处理方法、数据检索方法、电子设备及介质 | |
CN114049463A (zh) | 一种二叉树的数据网格化、网格点数据的获取方法及装置 | |
CN110083732B (zh) | 图片检索方法、装置及计算机存储介质 | |
CN116610840A (zh) | 一种相似数据搜索方法、系统及电子设备 | |
CN115129949A (zh) | 向量范围检索的方法、装置、设备、介质及程序产品 | |
CN114417964B (zh) | 卫星运营商分类方法、装置及电子设备 | |
CN115470190A (zh) | 一种多存储池数据分类存储方法、系统与电子设备 | |
CN116628280A (zh) | 一种基于方位编码的相似数据搜索方法、系统及电子设备 | |
CN114691940A (zh) | 索引构建方法、装置、向量搜索方法及检索系统 | |
US11593412B2 (en) | Providing approximate top-k nearest neighbours using an inverted list | |
CN110807115B (zh) | 人脸检索方法、装置、及存储装置 | |
CN112100412A (zh) | 图片检索方法、装置、计算机设备和存储介质 | |
CN110880005B (zh) | 向量索引建立方法及装置和向量检索方法及装置 | |
CN113239237B (zh) | 跨媒体大数据搜索方法及装置 | |
CN116777727B (zh) | 存算一体芯片、图像处理方法、电子设备及存储介质 | |
CN116664245A (zh) | 一种基于价值的物品推荐方法、系统及电子设备 | |
CN117456210A (zh) | 向量处理方法、装置、设备及存储介质 | |
CN114896240A (zh) | 一种数据检索方法、装置、存储介质及电子装置 |
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 |