通过上图理解本文提出的1-hop和2-hop,考虑这两种关系的时候,是基于target user 和 target item这样的成对样本的。(注意本文中的G(u|v)的定义容易让人产生误解,这里的u其实是一个集合。Eq 10 中的G(u)和G(u|v)中的u不是一个东西,前者是target user,后者是集合示意; 另外S=|G(u)|=G(u|v)是人为设置的)

当考虑target user-item时,其实一个考虑的是1-hop,另一个是2-hop(如上图上半部分:user是1-hop;而item是2-hop),当通过对列向量进行sum poolling时,就会得到1-hop中的每个item同2-hop整体之间的联系强弱(weight)。通过这个weights进一步aggregate 1-hop中item的表达

通过这样的形式,会为每一个t构建一个user和item的表达。把所有的user/item的表达进行attention加权聚合,就得到了最后的user/item表达。

这里有几个实验设计可以借鉴下或引用下:

(1)15天为一个delat t(the span of one timestep)

(2)当某个t没有用户行为是,设置一个统一的表达

(3)把所有的timesteps的表达通过一个attention 加权聚合

(4)把baselines进行分组,描述结果的时候就可以分组描述了

另外,本文代码开源:TensorFlow上实现的

 



留言

登录 请先登陆, 再留言!