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

信息检索方法、装置、服务器和可读存储介质与流程

2021-12-07 20:23:00 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种信息检索方法、装置、服务器和可读存储介质。


背景技术:

2.随着互联网技术的发展,机器学习技术迅速的发展,其在推荐、搜索等领域得到广泛的应用,用户可以在移动终端的应用程序中输入所需产品的关键词,由服务器端通过机器学习从海量的产品信息中搜索,得到与用户需求匹配的产品。
3.现有技术中,采用机器学习进行搜索主要使用的算法包括有树算法,局部敏感哈希算法、乘积量化算法和近邻图算法等,这些算法本质上是将高维空间的数据切分到子空间,然后进行向量化,通过向量检索,得到检索结果。
4.但是现有技术中所采用的搜索算法,由于面对的往往都是上千万量级的产品信息,在进行搜索的过程中,一部分算法为了缩短搜索耗时,会大量的占用机器内存,导致机器性能下降,另一部分算法则是在牺牲搜索耗时的情况下,减少了机器内存的占用,保障机器性能的稳定,上述的这些算法都无法兼顾搜索耗时与机器内存,导致产品信息的搜索效率低。


技术实现要素:

5.本技术提供一种信息检索方法、装置、服务器和可读存储介质,用于解决现有产品信息搜索效率低的问题。
6.第一方面,本技术实施例提供一种信息检索方法,包括:
7.获取产品特征向量,根据产品特征向量的总数量确定索引类型,所述索引类型包括中心结构索引和卫星系统图索引,所述产品特征向量用于表征产品信息;
8.根据所述索引类型,构建所述产品特征向量的向量索引;
9.获取目标特征向量,根据所述向量索引进行向量检索,得到与所述目标特征向量匹配的产品特征向量;
10.根据所述产品特征向量,获取产品信息。
11.在第一方面的一种可能设计中,所述根据产品特征向量的总数量确定索引类型,包括:
12.当产品特征向量的总数量小于或等于预设阈值时,确定所述索引类型为中心结构索引,所述中心结构索引包括一个中心节点和与所述中心节点关联多个末端节点,一个节点包括至少一个产品特征向量;
13.当产品特征向量的总数量大于所述预设阈值时,确定所述索引类型为卫星系统图索引,所述卫星系统图索引包括互相关联的多个节点和至少一个入口节点。
14.在第一方面的另一种可能设计中,所述根据所述索引类型,构建所述产品特征向量的向量索引,包括:
15.当确定所述索引类型为中心结构索引时,从多个节点中确定一个中心节点和多个末端节点,一个节点中至少包括有一个产品特征向量;
16.将每一个末端节点分别与所述中心节点关联,构建所述产品特征向量的向量索引。
17.在第一方面的再一种可能设计中,所述获取目标特征向量,根据所述向量索引进行向量检索,得到与所述目标特征向量匹配的产品特征向量,包括:
18.获取所述目标特征向量与所述中心节点中的产品特征向量的第一相似度距离,以及所述目标特征向量与所述末端节点中的产品特征向量的第二相似度距离;
19.根据所述第一相似度距离和第二相似度距离,得到与所述目标特征向量匹配的产品特征向量。
20.在第一方面的又一种可能设计中,所述根据所述索引类型,构建所述产品特征向量的向量索引,包括:
21.当确定所述索引类型为卫星系统图索引时,根据预设近似最近邻算法,构建得到近邻图,所述近邻图中包括相关联的多个节点,一个节点中至少包括有一个产品特征向量;
22.从所述近邻图的多个节点中确定入口节点,得到所述产品特征向量的向量索引。
23.在第一方面的又一种可能设计中,所述从所述近邻图的多个节点中确定入口节点,得到所述产品特征向量的向量索引,包括:
24.从所述近邻图的多个节点中选取至少两个节点作为入口节点;
25.对所述近邻图进行节点选边,生成邻接矩阵;
26.对所述近邻图进行连通性扩展,得到所述产品特征向量的向量索引。
27.在第一方面的又一种可能设计中,所述根据预设近似最近邻算法,构建得到近邻图之前,还包括:
28.从多个产品特征向量中提取相同的产品特征向量,存入至同一个节点中。
29.在第一方面的又一种可能设计中,所述获取目标特征向量,根据所述向量索引进行向量检索,得到与所述目标特征向量匹配的产品特征向量,包括:
30.将所述入口节点作为初始节点;
31.获取所述目标特征向量与所述初始节点中的产品特征向量的相似距离;
32.当所述相似距离与预设距离不匹配时,将与所述初始节点相近的下一个节点作为初始节点,并转至获取所述目标特征向量与所述初始节点中的产品特征向量的相似距离的步骤。
33.在第一方面的又一种可能设计中,所述获取目标特征向量,根据所述向量索引进行向量检索,得到与所述目标特征向量匹配的产品特征向量之前,还包括:
34.根据所述卫星系统图索引对样本特征向量进行检索,得到第一检索结果;
35.根据预设检索工具对所述样本特征向量进行检索,得到第二检索结果;
36.将所述第一检索结果与所述第二检索结果进行对比,获取对比结果;
37.根据所述对比结果对所述卫星系统图索引进行准确性检测。
38.在第一方面的又一种可能设计中,所述获取产品特征向量之前,还包括:
39.将产品特征向量进行离线存储;
40.获取产品特征向量的更新数据,对离线存储的产品特征向量进行更新。
41.在第一方面的又一种可能设计中,所述获取产品特征向量,包括:
42.对产品特征向量进行解析,获取所述产品特征向量的维度;
43.当所述产品特征向量的维度与预设维度相同时,获取解析后的产品特征向量;
44.当产品特征向量的维度与预设维度不相同时,将所述产品特征向量清除。
45.在第一方面的又一种可能设计中,所述获取目标特征向量,根据所述向量索引进行向量检索,得到与所述目标特征向量匹配的产品特征向量之前,还包括:
46.将所述向量索引进行离线存储;
47.获取所述向量索引的更新数据,对离线存储的向量索引进行更新。
48.第二方面,本技术实施例提供一种信息检索装置,包括:
49.向量获取模块,用于获取至少两个产品特征向量,根据产品特征向量的总数量确定索引类型,所述索引类型包括中心结构索引和卫星系统图索引,所述产品特征向量用于表征产品信息;
50.构建模块,用于根据所述索引类型,构建所述产品特征向量的向量索引;
51.匹配模块,用于获取目标特征向量,根据所述向量索引进行向量检索,得到与所述目标特征向量匹配的产品特征向量;
52.信息获取模块,用于根据所述产品特征向量,获取产品信息。
53.第三方面,本技术实施例提供一种服务器,包括存储器和至少一个处理器;
54.所述存储器存储计算机执行指令;
55.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上所述的方法。
56.第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如上所述的方法。
57.第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述的方法。
58.本技术实施例提供的信息检索方法、装置、服务器和可读存储介质,根据表征产品信息的产品特征向量的总数量,可以灵活的构建不同类型的向量索引,并采用不同类型的向量索引进行检索,得到产品信息,能够使得向量索引的构建过程以及向量检索过程达到最优,缩短向量索引的构建时间和向量检索的检索时间,减少整个产品信息检索过程所花费的时间,提高检索效率。
附图说明
59.图1为本技术实施例提供的信息检索方法的场景示意图;
60.图2为本技术实施例提供的信息检索方法的流程示意图;
61.图3为本技术实施例提供的中心结构索引的结构示意图;
62.图4为本技术实施例提供的卫星系统图索引的结构示意图;
63.图5为本技术实施例提供的向量检索过程的结构示意图;
64.图6为本技术实施例提供的信息检索装置实施例一的结构示意图;
65.图7为本技术实施例提供的信息检索装置实施例二的结构示意图;
66.图8为本技术实施例提供的构建卫星系统图索引的流程示意图;
67.图9为本技术实施例提供的服务器的结构示意图。
具体实施方式
68.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
69.随着互联网大数据的发展,用户在互联网上的各种行为信息都可以进行系统分析,以得到用户的兴趣爱好,然后根据用户的兴趣爱好进行针对性的产品推荐,促进产品的购买转化率,但是现有的互联网平台(例如网购平台)往往都包括了很多种不同类型的产品,使得产品信息非常多,为了能够快速的从众多产品中找到用户感兴趣的产品,一般互联网平台都会通过在线检索技术,实时的结合用户的行为特征,从海量的产品中检索出用户感兴趣的产品,并将该产品的信息推荐给用户,方便用户挑选和购买。
70.现有技术中所使用的检索技术主要为向量化检索技术,通过将产品信息向量化,然后给定一个向量数据集合,检索出与查询向量最相近的k个向量(k为正整数),而在向量化检索过程中,根据检索的方式不同,具体又可以分为最近邻检索(nns,nearest neighbor search)和近似最近邻检索(anns,approximate nearest neighbor search),最近邻检索是用产品特征向量与数据集合中的向量逐条计算距离,计算结果精确,但是无法满足海量高维度实时检索要求,近似最近邻是在可以接受的精度条件下将向量建立索引,以牺牲精度的方式提高检索效率,解决生产环境中大规模向量检索对检索性能的要求,在线检索技术主要是采用后者进行向量检索,主要包括有基于树的检索、基于哈希的检索(例如局部敏感哈希算法(lsh,local sensitive hashing))、基于乘积量化的检索(例如乘积量化算法(pq,product quantization))以及基于图的检索(例如近邻图算法(hnsw,hierarchical navigable small world))。
71.其中,基于树的检索会随着向量维度的提高,用于计算划分空间的开销将显著增大,使得索引的构建效率降低,降低检索性能,并且还可能会丢失大量与目标相似的向量,降低检索的精度;基于哈希的检索需要建立大量的哈希表,会占用很大的机器内存,影响服务器的服务性能,无法适用于在线检索;基于乘积量化的检索在高维向量检索中容易遗漏部分潜在的与产品特征向量距离较近的向量,影响检索精度;而基于图的检索在构建索引时不能够保证最短边存在于图中,在检索的过程中容易出现绕路现象,消耗机器资源,降低检索性能。
72.针对上述问题,本技术实施例提供了一种信息检索方法、装置、服务器和可读存储介质,其主要思路如下:首先将产品信息转换为产品特征向量,然后确定产品特征向量的总数量,根据总数量建立中心结构索引或者是卫星系统图索引,能够灵活的选择建立最优的向量索引,能够减少向量索引建立所花费的时间,同时根据目标特征向量,对该向量索引进行检索,从中得到产品信息,采用最优的向量索引进行检索,能够提高机器的检索性能,避免机器资源的浪费,提高检索效率。
73.图1为本技术实施例提供的信息检索方法的场景示意图,如图1所示,包括有终端
11和服务器12,终端11可以是移动终端(例如手机),当用户使用手机打开购物应用后,可以在购物应用上浏览产品、点击产品、加购产品以及购买产品等等,服务器12在后台可以统计到用户的这些相关行为数据,分析确定出用户的产品偏好,然后从产品库中查找出用户偏好的产品并将其推送到终端11的显示界面,供用户浏览查看。
74.示例性的,终端11中还可以安装其他类型的应用软件,当用户使用该类型的应用软件时,服务器12可以在后台统计到用户的行为特征,并根据用户的行为特征,推送用户偏好的产品信息等。
75.示例性的,产品信息包括有用户偏好的产品以及该产品的优惠券信息、降价信息和库存信息等等。
76.下面,通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
77.图2为本技术实施例提供的信息检索方法的流程示意图,如图2所示,该方法可以应用于服务器或者其他处理设备,以服务器作为执行主体为例,该方法具体可以包括以下步骤:
78.s201、获取产品特征向量,根据产品特征向量的总数量确定索引类型。
79.其中,索引类型包括中心结构索引和卫星系统图索引,产品特征向量用于表征产品信息。
80.在本技术实施例中,产品特征向量的总数量不同,对应的索引类型不同,后续构建的向量索引也不相同,每一个产品特征向量可以表征一个产品信息,产品信息可以包括产品的最小库存单元标识(sku,stock keeping unit)和产品的价格信息等等,当存在有较多的产品信息时,则对应的产品特征向量的总数量较多,当产品信息的数量较少时,则对应的产品特征向量较少,示例性的,产品信息的数量最多可以达到成千万或者上亿。
81.示例性的,可以设置两个数量区间,当产品特征向量的总数量在其中一个数量区间时,则确定索引类型为中心结构索引,当产品特征向量的总数量在另一个数量区间时,则确定索引类型为卫星系统图索引。
82.在本实施例中,中心结构索引是指该索引具有一个中心节点,其他的所有节点都分别与该中心节点相关联,每一个节点中都可以存储一个产品特征向量,当进行向量检索时,先从中心节点开始检索,然后依次遍历其他与中心节点相关联的节点;卫星系统图索引(ssg,satellite system graph)是采用近似最近邻思想构建得到的索引,其包括至少一个入口节点以及多个其他的节点,各个节点之间根据近似最近邻思想相关联。
83.示例性的,图3为本技术实施例提供的中心结构索引的结构示意图,如图3所示,其包括一个中心节点31以及与中心节点相关联的末端节点32。
84.图4为本技术实施例提供的卫星系统图索引的结构示意图,如图4所示,其包括有互相关联的多个节点41和至少一个入口节点42。
85.s202、根据索引类型,构建产品特征向量的向量索引。
86.示例性的,当确定索引类型为中心结构索引时,则构建中心结构索引作为向量索引,该向量索引中包括有多个节点,每一个节点中都可以存储各不相同的产品特征向量;当确定索引类型卫星系统图索引时,则构建卫星系统图索引作为向量索引,该向量索引中的
节点数量更多,能够存储更多数量的产品特征向量。
87.s203、获取目标特征向量,根据向量索引进行向量检索,得到与目标特征向量匹配的产品特征向量。
88.示例性的,目标特征向量可以是用于表征用户喜好的产品的向量,其可以根据用户的行为进行向量化得到,例如将用户对产品的浏览行为、点击行为、加购行为、搜索行为以及购买行为等等进行向量化之后,得到用户喜好的产品的向量,作为目标特征向量。
89.在本实施例中,向量索引可以是中心结构索引或者卫星系统图索引,其中都涵盖有所有的产品特征向量,通过检索向量索引中的产品特征向量,可以得到与目标特征向量匹配的产品特征向量,示例性的,与目标特征向量匹配的产品特征向量可以是一个或者多个。
90.示例性的,在进行向量检索时,中心结构索引对应的检索方式为遍历式,即对中心节点和末端节点进行遍历检索,而卫星系统图索引对应的检索方式是采用近似最近邻思想对各个节点进行检索,其首先从入口节点进行检索,然后根据近似最近邻思想,然后再对与入口节点相关联的其他节点进行检索,卫星系统图索引检索到与目标特征向量匹配的产品特征向量的平均检索耗时相对于中心结构索引的平均检索耗时较短。
91.示例性的,可以通过比较目标特征向量与每一个节点中的产品特征向量之间的距离,当目标特征向量与产品特征向量的距离小于预设值时,则表示该产品特征向量与目标特征向量匹配。
92.s204、根据与目标特征向量匹配的产品特征向量,获取产品信息。
93.具体的,每一个产品特征向量都对应的表征一个产品的产品信息,示例性的,以键盘作为一个产品,键盘的品牌、颜色、性能等产品信息可以联合构成一个sku id,该sku id向量化之后为键盘对应的产品特征向量,通过该sku id也可以查找到该键盘的产品信息。
94.本技术实施例通过获取产品特征向量的总数量来确定不同类型的索引,从而构建最适合当前产品特征向量的最优向量索引,根据最优向量索来检索得到与目标特征向量匹配的产品特征向量,即可以降低向量索引在建立所花费的时间,在检索时利用最优向量索引也可以实现机器的检索性能的提升,避免机器资源的浪费,提高检索效率。
95.示例性的,在一些实施例中,上述步骤s201中“根据产品特征向量的总数量确定索引类型”具体可以包括如下步骤:
96.当产品特征向量的总数量小于或等于预设阈值时,确定索引类型为中心结构索引;当产品特征向量的总数量大于预设阈值时,确定索引类型为卫星系统图索引。
97.其中,中心结构索引包括一个中心节点和与中心节点关联多个末端节点,一个节点包括至少一个产品特征向量,卫星系统图索引包括互相关联的多个节点和至少一个入口节点。
98.示例性的,预设阈值可以根据实际情况设置,例如预设阈值可以是200,当产品特征向量的总数量大于200时,则采用卫星系统图索引,当产品特征向量的总数量小于200时,则采用中心结构索引。
99.本技术实施例通过对比产品特征向量的总数量与预设阈值的大小,当总数量少时,则选择建立中心结构索引以降低索引建立所花费的时间,当总数量较多时,则选择建立卫星系统图索引,通过卫星系统图索引可以提高服务器的检索性能,避免服务器性能资源
被大量占用,提高在线检索的效率。
100.在一些实施例中,在构建产品特征向量的向量索引时,当确定索引类型为中心结构索引时,可以从多个节点中确定一个中心节点和多个末端节点,并将每一个末端节点分别与中心节点关联,得到产品特征向量的向量索引。
101.在本实施例中,此时得到的产品特征向量的向量索引为中心结构索引,示例性的,节点的数量可以与产品特征向量的总数量对应,即每一个节点中可以对应存入一个产品特征向量,中心结构索引只存在有一个中心节点,其他的所有节点都为末端节点,每一个末端节点都与该中心节点关联。
102.示例性的,产品特征向量是具有维度的,以128维为例,当产品特征数量的总数量非常多,达到千万甚至上亿时,由于受到维度的限制,可能会存相同的产品特征向量,此时,每一个节点中可以存入多个相同的产品特征向量,当检索到该节点中产品特征向量与目标特征向量匹配时,则会获取到这些产品特征向量对应的产品信息。
103.本技术实施例通过确定一个中心节点,以及其他与中心节点关联的末端节点,构建得到中心结构索引,可以有效的减少向量索引的构建所花费的耗时时间,提高向量索引的构建速度,使得整个产品信息检索过程的时间更短,提高检索效率。
104.再进一步的,在一些实施例中,若构建的是中心结构索引,则上述步骤s203具体可以包括如下步骤:获取目标特征向量与中心节点中的产品特征向量的第一相似度距离,以及目标特征向量与末端节点中的产品特征向量的第二相似度距离;根据第一相似度距离和第二相似度距离,得到与目标特征向量匹配的产品特征向量。
105.具体的,目标特征向量与产品特征向量之间可以通过常见的向量公式计算得到距离,通过该距离即可判断出目标特征向量与产品特征向量之间的相似度,从而确定目标特征向量与产品特征向量是否匹配。
106.示例性的,在使用中心结构索引进行检索时,可以先对比中心节点中的产品特征向量与目标特征向量是否匹配,然后再遍历末端节点中的产品特征向量,检索得到与目标特征向量匹配的产品特征向量。
107.示例性的,可以预设一个阈值,当相似度距离小于该阈值时,则表示该节点中的产品特征向量与目标特征向量匹配,当相似度距离大于或等于该阈值时,则表示该节点中的产品特征向量与目标特征向量不匹配。
108.本技术实施例通过对中心节点和末端节点中的产品特征向量进行比较,获取相似度距离以判断中心节点或末端节点中的产品特征向量是否与目标特征向量匹配,能够准确的得到与目标特征向量匹配的产品特征向量,提高检索的精确度。
109.可选的,在一些实施例中,当确定索引类型为卫星系统图索引时,可以根据预设近似最近邻算法,构建得到近邻图;并从近邻图的多个节点中确定入口节点,得到产品特征向量的向量索引。
110.其中,近邻图中包括相关联的多个节点,一个节点中至少包括有一个产品特征向量。
111.示例性的,一个节点中也可以包括有多个相同的产品特征向量,且这些相同的产品特征向量表征的是相同的sku id,例如每一个产品信息都对应一个sku id,当产品信息较多时,可能会存在相同的sku id,这就会使得这些表征sku id的产品特征向量会出现相
同的情况。
112.在本实施例中,近邻图中包括有多个互相关联的节点,节点的数量可以与产品特征向量的总数量对应,即每一个节点中至少存放一个产品特征向量,预设近似最近邻算法是指根据各个节点中存放的产品特征向量之间的距离,将距离相近的两个产品特征向量所存放的节点互相关联,入口节点是用于在检索的入口,即当进行向量检索时,先检索入口节点中的产品特征向量与目标特征向量是否匹配。
113.本技术实施例通过构建产品特征向量的卫星系统图索引,能够在产品特征向量的总数量较多的情况下,避免服务器对各个节点中的产品特征向量进行遍历检索,缩短检索时间,提高检索效率。
114.示例性的,在一些实施例中,上述“从近邻图的多个节点中确定入口节点,得到产品特征向量的向量索引”具体可以包括如下步骤:
115.从近邻图的多个节点中选取至少两个节点作为入口节点;对近邻图进行节点选边,生成邻接矩阵;对近邻图进行连通性扩展,得到产品特征向量的向量索引。
116.具体的,近邻图中包括有多个节点,节点与节点之间需要通过节点选边,生成邻接矩阵,然后进行连通性扩展,才能将相关联的节点联通,以进行后续的检索,在后续进行检索时,会先检索入口节点中的产品特征向量,然后再检索与入口节点相关联的节点中的产品特征向量。
117.本技术实施例通过选取多个入口节点,在进行向量检索时,可以从多个入口节点同时进行检索,减少向量之间的计算次数,更快速的找到与目标特征向量匹配的产品特征向量,提高检索效率。
118.进一步的,在一些实施例中,根据预设近似最近邻算法,构建得到近邻图之前,可以从多个产品特征向量中提取相同的产品特征向量,存入至同一个节点中。
119.具体的,产品信息可以通过一个sku id表示,当产品信息较多时,例如存在千万或者上亿的产品信息时,可能会存在有相同的sku id,这就会导致表征产品信息的产品特征向量会有相同的情况,将这些相同的产品特征向量存入到同一个节点之后,后续在检索时会将该节点中相同的产品特征向量都提取出来,从而检索得到多个相同的sku id。
120.本技术实施例通过将多个相同的产品特征向量存入到同一个节点,可以实现数据去重,避免重复检索,提高检索效率。
121.进一步的,在一些实施例中,若构建的为卫星系统图索引,则上述步骤s203具体可以通过如下步骤实现:
122.将入口节点作为初始节点;
123.获取目标特征向量与初始节点中的产品特征向量的相似距离;
124.当相似距离与预设距离不匹配时,将与初始节点相近的下一个节点作为初始节点,并转至获取目标特征向量与初始节点中的产品特征向量的相似距离的步骤;
125.当相似距离与预设距离匹配时,则获取初始节点中的产品特征向量,作为与目标特征向量匹配的产品特征向量。
126.具体的,预设距离可以根据实际情况进行设置,在构建的卫星系统图索引中可以包括有多个入口节点,在进行向量检索时,以入口节点作为起始节点,首先对入口节点进行检索,并将与入口节点相近的下一个节点为待检索节点,当入口节点中没有检索到与目标
特征向量匹配的产品特征向量时,则进入到下一个节点继续进行检索,以此类推直到检索到与目标特征向量匹配的产品特征向量。
127.示例性的,节点与节点之间是根据近似最近邻思想关联到一起的,即若果当前节点中的产品特征向量与下一个节点中的产品特征向量的距离较近,则将这当前节点与下一个节点关联在一起,此时下一个节点与当前节点相近,图5为本技术实施例提供的向量检索过程的结构示意图,如图5所示,该向量索引为卫星系统图索引,其可以包括有两个入口节点,即入口节点51和入口节点52,在进行向量检索时,首先对入口节点进行检索,然后根据近似最近邻思想,找到与入口节点关联的节点中最近的一个节点作为待检索节点,并继续检索待检索节点,然后继续根据近似最近邻思想,找到与该待检索节点关联的节点中最近的一个节点作为下一个待检索节点,依次类推进行检索,最终得到与目标特征向量匹配的四个目标节点,即目标节点53。
128.本技术实施例通过从卫星系统图索引的入口节点开始进行检索,最终得到与目标特征向量匹配的产品特征向量,能够避免对所有的节点进行遍历式的检索,避免大量占用服务器性能资源,提高检索效率,为在线实时检索提供快速准确的检索结果。
129.示例性的,在一些实施例中,步骤s203之前还可以包括如下步骤:
130.根据卫星系统图索引对样本特征向量进行检索,得到第一检索结果;
131.根据预设检索工具对样本特征向量进行检索,得到第二检索结果;
132.将第一检索结果与第二检索结果进行对比,获取对比结果;
133.根据对比结果对卫星系统图索引进行准确性检测。
134.具体的,预设检索工具可以是一个高精度的检索工具,例如通过预设检索工具可以对所有的产品特征向量进行遍历检索,得到包含与样本特征向量匹配的产品特征向量,作为第二检索结果,通过卫星系统图索引对样本特征向量进行检索得到的第一检索结果中包括有与样本特征向量匹配的产品特征向量,两个检索结果进行对比,得到对比结果,对比结果可以是重合度,例如当第一检索结果与第二检索结果的重合度达到95%时,则判定卫星系统图索引的准确性较好,可以用于后续的检索,当第一检索结果与第二检索结果的重合度低于95%时,则判定卫星系统图索引的准确性较差,则会放弃本次数据,并输出告警提示。
135.本技术实施例通过对卫星系统图索引的检索准确性进行检测,能够避免检索结果出现不准确的情况,提高检索效率。
136.示例性的,在一些实施例中,上述步骤s201之前还可以包括如下步骤:
137.将产品特征向量进行离线存储;
138.获取产品特征向量的更新数据,对离线存储的产品特征向量进行更新。
139.具体的,当产品特征向量数量较多时,服务器可以将产品特征向量写入到网盘,在需要使用时则直接从网盘中调取即可,同时,网盘中写入的产品特征向量也需要实时的更新,其中,更新数据可以是不同版本的数据,每一次更新时都维护一次数据版本。
140.本技术实施例通过对离线存储的产品特征向量进行更新,能够保证产品信息的实时性,提高检索的准确性,同时,在需要进行检索时可以直接调用离线存储的产品特征向量,提高数据响应速度。
141.进一步的,在一些实施例中,上述步骤s201中“获取产品特征向量”,具体可以包括
如下步骤:
142.对产品特征向量进行解析,获取产品特征向量的维度;
143.当产品特征向量的维度与预设维度相同时,获取解析后的产品特征向量;
144.当产品特征向量的维度与预设维度不相同时,输出告警信息。
145.具体的,每一个产品特征向量都具有维度,例如2维向量可以表示为(x,y),3维向量可以表示为(x,y,z),预设维度可以是128维,其具体可以根据产品特征向量的总数量确定,当离线存储的产品特征向量的维度为128维时,则保留这些产品特征向量,当不为128维时,则放弃当前整个版本的数据,输出告警信息,示例性的,告警信息可以是语音提示或者文本提示。
146.本技术实施例通过对产品特征向量的维度进行检测,避免后续在进行检索时出现向量索引中的产品特征向量无法与目标特征向量进行对比的情况,避免向量检索过程中出现故障,提高检索效率。
147.示例性的,在一些实施例中,上述步骤s203之前,还可以包括如下步骤:
148.将向量索引进行离线存储;
149.获取向量索引的更新数据,对离线存储的向量索引进行更新。
150.具体的,向量索引包括有中心结构索引和卫星系统图索引,构建的向量索引可以写入到网盘中进行离线存储,当需要进行检索时再从离线存储中调用,同时,写入至网盘中的向量索引也需要进行实时更新,向量索引的更新数据包括有不同版本的数据,通过对比版本号,来实现对离线存储的向量索引进行更新,且在每一次更新之后维护一次向量索引的版本信息。
151.示例性的,当需要调用离线存储的向量索引时,可以采用双buffer技术将网盘中的索引文件加载到服务器内存中,已进行后续的向量检索。
152.本技术实施例通过将建立好的向量索引离线存储到网盘中,并实时的对网盘中的向量索引进行更新,能够方便服务器在需要进行向量检索时直接调用,保证检索的准确性和实时性,为在线检索提供保障。
153.综上,本技术实施例通过将产品信息转换为产品特征向量,并根据产品特征向量的总数量构建对应的向量索引,通过构建的向量索引来对目标特征向量进行检索,得到与目标特征向量匹配的产品特征向量,从而获取对应的产品信息,能够提高在线实时检索的效率。
154.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
155.图6为本技术实施例提供的信息检索装置实施例一的结构示意图,如图6所示,该信息检索装置60包括有向量获取模块61、构建模块62、匹配模块63和信息获取模块64,其中,
156.向量获取模块61用于获取产品特征向量,根据产品特征向量的总数量确定索引类型。
157.构建模块62用于根据索引类型,构建产品特征向量的向量索引。
158.匹配模块63用于获取目标特征向量,根据向量索引进行向量检索,得到与目标特征向量匹配的产品特征向量。
159.信息获取模块64用于根据产品特征向量,获取产品信息。
160.其中,索引类型包括中心结构索引和卫星系统图索引,产品特征向量用于表征产品信息。
161.在一些实施例中,向量获取模块61具体可以用于当产品特征向量的总数量小于或等于预设阈值时,确定索引类型为中心结构索引,当产品特征向量的总数量大于预设阈值时,确定索引类型为卫星系统图索引。
162.其中,中心结构索引包括一个中心节点和与中心节点关联多个末端节点,一个节点包括至少一个产品特征向量,卫星系统图索引包括互相关联的多个节点和至少一个入口节点。
163.在一些实施例中,构建模块62具体可以用于当确定索引类型为中心结构索引时,从多个节点中确定一个中心节点和多个末端节点;将每一个末端节点分别与中心节点关联,得到产品特征向量的向量索引。
164.在一些实施例中,匹配模块63具体可以用于获取目标特征向量与中心节点中的产品特征向量的相似度距离,以及目标特征向量与末端节点的相似度距离;根据相似度距离,得到与目标特征向量匹配的产品特征向量。
165.可选的,在一些实施例中,构建模块62具体可以用于当确定索引类型为卫星系统图索引时,根据预设近似最近邻算法,构建得到近邻图;从近邻图的多个节点中确定入口节点,得到产品特征向量的向量索引。
166.其中,近邻图中包括相关联的多个节点,一个节点中至少包括有一个产品特征向量。
167.在一些实施例中,构建模块62具体可以用于从近邻图的多个节点中选取至少两个节点作为入口节点;对近邻图进行节点选边,生成邻接矩阵;对近邻图进行连通性扩展,得到产品特征向量的向量索引。
168.在一些实施例中,信息检索装置还可以包括去重模块,用于从多个产品特征向量中提取相同的产品特征向量,存入至同一个节点中。
169.在一些实施例中,匹配模块63具体可以用于将入口节点作为初始节点;获取目标特征向量与初始节点中的产品特征向量的相似距离;当相似距离与预设距离不匹配时,将与初始节点相近的下一个节点作为初始节点,并转至获取目标特征向量与初始节点中的产品特征向量的相似距离的步骤;当相似距离与预设距离匹配时,则获取初始节点中的产品特征向量,作为与目标特征向量匹配的产品特征向量。
170.在一些实施例中,信息检索装置还可以包括检测模块,用于根据卫星系统图索引对样本特征向量进行检索,得到第一检索结果;根据预设检索工具对样本特征向量进行检索,得到第二检索结果;将第一检索结果与第二检索结果进行对比,获取对比结果;根据对比结果对卫星系统图索引进行准确性检测。
171.在一些实施例中,信息检索装置还可以包括向量更新模块,用于将产品特征向量进行离线存储;获取产品特征向量的更新数据,对离线存储的产品特征向量进行更新。
172.可选的,在一些实施例中,向量获取模块61具体可以用于对产品特征向量进行解析,获取产品特征向量的维度;当产品特征向量的维度与预设维度相同时,获取解析后的产品特征向量;当产品特征向量的维度与预设维度不相同时,输出告警信息。
173.在一些实施例中,信息检索装置还可以包括索引更新模块,用于将向量索引进行离线存储;获取向量索引的更新数据,对离线存储的向量索引进行更新。
174.本技术实施例提供的装置,可用于执行上述实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
175.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,匹配模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上匹配模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
176.例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,asic),或,一个或多个微处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system

on

a

chip,soc)的形式实现。
177.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
178.图7为本技术实施例提供的信息检索装置实施例二的结构示意图,如图7所示,该信息检索装置包括产品数据模块71、产品索引模块72和产品检索模块73,其中,
179.产品数据模块71用于存储所有产品信息,并将所有产品信息转换为对应的产品特征向量,将这些产品特征向量通过离线存储至网盘,并实时的对网盘中的产品特征向量进行更新。
180.产品索引模块72用于为所有的产品特征向量建立对应的向量索引,为在线检索模块73提供建立好的向量索引,以及对向量索引进行实时的数据更新。
181.示例性的,产品索引模块72具体包括有资源调度单元721、数据解析单元722、索引建立单元723和索引文件单元724。
182.其中,资源调度单元721可以用于对网盘中存入的产品特征向量进行实时轮询,确定是否有数据更新,并从网盘加载最新版本的产品特征向量。
183.数据解析单元722可以根据通信协议对加载的产品特征向量进行解析,在解析的过程中对产品特征向量的维度进行校验,如果维度不符合要求,则放弃该版本的产品特征向量,并发出告警消息。
184.索引建立单元723对解析之后的产品特征向量构建相应的向量索引,根据产品特征向量的总数量,确定构建中心结构索引或者卫星系统图索引。
185.图8为本技术实施例提供的构建卫星系统图索引的流程示意图,如图8所示,其包括步骤:s801、数据加载解析;s802、构建线程池;s803、数据去重;s804、构建近邻图;s805、确定入口节点;s806、进行节点选边;s807、生成邻接矩阵;s808、进行连通性校验。
186.具体的,对于海量产品数据,广告索引模块72在加载、解析完成产品向量数据后会构建卫星系统图索引,建立卫星系统图索引的过程包括数据去重、构建全量数据的近邻图、选取入口节点、节点选边、构建邻接矩阵、连通性扩展等,对于产品数据集对一份数据根据业务需求可能需要构建多个图,在索引构建流程中采用多线程并行处理数据,并行构建多个卫星系统图索引。
187.其中,在卫星系统图索引结构中,结构体ssgindex通过unordered_map管理每一个图索引indexssggraph,并记录向量数据的维度emb_dim与每个图索引的版本信息,indexssggraph中item_number记录当前向量索引的数据量,在海量产品数据下可能存在不同的产品拥有相同的产品特征向量,使用same_emb_item_id_map存放产品与节点序号的对应信息,master_item_vec存放每个节点的embedding信息,entrance_node_vec存放索引的入口节点,metric指定向量距离的评估方式(例如可以选择内积、欧式距离或余弦值),final_graph存放最后生成的图索引结构。
188.索引文件单元724负责检测生成的向量索引是否符合召回率要求,具体可以采用预设检索工具对样本特征向量进行检索,得到检索结果,然后再对向量索引的检索结果进行判定,确定召回率是否符合要求,如果符合要求,则将该向量索引根据通信协议生成dump文件,并上传网盘供产品检索模块73加载,如果不符合召回率要求则放弃本次数据的更新,并发出告警信息。
189.产品检索模块73用于接收上游服务的请求,根据用户的行为特征量化得到目标特征向量,然后检索建立的向量索引,根据目标特征向量与向量索引中各个节点中的产品特征向量的距离,进行排序,确定排序靠前的n个产品特征向量对应的产品信息(n为正整数),将这些产品信息返回给上游服务。
190.示例性的,产品检索模块73具体可以包括资源获取单元731,索引加载单元732,计算单元733和向量检索单元734,其中,
191.资源获取单元731可以用于检测由广告索引模块72写入至网盘的向量索引是否有更新,以创建线程加载最新的版本的向量索引。
192.索引加载模块732用于将网盘中最新版本的向量索引加载到服务器内存中,示例性的,可以采用双buffer技术将网盘中最新版本的向量索引加载到服务器内存中。
193.计算单元733用于根据用户的行为特征,得到目标特征向量。
194.向量检索单元734用于根据目标特征向量,对向量索引进行检索,得到与目标特征向量相似的一个或多个产品特征向量,并将这些产品特征向量所表征的产品信息输出至上游服务。
195.可选的,图9为本技术实施例提供的服务器的结构示意图,该服务器90包括有存储器901和至少一个处理器902,存储器901存储计算机执行指令,该服务器还包括有总线903,其中,存储器901通过总线903与处理器902连接。
196.在具体的实现过程中,至少一个处理器902执行存储器901存储的计算机执行指令,使得至少一个处理器902执行如上的方法的步骤。
197.处理器902的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
198.在上述的图9所示的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
199.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
200.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
201.本技术还提供一种可读存储介质,可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上述的方法的步骤。
202.本技术实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序被处理器执行时实现上述方法的步骤。
203.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a

b,a

c,b

c,或a

b

c,其中,a,b,c可以是单个,也可以是多个。
204.可以理解的是,在本技术实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
205.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

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

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

相关文献