前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WSDM'22「微软」会话推荐:多粒度连续用户意图学习

WSDM'22「微软」会话推荐:多粒度连续用户意图学习

作者头像
秋枫学习笔记
发布2022-09-19 11:12:39
3900
发布2022-09-19 11:12:39
举报
文章被收录于专栏:秋枫学习笔记

点击关注我们,提升学习效率

title:Learning Multi-granularity Consecutive User Intent Unit for Session-based Recommendation

link:https://arxiv.org/pdf/2112.13197.pdf

from:WSDM 2022

1. 导读

本文针对会话推荐方向,相较于关注序列中的单个商品,本文关注如何利用GNN从连续片段中捕获用户偏好。通过多粒度连续用户意图单元捕获用户兴趣,作者提出了多粒度意图异构会话图(MIHSG),它捕获了不同粒度意图单元之间的交互并减轻了长依赖的负担。此外,作者提出了意图融合排名(IFR)模块来组合来自各种粒度用户意图的推荐结果。

2. 方法

image.png

2.1 问题定义

I=\{v_1,...,v_{|I|}\}

表示所有的商品的集合,会话表示为

s_i=\{v_{t_1},...,v_{t_L}\}

,其中L是会话长度,

t_l

表示在位置

l

时商品的id。目的是给定s_i后,预测

v_{t_{L+1}}

2.2 连续意图单元

现存的会话推荐的方法更多的关注会话中的那个商品,而忽略了会话所能反映的更高级别的用户意图。本节所提方法不仅学习单个商品所表达的意图,还学习了连续片段中商品的组合意图。令

v_j^k=(v_j,...,v_{j+k-1})

表示一个连续片段,从第j个开始,长度为k。k表示连续意图捕获的粒度大小。对于给定的会话s,用

e_j^1

表示粒度为1的embedding,也就是单个商品的embedding,对于粒度级别为k的片段,用函数R来对片段内的商品embedding进行聚合,公式如下,

e_j^k=\mathcal{R}(\{e_j^1,...,e_{j+k-1}^1\})

这部分考虑两类函数R,产生两类表征,即基于集合和基于序列来生成高级意图单元的表示。一方面,基于集合的聚合函数,例如MEAN、MAX 等可以提取顺序不变的意图;另一方面,基于序列的函数,例如Gate Recurrent Unit (GRU) 可以提取顺序敏感的意图。然后将两类表征相加,公式如下,

e_j^k=e_j^{k,set}+e_j^{k,seq}

2.3 MIHSG的构建

MIHSG 由多个子图组成,每个子图对同一级别连续意图单元的意图之间的转换进行建模。由 level-𝑘 连续意图单元构建的图被定义为 level-𝑘 意图会话图。

2.3.1 level-k意图会话图

level-k表示粒度为k的情况。level-k会话图捕获了用户-商品交互的空间连续性。他是有向图

\mathcal{G}_s^k=(\mathcal{V}_s^k,\mathcal{E}_s^k)

,每个节点代表一个level-𝑘连续意图单元的意图,每条边连接两个连续相邻level-𝑘连续意图单元。如果节点在会话序列中相邻,则它们具有连接。level-1会话图捕获商品之间的细粒度意图转换。随着意图单元长度的增加,会话图包含意图单元之间的更高级别的转换模式。

2.3.2 MIHSG

将上述构建的不同粒度的会话图整合后,构建统一的异构会话图,MIHSG。这里引入一种边,命名为粒度间的边(inter-granularity edge),用这种边链接不同粒度的会话图和粒度为1的连续会话图。例子:在会话 𝑠 = {𝑣1, 𝑣2, 𝑣1, 𝑣3} 中,可以构造两个粒度间的边。它们是 (𝑣1, inter, (𝑣2, 𝑣1)) 和 ( (𝑣2, 𝑣1), inter, 𝑣3)。这可以捕获跨粒度级别的意图转换模式。上述例子中的(v2,v1)就是通过2.2节学习到的表征。

2.4 会话表征学习

2.4.1 学习连续意图单元的表征

使用HGAT对有向图的节点表征进行学习。对于有向边(s, e, t),s是源节点,t是目标节点,e是边,粒度为k的节点可以表示为

k_s

,

k_t

,令

\phi_e

表示边的类型。对于一个粒度为k的MIHSG,

k_s,k_t \in \{1,...,K\}

\phi_e=\{inter,intra-1,...,intra-K\}

。对于每一层,利用双向注意力机制,聚合出近邻和入近邻的表征。以入近邻为例,令

N_{\phi_e}

表示节点入近邻的节点集合。聚合公式如下,其中w和a是可学习参数,在不同层不共享。

h_s^{(0)}=e_s

h_t^{(0)}=e_t

是意图到单元的初始表征,σ为leakyrelu函数。

\begin{aligned} h_{t}^{(l+1)} &=\sum_{\phi_{e}} \sum_{s \in \mathcal{N}_{\phi_{e}}(t)} \alpha_{s}^{(l)} W_{\phi_{e}}^{(l)} h_{s}^{(l)} \\ \alpha_{s}^{(l)} &=\operatorname{Softmax}_{s}\left(\tilde{\alpha}_{s}^{(l)}\right) \\ \tilde{\alpha}_{s}^{(l)} &=\sigma\left(\overrightarrow{\mathbf{a}}_{\phi_{e}}^{(l)^{T}}\left[W_{\phi_{e}}^{(l)} h_{s}^{(l)} ; W_{\phi_{e}}^{(l)} h_{t}^{(l)}\right]\right) \end{aligned}

上述过程采用多头注意力机制,并采用取最大值而不是均值或拼接,公式如下,h是每个头,R是取最大。

h_{t}^{(l+1)}=\underset{i=1, \ldots, H}{\mathcal{R}}\left(h_{t}^{(l+1), i}\right)

利用HGAT对入近邻和出近邻分别进行聚合后,可以得到两类embedding

\overrightarrow{h}_{v}^{(l+1)}

\overleftarrow{h}_{v}^{(l+1)}

,节点v的局部表征表示为上面两者的和

\tilde{h}_v^{(l+1)}=\overleftarrow{h}_v^{(l+1)}+\overrightarrow{h}_v^{(l+1)}

,其最终表征为局部表征和会话中所有表征的均值的和

h_{v}^{(l+1)}=\tilde{h}_{v}^{(l+1)}+\bar{h}_{u \in s}^{(l+1)}

2.4.2 学习整个会话的表征

会话表征的计算不是在图上计算,而是在划分的k粒度的片段上计算。令每个片段的表征为

h_i^k \in \mathbb{R}^d

i=1,...,n_k

k=1,...,K

,nk表示每个级别粒度的片段的数量,K表示所有可能的粒度级别。对于每个级别的连续意图单元,生成局部表征

z_l^k

和全局表征

z_g^k

来反映用户偏好。用该级别中最后一个单元

h_{n_k}^k

(即,最后的片段)作为

z_l^k

,结合软注意力机制计算得到

z_g^k

。为了使每个级别的会话表征捕获完整的用户意图,文中组合所有意图单元的embedding以生成上下文集合

C=\left\{h_{i}^{k} \mid i=i, \ldots, n_{k}, k=1, \ldots, K\right\}

h_c \in C

表示其中过的元素。全局表征计算公式如下,主要就是通过注意力机制加权,这里不赘述。

z_{g}^{k}=\sum_{c=1}^{|C|} \operatorname{Softmax}_{c}\left(\gamma_{c}^{k}\right) h_{c}
\gamma_{c}^{k}=W_{0}^{k^{T}} \sigma\left(W_{1}^{k} h_{c}+W_{2}^{k} z_{l}^{k}+b^{k}\right)

粒度为k的用户偏好表征计算公式为,

z_s^k=W_3^k[z_g^k;z_l^k]

2.5 意图融合排序和优化

根据上面的计算得到不同粒度的偏好表征后,

z_s^1,...,z_s^K

,利用意图融合排序来捕获更全面的用户偏好。首先在分别对不同级别粒度单独计算,对于每个粒度为k的意图,采用内积计算候选商品意图和粒度为k的会话表征之间的是相似度,公式如下,

y_{i}^{k}=\left\langle z_{s}^{k}, e_{i}^{1}\right\rangle

考虑复购和探索问题,文中将会话中的商品和会话外的商品区分开,分别对计算得到的y采用softmax,公式如下,

\tilde{y}_{r_{i}}^{k}=\frac{\exp \left(y_{r_{i}}^{k}\right)}{\sum_{j=1}^{|R|} \exp \left(y_{r_{j}}^{k}\right)}, \quad \tilde{y}_{o_{i}}^{k}=\frac{\exp \left(y_{o_{i}}^{k}\right)}{\sum_{j=1}^{|O|} \exp \left(y_{o_{j}}^{k}\right)}

其中R是会话内的商品的集合,O是会话外的商品的集合,|I|=|O|+|R|。因为在会话内的,可能会有重复点击,将会话内外的区分开,能一定程度上考虑到复购和探索问题。通过加权来平衡重复点击和探索点击,公式如下,

\begin{aligned} \mathbf{y}^{k} &=\left[\beta_{r}^{k} \tilde{\mathbf{y}}_{r}^{k} ; \beta_{o}^{k} \tilde{\mathbf{y}}_{o}^{k}\right] \\ \beta_{r}^{k}, \beta_{o}^{k} &=\operatorname{Softmax}\left(W_{1}^{T} \sigma\left(W_{2} z_{s}^{k}\right)\right) \end{aligned}

意图融合排名(IFR)融合所有粒度级别的意图预测的推荐结果。引入一个加权求和算子来融合各级意图生成的概率分布,以生成最终的概率分布 y,公式如下,其中α是可学习参数,相当于对α进行标准化后加权。

\hat{\mathbf{y}}=\sum_{k=1}^{K} \hat{\alpha}^{k} \mathbf{y}^{k}, \quad \hat{\alpha}^{k}=\frac{\exp \left(\alpha^{k}\right)}{\sum_{k=1}^{K} \exp \left(\alpha^{k}\right)}

最后损失函数采用交叉熵损失函数。

3. 实验结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 问题定义
  • 2.2 连续意图单元
  • 2.3 MIHSG的构建
    • 2.3.1 level-k意图会话图
      • 2.3.2 MIHSG
      • 2.4 会话表征学习
        • 2.4.1 学习连续意图单元的表征
          • 2.4.2 学习整个会话的表征
          • 2.5 意图融合排序和优化
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档