【论文笔记】ICDM2019 Session-based Recommendation with Local Invariance

PROBLEM

现有方法编码之前行为的方式要么严格遵照顺序,要么完全忽略顺序,然而有时在一个短子序列中行为的顺序是不重要的,即所谓的local invariance,而高阶的顺序信息仍是有用的,因为数据自然上呈现序列性,一个好的SBR应当注意到不同粒度级别的序列信息.

SOLUTION

使用具备高斯权重的全自注意层提取子序列的特征,采用CNN捕捉高阶序列信息.

APPROACH

Overview

采取encoder-predictor结构.
local encoder以item embedding为输入生成短子序列中位置变化无关的group序列表示,global encoder从group序列表示中提取session表示.

Local Encoder

理想化而言,每个group g g g由一个将group内item embeddings加权求和得到的group embedding表示:
x g ′ = ∑ v ∈ G w g , v v (1) \textbf{x}_g'=\sum_{v \in G}w_{g,v}\textbf{v} \tag{1} xg=vGwg,vv(1)
然而,由于group数量不可知,理想化的目标是不可实现的,而且groups可能存在hard borders,因此采取为每一初始item提取group embedding,第 i i i个item相应的group embedding定义如下:
x i ′ = ∑ 1 ≤ j ≤ t w i j x j (2) \textbf{x}_i'=\sum_{1 \le j \le t}w_{ij}\textbf{x}_j \tag{2} xi=1jtwijxj(2)
具体而言,groups有相似的邻接items组成,这意味着与item i i i更为相似的items具备更大的 w i j w_{ij} wij
w i j ∝ α i j ( l ) ⋅ f i ( ∣ i − j ∣ ) ∑ j w i j = 1 (3,4) w_{ij} \propto \alpha_{ij}^{(l)} \cdot f_i(\vert i-j \vert) \\ \sum_jw_{ij}=1 \tag{3,4} wijαij(l)fi(ij)jwij=1(3,4)
α i j ( l ) \alpha_{ij}^{(l)} αij(l)是利用注意力机制得到的 x j \textbf{x}_j xj的重要性得分,可视为某种程度上的相似度:
e i j ( l ) = v l T tanh ⁡ ( W l [ x i , x j ] ) α i j ( l ) = exp ⁡ ( e i j ( l ) ) ∑ k exp ⁡ ( e i k ( l ) ) (5,6) \begin{aligned} e_{ij}^{(l)}&=\textbf{v}_l^T\tanh (\textbf{W}_l[\textbf{x}_i,\textbf{x}_j]) \\ \alpha_{ij}^{(l)}&=\frac{\exp (e_{ij}^{(l)})}{\sum_k\exp (e_{ik}^{(l)})} \tag{5,6} \end{aligned} eij(l)αij(l)=vlTtanh(Wl[xi,xj])=kexp(eik(l))exp(eij(l))(5,6)
注意公式 ( 5 , 6 ) (5,6) (5,6) l l l表示 l o c a l local local f ( ⋅ ) f(\cdot) f()是均值为 0 0 0、方差为 σ i 2 \sigma_i^2 σi2的高斯分布的可能性密集度函数.

邻接items与 x i \textbf{x}_i xi越相似,group size越大,分配给邻接items的权重越大,方差越大,换言之,方差与 x i \textbf{x}_i xi和其邻接items间评价相似度正相关,因此方差有如下定义:
σ i 2 = k ⋅ 1 2 m ∑ l , 0 < ∣ i − l ∣ ≤ m sim ( x i , x l ) (7) \sigma_i^2=k \cdot \frac{1}{2m}\sum_{l,0 \lt \vert i-l \vert \le m}\text{sim}(\textbf{x}_i,\textbf{x}_l) \tag{7} σi2=k2m1l,0<ilmsim(xi,xl)(7)
其中 k k k为参数, sim ( ⋅ , ⋅ ) \text{sim}(\cdot , \cdot) sim(,)是相似度方法,普遍采取cosine similarity, m m m为上下文的大小,为防止包含不在当前group的items,实验中 m m m 1 ∼ 3 1\sim 3 13.
观察公式 ( 3 ) (3) (3) f i ( ∣ i − j ∣ ) f_i(\vert i-j \vert) fi(ij)的加入使得 x i ′ \textbf{x}_i' xi集中于局部区域.

Global Encoder

global encoder将group features [ x 1 ′ , x 2 ′ , ⋯   , x t ′ ] [\textbf{x}_1',\textbf{x}_2',\cdots,\textbf{x}_t'] [x1,x2,,xt]编码成session embedding,这里采用RNN生成session表示,RNN的输出状态为 [ h 1 , h 2 , ⋯   , h t ] [\textbf{h}_1,\textbf{h}_2,\cdots, \textbf{h}_t] [h1,h2,,ht] h i \textbf{h}_i hi可视为前 i i i个groups的表示,由此session表示为:
c h = ∑ i α ( g ) h i (8) \textbf{c}_h=\sum_i\alpha^{(g)}\textbf{h}_i \tag{8} ch=iα(g)hi(8)
其中 α ( g ) \alpha^{(g)} α(g)使用注意力机制计算:
e i ( g ) = v g T tanh ⁡ ( W g [ h i , h t ] ) α i ( g ) = exp ⁡ ( e i ( g ) ) ∑ k exp ⁡ ( e k ( g ) ) (9,10) \begin{aligned} e_i^{(g)}&=\textbf{v}_g^T\tanh(\textbf{W}_g[\textbf{h}_i,\textbf{h}_t]) \\ \alpha_i^{(g)}&=\frac{\exp(e_i^{(g)})}{\sum_k\exp(e_k^{(g)})} \tag{9,10} \end{aligned} ei(g)αi(g)=vgTtanh(Wg[hi,ht])=kexp(ek(g))exp(ei(g))(9,10)
注意公式 ( 9 , 10 ) (9,10) (9,10) g g g表示 g l o b a l global global.

通过 l o c a l local local g l o b a l global global编码器的联合,session表示 c h \textbf{c}_h ch包含了整个session的广泛序列信息,且不受子序列中不重要的局部位置变换影响.

Predictor

考虑到用户当前兴趣用最后一个交互item表示,即 m t = x t \textbf{m}_t=\textbf{x}_t mt=xt,当前session混合表示 c \textbf{c} c c h \textbf{c}_h ch m t \textbf{m}_t mt组成,则候选item v i ∈ V v_i \in V viV的得分:
z i = v i T g ( c ) (11) \textbf{z}_i=\textbf{v}_i^Tg(\textbf{c}) \tag{11} zi=viTg(c)(11)
g g g是将 c \textbf{c} c转换成与 v i \textbf{v}_i vi相同纬度的神经网络.
归一化得分:
y ^ = softmax ( z ) (12) \hat{\textbf{y}}=\text{softmax}(\textbf{z}) \tag{12} y^=softmax(z)(12)
使用交叉熵作为优化目标:
L ( y , y ^ ) = ∑ i y i log ⁡ y i ^ (13) \mathcal{L}(\textbf{y},\hat{\textbf{y}})=\sum_i\textbf{y}_i\log \hat{\textbf{y}_i} \tag{13} L(y,y^)=iyilogyi^(13)

EXPERIMENT

Comparison with Existing Methods

在这里插入图片描述

Ablation Experiments

在这里插入图片描述

Capability of Considering Local Invariance

这一部分定义了衡量两个item间相似性的公式,依据threshold θ \theta θ进行研究,具体见paper,这里从略.
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值