1.本发明属于互联网服务技术领域,尤其是涉及一种考虑用户多兴趣和推荐多样性的点击率预测方法。
背景技术:2.序列推荐方法是指基于用户过去的行为序列,给用户推荐下一个感兴趣的物品。传统的序列推荐方法采用基于有序序列的方法,如循环神经网络。基于有序序列的方法认为用户下一个点击的物品强依赖于用户近期行为。基于有序序列的方法可以捕捉用户动态的兴趣。在电商推荐场景中,用户在一个行为序列中的目的较为单一,行为序列中的物品通常是出于同一个目的而被浏览。因此,对用户的短期兴趣进行准确拟合会提升推荐准确性。但是在短视频推荐场景中,用户的兴趣非常广泛且较为稳定,因此用户对推荐多样化偏好会更强烈。此时对用户短期兴趣过度拟合会降低推荐的准确性。
3.因此,本方法同时对用户的长期兴趣和短期兴趣建模,并且抽取出用户的多兴趣。然后分别根据用户的长期多兴趣和短期多兴趣,得到对目标短视频的点击率。不同用户的兴趣丰富程度不同,因此本方法采用用户级别的多样性系数。多样性系数取决于用户的长期多兴趣和短期多兴趣之间的差异。差异越大,说明用户短期兴趣较为单一,降低短期兴趣预测的点击率的权重。采用特征正交映射模块,得到长期多兴趣和短期多兴趣之间差异。最后,根据长期和短期多兴趣,以及多样性系数得到用户对目标物品的点击率。
技术实现要素:4.本方法的问题定义为基于用户的行为序列,预测用户点击目标物品的概率。涉及到的数学符号有:用户集合是u,物品集合是v。用户ui的行为序列为其中vj∈v,下标t表示用户ui行为序列的长度。现有的推荐方法没有考虑到用户在平台内的兴趣较为多样化且较为稳定,过度拟合用户的短期兴趣,降低了推荐的多样性,进而降低了推荐的准确度。为此,本发明采用以下技术方案:
5.一种考虑用户多兴趣和推荐多样性的点击率预测方法,包括以下步骤:
6.采用胶囊网络从用户行为序列中抽取用户长期多兴趣。平台中用户集合是u,物品集合是v。用户ui的行为序列为其中vj∈v,下标t表示用户ui行为序列的长度。vj的向量表征是xj。用户的行为序列较长,为了提升计算效率,将用户行为序列分割成块序列。用长度为w的窗口将一个用户的行为序列分割成m个块。此时,第i个块的向量表征的计算方式为采用胶囊网络从块序列中抽取用户长期多兴趣p
l
,即p
l
=capsulenet(z1,z2,
…
,zm),n是模型超参数,代表用户多兴趣的个数。胶囊网络第一步是从输入的块序列中的块向量表征zi中抽取出不同兴趣空间下的向量表征这里,wj是第j个兴趣的映射矩阵,用户多兴趣的个数为n;第二步是迭代r次以
下过程,r是动态路由算法的迭代次数:
[0007][0008][0009]
vj=squash(sj)
[0010][0011]
其中,是第i个块向量表征zi映射到第j个兴趣空间的向量表征。b
ij
是第i个块向量表征到第j个兴趣的连接系数,b
ij
初始化为0,c
ij
是系数b
ij
归一化后的连接系数,表示第i个块是第j个兴趣的可能性,且对于一个块,不同兴趣的可能性和为1,也就是sj将第j个兴趣空间下的汇聚,并经过squash向量激活函数得到用户多兴趣向量表征vj。squash是胶囊网络中常用的squash向量激活函数,公式为。squash是胶囊网络中常用的squash向量激活函数,公式为最后,迭代r次的用户多兴趣向量表征v
jj
即是||
·
||操作符表示向量的大小。
[0012]
采用胶囊网络从从用户近期行为序列中抽取用户短期多兴趣。采用胶囊网络从从块序列中最近k个块中抽取用户短期多兴趣,即ps=capsulenet(z
m-k+1
,
…
,zm),n是模型超参数,代表用户多兴趣的个数。抽取短期多兴趣的胶囊网络和抽取长期多兴趣的胶囊网络结构一致。
[0013]
采用特征正交映射模块得到长期多兴趣和短期多兴趣的差异。已经得到用户的长期多兴趣是期多兴趣是用户的短期多兴趣是用户第j个长期兴趣向量或者短期兴趣向量是一个胶囊向量,特点是向量方向代表属性,向量长度代表属性的概率。因此,本方法采用特征正交映射模块将解耦成与向量同方向的向量和与向量正交方向的向量向量的大小就代表了向量和向量的差异。对于任两个向量a和b,把向量a映射到向量b同方向得到a1,映射到向量b正交方向得到a2,计算公式为a2=a-a1。所以且用表示第j个兴趣空间下用户长期兴趣和用户短期兴趣之间的差异。最后用户的多样性系数λu等于不同兴趣空间下的长期兴趣和短期兴趣之间的差异的平均值,即本方法中出现的操作符||
·
||表示向量的大小。
[0014]
预测用户对物品的点击率。用户对任一物品v
τ
的点击率是其中是长期多兴趣p
l
内不同兴趣空间下的兴趣与物品v
τ
的向量表征x
τ
做内积计算得到的平均评分,做内积计算得到的平均评分,做内积计算得到的平均评分,是短期多兴趣ps内不同兴趣空间下的兴趣与物品v
τ
的向量表征x
τ
做内积计算得到的平均评分,上
标是向量转置操作符。δ是模型参数,需要模型训练得到。
[0015]
根据模型特性,设计损失函数。通过用户对目标物品的点击率预测值计算预测值和真实值y之间的误差,进而使用误差来更新模型参数。采用交叉熵损失函数来指导模型参数的更新过程:
[0016][0017]
其中,y∈{0,1}是真实值,代表用户是否点击了目标物品。σ是sigmoid函数。采用adam优化器更新模型参数。
[0018]
本发明的有益技术效果如下:
[0019]
(1)本方法考虑到用户长期兴趣和短期兴趣都是多兴趣,对用户的长期多兴趣和长期段兴趣进行建模。
[0020]
(2)本方法考虑到用户对推荐多样化的偏好,设计用户级别的多样性系数,采用特征正交映射模块得到用户长期多兴趣和用户短期多兴趣之间的差异,进而得到多样性系数。
附图说明
[0021]
图1为本发明一种考虑用户多兴趣和推荐多样性的点击率预测方法的流程示意图;
[0022]
图2为本发明一种考虑用户多兴趣和推荐多样性的点击率预测方法的模型图。
具体实施方式
[0023]
为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种考虑用户多兴趣和推荐多样性的点击率预测方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。
[0024]
本方法的问题定义为基于用户的行为序列,预测用户点击目标物品的概率。涉及到的数学符号有:用户集合是u,物品集合是v。用户ui的行为序列为其中vj∈v,下标t表示用户ui行为序列的长度。一种考虑用户多兴趣和推荐多样性的点击率预测方法主要由五个部分组成。第一部分是采用胶囊网络从用户行为序列中抽取用户长期多兴趣;第二部分是采用胶囊网络从从用户近期行为序列中抽取用户短期多兴趣;第三部分是采用特征正交映射模块得到长期多兴趣和短期多兴趣的差异;第四部分是预测用户对物品的点击率;第五部分是根据模型特性,设计损失函数。图2是本方法的模型框架图。
[0025]
如图1所示,按照本发明的一个实施例,本方法包括如下步骤:
[0026]
s100,采用胶囊网络从用户行为序列中抽取用户长期多兴趣。平台中用户集合是u,物品集合是v。用户ui的行为序列为其中vj∈v,下标t表示用户ui行为序列的长度。vj的向量表征是xj。用户的行为序列较长,为了提升计算效率,将用户行为序列分割成块序列。用长度为w的窗口将一个用户的行为序列分割成m个块。此时,第i个块的向量表征的计算方式为本方法中w=5。采用胶囊网络从块序列中抽取用户长期多兴趣p
l
,即p
l
=capsulenet(z1,z2,
…
,zm),),n是模型超参数,
代表用户多兴趣的个数。本方法中,n=5。胶囊网络第一步是从输入的块序列中的块向量表征zi中抽取出不同兴趣空间下的向量表征这里,wj是第j个兴趣的映射矩阵,用户多兴趣的个数为n;第二步是迭代r次以下过程,r是动态路由算法的迭代次数,本方法中,r=2:
[0027][0028][0029]
vj=squash(sj)
[0030][0031]
其中,是第i个块向量表征zi映射到第j个兴趣空间的向量表征。b
ij
是第i个块向量表征到第j个兴趣的连接系数,b
ij
初始化为0,c
ij
是系数b
ij
归一化后的连接系数,表示第i个块是第j个兴趣的可能性,且对于一个块,不同兴趣的可能性和为1,也就是sj将第j个兴趣空间下的汇聚,并经过squash向量激活函数得到用户多兴趣向量表征vj。squash是胶囊网络中常用的squash向量激活函数,公式为。squash是胶囊网络中常用的squash向量激活函数,公式为最后,迭代r次的用户多兴趣向量表征v
jj
即是||
·
||操作符表示向量的大小。
[0032]
s200,采用胶囊网络从从用户近期行为序列中抽取用户短期多兴趣。采用胶囊网络从从块序列中最近k个块中抽取用户短期多兴趣,即ps=capsulenet(z
m-k+1
,
…
,zm),n是模型超参数,代表用户多兴趣的个数。本方法中k=4。抽取短期多兴趣的胶囊网络和抽取长期多兴趣的胶囊网络结构一致。
[0033]
s300,采用特征正交映射模块得到长期多兴趣和短期多兴趣的差异。已经得到用户的长期多兴趣是用户的短期多兴趣是用户第j个长期兴趣向量或者短期兴趣向量是一个胶囊向量,特点是向量方向代表属性,向量长度代表属性的概率。因此,本方法采用特征正交映射模块将解耦成与向量同方向的向量和与向量正交方向的向量向量的大小就代表了向量和向量的差异。对于任两个向量a和b,把向量a映射到向量b同方向得到a1,映射到向量b正交方向得到a2,计算公式为a2=a-a1。所以且用表示第j个兴趣空间下用户长期兴趣和用户短期兴趣之间的差异。最后用户的多样性系数λu等于不同兴趣空间下的长期兴趣和短期兴趣之间的差异的平均值,即本方法中出现的操作符||
·
||表示向量的大小。
[0034]
s400,预测用户对物品的点击率。用户对任一物品v
τ
的点击率是其中是长期多兴趣p
l
内不同兴趣空间下的兴趣与物品v
τ
的向量表征x
τ
做内积计算得到的平均评分,做内积计算得到的平均评分,做内积计算得到的平均评分,是短期多兴趣ps内不同兴趣空间下的兴趣与物品v
τ
的向量表征x
τ
做内积计算得到的平均评分,上标是向量转置操作符。δ是模型参数,需要模型训练得到。
[0035]
s500,根据模型特性,设计损失函数。通过用户对目标物品的点击率预测值计算预测值和真实值y之间的误差,进而使用误差来更新模型参数。采用交叉熵损失函数来指导模型参数的更新过程:
[0036][0037]
其中,y∈{0,1}是真实值,代表用户是否点击了目标物品。σ是sigmoid函数。采用adam优化器更新模型参数。
[0038]
上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。