前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DPN: 考虑用户行为模式的点击率(CTR)预估方法

DPN: 考虑用户行为模式的点击率(CTR)预估方法

作者头像
秋枫学习笔记
发布2024-04-30 19:16:01
1160
发布2024-04-30 19:16:01
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

1. 导读

本文方法主要针对ctr预估中的用户行为建模提出相应的模型,用户交互历史包含了不同的行为模式,反映用户的习惯性范式。本文所提方法利用用户行为模式,将目标注意力(TA)机制扩展到目标模式注意力(TPA)机制,以对行为模式之间的依赖关系进行建模。

本文引入了深度模式网络(DPN),利用用户行为模式的信息。DPN使用目标感知注意力机制检索与目标商品相关的用户行为模式。同时,通过基于自监督学习的预训练范式来细化用户行为模式,同时促进稀疏模式中的依赖性学习。

2.方法

alt text

2.1 base模型

embedding层用于提取用户特征emb和行为emb,行为序列中包含了历史交互的item id和item的类型,得到两者的emb后进行拼接得到

e_k

,表示第k个行为的emb,则行为序列emb表示为

E_S=[e_1,e_2,...,e_N]

2.1.1 用户兴趣提取模块

采用DIN作为用户兴趣提取的骨干网络,使用目标注意力机制来捕捉用户对目标商品

i_T

的兴趣表征

V_T

,表示如下,其中a()是attention函数(和DIN中一样这里不赘述),

e_T

是目标商品的emb和序列emb一样也是拼接了item id和类型的emb。

\mathbf{v}_T=\sum_{k=1}^Na(\mathbf{e}_T,\mathbf{e}_k)\cdot\mathbf{e}_k,

2.2 目标感知的模式检索模块(TPRM)

TPRM搜索用户相对于目标商品和类别的行为模式,前面计算出了不同历史交互和目标商品attn分数,现在根据这些分数检索出topN个最相关的,表示如下:

idx_1,idx_2,\cdots,idx_K=\underset{K}{\operatorname*{argtopk}} \ a(\mathbf{e}_T,\mathbf{e}_1),\cdots,a(\mathbf{e}_T,\mathbf{e}_N),

然后定义交互模式,所谓交互交互模式

p_k

,就是对于前面取出的topK个行为,以第k个为例,其对应的索引是

idx_{k}

,则交互模式表示为当前索引和其之前的

l-1

次交互组成的行为序列,表示为

p_k=\{b_{idx_{k-l+1},...,idx_{k}}\}

2.3 自监督模式细化模块(SPRM)

用户行为模式并不总是连续的,一些不相关的商品可能会被其他兴趣所误导或驱动。例如,如果用户依次与iPhone、T恤和Airpods交互,那么只有从iPhone到Airpods的过渡才是有意义的模式。本节提出了一个自监督模式细化网络,从检索到的原始用户行为模式中提取真实的用户行为模式,如图4所示。首先,通过自监督去噪任务对细化网络进行预训练。然后DPN应用预训练的细化网络来细化检索到的模式。

2.3.1 数据增广

将一个用户行为模式,作为原始输入

p=\{b_1',...,b_s'\}

。 然后,在序列中随机混合一些其他的交互,得到

p^{aug}=\{b_1'',...,b_l''\}

。增广的行为模式序列的最后一个记录和原始行为模式序列应该一样,这向细化网络指示了行为模式的决策目标是什么。

2.3.2 细化网络

使用两层Transformer来编码,从增广的序列中提取行为模式表征。表达如下,

\mathbf{X}^{(0)}=\begin{bmatrix}\mathbf{e}_1''+\mathbf{e}_1^{pos},\mathbf{e}_2''+\mathbf{e}_2^{pos},\cdots,\mathbf{e}_l''+\mathbf{e}_l^{pos}\end{bmatrix},
\mathbf{H}^{(m)}=\mathrm{LayerNorm}\left(\mathbf{X}^{(m-1)}+\mathrm{SA}\left(\mathbf{X}^{(m-1)}\right)\right),\\\mathbf{X}^{(m)}=\mathrm{LayerNorm}\left(\mathbf{H}^{(m)}+\mathrm{FFN}\left(\mathbf{H}^{(m)}\right)\right),

因此,经过M层后得到表示向量

X^{(M)}

,文中是2。然后,通过mlp来预测

o=MLP(X^{(M)})

,本来是

B*l*d

维度的tensor,经过mlp之后得到

B*l*1

,在使用的时候(图4右边部分),选取top-s个logit对应的行为,相当于就是把低logit的去噪了。

2.3.3 损失函数

这部分自监督训练采用交叉熵损失,表示为下式,

\mathcal{L}_{SSL}=-\sum_{j=1}^l\mathbb{I}_p(b_j^{\prime\prime})*\log(o_j),b_j^{\prime\prime}\in p^{aug},

2.4 目标模式注意力机制(TPA)

用户行为模式反映了用户隐含的心理决策范式。对历史行为模式和当前目标行为模式之间的依赖性进行建模,可以有效地帮助模型确定对目标商品和类别的点击是否符合用户的习惯范式,从而提高模型的推荐性能。

因此,可以将target attention扩展到target pattern attention,进行模式间依赖建模。通过前面的细化网络,我们可以得到和目标item相关的第k个行为模式序列的表征为

p_k^*=\{b_1^*,...,b_s^*\}

, 然后和目标item对应的模式做target attention。这里的目标模式

p_T=\{b_{N-s+2},...,b_{N}, b_T\}

,笔者理解

b_T

要计算的候选item,然后前面的是距离当前最近的几次交互,一起构成目标模式行为序列。

\mathbf{v}_p=\sum_{k=1}^Ka(\mathbf{E}_{p_T},\mathbf{E}_{p_k^*})\cdot\mathbf{E}_{p_k^*},

2.5 训练目标

预测点击和不点击的概率,如下是,然后构建交叉熵损失函数

(\begin{array}{cc}\hat{y}&,&1-\hat{y}\end{array})=\mathrm{softmax}(\mathrm{MLP}(\left[\mathbf{e}_T;\sum_{j=1}^N\mathbf{e}_j;\mathbf{v}_T;\mathbf{v}_p\circ\mathbf{E}_{p_T}\right]).

3. 结果

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-27,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 导读
  • 2.方法
    • 2.1 base模型
      • 2.1.1 用户兴趣提取模块
    • 2.2 目标感知的模式检索模块(TPRM)
      • 2.3 自监督模式细化模块(SPRM)
        • 2.3.1 数据增广
        • 2.3.2 细化网络
        • 2.3.3 损失函数
      • 2.4 目标模式注意力机制(TPA)
        • 2.5 训练目标
        • 3. 结果
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档


        http://www.vxiaotou.com