[推荐系统阅读笔记]CIKM/21 Continuous-Time Sequential Recommendation with Temporal Graph Collaborative Transformer
翻译:通过二部图和注意力机制聚合序列信息和时间信息的推荐方法
文章目录

原文连接:https://dl.acm.org/doi/pdf/10.1145/3459637.3482242
Github:GitHub - DyGRec/TGSRec
1.创新点与解决问题
传统的序列推荐系统模型中更多关注的是用户-商品这种顺序的模式,通过其位置的相互关系以及上下文的联系等进行推荐。作者认为这种模式忽略了时间因素是不妥的,而不同的时间点用户-物品的交互信息之间存在的协作关系也能够作为推荐物品的参考依据。
这里拿作者给的图举例时间协作因素的重要性:
使用黄色边框标记,分别代表用户 u 1 , u 2 , u 3 u_{1},u_{2},u_{3} u1,u2,u3中物品点击的序列关系,紫色线代表时间写作关系。这里我们需要做的是为用户 u 4 在 t 5 u_{4}在t_{5} u4在t5时刻推荐物品 i x i_{x} ix
如果我们只考虑序列模式的话,我们更可能会给用户 u 4 u_{4} u4推荐物品 i 3 i_{3} i3而不是 i 4 i_{4} i4,因为 i 3 i_{3} i3在 i 2 i_{2} i2后面出现了两次,而 i 4 i_{4} i4只出现了一次。但是如果我们考虑时间协作因素的话,我们可能会推荐 i 4 i_{4} i4,因为用户 u 2 , u 4 u_{2},u_{4} u2,u4都在 t 1 t_{1} t1时刻选择了物品 i 1 i_{1} i1,并且之后也都与 i 2 i_{2} i2进行交互,这样他们之间的相似性就会更大。
以上分析得到了截然不同的结果,作者希望使用一种模型将序列信息与时间协作信息进行整合。
存在的问题:
主要在于如何在SR中整合时间协作信息
- 如何同时为序列信息与时间协作信息进行同时编码
- 如何正确表示时间协作信息的效应,如何度量他们相互造成影响的大小
2.模型结构
传统的Transformer模型只能表示物品与物品之间的序列关系,很难衡量时间造成的相关系数。
作者自己创造了一个叫Temporal Graph Sequential Reccommender(TGSRec)的模型,主要有两种模块:
- 时间协作Transformer(TCT)
- 图形信息传播
TCT层主要用于捕获时间协作信息,其中query来自目标节点(用户或者是物品),而key与value来自与其连接的其他节点。第二个模块主要使用连续时间二部图(CTBG),目的是保持目标节点有序,在前一节点训练得到的参数能够传播给后一节点,从而保证时间协作信息与信息能够得到有效统一。Figure2是作者争对Figure1进行的举例:
如上CTBG为一个连续时间二部图,用于描述物品,用户,时间之间的交互关系。左右两个子图 U , I U,I U,I分别代表用户与物品的子集,每一条边都是一个元组 e = ( u , i , t ) , u ∈ U , i ∈ I e=(u,i,t),u\in U,i \in I e=(u,i,t),u∈U,i∈I, I u ( t ) I_{u}(t) Iu(t)表示时间戳t之前用户交互的物品集合, I / I u ( t ) I/I_{u}(t)