一种基于深度学习的多目标优化推荐方法



1.本发明属于推荐系统排序算法技术领域,涉及一种基于深度学习的多目标优化推荐方法。


背景技术:



2.随着大数据时代的到来和智能设备的快速发展,个性化推荐在各个应用上都发挥着重要的作用。推荐系统常常使用以用户的点击为目标的预估模型,没有足够考虑用户点击后产生的行为,从而让用户陷入越来越小的兴趣网络中,降低用户的参与度和满意度,导致推荐生态系统不均衡发展,使得企业利益下降。因此,应用多任务学习来同时模拟用户满意度和参与度从而进行多目标优化已经成为一种趋势。例如在视频推荐中,若只考虑点击转化率,则会倾向推荐包含标题党、擦边海报的视频;只考虑完成度,会倾向推荐时常较短的视频。而这些倾向都会影响用户体验,导致业务长期目标下降,损坏系统发展。因此,研究开始尝试引入多个相互关联但又不一致的目标进行综合考虑建模。经过实践表示,多目标学习在推荐系统中能够提升推荐的效果。但常用的多目标模型的预测通常对目标间的关系很敏感,因此,研究特定的目标与目标之间的关系建模是至关的重要事情。
3.elkanky等人考虑到传统的基于内容的推荐系统中,用户特征难以获取的问题,通过分析用户的浏览记录和搜索记录提取用户的特征,从而丰富用户的特征表示。作者将深度结构化语义模型(deep structured semantic models,dssm)进行扩展,提出了一种多视角深度神经网络模型(multi-view deep neural network,multi-view dnn),该模型通过用户和项目两种信息实体的语义匹配来实现用户的项目推荐。cheng等人通过利用用户特征、情境特征和项目特征等多源异构数据,提出了一种深广学习(wide&deep learning)模型,模型同时具有了高的记忆能力和泛化能力。guo等人基于wide&deep,结合因子化机和深度学习,提出了一种基于深度网络的因子化机模型(factorization-machine based neural network,deepfm)进行点击率预测,分别采用因子化机和深度神经网络建模低层次和高层次的特征交互。目前国内外许多大规模推荐系统已经采用了深度神经网络模型的多任务学习。研究人员已经报道了多目标模型可以通过利用正则化和转移学习来改进对所有目标的模型预测。然而,在实践中多目标模型并不总是在所有目标上优于相应的单目标模型。事实上,许多基于深度学习的多目标模型对目标之间的数据分布差异和关系等因素很敏感,多目标推荐常面临着样本数据稀疏,用户反馈中隐含的选择偏差,以及“跷跷板”现象等问题,来自目标差异的固有冲突会损害至少一些目标的预测,尤其是当模型参数在所有目标之间广泛共享时。


技术实现要素:



4.本发明的目的是提供一种基于深度学习的个性化推荐多目标优化方法,以解决现有技术存在的单目标推荐体验感差、多目标推荐模型在目标差异大的复杂关系下难以共同优化且易产生冲突的问题。
5.为了达到本发明的目的,本发明所采用的技术方案是:
6.提供一种基于深度学习的多目标优化推荐方法,所述方法具体包括以下步骤
7.步骤1:对原始视频推荐数据进行数据预处理与分类,建立训练及测试数据集,并设立模型学习目标;
8.步骤2:引入embedding层解决数据特征稀疏性。
9.步骤3:构建高低阶特征交互,对ctr进行预测;
10.步骤4:为每个目标引入单独的门控网络;
11.步骤5:引入多级专家网络,使每个目标有独立的expert,同时保留了共享的expert;
12.步骤6:建立目标之间依赖关系,构建加权多目标损失。
13.进一步地,上述步骤1包括以下步骤:
14.步骤1.1:原始视频推荐数据的获取
15.采集用户在视频网站连续15天的用户日志,数据包括用户特征,视频内容特征,以及用户历史行为数据,且全部经过脱敏处理,得到数据标签;
16.步骤1.2:数据预处理与分类
17.分析各个数据标签在曝光场景与点击场景中的比重,并对其中的视频时长标签进行统计分析,将范围为0-9的时长标签设置阈值为4,将时长标签大于4的设为有效时长,其他设为无效时长,得到训练及测试数据集。
18.步骤1.3:设立模型学习目标
19.选取数据标签中的点击标签和视频时长标签作为模型将要学习的两个目标。
20.进一步地,上述步骤2中,embedding layer层为嵌入层,用于对高维稀疏的one-hot数据向量做嵌入,得到低维稠密的embedding向量。然后将通过嵌入层后得到的每个稠密向量横向拼接,作为模型的输入;
21.嵌入层的输出表示为:
22.a
(0)
=[e1,e2,

,em]
[0023]
其中ei是第i个字段的嵌入,m是字段数。然后,a
(0)
被送入深度神经网络,前向传播过程为:
[0024]a(l+1)
=σ(w
(l)a(l)
+b
(l)
)
[0025]
其中l是层深度,σ是激活函数。a
(l)
,w
(l)
,b
(l)
分别是第l层的输出、模型权重和偏差。之后,生成一个稠密的实值特征向量。
[0026]
进一步地,上述步骤3包括以下步骤:
[0027]
步骤3.1:构建高低阶特征交互
[0028]
首先分别采用因子分解机和深度神经网络建模低层次和高层次的特征交互,把deepfm的fm部分保留不变,把deepfm的dnn部分换为硬参数共享的shared-bottom结构,得到结合deepfm和shared-bottom的多目标基础模型;
[0029]
步骤3.2:对ctr进行预测
[0030]
fm子网络计算稀疏特征和稠密特征的二阶交叉分数,deep子网络将稠密特征和连续特征拼接输入进网络;将fm一阶、二阶分数和deep的最后一层输入拼接,经过sigmoid得到ctr的预估值。
[0031]
进一步地,上述步骤4中,对每个目标k都添加一个单独的门控网络gk,任务k的输出为:
[0032]
yk=hk(fk(x))
[0033]
门控网络针对各自的目标学习experts网络的不同组合模式,对experts网络的输出进行自适应加权。
[0034]
进一步地,所述步骤5中,第k个子目标的第j个提取网络中门控网络的定义为:
[0035]gk,j
(x)=w
k,
j(g
k,j-1
(x))s
k,j
(x)
[0036]
其中,w
k,j
是目标k的权重函数作为g
k,j-1
的输入,s
k,j
是第j个提取网络中任务k的选择矩阵。
[0037]
进一步地,上述步骤6包括以下步骤:
[0038]
步骤6.1:建立目标之间依赖关系
[0039]
引入esmm构造损失函数的方法,用了两个共享底层参数的dnn分别预估ctr和cvr,ctcvr的预估值则通过ctr和cvr的预估值的乘积得到。分别估算单独训练的模型pctr和pctcvr并通过关系式可以获得pcvr;
[0040]
步骤6.2:构建加权多目标损失
[0041]
ctr损失和ctcvr损失加权求和得到一个总损失,通过最小化总损失求解模型参数。
[0042]
与现有技术相比,本发明的有益效果是:
[0043]
本发明首先提出了模型构建利用因子分解机和深度学习构建高低阶特征交互,帮助多目标进行学习,消除样本稀疏性。然后为每个目标构建单独的门控网络,再为模型引入共享专家网络,用全连接神经网络构建的门控网络和多级专家网络学习用户行为的特征关系,以避免有害的参数干扰,实现复杂相关目标之间更有效的知识传递,消除“跷跷板”现象。最后利用esmm构造损失函数的方式建立目标间的联系,构建损失函数对模型进行优化,从而更精确地拟合各种转化率。
[0044]
通过实验可以证实,本发明在提高不同规模目标组的共享学习效率方面表现出更大的优势,表明本发明对于多目标的情况展示了促进目标互相合作、防止负迁移和跷跷板现象的好处,并且达到了满意度和准确率指标的实质性改善。
[0045]
本发明的方法可以广泛应用在推荐系统领域,尤其在各种场景下的多目标推荐领域,有着广泛的应用前景。本发明可以随着人们对于信息准确度、多样性需求的不断提高,通过推荐系统为用户到感兴趣的物品并提高用户的使用感和满意度。
附图说明
[0046]
图1是基于深度学习的推荐框架;
[0047]
图2是本发明所述方法的构建高低阶特征交互的模型框架图;
[0048]
图3是为本发明所述方法的加入门控网络的模型框架图;
[0049]
图4是门控网络的内部结构;
[0050]
图5是为本发明所述方法的加入多级专家网络的模型框架图;
[0051]
图6是本发明所述方法的建立目标间联系的模型框架。
具体实施方式
[0052]
下面结合附图和具体实施方式对本发明进行详细说明。
[0053]
本发明基于shared-bottom模型进行改进,提出了模型构建使用高低阶特征交互,帮助多目标进行学习。然后为每个目标引入单独的门控网络,再为模型引入共享专家网络,解决目标间差异性大的问题。然后引入esmm构造损失函数的方式进行优化,从而更精确地拟合各种转化率。本发明使得当前多目标推荐算法的预测准确率更加精确,减少了多目标建模的跷跷板现象。
[0054]
本发明提出一种基于深度学习的多目标优化推荐方法,参见图1为深度学习的推荐系统框架,具体包括以下步骤:
[0055]
步骤1:对原始视频推荐数据进行数据预处理与分类,建立训练及测试数据集,并设立模型学习目标
[0056]
步骤1.1:原始视频推荐数据的获取
[0057]
采集用户在视频网站连续15天的用户日志,数据包括用户特征,视频内容特征,以及用户历史行为数据,且全部经过脱敏处理,得到数据标签。
[0058]
所说的数据标签可以包括用户维度、视频维度以及用户历史行为数据。用户维度信息包括用户id、年龄段、性别、所在省市、所在城市、城市级别、设备类型。视频维度信息包括视频id、视频年代、视频月份、视频评分、视频时长。用户历史行为数据信息包括用户id、视频id、是否播放、是否分享、是否收藏、是否评论、观看时间、播放标签、观看日期。
[0059]
步骤1.2:进行数据预处理与分类
[0060]
分析各个数据标签在曝光场景与点击场景中的比重,并对其中的视频时长标签进行统计分析,将范围为0-9的时长标签设置阈值为4。采用二分类将时长标签大于4的作为正样本设为1(有效时长),其他为负样本设为0(无效时长)。以固定时间阈值将数据标签进行分割,过滤不包含有消息信息的数据,得到训练及测试数据集。
[0061]
步骤1.3:设立模型学习目标
[0062]
在所有目标中,is_watch(是否播放)和watch_label(播放时长)是两个重要的目标,将这两个目标作为模型将要学习的目标,用来分别建模播放点击和观看时间的关键指标。
[0063]
步骤2:引入embedding层解决数据特征稀疏性
[0064]
embedding层为嵌入层,用于对高维稀疏的one-hot向量做嵌入,得到低维稠密的embedding向量,然后将通过嵌入层后得到的每个稠密向量横向拼接,然后作为模型的输入。
[0065]
嵌入层的输出表示为:
[0066]a(0)
=[e1,e2,

,em]
[0067]
其中ei是第i个字段的嵌入,m是字段数。然后,a
(0)
被送入深度神经网络,前向传播过程为:
[0068]a(l+1)
=σ(w
(l)a(l)
+b
(l)
)
[0069]
其中l是层深度,σ是激活函数。a
(l)
,w
(l)
,b
(l)
分别是第l层的输出、模型权重和偏差。之后,生成一个稠密的实值特征向量。
[0070]
基于上述的说明,本实施例中,假设用于训练的数据集由n个实例(x,y)组成,其中
x是一个m字段数据记录,通常涉及一对用户和项目,并且y∈{0,1}是指示用户点击行为的关联标签(y=1表示用户点击了该项目,否则y=0)。可能包括分类字段和连续字段,每个分类字段表示为one-hot编码的向量,每个连续字段表示为值本身,或离散化后的one-hot编码向量。然后,每个实例被转换为(x,y)。其中x=[x
field1
,x
field2
,

,x
fieldj
,x
fieldn
]是一个d维的向量,x
fieldj
是x的第j域的向量表示,x是高维的而且极其稀疏。
[0071]
步骤3:构建高低阶特征交互,对ctr进行预测:
[0072]
步骤3.1:构建高低阶特征交互
[0073]
首先分别采用因子分解机和深度神经网络建模低层次和高层次的特征交互,主要针对点击和观看时长两个目标进行建模。把deepfm的fm部分保留不变,把deepfm的dnn部分换为硬参数共享的shared-bottom结构,得到结合deepfm和shared-bottom的多目标基础模型,模型的输出公式为:
[0074][0075]
其中h为隐藏层数。
[0076]
步骤3.2:对ctr进行预测
[0077]
参见图2,左边的fm子网络计算稀疏特征和稠密特征的二阶交叉分数,右边的deep子网络将稠密特征和连续特征拼接输入进网络。最后将fm一阶、二阶分数和deep的最后一层输入拼接,经过sigmoid得到预估值。模型预测结果为:
[0078][0079]
其中,为预测ctr,y
fm
为fm模块的输出,y
deep
为deep模块的输出,其公式分别为:
[0080][0081]ydeepk
=hk(f(x))
[0082]
共享隐层的输出结果f(x),输入到各自的tower网络(子网络)hk,最后每个任务k得到一个输出y
deepk

[0083]
步骤4:为每个目标引入单独的门控网络
[0084]
参见图3,为解决在实际的应用场景中遇到的子目标间关系没那么紧密的多目标学习情况,该步骤中对每个目标k都添加了一个单独的门控网络gk,任务k的输出为:
[0085]
yk=hk(fk(x))
[0086]
门控网络针对各自的目标学习experts网络的不同组合模式,对experts网络的输出进行自适应加权。对于目标来说,它对应的专家网络的输出为:
[0087][0088]
其中,fi(i=1,

,n)是n个专家(expert)网络,g是组合experts网络结果的门控网络。
[0089]
参见图4,门控的内部实现是由具有relu激活的相同多层感知器组成,门控网络是输入的简单线性变换与softmax层。输入向量和各个experts网络的输出向量会传入门控,输入向量先经过mlp,最后一层softmax得到各个专家的权重,门控的输出是所有experts网络上的权重:
[0090]gk
(x)=softmax(w
gk
x)
[0091]
其中,w
gk
∈rn×d是一个可训练矩阵,n是experts网络数量,d是特征维度。
[0092]
步骤5:引入多级专家网络,使每个目标有独立的expert,同时保留了共享的expert
[0093]
参见图5,引入共享专家网络,第k个子目标的第j个提取网络中门控网络的定义为:
[0094]gk,j
(x)=w
k,j
(g
k,j-1
(x))s
k,j
(x)
[0095]
其中,w
k,j
是目标k的权重函数作为g
k,j-1
的输入,s
k,j
是第j个提取网络中任务k的选择矩阵。计算完所有的门控网络和experts网络后,得到第k个子目标的最终输出为:
[0096]
yk(x)=tk(g
k,n
(x))
[0097]
步骤6:建立目标之间依赖关系,构建加权多目标损失
[0098]
步骤6.1:建立目标之间依赖关系
[0099]
参见图6,该步骤引入了esmm构造损失函数的方法,用了两个共享底层参数的dnn分别预估ctr和cvr,ctcvr的预估值则通过ctr和cvr的预估值的乘积得到。分别估算单独训练的模型pctr和pctcvr并通过关系式可以获得pcvr,三个关联的目标共同训练分类器,能够利用数据的序列模型并相互传递信息,保障物理意义。预估的ctr和点击类标用于计算拟合ctr的损失,预估的ctr
×
cvr和类标用于计算拟合ctcvr的损失,其中的cvr只是一个用于构造预估ctcvr的中间变量,并不拟合任何目标。由于对ctcvr的预估分解成了对ctr的预估和对cvr的预估,所以在预估ctcvr时,上述两种不同负样本就能被很好地区分开来。三个目标的转化关系如下所示:
[0100][0101]
步骤6.2:构建加权多目标损失
[0102]
最后ctr损失和ctcvr损失加权求和得到一个总损失,通过最小化总损失求解模型参数。总损失函数的表达式如下:
[0103][0104]
其中,l1和l2分别是拟合ctr和ctcvr的损失函数,均为二分类交叉熵;yi为点击的
类标;zi为播放时长的类标(播放时长超过阀值取1,否则取0),p
ctr
(xi,θ)是对ctr的预估;p
cvr
(xi,θ)是对cvr的预估;θ为模型参数;w1和w2分别为两个损失的权重,n为样本总数。
[0105]
下面采用推荐系统中广泛使用的auc(area under curve)评价指标对本方法的性能好坏进行评估,auc作为数值可以直观的评价分类器的好坏,值越大排序模型的性能越好,计算公式如下:
[0106][0107]
实验结果如下:
[0108]
表1:该方法在数据集下和其他经典模型对比的预测表现
[0109][0110]
不同模型在视频数据集上的预测性能如表所示,用粗体标出最佳分数。从表1可以看出:本模型在转化目标上明显优于单目标模型及经典多目标模型。由于点击目标和时长目标之间存在复杂的相关性,从结果可以清楚地观察到跷跷板现象,有些模型改善了点击目标但损害了时长目标,有些模型改善了时长目标但损害了点击目标。与典型且广泛应用的多目标模型mmoe和esmm相比,本模型对时长目标的改进要大得多,对点击目标也有了进一步的改进。最后,本模型以相似的速度收敛,并在具有auc之一的上述模型上实现了显着的进步。以上实施的说明只是用于帮助理解本发明的方法及核心思想。对于本领域的一般技术人员,依据本发明的思想,在具体实施方式会有变动,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:


1.一种基于深度学习的多目标优化推荐方法,其特征在于:所述方法具体包括以下步骤:步骤1:对原始视频推荐数据进行数据预处理与分类,建立训练及测试数据集,并设立模型学习目标;步骤2:引入embedding层解决数据特征稀疏性;步骤3:构建高低阶特征交互,对ctr进行预测;步骤4:为每个目标引入单独的门控网络;步骤5:引入多级专家网络,使每个目标有独立的expert,同时保留了共享的expert;步骤6:建立目标之间依赖关系,构建加权多目标损失。2.根据权利要求1所述的一种基于深度学习的多目标优化推荐方法,其特征在于:所述步骤1包括以下步骤:步骤1.1:原始视频推荐数据的获取采集用户在视频网站连续15天的用户日志,数据包括用户特征,视频内容特征,以及用户历史行为数据,且全部经过脱敏处理,得到数据标签;步骤1.2:数据预处理与分类分析各个数据标签在曝光场景与点击场景中的比重,并对其中的视频时长标签进行统计分析,将范围为0-9的时长标签设置阈值为4,将时长标签大于4的设为有效时长,其他设为无效时长,得到训练及测试数据集;步骤1.3:设立模型学习目标选取数据标签中的点击标签和视频时长标签作为模型将要学习的两个目标。3.根据权利要求2所述的一种基于深度学习的多目标优化推荐方法,其特征在于:所述步骤2中,embedding layer层为嵌入层,用于对高维稀疏的one-hot数据向量做嵌入,得到低维稠密的embedding向量,然后将通过嵌入层后得到的每个稠密向量横向拼接,作为模型的输入;嵌入层的输出表示为:a
(0)
=[e1,e2,...,e
m
]其中e
i
是第i个字段的嵌入,m是字段数。然后,a
(0)
被送入深度神经网络,前向传播过程为:a
(l+1)
=σ(w
(l)
a
(l)
+b
(l)
)其中l是层深度,σ是激活函数,a
(l)
,w
(l)
,b
(l)
分别是第l层的输出、模型权重和偏差,之后,生成一个稠密的实值特征向量。4.根据权利要求3所述的一种基于深度学习的多目标优化推荐方法,其特征在于:所述步骤3包括以下步骤:步骤3.1:构建高低阶特征交互首先分别采用因子分解机和深度神经网络建模低层次和高层次的特征交互,把deepfm的fm部分保留不变,把deepfm的dnn部分换为硬参数共享的shared-bottom结构,得到结合deepfm和shared-bottom的多目标基础模型;步骤3.2:对ctr进行预测fm子网络计算稀疏特征和稠密特征的二阶交叉分数,deep子网络将稠密特征和连续特征拼接输入进网络;将fm一阶、二阶分数和deep的最后一层输入拼接,经过sigmoid得到ctr的预估值。5.根据权利要求4所述的一种基于深度学习的多目标优化推荐方法,其特征在于:所述
步骤4中,对每个目标k都添加一个单独的门控网络g
k
,任务k的输出为:y
k
=h
k
(f
k
(x))门控网络针对各自的目标学习experts网络的不同组合模式,对experts网络的输出进行自适应加权。6.根据权利要求5所述的一种基于深度学习的多目标优化推荐方法,其特征在于:所述步骤5中,第k个子目标的第j个提取网络中门控网络的定义为:g
k,j
(x)=w
k,j
(g
k,j-1
(x))s
k,j
(x)其中,w
k,j
是目标k的权重函数作为g
k,j-1
的输入,s
k,j
是第j个提取网络中任务k的选择矩阵。7.根据权利要求6所述的一种基于深度学习的多目标优化推荐方法,其特征在于:所述步骤6包括以下步骤:步骤6.1:建立目标之间依赖关系引入esmm构造损失函数的方法,用了两个共享底层参数的dnn分别预估ctr和cvr,ctcvr的预估值则通过ctr和cvr的预估值的乘积得到,分别估算单独训练的模型pctr和pctcvr并通过关系式获得pcvr;步骤6.2:构建加权多目标损失ctr损失和ctcvr损失加权求和得到一个总损失,通过最小化总损失求解模型参数。

技术总结


本发明属于推荐系统排序算法技术领域,涉及一种基于深度学习的多目标优化推荐方法,包括以下步骤:建立训练及测试数据集,并设立模型学习目标;引入Embedding层解决数据特征稀疏性;构建高低阶特征交互,对CTR进行预测;引入门控网络;引入多级专家网络;建立目标之间依赖关系,构建加权多目标损失。本发明对于多目标的情况展示了促进目标互相合作、防止负迁移和跷跷板现象的好处,并且达到了满意度和准确率指标的实质性改善,可以广泛应用在各种场景下的多目标推荐领域,可以随着人们对于信息准确度、多样性需求的不断提高,通过推荐系统为用户到感兴趣的物品并提高用户的使用感和满意度。和满意度。和满意度。


技术研发人员:

刘萍萍 路萍 张敏 陈言训

受保护的技术使用者:

西安工业大学

技术研发日:

2022.09.28

技术公布日:

2022/12/23

本文发布于:2024-09-23 21:25:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/44958.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:目标   门控   模型   步骤
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议