基于图协同过滤的解缠表示(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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值