数据检索方法、装置、电子设备及存储介质与流程

文档序号:32347904发布日期:2022-11-26 11:58阅读:67来源:国知局
数据检索方法、装置、电子设备及存储介质与流程

1.本技术涉及向量量化领域,具体而言,涉及一种数据检索方法、装置、电子设备及存储介质。


背景技术:

2.最大内积检索是机器学习和深度学习中常用的一种向量检索方法,向量间的量化误差可以体现向量之间的关联程度,因此,最大内积检索常用于关联查询。
3.现有技术中,通过各向异性向量量化的方法计算向量间的量化误差,但是该方法计算的每一个向量都有独立的向量系数,在计算过程中,需要根据各向量的模长计算各向量对应的向量系数,再根据向量系数计算向量间的量化误差。
4.因此,现有技术存在计算复杂度高的问题。


技术实现要素:

5.本技术的目的在于,针对上述现有技术中的不足,提供一种数据检索方法、装置、电子设备及存储介质,降低计算复杂度。
6.为实现上述目的,本技术实施例采用的技术方案如下:
7.第一方面,本技术实施例提供了一种数据检索方法,所述方法包括:
8.对多个原始数据分别进行向量化,得到多个原始向量,其中,所述原始数据为可供用户检索的数据;
9.根据所述多个原始向量,确定多个目标量化中心,各所述目标量化中心为所述多个原始向量中至少一个原始向量对应的中心向量;
10.根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,其中,所述目标向量系数基于所述原始向量的维数以及预设的优化级别确定的;
11.根据各原始向量到各所述目标量化中心的距离,确定各原始向量对应的目标向量,并将所述目标向量作为所述原始数据对应的向量;
12.在获取到用户输入的数据检索请求后,根据所述数据检索请求中的参数信息,对所述目标向量进行检索,得到至少一个检索向量,并将各检索向量对应的原始数据作为待输出的检索结果。
13.可选的,根据所述多个原始向量,确定多个目标量化中心,包括:
14.从多个原始向量中随机筛选出多个向量作为多个初始量化中心;
15.根据目标向量系数确定各原始向量到各所述初始量化中心的距离;
16.根据各原始向量到各所述初始量化中心的距离将各原始向量进行聚类,得到多个簇,各所述簇包括各初始量化中心以及与各初始量化中心关联的至少一个原始向量;
17.更新各所述簇的量化中心,得到多个新的初始量化中心,并重新执行所述根据目标向量系数确定各原始向量到各所述初始量化中心的距离的步骤,直至满足收敛条件,将满足收敛条件时的各新的初始量化中心作为所述目标量化中心。
18.可选的,所述根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,包括:
19.将所述目标向量系数作为预设的加权距离计算公式的输入参数,通过所述加权距离计算公式确定各原始向量到各所述目标量化中心的距离。
20.可选的,所述加权距离计算公式为:
[0021][0022]
其中,xi为各原始向量,ci为各目标量化中心,ωn为目标向量系数。
[0023]
可选的,所述根据目标向量系数,确定各原始向量到各所述目标量化中心的距离之前,还包括:
[0024]
根据所述原始向量的维数以及所述优化级别,确定所述目标向量系数。
[0025]
可选的,所述根据原始向量的维数以及所述优化级别,确定所述目标向量系数,包括:
[0026]
将所述原始向量的维数以及所述优化级别作为预设的加权系数计算公式的输入参数,通过所述加权系数计算公式确定所述目标向量系数。
[0027]
可选的,所述加权系数计算公式为:
[0028][0029]
其中,ωn为目标向量系数,d为原始向量的维数,n为优化级别。
[0030]
第二方面,本技术实施例还提供了一种数据检索装置,所述装置包括:
[0031]
量化模块,用于对多个原始数据分别进行向量化,得到多个原始向量,其中,所述原始数据为可供用户检索的数据;
[0032]
确定模块,用于根据所述多个原始向量,确定多个目标量化中心,各所述目标量化中心为所述多个原始向量中至少一个原始向量对应的中心向量;
[0033]
确定模块,用于根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,其中,所述目标向量系数基于所述原始向量的维数以及预设的优化级别确定的;
[0034]
确定模块,用于根据各原始向量到各所述目标量化中心的距离,确定各原始向量对应的目标向量,并将所述目标向量作为所述原始数据对应的向量;
[0035]
检索模块,用于在获取到用户输入的数据检索请求后,根据所述数据检索请求中的参数信息,对所述目标向量进行检索,得到至少一个检索向量,并将各检索向量对应的原始数据作为待输出的检索结果。
[0036]
可选的,所述确定模块具体用于:
[0037]
从多个原始向量中随机筛选出多个向量作为多个初始量化中心;
[0038]
根据目标向量系数确定各原始向量到各所述初始量化中心的距离;
[0039]
根据各原始向量到各所述初始量化中心的距离将各原始向量进行聚类,得到多个簇,各所述簇包括各初始量化中心以及与各初始量化中心关联的至少一个原始向量;
[0040]
更新各所述簇的量化中心,得到多个新的初始量化中心,并重新执行所述根据目标向量系数确定各原始向量到各所述初始量化中心的距离的步骤,直至满足收敛条件,将
满足收敛条件时的各新的初始量化中心作为所述目标量化中心。
[0041]
可选的,所述确定模块具体用于:
[0042]
将所述目标向量系数作为预设的加权距离计算公式的输入参数,通过所述加权距离计算公式确定各原始向量到各所述目标量化中心的距离。
[0043]
可选的,所述加权距离计算公式为:
[0044][0045]
其中,xi为各原始向量,ci为各目标量化中心,ωn为目标向量系数。
[0046]
可选的,所述确定模块具体用于:
[0047]
根据所述原始向量的维数以及所述优化级别,确定所述目标向量系数。
[0048]
可选的,所述确定模块具体用于:
[0049]
将所述原始向量的维数以及所述优化级别作为预设的加权系数计算公式的输入参数,通过所述加权系数计算公式确定所述目标向量系数。
[0050]
可选的,所述加权系数计算公式为:
[0051][0052]
其中,ωn为目标向量系数,d为原始向量的维数,n为优化级别。
[0053]
第三方面,本技术实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当应用程序运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行上述第一方面所述的数据检索方法的步骤。
[0054]
第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被读取并执行上述第一方面所述的数据检索方法的步骤。
[0055]
本技术的有益效果是:
[0056]
本技术提供的一种数据检索方法、装置、电子设备及存储介质,通过对多个原始数据分别进行向量化,得到多个原始向量,其中,所述原始数据为可供用户检索的数据;根据所述多个原始向量,确定多个目标量化中心,各所述目标量化中心为所述多个原始向量中至少一个原始向量对应的中心向量;根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,其中,所述目标向量系数基于所述原始向量的维数以及预设的优化级别确定的;根据各原始向量到各所述目标量化中心的距离,确定各原始向量对应的目标向量,并将所述目标向量作为所述原始数据对应的向量;在获取到用户输入的数据检索请求后,根据所述数据检索请求中的参数信息,对所述目标向量进行检索,得到至少一个检索向量,并将各检索向量对应的原始数据作为待输出的检索结果。通过根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,可以使得计算原始向量到各目标量化中心距离时使用一个通用的向量系数,使得计算过程更简单易用,减少计算的复杂度,避免每一次都需要计算原始向量的平行方向损失系数以及垂直方向损失系数。
附图说明
[0057]
为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0058]
图1为本技术实施例提供的一种数据检索方法的流程示意图;
[0059]
图2为本技术实施例提供的另一种数据检索方法的流程示意图;
[0060]
图3为本技术实施例提供的一种数据检索方法的装置示意图;
[0061]
图4为本技术实施例提供的一种电子设备的结构框图。
具体实施方式
[0062]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
[0063]
另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0064]
需要说明的是,本技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
[0065]
现有技术中,通常使用欧式距离聚类量化方法计算向量间的量化误差,但是常用的聚类量化方法只通过欧式距离进行量化误差的计算,并未考虑到向量间的角度对量化误差的影响,因此,现有技术中计算得到的量化误差的精度不够准确。
[0066]
作为一种可能的设计,可以使用各向异性向量量化方法,该方法中考虑到了向量间的角度对量化误差的影响,但是,若把各向异性向量量化方法中的公式应用到聚类量化计算中时,由于该方法中的公式每一个向量都有独立的平行方向损失系数以及垂直方向损失系数,如果对每个向量的平行方向损失系数以及垂直方向损失系数都进行保存的话,则会增加计算内存的开支;如果不保存每个向量的平行方向损失系数以及垂直方向损失系数,则在计算该向量与量化中心之间的量化误差时,都需要重新根据该向量的模长计算该向量的平行方向损失系数以及垂直方向损失系数,此时,会增加计算复杂度且计算成本。
[0067]
因此,本技术实施例对比欧式距离量化方法,考虑到向量间的角度影响,可以提升向量量化的精度;对比上述的各向异性向量量化方法,提供了一种通用系数的简单计算方法,可以在保证量化精度的前提下极大降低计算复杂度。
[0068]
图1为本技术实施例提供的一种数据检索方法的流程示意图,如图1所示,该方法
包括:
[0069]
s101、对多个原始数据分别进行向量化,得到多个原始向量。
[0070]
可选的,原始数据为可供用户检索的数据,该数据例如可以为用户需要检索的地区数据、人物数据、疾病数据或者症状数据,其中,地区数据例如可以为陕西或上海等;人物数据例如可以为张某或赵某等;疾病数据例如可以为感冒或者高血压等;症状数据例如可以为发烧或者咳嗽等。
[0071]
可选的,对各原始数据进行向量化,具体地,可以将各原始数据按照向量的形式表示,生成各原始数据的原始向量,其中原始向量可以为地区数据向量、人物数据向量、疾病数据向量或者症状数据向量,各原始向量中可以包括一个或者多个维度,每一个维度的元素可以根据原始数据进行相应的设置。
[0072]
s102、根据多个原始向量,确定多个目标量化中心。
[0073]
可选的,各目标量化中心为多个原始向量中至少一个原始向量对应的中心向量。
[0074]
可选的,多个原始向量可以分布于一个或者多个不同区域,对于每一个区域可以确定一个中心向量作为聚类中心,该聚类中心则为目标量化中心,其中,与该目标量化中心处于同一区域的原始向量可以为一个或者多个原始向量。
[0075]
s103、根据目标向量系数,确定各原始向量到各目标量化中心的距离。
[0076]
可选的,该目标向量系数基于原始向量的维数以及预设的优化级别确定,其中,原始向量可以包括多维的维数,例如该向量为2维、3维、4维、5维、6维等。
[0077]
可选的,预设的优化级别可以指示的是不同的优化级别可以使用不同的优化范围角度对原始向量进行量化,其中,优化范围角度为各原始向量与各目标量化中心的夹角的优化范围,在该范围角度内的各原始向量为有效优化向量,也就是说该范围内的各原始向量计算的量化误差精度更高。
[0078]
可选的,目标向量系数可以结合预设的公式得到可以计算各原始向量到各目标量化中心距离的公式,根据该公式可以计算各原始向量到各目标量化中心的距离。
[0079]
s104、根据各原始向量到各目标量化中心的距离,确定各原始向量对应的目标向量,并将目标向量作为原始数据对应的向量。
[0080]
可选的,通过上述s103中计算得到每一个原始向量到各目标量化中心的距离,可以得到多个距离值,可以从计算得到的多个距离值中选取最小的距离值,则将与原始向量距离最小的目标量化中心作为该原始向量的目标向量,可以将原始向量量化为该目标向量,也就是说可以使用该目标向量代表该原始向量。
[0081]
s105、在获取到用户输入的数据检索请求后,根据数据检索请求中的参数信息,对目标向量进行检索,得到至少一个检索向量,并将各检索向量对应的原始数据作为待输出的检索结果。
[0082]
其中,数据检索请求中的参数信息例如可以为目标向量的编号,每一个目标向量都可以有一个唯一的编号,该编号中可以指示该目标向量与原始数据以及原始向量之间的关联关系。
[0083]
可选的,根据输入的数据检索请求可以查找到目标向量,根据目标向量也可以检索到一个或者多个原始向量,将检索到的一个或者多个原始向量作为检索向量,每个检索向量都是各原始数据使用向量的形式表示的,则将得到的检索向量转化为各原始数据,之
后将转化后的原始数据作为待输出的检索结果。
[0084]
本实施例中,通过对多个原始数据分别进行向量化,得到多个原始向量,其中,所述原始数据为可供用户检索的数据;根据所述多个原始向量,确定多个目标量化中心,各所述目标量化中心为所述多个原始向量中至少一个原始向量对应的中心向量;根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,其中,所述目标向量系数基于所述原始向量的维数以及预设的优化级别确定的;根据各原始向量到各所述目标量化中心的距离,确定各原始向量对应的目标向量,并将所述目标向量作为所述原始数据对应的向量;在获取到用户输入的数据检索请求后,根据所述数据检索请求中的参数信息,对所述目标向量进行检索,得到至少一个检索向量,并将各检索向量对应的原始数据作为待输出的检索结果。通过根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,可以使得计算原始向量到各目标量化中心距离时使用一个通用的向量系数,使得计算过程更简单易用,减少计算的复杂度,避免每一次都需要计算原始向量的平行方向损失系数以及垂直方向损失系数。
[0085]
图2为本技术实施例提供的另一种数据检索方法的流程示意图,如图2所示,上述步骤s102中根据多个原始向量,确定多个目标量化中心,可以包括:
[0086]
s201、从多个原始向量中随机筛选出多个向量作为多个初始量化中心。
[0087]
可选的,可以从多个原始向量中筛选部分原始向量作为训练目标量化中心的向量,将筛选出的部分原始向量作为一个训练向量集,从该训练向量集中可以随机筛选出多个向量,例如k个向量,将筛选出的k个向量作为k个初始量化中心。
[0088]
s202、根据各原始向量到各初始量化中心的距离将各原始向量进行聚类,得到多个簇。
[0089]
其中,各个簇可以包括各初始量化中心以及与各初始量化中心关联的至少一个原始向量。
[0090]
可选的,各原始向量指的是上述s201中的训练向量集中的各向量,具体地,可以根据目标向量系数计算训练向量集中各向量到各初始量化中心的距离,根据计算得到的各向量到各初始量化中心的距离的大小,将各向量可以分配至与各向量距离最小的初始量化中心的区域中,当计算完所有训练向量集中各向量到各初始量化中心的距离并将各向量分配完成后,可以得到多个簇。
[0091]
可选的,每一个簇都可以包括该簇的初始量化中心以及与该初始量化中心关联的至少一个原始向量,与初始量化中心关联的至少一个向量中心可以为与该初始量化中心的距离满足预设条件的原始向量。该预设条件例如为距离最小。
[0092]
示例性的,若训练向量集中有3个初始量化中心,例如为a向量、b向量、c向量,计算训练向量集中的某一个h向量到该3个初始量化中心的距离,得到3个距离分别为l1、l2、l3,其中l1》l2》l3,则h向量到c向量的距离是最近的,则将h向量分配到c向量的区域中,h向量和c向量组成一个簇。
[0093]
s203、更新各簇的量化中心,得到多个新的初始量化中心,并重新执行上述s202-s203,直至满足收敛条件,将满足收敛条件时的各新的初始量化中心作为目标量化中心。
[0094]
可选的,更新各簇的量化中心,具体地,可以计算各簇中所有向量的中心向量,例如可以计算各簇包含的所有向量的坐标的平均值,将计算得到的坐标的平均值作为新的初
始量化中心的坐标,得到多个新的初始量化中心。
[0095]
可选的,重复执行上述s202-s203步骤,也就是说计算训练向量集中的各向量到更新得到的新的初始量化中心的距离,得到多个新的簇,更新得到的多个新的簇的量化中心,直至满足收敛条件。
[0096]
可选的,该收敛条件例如可以为最后一次计算得到的新的初始量化中心与最后一次的前一次计算得到的新的初始量化中心一样,则将该新的初始量化中心作为目标量化中心;也可以为预设更新每个簇的量化中心的次数,若达到该预设的次数,则停止循环计算,将得到的新的初始量化中心作为目标量化中心。
[0097]
可选的,上述步骤s103中根据目标向量系数,确定各原始向量到各目标量化中心的距离,可以包括:
[0098]
可选的,将目标向量系数作为预设的加权距离计算公式的输入参数,通过加权距离计算公式确定各原始向量到各目标量化中心的距离。
[0099]
可选的,加权距离计算公式为:
[0100][0101]
其中,xi为各原始向量,ci为各目标量化中心,ωn为目标向量系数。
[0102]
可选的,上述加权距离计算公式为量化误差公式。
[0103]
可选的,目标向量系数可以为各原始向量与目标量化中心在平行方向的误差损失系数以及各原始向量与目标量化中心在垂直方向的误差损失系数的比值,其中,各原始向量与目标量化中心在平行方向的误差损失系数例如可以使用h
||
来表示,各原始向量与目标量化中心在垂直方向的误差损失系数例如可以为h

来表示。
[0104]
可选的,上述步骤s103中根据目标向量系数,确定各原始向量到各目标量化中心的距离之前,还可以包括:
[0105]
可选的,根据原始向量的维数以及优化级别,确定目标向量系数。
[0106]
可选的,所述根据原始向量的维数以及优化级别,确定目标向量系数,可以包括:
[0107]
可选的,将原始向量的维数以及优化级别作为预设的加权系数计算公式的输入参数,通过加权系数计算公式,确定目标向量系数。
[0108]
可选的,加权系数计算公式为:
[0109][0110]
其中,ωn为目标向量系数,d为原始向量的维数,n为优化级别。
[0111]
上述加权距离计算公式可以通过下述过程进行推导得到,具体地:
[0112]
基于各向异性向量量化方法的量化误差公式为基础,对该各向异性向量量化方法的量化误差公式作进一步的简化,从而得到本技术中的加权距离计算公式。
[0113]
其中,各向异性向量量化方法的量化误差公式如下:
[0114]
l(xi,ci)=h

(‖xi‖,t,d)
·
‖r

(x
i-ci)‖2+h

‖xi‖,t,d)
·
‖r

(x
i-ci)‖2公式(二)
[0115]
其中,xi为各原始向量,ci为各目标量化中心,r

(x
i-ci)是x
i-ci与xi平行的分向量,r

(x
i-ci)是x
i-ci与xi垂直的分向量,h

是平行方向误差的损失函数,h

是垂直方向误差的损失函数,该损失函数与xi的模长和原始向量与目标向量中心的夹角相关,d为原始向量的
维数,t为xi与ci的内积值,是预先设定的范围值,且
[0116][0117][0118]
可选的,基于上述各向异性向量量化方法的量化误差公式(二),简化h

系数和h

系数,并且使用第一向量系数进行表示。具体地,设定原始向量xi与目标向量中心ci的夹角在φ范围内时,xi与ci的内积值计算结果才可以为最大内积检索的候选结果,即φ为有效检索结果的夹角范围,其中内积值为通过量化误差公式计算的结果。对于在φ夹角之外的其他情况,可以认为xi与ci属于相关性极弱的向量,不再最大内积检索结果的候选范围内。若当夹角φ大于90
°
时,xi与ci两向量的内积值为负值,其结果不是最大内积检索的候选结果;若当夹角φ等于90
°
时,xi与ci两向量的内积值为0,也不是最大内积检索的候选结果,因此,φ的取值为0≤φ《90
°

[0119]
可选的,设定φ的取值范围,则可以简化公式(三)中的h

系数和公式(四)中的h

系数,简化后的h

系数和h

系数通过向量维数d以及夹角范围计算,具体的公式如下:
[0120][0121][0122]
则简化后的量化误差公式如下:
[0123]
l(xi,ci)=h

(φ,d)
·
‖r

(xi,ci)‖2+h

(φ,d)
·
‖r

(xi,ci)‖2公式(七)
[0124]
可选的,第一向量系数可以为上述简化后的量化误差公式(七)可以为根据向量维数以及夹角范围计算的第一向量系数的加权距离计算公式,简化后的h

系数和h

系数均通过向量维数d以及夹角范围φ来计算的,因此,第一向量系数的值也只依赖向量维数d以及夹角范围φ来计算,不依赖于原始向量xi,因此,第一向量系数为可预设的常数。
[0125]
将第一向量系数作为输入参数得到的第一加权距离计算公式为:
[0126]
l(xi,ci)=‖r

(xi,ci)‖2+ω
·
‖r

(xi,ci)‖2公式(八)
[0127]
其中,上述第一加权距离计算公式(八)中的第一向量系数为只依赖向量维数d以及夹角范围φ来计算,通过设置优化级别,使得优化级别以及向量维数作为第一向量系数的参数,具体的推导计算过程如下:
[0128]
可选的,可以基于上述第一向量系数公式、公式(五)、公式(六)以及现有的欧式距离公式确定最大优化范围角度,得到最大优化范围角度只与向量维数相关,则不同维数的向量可以计算得到不同的最大优化范围角度,根据最大优化范围角度可以确定角度阈值,之后根据优先级别与向量维数以及角度阈值之间的关系确定目标向量系数。
[0129]
可选的,确定最大优化范围角度的过程:根据现有的欧式距离公式γ(xi,ci)=‖r

(xi,ci)‖2+‖r

(xi,ci)‖2可以得到,该公式可以为第一加权距离计算公式(八)中ω=1时的
加权距离计算公式。其中,在简化后的量化误差公式(七)中,有效范围的夹角φ越小,有效范围内的量化误差也就越小,因此,在欧式距离公式的基础上进一步减小量化误差,则,有效范围的夹角φ阈值的选取,就需要比γ(xi,ci)也就是ω=1时对应的夹角更小。
[0130]
可选的,若设ω=1时对应的有效范围的夹角为则当时,量化误差才能越小,则为最大优化范围角度。
[0131]
通过可以计算出的值,具体地,通过计算得到其中,d为向量维数,其中,最大优化范围角度可以为,在d维空间中,以向量中心ci为中心轴划分一个象限,处于该象限内的向量xi为有效优化向量,该象限内的向量与向量中心的最大夹角为
[0132]
可选的,当选取的角度阈值φ小于时,即时,向量与向量中心的夹角处于该角度阈值范围内的向量的量化精度得以提升。
[0133]
可选的,不同维数的向量可以计算得到不同的最大优化范围角度,具体地可以使用表一来表示,如下:
[0134][0135]
从表一中可以得到最大优化范围角度随着维数的上升而增加,可将最大优化范围角度作为角度阈值φ的选取值。例如向量的维数是d,可选取的角度阈值为其中n为优化级别,且0≤n≤d-2。
[0136]
示例性的,若优化级别为0时,阈值φ为若优化级别为1时,阈值φ为若优化级别为2时,阈值φ为若优化级别为d-2时,阈值φ为
[0137]
本实施例中,通过将阈值的选取变成优先级别的选择,使得阈值的选取更为通用。
[0138]
可选的,根据上述优先级别与向量维数以及角度阈值之间的关系确定目标向量系数。
[0139]
通过上述说明可以得到阈值对应的系数ωn的计算如下:的计算如下:计算得到的其中其中将其代入得到
[0140]
本实施例中,仅仅只需要根据优先级别和向量维数就可以计算得到一个通用的加权系数,且该加权系数的计算简单,使得各原始向量在计算到各目标向量中心的距离时只需计算一次加权系数,极大的减少了计算复杂度。
[0141]
可选的,将加权系数ωn代入上述公式(八)中,通过计算可以得到上述公式(一),具体地实现过程如下:
[0142][0143]
图3为本技术实施例提供的一种数据检索方法的装置示意图,如图3所示,该装置包括:
[0144]
量化模块301,用于对多个原始数据分别进行向量化,得到多个原始向量,其中,所述原始数据为可供用户检索的数据;
[0145]
确定模块302,用于根据所述多个原始向量,确定多个目标量化中心,各所述目标量化中心为所述多个原始向量中至少一个原始向量对应的中心向量;
[0146]
确定模块302,用于根据目标向量系数,确定各原始向量到各所述目标量化中心的距离,其中,所述目标向量系数基于所述原始向量的维数以及预设的优化级别确定的;
[0147]
确定模块302,用于根据各原始向量到各所述目标量化中心的距离,确定各原始向量对应的目标向量,并将所述目标向量作为所述原始数据对应的向量;
[0148]
检索模块303,用于在获取到用户输入的数据检索请求后,根据所述数据检索请求中的参数信息,对所述目标向量进行检索,得到至少一个检索向量,并将各检索向量对应的原始数据作为待输出的检索结果。
[0149]
可选的,确定模块302具体用于:
[0150]
从多个原始向量中随机筛选出多个向量作为多个初始量化中心;
[0151]
根据目标向量系数确定各原始向量到各所述初始量化中心的距离;
[0152]
根据各原始向量到各所述初始量化中心的距离将各原始向量进行聚类,得到多个簇,各所述簇包括各初始量化中心以及与各初始量化中心关联的至少一个原始向量;
[0153]
更新各所述簇的量化中心,得到多个新的初始量化中心,并重新执行所述根据目标向量系数确定各原始向量到各所述初始量化中心的距离的步骤,直至满足收敛条件,将满足收敛条件时的各新的初始量化中心作为所述目标量化中心。
[0154]
可选的,确定模块302具体用于:
[0155]
将所述目标向量系数作为预设的加权距离计算公式的输入参数,通过所述加权距离计算公式确定各原始向量到各所述目标量化中心的距离。
[0156]
可选的,加权距离计算公式为:
[0157][0158]
其中,xi为各原始向量,ci为各目标量化中心,ωn为目标向量系数。
[0159]
可选的,确定模块302具体用于:
[0160]
根据所述原始向量的维数以及所述优化级别,确定所述目标向量系数。
[0161]
可选的,确定模块302具体用于:
[0162]
将所述原始向量的维数以及所述优化级别作为预设的加权系数计算公式的输入参数,通过所述加权系数计算公式确定所述目标向量系数。
[0163]
可选的,加权系数计算公式为:
[0164][0165]
其中,ωn为目标向量系数,d为原始向量的维数,n为优化级别。
[0166]
图4为本技术实施例提供的一种电子设备400的结构框图,如图4所示,该电子设备可包括:处理器401、存储器402。
[0167]
可选的,还可以包括总线403,其中,所述存储器402用于存储有所述处理器401可执行的机器可读指令,当电子设备400运行时,所述处理器401与所述存储器402存储之间通过总线403通信,所述机器可读指令被所述处理器401执行时执行上述方法实施例中的方法步骤。
[0168]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述数据检索方法实施例中的方法步骤。
[0169]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本技术中不再赘述。在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0170]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0171]
以上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1