zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SIGIR'22「腾讯」HIEN:用于点击率预估的分层意图embedding学习

腾讯学习 &# 用于 22 x27 分层 预估
2023-06-13 09:12:48 时间

关注我们,一起学习~

标题:HIEN: Hierarchical Intention Embedding Network for Click-Through Rate Prediction 链接:https://arxiv.org/pdf/2206.00510.pdf 会议:SIGIR 2022 公司:腾讯

1. 导读

特征交互建模和用户兴趣建模方法是 CTR 预测中的两个热门领域,现有方法存在两方面的不足。

  • 首先,传统方法将物品属性视为ID特征,而忽略了结构信息和属性之间的依赖关系
  • 其次,当从用户-商品交互中挖掘用户兴趣时,当前模型忽略了不同属性的用户意图和商品意图,缺乏可解释性。

本文提出了一种新颖的方法分层意图embedding网络HIEN),该方法在构建的属性图中基于自下而上的树聚合考虑属性的依赖关系。根据分层注意力机制捕获不同商品属性的用户意图以及商品意图。

2. 懒人阅读

本文主要针对特征embedding部分提出相应的改进,提出HIEN方法。

  • 一方面,将属性和商品(用户)之间的关系表示为图和树的结构形式,通过一些聚合方法发掘属性之间的结构和依赖关系。
  • 另一方面,将注意力机制和前面的层次结构结合,发掘不同属性的用户意图和商品意图

3. 方法

现有的大部分工作都专注于特征交互层来学习高阶和更具表现力的特征交互,而忽略了embedding层的优化。本文的目标是学习属性和用户/商品意图的结构信息,从而改进原始特征embedding。如上图 2 为HIEN框架图。

3.1 图构建

3.1.1 属性图

构建商品的属性图为

G_v=(V \cup A_v,\mathcal{E}_v)

\mathcal{E}_v

表示边的集合,每条边

e_v=(v,a_v)

表示商品v有属性

a_v

,如下图所示,商品的属性之间存在关联和依赖关系。将属性和商品分成多个树状特征结构(即商品属性树

T_v

),其中每个树包含所有连接的属性和商品。那么商品属性图

G_v

可以看成是一组商品属性树,即

G_v^t=\{T_v^1,...,T_v^n\}

T_v

中的边

e_t=(t_i,t_j)

表示存在关系,其中

t_i\in V \cup A_v

t_j \in A_v

是树的节点。在每个商品属性树中,商品是叶节点,属性是父节点。同理,可以构造用户属性图

G_v=(U \cup A_u,\mathcal{E}_u)

和用户属性树

G_u^t

3.1.2 用户-商品二分图

从用户-商品交互矩阵Y定义用户-商品二分图

G_{uv}=(U,V,\mathcal{E}_{uv})

,如果存在交互,则存在边

e_{uv}=(u,v)

3.1.3 任务描述

  • 输入:用户u的属性树
G_u^t

和商品v的属性树

G_v^t

,用户-商品交互二分图

G_{uv}
  • 输出:用户u和商品v交互的概率

3.2 属性树聚合

在构造属性图

G_u

G_v

时,直观方法是执行图卷积。但是,不同属性的特性差异很大。例如,商品属性集中的ID和价格具有不同的语义和分布,在图学习中聚合它们可能会引入噪声。然而,大多数现有的基于 GNN 的方法执行图卷积以聚合来自相邻节点的信息,而忽略了不同属性之间的不同特征。这里采用自下而上的聚合策略来考虑结构特征信息,该策略保持不同属性的固有特征。对于

G_u^t

G_v^t

中的每个属性树T,需要学习节点的表征

e_h

。通过自下而上的方式聚合其子节点

e_{C_h}

来学习

e_h

e_h=g(e_h,e_{C_h})

。基于几个最先进的 GCN 模型实现g()用于属性树聚合,具体如下,

  • GCN聚合器,将中心节点及其直接连接节点的表示相加,然后应用非线性变换,
g_{G C N}\left(\boldsymbol{e}_{h}, \boldsymbol{e}_{C_{h}}\right)=\sigma\left(\boldsymbol{W}\left(\boldsymbol{e}_{h}+\boldsymbol{e}_{C_{h}}\right)\right)
  • NGCF聚合器,考虑中心节点和邻居节点的特征交互,公式如下,
\odot

为逐元素相乘

g_{N G C F}\left(\boldsymbol{e}_{h}, \boldsymbol{e}_{C_{h}}\right)=\sigma\left(\boldsymbol{W}_{1} \boldsymbol{e}_{h}+\sum_{i \in C_{h}}\left(\boldsymbol{W}_{1} \boldsymbol{e}_{i}+\boldsymbol{W}_{2}\left(\boldsymbol{e}_{h} \odot \boldsymbol{e}_{i}\right)\right)\right)
  • LightGCN聚合器,直接聚合邻居节点
g_{LightGCN}(e_h,e_{C_h})=\sum_{i\in C_h}{e_i}
  • 拼接和乘法聚合器(CP聚合器),考虑节点间的交互,公式如下,
\begin{array}{l} g_{\text {Concat \&Product }}\left(\boldsymbol{e}_{h}, \boldsymbol{e}_{C_{h}}\right)=f\left(\boldsymbol{e}_{h} \odot \boldsymbol{e}_{C_{h}}, \boldsymbol{e}_{h} \oplus \boldsymbol{e}_{C_{h}}\right) \\ =\sigma\left(\boldsymbol{W}_{1} \boldsymbol{e}_{h}+\sum_{i \in C_{h}}\left(\boldsymbol{W}_{1} \boldsymbol{e}_{i}+\boldsymbol{W}_{2}\left(\boldsymbol{e}_{h} \odot \boldsymbol{e}_{i}\right)+\boldsymbol{W}_{3}\left(\boldsymbol{e}_{h} \oplus \boldsymbol{e}_{i}\right)\right)\right) \end{array}

通过属性聚合可以得到新的表征为下式,前两个为商品和用户得ID embedding,中间两个为聚合后的属性embedding,然后是上下文embedding和用户交互的商品序列embedding。

E'=\{e_v,e_u,e_{A_u}',e_{A_v}',e_C,e_{B_u}\}

3.3 分层意图模型

在细化属性表征之后,学习用户和商品表征并捕获用户兴趣。现有的用户兴趣方法可以分为两类:用户行为建模和基于 GNN 的方法。然而,这些方法中的大多数都忽略了不同属性的用户意图和商品意图。例如,用户可能会因其类别和发布时间而点击新游戏广告。

给定用户-商品二分图

G_{uv}

,使用用户-商品边

E_{uv}

来学习它们的embedding。为了考虑不同商品属性的用户意图,为每个商品属性分配一个注意力权重还考虑层次属性的内在影响。公式如下,其中α为用户和商品的各个属性计算的注意力系数,在计算过程中需要考虑属性树的层级结构,从图1的树结构可以发现

e_x^4

e_x^2

的父节点,因此要结合考虑。

\boldsymbol{e}_{v}^{(1)}=a_{0} \alpha_{0} \boldsymbol{e}_{x}^{0}+a_{1} \alpha_{1} \boldsymbol{e}_{x}^{1}+a_{2}\left(\alpha_{2} \boldsymbol{e}_{x}^{2}+a_{4} \alpha_{4} \boldsymbol{e}_{x}^{4}\right)+a_{3} \alpha_{3} \boldsymbol{e}_{x}^{3},

关系图如下图所示,

注意力系数α计算方式如下,

e_u^{(0)}

为原始的用户ID的embedding,

a_{i}\left(u, x_{i}\right)=\frac{\exp \left(\boldsymbol{e}_{u}^{(0)} \boldsymbol{e}_{x}^{i}\right)}{\sum_{x^{\prime} \in A_{v}} \exp \left(\boldsymbol{e}_{u}^{(0)} \boldsymbol{e}_{x^{\prime}}\right)}

同理可以得到商品对用户属性

e_y

的意图,公式如下,用户属性不具有分层结构,所以直接加权求和。

e_u^{(1)}=\sum_{i=0}{b_i\beta_ie_y^i}
b_{i}\left(v, y_{i}\right)=\frac{\exp \left(\boldsymbol{e}_{v}^{(0)} \boldsymbol{e}_{y}^{i}\right)}{\sum_{y^{\prime} \in A_{u}} \exp \left(\boldsymbol{e}_{v}^{(0)} \boldsymbol{e}_{y^{\prime}}\right)}

然后建模用户-商品交互,生成相应的表征,N为交互图中的邻居节点,g()为前面提到的各种聚合器,

\begin{array}{l} \boldsymbol{e}_{u}^{(l)}=g\left(\boldsymbol{e}_{u}^{(l-1)}, \boldsymbol{e}_{N_{u}}^{(l-1)}\right) \\ \boldsymbol{e}_{v}^{(l)}=g\left(\boldsymbol{e}_{v}^{(l-1)}, \boldsymbol{e}_{N_{v}}^{(l-1)}\right) \end{array}

3.4 预测

经过L层消息传播之后,对每层的表征进行聚合得到下式,

e_u'=e_u^{(0)}+,...,+e_{u}^{(L)}
e_v'=e_v^{(0)}+,...,+e_{v}^{(L)}

总的特征表征为

E'=\{e_u',e_v',e_{A_u}',e_{A_v}',e_{B_u}',e_C\}

,然后结合常用的CTR预测模型可以进行训练和预测。

4. 结果

聚合器的比较