DGCF:Disentangled Graph Collaborative Filtering论文及代码

一、前言

关注用户意图粒度更细的用户-项目关系。因此,设计了一个新的模型——解纠缠图协同过滤(DGCF),以解纠缠这些因素并产生解纠缠的表示。通过为每个用户项交互的意图建模分布,我们迭代地细化意图感知交互图和表示。同时,我们鼓励不同意图的独立性。这导致了分离的表示,有效地提取出与每个意图相关的信息。

协作过滤(CF)侧重于历史用户项目交互(例如,购买、点击),它假定行为相似的用户可能对项目有类似的偏好。对基于CF的推荐器进行了广泛的研究,用户-物品交互关系的建模发展过程可以概括为 

① 单个ID(用户、物品)的embedding

② 融入个人历史信息的embedding(一阶连通性)

③ 利用整体交互图的embedding(高阶连通性)

这项工作做出了以下主要贡献:

我们强调了不同用户物品关系在协同过滤中的重要性,对这种关系的建模可以带来更好的表示和可解释性。

我们提出了一种新的模型DGCF,它以更精细的用户意图粒度来考虑用户-项目关系,并生成不纠缠的表示。

任务由两个子任务组成:

1、在用户意图的粒度级别上探索用户与项目的关系,

一个用户的行为会受到多种意图的影响,例如消磨时间、匹配特定兴趣爱好以及为家人等其他人购物。

 学习每个行为的用户意图的分布A(u,i),

2、生成未纠缠的CF表示

提取与各个意图相关的信息作为表示的独立部分。更正式地说,我们的目标是设计一个嵌入函数f(·),以便为用户u输出一个解纠缠的表示eu,它由K个独立分量组成:

二、DGCF模型介绍

(PS:模型概述:模型设置 K 个意图,每个意图都对应一个子图。在 K 个子图上分别学习用户和物品的嵌入,最后组合起来形成最终的嵌入。)

提出了一种被称为DGCF的解缠结图协作过滤,如图2所示。它由两个关键组件组成,以实现解缠结:

1)图解缠结模块,它首先将每个用户/项目嵌入到块中,将每个块与意图耦合,然后将新的邻居路由机制并入图神经网络,以便解开交互图并细化意图感知表示;

2)独立性建模模块,该模块使用距离相关性作为正则化器来鼓励意图的独立性。DGCF最终生成具有意图感知解释图的解纠缠表示。

1、关于GNN的图分离模块

(1)意向感知嵌入初始化

主流CF仅将用户/项目ID参数化为整体表示,我们还将ID嵌入分离为K个块,将每个块与潜在意图相关联。用户嵌入被初始化为:

 其中u\ni R^{d}是用于捕获u的固有特性的ID嵌入;u_{k}\ni R^{\frac{d}{K}}是u对第K个意图的分块表示。

 (2)意向感知图初始化

以前的工作不足以描述行为背后的丰富用户意图,因为它们只利用一个用户-项目交互图或同质评级图来展示用户-项目关系。

定义了一组得分矩阵{Sk|∀k∈ {1,··,K}}。注意图感知矩阵Sk,每个条目Sk(u,i)表示用户u和项目i之间的交互。

此外,对于每个交互,我们可以构造一个得分向量S(u,i)=(S1(u,i),··,SK(u),i)),我们统一初始化每个得分向量,如下所示:

 其假定在建模开始时意图的贡献相等。因此,这种得分矩阵Sk可以被视为意图感知图的邻接矩阵。

(3)图形分离层

目标是从用户和项目之间的高阶连接中提取有用信息,而不仅仅是ID嵌入。为此,我们设计了一个新的图分离层,该层配备了邻居路由和嵌入传播机制,其目标是在传播信息时区分每个用户项连接的自适应角色。

 

 e_{ku}^{1}表示用户 u 在子图 k 上的 1 阶聚合信息,中间使用了邻居路由机制来迭代更新

迭代更新规则

路由机制:首先,我们使用嵌入传播机制来更新意图感知嵌入,基于意图感知图;然后,我们依次利用更新的嵌入来细化图并输出意图上的分布。特别是,我们设置T次迭代来实现这种迭代更新。

在GCN的某一层中,其迭代更新的过程为:子图邻域聚合 → 得到用户(物品)嵌入 → 调整子图连边权重 → 子图邻域聚合 → ....

交叉意图嵌入传播

对于目标交互(u,i),我们有得分向量,比如{Sk(u,i)|∀k∈ {1,··,K}}。为了获得其在所有意图上的分布,我们随后通过softmax函数对这些系数进行归一化:

 其能够说明哪些意图应该得到更多关注以解释每个用户行为(u,i)。

我们在单个图上执行嵌入传播,从而将对用户意图k有影响的信息编码到表示中。更正式地说,加权和聚合器定义为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值