CN117523445A - 一种资源推荐方法、装置、电子设备和存储介质 - Google Patents
一种资源推荐方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117523445A CN117523445A CN202311491292.9A CN202311491292A CN117523445A CN 117523445 A CN117523445 A CN 117523445A CN 202311491292 A CN202311491292 A CN 202311491292A CN 117523445 A CN117523445 A CN 117523445A
- Authority
- CN
- China
- Prior art keywords
- task
- business
- target
- service
- business task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000003860 storage Methods 0.000 title claims abstract description 29
- 238000006243 chemical reaction Methods 0.000 claims abstract description 117
- 238000012549 training Methods 0.000 claims description 75
- 230000004927 fusion Effects 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 30
- 230000007246 mechanism Effects 0.000 claims description 23
- 230000001419 dependent effect Effects 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 18
- 239000013598 vector Substances 0.000 description 31
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 15
- 238000010801 machine learning Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000013508 migration Methods 0.000 description 7
- 230000005012 migration Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001627 detrimental effect Effects 0.000 description 2
- 239000013604 expression vector Substances 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及人工智能技术领域,提供一种资源推荐方法、装置、电子设备和存储介质,用以提高资源推荐的准确性。其中,方法包括:获取指定的多任务转化路径,以及多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;对于一个待预测资源的资源信息、对象信息和场景信息,分别基于不同业务任务进行特征提取,获得不同业务任务各自对应的候选特征;根据一个业务任务以及一个业务任务关联的各上级业务任务各自的候选特征,确定一个业务任务相应预测概率;根据多个待预测资源在各业务任务下预测概率,向目标对象进行资源推荐。由于本申请考虑了多个业务任务之间的先后依赖关系,提高了资源推荐的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及人工智能技术领域,提供一种资源推荐方法、装置、电子设备和存储介质。
背景技术
现代推荐系统的优化过程中,通常需要同时考虑多个不同的业务相关指标,相应地,用于推荐排序的模型一般也采用多任务预估,这种模型可简称为多任务模型。如在视频推荐场景下,所要预测的多个任务可以是:对象是否点击视频,是否播放大于3秒,是否下滑等。由于不同任务之间的差异性,多任务模型在离线训练和在线融合时通常会存在有害的相互干扰。
在相关技术中,常见的一般为多门控混合专家网络(Multi-gate Mixture-of-Experts,MMoE)/渐进式分层萃取(Progressive Layered Extraction,PLE)这类基于MoE门控的多任务模型。虽然,MoE的门控的权重一定程度上反映了在训练阶段的多任务间的差异。但是,各个任务的预估过程是相对独立的,而真实业务下的多个任务往往具有相互关联的复杂关系,仅仅是独立的对各个任务进行预估,则会导致最终模型预估的准确度较低,进而导致基于此预估结果进行资源推荐的效果不佳。
发明内容
本申请实施例提供一种资源推荐方法、装置、电子设备和存储介质,用以提高资源推荐的准确性。
本申请实施例提供的一种资源推荐方法,包括:
获取指定的多任务转化路径,以及多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;所述多任务转化路径表示:待预测的各业务任务各自的期望转化结果,及所述各业务任务之间的先后依赖关系;
对于每个待预测资源,分别执行以下操作:
对于一个待预测资源的资源信息、所述对象信息和所述场景信息,分别基于不同业务任务进行特征提取,获得所述不同业务任务各自对应的候选特征;
对于每个业务任务,根据一个业务任务以及所述一个业务任务关联的各上级业务任务各自的候选特征,确定所述一个业务任务相应的预测概率;所述各上级业务任务是根据所述先后依赖关系确定的;
根据所述多个待预测资源在各业务任务下的预测概率,向所述目标对象进行资源推荐,所述预测概率表示所述目标对象对所述待预测资源执行的动作,符合相应期望转化结果的概率。
本申请实施例提供的一种资源推荐装置,包括:
获取单元,用于获取指定的多任务转化路径,以及多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;所述多任务转化路径表示:待预测的各业务任务各自的期望转化结果,及所述各业务任务之间的先后依赖关系;
执行单元,用于对于每个待预测资源,分别执行以下操作:
对于一个待预测资源的资源信息、所述对象信息和所述场景信息,分别基于不同业务任务进行特征提取,获得所述不同业务任务各自对应的候选特征;
对于每个业务任务,根据一个业务任务以及所述一个业务任务关联的各上级业务任务各自的候选特征,确定所述一个业务任务相应的预测概率;
所述各上级业务任务是根据所述先后依赖关系确定的;
推荐单元,用于根据所述多个待预测资源在各业务任务下的预测概率,向所述目标对象进行资源推荐,所述预测概率表示所述目标对象对所述待预测资源执行的动作,符合相应期望转化结果的概率。
可选的,所述一个业务任务关联的各上级业务任务为:根据所述先后依赖关系确定的,所述一个业务任务直接和间接依赖的各业务任务。
可选的,所述执行单元具体用于:
根据所述先后依赖关系,依次获取所述各上级业务任务以及所述一个业务任务各自的目标特征;基于所述一个业务任务的目标特征,预测得到所述一个业务任务相应的预测概率;
其中,每一级业务任务的目标特征都是基于所述业务任务直接依赖的父级业务任务的目标特征确定的,每次目标特征的确定执行以下操作:
对于目标业务任务,将所述目标业务任务直接依赖的父级业务任务的目标特征,转换至与所述目标业务任务的候选特征相同的维度,获得所述父级业务任务的转换后目标特征;
基于注意力机制,对所述目标业务任务的候选特征,以及所述父级业务任务的转换后目标特征进行加权融合,获得所述目标业务任务对应的目标特征。
可选的,对于任意一级业务任务,若所述业务任务不存在直接依赖的父级业务任务,则将所述业务任务的候选特征,作为所述业务任务的目标特征。
可选的,所述执行单元具体用于:
基于注意力机制,分别对所述目标业务任务的候选特征和所述转换后目标特征进行注意力特征提取,获得所述目标业务任务和所述父级业务任务各自对应的键特征、值特征和查询特征;
基于所述目标业务任务和所述父级业务任务各自对应的查询特征和键特征,确定所述目标业务任务和所述父级业务任务各自的融合权重;
基于所述目标业务任务和所述父级业务任务各自的融合权重,对所述目标业务任务和所述父级业务任务各自对应的值特征进行加权融合,获得所述目标业务任务对应的目标特征。
可选的,所述执行单元具体用于:
基于所述目标业务任务的查询特征、键特征与相应的特征维度,确定所述目标业务任务对应的子级指数;以及,基于所述父级业务任务的查询特征、键特征与相应的特征维度,确定所述父级业务任务对应的父级指数;
获取以自然常数为底数,以所述子级指数为指数确定的子级幂运算参数;以及,获取以自然常数为底数,以所述父级指数为指数确定的父级幂运算参数;
将所述子级幂运算参数,与所述子级幂运算参数和父级幂运算参数之和的比值,作为所述目标业务任务对应的融合权重;以及,将所述父级幂运算参数,与所述子级幂运算参数和父级幂运算参数之和的比值,作为所述父级业务任务对应的融合权重。
可选的,所述目标业务任务和所述父级业务任务各自对应的查询特征和键特征的特征维度都相同;
所述执行单元具体用于:
将所述目标业务任务的查询特征与键特征的转置之间的乘积,与所述特征维度开平方的比值,作为所述子级指数;
将所述父级业务任务的查询特征与键特征的转置之间的乘积,与相应特征维度开平方的比值,作为所述父级指数。
可选的,所述多任务转化路径是基于预先构建的二叉树确定的一条路径,所述装置还包括构建单元,用于通过如下方式构建所述二叉树:
根据各个业务任务之间的先后依赖关系,确定所述二叉树包含各节点,以及具有依赖关系的两个节点中的树节点和子节点;其中,被依赖的业务任务对应的节点为父节点;
根据所述各业务任务各自包含的可能的转化结果,确定所述二叉树中树分叉的左支和右支。
可选的,每个业务任务对应一个门控网络和塔网络;所述执行单元具体用于:
将所述资源信息、所述对象信息和所述场景信息各自的嵌入特征进行拼接,获得拼接特征;
分别基于多个不同的专家网络对所述拼接特征进行特征提取,获得相应的高阶隐式特征;
对于每个业务任务,分别执行以下操作:
基于一个业务任务对应的门控网络,对多个所述高阶隐式特征进行加权融合,获得融合特征;
基于所述一个业务任务对应的塔网络,对所述融合特征进行目标预测,获得所述一个业务任务对应的候选特征。
可选的,所述装置利用已训练的多任务模型实现,所述已训练的多任务模型是:基于预构建的训练样本集,对待训练的多任务模型进行循环迭代训练而得到的;
其中,所述训练样本集中的每个训练样本包括:样本资源信息、样本对象信息、样本场景信息、包含所述训练样本对应转化的各业务任务各自节点编号的节点编号序列、包含各业务任务各自真实转化结果的标签序列;所述节点编号用于表示业务任务之间的先后依赖关系。
可选的,所述装置还包括训练单元,所述训练单元用于在每次迭代训练时执行以下步骤:
从所述训练样本集中选取训练样本;
以所述训练样本包含的样本资源信息、所述样本对象信息和所述样本场景信息作为输入特征,分别基于所述待训练的多任务模型中多个不同的专家网络、门控网络和塔网络进行特征提取,获得不同业务任务各自对应的样本候选特征;
对于每个业务任务,根据一个业务任务以及所述一个业务任务关联的各上级业务任务各自的样本候选特征,确定所述一个业务任务相应的样本预测概率;
基于所述各业务任务对应的样本预测概率与相应的真实转化结果之间的差异,对所述待训练的多任务模型进行参数调整。
可选的,所述训练单元具体用于:
分别获取每个业务任务对应的预测概率与相应真实转化结果之间的差异值;
将获取的各差异值之和作为目标损失函数,基于所述目标损失函数对所述待训练的多任务模型进行参数调整。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种资源推荐方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种资源推荐方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种资源推荐方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种资源推荐方法、装置、电子设备和存储介质。首先,本申请中针对不同业务任务分别获得各自的候选特征,可以避免不同业务任务之间存在的有害相互干扰。
其次,本申请在进行任务预测时,对于每个业务任务,具体是根据该业务任务的候选特征和与该业务任务关联的各上级业务任务各自对应的候选特征,确定该业务任务的预测概率。由于这里所提到的各上级业务任务与该业务任务之间存在先后依赖关系,因而,结合各上级业务任务来进行最终的任务预测,实现了将与该业务任务关联的各上级业务任务的差异化信息迁移,更符合实际情况中多个业务任务之间复杂的先后依赖关系。
最后,根据待预测资源中各业务任务的预测概率,对目标对象进行资源推荐。该方式考虑了多个业务任务之间的先后依赖关系,结合该先后依赖关系来确定各业务任务的预测概率,可保证各业务任务的预测概率更加准确,进而基于更为准确的预测概率进行资源推荐,可以获得更好的资源推荐效果。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景示意图;
图2为本申请实施例中的一种短视频推荐场景示意图;
图3为本申请实施例中的一种资源推荐方法的实施流程图;
图4为本申请实施例中的一种二叉树示意图;
图5为本申请实施例中的一种高阶隐式特征的提取过程示意图;
图6为本申请实施例中的一种目标特征的示意图;
图7为本申请实施例中的一种多任务模型的结构示意图;
图8为本申请实施例中的另一种多任务模型的结构示意图;
图9为本申请实施例中的一种多任务模型的训练流程图;
图10为本申请实施例中的一种多任务模型的训练方法的实施流程示意图;
图11为本申请实施例中的一种服务器与终端设备之间的交互逻辑框图;
图12为本申请实施例中的一种资源推荐装置的组成结构示意图;
图13为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图14为应用本申请实施例的又一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
待预测资源:指可向目标对象进行推荐的资源。具体的,资源可以是广告、视频、短视频、文章、新闻资讯、音频等多媒体资源,本文不做具体限定。
业务任务:指目标对象对一个资源可以在不同阶段执行的任务。在对资源进行预测时,通常需要预测其包含的多个业务任务。具体的,若资源为短视频,对象在不同阶段可以执行的任务包括:是否播放短视频、是否评论短视频、是否点赞短视频等,本文不做具体限定。
资源信息:表征资源自身的基础属性信息,具体包括但不限于下列的部分或全部:资源类型、资源所包含的音视频信息、资源文本信息、资源标识(ItemID)等。例如,当资源为短视频时,资源信息可以是短视频的标识信息(视频ID)、时长、文案、标题、视频类型、视频画面、配乐等信息,本文不做具体限定。
对象信息:表征对象(如用户)自身所具有的特点,可以指对象的基础属性信息,具体包括但不限于下列的部分或全部:对象标识(UserID)、对象的性别、年龄、兴趣等,还可以指对象的偏好,如基于对象在一段时间内的操作数据得出的,对象对各类待预测资源的偏好数据(如点击曝光统计、行为序列)等。
场景信息:与上述的资源信息和对象信息无关,具体是指向目标对象推荐资源时,推荐场景的相关属性信息,例如目标对象接入互联网的时间、地点、网络、设备类型,待预测资源的投放软件、投放位置等。
先后依赖关系:指各业务任务间天然的依赖关系,对于一个资源而言,由于资源形态的制约和对象使用习惯的不同,其不同的业务任务之间存在天然的先后依赖关系。在本申请实施例中,具体可以理解为业务任务之间的上下级关系。一般两个业务任务中,被依赖的一方为上级,依赖的一方为下级。比如若待预测资源为短视频,则业务任务可以是预测目标对象点击短视频推荐消息、进入短视频播放页面、下滑等,由于目标对象点击短视频推荐消息后才可以进入短视频播放页面,进入短视频播放页面后才可以下滑,因此目标对象点击短视频推荐消息为进入短视频播放页面的上级业务任务,目标对象进入短视频播放页面为下滑的上级业务任务,这三个业务任务间具有先后依赖关系。
转化结果:表征目标对象对各业务任务是否执行,对于一个业务任务,目标对象执行该业务任务与未执行该业务任务均对应一种转化结果。在本申请中转化结果包括期望转化结果以及真实转化结果两种,其中,期望转化结果是针对待预测资源的转化结果,表示对尚未发生的业务任务所期望获得的执行结果;真实转化结果是针对训练样本的转化结果,表示已经发生的业务任务实际的执行结果。
注意力机制:包括是一种模仿人类视觉和认知系统的方法,该机制允许神经网络在处理输入数据时集中注意力于相关的部分。注意力机制包括自注意力机制、空间注意力机制和时间注意力机制等。在本申请中采用自注意力机制,将多个具有先后依赖关系的业务任务进行二叉树编码,因此在对二叉树中的每个业务任务进行处理时,每个业务任务都可以与二叉树中与其有关联的各上级业务任务建立联系,而不仅仅与其直接依赖的业务人员建立联系。自注意力机制通过计算各业务任务之间的相对重要性来自适应的捕捉各业务任务之间的长程先后依赖关系。
本申请实施例涉及人工智能(Artificial Intelligence,AI)和机器学习技术,基于人工智能中的计算机视觉技术和机器学习(Machine Learning,ML)而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、自然语言处理技术、以及机器学习/深度学习等几大方向。随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的智能家居、智能客服、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。对比于数据挖掘从大数据之间找相互特性而言,机器学习更加注重算法的设计,让计算机能够自动地从数据中“学习”规律,并利用规律对未知数据进行预测。
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
此外,本申请实施例中的多任务模型就是采用机器学习或深度学习技术训练得到的。机器学习(Machine Learning,ML)则是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
基于上述技术训练得到多任务模型后,即可应用该多任务模型,预测待预测资源在各业务任务下的预测概率,从而,在此基础上基于各资源的预测概率,对资源进行排序,并基于排序结果向目标对象进行资源推荐。另外,还需要说明的是,本申请实施例中多任务模型可以是在线训练也可以是离线训练,在此不做具体限定。在本文中是以离线训练为例进行举例说明的。
下面对本申请实施例的设计思想进行简要介绍:
在信息过剩的互联网时代,信息推荐技术对于互联网公司运营的重要性是不言而喻的,目前各种各样的网站都会在后台使用推荐系统。推荐根据对象的访问特点,计算出最适合推荐给该对象的待预测资源,然后把这些待预测资源展现给对象,供其选择。
现代互联网内容推荐产品的优化通常需要涉及到多种不同的业务任务指标之间的权衡,相应地,用于推荐排序的模型一般也采用多任务预估,由于不同目标之间的差异性,多任务模型离线训练和在线融合时通常会存在有害的相互干扰。其中,多任务模型通常基于混合专家网络(Mixture-of-Experts,MoE),用多个独立参数的深度神经网络(DeepNeural Netowork,DNN)对输入进行处理,提取多个差异化的高阶表示;再对输出的高阶表示向量进行加权组合,根据加权组合进行预测,实现对该目标概率的预估。
但是,各个任务的预估过程是相对独立的,而真实业务下的多个任务往往具有错综复杂的依赖关系,仅仅是独立的对各个任务进行预估,则会导致最终模型预估的准确度较低,进而导致基于此预估结果进行资源推荐的效果不佳。
有鉴于此,本申请提出一种资源推荐方法、装置、电子设备和存储介质。首先,本申请由待预测资源的资源信息、对象信息和场景信息,获得各业务任务对应的候选特征,针对不同业务任务分别获得各自的候选特征,可以避免不同业务任务之间存在的有害相互干扰。其次,本申请在进行任务预测时,对于每个业务任务,根据该业务任务的候选特征和与该业务任务关联的各上级业务任务各自对应的候选特征,可以确定该业务任务的预测概率。由于这里所提到的各上级业务任务与该业务任务之间存在先后依赖关系,因而,结合各上级业务任务来进行最终的任务预测,实现了将与该业务任务关联的各上级业务任务的差异化信息迁移,更符合实际情况中多个业务任务之间复杂的先后依赖关系。最后,根据待预测资源中各业务任务的预测概率,对目标对象进行资源推荐。该方式考虑了多个业务任务之间的先后依赖关系,结合该先后依赖关系来确定各业务任务的预测概率,可保证各业务任务的预测概率更加准确,进而基于更为准确的预测概率进行资源推荐,可以获得更好的资源推荐效果。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
在本申请实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有资源推荐相关的客户端,该客户端可以是软件(例如浏览器、短视频软件等),也可以是网页、小程序等,服务器120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行资源推荐的服务器,本申请不做具体限定。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请各实施例中的资源推荐方法可以由电子设备执行,该电子设备可以为终端设备110或者服务器120,即,该方法可以由终端设备110或者服务器120单独执行,也可以由终端设备110和服务器120共同执行。比如由终端设备110和服务器120共同执行时,服务器120可从终端设备110获取多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;进而,对于每个待预测资源,分别基于不同的业务任务,对该待预测资源的资源信息、对象信息和场景信息进行特征提取,获得该待预测资源对应的候选特征;而后,对于每个业务任务,根据一个业务任务以及一个业务任务关联的各上级业务任务各自的候选特征,确定一个业务任务相应的预测概率。最后,服务器120可根据多个待预测资源在各业务任务下的预测概率,对这些待预测资源进行排序筛选后,将排序筛选结果反馈给终端设备110,由终端设备110基于该结果向目标对象进行资源推荐。
在一种可选的实施方式中,终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本申请实施例所公开的资源推荐方法,其中所涉及的资源推荐相关的数据可保存于区块链上,例如,多任务转化路径、资源信息、对象信息、场景信息、候选特征、预测概率等。
此外,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
例如,本申请实施例可以适用于短视频、广告等大量采用深度学习系统的业务场景。
以短视频场景为例,当对象使用短视频软件或者具有播放短视频功能的软件时,软件将在页面底部通过红点等方式进行短视频推送,对象将在软件的页面底部不定时收到红点推送消息,红点推送消息可以由多种外显形态,例如可以有社交红点、固定文案的红点、动态文案的红点等,对象点击红点推送消息后,短视频软件将根据对象的点击操作播放跟随该红点推送消息的短视频。
如图2所示,其为本申请实施例中的一种短视频应用场景示意图。图2为对象使用短视频软件时,点击短视频软件的红点推送消息后,即可播放对应红点推送消息的短视频。
如图2中S201所示,其为短视频软件的红点推送消息,该消息分为三类:S202所示的社交红点,此时推送的短视频消息为好友点赞过的视频,则红点推送消息的图标可以为点赞好友的头像右上角附加红点,或者点赞好友的头像右上角附加“赞过”;S203所示的固定文案的红点推送信息,此时的固定文案可以为点赞上万、播放上万、评论上万等,该固定文案可以是预先设定的文案,当短视频符合固定文案中的至少一个时,则在红点推送信息的图标上附加符合的固定文案;S204所示的动态文案的红点推送信息,该动态文案可以是根据短视频的视频内容、文案、标题所提炼得到的。当对象点击S201时,即可生成如图2中S205所示的短视频播放页面。
图2中的红点推送消息对应的短视频可以是根据本申请提供的资源推荐方法,向对象进行推荐。
需要说明的是,上述所列举的短视频推荐场景只是简单举例,除此之外,其他资源推荐同样适用于本申请实施例,本文不再一一赘述。
此外可以理解的是,在本申请的具体实施方式中,涉及到对象信息等相关的数据(如对象年龄、性别、交互行为等),当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的资源推荐方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图3所示,为本申请实施例中的一种资源推荐方法的实施流程图,以服务器为执行主体为例,该方法的具体实施流程如下S31~S33:
S31:服务器获取指定的多任务转化路径,以及多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;多任务转化路径表示:待预测的各业务任务各自的期望转化结果,及各业务任务之间的先后依赖关系。
在本申请实施例中,待预测资源可以是广告、视频、短视频、文章、新闻资讯、音频等多媒体资源,本文不做具体限定。
其中,资源信息是指待预测资源的基础属性信息,具体包括但不限于下列的部分或全部:资源类型、资源所包含的音视频信息、资源文本信息、资源标识(ItemID)等。
以社交广告为例,可以包括:社交广告的广告ID、社交广告的广告类型、社交广告中的广告文本等;以短视频为例,可以包括短视频的视频ID、短视频的视频类型、短视频的画面、配乐、配文等,本文不做具体限定。
对象信息表征对象(如用户)自身所具有的特点,可以指对象的基础属性信息,具体包括但不限于下列的部分或全部:对象标识(UserID)、对象的性别、年龄、兴趣等,还可以指对象的偏好,如基于对象在一段时间内的操作数据得出的,对象对各类待预测资源的偏好数据(如点击曝光统计、行为序列)等。
场景信息与上述的资源信息和对象信息无关,具体是指向目标对象推荐资源时,推荐场景的相关属性,例如目标对象接入互联网的时间、地点、网络、设备类型,待预测资源的投放软件、投放位置等。
多任务转化路径是向目标对象进行资源推荐时,根据推荐需求或预期推荐效果等预先指定的。该多任务转化路径具体包括待预测的各业务任务各自的期望转化结果,及各业务任务之间的先后依赖关系。
在本申请实施例中,在向目标对象进行资源推荐前,可从候选资源池中选取一批作为待预测资源,针对这些待预测资源,基于如下的方式计算每个待预测资源在各业务任务下的预测概率,根据这些预测概率对待预测资源进行排序,根据排序结果向目标对象进行资源推荐。
其中,对于一个待预测资源而言,该待预测资源在每个业务任务都对应有一个期望转化结果。在本申请实施例中,将待预测资源推荐给目标对象后,对于每个业务任务而言,目标对象对该待预测资源可以执行该业务任务相关的动作,也可以不执行该业务任务相关的动作。例如,将一个短视频推荐给目标对象后,目标对象可以点赞该短视频,也可不点赞该短视频等。
期望转化结果可以是期望执行该业务任务相关的动作,也可以是期望对象不执行该业务任务相关的动作,具体设置可根据实际需求而定,本文不做具体限定。例如对象在某短视频软件中,可以播放短视频、也可以点赞、评论、转发短视频,则播放、点赞、转发、评论短视频都是转化结果,即对象执行了这些业务任务的相关动作。对于待预测资源,转化结果都是没有经过对象真实操作的,期望得到的,因此称为期望转化结果。
相应的,在每个业务任务下都对应有一个预测结果,即本申请中的预测概率,该概率值即表示将待预测资源推荐给目标对象后,目标对象对该待预测资源执行的动作符合该期望转化结果的概率。仍以上述点赞为例,若期望转化结果表示期望对象点赞视频,则预测概率即表示将该视频推荐给目标对象的情况下,目标对象点赞该视频的概率。
先后依赖关系指各业务任务间天然的依赖关系,对于一个待预测资源而言,由于资源形态的制约和对象使用习惯的不同,其不同的业务任务之间存在天然的先后依赖关系,上级业务任务的转化结果对下级任务业务的转化结果具有重要的影响,对于多个业务任务,先后依赖关系并不是单一序列的,存在分叉的情况。在对待预测资源进行推荐时,一般会对其包含的多个业务任务进行预测,根据业务需求和对象体验,对多个业务任务进行融合考虑。
例如对象播放了某短视频,可能会对该短视频进行点赞、评论等操作,但若对象没有播放短视频,则无法执行后续的点赞、评论等操作,因此,可以认为播放短视频与点赞、评论等操作具有天然的先后依赖关系,必须先播放短视频,才能存在点赞、评论等操作。
例如,沿用图2的假设,若对象点击了红点推送消息,就会进入播放页面观看随红点下发的短视频;如果对象没有点击红点推送消息,用对象就不可能进入播放页面观看短视频。对象观看短视频时,可能在观看时长不足一秒时就产生下滑行为;也可能在观看时长超过一分钟后才产生下滑行为;也有可能对象是为了消红点进入短视频播放页面,没有停留到有效的观看时长就跳出视频的播放页面,根本就没有产生下滑行为。此时,对于短视频而言,对象可能做出的观看短视频、下滑这两个业务任务就是期望转化结果对象观看短视频以及对象下滑。由于对象不观看短视频则不可能执行下滑,则观看短视频与下滑是具有先后依赖关系的两个业务任务。
当对象执行完上级业务任务,进入下级业务任务时,不同的对象是带有不同的先验心智的,例如,沿用图2的假设,若对象是带有消除红点推送消息的主观心智,来点击红点推送消息进入短视频播放页面的,大概率对象会对短视频内容极其挑剔,则短视频的播放时长和下滑概率都会很低;此外,也存在播放短视频一秒就开始下滑的对象,和播放短视频一分钟才开始下滑的对象,这两种对象虽然都进行了下滑操作,但其心智也是不同的,对象播放短视频一秒就开始下滑,反映出短视频内容与对象的兴趣产生了偏离,对象播放短视频一分钟才开始下滑,反映出短视频内容与对象的兴趣是较为匹配的。
也即,对象的上级业务任务的转化结果对下级业务任务的转化结果具有重要的影响,这种影响对于不同的对象的不同业务任务也是不同的。同时,这种不同级业务任务的信息迁移,也和上级业务任务的转化结果有关,多业务任务间的先后依赖关系不仅仅是单一的序列依赖,这种依赖关系存在分叉的情况。
因此,本申请通过二叉树编码,对多个业务任务间存在分叉的先后依赖关系进行直接建模,可以按照直接依赖的父级业务任务的转化结果,在对该父级业务任务有依赖的子级业务任务进行差异化的信息迁移,提升了模型对不同的模型输入和模型输出转化路径的建模能力。
一种可选的实施方式为,本申请实施例中的多任务转化路径,可以是基于预先构建的二叉树确定的一条路径。
在本申请实施例中,二叉树的一种可选的构建方式如下:
根据各个业务任务之间的先后依赖关系,确定二叉树包含各节点,以及具有依赖关系的两个节点中的父节点和子节点;根据各业务任务各自包含的可能的转化结果,确定二叉树中树分叉的左支和右支。
其中,被依赖的业务任务对应的节点为父节点。
具体的,根据待预测资源的各个业务任务构建二叉树,对各个业务任务对应的至少一个节点,根据先后依赖关系进行编号,例如,可以预先设定被依赖的业务任务的父节点编号大于子节点的编号,或者预先设定被依赖的业务任务的父节点编号小于子节点的编号等,本申请不做具体限定。
由于各业务任务包含的可能的转化结果不一定唯一,例如对于对象播放短视频这个业务任务来说,转化结果包括对象播放短视频以及对象未播放短视频两种,因此根据转化结果确定每个父节点对应的左支与右支,且左支子节点编号与右支子节点编号不同。例如,左支子节点编号为父节点编号的两倍,再加一,右支子节点编号为父节点编号的两倍,再加二。也可以采用其他编号方式,例如,左支子节点编号为父节点编号的三倍,再加一,右支子节点编号为父节点编号的三倍,再加二等,本申请不做具体限定。
下面以二叉树中父节点和子节点的编号具有如下关系为例,对于给定父节点编号NP,其左支节点编号为NL=2NP+1,其右支节点编号为NR=2NP+2。
如图4所示,其为本申请实施例中的一种二叉树示意图。图4中包括三个业务任务:业务任务1:预测对象是否点击红点推送消息,业务任务2:预测对象是否播放短视频大于3秒,以及业务任务3:预测对象是否下滑。其中,每个业务任务都对应两种可能的转化结果。
首先,根据各个业务任务之间的先后依赖关系,确定二叉树包含各节点,其中,先后依赖的两个业务任务对应的节点作为二叉树的父节点和子节点。如业务任务2依赖业务任务1,即业务任务1对应的节点为被依赖的父节点,业务任务2对应的节点为依赖的子节点;又比如业务任务3依赖业务任务2,则业务任务2对应的节点为被依赖的父节点,业务任务3对应的节点为依赖的子节点。
需要注意的是,在本申请实施例中,依赖和被依赖是一组相对概念。相应的,一个节点可以是其上级节点所对应的子节点,也可以是其下级节点所对应的父节点,本文在此不做具体限定。
进一步地,根据每个目标节点所对应的可能的转化结果,判断二叉树分叉的左支和右支。
如图4中,如对于业务任务1,可将业务任务1对应节点的编号预设为0,其存在对象点击红点推送消息,和对象未点击红点推送消息两种可能的转化结果,但是,在对象未点击红点推送消息的情况下,则不能进行后续业务任务2和业务任务3。也即,由于只有当对象点击了红点推送消息,才可能进行下一业务任务,预测对象播放短视频是否大于3秒、预测对象是否下滑等,因此在实际场景下,节点0所对应的转化结果为对象点击了红点推送消息,即转化结果为1(表示点击红点推送消息),则根据该转化结果,确定节点0所对应分叉仅存在左支节点,并根据上述所列举的编号计算规则,该左支节点的编号为1(2*0+1=1),对应业务任务2(当节点0的转化结果为对象未点击红点推送消息,即转化结果为0时,节点0所对应分叉无右支节点)。
对于业务任务2,节点1的转化结果包括对象播放短视频大于3秒和播放短视频不大于3秒两种,无论对象播放短视频是否大于3秒,都可能产生下滑短视频的操作,因而,节点1所对应分叉存在左支节点和右支节点。
具体的,当对象播放短视频大于3秒时,节点1的转化结果为1,根据该转化结果,确定节点1所对应分叉存在左支节点,并根据上述所列举的编号计算规则,该左支节点的编号为3(2*1+1=3),对应业务任务3。当对象播放短视频不大于3秒时,节点1的转化结果为0,根据该转化结果,确定节点1所对应分叉还存在右支节点,并根据上述所列举的编号计算规则,该右支节点的编号为4(2*1+2=4),同样对应业务任务3。
对于业务任务3,节点3和节点4各自包括两种可能的转化结果,即对象产生下滑短视频的操作和对象未产生下滑短视频的操作,节点3和节点4的分叉情况与上述业务任务1及业务任务2的分叉情况相似,在此不一一赘述。
构建二叉树后,即可基于二叉树指定符合预期的多任务转化路径。沿用上述图4的假设,若对象在点击红点推送信息后,播放短视频不到3秒就产生了下滑操作,则对应的多任务转化路径为{0,1,4}。0为对象点击了红点推送信息对应的节点编号,3为对象播放短视频不到3秒对应的节点编号,4为对象播放短视频不到3秒后产生下滑操作对应的节点编号。
需要说明的是,上述每个业务任务对应两个可能的转化结果只是简单举例,在一些可能的情况中,业务任务也可以对应三个可能的转化结果,甚至更多等等。本申请对此不做具体限定。
在获取上述信息后,即可预测每个待预测资源在各业务任务下所对应的预测概率,具体过程如下:
S32:对于每个待预测资源,服务器分别执行以下操作S321~S322:
S321:服务器对于一个待预测资源的资源信息、对象信息和场景信息,分别基于不同业务任务进行特征提取,获得不同业务任务各自对应的候选特征。
在本申请中,可以基于多任务模型,及多任务模型中包括的嵌入层(EmbeddingLayer)、拼接层(concat)、多个专家网络(如混合专家网络MOE)、不同业务任务各自的门控网络和塔网络、注意力网络等等,可将待预测资源的资源信息、对象信息和场景信息作为多任务模型的输入,获得不同业务任务各自对应的预测概率。
一种可选的实施方式中,S32可通过如下步骤实施,以获得不同业务任务各自对应的候选特征,包括如下步骤S3211~S3213(图3未示出):
S3211:服务器将资源信息、对象信息和场景信息各自的嵌入特征进行拼接,获得拼接特征。
具体的,若资源信息、对象信息和场景信息均为定长的序列特征,则直接将资源信息、对象信息和场景信息经过Embedding对应的参数表分别映射为向量表示,该向量表示为定长的向量序列;若资源信息、对象信息和场景信息中存在不定长的特征,则将其中不定长的序列特征中每个元素映射为向量表示,该向量表示为不定长的向量序列,再将不定长的向量序列经过合并(Pooling)得到该向量序列的定长表示。将根据资源信息、对象信息和场景信息得到的多个定长的向量序列进行拼接,得到拼接特征。
在本申请实施例中,多个不同的专家网络用于提取不同的特征,门控用于分配每个专家的权重,基于此,多个专家网络通过各个任务专属的门控来平衡多任务间的共享和隔离。
下面以待预测资源为短视频为例,对本申请实施例中的资源推荐方法进行具体说明:
可选的,高阶隐式特征的提取可基于已训练的多任务模型实现,该多任务模型包括多个不同的专家网络,具体的提取过程如下:
首先,基于多任务模型中的嵌入层提取资源信息、对象信息和场景信息各自的嵌入特征;进而,将获得的各个嵌入特征进行拼接,获得拼接特征;最后,分别基于多个不同的专家网络对拼接特征进行特征提取,获得相应的高阶隐式特征。
如图5所示,其为本申请实施例中的一种高阶隐式特征的提取过程示意图。
具体的,本申请实施例中的原始输入特征包括三部分:目标对象的对象信息(如当前用户的性别、年龄、用户播放大于十秒的VideoId序列等),待预测视频的视频信息(如待预测视频的VideoId、分类等),场景信息(也称上下文信息,如当前是一天中的第几个小时等)。
上述原始输入特征首先经过嵌入层对应的参数表映射为向量表示,获得多个嵌入特征,如性别嵌入特征、年龄嵌入特征、VideoId序列嵌入特征、待预测视频的VideoId嵌入特征、视频分类嵌入特征、场景嵌入特征等。
在上述所列举的多个嵌入特征中,可能会存在不定长的序列特征,比如用户播放大于十秒的VideoId序列,该序列所对应的嵌入特征也是不定长的,则需要经过一定的处理得到序列的定长表示。
如,每个嵌入特征都理解为是一种向量表示,对于不同的用户而言,其所播放的大于十秒的VideoId序列所包含的VideoId的数量不一定相同,比如有的用户播3条,有的用户播2条,或者有的用户播10条。
则先分别将序列中的每个元素(即每个VideoId)映射为向量表示,再将不定长的向量序列经过Pooling操作(求和/求平均)得到序列的定长表示。
也即,每条视频对应一个视频ID向量(如10维),则可将多个视频ID向量中相应元素求和/求平均,最终得到一个整合的视频ID向量(仍是10维),使得VideoId序列所对应的向量维度定长,而不再受VideoId数量的影响。
综上,假设嵌入特征的数量为N,则有N个定长的特征向量,对于第n个特征向量记为xn,维度为dn,将这N个特征向量拼接,得到专家网络所对应的完整的输入向量,也即本文中的拼接特征,即
X=[…,xn,…]
其中,拼接特征X的维度为
S3212:服务器分别基于多个不同的专家网络对拼接特征进行特征提取,获得相应的高阶隐式特征。
在本申请实施例中,得到定长的拼接特征后,即可经过不同的专家网络进行处理,得到一组高阶表示向量输出,即为本申请中的高阶隐式特征。
具体的,将一个拼接特征经过MOE进行特征提取,MOE由多个参数独立的专家网络从拼接特征中提取差异化的高阶隐式特征,高阶隐式特征的数量与MOE中专家网络的数量相同,即对于一个拼接特征,MOE中每个专家网络将分别提取出一个高阶隐式特征。本申请中的专家网络可以为参数独立的深度神经网络DNN,也可以为其他能够实现提取高阶隐式特征的算法,本文不做具体限定。
例如,将一个拼接特征经过有M个专家网络的MOE进行特征提取,将得到M个高阶隐式特征,将第m个高阶隐式特征记为:em(X),维度记为de。其中X为上述所列举的拼接特征。
S3213:服务器对于每个业务任务,分别执行以下操作S32131~32132:
S32131:服务器基于一个业务任务对应的门控网络,对多个高阶隐式特征进行加权融合,获得融合特征。
S32132:服务器基于一个业务任务对应的塔网络,对融合特征进行目标预测,获得一个业务任务对应的候选特征。
具体的,首先需要根据一个业务任务的拼接特征计算得到对应的门控权重,根据该门控权重对该业务任务的多个高阶隐式特征进行加权融合,获得融合特征。再基于该业务任务对应的塔网络,对融合特征进行目标预测,获得该业务任务对应的候选特征。
假设有T个业务任务,对于业务任务t,其MoE的门控权重的计算可以按如下步骤得到:
Gt(X)=softmax(Wt·XT) (公式1)
其中,Wt即为业务任务t对应的预设参数矩阵,是一种维度为M×dX的可训练参数矩阵,对于不同的业务任务t而言,Wt不同。X即上述提到的拼接特征,XT为拼接特征的转置结果。softmax(·)是一种归一化指数函数,用于归一化处理。
该预设参数矩阵属于已训练的多任务模型中,门控网络的相关参数,在模型训练阶段,该预设参数矩阵是可训练参数矩阵,对于待训练的多任务模型而言,该预设参数矩阵可通过随机初始化得到,而后,每次迭代训练过程中都可对该预设参数矩阵进行调整,在模型训练完成后,获得已训练的多任务模型,此时,预设参数矩阵也不再变化。
在本申请实施例中,该预设参数矩阵用于将输入特征转换至与专家网络个数相同的维度,即M维,用于后续对M个高阶隐式特征进行加权融合。
因而,通过上述公式1的计算,所获得的Gt(X)是M维的门控权重矩阵,包含M个门控权重,每个门控权重对应上述M个高阶隐式特征中的一个。其中,第m个元素所对应的门控权重可记作[Gt(X)]m,m的取值为[1,M],[Gt(X)]m之和为1。
对于每个业务任务,都可基于上述所列举的方式,确定该业务任务所对应的门控网络的门控权重矩阵,进而,基于该门控权重矩阵对这M个高阶隐式特征进行加权融合,获得相应的融合特征,具体过程如下:
仍以业务任务t为例:在本申请实施例中,对于业务任务t而言,通过上述方式确定该业务任务对应的门控权重矩阵Gt(X)后,即可基于Gt(X)对多个高阶隐式特征统一进行加权融合,一种可选的计算公式如下:
其中,该业务任务t对应M个高阶隐式特征,第m个高阶隐式特征记为:em(X),为该业务任务t对应的融合特征,是业务任务t所对应的门控网络的输出,也是业务任务t所对应的塔网络的输入。
最后,基于该业务任务对应的塔网络,对融合特征进行目标预测,获得该业务任务对应的候选特征。
仍以业务任务t为例:在本申请实施例中,融合特征输入到目标塔(即业务任务t所对应的塔网络),进一步得到业务任务t所对应的候选特征,即:
其中,ht(·)为塔网络的处理过程,qt为该业务任务对应的候选特征。
以塔网络为DNN网络为例,则上述公式4中的ht(·)即表示业务任务t的塔结构的DNN的处理过程。
需要说明的是,上述所列举的塔网络为DNN结构仅是简单举例,除此之外,塔网络也可以是其他网络结构,在此不再一一赘述。
在本申请实施例中,通过上述方式获得每个业务任务格子对应的候选特征后,即可结合各业务任务所对应的先后依赖关系,根据候选特征确定各业务任务的预测概率,具体过程如下:
S322:服务器对于每个业务任务,根据一个业务任务以及一个业务任务关联的各上级业务任务各自的候选特征,确定一个业务任务相应的预测概率;各上级业务任务是根据先后依赖关系确定的。
具体的,一个业务任务关联的各上级业务任务为:根据先后依赖关系确定的,一个业务任务直接和间接依赖的各业务任务。
需要说明的是,对于一个业务任务来说,可能存在直接依赖和间接依赖的业务任务,也可能只存在直接依赖的业务任务(即间接依赖的业务任务为空),还可能不存在直接依赖与间接依赖的业务任务(即直接依赖和间接依赖的业务任务都为空)。
例如,沿用图2的假设,可以将对象是否点击红点推送信息视为业务任务1,对象播放短视频是否超过3秒视为业务任务2,对象是否下滑视为业务任务3,由于对象需要先点击红点推送信息才可以播放短视频,对象播放短视频无论是否超过3秒都可以进行下滑,因此,对于业务任务3而言,业务任务2为其直接依赖的上级业务任务,业务任务1为其间接依赖的上级任务。对于业务任务2而言,业务任务1为其直接依赖的业务任务。对于业务任务1而言,其既没有直接依赖的上级任务,也没有间接依赖的上级任务。
由于各业务任务间存在先后依赖关系,上级业务任务对下级业务任务具有重要的影响,因此在对每个业务任务进行特征提取获取候选特征后,确定每个业务任务的预测概率时,不仅根据对应业务任务的候选特征,还需要结合与该业务任务关联的各上级业务任务的候选特征,以考虑上级业务任务的转化结果对该业务任务所带来的影响。
在一种可选的实施方式中,通过如下步骤确定预测概率:
对于一个业务任务而言,首先,根据先后依赖关系,依次获取该业务任务的各上级业务任务以及该业务任务各自的目标特征;最后,基于该业务任务的目标特征,预测得到该业务任务相应的预测概率。
其中,每一级业务任务的目标特征都是基于业务任务直接依赖的父级业务任务的目标特征确定的。
例如,如图6所示其为本申请实施例中的一种目标特征的示意图。图6沿用图4的假设,包括三个业务任务,业务任务1:预测对象是否点击红点推送消息,业务任务2:预测对象是否播放短视频大于3秒,以及业务任务3:预测对象是否下滑。
对于业务任务1,由于业务任务1无直接依赖的父级业务任务,因此业务任务1的候选特征1即为业务任务1的目标特征1。
对于业务任务2,由于业务任务2仅存在直接依赖的父级业务任务1,因而基于其直接依赖的父级业务任务1的目标特征1,以及业务任务2的候选特征2,确定业务任务2的目标特征2。
对于业务任务3,由于业务任务3存在直接依赖的父级业务任务2,因而基于其直接依赖的父级业务任务2的目标特征2,以及业务任务3的候选特征3,确定业务任务3的目标特征3。又由于业务任务2的目标特征2是根据业务任务1的目标特征1确定的,因此确定业务任务3的目标特征3时,可以理解为是基于其间接依赖的业务任务1的目标特征1、直接依赖的业务任务2的目标特征2以及业务任务3的候选特征3确定的。
可选的,每次目标特征的确定执行以下操作S3221~S3222(图3未示出):
S3221:服务器对于目标业务任务,将目标业务任务直接依赖的父级业务任务的目标特征,转换至与目标业务任务的候选特征相同的维度,获得父级业务任务的转换后目标特征。
S3222:服务器基于注意力机制,对目标业务任务的候选特征,以及父级业务任务的转换后目标特征进行加权融合,获得目标业务任务对应的目标特征。
具体的,对于每个业务任务,将与一个业务任务直接依赖的父级业务任务的目标特征,转换至于该业务任务候选特征相同的维度,以便于后续根据该业务任务的候选特征以及父级业务任务的目标特征,进行加权融合,从而获得该业务任务对应的目标特征,基于目标特征,预测得到该业务任务的预测概率。
一种可选的实施方式中,可对父级业务任务的目标特征进行非线性变换以实现维度转换,获得父级业务任务转换后目标特征,转换公式如下:
rs,t=hs,t(zs) (公式4)
其中,记一个业务任务为t,该业务任务直接依赖的父级业务任务为s,zs为父级业务任务s的目标特征,rs,t为父级任务业务s转换后的目标特征,hs,t(·)为非线性转换。
在本申请实施例中,获得一个业务任务的候选特征,及该业务任务直接依赖的父级业务任务转换后的目标特征后,即可根据注意力机制获得该业务任务的目标特征。
一种可选的实施方式中,通过如下公式确定目标特征:
zt=AIT(rs,t,qt) (公式5)
其中,记一个业务任务为t,该业务任务直接依赖的父级业务任务为s,rs,t,为父级任务业务s转换后的目标特征,AIT(·)为注意力机制,qt为业务任务t的候选特征,zt为业务任务t的目标特征。
根据一个业务任务的目标特征,即可预测得到该业务任务的预测概率。
一种可选的实施方式中,通过如下公式确定预测概率:
其中,记一个业务任务为t,zt为业务任务t的目标特征,为对业务任务t进行概率预估的处理过程,该处理过程可以采用DNN进行处理,也可以采用其它网络结构进行处理,本文不做具体限定,pt为业务任务t的预测概率。
例如,沿用图2的假设,若需要预测对象播放短视频这一业务任务的预测概率,即业务任务2的预测概率,首先应将业务任务直接依赖的父级业务任务,即业务任务1对象点击红点推送信息的目标特征,转换至于与业务任务2候选特征相同维度,基于注意力机制,对业务任务2的候选特征,以及业务任务1转换后的目标特征进行加权融合,获得业务任务2的目标特征。根据业务任务2的目标特征,预测得到业务任务2的预测概率。
此外,对于任意一级业务任务,若该级业务任务为对应二叉树中根节点的业务任务,即该级业务任务不存在直接依赖的父级业务任务,则将该级业务任务的候选特征,作为该级业务任务的目标特征。
例如,沿用图2的假设,将对象点击红点推送信息视为业务任务1,则业务任务1没有直接依赖的父级业务任务,则业务任务1的候选特征即为业务任务1的目标特征,根据业务任务1的目标特征即可预测得到业务任务1的预测概率。
在本申请实施例中,基于注意力机制获得业务任务的目标特征时,可以采用如下步骤S32221~S32223实现(图3中为示出):
S32221:服务器基于注意力机制,分别对目标业务任务的候选特征和转换后目标特征进行注意力特征提取,获得目标业务任务和父级业务任务各自对应的键特征、值特征和查询特征。
S32222:服务器基于目标业务任务和父级业务任务各自对应的查询特征和键特征,确定目标业务任务和父级业务任务各自的融合权重。
S32223:服务器基于目标业务任务和父级业务任务各自的融合权重,对目标业务任务和父级业务任务各自对应的值特征进行加权融合,获得目标业务任务对应的目标特征。
进而对S32222中各级业务任务通过查询特征和键特征确定融合权重的步骤进行详细介绍。
在一种可选的实施方式中,通过如下步骤S322221~S322223获得融合权重:
S322221:服务器基于目标业务任务的查询特征、键特征与相应的特征维度,确定目标业务任务对应的子级指数;以及,基于父级业务任务的查询特征、键特征与相应的特征维度,确定父级业务任务对应的父级指数。
具体的,可将目标业务任务的查询特征与键特征的转置之间的乘积,与特征维度开平方的比值,作为子级指数;将父级业务任务的查询特征与键特征的转置之间的乘积,与相应特征维度开平方的比值,作为父级指数。
一种可选的实施方式为,通过如下公式确定子级指数及父级指数:
其中,记一个业务任务为t,该业务任务直接依赖的父级业务任务为s,则rs,t,为父级任务业务s转换后的目标特征,qt为业务任务t的候选特征,下标u为rs,t与qt中的一种,hQ(·),hK(·)表示两个线性处理变换,hQ(u)为查询特征,hK(u)为键特征,输出维度与业务任务t的候选特征qt的维度相同,均为dq,中u为qt时,/>为子级指数,/>中u为rs,t时,/>为父级指数。
进而,根据子级指数和父级指数分别确定子级幂运算参数和父级幂运算参数。
S322222:服务器获取以自然常数(e)为底数,以子级指数为指数确定的子级幂运算参数;以及,获取以自然常数为底数,以父级指数为指数确定的父级幂运算参数。
S322223:服务器将子级幂运算参数,与子级幂运算参数和父级幂运算参数之和的比值,作为目标业务任务对应的融合权重;以及,将父级幂运算参数,与子级幂运算参数和父级幂运算参数之和的比值,作为父级业务任务对应的融合权重。
一种可选的实施方式为,通过如下公式确定融合权重:
其中,记一个业务任务为t,该业务任务直接依赖的父级业务任务为s,则rs,t,为父级任务业务s转换后的目标特征,qt为业务任务t的候选特征,下标u为rs,t与qt中的一种。
当中u为qt时,/>为子级指数,/>为子级幂运算参数,wu为该业务任务的融合权重;当/>中u为rs,t时,/>为父级指数,/>为父级幂运算参数,wu为父级业务任务的融合权重。
获得一个业务任务即该业务任务直接依赖的父级业务任务各自的融合权重后,对该业务任务和父级业务任务各自对应的值特征进行加权融合,获得该业务任务对应的目标特征。
一种可选的实施方式为,通过如下公式确定目标特征:
其中,记一个业务任务为t,该业务任务直接依赖的父级业务任务为s,则rs,t,为父级任务业务s转换后的目标特征,qt为业务任务t的候选特征,下标u为rs,t与qt中的一种。当wu中u为qt时,wu为该业务任务的融合权重,wu中u为rs,t时,wu为父级业务任务的融合权重,hV(·)表示线性处理变换,hV(u)为值特征,zt为业务任务t的目标特征。
本申请通过多个业务任务之间的先后依赖关系,并根据各业务任务关联的一个或多个上级业务任务,将父级业务任务的目标特征进行信息迁移,使子级业务任务的预测概率更加准确。
下面参阅图7和图8,对本申请实施例中的多任务模型进行简单举例说明。
参阅图7所示,其为本申请实施例中的一种多任务模型的结构示意图。其中,图7是以资源信息、对象信息和场景信息所对应的嵌入特征均为定长向量为例,所列举的两个业务任务的预测过程。假设专家网络的数量为3,则可获得的高阶隐式特征的数量为3,分别记作高阶隐式特征1、高阶隐式特征2和高阶隐式特征3;业务任务的数量为2,分别记作业务任务A和业务任务B,每个业务任务对应一个门控网络和塔网络,如图7中,业务任务A对应门控网络1和塔网络1;业务任务B对应门控网络2和塔网络2。
具体的,原始的输入特征为:对象信息、场景信息和资源信息,经过嵌入层分别映射为嵌入(Embedding)向量表示,假设这些嵌入特征都为定长向量,则无需进行Pooling处理,而是将资源信息、对象信息和场景信息对应的嵌入特征进行拼接,直接得到拼接特征X;进而,基于3个不同的专家网络,即专家网络1、专家网络2、专家网络3,对拼接特征X分别进行不同侧重信息的特征提取,获得相应的高阶隐式特征共3个,即e1(X)、e2(X)、e3(X)。进而根据拼接特征X的转置XT,以及业务任务A对应的可训练参数矩阵Wa得到业务任务A对应的门控权重Ga(X),同理,根据拼接特征X的转置XT,以及业务任务B对应的可训练参数矩阵Wb得到业务任务A对应的门控权重Gb(X)。
进而,将不同的高阶隐式特征共3个,输入业务任务A对应的门控网络1,基于门控权重矩阵Ga(X)对这3个高阶隐式特征进行加权融合,得到业务任务A对应的融合特征同理,将不同的高阶隐式特征共3个,输入业务任务B对应的门控网络2,基于门控权重矩阵Gb(X)对这3个高阶隐式特征进行加权融合,得到业务任务B对应的融合特征/>将/>输入业务任务A对应的塔网络1,得到业务任务A对应的候选特征qa。同理,将/>输入业务任务B对应的塔网络1,得到业务任务B对应的候选特征qb。
由于业务任务A无直接依赖的父级业务任务,因此将业务任务A的候选特征qa,作为业务任务A的目标特征za。由于业务任务A为业务任务B直接依赖的父级业务任务,基于注意力机制,将业务任务B对应的候选特征qb以及业务任务A转换后目标特征rA,B作为注意力机制的输入,得到业务任务B的目标特征zb。
最后,根据业务任务A的目标特征za,预测得到业务任务A的预测概率pa,根据业务任务B的目标特征zb,预测得到业务任务A的预测概率pb。
图8所示的结构图与图7类似,参阅图8所示,其为本申请实施例中的另一种多任务模型的结构示意图。图8列举了资源信息、对象信息和场景信息所对应的嵌入特征中存在不定长向量的情况下,两个业务任务的预测过程。相比于图7的多任务模型,图8的多任务模型多了池化的步骤,经过Embedding层对应的参数表分别将资源信息、对象信息和场景信息映射为向量表示时,将其中不定长的特征,先分别将序列中的每个元素映射为向量表示,再将得到的不定长的向量序列经过Pooling操作,得到定长的向量序列。
进而类比图7,对定长的向量进行拼接,通过专家网络1、专家网络2、专家网络3获得相应的高阶隐式特征共3个,再分别通过业务任务C对应的门控网络1得到过业务任务D对应的门控网络4得到/>通过业务任务C对应的塔网络3得到qc,过业务任务D对应的塔网络2得到qd。由于业务任务C无直接依赖的父级业务任务,因此将业务任务C的候选特征qc,作为业务任务C的目标特征zc。基于注意力机制,根据zc和qd得到业务任务D的zd。
最后,根据业务任务C的目标特征zc,预测得到业务任务C的预测概率pc,根据业务任务D的目标特征zd,预测得到业务任务C的预测概率pd。
需要说明的是,上述图7或图8所列举的多任务模型的结构只是简单举例,其他结构同样适用于本申请实施例,在此不再一一赘述。
S33:服务器根据多个待预测资源在各业务任务下的预测概率,向目标对象进行资源推荐,预测概率表示目标对象对待预测资源执行的动作,符合相应期望转化结果的概率。
在本申请实施例中,由于有多个业务任务,对于同一待预测资源而言,在每个业务任务下,都可获得一个相应的预测概率,例如,业务任务分别有:曝光率预估、点击率预估、点赞率预估、转发率预估、播放时长预估、阅读时长预估、预估对象是否喜欢等。
一种可选的实施方式为,待预测资源为多媒体资源,则对于这些多媒体资源,可基于多媒体资源在各业务任务下的预测概率,从每个多媒体资源中筛选出针对目标对象的多媒体资源序列;最后,根据多媒体资源序列中各多媒体资源的顺序,向目标对象依次进行资源推荐。
以多媒体资源为短视频、目标对象为一个20岁的大学生为例,在确定各短视频在每个业务任务对应的预测概率后,则可根据获得的各短视频的预测概率对短视频进行排序,根据排序结果,可以筛选出前20个短视频,并按照综合概率较高至综合概率较低的顺序,依次推荐给该目标对象。
需要说明的是,上述所列举的根据预测概率向目标对象进行资源推荐的方式只是简单举例说明,任何一种相关方式都适用于本申请实施例,在此不做具体限定。
本申请依照多个业务任务之间的先后依赖关系,将多个业务任务依赖二叉树进行编码,相比于单一的时序关系转化为多业务任务间的依赖关系,可以使多任务模型更符合实际情况中复杂的多业务任务间的依赖关系,直接对多个业务任务间复杂的先后依赖关系进行建模,提升了多任务模型的预测准确性。并根据各业务任务关联的一个或多个上级业务任务,将父级业务任务的转化结果进行信息迁移,使子级业务任务的预测概率更加准确,进而可以获得更好的资源推荐效果。
可选的,上述S31~S33可以利用已训练的多任务模型实现,下面对本申请实施例中多任务模型的训练过程进行详细说明:
一种可选的实施方式为,通过如下方式训练得到本申请中的多任务模型:
首先需要获取训练样本集。本申请实施例中的训练样本集包含多个训练样本,每个训练样本包括:一个样本资源的样本资源信息、一个样本对象的样本对象信息、本次推荐场景的样本场景信息;此外,还进一步包括:训练样本在各业务任务下真实转化结果关联的节点编号序列、各业务任务各自真实转化结果的标签序列。其中,节点编号用于表示业务任务之间的先后依赖关系。
其中,训练样本集中的样本资源可以是目标内容平台中所发布的历史资源,以目标内容平台为某短视频平台为例,则可将过去一定时间内所发布的短视频作为样本资源,根据该短视频平台中各对象(即样本对象)针对这些短视频的交互行为(如播放、点赞、转发、评论、下滑等),构建训练样本集。
对于节点编号序列,可以根据能够反映多个业务任务之间先后依赖关系的二叉树来确定,该二叉树可以是根据训练样本集中各训练样本的制约和样本对象的使用习惯,来确定的,具体确定方式可参见上述实施例,重复之处不再赘述。对于标签,可以根据各业务任务是否真实发生,确定其对应的标签将各业务任务的标签,进而按照先后依赖关系进行组合,即可得到标签序列。
比如,在一个样本资源中,对象可以执行如下三个业务任务:业务任务1:预测对象是否点击红点推送消息,业务任务2:预测对象是否播放短视频大于3秒,以及业务任务3:预测对象是否下滑。由于样本对象在点击红点推送消息后,才能播放样本资源,因此在节点编号序列中,点击预测业务任务所对应的编号应该在播放预测业务任务所对应的编号应之前,沿用图4的二叉树编号规则:对于给定父节点编号NP,其左支节点编号为NL=2NP+1,其右支节点编号为NR=2NP+2。则若业务任务1对应的编号预设为0,且业务任务1的真实转化结果为样本对象点击了红点推送消息,即业务任务1的真实转化结果的标签为1,则业务任务2所对应的编号为1(2*0+1=1)。若业务任务1的真实转化结果为样本对象未点击红点推送消息,即业务任务1的真实转化结果的标签为0,此时,样本对象不能进行后续的业务任务。
进而,由于无论样本对象播放短视频是否超过3秒,都能下滑短视频,因此,当样本对象播放短视频超过3秒时,即业务任务2真实转化结果的标签为1时,则业务任务2对应左支业务任务3所对应的编号为3(2*1+1=3)。当样本对象播放短视频未超过3秒时,即业务任务2真实转化结果的标签为0时,则业务任务2对应右支业务任务3所对应的编号为4(2*1+2=4)。
同理,若样本对象进行了下滑短视频,则业务任务3真实转化结果的标签为1;若样本对象未进行下滑短视频,则业务任务3真实转化结果的标签为0。
根据上述内容,若样本对象在点击红点推送信息后播放短视频超过3秒以后进行下滑,对应的节点编号序列为{0,1,3},其标签序列为{1,1,1}。
若样本对象在点击红点推送信息后播放短视频未超过3秒就进行下滑,对应的节点编号序列为{0,1,4},其标签序列为{1,0,1}。
若样本对象在点击红点推送信息后播放短视频超过3秒后续未进行下滑短视频操作,对应的节点编号序列为{0,1,3},其标签序列为{1,1,0}。
需要说明的是,上述节点编号序列以及标签序列的确定方式只是简单举例,任何一种基于业务任务之间的先后依赖关系确定节点编号序列的方式,以及任何一种基于各业务任务各自真实转化结果确定标签的方式都适用于本申请实施例,在此不做具体限定。
进一步地,基于上述训练样本集对待训练的多任务模型进行循环迭代训练,即可获得多任务模型。一种可选的实施方式为,可以按照如图9所示的流程图S91~S94实施每次迭代过程:
S91:从训练样本集中选取训练样本。
S92:以训练样本包含的样本资源信息、样本对象信息和样本场景信息作为输入特征,分别基于待训练的多任务模型中多个不同的专家网络、门控网络和塔网络进行特征提取,获得不同业务任务各自对应的样本候选特征。
S93:对于每个业务任务,根据一个业务任务以及一个业务任务关联的各上级业务任务各自的样本候选特征,确定一个业务任务相应的样本预测概率.
需要说明的是,上述S92~S94所列举的样本预测概率的确定过程同上述模型应用过程中,待预测资源所对应的预测概率的确定过程相类似,具体实施方式可参见上述实施例,重复之处不再赘述。
S94:基于各业务任务对应的样本预测概率与相应的真实转化结果之间的差异,对待训练的多任务模型进行参数调整。
具体的,该参数调整过程包括多任务模型中的嵌入层、拼接层、池化层、专家网络、特征处理层、塔网络、门控网络等各自包含的可调参数,如偏置、权重、可训练参数矩阵等等。
可选的,在每次获得样本预测概率后,可通过如下步骤S941~S942对待训练的多任务模型进行参数调整:
S941:分别获取每个业务任务对应的预测概率与相应真实转化结果之间的差异值。
S942:将获取的各差异值之和作为目标损失函数,基于目标损失函数对待训练的多任务模型进行参数调整。
一种可选的实施方式中,可以通过如下公式确定业务任务t的目标损失函数:
Lt=-ytlog(pt)-(1-yt)log(1-pt)(公式10)
其中,yt为业务任务t的标签(即实际概率),pt为业务任务t的预测概率,Lt为业务任务t的损失函数,也即本文中的差异值。
在本申请实施例中,yt具体表示业务任务t的预测概率,例如,其取值可设置为0或1,如预测业务任务t一定发生时,yt为1,预测业务任务t一定不会发生时,yt为0。yt也可以为对应预测概率的其他取值,本申请不做具体限定。
例如,其取值可设置为0或1,如业务任务为点击率预测,则点击情况下yt为1,未点击情况下yt为0。
对于一个训练样本,由其包含的各业务任务的各自对应损失函数组成该训练样本的总损失,也即本文中的目标损失函数。
一种可选的实施方式中,可以通过如下公式确定训练样本的总损失:
其中,Lt为业务任务t的目标损失函数,为该训练样本的节点编号序列,L为该训练样本的总损失,即表示各业务任务所对应的损失函数之和。
综上所述,参阅图10所示,其为本申请实施例中的一种多任务模型的训练方法的实施流程示意图。该方法的具体实施流程如下S1001~S1009:
S1001:构建训练样本集,该训练样本集中的每个训练样本包括样本资源的样本资源信息、样本对象的样本对象信息、样本资源推荐的场景信息,训练样本在各业务任务下真实转化结果关联的节点编号序列、各业务任务各自真实转化结果的标签序列。
S1002:基于预构建的训练样本集,对待训练的多任务模型进行循环迭代训练得到多任务模型,首先通过如下S10021~S10024得到样本候选特征:
S10021:将选取的训练样本包含的样本资源信息、样本对象信息及样本场景信息的嵌入特征进行拼接,得到拼接特征。
S10022:基于多个不同的专家网络对拼接特征进行特征提取,获得相应专家网络数量的多个样本高阶隐式特征。
S10023:基于一个业务任务对应的门控网络,对多个样本高阶隐式特征进行加权融合,获得样本融合特征。
S10024:基于一个业务任务对应的塔网络,对样本融合特征进行目标预测,获得所述一个业务任务对应的样本候选特征。
S1003:对于每个业务任务,根据一个业务任务以及一个业务任务关联的各上级业务任务各自的样本候选特征,确定一个业务任务相应的样本预测概率。
S1004:基于各业务任务对应的样本预测概率与相应的真实转化结果之间的差异,对待训练的多任务模型进行参数调整。
S1005:模型训练完成后,将已训练的多任务模型部署于用于进行资源推荐的服务器上。
S1006:服务器从终端设备获取指定的多任务转化路径、待预测资源各自的资源信息、目标对象的对象信息和资源推荐信息。
S1007:服务器将待预测资源各自的资源信息、目标对象的对象信息和资源推荐信息输入多任务模型。
S1008:服务器获得各预测业务任务下各待预测资源的预测概率,并发送终端设备。
S1009:终端设备根据各待预测资源的预测概率向目标对象进行资源推荐。
在基于上述方式对待训练的多任务模型进行参数调整后,即可获得目标多任务模型,在此基础上,即可基于目标多任务模型对各待预测资源进行排序,下面以待预测资源为短视频为例,对短视频推荐方法的实施流程进行简单举例。
下面结合图11,对短视频推荐场景下,本申请实施例中服务器与终端设备之间的交互逻辑进行简单介绍。
参阅图11所示,其为本申请实施例中的一种服务器与终端设备之间的交互逻辑框图。终端设备侧可将目标对象UserID发送给服务器,服务器有很多内容创作者发布的短视频,对象在某短视频软件的广场页刷短视频时,服务器即可基于终端设备发送的UserID以及多个短视频资源,获取多个待预测短视频各自的资源特征、目标对象的对象特征以及资源推荐的场景信息,进而,将上述特征输入多任务模型,基于多任务模型获得各业务任务下各个待预测短视频的预测概率,并根据各个待预测短视频的预测概率向目标对象进行资源推荐。
具体的,服务器可将筛选排序后的推荐短视频的ID及排序结果传回终端设备,由终端设备基于此向目标对象进行短视频推荐。
需要说明的是,上述图11所列举的短视频推荐场景只是简单举例,除此之外,广告推荐、新闻资讯推荐等任意一种资源推荐同样适用于本申请实施例,在此不再一一赘述。
本申请由待预测资源的资源信息、对象信息和场景信息,获得各业务任务对应的候选特征,针对不同业务任务分别获得各自的候选特征,可以避免不同业务任务之间存在的有害相互干扰。对于每个业务任务,根据该业务任务的候选特征和与该业务任务关联的各上级业务任务各自对应的候选特征,可以确定该业务任务的预测概率。由于各上级业务任务与该业务任务之间存在先后依赖关系,实现了将与该业务任务关联的各上级业务任务的差异化信息迁移,更符合实际情况中多个业务任务之间复杂的先后依赖关系,提升了多任务模型对多个业务任务的建模效果。进而根据待预测资源中各业务任务的预测概率,对目标对象进行资源推荐。该方式考虑了多个业务任务之间的先后依赖关系,并根据各业务任务关联的一个或多个上级业务任务,将父级业务任务的转化结果进行信息迁移,使子级业务任务的预测概率更加准确。进而可以获得更好的资源推荐效果。
基于相同的发明构思,本申请实施例还提供一种资源推荐装置。如图12所示,其为资源推荐装置1200的结构示意图,可以包括:
获取单元1201,用于获取指定的多任务转化路径,以及多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;多任务转化路径表示:待预测的各业务任务各自的期望转化结果,及各业务任务之间的先后依赖关系;
执行单元1202,用于对于每个待预测资源,分别执行以下操作:
对于一个待预测资源的资源信息、对象信息和场景信息,分别基于不同业务任务进行特征提取,获得不同业务任务各自对应的候选特征;
对于每个业务任务,根据一个业务任务以及一个业务任务关联的各上级业务任务各自的候选特征,确定一个业务任务相应的预测概率;各上级业务任务是根据先后依赖关系确定的;
推荐单元1203,用于根据多个待预测资源在各业务任务下的预测概率,向目标对象进行资源推荐,预测概率表示目标对象对待预测资源执行的动作,符合相应期望转化结果的概率。
可选的,一个业务任务关联的各上级业务任务为:根据先后依赖关系确定的,一个业务任务直接和间接依赖的各业务任务。
可选的,执行单元1202具体用于:
根据先后依赖关系,依次获取各上级业务任务以及一个业务任务各自的目标特征;基于一个业务任务的目标特征,预测得到一个业务任务相应的预测概率;
其中,每一级业务任务的目标特征都是基于业务任务直接依赖的父级业务任务的目标特征确定的,每次目标特征的确定执行以下操作:
对于目标业务任务,将目标业务任务直接依赖的父级业务任务的目标特征,转换至与目标业务任务的候选特征相同的维度,获得父级业务任务的转换后目标特征;
基于注意力机制,对目标业务任务的候选特征,以及父级业务任务的转换后目标特征进行加权融合,获得目标业务任务对应的目标特征。
可选的,对于任意一级业务任务,若业务任务不存在直接依赖的父级业务任务,则将业务任务的候选特征,作为业务任务的目标特征。
可选的,执行单元1202具体用于:
基于注意力机制,分别对目标业务任务的候选特征和转换后目标特征进行注意力特征提取,获得目标业务任务和父级业务任务各自对应的键特征、值特征和查询特征;
基于目标业务任务和父级业务任务各自对应的查询特征和键特征,确定目标业务任务和父级业务任务各自的融合权重;
基于目标业务任务和父级业务任务各自的融合权重,对目标业务任务和父级业务任务各自对应的值特征进行加权融合,获得目标业务任务对应的目标特征。
可选的,执行单元1202具体用于:
基于目标业务任务的查询特征、键特征与相应的特征维度,确定目标业务任务对应的子级指数;以及,基于父级业务任务的查询特征、键特征与相应的特征维度,确定父级业务任务对应的父级指数;
获取以自然常数为底数,以子级指数为指数确定的子级幂运算参数;以及,获取以自然常数为底数,以父级指数为指数确定的父级幂运算参数;
将子级幂运算参数,与子级幂运算参数和父级幂运算参数之和的比值,作为目标业务任务对应的融合权重;以及,将父级幂运算参数,与子级幂运算参数和父级幂运算参数之和的比值,作为父级业务任务对应的融合权重。
可选的,目标业务任务和父级业务任务各自对应的查询特征和键特征的特征维度都相同;
执行单元1202具体用于:
将目标业务任务的查询特征与键特征的转置之间的乘积,与特征维度开平方的比值,作为子级指数;
将父级业务任务的查询特征与键特征的转置之间的乘积,与相应特征维度开平方的比值,作为父级指数。
可选的,多任务转化路径是基于预先构建的二叉树确定的一条路径,所述装置还包括构建单元1204,用于通过如下方式构建二叉树:
根据各个业务任务之间的先后依赖关系,确定二叉树包含各节点,以及具有依赖关系的两个节点中的树节点和子节点;其中,被依赖的业务任务对应的节点为父节点;
根据所述各业务任务各自包含的可能的转化结果,确定所述二叉树中树分叉的左支和右支。
可选的,每个业务任务对应一个门控网络和塔网络;执行单元1202具体用于:
将资源信息、对象信息和场景信息各自的嵌入特征进行拼接,获得拼接特征;
分别基于多个不同的专家网络对拼接特征进行特征提取,获得相应的高阶隐式特征;
对于每个业务任务,分别执行以下操作:
基于一个业务任务对应的门控网络,对多个高阶隐式特征进行加权融合,获得融合特征;
基于一个业务任务对应的塔网络,对融合特征进行目标预测,获得一个业务任务对应的候选特征。
可选的,装置利用已训练的多任务模型实现,已训练的多任务模型是:基于预构建的训练样本集,对待训练的多任务模型进行循环迭代训练而得到的;
其中,训练样本集中的每个训练样本包括:样本资源信息、样本对象信息、样本场景信息、包含训练样本对应转化的各业务任务各自节点编号的节点编号序列、包含各业务任务各自真实转化结果的标签序列;节点编号用于表示业务任务之间的先后依赖关系。
可选的,装置还包括训练单元1205,训练单元1205用于在每次迭代训练时执行以下步骤:
从训练样本集中选取训练样本;
以训练样本包含的样本资源信息、样本对象信息和样本场景信息作为输入特征,分别基于待训练的多任务模型中多个不同的专家网络、门控网络和塔网络进行特征提取,获得不同业务任务各自对应的样本候选特征;
对于每个业务任务,根据一个业务任务以及一个业务任务关联的各上级业务任务各自的样本候选特征,确定一个业务任务相应的样本预测概率;
基于各业务任务对应的样本预测概率与相应的真实转化结果之间的差异,对待训练的多任务模型进行参数调整。
可选的,训练单元1205具体用于:
分别获取每个业务任务对应的预测概率与相应真实转化结果之间的差异值;
将获取的各差异值之和作为目标损失函数,基于目标损失函数对待训练的多任务模型进行参数调整。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的资源推荐方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图13所示,包括存储器1301,通讯模块1303以及一个或多个处理器1302。
存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1301可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
处理器1302,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1302,用于调用存储器1301中存储的计算机程序时实现上述资源推荐方法。
通讯模块1303用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1301、通讯模块1303和处理器1302之间的具体连接介质。本申请实施例在图13中以存储器1301和处理器1302之间通过总线1304连接,总线1304在图13中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1304可以分为地址总线、数据总线、控制总线等。为便于描述,图13中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1301中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的资源推荐方法。处理器1302用于执行上述的资源推荐方法,如图3所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备113。在该实施例中,电子设备的结构可以如图14所示,包括:通信组件1410、存储器1420、显示单元1430、摄像头1440、传感器1450、音频电路1460、蓝牙模块1470、处理器1480等部件。
通信组件1410用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1420可用于存储软件程序及数据。处理器1480通过运行存储在存储器1420的软件程序或数据,从而执行终端设备113的各种功能以及数据处理。存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1420存储有使得终端设备113能运行的操作系统。本申请中存储器1420可以存储操作系统及各种应用程序,还可以存储执行本申请实施例资源推荐方法的计算机程序。
显示单元1430还可用于显示由用户输入的信息或提供给用户的信息以及终端设备113的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1430可以包括设置在终端设备113正面的显示屏1432。其中,显示屏1432可以采用液晶显示器、发光二极管等形式来配置。显示单元1430可以用于显示本申请实施例中的短视频观看界面等。
显示单元1430还可用于接收输入的数字或字符信息,产生与终端设备113的用户设置以及功能控制有关的信号输入,具体地,显示单元1430可以包括设置在终端设备113正面的触控屏1431,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏1431可以覆盖在显示屏1432之上,也可以将触控屏1431与显示屏1432集成而实现终端设备113的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1430可以显示应用程序以及对应的操作步骤。
摄像头1440可用于捕获静态图像,用户可以将摄像头1440拍摄的图像通过应用发布。摄像头1440可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1480转换成数字图像信号。
终端设备还可以包括至少一种传感器1450,比如加速度传感器1451、距离传感器1452、指纹传感器1453、温度传感器1454。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1460、扬声器1461、传声器1462可提供用户与终端设备113之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出。终端设备113还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出至通信组件1410以发送给比如另一终端设备113,或者将音频数据输出至存储器1420以便进一步处理。
蓝牙模块1470用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1470与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1480是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1420内的软件程序,以及调用存储在存储器1420内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1480可包括一个或多个处理单元;处理器1480还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1480中。本申请中处理器1480可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的资源推荐方法。另外,处理器1480与显示单元1430耦接。
在一些可能的实施方式中,本申请提供的资源推荐方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的资源推荐方法中的步骤,例如,电子设备可以执行如图3或图5中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种资源推荐方法,其特征在于,所述方法包括:
获取指定的多任务转化路径,以及多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;所述多任务转化路径表示:待预测的各业务任务各自的期望转化结果,及所述各业务任务之间的先后依赖关系;
对于每个待预测资源,分别执行以下操作:
对于一个待预测资源的资源信息、所述对象信息和所述场景信息,分别基于不同业务任务进行特征提取,获得所述不同业务任务各自对应的候选特征;
对于每个业务任务,根据一个业务任务以及所述一个业务任务关联的各上级业务任务各自的候选特征,确定所述一个业务任务相应的预测概率;
所述各上级业务任务是根据所述先后依赖关系确定的;
根据所述多个待预测资源在各业务任务下的预测概率,向所述目标对象进行资源推荐,所述预测概率表示所述目标对象对所述待预测资源执行的动作,符合相应期望转化结果的概率。
2.如权利要求1所述的方法,其特征在于,所述一个业务任务关联的各上级业务任务为:根据所述先后依赖关系确定的,所述一个业务任务直接和间接依赖的各业务任务。
3.如权利要求2所述的方法,其特征在于,所述对于每个业务任务,根据一个业务任务以及所述一个业务任务关联的各上级业务任务各自的候选特征,确定所述一个业务任务相应的预测概率,包括:
根据所述先后依赖关系,依次获取所述各上级业务任务以及所述一个业务任务各自的目标特征;基于所述一个业务任务的目标特征,预测得到所述一个业务任务相应的预测概率;
其中,每一级业务任务的目标特征都是基于所述业务任务直接依赖的父级业务任务的目标特征确定的,每次目标特征的确定执行以下操作:
对于目标业务任务,将所述目标业务任务直接依赖的父级业务任务的目标特征,转换至与所述目标业务任务的候选特征相同的维度,获得所述父级业务任务的转换后目标特征;
基于注意力机制,对所述目标业务任务的候选特征,以及所述父级业务任务的转换后目标特征进行加权融合,获得所述目标业务任务对应的目标特征。
4.如权利要求3所述的方法,其特征在于,对于任意一级业务任务,若所述业务任务不存在直接依赖的父级业务任务,则将所述业务任务的候选特征,作为所述业务任务的目标特征。
5.如权利要求3所述的方法,其特征在于,所述基于注意力机制,对所述目标业务任务的候选特征,以及所述父级业务任务的转换后目标特征进行加权融合,获得所述目标业务任务对应的目标特征,包括:
基于注意力机制,分别对所述目标业务任务的候选特征和所述转换后目标特征进行注意力特征提取,获得所述目标业务任务和所述父级业务任务各自对应的键特征、值特征和查询特征;
基于所述目标业务任务和所述父级业务任务各自对应的查询特征和键特征,确定所述目标业务任务和所述父级业务任务各自的融合权重;
基于所述目标业务任务和所述父级业务任务各自的融合权重,对所述目标业务任务和所述父级业务任务各自对应的值特征进行加权融合,获得所述目标业务任务对应的目标特征。
6.如权利要求5所述的方法,其特征在于,所述基于所述目标业务任务和所述父级业务任务各自对应的查询特征和键特征,确定所述目标业务任务和所述父级业务任务各自的融合权重,包括:
基于所述目标业务任务的查询特征、键特征与相应的特征维度,确定所述目标业务任务对应的子级指数;以及,基于所述父级业务任务的查询特征、键特征与相应的特征维度,确定所述父级业务任务对应的父级指数;
获取以自然常数为底数,以所述子级指数为指数确定的子级幂运算参数;以及,获取以自然常数为底数,以所述父级指数为指数确定的父级幂运算参数;
将所述子级幂运算参数,与所述子级幂运算参数和父级幂运算参数之和的比值,作为所述目标业务任务对应的融合权重;以及,将所述父级幂运算参数,与所述子级幂运算参数和父级幂运算参数之和的比值,作为所述父级业务任务对应的融合权重。
7.如权利要求6所述的方法,其特征在于,所述目标业务任务和所述父级业务任务各自对应的查询特征和键特征的特征维度都相同;
所述基于所述目标业务任务的查询特征、键特征与相应的特征维度,确定子级指数,包括:
将所述目标业务任务的查询特征与键特征的转置之间的乘积,与所述特征维度开平方的比值,作为所述子级指数;
所述基于所述父级业务任务的查询特征、键特征与相应的特征维度,确定父级指数,包括:
将所述父级业务任务的查询特征与键特征的转置之间的乘积,与相应特征维度开平方的比值,作为所述父级指数。
8.如权利要求1所述的方法,其特征在于,所述多任务转化路径是基于预先构建的二叉树确定的一条路径,所述二叉树是通过如下方式构建的:
根据各个业务任务之间的先后依赖关系,确定所述二叉树包含各节点,以及具有依赖关系的两个节点中的父节点和子节点;其中,被依赖的业务任务对应的节点为父节点;
根据所述各业务任务各自包含的可能的转化结果,确定所述二叉树中树分叉的左支和右支。
9.如权利要求1所述的方法,其特征在于,每个业务任务对应一个门控网络和塔网络;所述对于一个待预测资源的资源信息、所述对象信息和所述场景信息,分别基于不同业务任务进行特征提取,获得所述不同业务任务各自对应的候选特征,包括:
将所述资源信息、所述对象信息和所述场景信息各自的嵌入特征进行拼接,获得拼接特征;
分别基于多个不同的专家网络对所述拼接特征进行特征提取,获得相应的高阶隐式特征;
对于每个业务任务,分别执行以下操作:
基于一个业务任务对应的门控网络,对多个所述高阶隐式特征进行加权融合,获得融合特征;
基于所述一个业务任务对应的塔网络,对所述融合特征进行目标预测,获得所述一个业务任务对应的候选特征。
10.如权利要求1~9任一项所述的方法,其特征在于,所述方法利用已训练的多任务模型实现,所述已训练的多任务模型是:基于预构建的训练样本集,对待训练的多任务模型进行循环迭代训练而得到的;
其中,所述训练样本集中的每个训练样本包括:样本资源信息、样本对象信息、样本场景信息、包含所述训练样本在各业务任务下真实转化结果关联的节点编号序列、包含各业务任务各自真实转化结果的标签序列;所述节点编号用于表示业务任务之间的先后依赖关系。
11.如权利要求10所述的方法,其特征在于,每次迭代训练执行以下步骤:
从所述训练样本集中选取训练样本;
以所述训练样本包含的样本资源信息、所述样本对象信息和所述样本场景信息作为输入特征,分别基于所述待训练的多任务模型中多个不同的专家网络、门控网络和塔网络进行特征提取,获得不同业务任务各自对应的样本候选特征;
对于每个业务任务,根据一个业务任务以及所述一个业务任务关联的各上级业务任务各自的样本候选特征,确定所述一个业务任务相应的样本预测概率;
基于所述各业务任务对应的样本预测概率与相应的真实转化结果之间的差异,对所述待训练的多任务模型进行参数调整。
12.如权利要求11所述的方法,其特征在于,所述基于所述各业务任务对应的预测概率与相应真实转化结果之间的差异,对所述待训练的多任务模型进行参数调整,包括:
分别获取每个业务任务对应的预测概率与相应真实转化结果之间的差异值;
将获取的各差异值之和作为目标损失函数,基于所述目标损失函数对所述待训练的多任务模型进行参数调整。
13.一种资源推荐装置,其特征在于,包括:
获取单元,用于获取指定的多任务转化路径,以及多个待预测资源各自的资源信息、目标对象的对象信息和资源推荐的场景信息;所述多任务转化路径表示:待预测的各业务任务各自的期望转化结果,及所述各业务任务之间的先后依赖关系;
执行单元,用于对于每个待预测资源,分别执行以下操作:
对于一个待预测资源的资源信息、所述对象信息和所述场景信息,分别基于不同业务任务进行特征提取,获得所述不同业务任务各自对应的候选特征;
对于每个业务任务,根据一个业务任务以及所述一个业务任务关联的各上级业务任务各自的候选特征,确定所述一个业务任务相应的预测概率;所述各上级业务任务是根据所述先后依赖关系确定的;
推荐单元,用于根据所述多个待预测资源在各业务任务下的预测概率,向所述目标对象进行资源推荐,所述预测概率表示所述目标对象对所述待预测资源执行的动作,符合相应期望转化结果的概率。
14.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~12中任一所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~12中任一所述方法的步骤。
16.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行权利要求1~12中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311491292.9A CN117523445A (zh) | 2023-11-09 | 2023-11-09 | 一种资源推荐方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311491292.9A CN117523445A (zh) | 2023-11-09 | 2023-11-09 | 一种资源推荐方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117523445A true CN117523445A (zh) | 2024-02-06 |
Family
ID=89741300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311491292.9A Pending CN117523445A (zh) | 2023-11-09 | 2023-11-09 | 一种资源推荐方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117523445A (zh) |
-
2023
- 2023-11-09 CN CN202311491292.9A patent/CN117523445A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353091B (zh) | 信息处理方法、装置、电子设备及可读存储介质 | |
CN113868497A (zh) | 一种数据分类方法、装置和存储介质 | |
CN117688204A (zh) | 视频推荐模型的训练方法、装置、电子设备和存储介质 | |
CN115238126A (zh) | 搜索结果重排序方法、装置、设备及计算机存储介质 | |
JP2024508502A (ja) | 情報をプッシュする方法および装置 | |
CN113641916B (zh) | 一种内容推荐方法、装置、电子设备和存储介质 | |
CN114417174A (zh) | 内容推荐方法、装置、设备及计算机存储介质 | |
CN116628345B (zh) | 一种内容推荐方法、装置、电子设备和存储介质 | |
CN115129975B (zh) | 推荐模型训练方法、推荐方法、装置、设备及存储介质 | |
CN114357301B (zh) | 数据处理方法、设备及可读存储介质 | |
CN116932788A (zh) | 封面图像提取方法、装置、设备及计算机存储介质 | |
CN115017362A (zh) | 数据处理方法、电子设备及存储介质 | |
CN114492750A (zh) | 反馈信息预估模型的训练方法、装置、设备和介质 | |
CN117523445A (zh) | 一种资源推荐方法、装置、电子设备和存储介质 | |
CN115878839A (zh) | 一种视频推荐方法、装置、计算机设备和计算机程序产品 | |
CN115482019A (zh) | 一种活动关注度预测方法、装置、电子设备和存储介质 | |
CN114970494A (zh) | 一种评论生成方法、装置、电子设备和存储介质 | |
CN118155023B (zh) | 一种文生图及模型训练方法、装置、电子设备和存储介质 | |
KR102674099B1 (ko) | 영상 콘텐츠의 분류 및 시청 관련 데이터의 분석 결과를 기반으로 한 콘텐츠 기획 및 a/b 테스트 자동화 방법, 장치 및 시스템 | |
CN118839056A (zh) | 一种资源推荐方法、装置、电子设备和存储介质 | |
CN117556149B (zh) | 资源推送方法、装置、电子设备和存储介质 | |
CN117216373A (zh) | 一种物品推荐方法、装置、电子设备及存储介质 | |
CN117493685A (zh) | 一种内容推荐方法、装置、设备及存储介质 | |
CN116628253A (zh) | 一种搜索请求推荐方法、装置、电子设备和存储介质 | |
CN115086279A (zh) | 一种多媒体内容的推送方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |