
TLDR: 本文针对图推荐算法中交互矩阵可能存在的噪声和稀疏问题,提出了一种简单有效的近邻采样方法,并在用户-物品交互图上考虑了用户与用户、物品与物品之间的相似性,以提高图推荐中的用户和物品表示。

论文: https://arxiv.org/abs/2304.03344 代码: https://github.com/zfan20/GraphDA(待上传)
基于图的推荐算法由于能够捕捉高阶协同信息而被广泛研究。然而近邻关系的挖掘依赖于邻接矩阵的定义,常用的邻接矩阵是基于用户-物品交互矩阵创建的,这容易导致噪声、偏差以及长尾问题等。如下图所示,我们可以看到用户和物品都遵循长尾分布,并且大多数用户/物品的交互数量是有限的。此外,下图中一个反直觉的观察是,与交互较少的用户相比(即不活跃用户),具有丰富交互的用户(即活跃用户)的性能反而变差。

造成这一现象的原因是高度活跃的用户同时存在大量的噪声交互,这使得对用户偏好建模起到相反的作用。此外,当图模型叠加更多的图卷积层时会引入更多的噪声。基于以上观察,本文认为当前基于图的推荐系统中二部图邻接矩阵的定义是不充分的。如下图所示,二部图邻接矩阵是直接从用户-物品交互中定义的,而这很容易在活跃用户中掺杂噪声,以及在不活跃用户中存在稀疏问题。另外,当前的邻接矩阵没有考虑用户与用户、物品与物品的潜在关系,即左上角和右下角的子矩阵的元素都有0。

为此,本文提出了一种预训练增强框架GraphDA来构造增强的邻接矩阵,以对用户和物品矩阵进行去噪和扩充。在GraphDA中,基于邻接矩阵的用户和物品关系来捕获用户-用户和物品-物品的相关性。该流程分为两部分,首先基于原始交互矩阵来Pre-train一个预训练用户/物品嵌入,随后是一个Enhance阶段,即基于预训练的嵌入来构造增强的用户和物品邻接矩阵,最后再将其输入到编码器中产生最终的特征表示。

具体的,首先遵循传统的方式来预训练一个编码器,从现有的用户-物品交互中生成用户/物品嵌入。然后通过预训练嵌入,采用top-K采样过程生成去噪和增强的用户-物品矩阵、用户-用户矩阵和物品-物品矩阵,其在考虑了用户和物品交互关系的基础上,引入了用户-用户和物品-物品的非零相关性,由原来的邻接矩阵改进为包含了用户与用户和物品与物品的增强版邻接矩阵。最后再将生成的增强邻接矩阵作为编码器的输入,以此来得到更强的用户/物品特征表示。
值得注意的是,该方法通过设置统一的近邻个数来为活跃用户进行去噪,即删除置信度降低的物品;同时为非活跃用户进行扩充,即填补一些置信度较高的物品来缓解数据稀疏问题。另外,该方法是一个通用方法,其思想可以用在经典的矩阵分解PMF或者图协同过滤方法LightGCN模型等。
以下展示了该方法在Amazon数据集上与几种经典的图推荐方法的性能比较,可以看出该方法相比于其他方法具有良好的推荐性能。

最后,该论文分析了不同超参数对算法的影响,再次验证了增强的协同信号以及考虑用户-用户相关性与物品-物品相关性的有效性。
