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

Background:

现有模型在很大程度上以统一的方式对用户-物品关系进行建模(将模型看做黑盒,历史交互作为输入,Embedding作为输出。),这会忽略用户意图的多样性(用户看一个视频可能是因为消磨时间、喜欢里面的演员等多种意图)导致representation次优。本文提出,将embedding划分成多个部分,每一部分单独表示一种意图,各部分之间相互独立,实现意图的解耦。

例:假设Embedding长度为N,意图数量为K,划分后每一部分长度为\frac{N}{K},即

u = (itent_1itent_2,……,itent_N), |itent_i|\frac{N}{K}。物品i的也进行同样的划分:

i = ((i_1,i_2,\cdot \cdot \cdot \cdot \cdot \cdot ,i_n)

PRELIMINARY

1、本文构建了多个意图感知图,G = \{G_1,G_2,\cdot \cdot \cdot \cdot \cdot \cdot G_K\}, 其中 G_K = \{u,i,A_k(u,i)\}, u,i

表示u-i之间产生过交互,A_k(u,i) 表示用户u和物品i发生交互是因为意图k的分数,不难看出意图感知图是一个带权图

2、itent-aware图不是用户-物品交互二部图的子图,二者图形结构是一样的,但用户的表示是itent_k,物品的表示为 i_k

3、用户和物品的交互存在多个意图, 构成意图分布 A(u,i) =(A_1(u,i),A_2(u,i), \cdot \cdot \cdot \cdot \cdot \cdot ,A_K(u,i))A_K(u,i)表示用户u和物品i发生交互是因为意图k的自信强度,整体表示用户u和物品i发生交互因为各意图的自信度大小。

4、本文用邻接矩阵A_k存储和表示意图感知图(带权图)Graph_{\_k}。元素 A_k(u,i) = x,表示用户u因为意图k和物品i发生交互的自信程度为x。

METHODOLOGY(本文重点是两个迭代更新方法)

初始化:

将用户u和 i 的embedding向量初始化为随机数A_k中u-i发生过交互的位置初始化为1(开始时假定用户意图分布相同),并将初始化后的矩阵记为S_k,如上图下部分所示。

更新机制:

本文采用迭代更新机制,不管是特征更新还是意图感知图的更新,都重复T次,目的是使结果更贴近实际。下文中 t\ \epsilon \ (1,2,\cdot \cdot \cdot \cdot ,T),意图感知图和意图感知表示,交替更新T次(虽然二者都进行了迭代更新,但主要目的还是为了得到更好的意图感知表示,或者可以说意图感知图的更新目的是为了得到更真实的用户意图自信程度,在消息传递时传递更有效的信息。)。

意图感知特征更新

执行T次GNN,首先进行一阶邻居消息聚合,迭代T次得到e_{ku}^{(1)},再对2……L跳邻居进行消息聚合,方法不变,得到e_{ku}^{(2)}\cdot \cdot \cdot \cdot \cdot \cdot e_{ku}^{(L)}

\iota_k^t(u,i):可理解为注意力,u和i发生交互是因为意图k的自信度越大,则从物品在k上的特征提取的越多。

\tilde{S_k^t}(u,i):前文说过,用户和物品交互可能因为多个意图,用户与物品交互的意图分布为:A(u,i) =(A_1(u,i),A_2(u,i), \cdot \cdot \cdot \cdot \cdot \cdot ,A_K(u,i)),这里对各意图做normalization。

意图感知图更新

用意图感知特征去更新意图感知图。

层聚合

将得到的0……L层消息聚合后的特征表示做SUM作为用户最终的特征表示。

独立性建模

本文将用户特征表示,划分成多个意图,各意图之间独立,实现意图的解纠缠。为了使各意图互相独立,本文引入距离相关性损失:

Disentangled Graph Collaborative Filtering相关推荐

  1. 【论文笔记】Disentangled Graph Collaborative Filtering --- SIGIR2020

    本文提出了一种新的模型DGCF用来理解用户的意图.把嵌入拆成K部分,每一部分分别表示用户的意图.同时使用了独立模型模块来保证每一部分都具有独立性,使得意图不会纠缠在一起. 摘要 从历史交互数据中学习用 ...

  2. DGCF,Disentangled Graph Collaborative Filtering论文理解

    论文地址:http://staff.ustc.edu.cn/~hexn/papers/sigir20-DGCF.pdf Intros 核心思想:用户和商品的某次交互背后都有其潜在的原因,比如购买手机, ...

  3. 2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning

    [论文阅读笔记]2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Lear ...

  4. 知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering

    题目:Neural Graph Collaborative Filtering 代码: https://github.com/xiangwang1223/neural_graph_collaborat ...

  5. 论文笔记(Neural Graph Collaborative Filtering)

    神经图协同过滤 论文链接:Neural Graph Collaborative Filtering, SIGIR'19 原理:在 user-item interaction graph 上使用 GNN ...

  6. 矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现

    矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现 Neural Graph Collaborative Filtering (NGCF) is a ...

  7. #Reading Paper#Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learni

    #论文题目:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning(推荐系统:基 ...

  8. Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning(个人笔记)

    论文:利用邻域丰富的对比学习改进图协同过滤 (NCL) WWW22 文章链接:https://arxiv.org/abs/2202.06200v1https://arxiv.org/abs/2202. ...

  9. 《Learning to Denoise Unreliable Intercations for Graph Collaborative Filtering》个人笔记

    原文: https://dl.acm.org/doi/10.1145/3477495.3531889 摘要 ​ 现已存在的基于GNN协同过滤模型面临着一些用户-项目噪音数据,这个严重影响系统的有效性和 ...

最新文章

  1. python搞笑代码-为PYTHON添加define功能【搞笑代码】
  2. Linux中的top命令查看内存和cpu信息
  3. 妹纸这套路玩的好深,吹泡泡能吹出气球来
  4. java中的foreach语句
  5. Leetcode 94.二叉树的中序遍历 (每日一题 20210712)
  6. 利用Servlet实现用户永久登录
  7. ionic4 ngFor中使用ngIf
  8. 经典排序算法 - 耐心排序Patience Sorting
  9. win10 系统下‘javac‘ 不是内部或外部命令,
  10. 世界顶级职场中,为什么印度人可以做到CEO,中国人却最多只是架构师?
  11. python中import math用法_import的使用
  12. 2022 下半年一定不要裸辞!
  13. 利用高效的css 提高你的开发效率~(下)
  14. centos设置密码复杂度及最长使用时间
  15. Back键和Home键的屏蔽
  16. excel合并两列内容_合并多个Excel文件内容到一个Excel中
  17. 3w最简单led灯电路图_一款简单实用的LED灯驱动电路
  18. 基于ArduPilot的旋翼式无人机飞行器开发系列(三,四轴无人机的组成)
  19. dparsf是什么_用rs-fmri数据画脑功能连接图
  20. 2017-10-17离线赛

热门文章

  1. des加密解密 代码 java_java 实现DES 加密解密的示例
  2. 阿里云搭建svn服务器
  3. 学习Nginx看这篇就够了
  4. 人脸识别 ArcFace 实现
  5. ArcFace:Insight Face
  6. 【spring里面都用到了哪些设计模式】
  7. 蓝桥杯CT107D:关于矩阵键盘工作原理及其应用
  8. 你会心动吗?ICPR 2018 MTWI挑战赛开启
  9. FHQ大战Splay
  10. ScrollView和HorizontalScrollView常用属性,及禁止滑动