A Review-aware Graph Contrastive Learning Framework for Recommendation
用于推荐的评论感知图对比学习框架
来源:SIGIR 2022
摘要:许多现有的基于评论的推荐模型通过历史评论增强了用户/项目嵌入学习能力,虽然已经取得了重大进展,但作者认为,目前基于评论的推荐的解决方案并没有全面地将评论信息融合到交互中。在本文中,作者提出了一种新的评论感知图对比学习(RGCL)框架。具体来说,首先构建一个评论感知的用户-项目图,其具有特征增强的边缘,每个边缘特征由用户-项目评级和相应的评论语义组成。这个带有特征增强边的图可以帮助仔细学习每个邻居节点的权重,用于用户和项目表示学习。在此之后,作者设计了两个对比学习任务来提供自监督信号。在5个基准数据集上的广泛实验证明了RGCL相对于最先进的基线的优越性。
1 动机
作为一种被广泛采用的推荐技术,基于评论的推荐试图通过考虑相应的评论来模拟用户对项目的偏好。由于文本评论比数字评分包含更详细的用户意见和项目属性,它们被证明有助于减轻数据稀疏性和冷启动问题,因此在推荐系统中引起了更多的关注。在基于评论的推荐中,辅助文本评论的使用可以分为以下两类:
1) 通过聚合用户(项目)评论更好地学习用户/项目表示,
2) 使用每个用户-项目评论记录进行用户-项目交互建模。
对于前者,历史评论通常被作为用户和项目嵌入学习的辅助描述信息。例如,DeepCoNN将所有历史评论连接为用户(项)的描述性文档来获取用户和项目的输入特征。但是,这种历史评论的使用过于粗粒度,无法充分利用评论信息。因此,需要开发对评论的细粒度利用,以在用户-项目交互建模阶段获取详细信息。为了区分历史评论的使用,作者将方法2)称为目标评论的使用,因为每次评论都为相应的用户-项目交互建模提供详细描述,以预测目标评级。
尽管上述两种方案都取得了很大的进展,但作者认为,目前基于评论的建议的解决方案仍然有一些缺点。首先,基于评论的建议自然会形成从相应的用户项目评论中具有边缘特征的用户项目二部图。如何探索这种独特的图结构以获得更好的推荐仍然是一个非常具有挑战性的问题。其次,推荐中的用户/项目嵌入学习和用户-项目交互建模的用户行为有限,抑制了推荐性能。除了将评论视为附加信息之外,是否有更好的方法来开发自我监督信号(例如,比较评论表示和用户-项目交互表示),以便更好地在基于评论的建议中嵌入学习和交互建模的评论?这是作者在本文中重点关注的另一个重要挑战。
为此,在本文中,作者提出了评论感知图对比学习框架(RGCL),这是一种新的基于图的对比学习框架,它可以充分探索评论信息以获得更好的推荐。不同于现有的基于图的推荐方法,作者设计的评论感知图学习(RG)模块将评论集成到图学习之中,让RG可以有效地利用这种独特的用户项目图的边缘特征。此外,为了进一步利用这种独特的结构,充分利用边缘的评论信息,作者结合对比学习(CL)来开发自我监督信号,以促进基于评论的嵌入学习和交互建模过程。具体来说,作者设计了节点识别(ND)和边缘识别(ED)任务作为额外的自监督优化目标。ND通过比较不同子图中的表示形式,帮助RGCL实现更好的节点嵌入学习。此外,ED要求RGCL来比较用户-项目交互和相应的评论表示,以便更好地建模用户-项目交互。
2 方法
2.1 问题定义
用户集U(|U|=𝑀)和项目集V(|V|=𝑁),其中𝑢𝑖∈U和𝑣𝑗∈V表示用户𝑖和项目𝑗。𝑀和𝑁分别表示用户和项目的数量。评分记录表示为用户-项目评级矩阵,其中每个元素表示用户𝑖对项目𝑗的评分,R是所有评分的集合(例如,Amazon中的R={1,2,3,4,5})。同时,作者利用一个预先训练过的模型来处理用户𝑖对项目𝑗的评论,并获得一个固定大小的向量作为表示。然后,全体评论特征可以描述为张量。评级矩阵𝑹和评论张量𝑬构成了用户-项目的交互E={𝑹,𝑬}。基于评论的推荐可以表示为具有特征边G=< U ∪ V, E >的二部图,每条边都包含详细的评分值和从相应的评论中获得的语义向量。基于评论的推荐的任务是用图G预测最终的评分矩阵。
2.2 评论感知图对比学习
图1展示了作者提出的RGCL的整体架构,它由两个主要模块组成:1)评论感知图学习模块:将评论纳入基于图输入的用户偏好建模中;2)图对比学习模块:引入CL技术,从两个角度提高推荐性能:用户/项目嵌入学习和交互建模。
2.2.1 评论感知的图学习模块
该模块有三个组件:
1.初始化:初始化所有输入,包括节点嵌入和边缘特征;作者利用初始嵌入矩阵和来表示用户和项目。和特别表示用户𝑖和项目𝑗的嵌入。对于评论表示,作者使用BERT-Whitening模型来生成用户𝑖对项目j的评论的固定长度评论表示。需要特别注意的是,评论表示将在模型训练期间被冻结,以减少训练时间和内存使用。
2.评论感知消息传递:利用边缘上的评级和评论信息来衡量邻居节点和历史评论对中心节点的影响; 如上所述,每个交互都包含一个评级和一个评论语义特性。与数字评分相比,文本评论包含细粒度的语义,具有以下优点。首先,评论语义包含详细的用户首选项和项目属性,这有助于更好地学习用户和项目嵌入。其次,详细的评论语义可以帮助模型了解用户喜欢/不喜欢这些项目的精确程度,这可以进一步用于重新加权用户和项目之间的影响。因此,作者设定了特定评分的评论感知消息传递机制,公式化表述如下:
其中,表示对用户i对物品j的评分为r的情况下传递的特征信息;是用户𝑖在项目𝑗上进行的评论的评论表示。表示从𝑙−1层学习到的项目𝑗的嵌入,其中𝒗𝑗(0)初始化嵌入。
{|𝑟∈R}是基于评分𝑟的第𝑙个传播层的特定可训练参数。其中,将评论表示和邻居节点嵌入𝒗𝑗转换到相同的空间。则用于从评论特征中学习两个标量权值,以重新加权邻居节点的影响。𝜎(·)是sigmoid激活函数。N𝑖和N𝑗代表用户𝑖评分的项目集和评分项目𝑗的用户集。同时,可以以类似的方式获得从用户𝑖传递到项𝑗的消息:
3.消息聚合:聚合来自相邻节点的消息,用于中心节点嵌入学习。作者使用以下操作将所有消息聚合在一起,从而在消息传递操作后在第𝑙层生成用户和项嵌入:
其中,和是用户𝑖和项目j在第𝑙层的嵌入,𝑾(𝑙)是可训练的参数矩阵。表示用户𝑖评分为𝑟的邻居项目集合。是给项目𝑗评分为𝑟的用户集合。通过叠加𝐿层消息传递和聚合,作者将第𝐿层的输出和作为最终用户和项嵌入:
为了对用户和项目嵌入的交互进行建模,我们将上述输出作为输入,并利用多层感知器(MLP)获得相应的交互特征𝒉𝑖𝑗,然后根据交互特征来预测评级:
其中,𝒘是一个将交互特征映射到预测评级的参数向量。
2.2.2 对比学习模块
作者设计了两种CL范式,即节点识别(ND)来增强节点嵌入学习和边缘识别(ED)来促进交互建模。
Node-based CL:
具体地说,作者使用节点丢弃来生成子图以进行对比学习。以用户节点嵌入学习为例,以概率𝜌随机丢弃项目节点和相应的评论特征,生成子图ˆG1和ˆG2,用于消息传递和聚合。在使用上述的评论感知学习后,可以得到用户𝑖的两种不同的嵌入和,它们可以被视为正对。同样,也可以从子图ˆG2中获得不同用户𝑖‘的负节点嵌入,其中𝑖‘不等于𝑖。因此,目标是最大限度地提高正对的相似性(,),而最小化负对的相似性(,)。此过程可表述如下:
其中,F(u1,u2)=是带有可训练参数矩阵W的相似性度量函数,表示sigmoid函数。类似地,可以在项目节点上获得优化目标。结合用户节点和项目节点上的ND任务,可以得到最终的ND目标:。
edge-based CL:
每条边的评论都包含了从用户对项目进行的比数字评分更详细的评估。为了利用有效的评论来进行更好的交互建模,作者建议利用边缘鉴别(ED)作为额外的CL任务来实现这一目标。
在从方程5中得到交互特征𝒉𝑖𝑗后,可以将其作为锚定示例。根据CL框架选择相应的初始评论表示𝒆𝑖𝑗作为阳性样本。自然地,从整个训练集中随机抽样的评论表示𝒆𝑖'𝑗'被视为负样本。ED的目标是让锚例子𝒉𝑖𝑗和正样本𝒆𝑖𝑗尽可能靠近,以及让锚例子𝒉𝑖𝑗和负样本𝒆𝑖'𝑗'尽可能远离。因此,优化目标可以表述如下:
2.3 模型优化
由于RGCL侧重于预测用户对项目的评分,因此作者采用均方误差(MSE)作为优化目标,这在目前的评分预测工作中被广泛采用:
其中,S表示训练集中的用户-项目对。𝑟𝑖𝑗是用户𝑖对项目𝑗所评论的观察评级。同时,我们使用CL来约束学习过程。我们同时使用重要的超参数𝛼和𝛽来优化推荐任务和CL任务:
3 实验
3.1 数据集
3.2 模型效果
为了公平比较,作者将每个实验重复5次,并报告平均值(±std)进行模型比较。
3.3 评论感知的有效性
为了更好地研究RG的有效性,我们对RG及其变体进行了消融研究。结果如表3所示,其中RG(w/o review)表示评论仅用于计算中心节点对应邻居的权重,RG(w/o weight)表示评论仅作为中心节点的影响因子:
3.4 层数影响
二层的效果最好。
3.5 权重超参数影响
为了研究ED和ND对RGCL性能的影响,作者在数字音乐和服装数据集上对两个超参数𝛼和𝛽进行了参数敏感实验。𝛼的值在{0、0.2、0.4、0.6、0.8、1.0、2.0}范围内,𝛽的值在{0、0.2、0.4、0.6、0.8、1.0}范围内。相应的结果如图所示。