CN112069184A - 一种向量检索方法、***、设备及介质 - Google Patents
一种向量检索方法、***、设备及介质 Download PDFInfo
- Publication number
- CN112069184A CN112069184A CN202010936407.0A CN202010936407A CN112069184A CN 112069184 A CN112069184 A CN 112069184A CN 202010936407 A CN202010936407 A CN 202010936407A CN 112069184 A CN112069184 A CN 112069184A
- Authority
- CN
- China
- Prior art keywords
- vector
- approximate
- retrieval
- target
- layer
- 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/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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种向量检索方法、***、设备及介质,所述的方法包括:获取待检索的目标向量和基于数据库生成的预设索引;根据所述预设索引进行检索处理,得到所述目标向量的近似向量,其中,所述预设索引为多维空间中向量的连接构图;根据所述目标向量与所述近似向量的相似度,得到向量检索结果。通过建立预设索引,并基于目标向量与该预设索引进行检索处理,完成对目标向量的近似近邻的检索,获取向量检索结果,能够提高检索的速度,还能够满足数据库较大数据量的检索场景需求。
Description
技术领域
本发明涉及信息技术,特别是涉及一种向量检索方法、***、设备及介质。
背景技术
目前,在图像检索、人脸比对、文本检索、推荐***等应用场景中通常用到向量计算引擎进行信息检索。近年来,随着数据量的不断增大,业务需求变得越来越复杂,在高维空间中搜索近邻的速度相应地降低,不能较好地适用于较大数据量的向量检索需求。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种向量检索方法、***、设备及介质,用于解决现有技术中向量检索速度较慢的问题。
为实现上述目的及其他相关目的,本发明提供一种向量检索方法,包括:
获取待检索的目标向量和基于数据库生成的预设索引;
根据所述预设索引进行检索处理,得到所述目标向量的近似向量,其中,所述预设索引为多维空间中向量的连接构图;
根据所述目标向量与所述近似向量的相似度,得到向量检索结果。
可选的,基于数据库生成的预设索引的步骤包括:
从所述数据库中进行提取多个特征向量,并在多维空间中连接多个所述特征向量的起点和终点,得到所述特征向量的连接构图;
通过所述特征向量的连接构图确定所述预设索引。
可选的,通过所述特征向量的连接构图确定所述预设索引的步骤包括:
针对每个所述特征向量,确定所述特征向量在连接构图中的起点和终点,其中,第0层是所述特征向量的起点,所述特征向量的终点所在的层数的数学表达为:
floor=-ln(uniform(0,1))*ml
其中,floor为所述特征向量的层数,ml为常数,uniform为随机函数;
确定所述目标向量的终点在所述连接构图的第p层;
从第0层至第p层,在每层查找t个临近点,得到所述近似向量,其中,p为所述特征向量的层数,t为常数;
通过获取所述近似向量的路径,确定所述预设索引。
可选的,根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤包括:
根据所述目标向量,在所述连接构图的每层查找t个临近点,并分别存储在第一列表和第二列表中;
在第x次查找时,计算t个临近点分别与所述目标向量的终点的距离,并按照距离远近排序更新所述第一列表;
对比所述第一列表和所述第二列表的前k个点是否一致,若一致,则输出m个近似向量,得到向量检索结果,若不一致,则继续进行查找,k≥m,且k和m均为常数。
可选的,根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤还包括:
计算所述目标向量与所述近似向量的距离,当距离最小时,得到所述向量检索结果,其中,所述距离为欧式距离或者内积距离。
可选的,所述目标向量与所述近似向量的欧式距离的数学表达为:
其中,dist(X,Y)为欧式距离,(Xi,Yi)为所述目标向量的终点的坐标,(Xi-1,Yi-1)为所述目标向量的起点的坐标,(Xi-2,Yi-2)为所述近似向量的终点的坐标,(Xi-4,Yi-4)为所述近似向量的起点的坐标,n为坐标的个数,n≥4。
可选的,所述目标向量与所述近似向量的内积距离的数学表达为:
其中,inner(X,Y)为内积距离,(Xi,Yi)为所述目标向量的终点的坐标,(Xi-1,Yi-1)为所述目标向量的起点的坐标,(Xi-2,Yi-2)为所述近似向量的终点的坐标,(Xi-4,Yi-4)为所述近似向量的起点的坐标,n为坐标的个数,n≥4。
根据权利要求1所述的向量检索方法,其特征在于,所述数据库包含的数据类型包括至少以下之一:图像、视频、文档。
一种向量检索***,包括:
输入模块,用于获取待检索的目标向量和基于数据库生成的预设索引;
索引模块,用于根据所述预设索引进行检索处理,得到所述目标向量的近似向量,其中,所述预设索引为多维空间中向量的连接构图;
输出模块,根据所述目标向量与所述近似向量的相似度,得到向量检索结果;
所述输入模块、所述索引模块与所述输出模块信号连接。
可选的,所述索引模块获取所述预设索引的步骤包括:
从所述数据库中进行提取多个特征向量,并在多维空间中连接多个所述特征向量的起点和终点,得到所述特征向量的连接构图;
通过所述特征向量的连接构图确定所述预设索引。
可选的,所述输出模块设定第0层是所述特征向量的起点,所述特征向量的终点所在的层数的数学表达为:
floor=-ln(uniform(0,1))*ml
其中,floor为所述特征向量的层数,ml为常数,uniform为随机函数;
所述输出模块进行检索处理的步骤包括:
确定所述目标向量的终点所在的第p层;
从第0层至第p层,在每层查找t个临近点,得到近似向量,其中,p为所述特征向量的层数,t为常数。
可选的,所述输出模块得到近似向量的步骤包括:
在每层查找t个临近点,并存储在第一列表和第二列表中;
在第x次查找时,计算t个临近点与所述目标向量的终点的距离,并按照距离远近排序更新所述第一列表;
对比所述第一列表和所述第二列表的前k个点是否一致,若一致,则输出m个近似向量,若不一致,则继续进行查找,k≥m,且k和m均为常数。
可选的,根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤包括:
计算所述目标向量与所述近似向量的距离,当距离最小时,得到所述向量检索结果,其中,所述距离为欧式距离或者内积距离。
一种计算机设备,其特征在于,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行一个或多个所述的方法。
一个或多个机器可读介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得设备执行一个或多个所述的方法。
如上所述,本发明提供的一种向量检索方法、***、设备及介质,具有以下有益效果:
通过建立预设索引,并基于目标向量与该预设索引进行检索处理,完成对目标向量的近似近邻的检索,获取向量检索结果,能够提高检索的速度,还能够满足数据库较大数据量的检索场景需求。
附图说明
图1为本发明实施例提供的向量检索方法的流程示意图。
图2为本发明实施例提供的向量检索方法的业务场景流程示意图。
图3为本发明实施例提供的向量检索方法的连接构图的示意图。
图4为本发明实施例提供的得到近似向量的步骤示意图。
图5为本发明实施例提供的预设索引的示意图。
图6为本发明实施例提供的向量检索***的结构示意图。
图7为一实施例提供的终端设备的硬件结构示意图。
图8为另一实施例提供的终端设备的硬件结构示意图。
元件标号说明
1100 输入设备
1101 第一处理器
1102 输出设备
1103 第一存储器
1104 通信总线
1200 处理组件
1201 第二处理器
1202 第二存储器
1203 通信组件
1204 电源组件
1205 多媒体组件
1206 语音组件
1207 输入/输出接口
1208 传感器组件
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
发明人发现当面对海量数据时,直接搜索受限制于计算方法以及计算内容等因素影响,搜索速度已经不适用于实际应用场景,请参阅图1至图3,本发明提供一种向量检索方法,包括:
S1:获取待检索目标向量和基于数据库生成的预设索引;
S2:根据所述预设索引进行检索处理,得到所述目标向量的近似向量,其中,所述预设索引为多维空间中向量的连接构图,所述连接构图为多维空间中向量构建成一张相互连通的图,并基于该连接构图对目标向量进行搜索处理,搜索某个定点的近邻或者最近邻,进而获取近似向量;
S3:根据所述目标向量与所述近似向量的相似度,得到向量检索结果,其中,所述向量检索结果为一个或者多个与目标向量的相似度较高的近似向量,通过计算目标向量与近似向量的距离来确定相似度,并根据相似度进行排序,得到向量检索结果。通过建立预设索引,并基于目标向量与该预设索引进行检索处理,完成对目标向量的近似近邻的检索,获取向量检索结果,能够提高检索的速度,还能够满足数据库较大数据量的检索场景需求。所述检索场景包括人脸1:1比对、人脸1:N检索、人脸聚类等服务。本发明的向量检索方法还可以连接到现有网络,配置在符合要求的环境中,通过命令行命令访问所述预设索引进行向量计算,并通过命令行窗口,可以查看计算得到的最近的多个近似向量。具有较高召回率的特点,例如,能够支持亿级向量建库,实现高召回检索,召回率可以达到99%;较好的易用性,例如,支持HTTP灵活调用;支持一键安装,一键启动/停止,同时提供丰富的日志信息,能够快速定位问题;较强的适应性,例如,建立了丰富的场景模块,能够在实际落地的应用中保持良好运行状态,能够很好适应常见的影响因素;便于二次开发,例如,提供Python动态库,可以实现服务的定制化开发;多种精度,例如,支持int8和fp32精度的向量检索;还可以提供多种相似度计算,例如,提供欧氏、内积距离等多种相似度计算方式。
在一些实施过程中,获取所述预设索引的步骤包括:
从所述数据库中进行提取多个特征向量,并在多维空间中连接多个所述特征向量的起点和终点,得到所述特征向量的连接构图,通过该连接构图实现多个特征向量之间的连接,请参阅图3,获取所述特征向量的步骤可以包括:从数据库中获取所述特征向量,所述数据库包括至少以下之一:图像、视频、文档;
通过所述特征向量的连接构图确定所述预设索引,并通过该连接构图完成目标向量的近似近邻的检索,例如检索目标向量,并返回与其最相似的多个特征向量及相似程度,提高检索速度。
在一些实施过程中,针对每个所述特征向量,确定所述特征向量在连接构图中的起点和终点,其中,第0层是所述特征向量的起点,所述特征向量的终点所在的层数的数学表达为:
floor=-ln(uniform(0,1))*ml
其中,floor为所述特征向量的层数,ml为常数,uniform为随机函数,通过计算特征向量可以深入到第几层,从而构建完成所述预设索引,请参阅图5。
例如,检索处理的步骤包括:
通过计算,可以确定所述目标向量的终点所在的第p层;
从第0层(图5中的layer=2)至第p层,在每层查找t个临近点,分别连接t个临近点,得到近似向量,其中,p为所述特征向量的层数,t为常数,通过获取所述近似向量的路径,确定所述预设索引。
又例如,得到近似向量的步骤包括:
S31:根据所述目标向量,在所述连接构图的每层查找t个临近点,并存储在第一列表和第二列表中;
S32:在第x次查找时,计算t个临近点与所述目标向量的终点的距离,并按照距离远近排序更新所述第一列表;
S33:对比所述第一列表和所述第二列表的前k个点是否一致,若一致,则输出m个近似向量,若不一致,则继续进行查找,请参阅图4和图5。
为了获取较为精确的向量检索结果,可根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤包括:
计算所述目标向量与所述近似向量的距离,当距离最小时,得到所述向量检索结果,其中,所述距离为欧式距离或者内积距离。
例如,所述目标向量与所述近似向量的欧式距离的数学表达为:
其中,dist(X,Y)为欧式距离,(Xi,Yi)为所述目标向量的终点的坐标,(Xi-1,Yi-1)为所述目标向量的起点的坐标,(Xi-2,Yi-2)为所述近似向量的终点的坐标,(Xi-4,Yi-4)为所述近似向量的起点的坐标,n为坐标的个数,n≥4。
又例如,所述目标向量与所述近似向量的内积距离的数学表达为:
其中,inner(X,Y)为内积距离,(Xi,Yi)为所述目标向量的终点的坐标,(Xi-1,Yi-1)为所述目标向量的起点的坐标,(Xi-2,Yi-2)为所述近似向量的终点的坐标,(Xi-4,Yi-4)为所述近似向量的起点的坐标,n为坐标的个数,n≥4。
请参阅图6,本发明还提供一种向量检索***,包括:
输入模块10,用于获取目标向量;
索引模块20,建立预设索引,根据所述目标向量和所述预设索引进行检索处理,得到近似向量,其中,所述预设索引为多维空间中向量的连接构图;
输出模块30,根据所述目标向量与所述近似向量的相似度,得到向量检索结果;所述输入模块10、所述索引模块20与所述输出模块30信号连接。通过建立预设索引,并基于目标向量与该预设索引进行检索处理,完成对目标向量的近似近邻的检索,获取向量检索结果,能够提高检索的速度,还能够满足数据库较大数据量的检索场景需求。所述检索场景包括人脸1:1比对、人脸1:N检索、人脸聚类等服务。本发明的向量检索方法还可以连接到现有网络,配置在符合要求的环境中,通过命令行命令访问所述预设索引进行向量计算,并通过命令行窗口,可以查看计算得到的最近的多个近似向量。具有较高召回率的特点,例如,能够支持亿级向量建库,实现高召回检索,召回率可以达到99%;较好的易用性,例如,支持HTTP灵活调用;支持一键安装,一键启动/停止,同时提供丰富的日志信息,能够快速定位问题;较强的适应性,例如,建立了丰富的场景模块,能够在实际落地的应用中保持良好运行状态,能够很好适应常见的影响因素;便于二次开发,例如,提供Python动态库,可以实现服务的定制化开发;多种精度,例如,支持int8和fp32精度的向量检索;还可以提供多种相似度计算,例如,提供欧氏、内积距离等多种相似度计算方式。
可选的,获取所述预设索引的步骤包括:
获取多个特征向量,并在多维空间中连接多个所述特征向量的起点和终点,得到所述特征向量的连接构图;
通过所述特征向量的连接构图确定所述预设索引。
可选的,获取所述特征向量的步骤包括:从数据库中获取所述特征向量,所述数据库包括至少以下之一:图像、视频、文档。
可选的,第0层是所述特征向量的起点,所述特征向量的终点所在的层数的数学表达为:
floor=-ln(uniform(0,1))*ml
其中,floor为所述特征向量的层数,ml为常数,uniform为随机函数。
可选的,检索处理的步骤包括:
确定所述目标向量的终点所在的第p层;
从第0层至第p层,在每层查找t个临近点,得到近似向量,其中,p为所述特征向量的层数,t为常数。
可选的,得到近似向量的步骤包括:
在每层查找t个临近点,并存储在第一列表和第二列表中;
在第x次查找时,计算t个临近点与所述目标向量的终点的距离,并按照距离远近排序更新所述第一列表;
对比所述第一列表和所述第二列表的前k个点是否一致,若一致,则输出m个近似向量,若不一致,则继续进行查找。
可选的,根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤包括:
计算所述目标向量与所述近似向量的距离,当距离最小时,得到所述向量检索结果,其中,所述距离为欧式距离或者内积距离。
可选的,所述目标向量与所述近似向量的欧式距离的数学表达为:
其中,dist(X,Y)为欧式距离,(Xi,Yi)为所述目标向量的终点的坐标,(Xi-1,Yi-1)为所述目标向量的起点的坐标,(Xi-2,Yi-2)为所述近似向量的终点的坐标,(Xi-4,Yi-4)为所述近似向量的起点的坐标,n为坐标的个数,n≥4。
可选的,所述目标向量与所述近似向量的内积距离的数学表达为:
其中,inner(X,Y)为内积距离,(Xi,Yi)为所述目标向量的终点的坐标,(Xi-1,Yi-1)为所述目标向量的起点的坐标,(Xi-2,Yi-2)为所述近似向量的终点的坐标,(Xi-4,Yi-4)为所述近似向量的起点的坐标,n为坐标的个数,n≥4。
本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1所述的方法。在实际应用中,该设备可以作为终端设备,也可以作为服务器,终端设备的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准语音层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准语音层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的图4中数据处理方法所包含步骤的指令(instructions)。
图7为本申请一实施例提供的终端设备的硬件结构示意图。如图所示,该终端设备可以包括:输入设备1100、第一处理器1101、输出设备1102、第一存储器1103和至少一个通信总线1104。通信总线1104用于实现元件之间的通信连接。第一存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,第一存储器1103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述第一处理器1101例如可以为中央处理器(Central ProcessingUnit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该第一处理器1101通过有线或无线连接耦合到上述输入设备1100和输出设备1102。
可选的,上述输入设备1100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件***接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;输出设备1102可以包括显示器、音响等输出设备。
在本实施例中,该终端设备的处理器包括用于执行各设备中语音识别装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图8为本申请的一个实施例提供的终端设备的硬件结构示意图。图8是对图7在实现过程中的一个具体的实施例。如图所示,本实施例的终端设备可以包括第二处理器1201以及第二存储器1202。
第二处理器1201执行第二存储器1202所存放的计算机程序代码,实现上述实施例中图4所述方法。
第二存储器1202被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。第二存储器1202可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,第二处理器1201设置在处理组件1200中。该终端设备还可以包括:通信组件1203,电源组件1204,多媒体组件1205,语音组件1206,输入/输出接口1207和/或传感器组件1208。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件1200通常控制终端设备的整体操作。处理组件1200可以包括一个或多个第二处理器1201来执行指令,以完成上述数据处理方法中的全部或部分步骤。此外,处理组件1200可以包括一个或多个模块,便于处理组件1200和其他组件之间的交互。例如,处理组件1200可以包括多媒体模块,以方便多媒体组件1205和处理组件1200之间的交互。
电源组件1204为终端设备的各种组件提供电力。电源组件1204可以包括电源管理***,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
多媒体组件1205包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
语音组件1206被配置为输出和/或输入语音信号。例如,语音组件1206包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部语音信号。所接收的语音信号可以被进一步存储在第二存储器1202或经由通信组件1203发送。在一些实施例中,语音组件1206还包括一个扬声器,用于输出语音信号。
输入/输出接口1207为处理组件1200和***接口模块之间提供接口,上述***接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件1208包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件1208可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件1208可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件1208还可以包括摄像头等。
通信组件1203被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于***SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图8实施例中所涉及的通信组件1203、语音组件1206以及输入/输出接口1207、传感器组件1208均可以作为图7实施例中的输入设备的实现方式。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (15)
1.一种向量检索方法,其特征在于,包括:
获取待检索的目标向量和基于数据库生成的预设索引;
根据所述预设索引进行检索处理,得到所述目标向量的近似向量,其中,所述预设索引为多维空间中向量的连接构图;
根据所述目标向量与所述近似向量的相似度,得到向量检索结果。
2.根据权利要求1所述的向量检索方法,其特征在于,基于数据库生成的预设索引的步骤包括:
从所述数据库中获取多个特征向量,并在多维空间中连接多个所述特征向量的起点和终点,得到所述特征向量的连接构图;
通过所述特征向量的连接构图确定所述预设索引。
3.根据权利要求2所述的向量检索方法,其特征在于,通过所述特征向量的连接构图确定所述预设索引的步骤包括:
针对每个所述特征向量,确定所述特征向量在连接构图中的起点和终点,其中,第0层是所述特征向量的起点,所述特征向量的终点所在的层数的数学表达为:
floor=-ln(uniform(0,1))*ml
其中,floor为所述特征向量的层数,ml为常数,uniform为随机函数;
确定所述目标向量的终点在所述连接构图的第p层;
从第0层至第p层,在每层查找t个临近点,得到所述近似向量,其中,p为所述特征向量的层数,t为常数;
通过获取所述近似向量的路径,确定所述预设索引。
4.根据权利要求3所述的向量检索方法,其特征在于,根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤包括:
根据所述目标向量,在所述连接构图的每层查找t个临近点,并分别存储在第一列表和第二列表中;
在第x次查找时,计算t个临近点分别与所述目标向量的终点的距离,并按照距离远近排序更新所述第一列表;
对比所述第一列表和所述第二列表的前k个点是否一致,若一致,则输出m个近似向量,得到向量检索结果,若不一致,则继续进行查找,k≥m,且k和m均为常数。
5.根据权利要求1或者4所述的向量检索方法,其特征在于,根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤还包括:
计算所述目标向量与所述近似向量的距离,当距离最小时,得到所述向量检索结果,其中,所述距离为欧式距离或者内积距离。
8.根据权利要求1所述的向量检索方法,其特征在于,所述数据库包含的数据类型包括至少以下之一:图像、视频、文档。
9.一种向量检索***,其特征在于,包括:
输入模块,用于获取待检索的目标向量和基于数据库生成的预设索引;
索引模块,用于根据所述预设索引进行检索处理,得到所述目标向量的近似向量,其中,所述预设索引为多维空间中向量的连接构图;
输出模块,根据所述目标向量与所述近似向量的相似度,得到向量检索结果;
所述输入模块、所述索引模块与所述输出模块信号连接。
10.根据权利要求9所述的向量检索***,其特征在于,所述索引模块获取所述预设索引的步骤包括:
从所述数据库中进行提取多个特征向量,并在多维空间中连接多个所述特征向量的起点和终点,得到所述特征向量的连接构图;
通过所述特征向量的连接构图确定所述预设索引。
11.根据权利要求10所述的向量检索***,其特征在于,所述输出模块设定第0层是所述特征向量的起点,所述特征向量的终点所在的层数的数学表达为:
floor=-ln(uniform(0,1))*ml
其中,floor为所述特征向量的层数,ml为常数,uniform为随机函数;
所述输出模块进行检索处理的步骤包括:
确定所述目标向量的终点所在的第p层;
从第0层至第p层,在每层查找t个临近点,得到近似向量,其中,p为所述特征向量的层数,t为常数。
12.根据权利要求11所述的向量检索***,其特征在于,所述输出模块得到近似向量的步骤包括:
在每层查找t个临近点,并存储在第一列表和第二列表中;
在第x次查找时,计算t个临近点与所述目标向量的终点的距离,并按照距离远近排序更新所述第一列表;
对比所述第一列表和所述第二列表的前k个点是否一致,若一致,则输出m个近似向量,若不一致,则继续进行查找,k≥m,且k和m均为常数。
13.根据权利要求9所述的向量检索***,其特征在于,根据所述目标向量与所述近似向量的相似度,得到向量检索结果的步骤包括:
计算所述目标向量与所述近似向量的距离,当距离最小时,得到所述向量检索结果,其中,所述距离为欧式距离或者内积距离。
14.一种计算机设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行如权利要求1-8中一个或多个所述的方法。
15.一个或多个机器可读介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求1-8中一个或多个所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010936407.0A CN112069184A (zh) | 2020-09-08 | 2020-09-08 | 一种向量检索方法、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010936407.0A CN112069184A (zh) | 2020-09-08 | 2020-09-08 | 一种向量检索方法、***、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112069184A true CN112069184A (zh) | 2020-12-11 |
Family
ID=73664550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010936407.0A Pending CN112069184A (zh) | 2020-09-08 | 2020-09-08 | 一种向量检索方法、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069184A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761017A (zh) * | 2021-01-28 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 相似性搜索方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008256A (zh) * | 2019-04-09 | 2019-07-12 | 杭州电子科技大学 | 一种基于分层可导航小世界图的近似最近邻搜索方法 |
CN111461753A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 智能客服场景中的知识点召回方法及装置 |
CN111597403A (zh) * | 2020-05-21 | 2020-08-28 | 北京字节跳动网络技术有限公司 | 一种构建图索引的方法、装置、电子设备及存储介质 |
-
2020
- 2020-09-08 CN CN202010936407.0A patent/CN112069184A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008256A (zh) * | 2019-04-09 | 2019-07-12 | 杭州电子科技大学 | 一种基于分层可导航小世界图的近似最近邻搜索方法 |
CN111461753A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 智能客服场景中的知识点召回方法及装置 |
CN111597403A (zh) * | 2020-05-21 | 2020-08-28 | 北京字节跳动网络技术有限公司 | 一种构建图索引的方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
CNU小学生: "一文看懂HNSW算法理论的来龙去脉", 《HTTPS://BLOG.CSDN.NET/U011233351/ARTICLE/DETAILS/85116719》 * |
YU A. MALKOV: "Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs", 《 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》 * |
张鸿: "《基于人工智能的多媒体数据挖掘和应用实例》", 31 January 2018 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761017A (zh) * | 2021-01-28 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 相似性搜索方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9182905B2 (en) | Method for inputting command in mobile terminal using drawing pattern and mobile terminal using the same | |
CN107239535A (zh) | 相似图片检索方法及装置 | |
US20150161249A1 (en) | Finding personal meaning in unstructured user data | |
US20150161236A1 (en) | Recording context for conducting searches | |
CN110288710B (zh) | 一种三维地图的处理方法、处理装置及终端设备 | |
CN108073303B (zh) | 一种输入方法、装置及电子设备 | |
CN109144285B (zh) | 一种输入方法和装置 | |
CN111898495B (zh) | 一种动态阈值管理方法、***、设备及介质 | |
US11886894B2 (en) | Display control method and terminal device for determining a display layout manner of an application | |
US20140232748A1 (en) | Device, method and computer readable recording medium for operating the same | |
CN104111979A (zh) | 搜索推荐方法和装置 | |
CN105824955A (zh) | 短信聚类方法及装置 | |
CN111598012B (zh) | 一种图片聚类管理方法、***、设备及介质 | |
CN112926310A (zh) | 一种关键词提取方法及装置 | |
CN105373580A (zh) | 主题显示方法及装置 | |
CN104536787A (zh) | 资源预加载方法及装置 | |
US20230259567A1 (en) | Data processing method and apparatus | |
CN111310725A (zh) | 一种对象识别方法、***、机器可读介质及设备 | |
CN105205153A (zh) | 文件存储方法和装置 | |
US20150019579A1 (en) | Method for an electronic device to execute an operation corresponding to a common object attribute among a plurality of objects | |
CN108009273B (zh) | 图像显示方法、装置及计算机可读存储介质 | |
CN112069184A (zh) | 一种向量检索方法、***、设备及介质 | |
CN111178455B (zh) | 图像聚类方法、***、设备及介质 | |
CN107729439A (zh) | 获取多媒体数据的方法、装置和*** | |
CN111813988B (zh) | 用于图像特征库的hnsw节点删除方法、***、设备和介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201211 |
|
RJ01 | Rejection of invention patent application after publication |