Disentangled Contrastive Collaborative Filtering
背景
图神经网络(graph neural network,GNN)在协同过滤任务中建模高阶用户-物品交互关系方面取得了显著成功。这些基于GNN的推荐系统通过迭代的信息传递范式将用户-物品交互二部图编码为用户和物品的低维嵌入表示。通过捕获嵌入空间内高阶的用户-物品相似性,基于图神经网络的协同过滤方法具备了最先进的推荐性能。然而,在现实世界中用户-物品往往是高度稀疏的,这很难为推荐模型提供足够的监督信号。
最近的研究趋势是尝试将对比学习与图神经网络结合起来,以提供额外的自监督信号。一般地,这些图对比学习(graph contrastive learning,GCL)方法通过最大化构造的对比增强视角之间的一致性来学习用户或物品的不变表示。尽管行之有效,但目前基于GCL的推荐系统仍然存在两方面的局限性。
一方面,大多数研究工作忽略了一个潜在事实,用户-物品交互背后的动机由于偏好的多样性而高度耦合(entangle),从而导致了次优的嵌入表示。在现实场景中,用户的行为由许多意图(intent)进行驱动,例如为家人购买礼品或是被服装的外观和材质所吸引。然而,现有工作很难捕获用户和物品之间更细粒度的交互模式,这阻碍了推荐系统获取用户真实偏好并提供解耦的自监督能力。
另一方面,许多基于GCL的工作仍然难以针对噪声数据提供准确的自监督信号,这使得对比学习难以适应于不同场景和不同结构的用户-物品交互图。引入的随机增强可能无法保证原始的语义关系。例如,丢弃中心节点可能会严重破坏社区间的连接结构,从而导致增强的交互图与原始交互结构的不相关性。此外,尽管一些方法通过节点级别的自判别或特征增强实现辅助的自监督学习,但仍然受到噪声数据和偏差的影响。
方法
鉴于上述问题,作者提出了结构对比协同过滤模型(DCCF),其模型如下图所示。
解耦意图表示建模
在任意推荐场景中,用户集(大小为I)和物品集(大小为J)之间的交互矩阵为。推荐系统的任务是预测一个用户会交互一个新物品的概率似然。
为了捕获用户对物品的交互概率,首先基于GNN的消息传递范式来建模全局的二部图结构信息。具体来说,给定用户和物品的嵌入矩阵和,信息传递层被定义为:
从邻居到目标节点的表示被表示为,而是归一化的图邻接矩阵,参见LightGCN。
为了利用高阶协同协同信息,需要在不同的图传播层之间执行基于GNN的嵌入传播,并通过残差连接以缓解过平滑现象:
在与物品进行交互时,用户通常具有不同的意图。为了捕获这些意图,DCCF假设用户和物品分别有K个不同的意图和。物品侧的意图同样可以被理解为物品的属性或上下文信息,而DCCF的预测目标则被定义为:
用户-物品交互概率y通过意图和决定,并具有以下推导:
上式中表示编码意图的预测函数。跟进一步,具有以下的近似过程:
为了将意图感知的用户-物品依赖关系融于基于GNN的协同过滤框架。在DCCF中,共有K个全局的意图原型(prototype):和。基于这些可训练的意图嵌入,通过聚合来自K个不同意图原型的信息和全局图信息来构造用户和物品的意图表示:
其中和是用户和物品在第l层的嵌入表示。用户和任意意图之间的相关性分数通过下式计算:
其中。在生成传播的信息后,局部的协同信号与全局解耦的协同关系被结合起来:
其中R是意图表示嵌入矩阵。
解耦对比学习
为了使增强适应于每个连接,DCCF在每个GNN层引入了关系矩阵来编码用户和物品之间的隐式关系。通过引入图掩码,可以通过逐元素乘法获得关系矩阵:
在DCCF中,图掩码的值取决于结构嵌入。具体来说,通过余弦相似度来衡量交互之间的相似度:
图掩码通过下式将范围限制为[0,1]:
利用学习到的关系矩阵,通过节点的阶数将其归一化如下:
为了将自适应增强与信息传递范式融合,DCCF将归一化的关系矩阵用于信息传播。通过这种设计,DCCF扰动了图结构,以生成具有自适应增强的对比学习视图:
用于对比学习的多个视图可以通过考虑局部的协同信号(局部嵌入Z)与全局的解耦关系(意图解耦嵌入R):
最后便可以得到最终的意图与自适应增强感知的嵌入表示:
其中和分别表示局部和全局级别的增强表示。类似地,物品侧具有类似的定义。
通过上述增强的表示,可以对用户和物品的不同视图进行对比学习。具体来说,DCCF使用来自原始CF视图和每个增强视图的同一用户(物品)的嵌入来生成正样本对,而不同节点的表示被视为负样本对。
具体来说,DCCF具有三个增强视角:
(1)基于自适应增强的本地协同视角:
(2)基于自适应增强的全局解耦视角:
(3)解耦的全局协同视角:
与先前的工作保持一致,DCCF通过InfoNCE生成对比的自监督信号:
其中m和n是输入的嵌入表示,s是余弦相似度,是温度系数。考虑到具有三种增强视角,则用户侧的完整对比损失被定义为:
物品侧具有类似的定义。
DCCF的完整损失包含主推荐损失(BPR损失)和自监督损失(对比损失):
其中用于控制强度,和是可训练的模型参数。
实验
为了验证DCCF的有效性,作者在以下三个数据集上进行了对比实验:
主要的对比实验结果如下:
训练用时方面的对比如下:
意图个数对于DCCF性能的影响的实验结果如下所示:
需要指出的是,随着意图个数的进一步增大(128→256),模型的性能提升变得极其有限,甚至会下降。为了说明这一现象,作者给出了训练得到的意图向量的2维t-SNE结果:
上图表明过多的意图开始出现了聚类现象,这使得过粒度的意图划分造成了冗余,从而为表示学习引入了噪声。