CN114238329A - 向量相似度计算方法、装置、设备及存储介质 - Google Patents
向量相似度计算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114238329A CN114238329A CN202111536035.3A CN202111536035A CN114238329A CN 114238329 A CN114238329 A CN 114238329A CN 202111536035 A CN202111536035 A CN 202111536035A CN 114238329 A CN114238329 A CN 114238329A
- Authority
- CN
- China
- Prior art keywords
- vector
- query
- cluster
- distance
- database
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- 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/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提出一种向量相似度计算方法、装置、设备及存储介质,属于机器学习技术领域。其中方法包括:获取查询向量,计算查询向量与预设的第一簇心之间的第一距离,根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇,根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到第二距离,根据第二距离计算向量相似度值。本实施例首先筛选得到第一查询簇,避免在整个数据库中进行查询,在一定程度上减少查询数据量,然后在第一查询簇中进行向量分段计算,通过分段查询简化计算的过程,降低计算复杂程度,减少计算成本,能够高效的计算向量之间的相似度,适用于数据量大或者维度高的复杂业务场景。
Description
技术领域
本申请实施例涉及机器学习技术领域,尤其涉及一种向量相似度计算方法、装置、设备及存储介质。
背景技术
随着互联网时代的发展,互联网信息数据正以极快的速度增长。由于大数据的发展及人工智能的应用,迫切需要发现大型数据集中的数据模式,类似于数据挖掘技术,使用不同的方式来分析数据集。例如在数据库中快速且准确地进行向量相似性搜索,相似性搜索的目的是迅速地标识数据集中类似于特定的查询向量的向量。
但是在数据库中计算向量之间的相似度,计算复杂度会随着目标数据量的增加而线性增加,例如数据库中有1000万条向量数据,现需要计算数据库中哪个向量表示与查询向量最相似,此时的时间复杂度为O(N),即需要把查询向量与数据库中的1000万向量数据逐一计算,即计算1000万次。此时如果数据库中的数据增加了1000万,此时需计算2000万次,计算成本非常高,不利于工业级的应用。相关技术中,向量相似度计算系统主要利用神经网络算法,该算法的优点是计算精度高,但是缺点是实时性差;另一种非神经网络算法计算向量相似度,则存在计算精度低、计算复杂度高的问题,难以在数据量大,维度高的复杂业务场景中使用。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种向量相似度计算方法、装置、设备及存储介质,能够降低计算复杂程度,减少计算成本,提高向量相似度的计算效率。
第一方面,本申请实施例提供一种向量相似度计算方法,包括:
获取查询向量;
计算所述查询向量与预设的第一簇心之间的第一距离;
根据所述第一距离和预设第一阈值,从对应所述第一簇心的第一簇中选取第一查询簇;
根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离;
根据所述第二距离计算向量相似度值。
在一可选的实现方式中,所述获取查询向量之前,所述方法还包括:
获取预设的查询数据库;
对所述查询数据库的数据库向量进行第一聚类处理,得到所述第一簇;其中每个所述第一簇包括一个第一簇心。
在一可选的实现方式中,所述根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离,包括:
获取预分段段数;
根据所述预分段段数对所述查询向量进行分段处理,得到查询子段向量,所述查询子段向量的数量与所述预分段段数相等;
计算每个所述查询子段向量与预设的第二簇心之间的第二距离。
在一可选的实现方式中,所述计算每个所述查询子段向量与预设的第二簇心之间的第二距离之前,所述方法还包括获取预设的第二簇心,具体包括:
获取预设的查询数据库;
对所述查询数据库的数据库向量按照所述预分段段数进行预分段处理,得到每个数据库向量对应的多个子段向量;
对所述数据库向量的每一个所述子段向量进行第二聚类处理,得到每个子段向量对应的多个第二簇,其中每个所述第二簇包括一个第二簇心,所述第二簇心为第二簇的聚类中心;
将每个所述第二簇的第二簇心作为所述预设的第二簇心。
在一可选的实现方式中,所述计算每个所述查询子段向量与预设的第二簇心之间的第二距离,包括:
对所述查询数据库中数据库向量进行映射得到簇标识向量;
计算每个所述查询子段向量与所述簇标识向量对应的第二簇心之间的第二距离。
在一可选的实现方式中,所述对所述查询数据库中数据库向量进行映射得到簇标识向量,包括:
计算所述数据库向量的每个子段向量与其对应的多个第二簇心之间的第三距离;
根据所述第三距离与预设第二阈值得到每个所述子段向量对应的第二簇心标识;
根据所述数据库向量对应的第二簇心标识,将所述数据库向量映射为簇标识向量。
在一可选的实现方式中,所述根据所述第二距离计算向量相似度值,包括:
根据所述第二距离计算查询距离;
根据所述查询距离与预设第三阈值,计算所述向量相似度值。
在一可选的实现方式中,若所述第一查询簇的数量大于1;
所述根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离,包括:
根据所述查询向量的多个查询子段向量在每个所述第一查询簇中进行向量分段计算,得到对应每个第一查询簇的第二距离;
所述根据所述第二距离计算向量相似度值,包括:
根据每个第一查询簇对应的所述第二距离计算对应每个第一查询簇的向量相似度值;
对每个第一查询簇中得到的向量相似度值进行第一排序,得到第一排序结果;
根据所述第一排序结果选取向量相似度值。
在一可选的实现方式中,所述计算所述查询向量与预设的第一簇心之间的第一距离,包括:
根据预设聚合数对预设的第一簇心对应的第一簇进行聚合处理,得到聚合簇,所述聚合簇存储在不同的存储空间中;
在每个聚合簇中计算所述查询向量与预设的第一簇心之间的第一距离。
第二方面,本申请实施例提供一种向量相似度计算装置,包括:
查询向量获取模块,用于获取查询向量;
第一距离计算模块,用于计算所述查询向量与预设的第一簇心之间的第一距离;
第一查询簇获取模块,用于根据所述第一距离和预设第一阈值,从对应所述第一簇心的第一簇中选取第一查询簇;
第二距离计算模块,用于根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离;
向量相似度值计算模块,用于根据所述第二距离计算向量相似度值。
第三方面,一种计算机设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于根据所述程序执行如第一方面中任一项所述的向量相似度计算方法。
第四方面,本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面中任意一项所述的向量相似度计算方法。
本申请实施例第一方面提供的一种向量相似度计算方法,与相关技术相比,获取查询向量,计算查询向量与预设的第一簇心之间的第一距离,根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇,根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到第二距离,根据第二距离计算向量相似度值。本实施例首先筛选得到第一查询簇,避免在整个数据库中进行查询,在一定程度上减少查询数据量,然后在第一查询簇中进行向量分段计算,通过分段查询简化计算的过程,能够降低计算复杂程度,减少计算成本,提高向量相似度的计算效率。
可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的示例性系统架构的示意图;
图2是本申请一个实施例提供的向量相似度计算方法的流程图;
图3是本申请一个实施例提供的向量相似度计算方法的又一流程图;
图4是本申请一个实施例提供的分段处理示意图;
图5是本申请一个实施例提供的向量相似度计算方法的又一流程图;
图6是本申请一个实施例提供的第二聚类示意图;
图7是本申请一个实施例提供的向量相似度计算方法的又一流程图;
图8是本申请一个实施例提供的向量相似度计算方法的又一流程图;
图9是本申请一个实施例提供的向量相似度计算方法的又一流程图;
图10是本申请一个实施例提供的向量相似度计算方法的又一流程图;
图11是本申请一个实施例提供的向量相似度计算示意图;
图12是本申请一个实施例提供的向量相似度计算装置的结构框图。
具体实施方式
为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请实施例。
首先,对本申请中涉及的若干名词进行解析:
K-means聚类算法:是基于欧式距离的一种聚类算法,其认为两个向量的欧式距离越近,相似度越大。K-means聚类算法中首先确定聚类参数k,然后将查询数据库中所有的数据库向量划分为k个聚类,以便使得所获得的聚类满足以下条件:同一聚类中数据库向量的相似度较高;而不同聚类数据库向量的向量相似度较小。
簇:由聚类所生成的一组样本的集合,同一簇内样本彼此相似,与其他簇中的样本相异。
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着大数据的发展及人工智能的应用,互联网数据量正以极快的速度增长,需要发现大型数据集中的数据模式进行针对性应用。类似于数据挖掘技术,使用不同的方式来分析数据集,例如在n维空间中的快速且准确地进行向量相似性搜索,相似性搜索的目的是迅速地标识数据集中类似于特定的查询项目的向量。目前常见的向量相似度计算即属于向量相似性搜索,已经成为目前网络技术应用的一项重要内容,例如在用户浏览新闻时时推荐可能感兴趣的内容,在用户浏览商品时推荐倾向购买的商品等。
但是在数据库中计算向量之间的相似度,计算复杂度会随着目标数据量的增加而线性增加,例如数据库中有1000万条向量数据,现需要计算数据库中哪个向量表示与查询向量最相似,此时的时间复杂度为O(N),即需要把查询向量与数据库中的1000万向量数据逐一计算,即计算1000万次。此时如果数据库中的数据增加了1000万,此时需计算2000万次,计算成本非常高,不利于工业级的应用。相关技术中,向量相似度计算系统主要利用神经网络算法,该算法的优点是计算精度高,但是缺点是实时性差;另一种非神经网络算法计算向量相似度,则存在计算精度低、计算复杂度高的问题,难以在数据量大,维度高的复杂业务场景中使用。
因此,本申请实施例提供的一种向量相似度计算方法,获取查询向量,计算查询向量与预设的第一簇心之间的第一距离,根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇,根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到第二距离,根据第二距离计算向量相似度值。本实施例首先筛选得到第一查询簇,避免在整个数据库中进行查询,在一定程度上减少查询数据量,然后在第一查询簇中进行向量分段计算,通过分段查询简化计算的过程,能够降低计算复杂程度,减少计算成本,提高向量相似度的计算效率。
下面结合附图,对本申请实施例作进一步阐述。
可以理解的是,本申请实施例提供的向量相似度计算方法可以由各种具备运算处理能力的电子设备实施,例如可以为笔记本电脑、平板电脑、台式计算机、机顶盒、移动设备(例如,移动电话、个人数字助理、专用消息设备、便携式游戏设备)等各种类型的用户终端实施,也可以由服务器实施。
需要说明的是,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请实施例在此不做限制。
为了便于理解本申请实施例提供的技术方案,下面以本申请实施例提供的向量相似度计算方法应用于服务器为例,对本申请实施例提供的向量相似度计算方法适用的应用场景进行介绍。
参见图1,图1为本申请实施例提供的向量相似度计算方法的应用场景示意图。
如图1所示,本申请实施例提供的向量相似度计算方法应用于系统框架100,其中系统架构100可以包括数据库101、网络102和服务器103。网络102用以在数据库101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
在本申请实施例的一个实施例中,服务器103从数据库101中获取查询向量,计算查询向量与预设的第一簇心之间的第一距离,根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇,根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到第二距离,根据第二距离计算向量相似度值。首先筛选得到第一查询簇,避免在整个数据库中进行查询,在一定程度上减少查询数据量,然后在第一查询簇中进行向量分段计算,通过分段查询简化计算的过程,降低计算复杂程度,减少计算成本,能够高效的计算向量之间的相似度,适用于数据量大或者维度高的复杂业务场景。
需要说明的是,本申请实施例所提供的向量相似度计算方法一般由服务器103执行,相应地,向量相似度计算装置一般设置于服务器103中。但是,在本申请实施例的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本申请实施例所提供的向量相似度计算方案。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。本领域技术人员可以理解的是,图1中示出的系统架构并不构成对本申请实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述系统架构,提出本申请实施例的向量相似度计算方法的各个实施例。
如图2所示,图2是本申请一个实施例提供的向量相似度计算方法的流程图,包括但不限于有步骤S110至步骤S150。
步骤S110,获取查询向量。
在信息推荐或者信息搜索场景中,查询向量可以是搜索的关键词,具体地,可以将搜索的关键词表示为查询向量的形式,例如表示为N维查询向量。
步骤S120,计算查询向量与预设的第一簇心之间的第一距离。
在一实施例中,为了在一定程度上减少查询数据量,避免在整个数据库中进行查询,在执行步骤S110或步骤S120之前,该向量相似度计算方法,还包括下面步骤:
获取预设的查询数据库,对查询数据库的数据库向量进行第一聚类处理,得到第一簇;其中每个所述第一簇包括一个第一簇心。
在一实施例中,第一聚类为使用K-means聚类算法对查询数据库中数据库向量进行聚类,。
欧式距离可解释为欧氏空间中连接两个点的线段长度,N维向量a和N维向量b之间的欧式距离表示如下:
N维向量a表示为:a(x11,x12,…,x1N);
N维向量b表示为:b(x21,x22,…,x2N);
在一实施例中,第一聚类的聚类步骤描述为:
1)选择聚类参数k,对应的包含k个初始聚类中心,初始聚类中心表示为:a=a1,a2,...,ak;
2)针对查询数据库中每个数据库向量xi,1≤i≤ss,其中ss表示查询数据库中数据库向量的个数,数据库向量以x表示,i表示数据库向量的序号,xi表示第i个数据库向量,计算其到k个初始聚类中心的欧式距离,并将其分到距离最小的聚类中心所对应的类中;
3)针对每个初始聚类中心aj,1≤j≤k,j表示初始聚类中心的序号,aj表示第j个初始聚类中心,重新计算其聚类中心:1≤i≤ss(即聚类中心是该类的所有数据库向量x的质心,ci表示数据库向量xi的质心);
4)重复上面步骤2)和步骤3),直到达到预设的中止条件,则迭代结束;否则,则继续迭代。其中,中止条件可以是迭代次数或者最小误差变化等,可根据具体需求进行设定,在此不做限定。
在一实施例中,假设查询数据库中包含1000万个数据库向量,设定聚类参数k为1024,利用K-means聚类算法进行第一聚类,得到1024个第一簇,每个第一簇均包含一个聚类中心,即共有1024个第一簇心,则这1000万条数据将会被划分入这1024个簇中,划分的标准不是平均分配,而是分别计算1000万条数据到这1024个簇的距离,以聚类的思想就近分配。
在该实施例中,上述步骤S120为:分别计算N维查询向量与1024个第一簇心的距离,得到对应的1024个第一距离。
步骤S130,根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇。
在一实施例中,根据预设第一阈值选取与查询向量距离最近的第一簇作为第一查询簇,再第一查询簇中进行查询向量的向量相似度计算,避免在整个数据库中进行查询,在一定程度上减少查询数据量。
在一实施例中,在第一簇中选取第一距离小于预设第一阈值的第一簇,作为第一查询簇,第一查询簇包括一个或一个以上的第一簇。
步骤S140,根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到第二距离。
在一实施例中,在第一查询簇中进行向量分段计算,通过分段查询简化计算的过程,降低计算复杂程度,减少计算成本,能够高效的计算向量之间的相似度,适用于数据量大或者维度高的复杂业务场景。
在一实施例中,参考图3,步骤S140包括但不限于步骤S141至步骤S144:
步骤S141,获取预分段段数,例如预分段段数设为M。
步骤S142,根据预分段段数对查询向量进行分段处理,得到查询子段向量,查询子段向量的数量与预分段段数相等。
在一实施例中,根据预分段段数M对N维查询向量进行分段处理,得到M个查询子段向量,M用于标识查询向量被分成多少个查询子段向量,因此M能够被查询向量的维数整除。参照图4,为分段处理示意图,图中取M=4,当查询向量为1*128维时,则将查询向量分为4段,得到4个查询子段向量,每个查询子段向量的维数都是32维。
步骤S143,分别计算每个查询子段向量与预设的第二簇心之间的第二距离。
在一实施例中,第二簇心为第二簇的聚类中心,在执行步骤S143之前,该向量相似度计算方法,还包括:
获取预设的第二簇心,参照图5,具体可以包括步骤S161至步骤S163。
步骤S161:获取预设的查询数据库。
步骤S162:对查询数据库的数据库向量按照预分段段数进行预分段处理,得到每个数据库向量对应的多个子段向量。
在一实施例中,参照图6,为对查询数据库中数据库向量进行第二聚类处理示意图,假设有N个数据库向量,每个数据库向量的维数都是1*128,预分段段数是4,则将其进行预分段得到N*4个32维的子段向量,每个数据库向量对应的4个子段向量。
步骤S163:对数据库向量的每一个子段向量进行第二聚类处理,得到每个子段向量对应的多个第二簇,其中每个第二簇包括一个第二簇心,第二簇心为第二簇的聚类中心。
具体过程是:分别对数据库向量的第f个子段进行聚类,得到每个子段向量对应的多个第二簇,每个第二簇包括一个第二簇心,其中1≤f≤M,M是预分段段数,f是整数。
参考图6,例如对第1个子段进行聚类,即对所有数据库向量的第1个子段向量取出来进行聚类,得到对应于第1子段的多个第二簇,例如使用K-means聚类算法对查询数据库中数据库向量进行聚类得到多个第二簇,每个子段对应一组第二簇。在一实施例中,第二簇的个数可以与第一簇的个数相关,例如第二簇的个数=第一簇的个数/预分段段数,但是并不对此进行限定。参考图6,对4个子段分别进行聚类,得到4组256个第二簇,256是一种示例,每个第二簇包括一个第二簇心。
可以理解的是,第二簇的聚类数量在此仅作示意,不对其进行限定。
步骤S164,将每个第二簇的第二簇心作为预设的第二簇心。
在一实施例中,步骤S164之后还包括:
步骤S165:对查询数据库中数据库向量进行映射得到簇标识向量。
在一实施例中,预先对查询数据库中数据库向量按照第二簇心进行映射,将每个数据库向量表示为簇标识向量,其中簇标识向量即将原来的数据库向量表示成与预分段段数数量相同的数字。
参照图7,步骤S165包括但不限于有以下步骤:
步骤S1651,计算数据库向量的每个子段向量与其对应的多个第二簇心之间的第三距离。
在一实施例中,对每个数据库向量分别计算其每个子段向量与对应子段的多个第二簇心之间的第三距离。
步骤S1652,根据第三距离与预设第二阈值得到每个子段向量对应的第二簇心标识。
在一实施例中,根据预设第二阈值筛选出,根据每个子段向量的多个第三距离中距离最小的一个,即根据预设第二阈值筛选出每个子段向量距离最近的第二簇心,将该距离最近的第二簇心的第二簇心标识(即第二簇心的ID标识,可以是十进制表示,用于对第二簇心进行区分)与该子段向量对应起来。
步骤S1653,根据数据库向量对应的第二簇心标识,将数据库向量映射为簇标识向量。
在一实施例中,由上述步骤得到数据库向量的每个子段向量分别对应的距离最近的第二簇心的第二簇心标识,将数据库向量映射为簇标识向量,其中簇标识向量由第二簇心标识构成。参考图6,将数据库向量进行映射表示为簇标识向量,即将N个128维数据库向量,根据其预分段段数4,分别将其映射表示为一个4维的簇标识向量,所有的簇标识向量总维数是:N*4,簇标识向量的每个值均表示对应的第二簇心标识。
步骤S150,根据第二距离计算向量相似度值。
在一实施例中,参考图8,步骤S150,包括但不限于以下步骤:
步骤S151,计算每个查询子段向量与簇标识向量对应的第二簇心之间的第二距离。
在一实施例中,选取簇标识向量进行查询,获取每个查询子段向量与簇标识向量对应子段的第二簇心标识对应的第二簇心之间的第二距离。
在一实施例中,第二距离可以预先计算,例如预先存储查询向量的每个查询子段向量与多组第二簇心的第二距离,在选取簇标识向量进行查询时,无需计算可以直接读取相关的数值,大大降低计算时间,提高查询效率。
步骤S152,根据第二距离计算得到查询距离。
在一实施例中,例如预分段段数为M,则计算得到M个查询子段向量对应的第二距离,将M个第二距离相加之后得到查询距离。
步骤S153,根据查询距离与预设第三阈值,计算得到向量相似度值。
在一实施例中,根据预设第三阈值,选取最小的查询距离对应的数据库向量作为与查询向量最相似的向量,计算得到两个向量之间向量相似度值。
在一实施例中,向量相似度值为余弦相似度值,具体是向量空间中两个向量夹角的余弦值,即利用余弦相似度计算方法计算得到向量相似度值,衡量两个向量之间的差异大小。
在一实施例中,若第一查询簇的数量大于1,利用上述步骤,根据查询向量的多个查询子段向量在每个第一查询簇中进行向量分段计算,得到对应每个第一查询簇的第二距离,然后根据每个第一查询簇对应的第二距离计算对应每个第一查询簇的向量相似度值,对每个第一查询簇中得到的向量相似度值进行第一排序,得到第一排序结果,根据第一排序结果选取向量相似度值,即根据向量相似度值,在多个第一查询簇中寻找与查询向量最相似的数据库向量,这样能够提高向量相似度计算准确性。
在一实施例中,为了提高查询效率,利用并行计算的方式进行查询。参考图9,本实施例并行计算的过程包括但不限于以下步骤:
步骤S710,根据预设聚合数对预设的第一簇心对应的第一簇进行聚合处理,得到聚合簇,聚合簇存储在不同的存储空间中。
在一实施例中,例如经过第一聚类之后得到1024个第一簇,预设聚合数的取值可以是[2,1023],根据预设聚合数对这1024个第一簇分别聚合。
对于每个预设聚合数,进行聚合之后能得到较多的组合方式。
例如预设聚合数为1时,则1024个第一簇对应1024个聚合簇。
例如预设聚合数为2时,则可以将第一簇按照2个为一组的聚合方式进行聚合得到聚合簇,例如聚合簇1:第一簇1-第一簇2;聚合簇2:第一簇1-第一簇3;聚合簇3:第一簇1-第一簇4等。
例如预设聚合数为3时,则可以将第一簇按照3个为一组的聚合方式进行聚合得到聚合簇,例如聚合簇1:第一簇1-第一簇2-第一簇3;聚合簇2:第一簇1-第一簇3-第一簇4;聚合簇3:第一簇1-第一簇2-第一簇5等。
例如预设聚合数为1024时,则得到一个包含1024个第一簇的总体组合。
在一实施例中,将不同的聚合簇存储在不同的存储空间上,例如将聚合簇1存储在存储空间1上,将聚合簇2存储在存储空间2上,将聚合簇3存储在存储空间3上,以此类推,为每个不同的聚合簇划分不同的存储空间。可以理解的是,不同的存储空间可以是物理上分离的存储介质,也可以是同一存储介质上不同分区,只要能实现并行计算即可,在次不做限定。
在一实施例中,在每个聚合簇中并行计算查询向量的向量相似度值的过程如下所述。
步骤S720,在每个聚合簇中计算查询向量与预设的第一簇心之间的第一距离。
步骤S730,在每个聚合簇中,根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇。
步骤S740,根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到每个聚合簇对应的第二距离。
步骤S750,根据第二距离计算每个聚合簇对应的向量相似度值。
在一实施例中,由于不同的聚合簇位于不同的存储空间,因此并行的在不同的存储空间运行上述步骤进行向量相似度值计算,每个聚合簇中均能得到一个或多个查询向量的向量相似度值。
步骤S760,对每个聚合簇中的向量相似度值进行第二排序,得到第二排序结果,根据第二排序结果选取向量相似度值。
在一实施例中,对每个聚合簇中得到的向量相似度值进行第二排序,根据第二排序结果选取最接近的向量相似度值,即根据向量相似度值,在多个聚合簇中寻找与查询向量最相似的数据库向量,进一步提高向量相似度计算准确性。
另外,在一实施例中,参照图10,计算向量相似度的具体流程如下面步骤S810至步骤S830所述。
步骤S810,选取第一查询簇。
假设有1000万条数据库向量,预先进行第一聚类得到1024个第一簇,然后计算查询向量和1024个第一簇心的第一距离,根据第一距离和预设第一阈值,在第一簇中选取得到第一查询簇,后续在第一查询簇中进行向量分段计算。
步骤S820,预先将数据库向量映射成簇标识向量,结合图6,将数据库向量映射成簇标识向量的过程描述为:
假设有N个数据库向量,每个数据库向量的维数都是1*128,预分段段数是4,则将其进行预分段得到N*4个32维的子段向量,每个数据库向量对应的4个子段向量。
使用K-means聚类算法对查询数据库中数据库向量对4个子段分别进行第二聚类,得到4组256个第二簇,每个第二簇包括一个第二簇心,共有4*256个第二簇心。
然后将数据库向量进行映射表示为簇标识向量,即将N个128维数据库向量,根据其预分段段数4,分别将其映射表示为4维的簇标识向量,簇标识向量的每个值均表示对应的第二簇心标识。
步骤S830,计算向量相似度,参照图11,为向量相似度计算示意图。
假设查询向量是1*128维向量,按照预分段段数4将其分为4个查询子段向量,分别计算每个查询子段向量与对应分段数的第二簇心之间的第二距离,得到一个4*256的第二距离矩阵,其中,第二距离矩阵可以预先计算得到。
根据第二距离计算得到查询距离。例如某一数据库向量被映射成[124,56,132,222],当需要计算查询向量针对该簇标识向量的查询距离时,通过读取上述第二距离矩阵,得到查询向量的第一段查询子段向量与第二簇心标识为124的第二簇心之间的距离,依次读取得到四个对应的第二距离,分别记为d1、d2、d3和d4,对其进行累加求和,得到查询距离表示为:d=d1+d2+d3+d4。由于预先存储查询向量的每个查询子段向量与多组第二簇心的第二距离,在选取簇标识向量进行查询时,无需计算,只需要查询M次第二距离矩阵,就可以直接读取相关的第二距离的数值,累加求和的方式得到查询向量针对每个簇标识向量的查询距离,大大降低计算时间,提高查询效率。
相关技术中,若查询数据库中存在N条数据库向量,在查询数据库中计算查询向量的最优向量相似度值,其时间复杂度为O(N)。
本申请实施例的计算时间复杂度表示为:O(C+M*CC+M),其中C是第一簇的个数,M是预分段段数,CC是第二簇的个数。
第一步:计算查询向量与多个第一簇的第一距离,因此该步骤的时间复杂度是O(C);
第二步:查询向量被分为M个查询子段向量,在第一查询簇中,计算查询向量的每个查询子段向量与对应分段的CC个第二簇心的第二距离,因此该步骤的时间复杂度是O(M*CC);
第三步:得到第二距离计算得到查询距离,查询M次第二距离矩阵,因此该步骤的时间复杂度是O(M);
根据上述得到本申请实施例的计算时间复杂度为:O(C+M*CC+M)。
在一实施例中,例如,查询数据库存在1000万条数据库向量,相关技术中,需要计算1000万次,本实施例中,需要计算1024+4*256+4=2052次(假设第一簇的个数为1024个,预分段段数为4,第二簇的个数为256个)。假设又新增了1000万数据,向量维度不变,此时相关技术中,需要计算2000万次;本实施例需要计算2048+4*512+4=4100次(假设第一簇的个数为2048个,预分段段数为4,第二簇的个数为512个)。一般情况第一簇的个数和第二簇的个数会随着数据增加适当增加,但增长量不大。很显然随着向量个数N的增加,相关技术中计算时间复杂度会逐渐增加,相比较本申请实施例会越来越耗时。
本申请实施例提供的一种向量相似度计算方法,获取查询向量,计算查询向量与预设的第一簇心之间的第一距离,根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇,根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到第二距离,根据第二距离,计算得到向量相似度值。本实施例首先筛选得到第一查询簇,避免在整个数据库中进行查询,在一定程度上减少查询数据量,然后在第一查询簇中进行向量分段计算,通过分段查询简化计算的过程,降低计算复杂程度,减少计算成本,能够高效的计算向量之间的相似度,适用于数据量大或者维度高的复杂业务场景。
另外,本申请实施例的一个实施例还提供了一种向量相似度计算装置,参照图12,装置包括:
查询向量获取模块121,用于获取查询向量;
第一距离计算模块122,用于计算查询向量与预设的第一簇心之间的第一距离;
第一查询簇获取模块123,用于根据第一距离和预设第一阈值,从对应第一簇心的第一簇中选取第一查询簇;
第二距离计算模块124,用于根据查询向量的多个查询子段向量在第一查询簇中进行向量分段计算,得到第二距离;
向量相似度值计算模块125,用于根据第二距离计算向量相似度值。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
需要说明的是,本实施例的向量相似度计算装置的具体实施方式与上述向量相似度计算方法的具体实施方式基本一致,在此不再赘述。
另外,本申请实施例的一个实施例还提供了计算机设备,计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例的向量相似度计算方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的向量相似度计算方法,例如,执行以上描述的图2中的方法步骤S110至步骤S150、图3中的方法步骤S141至步骤S143、图9中的方法步骤S710至步骤S760等。
此外,本申请实施例的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述计算机设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的向量相似度计算方法,例如,执行以上描述的图2中的方法步骤S110至步骤S150、图3中的方法步骤S141至步骤S143、图9中的方法步骤S710至步骤S760等。
又如,被上述计算机设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的向量相似度计算方法,例如,执行以上描述的图2中的方法步骤S110至步骤S150、图3中的方法步骤S141至步骤S143、图9中的方法步骤S710至步骤S760等。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。
Claims (12)
1.一种向量相似度计算方法,其特征在于,包括:
获取查询向量;
计算所述查询向量与预设的第一簇心之间的第一距离;
根据所述第一距离和预设第一阈值,从对应所述第一簇心的第一簇中选取第一查询簇;
根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离;
根据所述第二距离计算向量相似度值。
2.根据权利要求1所述的向量相似度计算方法,其特征在于,所述获取查询向量之前,所述方法还包括:
获取预设的查询数据库;
对所述查询数据库的数据库向量进行第一聚类处理,得到所述第一簇;其中每个所述第一簇包括一个第一簇心。
3.根据权利要求1所述的向量相似度计算方法,其特征在于,所述根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离,包括:
获取预分段段数;
根据所述预分段段数对所述查询向量进行分段处理,得到查询子段向量,所述查询子段向量的数量与所述预分段段数相等;
计算每个所述查询子段向量与预设的第二簇心之间的第二距离。
4.根据权利要求3所述的向量相似度计算方法,其特征在于,所述计算每个所述查询子段向量与预设的第二簇心之间的第二距离之前,所述方法还包括获取预设的第二簇心,具体包括:
获取预设的查询数据库;
对所述查询数据库的数据库向量按照所述预分段段数进行预分段处理,得到每个数据库向量对应的多个子段向量;
对所述数据库向量的每一个所述子段向量进行第二聚类处理,得到每个子段向量对应的多个第二簇,其中每个所述第二簇包括一个第二簇心,所述第二簇心为第二簇的聚类中心;
将每个所述第二簇的第二簇心作为所述预设的第二簇心。
5.根据权利要求4所述的向量相似度计算方法,其特征在于,所述计算每个所述查询子段向量与预设的第二簇心之间的第二距离,包括:
对所述查询数据库中数据库向量进行映射得到簇标识向量;
计算每个所述查询子段向量与所述簇标识向量对应的第二簇心之间的第二距离。
6.根据权利要求5所述的向量相似度计算方法,其特征在于,所述对所述查询数据库中数据库向量进行映射得到簇标识向量,包括:
计算所述数据库向量的每个子段向量与其对应的多个第二簇心之间的第三距离;
根据所述第三距离与预设第二阈值得到每个所述子段向量对应的第二簇心标识;
根据所述数据库向量对应的第二簇心标识,将所述数据库向量映射为簇标识向量。
7.根据权利要求1所述的向量相似度计算方法,其特征在于,所述根据所述第二距离计算向量相似度值,包括:
根据所述第二距离计算查询距离;
根据所述查询距离与预设第三阈值,计算所述向量相似度值。
8.根据权利要求1至7任一项所述的向量相似度计算方法,其特征在于,若所述第一查询簇的数量大于1;
所述根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离,包括:
根据所述查询向量的多个查询子段向量在每个所述第一查询簇中进行向量分段计算,得到对应每个第一查询簇的第二距离;
所述根据所述第二距离计算向量相似度值,包括:
根据每个第一查询簇对应的所述第二距离计算对应每个第一查询簇的向量相似度值;
对每个第一查询簇中得到的向量相似度值进行第一排序,得到第一排序结果;
根据所述第一排序结果选取向量相似度值。
9.根据权利要求1至7任一项所述的向量相似度计算方法,其特征在于,所述计算所述查询向量与预设的第一簇心之间的第一距离,包括:
根据预设聚合数对预设的第一簇心对应的第一簇进行聚合处理,得到聚合簇,所述聚合簇存储在不同的存储空间中;
在每个聚合簇中计算所述查询向量与预设的第一簇心之间的第一距离。
10.一种向量相似度计算装置,其特征在于,包括:
查询向量获取模块,用于获取查询向量;
第一距离计算模块,用于计算所述查询向量与预设的第一簇心之间的第一距离;
第一查询簇获取模块,用于根据所述第一距离和预设第一阈值,从对应所述第一簇心的第一簇中选取第一查询簇;
第二距离计算模块,用于根据所述查询向量的多个查询子段向量在所述第一查询簇中进行向量分段计算,得到第二距离;
向量相似度值计算模块,用于根据所述第二距离计算向量相似度值。
11.一种计算机设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于根据所述程序执行如权利要求1至9中任一项所述的向量相似度计算方法。
12.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至9中任意一项所述的向量相似度计算方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111536035.3A CN114238329A (zh) | 2021-12-15 | 2021-12-15 | 向量相似度计算方法、装置、设备及存储介质 |
PCT/CN2022/090758 WO2023108995A1 (zh) | 2021-12-15 | 2022-04-29 | 向量相似度计算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111536035.3A CN114238329A (zh) | 2021-12-15 | 2021-12-15 | 向量相似度计算方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238329A true CN114238329A (zh) | 2022-03-25 |
Family
ID=80756630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111536035.3A Pending CN114238329A (zh) | 2021-12-15 | 2021-12-15 | 向量相似度计算方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114238329A (zh) |
WO (1) | WO2023108995A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023108995A1 (zh) * | 2021-12-15 | 2023-06-22 | 平安科技(深圳)有限公司 | 向量相似度计算方法、装置、设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194737A (zh) * | 2023-09-14 | 2023-12-08 | 上海交通大学 | 基于距离阈值的近似近邻搜索方法、系统、介质及设备 |
CN117156485B (zh) * | 2023-10-31 | 2024-01-09 | 西安明赋云计算有限公司 | 链路质量探测方法 |
CN117235137B (zh) * | 2023-11-10 | 2024-04-02 | 深圳市一览网络股份有限公司 | 一种基于向量数据库的职业信息查询方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874385B (zh) * | 2018-08-10 | 2023-11-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和系统 |
CN114245896A (zh) * | 2019-10-31 | 2022-03-25 | 北京欧珀通信有限公司 | 向量查询方法、装置、电子设备及存储介质 |
CN111859004A (zh) * | 2020-07-29 | 2020-10-30 | 书行科技(北京)有限公司 | 检索图像的获取方法、装置、设备及可读存储介质 |
CN113723115B (zh) * | 2021-09-30 | 2024-02-09 | 平安科技(深圳)有限公司 | 基于预训练模型的开放域问答预测方法及相关设备 |
CN114238329A (zh) * | 2021-12-15 | 2022-03-25 | 平安科技(深圳)有限公司 | 向量相似度计算方法、装置、设备及存储介质 |
-
2021
- 2021-12-15 CN CN202111536035.3A patent/CN114238329A/zh active Pending
-
2022
- 2022-04-29 WO PCT/CN2022/090758 patent/WO2023108995A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023108995A1 (zh) * | 2021-12-15 | 2023-06-22 | 平安科技(深圳)有限公司 | 向量相似度计算方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023108995A1 (zh) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sharif et al. | Scene analysis and search using local features and support vector machine for effective content-based image retrieval | |
Van Der Maaten | Barnes-hut-sne | |
CN105912611B (zh) | 一种基于cnn的快速图像检索方法 | |
CN114238329A (zh) | 向量相似度计算方法、装置、设备及存储介质 | |
JP7360497B2 (ja) | クロスモーダルな特徴の抽出方法、抽出装置、ならびに、プログラム | |
CN111177438B (zh) | 图像特征值的搜索方法、装置、电子设备及存储介质 | |
CN113850281B (zh) | 一种基于meanshift优化的数据处理方法和装置 | |
CN111339343A (zh) | 图像检索方法、装置、存储介质及设备 | |
CN113298197B (zh) | 数据聚类方法、装置、设备及可读存储介质 | |
CN113762280A (zh) | 一种图像类别识别方法、装置及介质 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN111182364A (zh) | 一种短视频版权检测方法及系统 | |
CN108229358B (zh) | 索引建立方法和装置、电子设备、计算机存储介质 | |
Li et al. | Indexing and mining large-scale neuron databases using maximum inner product search | |
Feng et al. | An efficient indexing method for content-based image retrieval | |
CN110442749B (zh) | 视频帧处理方法及装置 | |
CN113657087B (zh) | 信息的匹配方法及装置 | |
Khalaf et al. | Robust partitioning and indexing for iris biometric database based on local features | |
CN113592030A (zh) | 基于复值奇异谱分析的图像检索方法和系统 | |
CN114490923A (zh) | 相似文本匹配模型的训练方法、装置、设备及存储介质 | |
CN114329004A (zh) | 数字指纹生成、数据推送方法、装置和存储介质 | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
CN111767419B (zh) | 图片搜索方法、装置、设备及计算机可读存储介质 | |
CN115881211B (zh) | 蛋白质序列比对方法、装置、计算机设备以及存储介质 | |
Gao et al. | Data-driven lightweight interest point selection for large-scale visual search |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40062549 Country of ref document: HK |