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

多媒体资源排序方法、装置、电子设备及存储介质与流程

2022-03-16 05:26:28 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种多媒体资源排序方法、装置、电子设备及存储介质。


背景技术:

2.推荐业务场景中的粗排阶段,处于召回阶段和精排阶段之间,粗排阶段用于对召回阶段召回的倒排序多媒体资源进行排序及筛选。
3.相关技术中,在粗排阶段,通过双塔模型中的资源侧网络离线计算多媒体资源的资源特征信息(比如,photo embedding)并缓存至线上服务,在线处理排序请求时,查询缓存获取待排序集合中的多媒体资源的多媒体资源特征信息,并计算该多媒体资源特征信息与对象(比如,用户)的对象特征信息(比如,user embedding)之间的向量内积,根据计算截获对待排序集合中的多媒体资源进行打分排序。然而,相关技术中的多媒体资源特征信息存储在单机内存中,多媒体资源的排序为单机的计算任务,从而增加了系统的服务响应时延,降低了多媒体资源的排序效率。


技术实现要素:

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.在一示例性的实施方式中,所述资源标识获取单元,包括:
60.第一获取子单元,被配置为执行从分布式索引中的资源标识信息列表中,获取所述待更新资源标识信息;和/或,
61.第二获取子单元,被配置为执行解析实时索引,得到所述待更新资源标识信息;和/或,
62.第三获取子单元,被配置为执行从对象在当前时间之前的预设时间内所发布的多媒体资源的资源标识信息中,获取所述待更新资源标识信息;所述对象包括所述目标对象。
63.在一示例性的实施方式中,所述响应模块包括:
64.获取请求发送单元,被配置为执行向对象特征服务器发送特征信息获取请求,所述特征信息获取请求中携带所述目标对象的对象标识信息;
65.初始对象特征信息返回单元,被配置为执行接收所述对象特征服务器响应于所述获取请求返回的,与所述对象标识信息对应的初始对象特征信息;
66.第二特征提取单元,被配置为执行对所述初始对象特征信息进行特征提取,得到所述目标对象特征信息。
67.根据本公开实施例的第三方面,提供一种电子设备,包括;
68.处理器;
69.用于存储所述处理器可执行指令的存储器;
70.其中,所述处理器被配置为执行所述指令,以实现如上述任一实施方式所述的多媒体资源排序方法。
71.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备执行如上述任一实施方式所述的多媒体资源排序方法。
72.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式所述的多媒体资源排序方法。
73.本公开的实施例提供的技术方案至少带来以下有益效果:
74.本公开实施例中,通过多个分片服务器存储由多媒体资源生成的多媒体资源特征信息,每个分片服务器存储的多媒体资源特征信息不同,使得在粗排排序阶段,可以基于待排序多媒体资源的资源标识信息和多个分片服务器的数量,确定待排序多媒体资源对应的分片服务器,实现通过多个分片服务器并行完成多媒体资源特征信息,与目标对象特征信息之间的关联信息的计算任务,从而降低系统的服务响应时延,提高多媒体资源的排序效率。
75.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
76.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
77.图1是根据一示例性实施例示出的一种多媒体资源排序方法的整体架构图。
78.图2是根据一示例性实施例示出的一种多媒体资源排序方法的流程图。
79.图3是根据一示例性实施例示出的一种获取目标对象特征信息的流程图。
80.图4是根据一示例性实施例示出的图1中的在线部分的示意图。
81.图5是根据一示例性实施例示出的将多媒体资源特征信息存储至多个分片服务器中的流程图。
82.图6是根据一示例性实施例示出的一种确定出所述待排序多媒体资源对应的分片服务器的流程图。
83.图7是根据一示例性实施例示出的一种确定关联信息的流程图。
84.图8是根据一是示例性实施例示出的一种更新多媒体资源特征信息的流程图。
85.图9是根据一示例性实施例示出的一种多媒体资源排序装置框图。
86.图10是根据一示例性实施例示出的一种用于多媒体资源排序的电子设备的框图。
具体实施方式
87.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
88.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
89.请参阅图1,图1是根据一示例性实施例示出的一种多媒体资源排序方法的整体架构图。如图1所示,该整体架构包括客户端、粗排服务器、多个分片服务器、资源特征服务器、对象特征服务器。
90.其中,客户端可以采集目标对象的多媒体资源排序请求,并将该多媒体资源排序请求发送至粗排服务器,以及接收粗排服务器返回的排序结果。可选地,该客户端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、智能可穿戴设备等终端设备。
91.其中,该粗排服务器用于响应于多媒体资源排序请求,获取待排序多媒体资源和目标对象的目标对象特征信息,以及用于确定待排序多媒体资源对应的分片服务器,以及用于从待排序多媒体资源对应的分片服务器中,并行获取待排序多媒体资源的资源标识信息所对应的多媒体资源特征信息,与上述目标对象特征信息之间的关联信息,以及用于根据上述关联信息,对上述待排序多媒体资源进行排序,得到排序结果。
92.具体地,该粗排服务器可以包括双塔模型。其中,双塔模型是粗排的一种实现方法,通过双塔模型对待排序多媒体资源进行打分、然后根据打分进行排序。双塔模型分为用
户侧网络和资源侧网络两个相互独立的预估网络。
93.其中,该多个分片服务器用于获取接收到的资源标识信息所对应的多媒体资源特征信息,以及用于将接收到的资源标识信息所对应的多媒体资源特征信息,与上述目标对象特征信息进行相似度计算,得到关联信息。
94.其中,该资源特征服务器用于存储多媒体资源的资源特征信息(比如,photo top embedding)。该对象特征服务器用于存储目标对象的目标对象特征信息(比如,user top embedding)。
95.可选地,该粗排服务器、资源特征服务器、对象特征服务器均可以是包括独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
96.继续如图1所示,该整体结构包括离线部分和在线部分,离线部分用于训练得到用户侧网络和资源侧网络,以及用于生成多媒体资源的资源特征信息,并将该多媒体资源的资源特征信息存储在多个分片服务器中,以及用于对资源特征信息进行更新。在线部分用于通过用户侧塔以及多个分片服务器对待排序多媒体资源进行排序,得到排序结果。
97.图2是根据一示例性实施例示出的一种多媒体资源排序方法的流程图,如图2所示,多媒体资源排序方法用于图1所示的架构中,包括以下步骤:
98.在步骤s11中,响应于目标对象的多媒体资源排序请求,获取待排序多媒体资源和目标对象的目标对象特征信息。
99.具体地,目标对象可以为需要进行多媒体资源推荐的用户。
100.具体地,该待排序多媒体资源为推荐系统中的召回阶段所召回的待排序多媒体资源,该待排序多媒体资源的数量为多个。
101.可选地,该待排序多媒体资源包括但不限于:视频、新闻、图片等。
102.可选地,多媒体资源排序请求可以由推荐系统在进入粗排阶段时自动触发,也可以由推荐系统的后台用户在召回阶段结束后手动触发。
103.示例性地,如图1所述,可以通过粗排服务器中的用户侧网络的入口模块(infer server)接收待排序多媒体资源和目标对象的目标对象特征信息。
104.在一个可选的实施例中,图3是根据一示例性实施例示出的一种获取目标对象特征信息的流程图,如图3所示,上述方法包括获取上述目标对象特征信息的步骤,上述获取上述目标对象特征信息的步骤可以包括:
105.在步骤s1101中,向对象特征服务器发送特征信息获取请求,上述特征信息获取请求中携带上述目标对象的对象标识信息。
106.在步骤s1103中,接收上述对象特征服务器响应于上述获取请求返回的,与上述对象标识信息对应的初始对象特征信息。
107.在步骤s1105中,对上述初始对象特征信息进行特征提取,得到上述目标对象特征信息。
108.可选地,该初始对象特征信息可以为对象特征特征向量,比如,用户特征向量(user feature embedding)。其中,该对象特征特征向量(比如,user feature embedding)
可为对象特征(比如,user feature)经过训练后得到的,代表某一个特定特征值的向量。
109.可选地,该目标对象特征信息可以为对象预估向量,比如,用户预估向量(user top embeding)。其中,该目标对象特征信息(比如,user top embeding)指的是,通过用户侧网络对初始对象特征信息(比如,user feature embedding)计算出来的代表用对象(比如,用户)实体的向量。
110.具体地,在上述步骤s1105中,可以通过用户侧网络对初始对象特征信息(比如,user feature embedding)进行特征提取,得到上述目标对象特征信息(比如,user top embeding)。
111.示例性地,用户侧网络可以通过训练数据预先训练学习得到,上述userfeature embedding可以为在训练过程中,对对象特征(userfeature)经过独热编码过程生成的向量。具体地,该userfeature包括但不限于:用户基本信息、群体统计属性以及行为过的多媒体资源序列等。
112.示例性地,可以将userfeature embedding存储在对象特征服务器。具体地,可以将userfeature embedding单机存储在对象特征服务器。
113.在一个可选的实施例中,如图4所示,图4是根据一示例性实施例示出的图1中的在线部分的示意图。如图4所示,还可以预先设置多个对象特征服务器(即对对象特征服务器分shard部署),将userfeature embedding进行分片处理,得到多个userfeature embedding组,并将多个userfeature embedding组中的数据存储至多个对象特征服务器,多个userfeature embedding组与多个对象特征服务器一一对应,从而可以摆脱userfeature embedding的单机存储限制,便于横向或缩减扩展存储,满足不同的业务场景,从而使得粗排排序覆盖全量的多媒体资源,优化粗排效果;此外,多个对象特征服务器可以并行完成userfeature embedding的获取任务,从而降低系统的服务响应时延。
114.以对象为用户,且对象特征服务器分shard部署为例,介绍上述步骤s1101-步骤s1105:
115.继续如图4所示,用户侧网络的入口模块(infer server)接收userfeature,并行向每个对象特征服务器发送携带目标对象的对象标识信息的特征信息获取请求,每个对象特征服务器在各自存储的userfeature embedding中,查询该对象标识信息对应的userfeature embedding,并将查找到的userfeature embedding发送至用户侧网络,用户侧网络对对象标识信息对应的userfeature embedding进行特征提取,得到user top embeding。
116.本公开实施例中,通过从对象特征服务器中获取初始对象特征信息(比如,user feature embedding),并通过用户侧网络对初始对象特征信息进行特征提取,得到目标对象特征信息(比如,user top embeding)。可见,如图4所示,在得到user top embeding的过程中,用户侧网络的入口模块(infer server)仅需接收user feature,并向对象特征服务器发送特征信息获取请求即可,并不需要传输整个user feature,即不需要将数据量较大的user feature在多个模块中进行穿梭,从而降低服务整体网络层面和框架层面的中央处理器(central processing unit,cpu)的消耗,进而降低服务整体实验并提供吞吐能力。
117.在步骤s13中,基于上述待排序多媒体资源的资源标识信息和多个分片服务器的数量,确定上述待排序多媒体资源对应的分片服务器;每个分片服务器存储各自对应的多
媒体资源特征信息,上述多媒体资源特征信息基于多媒体资源生成,上述多媒体资源包括上述待排序多媒体资源。
118.具体地,资源标识信息可以为资源身份标识号(identity document,id)。
119.具体地,该多媒体资源可以为多个,其可以为海量的多媒体资源。
120.在一个可选的实施例中,如图5所示,图5是根据一示例性实施例示出的将多媒体资源特征信息存储至多个分片服务器中的流程图,如图5所示,可以包括:
121.在步骤s21中,获取上述多媒体资源。
122.在步骤s23中,从资源特征服务器中获取上述多媒体资源对应的初始资源特征信息。
123.在步骤s25中,对上述初始资源特征信息进行特征提取,得到上述多媒体资源对应的多媒体资源特征信息。
124.在步骤s27中,对上述多媒体资源特征信息进行分片处理,得到多个多媒体资源特征信息组。
125.具体地,可以获取多个多媒体资源各自对应的初始资源特征信息,并对每个初始资源特征信息进行特征提取,得到多个多媒体资源各自对应的多媒体资源特征信息。接着对多个多媒体资源的多媒体资源特征信息进行分片处理,得到多个多媒体资源特征信息组。
126.在步骤s29中,将上述多个多媒体资源特征信息组中的多媒体资源特征信息,存储至上述多个分片服务器中,上述多个分片服务器与上述多个多媒体资源特征信息组一一对应。
127.可选地,上述步骤s21-步骤s29可以在图1中的离线部分完成。
128.可选地,该初始资源特征信息可以为资源特征向量,比如,图片特征向量(photo feature embedding)。其中,该资源特征向量(比如,photo feature embedding)可以指资源特征(比如,photo feature)经过训练后得到的,代表某一个特定特征值的向量。
129.示例性地,资源侧网络可以通过训练数据预先训练学习得到,上述初始资源特征信息(比如,photo feature embedding)可以为在训练过程中,对资源特征(比如,photo feature)经过独热编码过程生成的向量。具体地,该资源特征包括但不限于:资源基本信息、资源特征信息等。
130.示例性地,可以将初始资源特征信息(比如,photo feature embedding)存储在资源特征服务器。具体地,可以将photo feature embedding单机存储在对象特征服务器。也可以将photo feature embedding进行分片处理,得到多个多媒体资源特征信息组(比如,user top embedding组),并将多个photo top embedding组中的数据存储至多个资源特征服务器,多个photo top embedding组与多个资源特征服务器一一对应。
131.可选地,该多媒体资源特征信息可以为资源预估向量(比如,hoto top embeding)。其中,该多媒体资源特征信息(比如,photo top embeding)指的是,通过资源侧网络对初始资源特征信息(比如,photo feature embedding)计算出来的代表多媒体资源(比如,photo)实体的向量。具体地,在上述步骤s25中,可以通过资源侧网络对初始资源特征信息(比如,photo feature embedding)进行特征提取,得到上述多媒体资源特征信息(photo top embeding)。
132.具体地,继续如图4所示,可以预先设置多个分片服务器(即分片服务器分shard部署),将多媒体资源特征信息(比如,photo top embeding)进行分片处理,得到多个多媒体资源特征信息组(比如,photo top embeding组),并将多个多媒体资源特征信息组中的数据存储至多个分片服务器,多个多媒体资源特征信息组与多个分片服务器一一对应,从而可以摆脱多媒体资源特征信息(比如,photo top embeding)的单机存储限制,便于横向或缩减扩展存储,满足不同的业务场景,从而使得粗排排序覆盖全量的多媒体资源,优化粗排效果。
133.在一个可选的实施例中,图6是根据一示例性实施例示出的一种确定出待排序多媒体资源对应的分片服务器的流程图。如图6所示,在上述步骤s13中,上述基于待排序多媒体资源的资源标识信息和多个分片服务器的数量,确定待排序多媒体资源对应的分片服务器,可以包括:
134.在步骤s1301中,对上述待排序多媒体资源的资源标识信息和上述多个分片服务器的数量进行取模运算,得到上述待排序多媒体资源对应的取模运算结果。
135.在步骤s1303中,根据上述待排序多媒体资源对应的取模运算结果,从上述多个分片服务器中确定出上述待排序多媒体资源对应的分片服务器。
136.其中,取模运算指的是求两个数相除的余数。
137.具体地,对“上述待排序多媒体资源的资源标识信息和上述多个分片服务器的数量进行取模运算”,可以理解为求上述待排序多媒体资源的资源标识信息与上述多个分片服务器的数量的余数。上述取模运算结果可以为“余数”。
138.具体地,可以预先建立取模运算结果(比如,余数)与分片服务器之间的映射关系,在确定取模运算结果之后,可以根据预先建立的映射关系,获取取模运算结果对应的分片服务器,并将该取模运算结果对应的分片服务器作为相应的排序多媒体资源对应的分片服务器。
139.本公开实施例中,通过对待排序多媒体资源的资源标识信息和上述多个分片服务器的数量进行取模运算,并根据取模运算结果确定待排序多媒体资源对应的分片服务器,能够提高待排序多媒体资源对应的分片服务器的确定精度,确保待排序多媒体资源均能够精确计算出相应的关联信息,从而提高多媒体资源排序的精度。
140.在步骤s15中,从上述待排序多媒体资源对应的分片服务器中,并行获取上述待排序多媒体资源的资源标识信息所对应的多媒体资源特征信息,与上述目标对象特征信息之间的关联信息。
141.在一个可选的实施例中,图7是根据一示例性实施例示出的一种确定关联信息的流程图。如图7所示,在上述步骤s15中,上述从待排序多媒体资源对应的分片服务器中,并行获取待排序多媒体资源的资源标识信息所对应的多媒体资源特征信息,与上述目标对象特征信息之间的关联信息,可以包括:
142.在步骤s1501中,并行发送上述目标对象特征信息和上述待排序多媒体资源对应的资源标识信息至上述待排序多媒体资源对应的分片服务器。
143.在步骤s1503中,并行接收上述待排序多媒体资源对应的分片服务器返回的关联信息,上述关联信息基于上述对应的分片服务器,对相应的多媒体资源特征信息与上述目标对象特征信息进行相似度计算得到,上述相应的多媒体资源特征信息与上述对应的分片
服务器所接收到的资源标识信息相对应。
144.具体地,关联信息可以表征多媒体资源特征信息(比如,photo top embedding)与目标对象特征信息(比如,user top embedding)之间的相似度。
145.具体地,继续如图4所示,可以将待排序多媒体资源的资源标识信息和多媒体资源特征信息(比如,photo top embedding)拆分为若干个请求发送至,待排序多媒体资源对应的分片服务器中。由于每个分片服务器存储了各自对应的多媒体资源特征信息,可以从待排序多媒体资源对应的分片服务器中获取接收到的源标识信息所对应的多媒体资源特征信息,并计算接收到的源标识信息所对应的多媒体资源特征信息与目标对象特征信息之间的相似度,得到关联信息,然后待排序多媒体资源对应的分片服务器返回各自计算得到的关联信息。
146.需要说明的是,目标对象特征信息会发送至各个分片服务器,但待排序多媒体资源对应的资源标识信息仅会发送至相对应的分片服务器。
147.可选地,可以计算多媒体资源特征信息(比如,photo top embedding)与目标对象特征信息(比如,user top embedding)之间向量内积,通过向量内积体现相似度。
148.具体地,“向量内积”指的是对两个向量对应位一一相乘后求和的操作。向量内积越大,说明两个向量之间的夹角越小,则关联信息越大,相似度越高,向量内积越小,说明两个向量之间的夹角越大,则关联信息越小,相似度越低。
149.在一个可选的实施例中,为了进一步提高排序的效率,在获取所述待排序多媒体资源的资源标识信息所对应的多媒体资源特征信息,与上述目标对象特征信息之间的关联信息之后,还可以通过预设函数拟合函数(比如,sigmoid函数)将相似度拟合为一个0-1之间的数值。
150.本公开实施例中,由于待排序多媒体资源对应的资源标识信息仅会发送至相对应的分片服务器,使得个多个分片服务器可以并行完成在线预估时的关联信息的计算任务,提高关联信息确定的精度和效率,从降低系统的服务响应时延。
151.在步骤s17中,根据上述关联信息,对上述待排序多媒体资源进行排序,得到排序结果。
152.在一个可选的实施例中,在上述步骤s17中,上述根据上述关联信息,对上述待排序多媒体资源进行排序,得到排序结果,可以包括:
153.将上述待排序多媒体资源,按照上述关联信息进行降序排序,得到多媒体资源序列。
154.将上述多媒体资源序列中前预设数量个多媒体资源,作为上述排序结果。
155.本公开实施例中,在粗排服务器接收到各个分片服务器返回的关联信息时,可以汇总各个分片服务器返回的关联信息,根据关联信息对待排序多媒体资源进行升序排序,并将排序后的前预设数量个多媒体资源,作为粗排阶段的排序结果,能够提高粗排阶段的排序结果确定的精度,从而提高推荐系统向目标对象推荐信息的推荐精度。
156.图8是根据一是示例性实施例示出的一种更新多媒体资源特征信息的流程图。在一个可选的实施例中,如图8所示,上述方法还可以包括更新上述多媒体资源特征信息,上述更新上述多媒体资源特征信息可以包括:
157.获取待更新资源标识信息。
158.基于上述待更新资源标识信息,得到待更新资源特征符。
159.从上述资源特征服务器中获取上述待更新资源特征符对应的待更新初始资源特征信息。
160.对上述待更新初始资源特征信息进行多媒体资源实体特征提取,得到待更新多媒体资源特征信息。
161.基于上述待更新多媒体资源特征信息更新上述多媒体资源特征信息。
162.在一个可行的实施例中,上述获取待更新资源标识信息,可以包括:
163.从分布式索引中的资源标识信息列表中,获取上述待更新资源标识信息;和/或,
164.解析实时索引,得到上述待更新资源标识信息;和/或,
165.从对象在当前时间之前的预设时间内所发布的多媒体资源的资源标识信息中,获取上述待更新资源标识信息;所述对象包括所述目标对象。
166.在一个可选的实施例中,上述基于上述待更新资源标识信息,得到待更新资源特征符,可以包括:
167.获取上述待更新资源标识信息对应的待更新资源特征值。
168.基于映射信息获取上述待更新资源特征值对应的映射值,上述映射信息表征资源特征值与映射值之间的映射关系。
169.拼接上述待更新资源特征值与上述映射值,得到待更新资源特征符。
170.在一个可选的实施例中,上述对上述待更新初始资源特征信息进行多媒体资源实体特征提取,得到待更新多媒体资源特征信息,可以包括:
171.通过资源侧网络对该待更新初始资源特征信息进行多媒体资源实体特征提取,得到能够代表多媒体资源实体的待更新多媒体资源特征信息。
172.以下,对图8中的更新过程进行详细介绍:
173.一、分布式索引更新多媒体资源特征信息:
174.预先建立分布式索引,分布式索引包括多个分区,每个分区中存储的多媒体资源不同。分布式索引中存储资源标识信息(比如,photo id)与资源特征值之间的映射关系,即根据资源标识信息可以获取到相应的资源特征值。
175.在更新过程中,可以遍历分布式索引中的资源标识信息列表(比如,photo id列表),并抽取与上述多媒体资源的资源标识信息不同的待更新资源标识信息(比如,待更新photo id),从分布式索引中查询待更新资源标识信息(比如,待更新photo id)对应的索引,得到待更新资源标识信息对应的待更新资源特征值。
176.基于资源特征值与映射值之间的映射关系,获取待更新资源特征值对应的映射值,拼接该待更新资源特征值与上述映射值,得到待更新资源特征符。从资源特征服务器中查找该待更新资源特征符对应的待更新初始资源特征信息(比如,待更新photo feature embedding),通过资源侧网络对该待更新初始资源特征信息进行多媒体资源实体特征提取,得到待更新多媒体资源特征信息(比如,待更新photo top embedding),通过该待更新多媒体资源特征信息(比如,待更新photo top embedding)更新上述多媒体资源特征信息(比如,photo top embedding)。
177.二、实时索引更新多媒体资源特征信息:
178.数据库中的多媒体资源的数量较多,当有新的多媒体资源被加入时,希望其能够
被检索到,全部重新建立索引会消耗较多的系统资源,因此可以使用“主索引 增量索引”的实时索引的方式来解决上述问题,实时索引的实现基本原理是设置两个索引(主索引和增量索引),当有新的多媒体资源加入时,只需要对增量索引进行增加,原来的主索引不需要变动。
179.在更新过程中,可以实时读取实时索引中的索引中的资源标识信息列表(比如,photo id列表),并获取新增的待更新资源标识信息,以及该待更新资源标识信息对应的待更新资源特征值。
180.基于资源特征值与映射值之间的映射关系,获取待更新资源特征值对应的映射值,拼接该待更新资源特征值与上述映射值,得到待更新资源特征符。后续过程与分布索引中的类型,在此不再赘述。
181.三、通过当前时间之前的预设时间内所发布的多媒体资源更新多媒体资源特征信息。
182.获取包括目标对象在内的所有对象在当前时间之前预设时间内(比如,近30分钟内)发布的多媒体资源,获取与发布的多媒体资源对应的待更新资源标识信息(比如待更新photo id),后续过程与分布索引中的类型,在此不再赘述。
183.具体地,还可以通过训练资源侧网络中训练得到的初始资源特征信息(比如,photo feature embedding)更新上述多媒体资源特征信息,具体过程可以如下:
184.从初始资源特征信息(比如,photo feature embedding)中提取相应的资源标识信息,后续过程与分布索引中的类型,在此不再赘述。
185.本公开实施例中,获取与待更新资源特征符(该待更新资源特征符由待更新资源标识信息得到)相对应的待更新初始资源特征信息,对该待更新初始资源特征信息进行多媒体资源实体特征提取,得到用于更新多媒体资源特征信息的待更新多媒体资源特征信息,提高了多媒体资源特征信息更新的精度和效率。此外,本公开实施例支持并行运行多条独立的更新流程(pipeline),更新时启动多条pipeline:遍历分布式索引更新、实时索引触发更新、模型训练生成的初始资源特征信息更新消息触发、遍历对象最近30分钟上传作品更新,通过并行运行多条更新流程,实对召回结果的完全覆盖,提升预估效果,经验证,使用本公开的技术方案,可以使得应用程序(application,app)使用时长提升0.131%。且可分片(分shard)执行,不同的shard并行处理不同的数据,加快更新的时效性,同时各pipeline可以配置指定的线程数或指定物理数占比、以此调节不同更新模式的资源占比和更新时效性。此外,多条更新流程的逻辑经过模块化后,各流程中相同的功能只需维持一份代码,通过配置脚本对模块运行参数进行自定义、即可完成各流程的运行配置描述并生成相应的配置。
186.本公开实施例中,一方面,数据传输基于grpc flatbuffer协议进行,flatbuffer可以从根本上消除了反序列化操作,从而消除了相关的内存分配和释放操作避免,引起底层内存分配库出现锁竞争的现象,从而降低服时延,其中,grpc是一个高性能的远程过程调用(remote procedure call,rpc)框架,flatbuffer是一个跨平台串行化库,基于二进制文件;另一方面,重构并优化服务架构,降低双塔服务的网络和grpc框架开销,服务处理延时降低约10%,提升双塔各模块的吞吐(入口模块吞吐增长100%,整体增长约30%),在扩大photo覆盖量的同时服务整体可节省约1/3的机器消耗;另一方面,粗排双塔功能得以模块
化,新模型可以通过修改少量模型参数生成配置与部署,降低新模型上线代价;新业务在索引兼容的情况下可以复用现有的功能模块,保证各业务使用相同的二进制来部署自己的粗排双塔服务,快速组合服务功能进行上线,索引不兼容时也仅需开发新索引接入功能即可完成业务接入,从降低服务维护成本和新业务接入成本;另一方面,所有双塔服务统一部署和监控,便于线上维护和功能迭代。
187.图9是根据一示例性实施例示出的一种多媒体资源排序装置框图。参照图9,该装置包括响应模块31,分片服务器确定模块33、关联信息确定模块35和排序模块37。
188.响应模块31,被配置为执行响应于目标对象的多媒体资源排序请求,获取待排序多媒体资源和目标对象的目标对象特征信息。
189.分片服务器确定模块33,被配置为执行基于上述待排序多媒体资源的资源标识信息和多个分片服务器的数量,确定上述待排序多媒体资源对应的分片服务器;每个分片服务器存储各自对应的多媒体资源特征信息,上述多媒体资源特征信息基于多媒体资源生成,上述多媒体资源包括上述待排序多媒体资源。
190.关联信息确定模块35,被配置为执行从上述待排序多媒体资源对应的分片服务器中,并行获取上述待排序多媒体资源的资源标识信息所对应的多媒体资源特征信息,与上述目标对象特征信息之间的关联信息。
191.排序模块37,被配置为执行根据上述关联信息,对上述待排序多媒体资源进行排序,得到排序结果。
192.在一示例性的实施方式中,上述分片服务器确定模块33,可以包括:
193.取模单元,被配置为执行对上述待排序多媒体资源的资源标识信息和上述多个分片服务器的数量进行取模运算,得到上述待排序多媒体资源对应的取模运算结果。
194.分片服务器确定单元,被配置为执行根据上述待排序多媒体资源对应的取模运算结果,从上述多个分片服务器中确定出上述待排序多媒体资源对应的分片服务器。
195.在一示例性的实施方式中,上述关联信息确定模块35,包括:
196.并行发送单元,被配置为执行并行发送上述目标对象特征信息和上述待排序多媒体资源对应的资源标识信息至上述待排序多媒体资源对应的分片服务器。
197.并行接收单元,被配置为执行并行接收上述待排序多媒体资源对应的分片服务器返回的关联信息,上述关联信息基于上述对应的分片服务器,对相应的多媒体资源特征信息与上述目标对象特征信息进行相似度计算得到,上述相应的多媒体资源特征信息与上述对应的分片服务器所接收到的资源标识信息相对应。
198.在一示例性的实施方式中,上述排序模块37,包括:
199.排序单元,被配置为执行将上述待排序多媒体资源,按照上述关联信息进行降序排序,得到多媒体资源序列。
200.排序结果确定单元,被配置为执行将上述多媒体资源序列中前预设数量个多媒体资源,作为上述排序结果。
201.在一示例性的实施方式中,上述装置还可以包括:
202.多媒体资源获取模块,被配置为执行获取上述多媒体资源。
203.初始资源特征信息获取模块,被配置为执行从资源属性服务器中获取上述多媒体资源对应的初始资源特征信息。
204.第一特征提取模块,被配置为执行对上述初始资源特征信息进行特征提取,得到上述多媒体资源对应的多媒体资源特征信息。
205.分片模块,被配置为执行对上述多媒体资源特征信息进行分片处理,得到多个多媒体资源特征信息组。
206.存储模块,被配置为执行将上述多个多媒体资源特征信息组中的多媒体资源特征信息,存储至上述多个分片服务器中,上述多个分片服务器与上述多个多媒体资源特征信息组一一对应。
207.在一示例性的实施方式中,上述装置还包括更新上述多媒体资源特征信息的更新模块,上述更新模块,包括:
208.资源标识获取单元,被配置为执行获取待更新资源标识信息。
209.资源特征符获取单元,被配置为执行基于上述待更新资源标识信息,得到待更新资源特征符。
210.初始资源特征获取单元,被配置为执行从上述资源特征服务器中获取上述待更新资源特征符对应的待更新初始资源特征信息。
211.实体特征提取单元,被配置为执行对上述待更新初始资源特征信息进行多媒体资源实体特征提取,得到待更新多媒体资源特征信息。
212.更新单元,被配置为执行基于上述待更新多媒体资源特征信息更新上述多媒体资源特征信息。
213.在一示例性的实施方式中,上述资源标识获取单元,包括:
214.第一获取子单元,被配置为执行从分布式索引中的资源标识信息列表中,获取上述待更新资源标识信息;和/或,
215.第二获取子单元,被配置为执行解析实时索引,得到上述待更新资源标识信息;和/或,
216.第三获取子单元,被配置为执行从对象在当前时间之前的预设时间内所发布的多媒体资源的资源标识信息中,获取上述待更新资源标识信息;上述对象包括所述目标对象。
217.在一示例性的实施方式中,上述响应模块包括:
218.获取请求发送单元,被配置为执行向对象特征服务器发送特征信息获取请求,上述特征信息获取请求中携带上述目标对象的对象标识信息。
219.初始对象特征信息返回单元,被配置为执行接收上述对象特征服务器响应于上述获取请求返回的,与上述对象标识信息对应的初始对象特征信息。
220.第二特征提取单元,被配置为执行对上述初始对象特征信息进行特征提取,得到上述目标对象特征信息。
221.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
222.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
223.在示例性实施例中,还提供了一种电子设备,包括处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现上述实施例中任一多媒体资源排序方法的步骤。
224.该电子设备可以是终端、服务器或者类似的运算装置,以该电子设备是服务器为例,图10是根据一示例性实施例示出的一种用于多媒体资源排序的电子设备的框图,该电子设备40可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)41(中央处理器41可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器43,一个或一个以上存储应用程序423或数据422的存储介质42(例如一个或一个以上海量存储设备)。其中,存储器43和存储介质42可以是短暂存储或持久存储。存储在存储介质42的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器41可以设置为与存储介质42通信,在电子设备40上执行存储介质42中的一系列指令操作。电子设备40还可以包括一个或一个以上电源46,一个或一个以上有线或无线网络接口45,一个或一个以上输入输出接口44,和/或,一个或一个以上操作系统421,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
225.输入输出接口44可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备40的通信供应商提供的无线网络。在一个实例中,输入输出接口44包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个示例性实施例中,输入输出接口44可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
226.本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备40还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
227.在示例性实施例中,还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例中任一多媒体资源排序方法的步骤。
228.在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一种实施方式中提供的多媒体资源排序方法。
229.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
230.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求指出。
231.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献