目录
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′=v∈G∑wg,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′=1≤j≤t∑wijxj(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(∣i−j∣)j∑wij=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=k⋅2m1l,0<∣i−l∣≤m∑sim(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
1∼3.
观察公式
(
3
)
(3)
(3),
f
i
(
∣
i
−
j
∣
)
f_i(\vert i-j \vert)
fi(∣i−j∣)的加入使得
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
vi∈V的得分:
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^)=i∑yilogyi^(13)
EXPERIMENT
Comparison with Existing Methods
Ablation Experiments
Capability of Considering Local Invariance
这一部分定义了衡量两个item间相似性的公式,依据threshold
θ
\theta
θ进行研究,具体见paper,这里从略.