Behavior Sequence Transformer for E-commerce Recommendation in Alibaba
Introduction
文章指出之前的WDL和DIN都没有对序列信号进行很好的捕捉,同时受transformer的启发,文章提出了BST(behavior sequence transformer)来对序列信息进行捕捉生成合适的embedding,后送入MLP对用户进行响应的预测。
Architecture
Embedding Layer
文章将用户的偏好特征,item特征,上下文特征,以及交叉特征都视为其他特征,embedding的方法为将这些特征连接在一起后一起嵌入低维向量。下图为 other feature example。
至于表现序列中的item,作者使用两种特征来表示item,一个是Sequence item特征,一个是positional feature。在Sequence item特征中,只包括item_id和category_id。而对于positional feature来说,文章没有使用《attention is all you need》中的positional embedding来捕获句子中的顺序信息。而采用
p
o
s
(
v
i
)
=
t
(
v
t
)
−
t
(
v
i
)
pos(v_i)=t(v_t)-t(v_i)
pos(vi)=t(vt)−t(vi)的计算方式,其中
t
(
v
t
)
t(v_t)
t(vt)表示推荐的时间,而
t
(
v
i
)
t(v_i)
t(vi)表示用户点击商品
v
i
v_i
vi时的时间戳。采用这种方式,其效果优于原论文中使用的 sin 和 cos 函数。
####Transformer Layer
transformer层基本与原论文的结构是一致的,除了在FFN层中使用leakyrelu。
MLP layer and Loss function
通过将得到的other feature的embedding和transformer层的输出连接,后使用三层全连接层来进一步学习特征之间的关系,最后通过sigmoid函数来预测是否target item会被点击。
损失函数则是一般二分类的交叉熵loss。