一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据检索方法和装置、数据处理方法和装置、设备及介质与流程

2022-09-04 03:40:13 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,特别是涉及一种数据检索方法、数据处理方法、数据检索装置、数据处理装置、计算机设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.随着网络技术的发展,搜索引擎的功能越来越强大,检索的内容也日益丰富,例如,语音、图片、视频、语音文字、用户行为等,都能够作为检索的样本数据提供给用户。在信息高速发展的时代,用户对于信息的需求在不断的增加。因此,如何能够更加快速、高效、准确地提供检索服务是当前搜索引擎技术面临的挑战。


技术实现要素:

3.本公开提供一种数据检索方法、数据处理方法、数据检索装置、数据处理装置、计算机设备、计算机可读存储介质及计算机程序产品。
4.根据本公开的一方面,提供了一种数据检索方法,包括:响应于接收到待检索向量,确定待检索向量所对应的至少一个待检索存储介质,其中,至少一个待检索存储介质中的每一者均存储有至少一个样本向量,并且每个待检索存储介质均具有对应的存储控制器;针对至少一个待检索存储介质中的每一待检索存储介质,利用该待检索存储介质所对应的存储控制器,从该待检索存储介质所存储的至少一个样本向量中提取第一数量的样本向量,第一数量的样本向量与待检索向量的相似度高于至少一个样本向量中除第一数量的样本向量之外的其它样本向量与待检索向量的相似度;以及基于来自至少一个待检索存储介质中的每一者的第一数量的样本向量,确定待检索向量所对应的检索结果。
5.根据本公开的另一方面,提供了一种数据处理方法,包括:将第二数量的质心向量传输至多个存储介质中的每一者所对应的存储控制器,其中,第二数量的质心向量用于划分多个样本向量,每个存储介质均存储有多个样本向量中的部分样本向量;针对多个存储介质中的每一存储介质,利用该存储介质所对应的存储控制器,计算第二数量的质心向量中的每一者与该存储介质中的每个样本向量之间的相似度;以及针对第二数量的质心向量中的每一质心向量执行修正操作,其中,修正操作包括:确定该质心向量所对应的至少一个相似样本向量,其中,每个相似样本向量与该质心向量之间的相似度不小于该相似样本向量与第二数量的质心向量中的其它质心向量之间的相似度;以及基于至少一个相似样本向量,修正该质心向量。
6.根据本公开的另一方面,提供了一种数据检索装置,包括:第一确定单元,被配置用于响应于接收到待检索向量,确定待检索向量所对应的至少一个待检索存储介质,其中,至少一个待检索存储介质中的每一者均存储有至少一个样本向量,并且每个待检索存储介质均具有对应的存储控制器;提取单元,被配置用于针对至少一个待检索存储介质中的每一待检索存储介质,利用该待检索存储介质所对应的存储控制器,从该待检索存储介质所存储的至少一个样本向量中提取第一数量的样本向量,第一数量的样本向量与待检索向量
的相似度高于至少一个样本向量中除第一数量的样本向量之外的其它样本向量与待检索向量的相似度;以及第二确定单元,被配置用于基于来自至少一个待检索存储介质中的每一者的第一数量的样本向量,确定待检索向量所对应的检索结果。
7.根据本公开的另一方面,提供了一种数据处理装置,包括:传输单元,被配置用于将第二数量的质心向量传输至多个存储介质中的每一者所对应的存储控制器,其中,第二数量的质心向量用于划分多个样本向量,每个存储介质均存储有多个样本向量中的部分样本向量;控制单元,被配置用于针对多个存储介质中的每一存储介质,利用该存储介质所对应的存储控制器,计算第二数量的质心向量中的每一者与该存储介质中的每个样本向量之间的相似度;以及修正单元,被配置用于针对第二数量的质心向量中的每一质心向量执行修正操作,其中,修正单元包括:确定子单元,被配置用于确定该质心向量所对应的至少一个相似样本向量,其中,每个相似样本向量与该质心向量之间的相似度不小于该相似样本向量与第二数量的质心向量中的其它质心向量之间的相似度;以及修正子单元,被配置用于基于至少一个相似样本向量,修正该质心向量。
8.根据本公开的另一方面,提供了一种计算机设备,包括:处理器;以及存储器,其上存储有计算机程序,其中,计算机程序在被处理器执行时,使处理器执行上述任意一种方法。
9.根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述任意一种方法。
10.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述任意一种方法。
11.根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
12.在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
13.图1是图示出根据示例性实施例的可以在其中实施本文描述的各种方法的示例系统的示意图;
14.图2是图示出根据示例性实施例的数据检索方法的流程图;
15.图3是图示出根据示例性实施例的存储控制器的示意图;
16.图4是图示出根据示例性实施例的基于多个存储控制器的处理系统的示意图;
17.图5是图示出根据另一示例性实施例的数据处理方法的流程图;
18.图6是图示出根据示例性实施例的数据检索装置的示意性框图;
19.图7是图示出根据示例性实施例的数据处理装置的示意性框图;以及
20.图8是图示出能够应用于示例性实施例的示例性计算机设备的框图。
具体实施方式
21.在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另
一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
22.在本公开中对各种示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。如本文使用的,术语“多个”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及
“……
中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
23.向量检索是信息检索中的一种重要方式。数据库中的每一个样本数据,例如,语音、图片、视频、语音文字、用户行为等均可以用一个向量来表示,称为样本向量。样本向量的数量庞杂,在实际应用中,往往分散地存储于多个不同的存储介质之中。在检索过程中,用户输入的待检索信息也可以用一个向量表示,称为待检索向量。待检索向量需要与数据库中的每一个样本向量计算相似度,并根据每个样本向量所对应的相似度值,确定对待检索向量所对应的检索结果。
24.相关技术中,处理器需要首先将存储于一个或多个不同存储介质中的样本向量传输至内存中,再由处理器执行待检索向量和每一个样本向量的相似度计算,以确定检索结果。在此过程中,样本数据的传输需要占用大量的带宽资源,同时,巨大的相似度计算量也给处理器的数据吞吐能力和数据处理能力带来了很大的压力。
25.基于此,本公开提出了一种数据检索方法,为每个待检索存储介质均配置对应的存储控制器,针对每个待检索存储介质,利用该待检索存储介质所对应的存储控制器,从该待检索存储介质所存储的至少一个样本向量中提取与待检索向量相似的第一数量的样本向量,再由处理器整合来自每个待检索存储介质的第一数量的样本向量,并确定待检索向量所对应的检索结果。
26.本公开通过为每一个待检索存储介质设置对应的存储控制器,使得待检索向量与样本向量的相似度计算能够在待检索存储介质处、由该待检索存储介质所对应的存储控制器分别地执行。换言之,基于本公开所提供的上述方案,存储控制器能够将经过相似度计算而筛选出的、与待检索向量最相似的第一数量的样本向量传输至处理器。由此,待检索存储介质与处理器之间的数据传输量,以及处理器的数据处理量被大为缩减,减少了向量检索对带宽的占用,降低了处理器侧的负荷,能够在有限的处理资源下实现更大规模的向量检索。
27.下面结合附图详细描述本公开的示例性实施例。
28.图1是图示出根据示例性实施例的可以在其中实施本文描述的各种方法的示例系统100的示意图。
29.参考图1,该系统100包括客户端设备110、服务器120、以及将客户端设备110与服务器120通信地耦合的网络130。
30.客户端设备110包括显示器114和可经由显示器114显示的客户端应用(app)112。客户端应用112可以为运行前需要下载和安装的应用程序或者作为轻量化应用程序的小程序(liteapp)。在客户端应用112为运行前需要下载和安装的应用程序的情况下,客户端应用112可以被预先安装在客户端设备110上并被激活。在客户端应用112为小程序的情况下,用户102可以通过在宿主应用中搜索客户端应用112(例如,通过客户端应用112的名称等)
或扫描客户端应用112的图形码(例如,条形码、二维码等)等方式,在客户端设备110上直接运行客户端应用112,而无需安装客户端应用112。在一些实施例中,客户端设备110可以是任何类型的移动计算机设备,包括移动计算机、移动电话、可穿戴式计算机设备(例如智能手表、头戴式设备,包括智能眼镜,等)或其他类型的移动设备。在一些实施例中,客户端设备110可以替换地是固定式计算机设备,例如台式机、服务器计算机或其他类型的固定式计算机设备。
31.服务器120典型地为由互联网服务提供商(isp)或互联网内容提供商(icp)部署的服务器。服务器120可以代表单台服务器、多台服务器的集群、分布式系统、或者提供基础云服务(诸如云数据库、云计算、云存储、云通信)的云服务器。将理解的是,虽然图1中示出服务器120与仅一个客户端设备110通信,但是服务器120可以同时为多个客户端设备提供后台服务。
32.网络130的示例包括局域网(lan)、广域网(wan)、个域网(pan)、和/或诸如互联网之类的通信网络的组合。网络130可以是有线或无线网络。在一些实施例中,使用包括超文本标记语言(html)、可扩展标记语言(xml)等的技术和/或格式来处理通过网络130交换的数据。此外,还可以使用诸如安全套接字层(ssl)、传输层安全(tls)、虚拟专用网络(vpn)、网际协议安全(ipsec)等加密技术来加密所有或者一些链路。在一些实施例中,还可以使用定制和/或专用数据通信技术来取代或者补充上述数据通信技术。
33.为了本公开实施例的目的,在图1的示例中,客户端应用112可以为搜索应用程序,该搜索应用程序可以为用户提供用于输入待检索数据的界面,并向用户提供待检索数据所对应的检索结果。与此相应,服务器120可以是与搜索应用程序一起使用的服务器。该服务器120可以基于路网数据向客户端设备110中运行的客户端应用112提供在数据检索服务。替换地,服务器120也可以将路网数据提供给客户端设备110,由客户端设备110中运行的客户端应用112根据该路网数据提供本地检索服务。
34.图2是图示出根据示例性实施例的数据检索方法200的流程图。方法200可以在服务器(例如,图1中所示的服务器120)处执行。在一些实施例中,方法200可以由客户端设备(例如,客户端设备110)和服务器(例如,服务器120)相组合地执行。在下文中,以执行主体为服务器120为例,详细描述方法200的各个步骤。
35.如图2所示,数据检索方法200包括:步骤s210、响应于接收到待检索向量,确定待检索向量所对应的至少一个待检索存储介质,其中,至少一个待检索存储介质中的每一者均存储有至少一个样本向量,并且每个待检索存储介质均具有对应的存储控制器;步骤s220、针对至少一个待检索存储介质中的每一待检索存储介质,利用该待检索存储介质所对应的存储控制器,从该待检索存储介质所存储的至少一个样本向量中提取第一数量的样本向量,第一数量的样本向量与待检索向量的相似度高于至少一个样本向量中除第一数量的样本向量之外的其它样本向量与待检索向量的相似度;以及步骤s230、基于来自至少一个待检索存储介质中的每一者的第一数量的样本向量,确定待检索向量所对应的检索结果。
36.由此,通过为每一个待检索存储介质设置对应的存储控制器,使得待检索向量与样本向量的相似度计算能够在待检索存储介质处、由该待检索存储介质所对应的存储控制器分别地执行。由此,可以将每个待检索存储介质中经过相似度计算而筛选出的、与待检索
向量最相似的第一数量的样本向量传输至处理器。如此,待检索存储介质与处理器之间的数据传输量,以及处理器的数据处理量被大为缩减,减少了向量检索对带宽的占用,降低了处理器侧的负荷,能够实现在有限的处理资源下更大规模的向量检索。
37.其中,上述数据检索方法200可以由处理器来执行。
38.在步骤s210中,待检索存储介质可以是一个,也可以是多个,在此不作限定。
39.根据一些实施例,确定待检索向量所对应的至少一个待检索存储介质可以包括:在预存的多个候选质心向量中确定与待检索向量相匹配的至少一个匹配质心向量,其中,每个匹配质心向量均对应多个样本向量;以及将存储有多个样本向量中的至少一个样本向量的存储介质确定为待检索存储介质。
40.处理器通过将待检索向量分别与多个候选质心向量匹配,能够在多个候选质心向量中确定与待检索向量相匹配的至少一个匹配质心向量,并进而将检索范围设定为至少一个匹配质心向量中的每一者所对应的多个样本向量。由此,待检索的样本向量的范围被大为缩减,有效地减小了对带宽的占用,降低了处理器的处理负荷。
41.根据一些实施例中,可以对用于检索的样本向量执行聚类处理,以将用于检索的样本向量划分为多个向量组,每个向量组包括多个样本向量;针对多个向量组中的每一向量组,确定用于指示该向量组的候选质心向量,其中,多个向量组所分别对应的多个候选质心向量可以被预先存储于内存之中。
42.在一种实施方式中,每个向量组中的多个样本向量存储于一个单独的存储介质中,即每个匹配质心向量分别指向一个待检索存储介质。
43.在另一种实施方式中,每个向量组中的多个样本向量存储于多个存储介质中。特别地,每个向量组中的多个样本向量均匀地存储于每个存储介质中。如此,每个匹配质心向量可以指向多个待检索存储介质,使得检索过程中样本向量的传输和计算能够在多个待检索存储介质处并行地执行,有效地提升了检索效率。
44.根据一些实施例,至少一个匹配质心向量中的每一者可以为该匹配质心向量所对应的多个样本向量的均值。如此,匹配质心向量能够表征出该匹配质心向量所对应的多个样本向量的整体特征,使得基于匹配质心向量而确定的多个样本向量均与待检索向量具有较高的相似度,进而能够保证检索结果的准确性。
45.根据一些实施例,预存的多个候选质心向量具有对应的索引数据结构,并且其中,在预存的多个候选质心向量中确定与待检索向量相匹配的至少一个匹配质心向量可以包括:通过对索引数据结构的检索,从多个候选质心向量中确定至少一个匹配质心向量,至少一个匹配质心向量与待检索向量的相似度高于多个候选质心向量中除至少一个匹配质心向量之外的其它候选质心向量与待检索向量的相似度。由此,能够提升检索匹配质心向量的效率。
46.其中,索引数据结构可以基于ivf、kdtree、annoy或sptag等多种方式构建,在此不作限定。
47.在步骤s220中,根据一些实施例,利用该待检索存储介质所对应的存储控制器,从该待检索存储介质所存储的至少一个样本向量中提取第一数量的样本向量可以包括:计算至少一个样本向量中的每一者与待检索向量的相似度值;以及通过对至少一个样本向量分别对应的相似度值的排序,从该待检索存储介质中提取第一数量的样本向量。
48.由此,能够通过每个待检索存储介质所对应的存储控制器,来执行对该待检索存储介质中的至少一个样本向量的相似度计算,至少一个样本向量可以在待检索存储介质处实现基于相似度值的排序和筛选,节省了样本向量传输所占用的带宽,降低了处理器负荷。
49.其中,可以为每一个待检索存储介质单独设置一个存储控制器,也可以为多个待检索存储介质设置一个共同的存储控制器,在此不作限定。
50.根据一些实施例,存储控制器可以包括计算单元和排序单元,计算单元进一步包括乘法器和加法器。针对至少一个样本向量中的每一样本向量,将该样本向量和待检索向量输入乘法器,乘法器将该样本向量和待检索向量中的对应元素相乘以得到相似度向量,加法器将相似度向量中的每一个元素相加得到相似度值。排序单元对至少一个样本向量分别对应的相似度值按照由大到小的顺序排列,以确定第一数量的样本向量。
51.在一种实施方式中,预先设定相似度阈值,以将至少一个样本向量中相似度值大于该相似度阈值的样本向量作为提取的第一数量的样本向量。换言之,第一数量的值可以基于不同的待检索向量和不同的该待检索存储介质而不同。
52.在另一种实施方式中,预先设定第一数量的数值,以将至少一个样本向量中相似度值最大的前第一数量个样本向量作为提取的样本向量。换言之,第一数量的值可以为定值。
53.根据一些实施例,存储控制器中可以包括用于缓存至少一个样本向量中的每一者的相似度值的缓存器。
54.在计算单元所计算得到的每个样本向量的相似度值无法被排序单元及时处理时,可以将每个样本向量的相似度值在缓存器中进行缓存,以保证排序单元能够得到完整且可靠的处理数据,保证排序结果的可靠性。
55.图3是图示出根据示例性实施例的存储控制器的示意图。如图3所示,存储控制器300中包括乘法器310、加法器320、缓存器330和排序单元340。
56.将待检索向量301和待检索存储介质所存储的任意一个样本向量302输入乘法器310,乘法器310将待检索向量301和样本向量302的对应元素相乘,得到相似度向量,并将相似度向量输入加法器320。加法器320将相似度向量中的每一个元素相加得到相似度值,并将相似度值输入缓存器330之中。排序单元340通过和缓存器330的交互,获取待检索存储介质中的每个样本向量的相似度值,并通过对每个样本向量的相似度值进行排序而确定第一数量的样本向量303。第一数量的样本向量303可以被缓存在缓存器330中,并在适当的时机从存储控制器300输出。
57.在步骤s230中,来自至少一个待检索存储介质中的每一者的第一数量的样本向量在处理器处被整合。可以理解,来自至少一个待检索存储介质的每个样本向量均在其所存储的待检索存储介质处、由相应的存储控制器执行相似度计算。每个样本向量的相似度值可以与该样本向量一同传输至处理器侧,处理器无需再执行针对样本向量的相似度计算。
58.根据一些实施例,基于来自至少一个待检索存储介质中的每一者的第一数量的样本向量,确定待检索向量所对应的检索结果可以包括:通过对来自至少一个待检索存储介质中的每一者的每个样本向量的相似度值的排序,确定待检索向量所对应的检索结果。如此,处理器可以整合来自各个待检索存储介质的样本向量,从中提取出与待检索向量的相似度最高的一个或多个样本向量,并以此作为待检索向量所对应的检索结果。
59.图4是图示出根据示例性实施例的基于多个存储控制器的处理系统的示意图。如图4所示,其中,该系统包括处理器410,内存420,n个存储介质431~43n,与n个存储介质431~43n分别对应的n个存储控制器441~44n,其中,每个存储介质均存储有样本向量,每个存储控制器均能执行向量之间的相似度计算。
60.在将该处理系统应用于数据检索场景的情况下,可以在内存420中预先存储多个候选质心向量。输入数据401为待检索向量,处理器410在内存420中的多个候选质心向量中确定与输入数据401中的待检索向量相匹配的至少一个匹配质心向量。
61.以下以确定一个匹配质心向量,且该匹配质心向量所对应多个样本向量被均匀地存储于存储介质431~43n中的每一个为例进行说明。
62.处理器410将输入数据401中的待检索向量和匹配质心向量的标识分别发送至存储控制器441~44n。基于匹配质心向量的标识,每个存储控制器从其所对应的存储介质中获取该匹配质心向量所对应的至少一个样本向量,并计算至少一个样本向量中的每一者与输入数据401中的待检索向量的相似度值,通过对至少一个样本向量分别对应的相似度值进行排序,从中提取与待检索向量最相似的第一数量的样本向量。
63.存储控制器441~44n中的每一者将提取的第一数量的样本向量及其相似度值发送至内存420,处理器410对来自存储介质431~43n的每个样本向量的相似度值进行排序,以得到输出数据402,即待检索向量所对应的检索结果,其中,输出数据402可以为来自存储介质431~43n的样本向量中相似度值最高的预设数量的样本向量。
64.图5是图示出根据示例性实施例的数据处理方法500的流程图。方法500可以在服务器(例如,图1中所示的服务器120)处执行。
65.如图5所示,数据处理方法500包括:步骤s510、将第二数量的质心向量传输至多个存储介质中的每一者所对应的存储控制器,其中,第二数量的质心向量用于划分多个样本向量,每个存储介质均存储有多个样本向量中的部分样本向量;步骤s520、针对多个存储介质中的每一存储介质,利用该存储介质所对应的存储控制器,计算第二数量的质心向量中的每一者与该存储介质中的每个样本向量之间的相似度;以及步骤s530、针对第二数量的质心向量中的每一质心向量执行修正操作,其中,修正操作包括:步骤s531、确定该质心向量所对应的至少一个相似样本向量,其中,每个相似样本向量与该质心向量之间的相似度不小于该相似样本向量与第二数量的质心向量中的其它质心向量之间的相似度;以及步骤s532、基于所述至少一个相似样本向量中的每一者与该质心向量的相似度,修正该质心向量。
66.由此,通过为每一个存储介质设置对应的存储控制器,使得第二数量的质心向量与样本向量的相似度计算能够在每个存储介质处、由该存储介质所对应的存储控制器分别地执行。换言之,无需将每个存储介质中的所有样本向量均传输至处理器处执行相似度计算,取而代之的是,将每个样本向量的已经计算得到的相似度值传输至处理器,用以修正每个质心向量。如此,存储介质与处理器之间的数据传输量,以及处理器的数据处理量被大为缩减,减少了对带宽的占用,降低了处理器侧的负荷,能够实现在有限的处理资源下实现更大规模的数据处理。
67.其中,上述步骤s510~s530可以被重复执行,直至修正前的质心向量和修正后的质心向量相同,质心向量所对应的至少一个相似样本向量不再变化。如此,可以将多个样本
向量划分为第二数量的向量组,每个向量组可以用一个质心向量来表征,并且每个向量组中的样本向量为该质心向量所对应的至少一个相似样本向量。
68.在步骤s510中,在初始状态下,第二数量的质心向量可以为第二数量的随机向量;在迭代过程中,第二数量的质心向量为上一轮数据处理后经过修正的第二数量的质心向量。
69.在步骤s520中,可以为每一个存储介质单独设置一个存储控制器,也可以为多个存储介质设置一个共同的存储控制器,在此不作限定。
70.根据一些实施例,存储控制器可以包括乘法器和加法器。针对第二数量的质心向量中的每一质心向量,将该存储介质中的每一样本向量和该质心向量输入乘法器,乘法器将该样本向量和该质心向量中的对应元素相乘以得到相似度向量,加法器将相似度向量中的每一个元素相加得到该质心向量和该样本向量之间的相似度值。
71.根据一些实施例,修正操作通过处理器来执行,并且其中,利用该存储介质所对应的存储控制器,计算第二数量的质心向量中的每一者与该存储介质中的每个样本向量之间的相似度可以包括:确定该存储介质中所存储的样本向量的第一子集;以及利用该存储介质所对应的存储控制器计算第一子集的相似度结果,第一子集的相似度结果将被传输至处理器,其中,第一子集的相似度结果包括第二数量的质心向量中的每一者与该第一子集中的每个样本向量之间的相似度。
72.由此,存储控制器在计算得到第一子集的相似度结果之后,即可将第一子集的相似度结果向处理器传输,在第一子集的相似度结果传输的过程中,存储控制器可以继续执行对该存储介质中所存储的其它样本向量的相似度计算。由此,能够有效提升数据处理的效率。
73.在处理器接收到来自多个存储介质中的每个样本向量的相似度结果之后,可以开始执行步骤s530,以修正第二数量的质心向量中的每一质心向量,其中,每个样本向量的相似度结果包括该样本向量与第二数量的质心向量中的每一质心向量的相似度值。
74.在步骤s531中,针对每一个样本向量,将该样本向量划分至第二数量的质心向量中与该样本向量的相似度值最大的质心向量的相似样本向量之中,由此,可以基于第二数量的质心向量,将多个样本向量划分为第二数量个向量组。
75.在步骤s532中,根据一些实施例,基于至少一个相似样本向量,修正该质心向量可以包括:将质心向量修正为至少一个相似样本向量的均值。由此,能够使得修正后的质心向量更准确地表征至少一个相似样本向量的特征,使修正后的质心向量更接近最终的聚类中心。
76.仍以图4为例,在将该处理系统应用于数据处理场景的情况下,存储介质431~43n中均存储有未被分组的样本向量。输入数据401可以为随机产生的第二数量的质心向量,处理器410将第二数量的质心向量分别传输至存储控制器441~44n。以下以存储控制器441的处理过程为例进行说明。
77.针对第二数量的质心向量中的每一质心向量,存储控制器441计算该质心向量与存储在存储介质431中的每个样本向量的相似度,并将每个样本向量的相似度结果传输至内存420,其中,该相似度结果包括该样本向量与第二数量的质心向量中的每一质心向量的相似度值。存储控制器442~44n的处理过程与存储控制器441的处理过程类似,在此不再赘
述。
78.处理器410从内存420获取多个样本向量中的每一样本向量的相似度结果。基于每个样本向量的相似度结果,确定每个质心向量所对应的至少一个相似样本向量。可以理解,每个质心向量所对应的至少一个相似样本向量可以来自存储介质431~43n中多个不同的存储介质。处理器410基于每个质心向量所对应的至少一个相似样本向量的相似度值,来修正该质心向量。
79.修正后的第二数量的质心向量可以再次作为输入数据410,输入处理器410中执行上述处理,直至第二数量的质心向量均不再变化,并将最终的第二数量的质心向量作为输出数据402输出。
80.根据一些实施例,在针对第二数量的质心向量中的每一质心向量执行修正操作之后,将经过修正的第二数量的质心向量确定为用于数据检索的多个候选质心向量。经过修正的第二数量的质心向量能够表征其所对应的至少一个相似样本向量的整体特征,因此,可以将其作为数据检索中的多个候选质心向量存储于内存中,用于处理器对样本向量的初步检索,即将检索的样本向量确定为多个候选质心向量中的匹配质心向量所对应的至少一个相似样本向量。
81.虽然各个操作在附图中被描绘为按照特定的顺序,但是这不应理解为要求这些操作必须以所示的特定顺序或者按顺行次序执行,也不应理解为要求必须执行所有示出的操作以获得期望的结果。
82.图6是图示出根据示例性实施例的数据检索装置600的示意性框图。如图6所示,数据检索装置600,包括:第一确定单元610,被配置用于响应于接收到待检索向量,确定待检索向量所对应的至少一个待检索存储介质,其中,至少一个待检索存储介质中的每一者均存储有至少一个样本向量,并且每个待检索存储介质均具有对应的存储控制器;提取单元620,被配置用于针对至少一个待检索存储介质中的每一待检索存储介质,利用该待检索存储介质所对应的存储控制器,从该待检索存储介质所存储的至少一个样本向量中提取第一数量的样本向量,第一数量的样本向量与待检索向量的相似度高于至少一个样本向量中除第一数量的样本向量之外的其它样本向量与待检索向量的相似度;以及第二确定单元630,被配置用于基于来自至少一个待检索存储介质中的每一者的第一数量的样本向量,确定待检索向量所对应的检索结果。
83.图7是图示出根据示例性实施例的数据处理装置700的示意性框图。如图7所示,数据处理装置700,包括:传输单元710,被配置用于将第二数量的质心向量传输至多个存储介质中的每一者所对应的存储控制器,其中,第二数量的质心向量用于划分多个样本向量,每个存储介质均存储有多个样本向量中的部分样本向量;控制单元720,被配置用于针对多个存储介质中的每一存储介质,利用该存储介质所对应的存储控制器,计算第二数量的质心向量中的每一者与该存储介质中的每个样本向量之间的相似度;以及修正单元730,被配置用于针对第二数量的质心向量中的每一质心向量执行修正操作,其中,修正单元包括:731确定子单元,被配置用于确定该质心向量所对应的至少一个相似样本向量,其中,每个相似样本向量与该质心向量之间的相似度不小于该相似样本向量与第二数量的质心向量中的其它质心向量之间的相似度;以及732修正子单元,被配置用于基于所述至少一个相似样本向量中的每一者与该质心向量的相似度,修正该质心向量。
84.应当理解,图6中所示数据检索装置600的各个单元可以与参考图2描述的方法200中的各个步骤相对应,并且图7中所示数据处理装置700的各个单元可以与参考图5描述的方法500中的各个步骤相对应。由此,上面针对方法200描述的操作、特征和优点同样适用于装置600及其包括的单元,并且上面针对方法500描述的操作、特征和优点同样适用于装置700及其包括的单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
85.虽然上面参考特定单元讨论了特定功能,但是应当注意,本文讨论的各个单元的功能可以分为多个单元,和/或多个单元的至少一些功能可以组合成单个单元。本文讨论的特定单元执行动作包括该特定单元本身执行该动作,或者替换地该特定单元调用或以其他方式访问执行该动作(或结合该特定单元一起执行该动作)的另一个组件或单元。因此,执行动作的特定单元可以包括执行动作的该特定单元本身和/或该特定单元调用或以其他方式访问的、执行动作的另一单元。
86.还应当理解,本文可以在软件硬件元件或程序单元的一般上下文中描述各种技术。上面关于图6和7描述的各个单元可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些单元可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储器中。可替换地,这些单元可以被实现为硬件逻辑/电路。例如,在一些实施例中,第一确定单元610、提取单元620、第二确定单元630、传输单元710、控制单元720和修正单元730可以一起被实现在片上系统(system on chip,soc)中。soc可以包括集成电路芯片(其包括处理器(例如,中央处理单元(central processing unit,cpu)、微控制器、微处理器、数字信号处理器(digital signal processor,dsp)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
87.根据本公开的一方面,还提供一种计算机设备,包括:处理器;以及存储器,其上存储有计算机程序,其中,计算机程序在被处理器执行时,使处理器执行上述任意一种方法。
88.根据本公开的一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述任意一种方法。
89.根据本公开的一方面,还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述任意一种方法。
90.在下文中,结合图8描述这样的计算机设备、非暂态计算机可读存储器和计算机程序产品的说明性示例。
91.图8示出了可以被用来实施本文所描述的方法的计算机设备800的示例配置。举例来说,图1中所示的服务器120和/或客户端设备110可以包括类似于计算机设备800的架构。上述数据检索装置和数据处理装置也可以全部或至少部分地由计算机设备800或类似设备或系统实现。
92.计算机设备800可以是各种不同类型的设备。计算机设备800的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。
93.计算机设备800可以包括能够诸如通过系统总线814或其他适当的连接彼此通信
的至少一个处理器802、存储器804、(多个)通信接口806、显示设备808、其他输入/输出(i/o)设备810以及一个或更多大容量存储设备812。
94.处理器802可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器802可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器802可以被配置成获取并且执行存储在存储器804、大容量存储设备812或者其他计算机可读介质中的计算机可读指令,诸如操作系统816的程序代码、应用程序818的程序代码、其他程序820的程序代码等。
95.存储器804和大容量存储设备812是用于存储指令的计算机可读存储器的示例,指令由处理器802执行来实施前面所描述的各种功能。举例来说,存储器804一般可以包括易失性存储器和非易失性存储器二者(例如ram、rom等等)。此外,大容量存储设备812一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如cd、dvd)、存储阵列、网络附属存储、存储区域网等等。存储器804和大容量存储设备812在本文中都可以被统称为存储器或计算机可读存储器,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器802作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
96.多个程序可以存储在大容量存储设备812上。这些程序包括操作系统816、一个或多个应用程序818、其他程序820和程序数据822,并且它们可以被加载到存储器804以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):方法200和/或方法500,和/或本文描述的另外的实施例。
97.虽然在图8中被图示成存储在计算机设备800的存储器804中,但是模块816、818、820和822或者其部分可以使用可由计算机设备800访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机可读存储器和通信介质。
98.计算机可读存储器包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机可读存储器包括而不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字通用盘(dvd)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算机设备访问的任何其他非传送介质。与此相对,通信介质可以在诸如载波或其他传送机制之类的已调制数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机可读存储器不包括通信介质。
99.一个或更多通信接口806用于诸如通过网络、直接连接等等与其他设备交换数据。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(nic))、有线或无线(诸如ieee 802.11无线lan(wlan))无线接口、全球微波接入互操作(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、bluetooth
tm
接口、近场通信(nfc)接口等。通信接口806可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如lan、电缆等等)和无线网络(例如wlan、蜂窝、卫星等等)、因特网等等。通信接
口806还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
100.在一些示例中,可以包括诸如监视器之类的显示设备808,以用于向用户显示信息和图像。其他i/o设备810可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
101.本文描述的技术可以由计算机设备800的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。例如,该功能还可以通过使用分布式系统在“云”上全部或部分地实现。云包括和/或代表用于资源的平台。平台抽象云的硬件(例如,服务器)和软件资源的底层功能。资源可以包括在远离计算机设备800的服务器上执行计算处理时可以使用的应用和/或数据。资源还可以包括通过因特网和/或通过诸如蜂窝或wi-fi网络的订户网络提供的服务。平台可以抽象资源和功能以将计算机设备800与其他计算机设备连接。因此,本文描述的功能的实现可以分布在整个云内。例如,功能可以部分地在计算机设备800上以及部分地通过抽象云的功能的平台来实现。
102.虽然在附图和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,不定冠词“一”或“一个”不排除多个,术语“多个”是指两个或两个以上,并且术语“基于”应解释为“至少部分地基于”。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献