简介
AAAI 2021
Motivation
-
在序列推荐中,Bert已经被用来进行处理序列数据,而其中最核心的机制就是自注意力mechanism。
-
Bert模型又一个限制就是只能考虑一种tokens的输入
但是在推荐场景中,还有很多其他的信息,除了点击历史,还有durating,past_days等等 -
本文将关注如何将多种类型的信息利用并使用bert framework进行处理
Invasive VS Non-Invasive
作者将外部信息的利用分为两种方式:
- Invasive
什么是入侵方式?
如上图所示,他将category,time,appId三种类型的信息都相加合并为一个embedding输入到sequential model,这样作者认为会造成信息过载问题,这是非常不好的现象。
- Non-Invasive
第二种方法就是非入侵的方式:
如上图所示,这里并没将这三种不同类型的信息进行直接fusion,而是通过修改Attention metrics的方法加入到了sequential model这种方法并没有硬性的修改appID的embedding表示。所以被称为Non-Invasive。
这种方式也是作者本文采用的一种。
- 什么是side information?
这里就是我说的其他的信息,不过作者进行更细致的分类:
Problem Statement
-
input:
输入的是用户的历史交互信息。
第一个式子表示的是历史sequence
第二个式子表示的是Behavior-related信息,
最后一个就是item-related信息。 -
output:
输出方面,得到的是用户最可能点击的下一个item
Model
在介绍model之前作者先分析了BERT4Rec这个模型:
如上图,这是BERT4Rec的结构图。
-
Embedding layer
在这一层中,
处理方法是invasive的,直接对不同的token信息进行整合,然后输入到BERT结构中。 -
self-attention layer
然后在自注意力的部分并没有做什么特别的 处理,沿用以往的公示。
接下来就是本文的NOVA模型,主要是实现了Non-invasive self-attentino
整体结构如下,可以非常明显的看到NOVA模型的non-invase思想,可以看到和左边模型的明显区别。
同样分成Embedding Layer 和self-attention layer两个部分。
- Embedding Layer
- Selfattetnion Layer
结合framework的图可以看到,将item的embedding作为V,然后使用fused item rep作为K和Q,对于selfattention的原理我不多解释,我说一下浅白的理解方便大家能够明白non-invasive的精彩之处:
虽然我们希望将side information加入到sequence model中,但是最终得到的依然是基于item的兴趣序列的表示,所以当你用fusion rep作为输入的时候就会导致模型side information会对于item sequence的序列建模带来噪声,那么side information的收益很可能因为对于item seqence带来噪声而被消减,甚至还不如不引入side information。
对于Noninvasive的方式,则是根据每个item的fusion rep对于其他item的fusion rep的相似性/相关性将pure item representation进行加权处理,这样就没有污染item rep。同时又考虑了side information带来的收益,这是值得琢磨的思路和想法。
NOVA-Bert
- Fusion func
作者列举了三种方法:
Experiments
- Dataset:
- Metric:
- RES
大家共勉~
slides来自我的师兄