作者:九羽
在做推荐算法任务时,在(user, item)的交互数据集中进行建模是常见的方式,本文基于GNN对User侧和Item侧进行embedding的思路,介绍3篇相关论文。这三篇文章分别来自SIGIR 2019,2020,2021。
解决的问题
本文主要解决传统协同过滤算法,因为缺少对user-item交互数据中的协同信息(Collaborative Signal)较好的编码方式,从而无法很好的学到Embedding的问题。传统协同过滤方法是通过对ID类特征或者Category类特征进行简单的编码得到Embedding,然后通过User-Item交互数据对损失函数的定义后解码。简单的编码形式导致了模型学习到的Embedding信息有限。
具体地,如上图所示右图是(User,item)之间的交互路径。从图中u2->i2->u1路径我们可以发现u1和u2具有一定路径上(行为)的相似性。同时,对于i4->u3->i3->u1和i4->u2->i2->u1这两路径可以看出用户u1对i4的购买可能性大于对i5的购买可能性。
NGCF基于User-Item交互行为中的High-order connectivity来解决交互数据中的协同信息(Collaborative Signal)编码问题进行Embedding建模。
模型结构
模型的Embedding Propagation Layer主要包含Message Construction和Message Aggregation两部分。
在Message Construction部分,对每个(user,item)定义从item到user传递的message为:
其中,
定义为message embedding。
是message encoding function,将user和item的 embedding
作为输入,并使用
来控制每条边edge
在每次传播中的衰减系数。
而Message Aggregation阶段将从用户
的邻居传递过来的信息进行汇聚来提炼用户
的嵌入表示。
是经过一层嵌入传播层得到的提炼后的用户
嵌入表示。LeakyReLU允许对于正反馈信息和少部分负反馈信息的编码。
则考虑了self-connection,
和Equation(2)中的
是共享的。
在预测层,最终的嵌入表示是原始的embedding和所有嵌入传播层得到的embedding全部concat在一起的结果,同时最后预测user-item交互的时候使用点乘,并用Pairwise BPR loss进行优化。
模型效果
解决的问题
相较于上面的NGCF,LightGCN的思想就更简单了,论文提出一个简化GCN的模型LightGCN,它认为GCN中常见的特征转换和非线性激活对于协同过滤来说没有太大作用,甚至降低了推荐效果,所以LightGCN就只由邻域聚合构成。通过在User-Item交互数据上线性传播User-Item的Embedding来学习它们,最后将所有层上学习到的User和Item Embedding加权和计算最后的预测得分。
LightGCN对比NGCF省去了相邻节点间的内积部分,直接用如下的Normalized求和方法来进行1-hop Aggregation。这里
和
分别代表以
和
为中心临近节点的数量。从而大幅度简化了网络结构,加快了运行速度,同时在此基础保证了预测的精准度。
模型结构
模型效果
解决的问题
Self-supervised Graph Learning for Recommendation主要解决User-Item Embedding过程中的两个问题:
SGL方法主要通过数据增强的方式,对User-Item图表示使用类似LightGCN的图卷积网络提取同一节点的多图表示,并在此基础上参考对比学习构造自监督学习任务的思路构造多任务训练模型。
对比3种不同的数据增强方法,论文中发现Edge dropout方式能更好地发现图结构中潜在的含义。
模型结构
模型效果
模型解决的两个问题:
(1)长尾问题的推荐效果:
(2)噪声导致的鲁棒性问题的推荐效果:
参考文献