CN115203568A - 一种基于深度学习模型的内容推荐方法、相关装置及设备 - Google Patents
一种基于深度学习模型的内容推荐方法、相关装置及设备 Download PDFInfo
- Publication number
- CN115203568A CN115203568A CN202210867581.3A CN202210867581A CN115203568A CN 115203568 A CN115203568 A CN 115203568A CN 202210867581 A CN202210867581 A CN 202210867581A CN 115203568 A CN115203568 A CN 115203568A
- Authority
- CN
- China
- Prior art keywords
- task
- vector
- expert
- network
- content
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请公开了一种基于深度学习模型的内容推荐方法和相关装置,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。本申请包括:获取综合特征向量和活跃度特征向量;基于综合特征向量,通过N个专家网络获取N个专家向量;基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量;采用活跃度权重向量对专家向量进行元素相乘,得到加权专家向量;基于加权专家向量,通过预测网络获取候选内容的任务分值;若根据K个任务分值确定候选内容属于待推送的内容,则向推荐对象推送候选内容。本申请能够使深度学习模型能够更好地学习到不同活跃度对象的数据分布差异,由此,提升推荐系统对于不同活跃度对象的推荐精度和效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于深度学习模型的内容推荐方法、相关装置及设备。
背景技术
随着互联网技术的发展和网络数据规模的日益增大,用户的需求也越来越多样化和个性化。推荐系统已成为大众在面对海量互联网信息筛选问题时的常用解决方案。通过内容推荐的方式对呈现给用户的内容进行合理地把控,从而能够更好地实现内容价值。
目前,通常会针对所有推荐对象进行统一建模,得到一个通用的深度学习模型。在内容推荐阶段,将推荐对象特征以及候选内容特征作为深度学习模型的输入,由深度学习模型输出每个候选内容的得分,并基于得分向该推荐对象推送相关的候选内容。
然而,发明人发现现有方案中至少存在如下问题:高活跃对象的样本量往往比低活跃对象的样本量大很多,使得高活跃对象的样本特征丰富度也明显高于低活跃对象的样本特征丰富度。因此,深度学习模型容易被高活跃度对象的样本特征主导,导致推荐系统不能很好地服务于低活跃度对象。
发明内容
本申请实施例提供了一种基于深度学习模型的内容推荐方法、相关装置及设备。本申请能够使深度学习模型能够更好地学习到不同活跃度对象的数据分布差异,由此,提升推荐系统对于不同活跃度对象的推荐精度和效率。
有鉴于此,本申请一方面提供一种基于深度学习模型的内容推荐方法,深度学习模型包括活跃度门控网络和K个任务网络,每个任务网络包括N个专家网络和预测网络,K≥1,N≥1,且,K与N均为整数,内容推荐方法包括:
响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,其中,综合特征向量包括推荐对象的特征向量和候选内容的特征向量,活跃度特征向量表征推荐对象在历史时段内的活跃情况;
针对每个任务网络,基于综合特征向量,通过N个专家网络获取N个专家向量;
基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量;
针对每个任务网络,采用活跃度权重向量对N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量;
针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值;
若根据K个任务分值确定候选内容属于待推送的内容,则向推荐对象推送候选内容,其中,K个任务分值为K个任务网络的输出结果。
本申请另一方面提供一种基于深度学习模型的内容推荐装置,深度学习模型包括活跃度门控网络和K个任务网络,每个任务网络包括N个专家网络和预测网络,K≥1,N≥1,且,K与N均为整数,内容推荐装置包括:
获取模块,用于响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,其中,综合特征向量包括推荐对象的特征向量和候选内容的特征向量,活跃度特征向量表征推荐对象在历史时段内的活跃情况;
获取模块,还用于针对每个任务网络,基于综合特征向量,通过N个专家网络获取N个专家向量;
获取模块,还用于基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量;
获取模块,还用于针对每个任务网络,采用活跃度权重向量对N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量;
获取模块,还用于针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值;
推荐模块,用于若根据K个任务分值确定候选内容属于待推送的内容,则向推荐对象推送候选内容,其中,K个任务分值为K个任务网络的输出结果。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于响应针对推荐对象的内容推荐请求,获取推荐对象的对象数据,其中,对象数据包括对象活跃数据和对象关联数据,对象关联数据包括对象基础数据、对象消费序列数据和对象描述数据中的一项或多项;
从推荐对象所对应的候选内容集合中获取候选内容,其中,候选内容集合包括Q个候选内容,Q≥1,且,Q为整数;
获取候选内容的内容数据,其中,内容数据包括内容基础数据和内容统计数据中的一项或多项;
对对象关联数据和内容数据进行特征化处理,得到综合特征向量;
对对象活跃数据进行特征化处理,得到活跃度特征向量。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,深度学习模型还包括特征加权网络;
获取模块,还用于响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量之后,基于综合特征向量,通过特征加权网络获取目标综合特征向量;
获取模块,具体用于针对每个任务网络,基于目标综合特征向量,通过N个专家网络获取N个专家向量。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于对综合特征向量中每个特征域的特征向量进行池化处理,得到压缩特征向量,其中,综合特征向量包括T个特征域的特征向量,压缩特征向量包括T个元素,T>1,且T为整数;
基于压缩特征向量,通过激励网络获取特征权重向量,其中,特征权重向量包括T个元素;
采用特征权重向量对T个特征域的特征向量进行元素相乘,得到目标综合特征向量。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,特征加权网络包括X个门控网络和X个多层感知机,X≥1,且,X为整数;
获取模块,具体用于获取已筛选数据所对应的已筛选特征向量,其中,已筛选数据是从对象关联数据和内容数据中筛选得到的数据;
基于已筛选特征向量,通过X个门控网络获取X个门控特征向量,其中,每个门控网络的输入均为已筛选特征向量;
基于综合特征向量和X个门控特征向量,通过X个多层感知机获取目标综合特征向量,其中,每个多层感知机的输入均不相同。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于针对每个任务网络,采用活跃度权重向量中的每个权重值,对N个专家向量中对应的每个专家向量进行元素相乘,得到N个加权专家向量,其中,活跃度权重向量包括N个权重值,或者,活跃度权重向量与专家向量具有相等维度。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于基于N个专家向量和活跃度特征向量,通过活跃度门控网络获取活跃度权重向量,其中,活跃度门控网络为采用注意力机制的网络,活跃度权重向量包括N个权重值;
获取模块,具体用于针对每个任务网络,采用活跃度权重向量中的每个权重值,对N个专家向量中对应的各个专家向量进行元素相乘,得到N个加权专家向量。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,基于深度学习模型的内容推荐装置还包括确定模块;
确定模块,用于基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量之后,针对每个任务网络,从活跃度权重向量中确定最大的P个权重值,其中,活跃度权重向量包括N个权重值,每个权重值对应于一个专家网络,N>P≥1,且,P为整数;
针对每个任务网络,根据P个权重值从N个专家网络中确定对应的P个专家网络;
获取模块,具体用于针对每个任务网络,采用P个权重值中的每个权重值,对P个专家向量中对应的各个专家向量进行元素相乘,得到P个加权专家向量,其中,P个专家向量为P个专家网络的输出结果。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,K>1,且,N个专家网络包括共享专家网络和独享专家网络,每个任务网络还包括任务门控网络;
获取模块,具体用于针对每个任务网络,基于综合特征向量,通过任务门控网络获取任务特征向量;
针对每个任务网络,采用任务特征向量与至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,K>1,且,N个专家网络为N个共享专家网络,每个任务网络还包括任务门控网络;
获取模块,具体用于针对每个任务网络,基于综合特征向量,通过任务门控网络获取任务特征向量;
针对每个任务网络,采用任务特征向量与至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,K>1,且,N个专家网络为N个共享专家网络;
获取模块,具体用于针对每个任务网络,通过矩阵集合对至少一个加权专家向量进行矩阵变换,得到目标特征向量,其中,矩阵集合包括转换矩阵或者单位矩阵;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,还用于基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值之后,根据K个任务分值,确定候选内容的排序分值;
获取模块,还用于获取其他候选内容中各个候选内容的排序分值,其中,其他候选内容来源于推荐对象的候选内容集合;
确定模块,还用于根据候选内容的排序分值和其他候选内容中各个候选内容的排序分值,确定候选内容的分值排序结果;
确定模块,还用于若候选内容的分值排序结果在推荐排序范围内,则确定候选内容属于待推送的内容。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于若K=1,则将K个任务分值作为候选内容的排序分值;
若K>1,则根据K个任务分值和K个任务分值中每个任务分值的任务权重,计算得到候选内容的排序分值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,K个任务分值包括时长分值、互动分值、完播率分值和快滑率分值;
确定模块,具体用于采用时长权重对时长分值进行加权,得到第一分值;
采用互动权重对互动分值进行加权,得到第二分值;
采用完播率权重对完播率分值进行加权,得到第三分值;
采用快滑率权重对快滑率分值进行加权,得到第四分值;
根据第一分值、第二分值、第三分值和第四分值,计算得到候选内容的排序分值,其中,候选内容的排序分值与时长分值、互动分值和完播率分值呈正相关,且,候选内容的排序分值与快滑率分值呈负相关。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,基于深度学习模型的内容推荐装置还包括处理模块和训练模块;
获取模块,还用于获取待训练数据集合,其中,每个待训练数据包括样本对象的对象数据、样本内容的内容数据和K个任务标签;
处理模块,用于针对每个待训练数据,对样本对象的对象数据和样本内容的内容数据进行特征化处理,得到待训练数据的样本特征向量,其中,样本特征向量包括综合样本特征向量和活跃度样本特征向量;
获取模块,还用于基于每个待训练数据的样本特征向量,通过深度学习模型获取每个待训练数据的K个预测分值;
确定模块,还用于根据每个待训练数据的K个预测分值和对应的K个任务标签,确定总损失结果;
训练模块,用于根据总损失结果对深度学习模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于针对K个任务中的每个任务,根据每个待训练数据的预测分值和对应的任务标签,采用第一损失函数计算得到任务损失结果;
若K=1,则将任务损失结果作为总损失结果;
若K>1,则对每个任务的任务损失结果进行求和,得到总损失结果;
或者,
确定模块,具体用于针对K个任务中的每个任务,根据每个待训练数据的样本权重、对应的预测分值和对应的任务标签,采用第二损失函数计算得到任务损失结果,其中,样本权重与样本对象对样本内容产生的历史行为数据相关;
若K=1,则将任务损失结果作为总损失结果;
若K>1,则对每个任务的任务损失结果进行求和,得到总损失结果。
本申请另一方面提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各方面的方法。
本申请的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种基于深度学习模型的内容推荐方法,首先,响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量。一方面,可基于综合特征向量,通过N个专家网络获取N个专家向量。另一方面,可基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量。然后,采用活跃度权重向量对N个专家向量中的专家向量进行元素相乘,得到加权专家向量。再基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值。以此,根据各个任务网络分别输出的任务分值确定是否需要向推荐对象推送该候选内容。通过上述方式,使用对象的历史行为数据构建其对应的活跃度特征向量作为活跃度门控网络的输入,再利用活跃度门控网络对各个专家网络进行加权,从而使深度学习模型能够更好地学习到不同活跃度对象的数据分布差异,由此,提升推荐系统对于不同活跃度对象的推荐精度和效率。
附图说明
图1为本申请实施例中内容推荐场景的一个界面示意图;
图2为本申请实施例中内容推荐方法的一个实施环境示意图;
图3为本申请实施例中基于深度学习模型的内容推荐方法的一个流程示意图;
图4为本申请实施例中基于单任务单专家网络的一个结构示意图;
图5为本申请实施例中基于多任务单专家网络的一个结构示意图;
图6为本申请实施例中基于多任务多专家网络的一个结构示意图;
图7为本申请实施例中引入特征加权网络的一个结构示意图;
图8为本申请实施例中基于特征加权网络获取目标综合特征向量的一个示意图;
图9为本申请实施例中基于特征加权网络获取目标综合特征向量的另一个示意图
图10为本申请实施例中基于活跃度门控网络实现特征加权的一个示意图;
图11为本申请实施例中基于活跃度门控网络实现特征加权的另一个示意图;
图12为本申请实施例中基于活跃度门控网络实现特征加权的另一个示意图;
图13为本申请实施例中深度学习模型的一个结构示意图;
图14为本申请实施例中深度学习模型的另一个结构示意图;
图15为本申请实施例中深度学习模型的另一个结构示意图;
图16为本申请实施例中应用深度学习模型的一个流程示意图;
图17为本申请实施例中多任务深度学习模型的一个结构示意图;
图18为本申请实施例中训练深度学习模型的一个流程示意图;
图19为本申请实施例中基于深度学习模型的内容推荐装置的一个示意图;
图20为本申请实施例中计算机设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种基于深度学习模型的内容推荐方法、相关装置及设备。本申请能够使深度学习模型能够更好地学习到不同活跃度对象的数据分布差异,由此,提升推荐系统对于不同活跃度对象的推荐精度和效率。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
互联网规模和覆盖面的迅速增长带来了信息超载问题。过量信息的呈现使得用户付出过高的代价来搜索对自己有用的信息,从而降低了信息使用的效率。个性化推荐作为一种信息过滤的重要手段,是当前解决信息超载问题非常有潜力的方法。个性化推荐根据对象的兴趣特点,通过基于人工智能(artificial intelligence,AI)的机器学习(machinelearning,ML)算法推荐其感兴趣的内容(例如,图文、短视频、商品等)。其中,ML是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。ML是AI的核心,是使计算机具有智能的根本途径,其应用遍及AI的各个领域。ML和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
下面将结合图示介绍内容推荐场景。为了便于理解,请参阅图1,图1为本申请实施例中内容推荐场景的一个界面示意图,如图1中(A)图所示,在应用程序(application,APP)的消息页面上提供A1所指示的底部导航栏,其中,底部导航栏上还显示有A2所指示的内容推荐控件。点击内容推荐控件之后进入图如1中(B)图所示的主页面,通过主页面即可可体验默认的沉浸式视频模式。该视频模式包含了由个性化推荐算法推荐给对象的短小视频,每次曝光一个视频,对象可以根据自己的兴趣进行滑动、点赞、评论、投币、转发等操作。
在推荐系统中,不同活跃度对象的数据分布差异性较大,主要体现在样本差异、特征差异和行为差异上。相比于低活跃对象,高活跃对象的样本量要大很多,特征丰富程度和历史行为数量也要高很多,因此,模型很容易被高活跃对象的数据主导,导致推荐系统不能很好地服务于低活跃对象。但是,低活跃对象往往是决定一个推荐系统生态的核心群体,如果推荐系统不能服务好低活跃对象群体,在用户增长、用户粘性、用户留存率和产品用户生态等方面都会受到负面影响。
基于此,本申请提出了一种基于对象活跃度加权的内容排序方法,用于解决在推荐系统排序场景下模型被高活用户数据主导,导致无法兼顾不同活跃度对象行为差异的问题,进而提高推荐系统中不同活跃度对象群体的消费指标。本申请的主要目的是在精排阶段,构建一种能够兼顾不同活跃度对象的推荐模型,从而充分挖掘不同活跃度对象的数据分布差异,向对象展示更精准的内容,提升推荐系统的精度和效率。本申请提供的方法可应用于图2所示的实施环境,该实施环境包括终端110和服务器120,且,终端110和服务器120之间通过通信网络130连接。其中,终端110和服务器120之间可以通过通信网络130进行通信。其中,通信网络130使用标准通信技术和/或协议,通常为因特网,但也可以是任何网络,包括但不限于蓝牙、局域网(local area network,LAN)、城域网(metropolitan areanetwork,MAN)、广域网(wide area network,WAN)、移动、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,可使用定制或专用数据通信技术取代或者补充上述数据通信技术。
本申请涉及的终端110包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。其中,客户端部署于终端110上,客户端可以通过浏览器的形式运行于终端110上,也可以通过独立的APP的形式运行于终端110上等。本申请涉及的服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,CDN)、以及大数据和AI平台等基础云计算服务的云服务器。需要说明的是,本申请以深度学习模型140的配置部署于服务器120为例进行说明,在一些实施例中,深度学习模型140的配置也可以部署于终端110。在一些实施例中,深度学习模型140的部分配置部署于终端110,部分配置部署于服务器120。
结合上述实施环境,终端110向服务器120发送内容推荐请求,其中,内容推荐请求可用于请求推荐视频、新闻、商品中至少一种。终端110通过通信网络130向服务器120发送内容推荐请求,并指示服务器120基于内容推荐请求以及终端110中登录的目标帐号的对象数据,对候选内容进行排序并推荐。服务器120根据内容排序结果,通过通信网络130向终端110反馈推荐内容。
鉴于本申请涉及到一些与专业领域相关的术语,为了便于理解,下面将进行解释。
(1)对象活跃度:在推荐系统中,不同对象的不同行为发生频次是不一样的,可以通过某些行为频次来定义对象的活跃度。例如,基于对象的历史观看次数或历史点赞次数等。通常,根据对象某类行为的统计值,将对象定义为高活跃度对象、中活跃度对象、低活跃度对象等群体。
(2)多目标排序模型:在推荐系统中,多目标排序模型是一类用以解决有多个目标函数且需要使得多个目标达到整体最优的排序模型。
(3)专家网络:是指位于输入层和输出层之间的小型网络,为输入层提供更好的表达方式,同时,为输出层提供更合适的输入。通常,专家网络分为共享专家(shared expert)网络和独享专家(specific expert)网络。共享专家网络会输入到所有目标的输出层网络中,而独享专家网络仅会输入到某个特定目标的输出层网络。
结合上述介绍,下面将对本申请中基于深度学习模型的内容推荐方法进行介绍,请参阅图3,本申请实施例中基于深度学习模型的内容推荐方法可以由服务器独立完成,也可以由终端独立完成,还可以由终端与服务器配合完成。其中,深度学习模型包括活跃度门控网络和K个任务网络,每个任务网络包括N个专家网络和预测网络,K≥1,N≥1,且,K与N均为整数,内容推荐方法包括:
210、响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,其中,综合特征向量包括推荐对象的特征向量和候选内容的特征向量,活跃度特征向量表征推荐对象在历史时段内的活跃情况;
在一个或多个实施例中,推荐对象通过终端触发内容推荐请求,内容推荐请求携带推荐对象的对象标识。基于此,根据内容推荐请求中携带的对象标识,可提取该推荐对象相关的数据以及候选内容相关的数据,再根据推荐对象相关的数据以及候选内容相关的数据构建综合特征向量和活跃度特征向量。其中,推荐对象相关的数据需包括推荐对象在历史时段内的活跃情况(例如,历史观看次数,历史点赞次数等)。
220、针对每个任务网络,基于综合特征向量,通过N个专家网络获取N个专家向量;
在一个或多个实施例中,深度学习模型可以是单目标排序模型(即,K=1),或者是多目标排序模型(即,K>1)。其中,单目标排序模型中的N个专家网络无需区分独享专家网络和共享专家网络。而多目标排序模型中的N个专家网络包括独享专家网络和/或共享专家网络。以一个任务网络为例,将综合特征向量分别作为N个专家网络的输入,通过每个专家网络输出一个专家向量。以两个任务网络为例,假设每个任务网络包括5个共享专家网络,那么这5个共享专家网络既属于一个任务网络的N个专家网络,又属于另一个任务网络的N个专家网络,此时,N应为大于或等于5的整数。
需要说明的是,专家向量与综合特征向量可以具有相同维度,例如,均为128维。专家网络可采用一层或多层多层感知机(multilayer perceptron,MLP)、因子分解机(FactorMachine,FM)或深度兴趣网络(Deep Interest Network,DIN)等,此处不做限定。
230、基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量;
在一个或多个实施例中,将活跃度特征向量作为活跃度门控网络的输入,通过活跃度门控网络输出一个活跃度权重向量。示例性地,活跃度权重向量与专家向量可具有相同维度,例如,均为128维。示例性地,活跃度权重向量的维度可设置为N或P,P为小于N的整数。
需要说明的是,步骤230与步骤220之间的执行顺序不做限定。
240、针对每个任务网络,采用活跃度权重向量对N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量;
在一个或多个实施例中,以一个任务网络为例,在获取到活跃度权重向量之后,可对N个专家向量中的至少一个专家向量进行元素相乘,从而得到相应的至少一个加权专家向量。示例性地,如果无需对N个专家向量进行筛选,则直接采用活跃度权重向量对N个专家向量进行元素相乘,得到N个加权专家向量。示例性地,如果需要对N个专家向量进行筛选,则先从N个专家向量筛选出P个专家向量,然后采用活跃度权重向量对P个专家向量进行元素相乘,得到P个加权专家向量。
250、针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值;
在一个或多个实施例中,以一个任务网络为例,可直接对N个加权专家向量(或,P个加权专家向量)进行拼接,再将拼接后的特征向量作为预测网络的输入,通过预测网络输出一个任务分值,其中,任务分值的取值范围在0至1之间,该任务分值用于表征推荐对象在一个任务(例如,时长任务或互动任务等)中对候选内容的感兴趣程度。通常情况下,推荐对象对候选内容越感兴趣,则任务分值越高。
需要说明的是,预测网络可采用一层或多层MLP。即,经过预测网络后,再由sigmoid函数归一化得到任务分值。本申请中的预测网络也可以理解为是“塔(Tower)网络层”。
260、若根据K个任务分值确定候选内容属于待推送的内容,则向推荐对象推送候选内容,其中,K个任务分值为K个任务网络的输出结果。
在一个或多个实施例中,一个任务网络应用输出一个任务分值,基于此,K个任务网络即可输出K个任务分值。结合K个任务分值可得到候选内容的排序分值,其中,该排序分值用于表征推荐对象对候选内容的感兴趣程度。通常情况下,候选内容的排序分值越高,表示该候选内容越适合向推荐对象进行推送。如果某个候选内容的排序分值大于其他候选内容的排序分值,则可以将候选内容作为待推送的内容。
具体地,下面将结合图示介绍深度学习模型的基本结构。
示例性地,请参阅图4,图4为本申请实施例中基于单任务单专家网络的一个结构示意图,如图所示,深度学习模型包括一个任务网络,假设综合特征向量为128维。由此,将综合特征向量作为任务网络的输入,通过专家网络可输出128维的专家向量。将活跃度特征向量作为活跃度门控网络的输入,通过活跃度门控网络可输出1维或128维的活跃度权重向量。将活跃度权重向量与专家向量进行元素相乘,得到一个128维的加权专家向量。将加权专家向量作为预测网络的输入,通过预测网络输出一个任务分值。
示例性地,请参阅图5,图5为本申请实施例中基于多任务单专家网络的一个结构示意图,如图所示,深度学习模型包括两个任务网络,假设综合特征向量为128维。由此,将综合特征向量作为任务网络的输入,通过专家网络1可输出128维的专家向量1,通过专家网络2可输出128维的专家向量2。将活跃度特征向量作为活跃度门控网络的输入,通过活跃度门控网络可输出1维或128维的活跃度权重向量。将活跃度权重向量分别与专家向量1和专家向量2进行元素相乘,得到128维的加权专家向量1和128维的加权专家向量2。将加权专家向量1作为预测网络1的输入,通过预测网络1输出一个任务分值1,并且将加权专家向量2作为预测网络2的输入,通过预测网络2输出一个任务分值2。
示例性地,请参阅图6,图6为本申请实施例中基于多任务多专家网络的一个结构示意图,如图所示,深度学习模型包括两个任务网络,假设综合特征向量为128维。由此,将综合特征向量作为一个任务网络中的输入,通过专家网络1可输出128维的专家向量1,通过专家网络2可输出128维的专家向量2。类似地,将综合特征向量作为另一个任务网络中的输入,通过专家网络3可输出128维的专家向量3,通过专家网络4可输出128维的专家向量4。将活跃度特征向量作为活跃度门控网络的输入,通过活跃度门控网络可输出2维或128维的活跃度权重向量。将活跃度权重向量分别与专家向量1和专家向量2进行元素相乘,由此,得到128维的加权专家向量1和128维的加权专家向量2。将活跃度权重向量分别与专家向量3和专家向量4进行元素相乘,由此,得到128维的加权专家向量3和128维的加权专家向量4。将加权专家向量1和加权专家向量2作为预测网络1的输入,通过预测网络1输出一个任务分值1,并且将加权专家向量3和加权专家向量4作为预测网络1的输入,通过预测网络2输出一个任务分值2。
假设2维的活跃度权重向量为(0.2,0.1),专家向量1为(0.5,0.4,…,0.8),基于此,将0.2分别与专家向量1中的每个元素相乘,得到加权专家向量1可表示为(0.1,0.8,…,0.16)。专家向量2为(0.9,0.5,…,0.6),基于此,将0.1分别与专家向量2中的每个元素相乘,得到加权专家向量2可表示为(0.05,0.04,…,0.08)。
本申请实施例中,提供了一种基于深度学习模型的内容推荐方法。通过上述方式,使用对象的历史行为数据构建其对应的活跃度特征向量作为活跃度门控网络的输入,再利用活跃度门控网络对各个专家网络进行加权,从而使深度学习模型能够更好地学习到不同活跃度对象的数据分布差异,由此,提升推荐系统对于不同活跃度对象的推荐精度和效率。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,具体可以包括:
响应针对推荐对象的内容推荐请求,获取推荐对象的对象数据,其中,对象数据包括对象活跃数据和对象关联数据,对象关联数据包括对象基础数据、对象消费序列数据和对象描述数据中的一项或多项;
从推荐对象所对应的候选内容集合中获取候选内容,其中,候选内容集合包括Q个候选内容,Q≥1,且,Q为整数;
获取候选内容的内容数据,其中,内容数据包括内容基础数据和内容统计数据中的一项或多项;
对对象关联数据和内容数据进行特征化处理,得到综合特征向量;
对对象活跃数据进行特征化处理,得到活跃度特征向量。
在一个或多个实施例中,介绍了一种构建综合特征向量和活跃度特征向量的方式。由前述实施例可知,内容推荐请求可携带推荐对象的对象标识,基于此,可根据对象标识从日志中提取推荐对象的相关数据。此外,需根据推荐对象的相关数据对召回的内容进行粗排,从而得到候选内容集合。为了便于说明,下面将以一个候选内容集合中的一个候选内容为例进行介绍。
(1)对象活跃数据;
具体地,对象活跃数据表示对象在历史时段内消费内容的数量。其中,对象活跃数据包含但不仅限于对象在历史时段内点赞内容的数量,对象在历史时段内评论内容的数量,对象在历史时段内分享内容的数量,对象在历史时段内投币内容的数量等。
示例性地,例如,推荐对象在过去一个月内点赞了5个内容,其对应的特征值可为“5”。示例性地,例如,推荐对象在过去一个月内分享了20个内容,其对应的特征值可为“20”。可见,上述特征值构成连续型特征。
(2)对象基础数据;
具体地,对象描述数据表示与对象有关的基本数据。其中,对象基础数据包含但不仅限于对象标识、对象性别、对象所属年龄区间、对象所处城市类型、对象上周观看内容时长和对象上月观看内容时长等。
示例性地,例如,对象性别为“男性”,其对应的特征值可为“1”。示例性地,例如,对象所属年龄区间为“18至30”,其对应的特征值可为“1”。又例如,对象所属年龄区间为“31至50”,其对应的特征值可为“2”。示例性地,例如,对象所处城市类型为“一线城市”,其对应的特征值可为“1”。示例性地,例如,对象上周消费时长为“13小时”,其对应的特征值可为“13”。可见,上述特征值构成定长离散特征(即,长度固定的离散序列特征)。
(3)对象消费序列数据;
具体地,对象消费序列数据表示对象在历史时段内消费内容的序列。其中,对象消费序列数据包含但不仅限于对象在历史时段内点赞内容的序列,对象在历史时段内评论内容的序列,对象在历史时段内分享内容的序列,对象在历史时段内投币内容的序列等。
示例性地,推荐对象在过去一个月内点赞了30个内容,基于此,按照时间顺序获取这30个内容的标识,并将每个内容标识作为一个特征值。可见,上述特征值构成非定长离散型特征(即,长度不固定的离散序列特征)。
(4)对象描述数据;
具体地,对象描述数据表示与对象有关的上下文数据。其中,对象描述数据包含但不仅限于对象网络类别、对象使用的终端系统、对象当前位置、对象当前时间、对象一级画像和对象二级画像等。
示例性地,例如,对象网络类别为“4G”,其对应的特征值可为“1”。示例性地,例如,对象使用的终端系统为“安卓”,其对应的特征值可为“2”。示例性地,例如,对象当前位置为“广东省”,其对应的特征值可为“3”。示例性地,例如,对象当前时间为“2022-07-17 20:41:24”,其对应的特征值可为“1658061684”。示例性地,对象一级画像可以为“体育”,其对应的特征值可为“23”,对象二级画像可以为“篮球”,其对应的特征值可为“18”。可见,上述特征值可构成连续型特征以及有定长离散型特征。
(5)内容基础数据;
具体地,对象描述数据表示与内容有关的基本数据。其中,内容基础数据包含但不仅限于视频标识、视频类别、视频所属时长区间和视频所属账号等。
示例性地,例如,视频类别为“长视频”,其对应的特征值可为“1”。又例如,视频类别为“短视频”,其对应的特征值可为“0”。示例性地,例如,视频所属时长区间为“1至2小时”,其对应的特征值可为“1”。示例性地,例如,视频所属账号特征为“发布者账号”,其对应的特征值可为“11134”。示例性地,内容一级画像可以为“体育”,其对应的特征值可为“23”,内容二级画像可以为“足球”,其对应的特征值可为“15”。可见,上述特征值构成定长离散特征。
(6)内容统计数据;
具体地,内容统计数据表示在历史时段内与内容有关的统计后验数据。其中,内容统计数据包含但不仅限于内容的曝光数、内容的点击数、内容的点击率、内容的分享数、内容的转发数或内容的视频时长等。
示例性地,例如,内容在过去一个月内的曝光数为2000,其对应的特征值可为“2000”。示例性地,例如,推荐对象在过去一个月内的分享数为1000,其对应的特征值可为“1000”。可见,上述特征值构成连续型特征。
基于此,可按照特征类型构建综合特征向量和活跃度特征向量。特征类型包括定长离散特征、非定长离散型特征和连续型特征。嵌入(embedding)层将不同特征类型的特征分别通过以下嵌入方式得到不同特征类型的特征向量,将这些特征向量拼接起来可得到综合特征向量。其中,对于定长离散特征而言,通过离散特征索引获取对应的特征向量。对于非定长离散特征,通过离散特征索引得到每一个元素对应的特征向量,再通过池化方式融合得到对应的特征向量。对于连续型特征,直接将特征值拼接起来,或者进行归一化之后拼接起来。
其次,本申请实施例中,提供了一种构建综合特征向量和活跃度特征向量的方式。通过上述方式,选取了多个用于表示对象的活跃度特征,由此,从时长和互动等多个角度刻画了对象的活跃程度。与此同时,选取了多个用于表示对象和候选内容的其他特征,由此,可在模型训练过程中融入活跃度特征对其他特征的影响。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,深度学习模型还包括特征加权网络;
响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量之后,还可以包括:
基于综合特征向量,通过特征加权网络获取目标综合特征向量;
针对每个任务网络,基于综合特征向量,通过N个专家网络获取N个专家向量,具体可以包括:
针对每个任务网络,基于目标综合特征向量,通过N个专家网络获取N个专家向量。
在一个或多个实施例中,介绍了一种对综合特征向量进行特征加权的方式。由前述实施例可知,通过embedding层获得综合特征向量之后,还可以对综合特征向量进行特征重要度的选择。
具体地,为了便于理解,请参阅图7,图7为本申请实施例中引入特征加权网络的一个结构示意图,如图所示,将综合特征向量作为特征加权网络,通过特征加权网络输出目标综合特征向量。示例性地,综合特征向量和目标综合特征向量通常具有相同的维度。再将目标综合特征向量作为每个专家网络的输入,通过专家网络输出相应的专家向量。
需要说明的是,特征加权网络可以为挤压和激励网络(Squeeze-and-ExcitationNetwork,SENet),或,参数个性化网络(parameter personalized net,PPNet),或,注意力机制网络等进行信息抽取和过滤。
其次,本申请实施例中,提供了一种对综合特征向量进行特征加权的方式。通过上述方式,在深度学习模型中还引入特征加权网络,用于实现特征重要度的选择。针对不同的对象群体,对特征进行加权,减小无效信息噪音,增强重要特征权值,从特征侧加强了不同对象群体的区分。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,基于综合特征向量,通过特征加权网络获取目标综合特征向量,具体可以包括:
对综合特征向量中每个特征域的特征向量进行池化处理,得到压缩特征向量,其中,综合特征向量包括T个特征域的特征向量,压缩特征向量包括T个元素,T>1,且T为整数;
基于压缩特征向量,通过激励网络获取特征权重向量,其中,特征权重向量包括T个元素;
采用特征权重向量对T个特征域的特征向量进行元素相乘,得到目标综合特征向量。
在一个或多个实施例中,介绍了一种基于SENet进行特征加权的方式。由前述实施例可知,特征加权网络可以为SENet,其中,SENet主要包括三个阶段,分别为压缩(squeeze)阶段,激励(excitation)阶段和重构权重值(reweight)阶段。
具体地,为了便于理解,请参阅图8,图8为本申请实施例中基于特征加权网络获取目标综合特征向量的一个示意图,如图所示,综合特征向量汇聚了来自不同特征域的特征向量,其中,特征域表示特征所属类别,例如,对象性别、对象所属年龄区间和对象网络类别分别为三个不同的特征域。在squeeze阶段可通过平均池化(mean-pooling)或最大池化(max-pooling)对每个特征域的特征向量进行池化压缩表示,即,得到T个特征权重值。T个特征权重值构成压缩特征向量。压缩特征向量可表示为[z1,…,zT]。
示例性地,可采用mean-pooling计算特征权重值:
其中,zi表示第i个特征域对应的特征权重值,且,1≤i≤T。ei表示综合特征向量中第i个特征域对应的特征向量。Fsq(·)表示压缩计算。meanpooling(ei)表示对ei进行特征压缩计算。di表示第i个特征域对应特征向量的维度。t表示第t个维度的特征值。
接下来,将压缩特征向量作为激励网络的输入,通过激励网络输出相同维度的特征权重向量,特征权重向量包括T个元素,每个元素代表一个特征域的权重值。需要说明的是,激励网络通常包括一到两层全连接网络。在excitation阶段可基于上一步得到的压缩特征向量学习特征的重要性权重。可采用如下方式计算特征权重向量:
A=Fex(Z)=σ2(W2σ1(W1Z))=(a1,…,aT]; 式(2)
其中,A表示特征权重向量。Z表示压缩特征向量。Fex(·)表示激励计算。σ1和σ2表示激活函数。W1和W2表示需要学习的参数矩阵。
最后,将特征权重向量中的各个元素与综合特征向量中每个特征域对应的特征向量进行元素相乘,由此,对原始输入的特征向量进行一次权重更新。即,采用如下方式计算目标综合特征向量:
V=Fre(A,E)=[a1·e1,a2·e2,…,aT·eT]=[v1,…,vT]; 式(3)
其中,V表示目标综合特征向量。Fre(·)表示权重更新计算。E表示综合特征向量。ai表示第i个特征域对应的权重值,即,特征权重向量的第i个维度。ei表示第i个特征域对应特征向量。vi表示目标综合特征向量中的第i个加权后的特征向量。
再次,本申请实施例中,提供了一种基于SENet进行特征加权的方式。通过上述方式,使用SENet可个性化地学习不同特征的重要性,有效过滤掉无效噪声,进而提升深度学习模型的预测准确率。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,特征加权网络包括X个门控网络和X个多层感知机,X≥1,且,X为整数;
基于综合特征向量,通过特征加权网络获取目标综合特征向量,具体可以包括:
获取已筛选数据所对应的已筛选特征向量,其中,已筛选数据是从对象关联数据和内容数据中筛选得到的数据;
基于已筛选特征向量,通过X个门控网络获取X个门控特征向量,其中,每个门控网络的输入均为已筛选特征向量;
基于综合特征向量和X个门控特征向量,通过X个多层感知机获取目标综合特征向量,其中,每个多层感知机的输入均不相同。
在一个或多个实施例中,介绍了一种基于PPNet进行特征加权的方式。由前述实施例可知,特征加权网络可以为PPNet),其中,PPNet主要包括X个门控网络和X个多层感知机,X为大于或等于1的整数。在经过PPNet之前,需根据业务场景对象关联数据和内容数据中筛选得到的数据(即,得到已筛选数据)。然后基于这些已筛选数据可构建其对应的已筛选特征向量。其中,已筛选特征向量的特征维度小于综合特征向量的特征维度。
具体地,为了便于理解,请参阅图9,图9为本申请实施例中基于特征加权网络实现特征加权的另一个示意图,如图所示,假设X为3,将已筛选特征向量分别作为门控网络1、门控网络2和门控网络3的输入,通过门控网络1得到门控特征向量1,通过门控网络2得到门控特征向量2,通过门控网络3得到门控特征向量3。其中,综合特征向量与个门控特征向量具有相同维度。基于此,首先将综合特征向量与门控特征向量1进行元素相乘,得到特征向量1。将特征向量1作为MLP1的输入,将MLP1输出的特征向量与门控特征向量2进行元素相乘,得到特征向量2。将特征向量2作为MLP2的输入,将MLP2输出的特征向量与门控特征向量3进行元素相乘,得到特征向量3。将特征向量3作为MLP3的输入,通过MLP3输出目标综合特征向量。
再次,本申请实施例中,提供了一种基于PPNet进行特征加权的方式。通过上述方式,PPNet通过门控网络来支持MLP网络参数的个性化能力,从而提升对于目标的预估能力。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,针对每个任务网络,采用活跃度权重向量对N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量,具体可以包括:
针对每个任务网络,采用活跃度权重向量中的每个权重值,对N个专家向量中对应的每个专家向量进行元素相乘,得到N个加权专家向量,其中,活跃度权重向量包括N个权重值,或者,活跃度权重向量与专家向量具有相等维度。
在一个或多个实施例中,介绍了一种基于一层或多层MLP实现活跃度加权方式。由前述实施例可知,活跃度门控网络可采用一层或多层MLP。在得到N个专家向量之后,可将活跃度特征向量输入至一层或多层MLP,通过MLP输出活跃度权重向量。可采用活跃度权重向量对N个专家向量进行加权,其中,活跃度权重向量包括N个权重值,或者,活跃度权重向量与专家向量具有相等维度。下面将以一个任务网络为例进行介绍,其他任务网络也采用类似方式进行处理,故此处不做赘述。
具体地,为了便于理解,请参阅图10,图10为本申请实施例中基于活跃度门控网络实现特征加权的一个示意图,如图所示,以一个任务网络为例,假设该任务网络包括3个专家网络(例如,2个共享专家网络和1个独享专家网络),基于此,可采用如下方式计算N个加权专家向量:
其中,xt表示第t个任务网络对应的N个加权专家向量。t表示第t个任务网络。N表示一个任务网络中所包括的专家网络个数。xpc表示活跃度特征向量。g(·)表示活跃度门控网络(例如,可选择三层MLP)。e(i)表示第i个专家网络。x表示综合特征向量或者目标综合特征向量。
一种情况下,以N等于1为例,基于此,活跃度权重向量为1维,且假设活跃度权重向量为0.2,专家向量为(0.5,0.4,…,0.8),基于此,将0.2分别与专家向量中的每个元素相乘,得到加权专家向量可表示为(0.1,0.8,…,0.16)。
另一种情况下,示例性地,以N等于1为例,基于此,活跃度权重向量可为128维,假设128维的活跃度权重向量为(0.2,0.7,…,0.1),专家向量为(0.5,0.4,…,0.8),基于此,将活跃度权重向量的每个元素分别与专家向量中对应位置的每个元素相乘,得到加权专家向量可表示为(0.1,0.28,…,0.08)。
假设1维的活跃度权重向量为0.2,专家向量为(0.5,0.4,…,0.8),基于此,将0.2分别与专家向量中的每个元素相乘,得到加权专家向量可表示为(0.1,0.8,…,0.16)。
假设128维的活跃度权重向量为(0.2,0.7,…,0.1),专家向量为(0.5,0.4,…,0.8),基于此,将活跃度权重向量的每个元素分别与专家向量中对应位置的每个元素相乘,得到加权专家向量可表示为(0.1,0.28,…,0.08)。
其次,本申请实施例中,提供了一种基于一层或多层MLP实现活跃度加权方式。通过上述方式,为了充分挖掘不同活跃度对象的数据分布差异,可基于活跃度特征学习活跃度门控网络,使用活跃度门控网络的输出为每个专家网络进行加权,从而有效地强化了对象活跃度相关的个性化特征,缓解了模型被高活跃度对象主导的现象。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量,具体可以包括:
基于N个专家向量和活跃度特征向量,通过活跃度门控网络获取活跃度权重向量,其中,活跃度门控网络为采用注意力机制的网络,活跃度权重向量包括N个权重值;
针对每个任务网络,采用活跃度权重向量对N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量,具体可以包括:
针对每个任务网络,采用活跃度权重向量中的每个权重值,对N个专家向量中对应的各个专家向量进行元素相乘,得到N个加权专家向量。
在一个或多个实施例中,介绍了一种基于注意力机制网络实现活跃度加权方式。由前述实施例可知,活跃度门控网络可采用注意力机制网络。在得到N个专家向量之后,可将N个专家向量和活跃度特征向量共同输入至注意力机制网络,通过注意力机制网络输出活跃度权重向量。其中,活跃度权重向量包括N个权重值,每个权重值作用于一个对应的专家向量。下面将以一个任务网络为例进行介绍,其他任务网络也采用类似方式进行处理,故此处不做赘述。
具体地,为了便于理解,请参阅图11,图11为本申请实施例中基于活跃度门控网络实现特征加权的另一个示意图,如图所示,图中以一个任务网络包括3个专家网络(即,N=3)为例进行介绍。与此同时,将活跃度特征向量作为查询(query,Q),N个专家向量作为键(key,K)和值(value,V)。首先,将Q与KT(即,K的转置)进行矩阵相乘(matmul),生成相似度矩阵。然后将相似度矩阵除以表示K的维度。再采用指数归一化(softmax)函数进行归一化,从而得到活跃度权重向量,其中,活跃度权重向量包括N个权重值。再将活跃度权重向量与V进行加权求和,即,采用活跃度权重向量中的每个权重值,对各个专家向量进行元素相乘,得到N个加权专家向量。例如,活跃度权重向量中的第一个元素为0.2,专家向量1为(0.5,0.4,…,0.8),由此,将0.2分别与专家向量1中的每个元素相乘,得到加权专家向量1可表示为(0.1,0.8,…,0.16)。
基于此,可采用如下方式计算N个加权专家向量:
其次,本申请实施例中,提供了一种基于注意力机制网络实现活跃度加权方式。通过上述方式,对于维度较多的特征向量而言,能够强化重要的特征,为每个专家网络进行加权,从而有效地强化对象活跃度相关的个性化特征,缓解模型被高活跃度对象主导的现象。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量之后,还可以包括:
针对每个任务网络,从活跃度权重向量中确定最大的P个权重值,其中,活跃度权重向量包括N个权重值,每个权重值对应于一个专家网络,N>P≥1,且,P为整数;
针对每个任务网络,根据P个权重值从N个专家网络中确定对应的P个专家网络;
针对每个任务网络,采用活跃度权重向量对N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量,具体可以包括:
针对每个任务网络,采用P个权重值中的每个权重值,对P个专家向量中对应的各个专家向量进行元素相乘,得到P个加权专家向量,其中,P个专家向量为P个专家网络的输出结果。
在一个或多个实施例中,介绍了一种基于稀疏门控网络实现活跃度加权方式。由前述实施例可知,活跃度门控网络可采用稀疏门控网络,其中,稀疏门控网络可以是MLP。在得到N个专家向量之后,可将活跃度特征向量输入至稀疏门控网络,通过稀疏门控网络输出活跃度权重向量。其中,活跃度权重向量包括N个权重值,每个权重值表示一个专家网络的重要程度。通常,权重值越高,表示对应的专家网络越重要。下面将以一个任务网络为例进行介绍,其他任务网络也采用类似方式进行处理,故此处不做赘述。
具体地,为了便于理解,请参阅图12,图12为本申请实施例中基于活跃度门控网络实现特征加权的另一个示意图,如图所示,图中以一个任务网络包括3个专家网络(即,N=3)为例进行介绍。将活跃度特征向量作为活跃度门控网络的输入,通过活跃度门控网络输出N维的活跃度权重向量。假设活跃度权重向量为(0.2,0.7,0.1),其中,“0.2”对应于专家网络1,“0.7”对应于专家网络2,“0.1”对应于专家网络3。以P=1为例,即,从活跃度权重向量中确定最大的一个权重值,即,“0.7”。于是,根据该权重值从N个专家网络中确定对应的专家网络2,并采用该权重值对专家向量2进行元素相乘,得到相应的加权专家向量2。
需要说明的是,P可以取其他值,且,采用类似方式计算P个权重值与对应P个专家向量之间的点乘结果,从而得到P个加权专家向量。
其次,本申请实施例中,提供了一种基于稀疏门控网络实现活跃度加权方式。通过上述方式,考虑到一个任务网络可能包括较多的专家网络,因此,基于稀疏门控网络输出的活跃度权重向量,可进一步选择对哪些专家网络输出的专家向量进行加权,由此,能够节省计算量,提高模型容量,计算速度快。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,K>1,且,N个专家网络包括共享专家网络和独享专家网络,每个任务网络还包括任务门控网络;
针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值,具体可以包括:
针对每个任务网络,基于综合特征向量,通过任务门控网络获取任务特征向量;
针对每个任务网络,采用任务特征向量与至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
在一个或多个实施例中,提供了一种基于渐进分层提取(progressive layeredextraction,PLE)架构的深度学习模型。由前述实施例可知,基于PLE的多目标排序框架,使用多类对象的历史行为长度作为活跃度特征,引入了不同群体的个性化差异。同时基于特征加权网络对特征输入进行重要度选择,增强有效信息,过滤无效噪音。为了进一步加强活跃度特征的作用,进一步引入活跃度门控网络,大大提升了不同活跃度群体的线上推荐精度和效率,用户体验得以提升。
可以理解的是,基于PLE的多目标排序框架还引入了每个任务所对应的任务门控网络。示例性地,任务门控网络可采用一层或多层MLP。即,可将综合特征向量输入至MLP,通过MLP输出任务特征向量。再采用任务特征向量对每个加权专家向量进行加权。示例性地,任务门控网络可采用注意力机制网络。即,可将综合特征向量以及各个加权专家向量输入至注意力机制网络,通过注意力机制网络输出任务特征向量。再采用任务特征向量对每个加权专家向量进行加权。示例性地,任务门控网络可采用稀疏门控网络。即,可将综合特征向量输入至稀疏门控网络,通过稀疏门控网络输出任务特征向量。可采用任务特征向量对若干个加权专家向量进行加权。
具体地,为了便于理解,请参阅图13,图13为本申请实施例中深度学习模型的一个结构示意图,如图所示,N个专家网络包括共享专家网络和独享专家网络,例如,包括2个独享专家网络和1个共享专家网络。在一个任务网络中,将综合特征向量作为任务门控网络1的输入,以得到任务特征向量1。经过独享专家网络1和共享专家网络可得到2个专家向量,再使用活跃度权重向量对这2个专家向量分别进行加权计算,得到2个加权专家向量。基于此,将任务特征向量1与这2个加权专家向量进行元素相乘,得到目标特征向量1。最后,将目标特征向量1作为预测网络1的输入,以得到任务分值1。
类似地,在另一个任务网络中,将综合特征向量作为任务门控网络2的输入,以得到任务特征向量2。经过独享专家网络2和共享专家网络可得到2个专家向量,再使用活跃度权重向量对这2个专家向量分别进行加权计算,得到2个加权专家向量。基于此,将任务特征向量2与这2个加权专家向量进行元素相乘,得到目标特征向量2。最后,将目标特征向量2作为预测网络2的输入,以得到任务分值2。
可以理解的是,在图13所示的框架中,假设加权专家向量为128维,则任务特征向量可以为2维或128*2维,此处不做限定。
其次,本申请实施例中,提供了一种基于PLE的深度学习模型。通过上述方式,以PLE多目标排序模型为基础,在此之上加入了特征加权网络和活跃度门控网络。为了同时建模多个目标,可选用PLE模型作为基础模型,PLE模型包括多个目标的共享专家网络,也给不同目标提供了其独有的独享专家网络,有效地缓解了不同目标之间可能出现此消彼长的“跷跷板”效应。此外,门控机制不仅作用在共享专家网络上,也作用在各目标独有的独享专家网络上,有效帮助每个目标学习不同的活跃度权重。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,K>1,且,N个专家网络为N个共享专家网络,每个任务网络还包括任务门控网络;
针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值,具体可以包括:
针对每个任务网络,基于综合特征向量,通过任务门控网络获取任务特征向量;
针对每个任务网络,采用任务特征向量与至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
在一个或多个实施例中,介绍了一种基于多门混合专家(multi-gate mixture-of-experts,MMoE)架构的深度学习模型。由前述实施例可知,基于MMoE的多目标排序框架,使用多类对象的历史行为长度作为活跃度特征,引入了不同群体的个性化差异。同时基于特征加权网络对特征输入进行重要度选择,增强有效信息,过滤无效噪音。为了进一步加强活跃度特征的作用,进一步引入活跃度门控网络,大大提升了不同活跃度群体的线上推荐精度和效率,用户体验得以提升。
可以理解的是,基于MMoE的多目标排序框架还引入了每个任务所对应的任务门控网络。示例性地,任务门控网络可采用一层或多层MLP,或,注意力机制网络,或,稀疏门控网络,此处不做限定。
具体地,为了便于理解,请参阅图14,图14为本申请实施例中深度学习模型的另一个结构示意图,如图所示,N个专家网络均属于共享专家网络,例如,包括3个共享专家网络。在一个任务网络中,将综合特征向量作为任务门控网络1的输入,以得到任务特征向量1。经过3个共享专家网络可得到3个专家向量,再使用活跃度权重向量对这3个专家向量分别进行加权计算,得到3个加权专家向量。基于此,将任务特征向量1与这3个加权专家向量进行元素相乘,得到目标特征向量1。最后,将目标特征向量1作为预测网络1的输入,以得到任务分值1。
类似地,在另一个任务网络中,将综合特征向量作为任务门控网络2的输入,以得到任务特征向量2。经过3个共享专家网络可得到3个专家向量,再使用活跃度权重向量对这3个专家向量分别进行加权计算,得到3个加权专家向量。基于此,将任务特征向量2与这3个加权专家向量进行元素相乘,得到目标特征向量2。最后,将目标特征向量2作为预测网络2的输入,以得到任务分值2。
可以理解的是,在图14所示的框架中,假设加权专家向量为128维,则任务特征向量可以为3维或128*3维,此处不做限定。
其次,本申请实施例中,提供了一种基于MMoE的深度学习模型。通过上述方式,以MMoE多目标排序模型为基础,在此之上加入了特征加权网络和活跃度门控网络。为了同时建模多个目标,可选用MMoE模型作为基础模型,MMoE模型包括多个目标的共享专家网络,用于学习子任务之间的相关性,从而有利于提升预测的准确度。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,K>1,且,N个专家网络为N个共享专家网络;
针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值,具体可以包括:
针对每个任务网络,通过矩阵集合对至少一个加权专家向量进行矩阵变换,得到目标特征向量,其中,矩阵集合包括转换矩阵或者单位矩阵;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
在一个或多个实施例中,介绍了一种基于子网路由(sub-network routing,SNR)的深度学习模型。由前述实施例可知,基于SNR的多目标排序框架,使用多类对象的历史行为长度作为活跃度特征,引入了不同群体的个性化差异。同时基于特征加权网络对特征输入进行重要度选择,增强有效信息,过滤无效噪音。为了进一步加强活跃度特征的作用,进一步引入活跃度门控网络,大大提升了不同活跃度群体的线上推荐精度和效率,用户体验得以提升。
具体地,为了便于理解,请参阅图15,图15为本申请实施例中深度学习模型的另一个结构示意图,如图所示,N个专家网络均属于共享专家网络,例如,包括3个共享专家网络。经过3个共享专家网络可得到3个专家向量再使用活跃度权重向量对这3个专家向量分别进行加权计算,得到3个加权专家向量(分别为加权专家向量1、加权专家向量2和加权专家向量3)。基于此,可通过矩阵集合对3个加权专家向量进行矩阵变换,以得到2个目标特征向量(分别为目标特征向量1和目标特征向量2)。最后,将目标特征向量1作为预测网络1的输入,以得到任务分值1,并将目标特征向量2作为预测网络2的输入,以得到任务分值2。下面将结合式子介绍两种转换方式。
(1)可采用如下方式计算目标特征向量:
其中,V1表示目标特征向量1,V2表示目标特征向量2。U1表示加权专家向量1,U2表示加权专家向量2,U3表示加权专家向量3。Wij表示Uj和Vi的转换矩阵。Zij表示二进制编码变量,即为0或1,通过置0舍弃某个共享专家网络,通过置1选择某个共享专家网络。
(2)可采用如下方式计算目标特征向量:
其中,V1表示目标特征向量1,V2表示目标特征向量2。U1表示加权专家向量1,U2表示加权专家向量2,U3表示加权专家向量3。Iij表示Uj和Vi的单位矩阵。Zij表示二进制编码变量,即为0或1,通过置0舍弃某个共享专家网络,通过置1选择某个共享专家网络。
需要说明的是,本申请提供的深度学习模型除了可采用PLE,MMoE或SNR作为基础模型,还可以采用多级稀疏共享模型(Multiple-level Sparse Sharing Model,MSSM)等作为基础模型,此处不做穷举。
其次,本申请实施例中,提供了一种基于SNR的深度学习模型。通过上述方式,以SNR多目标排序模型为基础,在此之上加入了特征加权网络和活跃度门控网络。为了同时建模多个目标,可选用SNR模型作为基础模型,SNR模型包括多个目标的共享专家网络,用于学习子任务之间的相关性。此外,SNR模型可实现更灵活的参数共享,同时保持经典多任务模型的计算优势,将共享的低级隐藏层模块化为多层子网络,并控制子网络与可学习的潜在变量的连接,以实现灵活的参数共享。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值之后,还可以包括:
根据K个任务分值,确定候选内容的排序分值;
获取其他候选内容中各个候选内容的排序分值,其中,其他候选内容来源于推荐对象的候选内容集合;
根据候选内容的排序分值和其他候选内容中各个候选内容的排序分值,确定候选内容的分值排序结果;
若候选内容的分值排序结果在推荐排序范围内,则确定候选内容属于待推送的内容。
在一个或多个实施例中,介绍了一种判定是否满足内容推送条件的方式。由前述实施例可知,每个任务网络可预测得到一个任务分值,因此,对于推荐对象而言,可获取针对每个候选内容的排序分值。与此同时,还需要获取候选内容集合中其他候选内容中的排序分值,基于此,对这些排序分值进行排序,从而得到各个候选内容的分值排序结果,通常情况下,排序分值越大,分值排序结果越靠前。示例性地,假设某个候选内容(例如,候选内容A)的分值排序结果为整体排序的第五位,而推荐排序范围为第一位至第十位,那么该个候选内容(例如,候选内容A)属于待推送的内容。
深度学习模型经过大量样本训练之后,模型参数能够很好地拟合不同对象群体的数据,由此,可将深度学习模型导出并应用于线上服务。本申请提供的深度学习模型主要适用于推荐系统的精排阶段。为了便于理解,请参阅图16,图16为本申请实施例中应用深度学习模型的一个流程示意图,如图所示,具体地:
在步骤B1中,推荐系统接收推荐对象通过终端触发内容推荐请求,内容推荐请求可携带对象标识。基于此,推荐系统基于对象标识可提取对象相关数据。
在步骤B2中,根据推荐对象的对象相关数据,从海量内容中快速召回一部分推荐对象潜在感兴趣的候选内容。召回的特点是速度较快。
在步骤B3中,通过对象数据和候选内容数据,对召回的候选内容进行粗略排序,保证一定精准的前提下,进一步减少选取的候选内容数量。粗排过程可根据场景选择是否使用,目的是防止召回环节返回的候选内容数量还是太多,导致排序环节速度跟不上,所以可在召回阶段和精排阶段之间加入一个粗排阶段。
在步骤B4中,对于粗排返回的每一个候选内容,线上拉取当前请求推荐对象的相关数据并进行拼接。基于此,可将拼接后的特征向量作为深度学习模型的输入,通过深度学习模型对粗排后的每个候选内容进行打分,从而得到每个候选内容的排序分值。
在步骤B5中,按照排序分值从高到低的顺序,对所有候选内容进行重新排序。
在步骤B6中,将推送排序靠前(或,排名第一)的候选内容作为待推送的内容。
需要说明的是,本申请提供的深度学习模型不仅可应用于即时通讯APP的推荐场景,还可应用于直播APP的推荐场景,问答类APP的推荐场景以及视频号的推荐场景等。
其次,本申请实施例中,提供了一种判定是否满足内容推送条件的方式。通过上述方式,按照各个候选内容的分值排序结果,优先向推荐对象推送排序更靠前的候选内容,从而提升内容推荐的准确率。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据K个任务分值,确定候选内容的排序分值,具体可以包括:
若K=1,则将K个任务分值作为候选内容的排序分值;
若K>1,则根据K个任务分值和K个任务分值中每个任务分值的任务权重,计算得到候选内容的排序分值。
在一个或多个实施例中,介绍了一种计算候选内容排序分值的方式。由前述实施例可知,深度学习模型包括K个任务网络,每个任务网络用于输出一个任务分值。基于此,如果K=1,则任务分值即为候选内容的排序分值。
具体地,如果K>1,则一种情况下,可根据K个任务分值重,计算得到候选内容的排序分值。另一种情况下,可根据K个任务分值和K个任务分值中每个任务分值的任务权重,计算得到候选内容的排序分值。
再次,本申请实施例中,提供了一种计算候选内容排序分值的方式。通过上述方式,按照业务场景设置一个或多个任务类型,再结合各个任务类型所对应的任务分值计算得到排序分值,以此作为评价候选内容是否适合推荐的依据,从而增加方案的适应性和灵活性。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,K个任务分值包括时长分值、互动分值、完播率分值和快滑率分值;
根据K个任务分值和K个任务分值中每个任务分值的任务权重,计算得到候选内容的排序分值,具体可以包括:
采用时长权重对时长分值进行加权,得到第一分值;
采用互动权重对互动分值进行加权,得到第二分值;
采用完播率权重对完播率分值进行加权,得到第三分值;
采用快滑率权重对快滑率分值进行加权,得到第四分值;
根据第一分值、第二分值、第三分值和第四分值,计算得到候选内容的排序分值,其中,候选内容的排序分值与时长分值、互动分值和完播率分值呈正相关,且,候选内容的排序分值与快滑率分值呈负相关。
在一个或多个实施例中,介绍了一种基于四类任务实现内容推送的方式。由前述实施例可知,K个任务可包括时长任务、互动任务、完播率任务和快滑率任务,基于此,深度学习模型输出的K个任务分值包括时长分值、互动分值、完播率分值和快滑率分值。K个预测网络分别为时长预测网络、互动预测网络、完播率预测网络和快滑率预测网络。
具体地,为了便于理解,请参阅图17,图17为本申请实施例中多任务深度学习模型的一个结构示意图,如图所示,以时长任务为例,将任务门控网络1输出的任务特征向量1,与独享专家网络1对应的加权专家向量和与共享专家网络对应的加权专家向量3进行元素点乘,得到目标特征向量1。将目标特征向量1作为时长预测网络的输入,通过时长预测网络输出时长分值。
需要说明的是,其他任务采用类似方式预测得到对应的任务分值,此处不做赘述。
示例性地,可采用如下方式计算候选内容的排序分值:
Stotal=w1*S1+w2*S2+w3*S3+w4*(1-S4); 式(8)
其中,Stotal表示候选内容的排序分值。w1表示时长权重(例如,0.7)。S1表示时长分值,w1*S1表示第一分值。w2表示互动权重(例如,0.8)。S2表示互动分值,w2*S2表示第二分值。w3表示完播率权重(例如,0.3)。S3表示完播率分值,w3*S3表示第三分值。w4表示快滑率权重(例如,0.5)。S4表示快滑率分值,w4*S4表示第四分值。
可见,时长分值、互动分值或完播率分值越大,候选内容的排序分值越高。而快滑率分值越大,候选内容的排序分值越低。
进一步地,本申请实施例中,提供了一种基于四类任务实现内容推送的方式。通过上述方式,从满意率、互动率、完播率以及快滑率的角度共同预测内容的推荐情况,从而提升预测的准确度,并且能够适用于具体的业务。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
获取待训练数据集合,其中,每个待训练数据包括样本对象的对象数据、样本内容的内容数据和K个任务标签;
针对每个待训练数据,对样本对象的对象数据和样本内容的内容数据进行特征化处理,得到待训练数据的样本特征向量,其中,样本特征向量包括综合样本特征向量和活跃度样本特征向量;
基于每个待训练数据的样本特征向量,通过深度学习模型获取每个待训练数据的K个预测分值;
根据每个待训练数据的K个预测分值和对应的K个任务标签,确定总损失结果;
根据总损失结果对深度学习模型的模型参数进行更新。
在一个或多个实施例中,介绍了一种深度学习模型的训练方式。由前述实施例可知,深度学习模型在上线服务之前,需要使用大量的待训练数据对深度学习模型进行训练,使得模型参数能够学习得足够充分,从而拟合待训练数据的数据分布。
具体地,为了便于理解,请参阅图18,图18为本申请实施例中训练深度学习模型的一个流程示意图,如图所示,模型训练大致分为四个步骤,下面将分别进行介绍。
在步骤C1中,进行数据提取,得到样本对象的对象数据以及样本内容的内容数据。即,根据线上系统的埋点服务,提取出样本对象的历史行为日志,主要包括内容观看相关的各种行为。
在步骤C2中,对提取到的样本数据进行预处理,即,得到预备的样本数据之后,还需对样本数据进行空值填充(即,进行均值填充、异常样本剔除(即,剔除高于或低于某些阈值的特征值)、异常特征值矫正(即,按照经验对高于或低于某些阈值的特征值进行修正)、权重设置(即,根据业务需求和正负样本比例,例如,点赞正样本非常少,为了保证训练效果,会对点赞正样本加权1到2倍)等处理,从而得到有效的样本数据。
在步骤C3中,基于有效的样本数据构造样本,即,进行特征构造和标签构造。对于特征构造,通过特征上报系统,提取出模型训练所需要的样本特征向量,包括前述实施例中提到的综合样本特征向量和活跃度样本特征向量。对于标签构造,包含但不仅限于了时长任务标签、互动任务标签、完播率任务标签和快滑率任务标签。通过将特征和标签数据的拼接,可以得到大量的待训练数据。
示例性地,观看时长大于或等于时长阈值(例如,3分钟)时,可将时长任务标签设置为“1”,反之,则将时长任务标签设置为“0”。示例性地,样本对象对样本内容进行过互动(例如,点赞或评论等)时,可将互动任务标签设置为“1”,反之,则将互动任务标签设置为“0”。示例性地,样本对象完整播放完样本内容时,可将完播率任务标签设置为“1”,反之,则将完播率任务标签设置为“0”。示例性地,样本对象观看样本内容的时间小于时长阈值(例如,5秒)时,可将快滑率任务标签设置为“1”,反之,则将快滑率任务标签设置为“0”。
在步骤C4中,训练模型,即,在得到有效的待训练数据之后,将待训练数据的样本特征向量输入至深度学习模型中进行充分训练,训练过程中需要设置模型的损失函数。通过深度学习模型输出待训练数据的K个预测分值。利用损失函数计算K个预测分值与对于K个任务标签的总损失结果,最后,使用自适应矩估计(Adam)优化器进行最优值求解。
在步骤C5中,输出训练好的深度学习模型。
其次,本申请实施例中,提供了一种深度学习模型的训练方式。通过上述方式,在模型训练过程中无需根据对象活跃度进行阈值划分,可直接使用归一化后的特征值进行模型训练,避免了因阈值选择不当对模型产生的负面影响。此外,在同一建模的基础上,显式地引入了对象活跃度进行建模,从而兼顾不同活跃度对象群体的数据分布差异,使用与统一建模方式等量的机器资源即可服务线上推理,从而有效地提升推荐系统的精度和效率。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据每个待训练数据的K个预测分值和对应的K个任务标签,确定总损失结果,具体可以包括:
针对K个任务中的每个任务,根据每个待训练数据的预测分值和对应的任务标签,采用第一损失函数计算得到任务损失结果;
若K=1,则将任务损失结果作为总损失结果;
若K>1,则对每个任务的任务损失结果进行求和,得到总损失结果;
或者,
根据每个待训练数据的K个预测分值和对应的K个任务标签,确定总损失结果,具体可以包括:
针对K个任务中的每个任务,根据每个待训练数据的样本权重、对应的预测分值和对应的任务标签,采用第二损失函数计算得到任务损失结果,其中,样本权重与样本对象对样本内容产生的历史行为数据相关;
若K=1,则将任务损失结果作为总损失结果;
若K>1,则对每个任务的任务损失结果进行求和,得到总损失结果。
在一个或多个实施例中,介绍了两种基于损失函数训练深度学习模型的方式。由前述实施例可知,如果仅有一个任务,则该任务对应的任务损失结果即为总损失结果。如果有多个任务,则对每个任务分别计算其对应的任务损失结果,再对每个任务的任务损失结果进行求和,得到总损失结果。
具体地,在得到有效的待训练数据之后,可将待训练数据输入至深度学习模型进行充分训练,训练过程中需要设置模型的损失函数。例如,可采用交叉熵损失函数(crossentropy loss)作为第一损失函数对模型进行训练,或者,可采用加权交叉熵损失函数(weighted cross entropy loss)作为第二损失函数对模型进行训练。
示例性地,可采用第一损失函数计算任务损失结果:
示例性地,可采用第二损失函数计算任务损失结果:
其中,L表示任务所对应的任务损失结果。M是样本总数量。wi表示第i个待训练数据的样本权重。yi表示第i个待训练数据针对该任务的任务标签。表示第i个待训练数据针对该任务的预测分值。可以理解的是,待训练数据的样本权重与样本对象对样本内容产生的历史行为数据相关。假设初始情况下样本内容的样本权重为“1”,当样本对象点击、点赞、评论、关注或转发时可增加样本权重。例如,样本对象点击并点赞了某个样本内容,则该样本内容的样本权重为“3”。
再次,本申请实施例中,提供了两种基于损失函数训练深度学习模型的方式。通过上述方式,采用加权交叉熵损失函数对模型进行训练,有利于强化对象活跃度对模型预测准确性的影响。
本申请提供的方法已在沉浸式视频业务中实验测试,对比传统方法,本申请的离线指标提升显著,即,显著提升了曲线下面积(area under curve,AUC)。小流量测试发现,对比传统方法,本申请的在线指标也大幅提升,即:
(1)视频业务整体指标:内容点赞人数提升1.84%,分享人数提升3.65%,关注人数提升3.09%,视频播放观看(video view,VV)提升1.05%。
(2)视频低活跃度对象群体指标:内容点赞人数提升2.31%,分享人数提升4.67%,关注人数提升4.80%,视频VV提升2.27%。
可见,本申请不仅对业务整体重要指标有明显提升,还对于低活跃度对象群体指标有着更为显著的提升,这也说明了本申请充分挖掘了不同群体的数据分布差异,提高了推荐的精度、日活跃用户数量(daily active user,DAU)、消费时长、VV和互动类等关键指标,从而提升了用户体验。
下面对本申请中的基于深度学习模型的内容推荐装置进行详细描述,请参阅图19,基于深度学习模型的内容推荐装置30包括:
获取模块310,用于响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,其中,综合特征向量包括推荐对象的特征向量和候选内容的特征向量,活跃度特征向量表征推荐对象在历史时段内的活跃情况;
获取模块310,还用于针对每个任务网络,基于综合特征向量,通过N个专家网络获取N个专家向量;
获取模块310,还用于基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量;
获取模块310,还用于针对每个任务网络,采用活跃度权重向量对N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量;
获取模块310,还用于针对每个任务网络,基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值;
推荐模块320,用于若根据K个任务分值确定候选内容属于待推送的内容,则向推荐对象推送候选内容,其中,K个任务分值为K个任务网络的输出结果。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,使用对象的历史行为数据构建其对应的活跃度特征向量作为活跃度门控网络的输入,再利用活跃度门控网络对各个专家网络进行加权,从而使深度学习模型能够更好地学习到不同活跃度对象的数据分布差异,由此,提升推荐系统对于不同活跃度对象的推荐精度和效率。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,
获取模块310,具体用于响应针对推荐对象的内容推荐请求,获取推荐对象的对象数据,其中,对象数据包括对象活跃数据和对象关联数据,对象关联数据包括对象基础数据、对象消费序列数据和对象描述数据中的一项或多项;
从推荐对象所对应的候选内容集合中获取候选内容,其中,候选内容集合包括Q个候选内容,Q≥1,且,Q为整数;
获取候选内容的内容数据,其中,内容数据包括内容基础数据和内容统计数据中的一项或多项;
对对象关联数据和内容数据进行特征化处理,得到综合特征向量;
对对象活跃数据进行特征化处理,得到活跃度特征向量。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,选取了多个用于表示对象的活跃度特征,由此,从时长和互动等多个角度刻画了对象的活跃程度。与此同时,选取了多个用于表示对象和候选内容的其他特征,由此,可在模型训练过程中融入活跃度特征对其他特征的影响。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,深度学习模型还包括特征加权网络;
获取模块310,还用于响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量之后,基于综合特征向量,通过特征加权网络获取目标综合特征向量;
获取模块310,具体用于针对每个任务网络,基于目标综合特征向量,通过N个专家网络获取N个专家向量。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,在深度学习模型中还引入特征加权网络,用于实现特征重要度的选择。针对不同的对象群体,对特征进行加权,减小无效信息噪音,增强重要特征权值,从特征侧加强了不同对象群体的区分。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,
获取模块310,具体用于对综合特征向量中每个特征域的特征向量进行池化处理,得到压缩特征向量,其中,综合特征向量包括T个特征域的特征向量,压缩特征向量包括T个元素,T>1,且T为整数;
基于压缩特征向量,通过激励网络获取特征权重向量,其中,特征权重向量包括T个元素;
采用特征权重向量对T个特征域的特征向量进行元素相乘,得到目标综合特征向量。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,使用SENet可个性化地学习不同特征的重要性,有效过滤掉无效噪声,进而提升深度学习模型的预测准确率。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,特征加权网络包括X个门控网络和X个多层感知机,X≥1,且,X为整数;
获取模块310,具体用于获取已筛选数据所对应的已筛选特征向量,其中,已筛选数据是从对象关联数据和内容数据中筛选得到的数据;
基于已筛选特征向量,通过X个门控网络获取X个门控特征向量,其中,每个门控网络的输入均为已筛选特征向量;
基于综合特征向量和X个门控特征向量,通过X个多层感知机获取目标综合特征向量,其中,每个多层感知机的输入均不相同。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,PPNet通过门控网络来支持MLP网络参数的个性化能力,从而提升对于目标的预估能力。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,
获取模块310,具体用于针对每个任务网络,采用活跃度权重向量中的每个权重值,对N个专家向量中对应的每个专家向量进行元素相乘,得到N个加权专家向量,其中,活跃度权重向量包括N个权重值,或者,活跃度权重向量与专家向量具有相等维度。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,为了充分挖掘不同活跃度对象的数据分布差异,可基于活跃度特征学习活跃度门控网络,使用活跃度门控网络的输出为每个专家网络进行加权,从而有效地强化了对象活跃度相关的个性化特征,缓解了模型被高活跃度对象主导的现象。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,
获取模块310,具体用于基于N个专家向量和活跃度特征向量,通过活跃度门控网络获取活跃度权重向量,其中,活跃度门控网络为采用注意力机制的网络,活跃度权重向量包括N个权重值;
获取模块310,具体用于针对每个任务网络,采用活跃度权重向量中的每个权重值,对N个专家向量中对应的各个专家向量进行元素相乘,得到N个加权专家向量。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,对于维度较多的特征向量而言,能够强化重要的特征,为每个专家网络进行加权,从而有效地强化对象活跃度相关的个性化特征,缓解模型被高活跃度对象主导的现象。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,基于深度学习模型的内容推荐装置30还包括确定模块330;
确定模块330,用于基于活跃度特征向量,通过活跃度门控网络获取活跃度权重向量之后,针对每个任务网络,从活跃度权重向量中确定最大的P个权重值,其中,活跃度权重向量包括N个权重值,每个权重值对应于一个专家网络,N>P≥1,且,P为整数;
针对每个任务网络,根据P个权重值从N个专家网络中确定对应的P个专家网络;
获取模块310,具体用于针对每个任务网络,采用P个权重值中的每个权重值,对P个专家向量中对应的各个专家向量进行元素相乘,得到P个加权专家向量,其中,P个专家向量为P个专家网络的输出结果。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,考虑到一个任务网络可能包括较多的专家网络,因此,基于稀疏门控网络输出的活跃度权重向量,可进一步选择对哪些专家网络输出的专家向量进行加权,由此,能够节省计算量,提高模型容量,计算速度快。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,K>1,且,N个专家网络包括共享专家网络和独享专家网络,每个任务网络还包括任务门控网络;
获取模块310,具体用于针对每个任务网络,基于综合特征向量,通过任务门控网络获取任务特征向量;
针对每个任务网络,采用任务特征向量与至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,以PLE多目标排序模型为基础,在此之上加入了特征加权网络和活跃度门控网络。为了同时建模多个目标,可选用PLE模型作为基础模型,PLE模型包括多个目标的共享专家网络,也给不同目标提供了其独有的独享专家网络,有效地缓解了不同目标之间可能出现此消彼长的“跷跷板”效应。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,K>1,且,N个专家网络为N个共享专家网络,每个任务网络还包括任务门控网络;
获取模块310,具体用于针对每个任务网络,基于综合特征向量,通过任务门控网络获取任务特征向量;
针对每个任务网络,采用任务特征向量与至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,以MMoE多目标排序模型为基础,在此之上加入了特征加权网络和活跃度门控网络。为了同时建模多个目标,可选用MMoE模型作为基础模型,MMoE模型包括多个目标的共享专家网络,用于学习子任务之间的相关性,从而有利于提升预测的准确度。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,K>1,且,N个专家网络为N个共享专家网络;
获取模块310,具体用于针对每个任务网络,通过矩阵集合对至少一个加权专家向量进行矩阵变换,得到目标特征向量,其中,矩阵集合包括转换矩阵或者单位矩阵;
针对每个任务网络,基于目标特征向量,通过预测网络获取候选内容的任务分值。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,以SNR多目标排序模型为基础,在此之上加入了特征加权网络和活跃度门控网络。为了同时建模多个目标,可选用SNR模型作为基础模型,SNR模型包括多个目标的共享专家网络,用于学习子任务之间的相关性。此外,SNR模型可实现更灵活的参数共享,同时保持经典多任务模型的计算优势,将共享的低级隐藏层模块化为多层子网络,并控制子网络与可学习的潜在变量的连接,以实现灵活的参数共享。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,
确定模块330,还用于基于至少一个加权专家向量,通过预测网络获取候选内容的任务分值之后,根据K个任务分值,确定候选内容的排序分值;
获取模块310,还用于获取其他候选内容中各个候选内容的排序分值,其中,其他候选内容来源于推荐对象的候选内容集合;
确定模块330,还用于根据候选内容的排序分值和其他候选内容中各个候选内容的排序分值,确定候选内容的分值排序结果;
确定模块330,还用于若候选内容的分值排序结果在推荐排序范围内,则确定候选内容属于待推送的内容。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,按照各个候选内容的分值排序结果,优先向推荐对象推送排序更靠前的候选内容,从而提升内容推荐的准确率。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,
确定模块330,具体用于若K=1,则将K个任务分值作为候选内容的排序分值;
若K>1,则根据K个任务分值和K个任务分值中每个任务分值的任务权重,计算得到候选内容的排序分值。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,按照业务场景设置一个或多个任务类型,再结合各个任务类型所对应的任务分值计算得到排序分值,以此作为评价候选内容是否适合推荐的依据,从而增加方案的适应性和灵活性。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,K个任务分值包括时长分值、互动分值、完播率分值和快滑率分值;
确定模块330,具体用于采用时长权重对时长分值进行加权,得到第一分值;
采用互动权重对互动分值进行加权,得到第二分值;
采用完播率权重对完播率分值进行加权,得到第三分值;
采用快滑率权重对快滑率分值进行加权,得到第四分值;
根据第一分值、第二分值、第三分值和第四分值,计算得到候选内容的排序分值,其中,候选内容的排序分值与时长分值、互动分值和完播率分值呈正相关,且,候选内容的排序分值与快滑率分值呈负相关。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,从满意率、互动率、完播率以及快滑率的角度共同预测内容的推荐情况,从而提升预测的准确度,并且能够适用于具体的业务。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,基于深度学习模型的内容推荐装置30还包括处理模块340和训练模块350;
获取模块310,还用于获取待训练数据集合,其中,每个待训练数据包括样本对象的对象数据、样本内容的内容数据和K个任务标签;
处理模块340,用于针对每个待训练数据,对样本对象的对象数据和样本内容的内容数据进行特征化处理,得到待训练数据的样本特征向量,其中,样本特征向量包括综合样本特征向量和活跃度样本特征向量;
获取模块310,还用于基于每个待训练数据的样本特征向量,通过深度学习模型获取每个待训练数据的K个预测分值;
确定模块330,还用于根据每个待训练数据的K个预测分值和对应的K个任务标签,确定总损失结果;
训练模块350,用于根据总损失结果对深度学习模型的模型参数进行更新。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,在模型训练过程中无需根据对象活跃度进行阈值划分,可直接使用归一化后的特征值进行模型训练,避免了因阈值选择不当对模型产生的负面影响。此外,在同一建模的基础上,显式地引入了对象活跃度进行建模,从而兼顾不同活跃度对象群体的数据分布差异,使用与统一建模方式等量的机器资源即可服务线上推理,从而有效地提升推荐系统的精度和效率。
可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的于深度学习模型的内容推荐装置30的另一实施例中,
确定模块330,具体用于针对K个任务中的每个任务,根据每个待训练数据的预测分值和对应的任务标签,采用第一损失函数计算得到任务损失结果;
若K=1,则将任务损失结果作为总损失结果;
若K>1,则对每个任务的任务损失结果进行求和,得到总损失结果;
或者,
确定模块330,具体用于针对K个任务中的每个任务,根据每个待训练数据的样本权重、对应的预测分值和对应的任务标签,采用第二损失函数计算得到任务损失结果,其中,样本权重与样本对象对样本内容产生的历史行为数据相关;
若K=1,则将任务损失结果作为总损失结果;
若K>1,则对每个任务的任务损失结果进行求和,得到总损失结果。
本申请实施例中,提供了一种基于深度学习模型的内容推荐装置。采用上述装置,采用加权交叉熵损失函数对模型进行训练,有利于强化对象活跃度对模型预测准确性的影响。
图20是本申请实施例提供的一种计算机设备结构示意图,该计算机设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在计算机设备400上执行存储介质430中的一系列指令操作。
计算机设备400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UniTM,LinuxTM,FreeBSDTM等等。
上述实施例中由计算机设备所执行的步骤可以基于该图20所示的计算机设备结构。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现前述各个实施例描述方法的步骤。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现前述各个实施例描述方法的步骤。
可以理解的是,在本申请的具体实施方式中,涉及到推荐对象的对象数据等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (20)
1.一种基于深度学习模型的内容推荐方法,其特征在于,所述深度学习模型包括活跃度门控网络和K个任务网络,每个任务网络包括N个专家网络和预测网络,K≥1,N≥1,且,所述K与所述N均为整数,所述内容推荐方法包括:
响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,其中,所述综合特征向量包括所述推荐对象的特征向量和候选内容的特征向量,所述活跃度特征向量表征所述推荐对象在历史时段内的活跃情况;
针对所述每个任务网络,基于所述综合特征向量,通过所述N个专家网络获取N个专家向量;
基于所述活跃度特征向量,通过所述活跃度门控网络获取活跃度权重向量;
针对所述每个任务网络,采用所述活跃度权重向量对所述N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量;
针对所述每个任务网络,基于所述至少一个加权专家向量,通过所述预测网络获取所述候选内容的任务分值;
若根据K个任务分值确定所述候选内容属于待推送的内容,则向所述推荐对象推送所述候选内容,其中,所述K个任务分值为所述K个任务网络的输出结果。
2.根据权利要求1所述的内容推荐方法,其特征在于,所述响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,包括:
响应针对推荐对象的内容推荐请求,获取所述推荐对象的对象数据,其中,所述对象数据包括对象活跃数据和对象关联数据,所述对象关联数据包括对象基础数据、对象消费序列数据和对象描述数据中的一项或多项;
从所述推荐对象所对应的候选内容集合中获取候选内容,其中,所述候选内容集合包括Q个候选内容,Q≥1,且,所述Q为整数;
获取所述候选内容的内容数据,其中,所述内容数据包括内容基础数据和内容统计数据中的一项或多项;
对所述对象关联数据和所述内容数据进行特征化处理,得到所述综合特征向量;
对所述对象活跃数据进行特征化处理,得到所述活跃度特征向量。
3.根据权利要求1所述的内容推荐方法,其特征在于,所述深度学习模型还包括特征加权网络;
所述响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量之后,所述方法还包括:
基于所述综合特征向量,通过所述特征加权网络获取目标综合特征向量;
所述针对所述每个任务网络,基于所述综合特征向量,通过所述N个专家网络获取N个专家向量,包括:
针对所述每个任务网络,基于所述目标综合特征向量,通过所述N个专家网络获取N个专家向量。
4.根据权利要求3所述的内容推荐方法,其特征在于,所述基于所述综合特征向量,通过所述特征加权网络获取目标综合特征向量,包括:
对所述综合特征向量中每个特征域的特征向量进行池化处理,得到压缩特征向量,其中,所述综合特征向量包括T个特征域的特征向量,所述压缩特征向量包括T个元素,T>1,且所述T为整数;
基于所述压缩特征向量,通过激励网络获取特征权重向量,其中,所述特征权重向量包括T个元素;
采用所述特征权重向量对所述T个特征域的特征向量进行元素相乘,得到所述目标综合特征向量。
5.根据权利要求1所述的内容推荐方法,其特征在于,所述特征加权网络包括X个门控网络和X个多层感知机,X≥1,且,所述X为整数;
所述基于所述综合特征向量,通过所述特征加权网络获取目标综合特征向量,包括:
获取已筛选数据所对应的已筛选特征向量,其中,所述已筛选数据是从对象关联数据和内容数据中筛选得到的数据;
基于所述已筛选特征向量,通过所述X个门控网络获取X个门控特征向量,其中,每个门控网络的输入均为所述已筛选特征向量;
基于所述综合特征向量和所述X个门控特征向量,通过所述X个多层感知机获取所述目标综合特征向量,其中,每个多层感知机的输入均不相同。
6.根据权利要求1至5中任一项所述的内容推荐方法,其特征在于,所述针对所述每个任务网络,采用所述活跃度权重向量对所述N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量,包括:
针对所述每个任务网络,采用所述活跃度权重向量中的每个权重值,对所述N个专家向量中对应的每个专家向量进行元素相乘,得到N个加权专家向量,其中,所述活跃度权重向量包括N个权重值,或者,所述活跃度权重向量与所述专家向量具有相等维度。
7.根据权利要求1至5中任一项所述的内容推荐方法,其特征在于,所述基于所述活跃度特征向量,通过所述活跃度门控网络获取活跃度权重向量,包括:
基于所述N个专家向量和所述活跃度特征向量,通过所述活跃度门控网络获取所述活跃度权重向量,其中,所述活跃度门控网络为采用注意力机制的网络,所述活跃度权重向量包括N个权重值;
所述针对所述每个任务网络,采用所述活跃度权重向量对所述N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量,包括:
针对所述每个任务网络,采用所述活跃度权重向量中的每个权重值,对所述N个专家向量中对应的各个专家向量进行元素相乘,得到N个加权专家向量。
8.根据权利要求1至5中任一项所述的内容推荐方法,其特征在于,所述基于所述活跃度特征向量,通过所述活跃度门控网络获取活跃度权重向量之后,所述方法还包括:
针对所述每个任务网络,从所述活跃度权重向量中确定最大的P个权重值,其中,所述活跃度权重向量包括N个权重值,每个权重值对应于一个专家网络,N>P≥1,且,所述P为整数;
针对所述每个任务网络,根据所述P个权重值从所述N个专家网络中确定对应的P个专家网络;
所述针对所述每个任务网络,采用所述活跃度权重向量对所述N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量,包括:
针对所述每个任务网络,采用所述P个权重值中的每个权重值,对P个专家向量中对应的各个专家向量进行元素相乘,得到P个加权专家向量,其中,所述P个专家向量为所述P个专家网络的输出结果。
9.根据权利要求1所述的内容推荐方法,其特征在于,K>1,且,所述N个专家网络包括共享专家网络和独享专家网络,所述每个任务网络还包括任务门控网络;
所述针对所述每个任务网络,基于所述至少一个加权专家向量,通过所述预测网络获取所述候选内容的任务分值,包括:
针对所述每个任务网络,基于所述综合特征向量,通过所述任务门控网络获取任务特征向量;
针对所述每个任务网络,采用所述任务特征向量与所述至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对所述每个任务网络,基于所述目标特征向量,通过所述预测网络获取所述候选内容的任务分值。
10.根据权利要求1所述的内容推荐方法,其特征在于,K>1,且,所述N个专家网络为N个共享专家网络,所述每个任务网络还包括任务门控网络;
所述针对所述每个任务网络,基于所述至少一个加权专家向量,通过所述预测网络获取所述候选内容的任务分值,包括:
针对所述每个任务网络,基于所述综合特征向量,通过所述任务门控网络获取任务特征向量;
针对所述每个任务网络,采用所述任务特征向量与所述至少一个加权专家向量进行元素相乘,得到目标特征向量;
针对所述每个任务网络,基于所述目标特征向量,通过所述预测网络获取所述候选内容的任务分值。
11.根据权利要求1所述的内容推荐方法,其特征在于,K>1,且,所述N个专家网络为N个共享专家网络;
所述针对所述每个任务网络,基于所述至少一个加权专家向量,通过所述预测网络获取所述候选内容的任务分值,包括:
针对所述每个任务网络,通过矩阵集合对所述至少一个加权专家向量进行矩阵变换,得到目标特征向量,其中,所述矩阵集合包括转换矩阵或者单位矩阵;
针对所述每个任务网络,基于所述目标特征向量,通过所述预测网络获取所述候选内容的任务分值。
12.根据权利要求1所述的内容推荐方法,其特征在于,所述针对所述每个任务网络,基于所述至少一个加权专家向量,通过所述预测网络获取所述候选内容的任务分值之后,所述方法还包括:
根据所述K个任务分值,确定所述候选内容的排序分值;
获取其他候选内容中各个候选内容的排序分值,其中,所述其他候选内容来源于所述推荐对象的候选内容集合;
根据所述候选内容的排序分值和所述其他候选内容中各个候选内容的排序分值,确定所述候选内容的分值排序结果;
若所述候选内容的分值排序结果在推荐排序范围内,则确定所述候选内容属于待推送的内容。
13.根据权利要求12所述的内容推荐方法,其特征在于,所述根据所述K个任务分值,确定所述候选内容的排序分值,包括:
若K=1,则将所述K个任务分值作为所述候选内容的排序分值;
若K>1,则根据所述K个任务分值和所述K个任务分值中每个任务分值的任务权重,计算得到所述候选内容的排序分值。
14.根据权利要求13所述的内容推荐方法,其特征在于,所述K个任务分值包括时长分值、互动分值、完播率分值和快滑率分值;
所述根据所述K个任务分值和所述K个任务分值中每个任务分值的任务权重,计算得到所述候选内容的排序分值,包括:
采用时长权重对所述时长分值进行加权,得到第一分值;
采用互动权重对所述互动分值进行加权,得到第二分值;
采用完播率权重对所述完播率分值进行加权,得到第三分值;
采用快滑率权重对所述快滑率分值进行加权,得到第四分值;
根据所述第一分值、所述第二分值、所述第三分值和所述第四分值,计算得到所述候选内容的排序分值,其中,所述候选内容的排序分值与所述时长分值、所述互动分值和所述完播率分值呈正相关,且,所述候选内容的排序分值与所述快滑率分值呈负相关。
15.根据权利要求1至14中任一项所述的内容推荐方法,其特征在于,所述方法还包括:
获取待训练数据集合,其中,每个待训练数据包括样本对象的对象数据、样本内容的内容数据和K个任务标签;
针对所述每个待训练数据,对所述样本对象的对象数据和样本内容的内容数据进行特征化处理,得到待训练数据的样本特征向量,其中,所述样本特征向量包括综合样本特征向量和活跃度样本特征向量;
基于所述每个待训练数据的样本特征向量,通过所述深度学习模型获取所述每个待训练数据的K个预测分值;
根据所述每个待训练数据的K个预测分值和对应的所述K个任务标签,确定总损失结果;
根据所述总损失结果对所述深度学习模型的模型参数进行更新。
16.根据权利要求15所述的内容推荐方法,其特征在于,所述根据所述每个待训练数据的K个预测分值和对应的所述K个任务标签,确定总损失结果,包括:
针对K个任务中的每个任务,根据所述每个待训练数据的预测分值和对应的任务标签,采用第一损失函数计算得到任务损失结果;
若K=1,则将所述任务损失结果作为所述总损失结果;
若K>1,则对所述每个任务的任务损失结果进行求和,得到所述总损失结果;
或者,
所述根据所述每个待训练数据的K个预测分值和对应的所述K个任务标签,确定总损失结果,包括:
针对K个任务中的每个任务,根据所述每个待训练数据的样本权重、对应的预测分值和对应的任务标签,采用第二损失函数计算得到任务损失结果,其中,所述样本权重与所述样本对象对所述样本内容产生的历史行为数据相关;
若K=1,则将所述任务损失结果作为所述总损失结果;
若K>1,则对所述每个任务的任务损失结果进行求和,得到所述总损失结果。
17.一种基于深度学习模型的内容推荐装置,其特征在于,所述深度学习模型包括活跃度门控网络和K个任务网络,每个任务网络包括N个专家网络和预测网络,K≥1,N≥1,且,所述K与所述N均为整数,所述内容推荐装置包括:
获取模块,用于响应针对推荐对象的内容推荐请求,获取综合特征向量和活跃度特征向量,其中,所述综合特征向量包括所述推荐对象的特征向量和候选内容的特征向量,所述活跃度特征向量表征所述推荐对象在历史时段内的活跃情况;
所述获取模块,还用于针对所述每个任务网络,基于所述综合特征向量,通过所述N个专家网络获取N个专家向量;
所述获取模块,还用于基于所述活跃度特征向量,通过所述活跃度门控网络获取活跃度权重向量;
所述获取模块,还用于针对所述每个任务网络,采用所述活跃度权重向量对所述N个专家向量中的至少一个专家向量进行元素相乘,得到至少一个加权专家向量;
所述获取模块,还用于针对所述每个任务网络,基于所述至少一个加权专家向量,通过所述预测网络获取所述候选内容的任务分值;
推荐模块,用于若根据K个任务分值确定所述候选内容属于待推送的内容,则向所述推荐对象推送所述候选内容,其中,所述K个任务分值为所述K个任务网络的输出结果。
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述的内容推荐方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述的内容推荐方法的步骤。
20.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至16中任一项所述的内容推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210867581.3A CN115203568A (zh) | 2022-07-21 | 2022-07-21 | 一种基于深度学习模型的内容推荐方法、相关装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210867581.3A CN115203568A (zh) | 2022-07-21 | 2022-07-21 | 一种基于深度学习模型的内容推荐方法、相关装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203568A true CN115203568A (zh) | 2022-10-18 |
Family
ID=83585030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210867581.3A Pending CN115203568A (zh) | 2022-07-21 | 2022-07-21 | 一种基于深度学习模型的内容推荐方法、相关装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203568A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115774816A (zh) * | 2023-02-10 | 2023-03-10 | 成都萌想科技有限责任公司 | 基于用户价值的内容淘汰方法、系统、设备及存储介质 |
-
2022
- 2022-07-21 CN CN202210867581.3A patent/CN115203568A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115774816A (zh) * | 2023-02-10 | 2023-03-10 | 成都萌想科技有限责任公司 | 基于用户价值的内容淘汰方法、系统、设备及存储介质 |
CN115774816B (zh) * | 2023-02-10 | 2023-04-11 | 成都萌想科技有限责任公司 | 基于用户价值的内容淘汰方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368210B (zh) | 基于人工智能的信息推荐方法、装置以及电子设备 | |
CN111177575B (zh) | 一种内容推荐方法、装置、电子设备和存储介质 | |
WO2021159776A1 (zh) | 基于人工智能的推荐方法、装置、电子设备及存储介质 | |
CN111008332B (zh) | 内容项推荐方法、装置、服务器以及存储介质 | |
CN111931062A (zh) | 一种信息推荐模型的训练方法和相关装置 | |
CN110532996A (zh) | 视频分类的方法、信息处理的方法以及服务器 | |
CN110503531A (zh) | 时序感知的动态社交场景推荐方法 | |
CN113254792B (zh) | 训练推荐概率预测模型的方法、推荐概率预测方法及装置 | |
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN115438787A (zh) | 行为预测系统的训练方法及装置 | |
CN116049536A (zh) | 一种推荐方法及相关装置 | |
CN115203568A (zh) | 一种基于深度学习模型的内容推荐方法、相关装置及设备 | |
CN112269943B (zh) | 一种信息推荐系统及方法 | |
CN115730125A (zh) | 对象识别方法、装置、计算机设备和存储介质 | |
CN112148994B (zh) | 信息推送效果评估方法、装置、电子设备及存储介质 | |
CN115131052A (zh) | 一种数据处理方法、计算机设备和存储介质 | |
CN113836390A (zh) | 资源推荐方法、装置、计算机设备及存储介质 | |
CN116910357A (zh) | 一种数据处理方法及相关装置 | |
CN115618079A (zh) | 会话推荐方法、装置、电子设备及存储介质 | |
CN115878839A (zh) | 一种视频推荐方法、装置、计算机设备和计算机程序产品 | |
CN115482021A (zh) | 多媒体信息推荐方法、装置、电子设备及存储介质 | |
CN113946753A (zh) | 基于位置围栏的服务推荐方法、装置、设备及存储介质 | |
CN115858911A (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
CN111860870A (zh) | 交互行为确定模型的训练方法、装置、设备及介质 | |
Kim et al. | Predicting Revenues of Seoul Commercial Alley using Neural Tensor Factorization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075323 Country of ref document: HK |