基于行为序列和特征重要性的点击率预测方法
未命名
09-17
阅读:74
评论:0

1.本发明涉及信息推荐系统技术领域,尤其涉及一种基于行为序列和特征重要性的点击率预测方法。
背景技术:
2.随着信息技术和互联网行业的发展,人们的衣食住行都和互联网紧密的联系在一起,随之而来的则是信息量呈现爆发性的增长。如何从海量的数据中挖掘出有效的信息,帮助用户找到最感兴趣的物品是一个重要的问题,而推荐系统的出现极大的缓解了这个问题。
3.推荐系统是一种利用用户历史行为数据和其他相关信息,为用户推荐个性化内容的技术。推荐系统的出现成为了克服信息过载的有效途径,它主要利用用户信息、物品信息以及用户的显式或隐式信息,帮助用户找到有价值的物品。推荐系统框架大致划分为召回和排序两个阶段,召回是从海量的物品集中找到用户感兴趣的物品,排序则是对召回的物品进行打分,根据用户点击的概率从大到小排序。物品的点击率是衡量用户对物品喜好程度的重要指标,因此排序阶段中点击率预测在工业应用中起着至关重要的作用。点击率的准确预估有利于提高推荐系统的性能并且带来最大化的商业收益。
4.为了提高点击率预测模型的性能,给用户带来良好的体验,许多基于深度学习的ctr模型被提出,这些方法在推荐系统中较传统方法有较大的改进。基于特征交互的模型和行为序列模型是ctr预测中最重要的两种建模方式。基于特征交互的模型起源于poly2和因子分解机(fm),该类方法专注于建模高阶特征组合和交互。cheng等人(cheng h t,koc l,harmsen j,wide&deep learning for recommender systems.the workshop on deep learning for recommender systems.(2016)acm,7
–
10.)和qu等人(qu y,cai h,ren k,product-based neural networks for user response prediction.(2016)ieee:1149
–
1154)使用深度学习方法来提取项目级特征和特征交互信息。随着注意力模型的广泛应用,一些序列方法利用基于循环神经网络的注意力和多头自注意力机制等方式,通过行为序列提取用户的兴趣表示,zhou等人(zhou g,zhu x,song c,deep interest network for click-through rate prediction.(2018)acm:1059
–
1068)提出利用循环神经网络提取用户行为序列,进而得到用户兴趣的表示。用户历史行为的高阶兴趣挖掘显著增强了模型的表示能力,进一步提高了ctr预测的性能。
5.基于特征交互的ctr将所有特征之间以不同的方式进行交叉组合,忽略了用户历史数据带来的影响,从而限制了模型的效率。基于行为序列的点击率预测din和dien等针对用户的历史数据建模,但是不足以体现出用户多个兴趣,而且计算的复杂度比较高。用户下一时刻购买的物品,不仅受到历史序列的影响,还会受到自身属性的影响。例如,用户在某电商网站按照时间顺序购买了口红、书本和男士衣服等,但是结合用户的性别女、年龄26岁和时间等特征考虑后,我们应该更多的推荐眉笔、连衣裙等商品。
技术实现要素:
6.本发明针对现有点击率预测方法不能兼顾特征交互和行为序列建模,限制了预测性能的问题,提出一种基于行为序列和特征重要性的点击率预测方法,在兴趣抽取层设计了全局-局部的门控模块和post-ln informer提取用户的兴趣,针对非时序属性利用特征交互网络捕获目标项和非时序特征实现对样本空间的非线性变换,增加模型的非线性能力。
7.为了实现上述目的,本发明采用以下技术方案:
8.一种基于行为序列和特征重要性的点击率预测方法,包括:
9.步骤1:对公开的互联网平台数据集预处理后得到候选物品序列特征,用户历史行为特征,用户画像特征和其他特征;所述其他特征包括品牌,价格;
10.步骤2:对处理得到的特征输入到嵌入层,将低维稀疏的特征转化为高维稠密的嵌入特征;
11.步骤3:将用户历史行为特征和候选物品序列特征对应的嵌入特征输入到用户行为序列网络中进行用户行为序列建模,得到用户的兴趣状态向量,所述用户行为序列网络包括兴趣抽取层和兴趣更新层;
12.步骤4:将用户画像特征和其他特征嵌入后的数据输入到层次注意力网络中;
13.步骤5:将步骤3和步骤4的输出拼接后输入多层神经网络中训练,得到点击率预测结果。
14.进一步地,所述步骤2中,按照以下方式构建嵌入特征:
15.设输入的数据xi、xb、xu、xc分别表示候选物品序列特征,用户历史行为特征,用户画像特征和其他特征;
16.将稀疏特征经过嵌入层后转化为低维稠密的嵌入特征,分别表示为ei、eb、eu、ec;
17.对于xb进行位置编码得到行为序列的位置编码e
pos
,按照以下方式进行行为序列嵌入:
18.e
bs
=eb+e
pos
=[e
1s
,e
2s
,...,e
ts
...,e
ts
]
[0019]
其中e
bs
表示最终的用户历史行为嵌入特征向量,eb是用户历史行为的嵌入,
[0020]
进一步地,所述步骤3中,所述兴趣抽取层包括全局-局部的门控模块,所述全局-局部的门控模块包括全局门控模块及局部模块;所述兴趣更新层包括基于注意力机制的门控循环单元a-gru。
[0021]
进一步地,所述全局门控模块具体用于执行以下步骤:
[0022]
对嵌入特征向量e
bs
考虑全局信息融合,将嵌入特征向量e
bs
中每个特征嵌入使用均值池来压缩,计算全局信息pi,形成统计向量p,再经过两个全连接层后得到向量g;
[0023]
将嵌入特征向量e
bs
和全局的门控向量g,通过重新加权的方法构建全局特征嵌入vg=f
g_rewight
(g,e
bs
)=[g1·e1s
,...,gs·ets
]。
[0024]
进一步地,所述局部模块具体用于执行以下步骤:
[0025]
对嵌入特征向量e
bs
考虑局部信息融合,构建局部特征嵌入表示,通过降低维度和增加维度的机制计算单个特征的贡献,得到局部的门控向量表示l=f
l_ex
(e
bs
)=σ1(w3σ2(w4e
bs
)),其中σ1和σ2是非线性激活函数,w3和w4是学习参数;
[0026]
根据嵌入特征向量e
bs
和局部的门控向量l,得到局部特征嵌入v
l
=f
l_rewight
(l,e
bs
)=[l1·e1s
,...,ls·ets
]。
[0027]
进一步地,所述步骤3中,按照以下方式进行用户行为序列建模:
[0028]
将全局特征嵌入和局部特征嵌入组合:
[0029][0030]
其中r代表总的序列嵌入表示,分别代表了元素之间的点乘、相加操作;
[0031]
设qi,ki,vi分别代表中的第i行,并将获取的r赋给qi,ki,vi;在自注意力机制中,输入序列会分别被映射到三个不同的向量空间中:查询q(即query),键k(即key),值v(即value)向量空间;tq=tk=tv=t,表示序列的长度;dv代表嵌入维度;然后从k中随机选择u个数,将q和k进行点乘运算得到
[0032]
从中选择u个数,从大到小排列并标记在q中的索引号q
index
,然后从原始的q中找到对应的索引号q
index
,并命名为将和k点乘运算,而后进行scale操作,表示为表示的最大值;表示的平均值;m(qi,k)表示的最大值与的平均值之差;
[0033]
将原始向量v计算平均值赋值给中的剩余的索引部分,即1-q
index
,使剩余的索引部分的维度数恢复到与原始q的维度一样,与其他的多头自注意力机制类似,将和v运算后再与拼接,最终得到兴趣向量;
[0034]
采用多个注意力头,并对多个注意力头的输出进行拼接
[0035]
mhpa(q,k,v)=concat(head1,...,headh)wo[0036]
其中wo是参数矩阵,concat(head1,...,headh)表示对多个注意力头的输出进行拼接,h=4;虽然每个头的维数减小,但是总的计算代价与全维的单头的注意相似;mhpa(q,k,v)为一个变量,用于将拼接后的多头赋值给这个变量;
[0037]
将拼接后的结果输入ffn网络中,并使用dropout和relu得到最终的多兴趣向量表示f;
[0038]
使用辅助损失函数l
aux
,它使用下一个行为来监督当前步骤中兴趣状态的学习。其中是f的第x时刻的第i行向量,表示有n个嵌入序列对,σ(.)是sigmoid激活函数,《,》表示内积,是从原始嵌入中选取的负样本,n表示训练样本的数量;最后,将多兴趣向量f输入到兴趣更新层中,得到兴趣更新向量h。
[0039]
进一步地,按照以下方式训练层次注意力网络:
[0040]
将用户嵌入、物品嵌入和其他特征嵌入表示拼接后输入到层次注意力中,向量表示为:c1=[ei;eu;ec];
[0041]
在每一层中使用注意力机制a
l
和聚合隐向量u
l
,最后将高阶特征融合为密集的实值向量其中代表两个向量的哈达玛积,表示第j特征的第1层的聚合向量,表示第j特征的第l层的聚合向量。
[0042]
进一步地,所述步骤5中,多层神经网络训练时,采用负对数似然损失函数。
[0043]
与现有技术相比,本发明具有的有益效果:
[0044]
本发明公开了一种融合用户行为和特征重要性的点击率预测方法,不仅从用户历史行为中捕获用户兴趣以及兴趣更新过程,还利用层次注意机制建模非时序特征之间的高阶交互。具体来讲,首先,我们设计并实现了兴趣抽取层用来提取用户的兴趣。同时,引入辅助损失函数来监督用户兴趣特征的提取。其次,在兴趣更新层引入基于注意力机制的门控循环单元,以增强目标广告相关兴趣的影响。最后,利用特征交互网络捕获目标项和其他特征实现对样本空间的非线性变换,增加模型的非线性能力。与其他的方法相比,该方法在兴趣抽取层将建模行为序列问题转为时间序列预测问题,并使用改建的informer结构,降低了计算的复杂度,提升了模型的效率。
附图说明
[0045]
图1为本发明实施例一种基于行为序列和特征重要性的点击率预测方法的架构示意图;
[0046]
图2为本发明实施例全局-局部的门控模块结构示意图;
[0047]
图3为本发明实施例post-ln informer架构示意图;
[0048]
图4为本发明实施例层次注意力网络架构示意图;
[0049]
图5为学习率影响实验结果;
[0050]
图6为头数影响实验结果;
[0051]
图7为层次注意力网络层数影响实验结果;
[0052]
图8为不同模型在数据集上的预测性能;
[0053]
图9为本发明不同变体在不同数据集上的性能。
具体实施方式
[0054]
下面结合附图和具体的实施例对本发明做进一步的解释说明:
[0055]
本发明将特征交互与行为序列相结合,提出了一种基于行为序列和特征重要性的点击率预测方法,该方法架构如图1所示,包括:
[0056]
步骤1:对公开的互联网平台数据集预处理后得到候选物品序列特征,用户历史行为特征,用户画像特征和其他特征;所述其他特征包括品牌,价格;
[0057]
步骤2:对处理得到的特征输入到嵌入层,将低维稀疏的特征转化为高维稠密的嵌入特征;
[0058]
步骤3:将用户历史行为特征和候选物品序列特征对应的嵌入特征输入到用户行为序列网络中进行用户行为序列建模,得到用户的兴趣状态向量,所述用户行为序列网络包括兴趣抽取层和兴趣更新层;
[0059]
步骤4:将用户画像特征和其他特征嵌入后的数据输入到层次注意力网络中;
[0060]
步骤5:将步骤3和步骤4的输出拼接后输入多层神经网络中训练,得到点击率预测结果。
[0061]
1.嵌入层
[0062]
本发明将原始数据分为四组:候选物品序列、用户历史行为、用户画像和其他特征信息。其中每个类别特征由几个字段构成,例如用户画像包括年龄、性别和职业等,用户历史行为包括用户访问的项目以及项目所属类别。此外,项目特征中引入了比较重要的价格、品牌等因素,这些因素也将考虑在内。
[0063]
在nlp领域,每个特征都可以编码为高维单热向量。通常原始数据都是稀疏向量,例如性别字段中的male特征可以编码为[0,1]。假设不同字段的一个热向量的连接结果为xi、xb、xu、xc分别表示候选项、历史行为、用户画像和其他特征信息。这些稀疏特征经过嵌入层后转化为低维稠密的特征,称为ei、eb、eu、ec。以用户行为序列的嵌入表示为例,公式如下:
[0064][0065]
其中,t代表用户行为的长度,dv代表了项目ei嵌入的维度。xb经过嵌入层后得到eb。由于在兴趣抽取层中无法捕捉到序列的顺序特征,为了解决这一问题,采用由频率变化的正弦信号产生的位置嵌入。用户行为序列嵌入最终表示为:
[0066]ebs
=eb+e
pos
=[e
1s
,e
2s
,...,e
ts
...,e
ts
]
[0067]
其中eb是用户历史行为的嵌入,e
pos
为行为序列的位置编码,e
bs
是最终的行为序列嵌入表示。
[0068]
2.兴趣抽取层
[0069]
用户的行为序列隐藏了用户动态演变的兴趣,在电子商务系统中,用户行为是潜在兴趣的载体,用户采取一种行为后,兴趣就会发生变化。在兴趣提取层,我们从连续的用户行为中提取一系列兴趣状态。对于用户的历史购买行为数据,短期和高频购买更能反映出用户的兴趣偏好。因此,我们引入全局-局部的门控模块重点关注对候选项有价值的那部分用户行为信息,并且提出post-ln informer去捕获序列中的行为关系。
[0070]
在点击率预测中不同的特征对目标任务有不同的重要性。例如,当预测一个人的是否会看某个电影时,特征爱好和性别比特征职业和住址更重要。如图2所示,本发明设计了一个全局-局部的门控模块,该模块同时考虑全局和局部的序列信息。它由两个子部分组成,分别从全局和局部考虑不同序列特征的影响。
[0071]
全局门控模块由三个步骤组成:挤压步骤、激励步骤和重新加权步骤。给定字段嵌入向量e
bs
,我们使用均值池来压缩每个特征嵌入e
ts
以计算全局信息pi,并形成统计向量p。然后,使用激励步骤来基于统计向量学习每个场嵌入的权重。最后,我们使用两个全连接(fc)层来学习权重。公式如下所示:
[0072]
[0073]
其中表示e
ts
中的第j个数,是一个全局门控向量,和是学习参数,r是比例因子。vg代表全局的特征嵌入。
[0074]
为了在特征重要性建模中捕获每个特征的特征信息,设计了一个局部模块。不同于全局模块中将用户行为序列均值池化,局部模块直接用降维和增维机制来计算单个特征对目标任务的贡献。
[0075][0076]
其中l是局部门控向量,和分别代表了元素之间的点乘和相加操作。σ3和σ4是非线性激活函数,w3和w4是学习参数,v
l
代表局部的特征嵌入。全局-局部门控模块综合强调了分布在全局和局部的特征,并根据每个特征的贡献动态调整其权重。
[0077]
通常建模用户行为序列使用多头自注意力机制或者rnn序列模型。本技术中对informer进行改进,主要思想就是根据注意力系数是满足长尾分布的,即少数几个key-value对贡献了主要的注意力,因此允许每个key只关注若干个主要query来实现。
[0078]
生成post-ln informer实操步骤:
[0079]
步骤一:设qi,ki,vi分别代表中的第i行,并将第一步获取r中赋给这三个数据,维度是t
×dv
;在自注意力机制中,输入序列会分别被映射到三个不同的向量空间中:查询q(即query),键k(即key),值v(即value)向量空间;tq=tk=tv=t,表示序列的长度;dv代表嵌入维度;
[0080]
步骤二:从k中随机选择u个数,将q和k进行点乘运算得到进而得到m(qi,k),公式如下:
[0081][0082]
其中是key-value对的最大值,是key-value对的算术平均值。如果第i项的查询获得了更大的m(qi,k),代表提取的用户兴趣更加丰富。根据排序后的结果,我们随机从q中选择前u个数作为将和k点乘运算,而后进行scale操作,表示为
[0083]
步骤三:如图3所示,为了使key-value对的维度和原始维度相同,我们用v的平均值,即v代替琐碎平凡的注意力。
[0084]
步骤四:多头注意使模型能够共同关注来自不同位置的不同表示子空间的信息。如果只有一个注意力头会抑制这一点。将多个头拼接得到如下公式:
[0085][0086]
mhpa(q,k,v)=concat(head1,...,headh)wo[0087]
其中headi=pa(q,k,v),;代表维度的拼接,w0是参数矩阵。mhpa(q,k,v)为一个变量,用于将拼接后的多头赋值给这个变量。
[0088]
步骤五:接下来,加入前馈网络(ffn)来进一步增强非线性模型,为了避免过度拟合并分层地学习有意义的特征,在上述步骤中和ffn中都使用了dropout和relu,输出如下公式所示:
[0089]
s=layernorm(mhpa(q,k,v)+r)
[0090]
f=layernorm(s+dropout(relu(sw1+b1)w2+b2))
[0091]
其中w1,w2,b1,b2是可学习的参数,并且layernorm为标准归一化层。r是原始的嵌入向量。
[0092]
尽管在前面小节中,本文对用户行为序列进行建模以捕获行为之间的以来关系,但它并不能有效的表示用户的兴趣。使用辅助损失函数来监督项目学习,它使用下一个行为来监督当前步骤中兴趣状态的学习。f
x
是f的第x时刻的行向量。辅助损失的公式被定义为:
[0093][0094]
其中表示有n个嵌入序列对,σ(.)是sigmoid激活函数,并且《,》表示内积。且是从原始嵌入中选取的负样本,n表示训练样本的数量。
[0095]
3.兴趣更新层
[0096]
利用上一节中的兴趣抽取层,可以获得一个用户的兴趣组状态表示。然而,用户的兴趣会随着外部环境或者其他因素的影响而不断变化,用户历史行为序列中也会存在随机跳跃,而且每一种兴趣都有自己不断更新的过程,会随着时间的推移逐渐演变。为了解决上述问题,在兴趣更新层引入了一种基于注意力机制的门控循环单元模型。
[0097]
在兴趣更新层,可以得到每个兴趣与候选广告的相关权重,即注意力得分,注意力得分反映了目标广告与输入兴趣之间的相关性,我们在兴趣演化过程中使用的注意函数可以表述为:
[0098][0099]
其中e
ts
表示来自不同字段的嵌入向量的拼接,中表是参数矩阵,n1是隐状态向量的维数,n2与嵌入向量的维度一样。
[0100]
注意力得分反映了目标广告与输入兴趣状态之间的相关性,兴趣状态与目标广告的相关性越高,注意得分越大。我们希望将注意力分数作为一种更新策略引入到gru的更新门中,因此使用了基于注意力机制的门控循环单元a-gru。该结构能够根据关注分数的大小来确定隐藏兴趣状态的更新强度,即与目标广告相关的兴趣状态在最终兴趣状态的更新过程中参与度较高,与目标广告无关的兴趣状态在更新过程中参与度较低甚至不参与。隐含层输出状态的具体公式如下:
[0101][0102]
其中hi,h
i-1
和是隐藏状态,ai是注意力得分。与原有的gru结构相比,a-gru结构
将使用注意力分数代替原有的更新门。在a-gru的作用下,兴趣更新层可以区别对待历史行为,不仅提供最终的兴趣表达和更相关的历史信息,还可以跟随兴趣的演变趋势来预测目标项目的点击率。
[0103]
4.层次注意层
[0104]
特征交叉的意义就在于提高模型的非线性建模能力,提升模型的效果。现有的ctr只注重行为序列和目标项目之间的交互,忽略了其他属性与目标项之间的关系。本发明提出了一个层次注意力,它采用层次结构的注意力机制建模高阶特征交互。
[0105]
根据公式c1=[ei;eu;ec],将目标项和其他属性拼接作为交互层的输入,其中;代表拼接,c1是层次注意网络的输入;
[0106]
由于枚举所有可能的组合来计算高阶多特征相互作用是昂贵的,为了得到l+1层的向量表示c
l+1
,根据公式得到l层聚合的隐向量,其中是第j特征的第l层的注意力聚合得分;
[0107]
根据公式计算l层的注意力聚合的得分,其中w
l
是第l层的权重,c
l
是第l层的上下文的向量。
[0108]
根据第一层c1和第l层的聚合向量,注意力聚合公式表示为:其中代表两个向量的哈达玛积。
[0109]
5.预测层
[0110]
预测层将上述建模的用户行为序列和特征交互层连接到一个表示向量中作为预测结果。
[0111]
为了评估模型的效果,需要指定一个目标函数进行优化,目标函数的目标是使预测值与真实标签的交叉熵最小。因为点击率预测任务是一个二元分类任务,损失函数选择交叉熵损失,通常定义为:
[0112][0113]
其中y∈(0,1)是真实值,为y的预测概率。此外,所有参数均采用标准反向传播算法进行优化。为了更好的挖掘用户兴趣,在前述内容中引入了辅助损失函数,它使用下一个行为来监督当前步骤兴趣状态的学习。该ctr模型的全局损失函数为:
[0114]
l=(1-λ)*l
target
+λ*l
aux
[0115]
λ是超参数用以平衡这两个子任务。
[0116]
本发明综合考虑用户行为序列和用户属性,将门控网络、attention网络与深度神经网络模型非线性拟合,构造推荐系统点击率预测模型,模型训练得到预测结果,本方法深度挖掘用户的多种兴趣,泛化程度高且扩展性强。
[0117]
为验证本发明效果,进行如下实验:
[0118]
6 实验部分
[0119]
6.1 实验设置
[0120]
本节将介绍实验中使用的数据集和基线方法,给出实验指标和实验的详细信息。
[0121]
6.1.1数据集
[0122]
亚马逊的数据集由亚马逊的产品评论和元数据组成。我们使用amazon数据集的两个子集:beauty和electronics来验证cubfi的效果。这些数据集按时间戳收集用户行为。假设在用户行为序列中有k条被评论的产品,我们的目标是预测用户u是否会基于第一个k-1被评论的产品为k-th产品编写评论。每个用户都取5条以上的历史行为。我们通过从原始数据集中随机采样创建训练集、验证集和测试集,划分为80%、10%和10%。
[0123]
表1.数据集的基本统计数据.
[0124][0125][0126]
6.1.2基线
[0127]
为了评估本发明提出的方法(简称为cubfi)的性能,将本发明与以下被广泛使用的ctr预测的最先进的方法进行比较:
[0128]
(1)wide&deep:wide&deep提出宽度和深度模型架构,兼顾泛化能力和记忆能力。
[0129]
(2)fibinet:pnn使用产品层来捕获域间类别之间的交互模式。
[0130]
(3)din:这是一项早期的工作,利用用户的历史行为,利用注意机制来激活用户对不同项目感兴趣的行为。
[0131]
(4)dien:这是近年来对连续用户行为数据进行ctr建模的研究。它将gru与以候选人为中心的注意力集成在一起,以捕获涉及的利益。dmin:使用多头自我关注的行为细化层,以更好地捕获用户历史项表示,然后应用多兴趣提取层来提取多个用户兴趣。
[0132]
6.1.3评价指标
[0133]
本实施例采用accuracy、logloss和auc值作为模型评价指标。准确率指标表示正确预测的案例占所有案例的比例,较高的值表示分类器的辨别能力。logloss是二分分类问题中常用的损失函数,点击率可分为点击和未点击的二项分布;logloss值越小,模型ctr预测精度越高。auc是roc曲线下的面积,它对正、负样本是否平衡不敏感,只与分选效果有关。实际的计算方法是用大于负样本数的正样本数除以所有正样本和负样本的比较数之和。
[0134]
6.1.4实验细节
[0135]
本实验在gpu rtx 3080ti上使用tensorflow实现cubfi和所有的基线方法。在嵌入层中,两个数据集上的特征嵌入维度都设置为18,每个用户的历史行为取最后20个,历史行为序列包含了商品和类别两部分,故总嵌入维度k=36。为了优化模型,使用adam在训练阶段更新electronics和beauty数据集,批处理大小为128。在实验中,本实施例按照8:1:1的比例将实验数据分为训练集、测试集和验证集。为了保证模型性能的可靠性,所有模型用相同的数据集处理方式,并且报告的结果为5次实验的平均值。经过多次实验结果验证,cubfi模型在不同数据集上设置的参数是不同的,如表2所示。
[0136]
表2.数据集的训练参数.
[0137][0138]
6.2性能分析
[0139]
在本节中,设置了多组对比试验来验证本文方法的性能,首先,研究超参数对模型的影响。然后,通过与基准模型的比较,评价了该模型的性。最后,对兴趣抽取层和特征交互层的实验性能进行分析。
[0140]
6.2.1训练参数的设计
[0141]
(1)学习率的影响
[0142]
首先,固定注意头数量设置为2,特征交互层设置为3。计算模型在0.001~0.020之间的学习率,通过调整学习率来观察模型在验证集上的性能。如图4所示,从图4中可以看出来,在不同的数据集上最优的学习率值是不一样的,在electronics数据集上最优值为0.002,在beauty数据集上最优值为0.004。
[0143]
(2)头数的影响
[0144]
自注意机制中的多头本质上是多个独立的注意计算,它们作为一个集成函数防止过拟合。从图5中可以看出,随着头部数量不断增加,模型在auc和logloss性能上下波动的趋势基本一致。由于历史行为序列的嵌入维度k=36,设置的头部数量必须是36的因数。从图5中可以看出,在electronics数据集上最优值为4,在beauty数据集上最优值为3。
[0145]
(3)层次注意力网络的影响
[0146]
在本研究中,我们保持其他因素不变,只增加层次注意力网络的层数。随着层数从1到4的增加,模型的性能稳步提高。随着层数从1到4的增加,模型的性能稳步提高。随着层数的加深也会增加模型的复杂度,当层数为4时,模型的性能呈下降趋势。从图6中可以看出,在两个数据集上的交互层数的最优值设置为3。
[0147]
6.2.2数据集上模型性能分析
[0148]
在本节中,将本发明的模型与基线方法在两个数据集上进行比较,以评估该模型的整体性能。本节使用在6.1.3中介绍的指标,对不同模型的预测结果进行评价,各模型的具体评价指标如表3所示:
[0149]
表3:每种模型的性能评估表.
[0150][0151]
通过对比基线方法与本发明方法,三个指标下的结果表明本发明方法的性能最好。在electronics数据集上与基础的模型widedeep模型相比,本发明的auc值提高了3.65%,精确率提高了4.89%,损失提高了9.02%,从图7可以看出,与其他基线方法相比,本发明方法在electronics数据集上的各项评价指标都有较大的提高。实验结果表明,本发明提出的cubfi模型可以有效提高点击率预测的性能。从上述结果中,可以得到一些观察结果。
[0152]
1、在两个数据集上,cubfi模型在所有指标上的性能都优于其他的基线。widedeep和fibinet是比较经典的利用特征交互的方式进行点击率预测,而din、dien和dmin引入了用户历史行为序列建模用户的兴趣表示。总体来讲,后者模型在指标上是优于前者的,这也表明了利用用户行为序列建模是有效的。
[0153]
2、在论文[xiao z,yang l,jiang w,wei y,hu y,wang h(2020)deep multi-interest network for click-through rate prediction.in:proceedings of the 29th acm international conference on information and knowledge management,pp2265
–
2268]中,fibinet模型被认为是非常有效的。fibinet性能优于widedeep,这是由于fibinet使用了senet网络,从而可以精确的捕获每个特征的重要性。与fibinet模型相比,cubfi的auc在electronics数据集上提升了2.14%,在beauty数据集上提升了5.29%。与建模用户行为序列的din、dien和dmin模型相比,所提出的cubfi模型具有更好的性能,在electronics数据集上的auc分别提升了1.98%、1.31%和1.02%,这也证明了结合特征交互和用户行为序列的有效性。
[0154]
3、如图8所示,还可以观察到,cubfi在所有指标的所有数据集上都具有最佳性能。cubfi性能优越主要体现在三个方面:(1)设计了一个全局-局部的门控模块,以自适应的选择有意义的特征。(2)本发明提出的post-ln informer模块更精确的建模用户行为序列。(3)本发明提出了一个将用户兴趣和特征交互融合在一起的点击率预测模型,综合考虑了用户行为序列和用户特征重要性。
[0155]
6.2.3兴趣抽取层和特征交互层的性能分析
[0156]
为了分析兴趣抽取层和特征交互层的有效性,我们设计了对比试验。设计model_a验证去除全局-局部的门控模块后对模型的性能的影响;设计model_b验证去除post-ln informer后对模型性能的影响;设计model_c为本文的最终实验结果;设计model_d只去除
层次注意力网络。实验结果如表4所示:
[0157]
表4:cubfi的不同变体.
[0158][0159]
cubfi中的每个模块都经过验证,以确定该模块是否有必要存在以及是否可以提升该模型的性能。在进行这些实验时,只去掉一部分,其余部分保持不变。从图9中可以看出:
[0160]
1、删除cubfi中的任何模块都会导致性能下降,这验证了本发明提出的cubfi模型的任何模块都对性能起着至关重要的作用。
[0161]
2、从electronics数据集上可以看出,删除全局-局部的门控模块后,model_a模型的auc和logloss性能分别显著下降了。实验结果表明该模块选择有意义的用户行为特征是有效的。
[0162]
从beauty数据集上可以看出,删除了层次注意力网络后,模型的整体性能也会整体下降。实验结果表明特征交互对提升模型的性能是有效的。
[0163]
本发明提出了一种基于行为序列和特征重要性的点击率预测方法。在兴趣抽取层,采用全局-局部的门控模块和pre-ln informer模块对用户行为序列进行建模,结合辅助损失函数使用下一个行为来监督当前步骤兴趣状态的学习。然后采用一种基于注意力机制的门控循环单元来模拟与目标广告最相关的兴趣更新过程。最后,在特征交互时采用了一种多交互模块来提取非时序特征信息。实验结果表明,该方法模型能有效的提高点击率预测的精确度。
[0164]
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种基于行为序列和特征重要性的点击率预测方法,其特征在于,包括:步骤1:对公开的互联网平台数据集预处理后得到候选物品序列特征,用户历史行为特征,用户画像特征和其他特征;所述其他特征包括品牌,价格;步骤2:对处理得到的特征输入到嵌入层,将低维稀疏的特征转化为高维稠密的嵌入特征;步骤3:将用户历史行为特征和候选物品序列特征对应的嵌入特征输入到用户行为序列网络中进行用户行为序列建模,得到用户的兴趣状态向量,所述用户行为序列网络包括兴趣抽取层和兴趣更新层;步骤4:将用户画像特征和其他特征嵌入后的数据输入到层次注意力网络中;步骤5:将步骤3和步骤4的输出拼接后输入多层神经网络中训练,得到点击率预测结果。2.根据权利要求1所述的基于行为序列和特征重要性的点击率预测方法,其特征在于,所述步骤2中,按照以下方式构建嵌入特征:设输入的数据x
i
、x
b
、x
u
、x
c
分别表示候选物品序列特征,用户历史行为特征,用户画像特征和其他特征;将稀疏特征经过嵌入层后转化为低维稠密的嵌入特征,分别表示为e
i
、e
b
、e
u
、e
c
;对于x
b
进行位置编码得到行为序列的位置编码e
pos
,按照以下方式进行行为序列嵌入:e
bs
=e
b
+e
pos
其中e
bs
表示最终的用户历史行为嵌入特征向量,e
b
是用户历史行为的嵌入。3.根据权利要求2所述的基于行为序列和特征重要性的点击率预测方法,其特征在于,所述步骤3中,所述兴趣抽取层包括全局-局部的门控模块,所述全局-局部的门控模块包括全局门控模块及局部模块;所述兴趣更新层包括基于注意力机制的门控循环单元a-gru。4.根据权利要求3所述的基于行为序列和特征重要性的点击率预测方法,其特征在于,所述全局门控模块具体用于执行以下步骤:对嵌入特征向量e
bs
考虑全局信息融合,将嵌入特征向量e
bs
中每个特征嵌入使用均值池来压缩,计算全局信息p
i
,形成统计向量p,再经过两个全连接层后得到向量g;将嵌入特征向量e
bs
和全局的门控向量g,通过重新加权的方法构建全局特征嵌入v
g
。5.根据权利要求4所述的基于行为序列和特征重要性的点击率预测方法,其特征在于,所述局部模块具体用于执行以下步骤:对嵌入特征向量e
bs
考虑局部信息融合,构建局部特征嵌入表示,通过降低维度和增加维度的机制计算单个特征的贡献,得到局部的门控向量表示l;根据嵌入特征向量e
bs
和局部的门控向量l,得到局部特征嵌入v
l
。6.根据权利要求5所述的基于行为序列和特征重要性的点击率预测方法,其特征在于,所述步骤3中,按照以下方式进行用户行为序列建模:将全局特征嵌入和局部特征嵌入组合:其中r代表总的序列嵌入表示,分别代表了元素之间的点乘、相加操作;设q
i
,k
i
,v
i
分别代表中的第i行,并将获取的r赋给q
i
,
k
i
,v
i
;q、k、v分别表示查询、键、值三个向量空间;t
q
=t
k
=t
v
表示序列的长度;d
v
代表嵌入维度;然后从k中随机选择u个数,将q和k进行点乘运算得到从中选择u个数,从大到小排列并标记在q中的索引号q
index
,然后从原始的q中找到对应的索引号q
index
,并命名为将和k点乘运算,而后进行scale操作,表示为表示为表示的最大值;表示的平均值;m(q
i
,k)表示的最大值与的平均值之差;将原始向量v计算平均值赋值给中的剩余的索引部分,使剩余的索引部分的维度数恢复到与原始q的维度一样,将和v运算后再与拼接,最终得到兴趣向量;采用多个注意力头,并对多个注意力头的输出进行拼接;将拼接后的结果输入ffn网络中,并使用dropout和relu得到最终的多兴趣向量表示f;使用辅助损失函数,使用下一个行为来监督当前步骤中兴趣状态的学习,最后,将多兴趣向量f输入到兴趣更新层中,得到兴趣更新向量h。7.根据权利要求1所述的基于行为序列和特征重要性的点击率预测方法,其特征在于,按照以下方式训练层次注意力网络:将用户嵌入、物品嵌入和其他特征嵌入表示拼接后输入到层次注意力中,向量表示为:c1=[e
i
;e
u
;e
c
];在每一层中使用注意力机制a
l
和聚合隐向量u
l
,最后将高阶特征融合为密集的实值向量其中代表两个向量的哈达玛积,表示第j特征的第1层的聚合向量,表示第j特征的第l层的聚合向量。8.根据权利要求1所述的基于行为序列和特征重要性的点击率预测方法,其特征在于,所述步骤5中,多层神经网络训练时,采用负对数似然损失函数。
技术总结
本发明公开一种基于行为序列和特征重要性的点击率预测方法,包括:对公开的互联网平台数据集预处理后得到候选物品序列特征,用户历史行为特征,用户画像特征和其他特征;对处理得到的特征输入到嵌入层,将低维稀疏的特征转化为高维稠密的嵌入特征;将用户历史行为特征和候选物品序列特征对应的嵌入特征输入到用户行为序列网络中进行用户行为序列建模,得到用户的兴趣状态向量,所述用户行为序列网络包括兴趣抽取层和兴趣更新层;将用户画像特征和其他特征嵌入后的数据输入到层次注意力网络中;将上述输出拼接后输入多层神经网络中训练,得到点击率预测结果。本发明降低了计算的复杂度,提升了模型的点击率预测效率。提升了模型的点击率预测效率。提升了模型的点击率预测效率。
技术研发人员:王瑛琦 季会勤
受保护的技术使用者:河南大学
技术研发日:2023.05.17
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种基于高密度互连印制电路板的检测设备 下一篇:一种双臂机器人协调控制方法