- 摘要(Abstract)
- 关键字(Keywords)
- 1 引言(Introduction)
- 2 相关工作(Related Work)
- 3 问题表述(Problem Formulation)
- 4 方法(Methodology)
- 5 实验(Experiment)
- 5.1 实验设置(Experiment Settings)
- 5.2 性能比较(Performance Comparison)(RQ1)
- 5.3 消融研究(Ablation Studies)(RQ2)
- 5.4 灵敏度分析(Sensitivity Analysis)(RQ3)
- 5.4.1 语义视图中聚合深度的影响(Impact of aggregation depth in semantic view)
- 5.4.2 结构视图中聚合深度的影响(Impact of aggregation depth in structural view)
- 的影响(Impact of local-level contrastive loss weight)">5.4.3 局部对比损失权重
的影响(Impact of local-level contrastive loss weight)
- 的影响(Impact of contrastive loss weight)">5.4.4 对比损失权重
的影响(Impact of contrastive loss weight)
- 5.5 可视化(Visualization)(RQ4)
- 6 结论(Conclusion)
Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System
- Ding Zou, Wei Wei, Xian-Ling Mao, et al. Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System[C]. In SIGIR 2022.
华中科技大学,北京理工大学 截稿日期2022-01-28 录用通知2022-04-15 会议日期2022-07-11
摘要(Abstract)
知识图谱(KG)在推荐系统中发挥着越来越重要的作用。近年来,基于图神经网络(GNN)的模型逐渐成为知识感知推荐(KGR)的主题。然而,基于GNN的KGR模型存在一个天然的缺陷,即稀疏监督信号问题,这可能会使它们的实际性能在一定程度上下降。受对比学习在从数据本身挖掘有监督信号方面取得的成功的启发,本文重点研究了KG-Aware推荐中的对比学习,并提出了一种新的多层次跨视图对比学习机制MCCLK。不同于传统的对比学习方法通过统一的数据增强机制(如破坏corruption或丢弃dropping)来生成两个图视图,我们综合考虑了三种不同的图视图用于KG-aware推荐,包括全局结构视图、局部协同视图和语义视图。具体地说,我们将用户-项目图视为协同视图,将项目-实体图视为语义视图,将用户-项目-实体图视为结构视图。因此,MCCLK在局部和全局的三个视图上执行对比学习,以自监督的方式挖掘全面的图特征和结构信息。此外,从语义的角度出发,提出了一种K-Nearest-Neighbor(KNN)的item-item语义图构建模型,以捕捉以往工作中经常忽略的重要item-item语义关系。在三个基准数据集上进行的大量实验表明,我们提出的方法比最先进的方法具有更好的性能。具体实现方式访问:[https://github.com/CCIIPLab/MCCLK](https://github.com/CCIIPLab/MCCLK)
关键字(Keywords)
1 引言(Introduction)
推荐系统对于用户在实践中发现感兴趣的项目至关重要。传统推荐方法(例如,协同过滤(CF)[15、21、25、42])依赖于历史用户行为数据(例如,用户-项目交互[46、57])的可用性来捕获用于推荐的协同信号。然而,它们严重地受到冷启动问题的困扰,因为它们往往将每个交互都视为一个独立的实例,而忽略了它们之间的关系,如NFM[15]、xDeepFM[21]。一种广泛采用的解决方案是结合各种辅助信息,如知识图谱(KG) [26],它包含关于项目的丰富事实和联系,以学习高质量的用户和项目表示用于推荐(又名,知识感知推荐,KGR)。<br /> 事实上,已经有很多研究致力于KGR[37,53,55],其核心是如何有效地利用项目辅助(异质)信息的图来进行潜在的用户/项目表征学习。早期关于KGR的研究大多集中在使用不同的知识图嵌入(KGE)模型(如TransE[2]、TransH[47])来预训练实体嵌入以进行项目表征学习。然而,这些方法的性能很差,因为它们独立地处理每个项实体关系来进行学习。因此,学习过程不能为item表示提取足够的协同信号。<br /> 随后,许多基于连接的方法被提出来建模用户、项目和实体之间的多个连接模式用于推荐,这些方法可以进一步分为两类,即基于路径的[16,31,45]和基于图神经网络(GNN)的[16,31,45]。前者主要关注通过捕捉KG的长程结构来丰富用户与项目的交互,例如选择KG[33]上的显著路径或表示用户到项目[16,45]的多跳路径的交互。然而,这些方法严重依赖于人工设计的元路径,因此在现实中很难优化。后者是一种将多跳邻居集成到节点表示中的信息聚合范例[30,40,41,43],因为它能够有效地在节点的邻居上生成用于表示的局部置换不变聚集。尽管有效,但目前基于GNN的模型由于交互作用的极端稀疏性[1,49],以及甚至严重的副作用,如退化问题[9],即将节点嵌入分布退化到一个狭窄的锥体中,甚至导致生成的节点表示不被区分,导致了稀疏监督信号问题。<br /> 然而,缓解稀疏监督信号的问题面临着一个重大的挑战,即训练标签的不足,因为在实际的推荐应用中,标签通常是稀缺的。最近,比较学习作为经典的自监督学习方法之一,通过最大化负样本之间的距离和最小化正样本之间的距离,在学习非标签样本数据中的区别性嵌入方面具有强大的能力,被认为是一种使训练模型不需要显式标记的方法[24]。为此,在本文中,我们主要关注在对比学习范式下设计一个端到端的知识感知模型,这要求我们充分利用有限的用户-项目交互和额外的KG事实(例如,项目-实体从属关系)来进行推荐。<br /> 事实上,设计一个合适的对比学习框架仍然不是一件容易的事,因为需要仔细考虑对比学习和知识感知推荐的特点以求平衡,这就要求我们解决以下根本问题[44]:(1)如何设计一个适当的对比机制?由于异构性,设计的模型自然需要同时处理多种类型的节点(例如,用户、项目和实体)和关系(例如,用户-项目、项目-实体等)。(2)如何构建正确的对比学习观?一种简单的方法是,我们可以将输入的用户-项目-实体图作为图视图来增强(或破坏),并将其与原始图形进行对比,类似于[5,13,20]。然而,仅仅考虑KGR的全局视图(即用户-项目-实体图)是远远不够的,因为它无法充分利用丰富的协同信息(即项目-用户-项目共现)和语义信息(即项目-实体-项目共现)。显然,只使用粗粒度的一个图视图(例如,用户-项目-实体图)很难充分利用丰富的协同和语义信息来进行推荐。<br /> 在本文中,我们强调设计的模型应该探索更多的图视图,以便以更细粒度的方式进行学习。此外,由于所考虑的不同图视图可能处于不同的级别,因此在同一级别对它们进行简单的对比是不可行的,因此,多层次跨视图对比机制对于模型设计是不可避免的重要。因此,本文提出了一种基于自监督学习范式的新模型,称为知识感知推荐系统(MCCLK)的多层次跨视图对比学习(Multi-level Cross view Comparative learning for Knowledge aware Recommender System,简称MCCLK),以充分利用KG和用户项目交互中丰富的协同和语义信息。具体而言,我们首先综合考虑三个互补图的观点。如图1所示,我们将用户-项目图视为协同视图和项目-实体图作为语义视图,两者都是局部视图。此外,为了保存完整的结构信息(即远程用户-项目-实体连接),用户-项目-实体图被视为全局结构视图。在此基础上,提出了一种新的多层次跨视图对比学习机制,对三个图视图进行协同监控,实现了协同视图与语义视图的局部对比学习,全局视图与局部视图的全局对比学习。特别是,在探索较少的语义视图中,提出了一种基于关系感知的K-Nearest-Neighbor(KNN)项目-项目语义图构建模块,用于从知识信息中显式地考虑项目的语义相似性。此外,每个图视图都采用了基于GNN的自适应图编码器,根据视图的特征强调图信息的不同部分。根据经验,在三个基准数据集上,MCCLK的表现优于最先进的模型。<br /><br />图1 多个视图的示例。(1)传统的基于协同过滤的推荐借鉴了协同的观点。(2)以前的KGR方法是从结构角度学习的。(3)MCCLK从三个选定的视图中学习,包括局部协同视图(A)和语义视图(B)、全局结构视图(C)。<br /> 我们对这项工作的贡献可以总结如下:
一般方面General Aspects:我们强调将自监督学习融入知识感知推荐的重要性,该推荐将节点自识别作为一项自监督任务,为图表示学习提供辅助信号。
- 新的方法Novel Methodologies:我们提出了一个新的模型MCCLK,它为知识感知推荐建立了一个多层次的跨视角对比框架。MCCLK从用户项实体图中考虑了三个视图,包括全局结构视图、局部协同视图和语义视图。然后,MCCLK进行局部和全局层面的对比学习,从多方面加强表征学习。此外,在语义视图中,提出了一个KNN项目-项目语义图构建模块,用于探索项目之间的语义关系。
多方面实验Multifaceted Experiments:我们在三个基准数据集上进行了广泛的实验。实验结果显示了我们的MCCLK在更好的表征学习方面的优势,这表明了我们的多层次跨视图对比学习框架和特别定制的图聚合机制的有效性。
2 相关工作(Related Work)
2.1 知识感知推荐 (Knowledge-aware Recommendation)
2.1.1 基于嵌入的方式(Embedding-based methods)
基于嵌入的方法[3,17,35,37,39,53,55]使用知识图谱嵌入(KGE)[2,22,47]对KG进行预处理,然后将学习到的实体嵌入和关系嵌入合并到推荐中。协同知识库嵌入(CKE)[53]在统一的贝叶斯框架中将CF模块与项目的结构、文本和可视化知识嵌入相结合。KTUP[3]利用TransH[47]关于用户-项目交互和KG三元组来共同学习用户偏好并执行知识图谱补全。RippleNet[36]通过在KG中沿着链接(关系)传播用户的历史点击项来探索用户的潜在兴趣。基于嵌入的方法在使用KG时表现出很高的灵活性,但KGE算法更注重对严格的语义相关度进行建模(例如,TRANSE[2]假设Head+Relation=Tail),这更适合于链接预测而不是推荐。
2.1.2 基于路径的方式(Path-based methods)
基于路径的方法[16、31、45、51、52、56]探索KG项目之间的各种连接模式,为推荐提供额外的指导。例如,将KG视为一个异质信息网络(HIN),个性化实体推荐(PER)[52]和基于元图的推荐[16]提取元路径/元图潜在特征,并沿着不同类型的关系路径/图利用用户与项目之间的连通性。KPRN[45]还自动提取用户和项目之间的路径,并利用RNN对这些路径进行建模。基于路径的方法以更自然的方式使用KG,但它们严重依赖于手动设计的元路径,这在现实中可能很难调优。此外,定义有效的元路径需要领域知识,这通常是劳动密集型的,特别是对于复杂的知识图谱。
2.1.3 基于GNN的方式(GNN-based methods)
基于图神经网络的方法[16,45,51,52,56]是建立在图神经网络[7,11,19,50]的信息聚合机制上的。通常,它将多跳邻居集成到节点表示中,以捕获节点特征和图结构,从而可以对远程连通性进行建模。KGCN[40]和KGNN-LS[38]首先利用图卷积网络(GCN)通过迭代聚合项目的邻域信息来获得项目嵌入。随后,KGAT[41]将用户-项目图和知识图谱合并为一个异构图,然后利用GCN递归地对其进行聚合。最近,KGIN[43]在意图层次上对用户-项目交互进行建模,揭示了KG交互背后的用户意图,并结合KG交互在用户-项目-实体图上执行GNN。然而,所有这些方法都采用有监督学习的模式进行模型训练,依赖于它们原始的稀疏交互。相比之下,我们的工作探索了知识感知推荐中的自监督学习,利用来自数据本身的监督信号来改进节点表示学习。
2.2 对比学习(Contrastive Learning)
对比学习方法[34,44,49]通过对比正对和负对来学习节点表示。DGI[34]首先在图表示学习中采用了Infomax[23],并重点对比了局部节点嵌入和全局图嵌入。然后GMI[27]提出从节点特征和拓扑结构上对比中心节点和局部节点。类似地,MVGRL[12]从两个结构图视图(包括一阶邻域和图扩散)学习节点级和图级节点表示,并对比两个图视图之间的编码嵌入。最近,HeCo[44]提出从网络模式视图和元路径视图学习节点表示,并在它们之间进行对比学习。在传统的基于协同过滤(CF)的推荐领域,SGL[49]在用户-项目交互上对原始图和损坏图进行对比学习。然而,关于对比学习在知识意识推荐上的巨大潜力,人们几乎没有做过什么研究。
3 问题表述(Problem Formulation)
在这一部分中,我们首先介绍了两种必要的结构化数据,即用户-项目交互和知识图谱,然后给出了我们的知识感知推荐问题的问题陈述。<br />** 交互数据Interaction Data** 在典型的推荐方案中,设和分别表示M用户和N项目的集合。根据用户的隐式反馈定义用户-物品交互矩阵,其中表示用户参与了物品,如点击或购买等行为;否则。<br />** 知识图谱Knowledge Graph** 除了历史交互之外,与项目相关联的真实世界事实(例如,项目属性或外部常识知识)以异构图[8、31、48]的形式存储在KG中。设为知识图谱,其中分别代表知识三元组的头、关系、尾;和指的是中的实体和关系集。例如,三元组(蝙蝠侠开始、电影、明星、克里斯蒂安·贝尔)意味着克里斯蒂安·贝尔是电影《蝙蝠侠开始》的演员。在许多推荐场景中,一个项目对应一个实体。例如,在电影推荐中,项目“钢铁侠”也作为同名实体出现在知识图谱中。因此,我们建立了一组项目-实体对齐,其中表示项目可以与KG中的实体对齐。通过项目和KG实体之间的对齐,KG能够分析项目并提供交互数据的补充信息。<br />** 问题陈述Problem Statement** 给定用户-项目交互矩阵和知识图谱,我们的知识感知推荐的任务是学习一个函数,该函数可以预测user采用某一item的可能性有多大。
4 方法(Methodology)
图2 提出的MCCLK模型图解。左图是MCCLK的模型框架,右图展示了跨视图对比学习机制的细节。最好是彩色的。
我们现在介绍提出的MCCLK。MCCLK的目标是将自监督学习融入到知识感知推荐中,以改进用户/项目表征学习。图2显示了MCCLK的工作流程,它包括三个主要部分:1)多视图生成。它生成三种不同的图视图,包括全局结构视图、局部协同视图和语义视图。为了探索很少注意到的语义视图,提出了一种关系感知GNN,构建一个项目-项目语义图。2)局部对比学习。该算法首先使用LightGCN对协同视图和语义视图进行编码,然后在两个视图之间进行跨视图对比学习,以学习局部层面的全面节点嵌入。3)全局对比学习。该算法首先使用路径感知GNN对结构视图进行编码,然后在全局视图和局部视图之间进行跨视图对比学习,以学习全局层次上的区别性节点嵌入。接下来,我们详细介绍这三个组件。4.1 多视图生成(Multi Views Generation)
与以往只考虑全局用户-项目实体图的方法不同,我们提出了一种更全面、更细粒度的学习方法,即联合考虑局部和全局视图。我们首先根据用户-项目-实体图的不同类型,将其分为用户-项目图和项目-实体图。对于用户-项目图,我们将其视为**协同视图**,旨在挖掘项目之间的协同关系,即项目-用户-项目共现。对于项目实体图,它被视为**语义视图**,旨在探索项之间的语义相似性,即项目-实体-项目共现。对于原始的用户-项目-实体图,它被认为是**结构视图**,旨在保留完整的路径信息,即用户-项目-实体的远程连通性。<br /> 虽然许多研究都致力于协同视图和结构视图,但它们通常不能充分探索语义视图,而关键的项目与项目的语义相似性却未被触及。为了显式地考虑项目-项目之间的语义关系,我们提出了一种具有关系感知聚合机制的K-Nearest-Neighbor 项目-项目语义图,该聚合机制同时保留了相邻实体和关系信息。中的每个entry表示项目和项目之间的语义相似度。具体而言,表示它们之间没有联系。<br /> 具体地说,我们首先从知识图谱递归地学习时间的项目表示,所提出的关系感知聚合机制如下:<br /> (1)<br />其中和分别表示项目和实体的表示,其存储从它们的(K−1)跳邻居传播的关系信号。对于每个三元组,关系消息被设计为通过投影或旋转运算符[32]对关系建模,以隐含三元组的不同含义。<br /> 因此,KG中的邻居实体和关系都被编码到项表示中。此后,受[54]的启发,基于余弦相似度构建项项目相似度图,计算如下:<br /> (2)<br />随后,在完全连通的项目-项目图上进行KNN稀疏化[4],减少计算量大、可行的噪声和不重要的边[6]。<br /> (3)<br />其中是稀疏化的有向图邻接矩阵。为了缓解爆炸或消失的梯度问题[19],邻接矩阵被归一化如下:<br /> (4)<br />其中是和的对角度矩阵。从而最终得到项目-项目语义图及其归一化稀疏邻接矩阵。<br /> 通过这样做,现在获得了每个图视图,即:用于协同视图的用户-项目交互图,用于语义视图的项目-项目语义图,以及结构视图的整个用户-项目-实体图。以下局部和全局层次的对比学习是跨这三个视图执行的,将详细说明。
4.2 局部级对比学习(Local-level Contrastive Learning)
在获得局部层次上互补的协同和语义视图的基础上,我们进一步使用合适的图编码器来探索两个图视图,并在它们之间进行对比学习以相互监督。具体地说,在两个视图中执行有效的Light-GCN [14]以学习全面的项目表示。然后,通过编码两个视图特定的嵌入,提出了局部级对比学习,鼓励两个视图协同改进表征。
4.2.1 协同视图编码(Collaborative View Encoder)
协同视图强调项目之间的协同信号,即项目-用户-项目共现。因此,通过对用户-项目交互的远程连接进行建模,可以在协同视图中捕获协同信息。受经典协同过滤算法[14,42]的启发,本文采用了一种轻量级的协同过滤算法Light-GCN,以递归方式对K次进行聚合。Light-GCN包含简单的消息传递和聚合机制,无需进行特征转换和非线性激活,具有较高的效率和计算效率。在第K层中,聚合过程可以如下表示:<br /> (5)<br />其中和表示用户和项目在第k层的嵌入,分别表示用户和项目的邻居。然后,我们将不同层的表示汇总为局部协同表示和,如下所示:<br /> (6)
4.2.2 语义视图编码(Semantic View Encoder)
语义观关注的是项目之间的语义相似度,这一点已经被证实是重要的,但被以前的工作忽视了。在显式构建项实体关系的项目-项目语义图的基础上,通过次聚合操作对其进行Light-GCN,通过向嵌入中注入项目-项目隶属关系来学习更好的项目表示。在第层中,消息传递和聚合过程可以表示为:<br /> (7)<br />其中是相邻项目,是等式4中的归一化稀疏图邻接矩阵,是项目的第层表示。这里,输入项目表示被设置为其对应的ID嵌入向量,而不是聚合特征,因为使用Light-GCN是为了直接捕获项目-项目相似性。然后,我们将不同层上的项目表示求和,以获得局部语义表示:<br /> (8)
4.2.3 局部跨视图对比优化(Local-level Cross-view Contrastive Optimization)
利用协同视图和语义视图对项目的特定特定嵌入和,进行局部跨视图对比学习,用于指导两个视图学习区别性表征。为了将它们映射到计算对比损失的空间,首先将嵌入馈送到具有一个隐藏层的MLP中:<br /> (9)<br />其中和为可训练参数,为ELU非线性函数。然后,我们借鉴其他领域的工作[58,59],定义了正样本和负样本,对于一个视图中的任何节点,另一个视图学习到的相同节点嵌入形成正样本;在两个视图中,除它之外的节点嵌入自然被视为负样本。<br /> 对于定义的正样本和负样本,我们有以下对比损失:<br /> (10)<br />其中,s(·)表示余弦相似度计算,表示温度参数。值得一提的是,负样本来自两个来源,分别是视内节点和视间节点,分别对应于公式10中分母中的第二项和第三项。这样,成功地实现了局部层次的跨视图对比学习。
4.3 全局对比学习(Global-level Contrastive Learning)
虽然已经从局部视图揭示了用户/项目特征信息,但尚未探索完整的图形结构信息,即统一用户-项目和项目-实体图的远程连通性,即用户-项目-实体连接。为此,引入了全局级对比学习,它首先使用路径感知编码器探索结构视图,然后在全局级和局部级视图之间进行对比学习,以达到相互监督的目的。更具体地说,受[43]的启发,我们设计了一个路径感知GNN,将路径信息自动编码到节点嵌入中。然后利用全局视点和局部视点的编码嵌入,进行全局级对比学习,监督两级视点学习综合表示。
4.3.1 结构视图编码(Structural View Encoder)
在[43]的启发下,针对结构视图(即路径的多样性)下的结构信息编码问题,本文提出了一种路径感知GNN,它聚合了时间的邻域信息,同时保留了路径信息,即用户-交互-关系-实体等的远程连通性。<br /> 具体地,在第层中,聚合过程可以被表示为:<br /> (11)<br />其中,和分别表示项目和实体的表示,它们存储从它们的跳邻居传播的关系信号,并因此存储多跳路径的整体语义。并且针对每个关系和实体进行加权,注意力权重计算如下:<br /> (12)<br />其中表示concat操作,表示相邻实体和项目本身的集合。然后,我们将所有层的表示加起来,得到全局表示和:<br /> (13)
4.3.2 全局跨视图对比优化(Global-level Cross-view Contrastive Optimization)
获取全局和局部视图下的节点表示,首先映射到计算对比损耗的空间,与局部对比损耗计算相同:<br /> (14)<br /> 用同样的正负采样策略进行局部水平的对比学习,我们有如下对比损失:<br /><br /><br /> (15)<br /><br />其中和表示从全局视角和局部视角计算的对比学习损失。由用户嵌入计算的对比损失类似于,在公式中只将项目嵌入转换为用户嵌入。那么总体目标如下:<br /> (16)
4.4 模型预测(Model Prediction)
在三个视图中进行多层聚合并通过多层次跨视图对比学习进行优化后,我们得到用户的多个表征,即和;类似于项目,和。通过对上述表示进行求和和连接,我们得到了最终的用户/项目表示,并通过内积预测了它们的匹配分数,如下所示:<br /> (17)
4.5 多任务训练(Multi-task Training)
为了将推荐任务和自监督任务结合起来,我们使用多任务训练策略来优化整个模型。对于KG感知的推荐任务,采用成对BPR损失[29]来重构历史数据,这鼓励用户的历史项目的预测分数高于未观察到的项目。<br /> (18)<br />其中是由观察到的和未观察到的之间的相互作用组成的训练数据集;是Sigmoid函数。通过将全局和局部的对比损失与BPR损失相结合,我们最小化以下目标函数来学习模型参数:<br /> (19)<br />其中Θ是模型参数集,是确定局部-全局对比损失比的超参数,和分别是控制对比损失和正则化项的两个超参数。
5 实验(Experiment)
为了回答以下研究问题,我们在三个公共数据集上进行了大量实验:
RQ1:与目前的模型相比,MCCLK的表现如何?
RQ2:主要的组成部分(例如,局部对比学习、全局对比学习)真的运行良好吗?
RQ3:不同的超参数设置(例如,结构视图中的聚合层、局部对比损失权重等)如何影响MCCLK?
RQ4:自监督任务真的能改善表征学习吗?5.1 实验设置(Experiment Settings)
5.1.1 数据集描述(Dataset Description)
我们使用三个基准数据集来评估MCCLK的有效性:Book-Crossing,MovieLens1M,Last.FM。这三个不同领域的数据集是公开可访问的,并且大小和稀疏性不同,使我们的实验更具说服力。
Book-Crossing:它是从book-crossing社区收集的,该社区由各种图书的鲜明评级(从0到10)组成。
- MovieLens-1M:它是电影推荐的基准数据集,包含6036名用户总共2445个项目的大约100万个明确评分(从1到5)。
Last.FM:这是一个从Last.FM在线音乐系统收集的音乐收听数据集,大约有2000名用户。
由于MovieLens-1M、Book-Crossing和Last.fm中的交互是显式反馈,因此我们遵循RippleNet[36]并将其转换为隐式反馈,其中1表示正样本(MovieLens-1M的评级被视为正面的阈值是4,但由于Last.FM和Book-Crossing的稀疏性,没有设置阈值)。对于负样本,对于每个用户,我们从他的未观看的项目中随机抽取与他的正样本大小相等的样本。<br /> 至于子图-KG构建,我们遵循RippleNet[36],并使用Microsoft Satori为MovieLens-1M、Book-Crossing和Last.FM数据集构。遵循三元格式的每个子知识图是整个KG的子集,置信水平大于0.9。给定子图-KG,我们通过将他们的名字与三元组的尾部匹配来收集所有有效电影/书籍/音乐人的Satori ID。然后,我们将项目ID与所有三元组的头部进行匹配,并从子KG中选择所有匹配良好的三元组。表1列出了这三个数据集的基本统计数据。<br />**表1 三个数据集的统计数据和超参数设置。**(:局部对比损失权重,:对比损失权重,K:局部协同聚合深度,:项目-项目语义图构建的聚合深度,:局部语义聚合深度,:全局结构聚合深度。)<br />
5.1.2 基线(Baselines)
为了验证MCCLK的有效性,我们将MCCLK与基于CF的方法(BPRMF)、基于嵌入的方法(CKE,RippleNet)、基于路径的方法(PER)和基于GNN的方法(KGCN,KGNN-LS,KGAT,KGIN)进行了比较,如下所示:
BPRMF[29]:这是一种典型的基于CF的方法,使用成对矩阵因式分解进行隐式反馈,并通过BPR损失进行优化。
- CKE[53]:它是一种基于嵌入的方法,将结构、文本和视觉知识结合到一个框架中。
- RippleNet[36]:这是一种经典的基于嵌入的方法,在KG上传播用户的偏好。
- PER[52]:这是一种典型的基于路径的方法,它提取基于元路径的特征来表示用户和项目之间的连通性。
- KGCN[40]:它是一种基于GNN的方法,迭代地整合邻近信息来丰富项目嵌入。
- KGNN-LS[38]:它是一个基于GNN的模型,它用GNN和标签平滑正则化丰富了项目嵌入。
- KGAT[41]:这是一种基于GNN的方法,它迭代地将用户-项目-实体图上的邻居与注意机制集成在一起,以获得用户/项目表示。
- KGIN[43]:这是一种最先进的基于GNN的方法,它在用户意图的粒度上分离用户-项目交互,并在提出的用户-意图-实体图上执行GNN。
5.1.3 评估指标(Evaluation Metrics)
我们在两个实验场景中对我们的方法进行了评估:(1)在点击率(CTR)预测中,我们应用训练好的模型来预测测试集中的每个交互。我们采用了两个广泛使用的度量[36,40]AUC和F1来评估CTR预测。(2)在TOP-K推荐中,我们使用训练好的模型为测试集中的每个用户选择预测点击概率最高的K个项目,并选择Recall@K对推荐集进行评估。
5.1.4 参数设置(Parameter Settings)
我们在Pytorch中实现我们的MCCLK和所有基线,并仔细调整关键参数。为了进行公平的比较,我们将所有模型的嵌入大小固定为64,并且嵌入参数使用Xavier方法进行初始化[10]。我们使用Adam[18]优化了我们的方法,并将批次大小设置为2048。进行网格搜索以确定最优设置,我们在之间调整学习率,并在中调整正则项的。表1提供了其他超参数设置。所有比较方法中的超参数的最佳设置通过实证研究或遵循原始论文进行研究。
5.2 性能比较(Performance Comparison)(RQ1)
表2 AUC和F1在CTR预测中的结果。最好的结果用黑体标出,次好的结果用下划线标出。*表示通过非配对两样本检验,
<0.001,在统计学上有显著改善。
图3 在TOP-推荐中
的结果
我们在表2和图3中报告了所有方法的实验结果。在MCCLK和最强基线(用下划线突出显示)之间执行了改进和统计显著性测试。分析这种性能比较,我们有以下观察结果:
- 我们提出的MCCLK取得了最好的结果。就所有指标而言,MCCLK在三个数据集上的表现始终优于所有基线。更具体地说,它在图书、电影和音乐方面分别比最强基线w.r.t. AUC提高了3.11%、1.61%和2.77%,这证明了MCCLK的有效性。我们将这些改进归因于以下几个方面:(1)MCCLK通过在局部对比协同和语义视图,能够更好地捕获协同和语义特征信息;(2)全局对比机制既保留了结构信息,又保留了两级自区分的特征信息,从而比仅建模全局结构的方法捕获了更全面的信息。
- 整合KG福利推荐系统。将CKE与BPRMF进行比较,未开发KG会限制MF的性能。通过简单地将KG嵌入到MF中,CKE的性能比MF更好。这些发现与以前的研究一致[3],表明了像KG这样的辅助信息的重要性。
- KG信息的利用方式决定了模型的性能。基于路径的方法PER的性能甚至比BPRMF更差,因为用户定义的最优元路径在现实中很难定义。这一事实强调了从整个图中捕获结构路径信息的重要性。
GNN具有很强的图学习能力。大多数基于GNN的方法比基于嵌入和基于路径的方法性能更好,这表明了对远程连通性建模对于图表示学习的重要性。这一事实启示我们,通过适当的聚合机制学习局部/全局图信息可以提高模型的性能。
5.3 消融研究(Ablation Studies)(RQ2)
如表4所示,通过将MCCLK与以下两种变体进行比较,检验了模型中的主要组件对最终性能的贡献:
:这个变体移除了全局的对比学习模块,节点从两个局部视图进行编码。
:这个变体移除了局部对比学习模块,并且仅保留用户-捆绑-项目图的结构视图学习。
图4 消融研究的效果
图4中报告了两个变体和MCCLK的结果,从中我们得到了以下观察结果:1)移除全局对比学习显著降低了模型的性能,这表明它对于KG-Aware推荐探索图结构信息的重要性。2)在大多数情况下,是最不具竞争力的模型,特别是在海量数据集(如书籍和电影)中,这表明了在局部层面上学习协同视图和语义视图之间的区分信息的优越性。
5.4 灵敏度分析(Sensitivity Analysis)(RQ3)
5.4.1 语义视图中聚合深度的影响(Impact of aggregation depth in semantic view)
为了研究项目-项目语义图聚合深度的影响,我们在{1,2,3,4}的范围内改变,并在表3中展示了在图书、电影和音乐数据集上的性能比较。当=1、1、2时,MCCLK分别在书籍、电影和音乐上表现最好。我们可以相信:在项目-项目语义图中聚合邻居信息的一跳或两跳就足够了,这传达了项目-项目语义图构建的有效性。<br />**表3 语义视图中聚合深度的影响**<br />
5.4.2 结构视图中聚合深度的影响(Impact of aggregation depth in structural view)
为了在结构视图中分析聚合深度的影响,我们在{1,2,3,4}的范围内改变,并在表4中给出了图书、电影和音乐数据集上的性能变化曲线。我们发现:=2是从较长距离的连通性(即等)收集全局结构信号的合适距离,进一步堆叠更多的层只会带来更多的噪声。<br />**表4 结构视图中聚合深度的影响**<br />
5.4.3 局部对比损失权重
的影响(Impact of local-level contrastive loss weight)
权衡参数控制最终对比损失中局部对比损失的影响。为了研究的影响,我们在{0,0.2,0.4,0.6,0.8,1.0}中改变。根据图6所示的结果,我们得到了以下观察结果:(1)当=1时,表现最差,这强调了全局对比损失的重要性。(2)当=0,1的情景表现较差时,两个水平的对比损失都有效,且=0.2平衡了局部和全局的对比损失对模型优化的影响。<br /><br />**图6 局部级对比损失权重****的影响**
5.4.4 对比损失权重
的影响(Impact of contrastive loss weight)
参数决定了多任务训练中对比损失的重要性。为了研究对比损失权重的影响,我们在{1,0.1,0.01,0.001}中改变,从表5的结果可以观察到:=0.1带来了最好的模型性能,主要原因是将对比损失改变为与推荐任务损失相当的水平可以夸大模型性能。<br />**表5 对比损失权重****的影响**<br />
5.5 可视化(Visualization)(RQ4)
为了评估对比机制是否影响表征学习的性能,在前人的对比学习工作[28]的基础上,我们采用奇异值分解将学习项嵌入到2D中,并给出了正则化的奇异值。如图5所示,我们比较了MCCLK、、、KGIN和RippleNet在Book-Crossing上的可视化结果,从中我们可以观察到以下几点:<br /><br />**图5 模型表征学习能力在Book-Crossing上的可视化**
- KGIN和RippleNet的节点嵌入在一定程度上是混合的,落入一个窄锥中。相比之下,MCCLK的节点嵌入具有更多样化的分布,能够表示不同的节点特征信息,在更好的表征学习和缓解表征退化问题方面具有优势。
- 通过比较MCCLK及其变体,我们观察到去除局部或全局的对比损失使得学习的嵌入更难区分,这使得表征学习的有效性和稳健性来自于多层次的跨视图对比学习机制。
6 结论(Conclusion)
在这项工作中,我们重点探索知识图谱感知推荐的对比学习,以自监督的方式提高用户/项目表征学习的质量。我们提出了一种新的框架MCCLK,该框架从两个维度实现了更好的用户/项目表征学习:(1)MCCLK从全局结构视图、局部协同视图和语义视图三个角度考虑用户/项目表征学习,并显式构建KNN项目-项目语义图,从语义角度挖掘很少注意到的项目-项目语义相似度。(2)MCCLK在三个视图之间进行多层次的跨视图对比学习,探索特征信息和结构信息,进一步学习区别性表征。