基于图协同过滤的解缠表示(Disentangled Graph Collaborative Filtering)

1.前言

这篇论文主要将用户的嵌入向量分成K块,每一块都代表不同的意图,然后根据意图去训练一个意图感知矩阵,从而提高用户选择某个商品的可解释性。

论文地址:http://staff.ustc.edu.cn/~hexn/papers/sigir20-DGCF.pdf

源码地址:https://github.com/xiangwang1223/disentangled_graph_collaborative_filtering

摘要

从交互数据中学习用户和物品的信息表示对于协同过滤(CF)至关重要。 当前的模型算法从单个用户-物品实例演变为整体交互图,在很大程度上以统一的方式对关系进行建模,而忽略了用户选择这些物品的意图的多样性,这可能是为了消磨时间,出于兴趣或为家庭等其他人购物。这种对用户兴趣进行建模的统一方法很容易导致次优表示,无法对各种关系进行建模,也无法分清用户的真实意图

在这篇论文中,设计了一个新模型,即Disentangled Graph Collaborative Filtering(DGCF),以解开这些因素并产生新的解耦表示。具体来说,通过为每个用户-物品交互的意图分布建模,生成一个意图感知的交互图。 同时,鼓励不同意图的独立性。 这才会生成独立的表示形式,有效地提取了与每种意图有关的信息。

引言

早期的模型,例如矩阵分解(MF),是通过将每个用户/物品的ID分别投影到一个向量中表示(即嵌入),从而放弃了用户-物品之间更深层次的关系。

一些后续研究将个人历史记录为用户的特征,并结合历史记录以嵌入更丰富的表示

最近的一些工作进一步将所有历史交互数据分为两部分,用户图和物品图,以多跳邻居的形式嵌入到表示中,并实现了最新的性能。 我们将这种性能的提升归因于对用户-物品关系的更深层次建模,从仅使用单个ID演变为个人历史记录,然后是整体交互图。用户-物品的关系由单一变得复杂起来

尽管有效果,我们认为对用户-物品关系的现有建模方式不足以解开的用户的真实意图。 关键原因是现有的嵌入功能无法区分用户选择不同物品的意图:它们要么将用户-物品交互视为孤立的数据实例,要么将其统一组织为交互图中的边来训练神经网络。 忽略了以下基本事实:用户选择某件商品通常有多种意图; 不同的意图可能会激发不同的用户行为

在这里插入图片描述
以上图的右侧为例,用户u观看电影i1来打发时间,其不在乎i1的属性(例如,导演)是否符合她的兴趣; 另一方面,u1与i2的互动可能主要是由于她对i2导演特别感兴趣所致。

所以以前的用户-物品关系建模是粗糙的,它具有以下局限性:

  1. 不考虑用户的真实意图,很容易导致次优的表示;

  2. 由于用户的互动纪录中通常会出现噪声(例如随机点击),因此 容易混淆用户的意图;

  3. 用户意图会模糊不清且混合在高度纠缠在表述中,导致可解释性非常差

这篇论文将重点放在用户意图的更细致的层次上探索这些关系,以便在表示中解开用户的真实意图。 直观地讲,用户的行为受多种意图的影响,例如打发时间,兴趣爱好或为家人购物等。 我们需要学习每个用户行为的意图分布,总结每个用户意图选择该物品的置信度。 联合分析所有历史交互的这种分布,我们可以获得一组意图感知的交互图,这进一步提炼了用户意图的信号。但是,由于以下挑战,这并非易事:

  1. 如何清楚地表达每个意图有关的信号尚不清楚,并且仍待探索。
  2. 解缠的准确性受意图之间的独立性影响,这需要设计一个特定的模型。

2.前期工作

2.1.协同过滤

CF建模的核心是仅基于用户行为数据发现用户对商品的偏好,通常,行为数据涉及一组用户U = {u},物品I = {i},以及他们的交互Gamma公式展示 O + = ( y u i ) O^+ = (y_{ui}) O+=(yui) ,其中 y u i = 1 y_{ui} = 1 yui=1表示用户u之前选择了物品i,因此,CF的主要任务是预测用户u采用项目i的可能性,或更正式地讲,它们交互的可能性 y u i y_{ui} yui

我们可以使用嵌入函数来表示用户、物品向量:

在这里插入图片描述
最终嵌入d维的向量中, e u ∈ R d e_u\in\mathbb R^d euRd e i ∈ R d e_i\in\mathbb R^d eiRd ,这种嵌入是为了记住商品和用户的基本特征

然后,进行交互建模以重建历史交互,内积是一种广泛使用的交互功能,用于用户和项目表示以执行预测:

在这里插入图片描述
将预测任务转换为相同潜在空间中u和i之间的相似性估计,在这里,我们专注于CF的表示学习,从而使用内积作为预测模型,并在以后的工作中进行交互建模的探索。

2.1.2.基于协同过滤的表示学习

现有的工作都是利用用户-物品的关系来丰富CF表示,从单个用户-物品发展到个人历史整体交互图,早期,MF(矩阵分解)将每个用户/物品信息分别投射到嵌入向量中,许多推荐算法,例如NCF(神经网络协同过滤),CMN(协同记忆网络)和LRML(潜在关系度量学习)都采用了矩阵分解技术,但是,这种范式将每个用户-商品对视为一个独立的数据实例,而不考虑其在嵌入函数中的关系,为此,后来的研究,如SVD++ ,FISM,NAIS和ACF将用户的个人历史视为其特征,通过平均值整合到用户嵌入向量中,或用注意力网络作为用户嵌入,在表示学习中有着不错的表现。

另一类方法例如Mult-VAE ,AutoRec和CDAE将自动编码器应用于交互历史,以估计用户行为。更进一步,用整体交互图丰富表示,像HOP-Rec和GRMF之类的先前努力应用了无监督表示学习的思想-也就是说,连接具有相似的表示的节点来丰富用户-商品的表示。最近,受图神经网络(GNN)巨大成功的启发,一些算法,例如GC-MC,NGCF,PinSage和LightGCN,进一步重组了图表中的个人历史记录,并从多跳邻居中提取有用的信息以精炼嵌入向量

在交互图中,我们可以得到用户和项目节点之间的连通性之类关系,这种交互图可以表示为 G = ( u , i , y u i ) G = {(u,i,y_{ui})} G=(u,i,yui) ,其中用户u和商品i节点之间的边是观察到的交互 y u i y_{ui} yui 。遍历G时,以用户(或商品)节点为开始派生的路径就是图的连通性,该路径带有表示用户u与商品i之间关系。检查以u1为根的路径,u1的一阶连通性u1→{i1,i2},显示了u1的互动历史,从而直观地描述了她的兴趣,此外,二阶连通性u1→i1→u2表示u1和u2之间的行为相似性,如之前都采用i1,此外,我们通过三阶连通性u1→i1→u2→i3展示了协作信号,这表明u1很可能会选择i3,因为她的相似用户u2已选择i3。

这样,用户商品的关系可以明确表示为连通性:单个ID(即无连通性),个人历史记录(即一阶连通性),整体交互图(即更高阶的连接)

2.1.3.限制

我们认为,这种对用户-商品关系的统一建模不足以反映用户的潜在意图。 这限制了对CF表示的可解释性和理解。例如,用户u与物品i1和i2进行交互,目的分别是打发时间并符合个人品味。 但是,这样的潜在意图很少被探索,并且很容易导致次优的表达能力。具体来说,每次互动(u,i)对eu的所有维度的贡献是无法区分的,这就导致每个行为背后的潜在意图在嵌入中被高度纠缠,掩盖了意图与特定维度之间的映射

2.2.任务描述

2.2.1.用户-商品关系的探索

一种用户行为受到多种意图的影响,以电影推荐为例,用户u看电影i1是为了打法时间,因此可能不太在乎i1的导演是否与她的兴趣相匹配; 但是,u看了i2,重要因素是因为其导演是u感兴趣的。 所以,不同的意图对激发用户行为有不同的贡献

为了对用户和物品之间的这种细致的关系进行建模,我们的目的是学习每种行为的用户意图分布 A ( u , i ) A(u,i) A(u,i)

在这里插入图片描述
其中 A k ( u , i ) A_k(u,i) Ak(u,i) 表示因为第k个意图,用户u选择物品i的置信度,K是控制潜在用户意图数量的超参数。联合所有的k,我们可以构造一个意图感知图Gk,其定义为Gk = ( u , i , A k ( u , i ) ) {(u,i,A_k(u,i))} (u,i,Ak(u,i)) ,其中每个历史互动(u,i) 代表一个边并分配有 A k ( u , i ) A_k(u,i) Ak(u,i) ,此外,为Gk建立加权邻接矩阵Ak。这样,我们建立了一组意图感知图 G G G={ G 1 , . . . . G k G_1,....G_k G1,....Gk} ,来表示不同的用户-物品的关系,而不是先前工作中采用的统一图

2.2.2.生成解耦的表示

接下来的目标是利用意图感知图为用户和物品生成解耦的表示,也就是说,提取与个人意图相关的信息作为表示的独立部分,更一般地讲,我们的目的设计一个嵌入函数f(·),以便为用户u输出一个解耦的表示eu:

在这里插入图片描述
其中 e k u e_{ku} eku 是第k个潜在意图对用户u的影响。

需要强调的是,所有的 e k u e_{ku} eku 是独立的,从而减少语义冗余并最大程度地压缩单个意图的表示,所以,每个 e k u e_{ku} eku 都基于意图感知图Gk综合了u的连通性所建立的;类似地,我们可以为物品i建立表示 e i e_i ei

3.模型理论

METHODOLO解缠图协作过滤,称为DGCF。它由2个关键组件组成:

在这里插入图片描述

  • 图解缠模块 : 该模块首先将每个用户/物品嵌入的向量切成块,然后将每个块对应一个意图,然后将一种新的邻居路由机制整合到图神经网络中,以解开交互图并完善意图感知表示;
  • 独立性建模模块 : 该模块使用距离关联作为正则化器来鼓励意图的独立性。 DGCF最终产生与意图感知的解释图解开的表示。

3.1.图解缠模型

对GNN的研究表明,在图结构上应用嵌入传播机制可以从多跳邻居中提取有用的信息。更具体地说,节点从其邻居的聚合信息上获得更多表示,显然,节点之间的连通性提供了一个明确的渠道来指导信息流。因此,我们开发了一种称为图解缠结层的GNN模型,该模型在嵌入传播中引入了新的邻居路由机制,以更新这些图的权重,这使我们能够区分每个用户-物品连接的不同重要性得分,以精炼交互图,进而将信号传播到意图感知块中

3.1.1.初始化意图嵌入向量

与主流CF模型不同,后者仅将用户/商品ID参数化为整体表示,而我们另外将ID嵌入分为K个块,并将每个块与潜在意图相关联。更正式地讲,此类用户嵌入被初始化为:

在这里插入图片描述

其中 u ∈ R d u\in\mathbb R^d uRd 是ID嵌入,以捕获u的固有特征, u k ∈ R d k u_k\in\mathbb R^{\frac{d}{k}} ukRkd 是对u第k个意图的分块表示。类似地,为物品i建立 i = ( i 1 , i 2 , . . . i k ) i =(i_1,i_2,...i_k) i=(i1,i2,...ik) 。然后,随机初始化每个块表示,以确保训练开始时意图之间的差异。

3.1.2.意图感知图初始化

我们认为先前的工作不足以描述用户行为背后的丰富意图,因为它们仅利用一个用户-物品交互图来展示用户-物品的关系。因此,我们为K个潜在意图定义了一组分数矩阵 { S k ∣ ∀ k ∈ { 1 , . . . . K } } \{S_k|\forall k\in\{1,....K\}\} {Skk{1,....K}} ,对于意图感知矩阵 S k S_k Sk S k ( u , i ) S_k(u,i) Sk(u,i) 表示用户u与项目i之间的交互。此外,对于每个交互,我们可以构造K个潜在意图上的得分矢量 S ( u , i ) = ( S 1 ( u , i ) , . . . , S k ( u , i ) ) ∈ R K S(u,i)=(S_1(u,i),...,S_k(u,i))\in\mathbb R^K S(u,i)=(S1(u,i),...,Sk(u,i))RK 。我们统一初始化每个得分向量:

在这里插入图片描述
它假定在建模开始时意图的贡献相等。 因此,这样的得分矩阵Sk可以看作意图感知图的邻接矩阵。

3.1.3.图解缠层设计

我们设计了一种新的图解缠层,该层具有邻居路由和嵌入传播机制,目标是区分每个用户-物品连接在沿其传播信息时的角色,我们定义该层如下:

在这里插入图片描述
其中, e k u ( 1 ) e^{(1)}_{ku} eku(1) 是从u的邻居那里收集与意图k相关的信息; N u N_u Nu 是u的一跳邻居(即,u采用的历史项);并且超级索引(1)表示一阶邻居

Iterative Update Rule

在这里插入图片描述
在第t次迭代,对于交互 (u,i) ,我们设置分数向量 { S k ( u , i ) ∣ ∀ k ∈ { 1 , . . . . K } } \{S_k(u,i)|\forall k\in\{1,....K\}\} {Sk(u,i)k{1,....K}} 。为了得到它在所有意图上的分布,我们通过softmax函数对这些系数进行归一化:

在这里插入图片描述
对用户意图 k 有影响的信息,也会被编码到 u k t u^t_k ukt 中:

在这里插入图片描述

其中 是 u ,在 t 次迭代后,从邻居那里提取的信号 N u = { i ∣ ( u , i ) ∈ G } N_u=\{i|(u,i)\in G\} Nu={i(u,i)G} 的临时表示; i k 0 i^0_k ik0 是物品 i 历史的输入表示; ζ k t ( u , i ) \zeta^t_k(u,i) ζkt(u,i) S k t S^t_k Skt 的拉普拉斯矩阵,表现为:

在这里插入图片描述
Intent-Aware Graph Update
基于用户(或项目)节点的邻居来迭代地调整意图的强度。用等式(9)检查以用户节点u为根的子图结构, u k t u^t_k ukt 可以看作是 N u = { ( u , i ) } N_u=\{(u,i)\} Nu={(u,i)} 的质心,其中包含u与之前进行过交互的物品。直观地讲,由相同意图驱动的历史项往往具有相似的分块表示,因此,我们迭代更新 S k t ( u , i ) S^t_k(u,i) Skt(u,i) ,更精确地调整质心u及其邻居i之间的强度,如下所示:

在这里插入图片描述

其中 u k t T t a n h ( i k 0 ) {u^t_k}^Ttanh(i^0_k) uktTtanh(ik0) 考虑 u k t u^t_k ukt i k 0 i^0_k ik0 之间的相关程度;tanh 是非线性激活函数,为了增加模型的表达力

经过T次迭代后,我们最终获得了一个图解缠结层的输出,该图解缠结层由解缠结的表示形式组成。当向前进行这种传播时,我们的模型 e k u ( 1 ) = u k T e^{(1)}_{ku}=u^T_k eku(1)=ukT ,以及它的意图感知图 A k ( 1 ) = S k T A^{(1)}_k=S^T_k Ak(1)=SkT ∀ K ∈ { 1 , . . . K } \forall K \in\{1,...K\} K{1,...K} , 聚合与每个意图有关的信息并生成注意力流,从而可以被视为解开背后的解释。

3.1.4.合并图解缠层

使用一跳邻居后,我们进一步堆叠了更多的图解缠结层,以收集来自高阶邻居的影响信号。为了从这种更高级别的连接中捕获用户意图,我们将l层后的表示形式递归表示为:

在这里插入图片描述
其中 e k u ( l − 1 ) e^{(l-1)}_{ku} eku(l1) e k i ( l − 1 ) e^{(l-1)}_{ki} eki(l1) 是用户u和物品i以第k个因子为条件的表示,以记录从其(l − 1)跳邻居传播过来的信息。这样的解释图能够合理地证明哪些信息构成了纠缠的表示。

在L层之后,我们将不同层的意图感知表示相加,作为最终表示:

在这里插入图片描述
这样,我们不仅可以解开CF表示,而且可以对表示的每个部分进行解释。 值得强调的是,可训练参数仅是第0层的嵌入,即所有用户和项的u和i

3.2.独立建模模块

动态路由机制鼓励以不同意图为条件的分块表示形式彼此不同,但是,我们认为使因子彼此独立是不够的,因子感知表示之间可能存在冗余。
因此,我们引入了距离相关性,距离相关能够根据线性和非线性关系来表示任意两个成对向量的独立性。 当且仅当这些向量是独立的时,其系数为零,我们将其表示为:

在这里插入图片描述

其中 E k = [ e u 1 k , . . . , e u N k , e i 1 k , . . . e i M k , ] ∈ R ( M + N ) × d k E_k=[e_{u_1k},...,e_{u_Nk},e_{i_1k},...e_{i_Mk,}]\in\mathbb R^{(M+N)×\frac{d}{k}} Ek=[eu1k,...,euNk,ei1k,...eiMk,]R(M+N)×kd 是基于所有用户和项目的意图感知表示的嵌入查找表

d C o r ( . ) dCor(.) dCor(.)是距离相关的函数,定义为:

在这里插入图片描述
其中 d C o v ( . ) dCov(.) dCov(.) 表示两个矩阵之间的距离协方差, d V a r ( . ) dVar(.) dVar(.) 是每个矩阵的距离方差。

3.3.模型优化

在获得了用户u和项i的最终表示之后,我们使用内积作为预测函数来估计其相互作用的可能性 y u i y_{ui} yui 。我们使用成对的BPR损失优化模型参数。具体来说,它鼓励用户对历史项的预测要高于未观察项的预测:

在这里插入图片描述
其中 O = { ( u , i , j ) ∣ ( u , i ) ∈ O + , ( u , j ) ∈ O − } O=\{(u,i,j)|(u,i)\in O^+,(u,j)\in O^-\} O={(u,i,j)(u,i)O+,(u,j)O} 表示在训练数据集中观察到的相互作用O+和未观察到的对应物O-; σ ( . ) \sigma(.) σ(.)是sigmiod函数;λ是控制L2正则化的系数。在训练过程中,我们可以选择优化独立性损失(14)和BPR损失(16)。

4.实验

4.1模型结果

在这里插入图片描述
我们将这种改进归因于以下几个方面:

  • 通过利用多种用户项目关系,与将关系视为统一边沿的基于GNN的现有模型相比,DGCF能够更好地表征用户偏好。
  • 解缠模块在用户意图的更细的级别上对表示进行建模,从而使推荐程序具有更好的表达能力;
  • 嵌入传播机制比一层GC-MC和三层NGCF更有效地从一跳邻居中提取有用的信息

我们发现Amazon-Book的改进远少于其他数据集。 这可能表明,购买图书比访问基于位置的业务更简单。 因此,用户购买书籍的意图不太多样化。

4.2.对DGCF的深入研究

对DGCF进行了消融研究,以研究某些设计的合理性和有效性-更具体地说,图形解缠层的数量,潜在用户意图的数量以及独立建模如何影响模型。

图形解缠层的数量

在{1、2、3}的范围内搜索L并在表3中汇总经验结果

在这里插入图片描述
潜在用户意图的数量
在{1、2、4、8、16}的范围内搜索L并在表3中汇总经验结果

在这里插入图片描述

独立建模
选择MF,NGCF和DGCF分别代表三种方式来建模用户-项目关系-隔离数据实例,整体交互图和 意图感知交互图。 我们报告结果比较 表4中的距离相关性

在这里插入图片描述

5.结论与展望

在这项工作中,我们以用户意图展示了用户-项目关系,并在用户和项目的表示中解开了这些意图。 我们设计了一个新的框架DGCF,该框架利用图解缠模块来迭代地优化意图感知的交互图。 我们进一步介绍了独立建模模块,以鼓励分离。

学习解缠的用户意图是一种有效的解决方案,可以利用用户和项目之间的多种关系,并且也有助于极大地解释其表示形式。 这项工作显示了对可解释推荐模型的初步尝试。 在以后的工作中,我们将涉及附带信息,例如与用户的对话历史记录,项目知识[和用户评论,或进行心理学实验。 建立基于用户意图的事实真相,并进一步更好地解释纠结的表示形式。 此外,我们希望探索意图表示的隐私性和鲁棒性,以期避免敏感信息的泄露。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值