GNN4Rec-2: 解耦表示,理解用户的多样偏好和意图

GNN4Rec系列旨在介绍图神经网络与推荐系统结合的一些工作。第一期主要介绍了用GNN做特征交叉的几篇工作.

GNN4Rec-1:如何用GNN来进行特征交互?

本期介绍下在用GNN学习用户表示的过程中,如何分离出用户的多样化偏好和意图。主要涉及的技术是解耦表征。

解耦表征(Disentangled Representations)通俗一点的理解就是发现对模型预测起决定性作用的抽象特征

在18年时,谷歌DeepMind团队对 Disentangled Representations 进行了一个定义,即:表示向量空间中的不变子空间(invariant subspaces)是独立表示的。这样就可以去发现数据中的一部分特征对结果恒定的表征[1]。

[1] Higgins, Irina, et al. Towards a definition of disentangled representations.

感觉理论直接理解会比较困难,本文重点介绍一下近些年分离表征与图网络结合的一些应用,包括推荐系统和CV,这样理解起来感觉会更直观一些。

  • 20SIGIR Disentangled graph collaborative filtering

  • 21AAAI Disentangled motif-aware graph learning for phrase grounding

推荐系统中的应用(20 SIGIR)

推荐系统的东西还有点多,所以就不每个都说了,随机选了一个进行比较详细的分析,其他的就随便带过好了。

  • 论文标题:Disentangled graph collaborative filtering

  • 论文作者:Xiang Wang; Hongye Jin; An Zhang; Xiangnan He; Tong Xu; Tat-Seng Chua

  • 论文地址:https://dl.acm.org/doi/pdf/10.1145/3397271.3401137

协同过滤是推荐系统里的一个经典技术。这篇文章的目的是通过对图特征解耦的方式使得用户意图更加明确,比如不是所有的购物都是给自己买的,也有可能是临时给室友儿子买的,这个时候很有可能购买的物品不是用户本身的兴趣点,也不会长期选择这一类物品。

因此这个工作更关心用户意图上的细粒度上如何分离,鼓励意图独立,如图中的k可以表示不同的意图:

这个问题的建模分为3个部分:

  1. 通用的对用户,商品的交互关系建模,并且对他们进行编码;

  2. 图解耦模块

  3. 解耦表征:

由于需要用户意图,那么基于不同意图的交互形式就可以被分解为 个:

分别表示用户和商品。同时,图也可以表示成 。对于用户 来说,由于最终目标是需要分离不同意图,所以用户可以被根据其意图被分离成

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RabbitMQ是一个开源的消息中间件,它实现了高效的消息传递机制,可以在分布式系统中实现解耦和异步通信。通过使用RabbitMQ,不同的应用程序可以通过发送和接收消息来进行通信,而不需要直接依赖于彼此。 解耦是指将应用程序的不同部分解开,使它们能够独立地进行开发、测试和部署。在分布式系统中,解耦是非常重要的,因为它可以降低系统的复杂性,并提高系统的可扩展性和可维护性。 RabbitMQ通过使用消息队列的方式来实现解耦。应用程序可以将消息发送到RabbitMQ的消息队列中,而不需要直接与其他应用程序进行通信。其他应用程序可以从队列中接收消息,并进行相应的处理。这种方式可以使应用程序之间的通信变得松散耦合,每个应用程序都可以独立地进行开发和部署。 RabbitMQ提供了丰富的特性来支持解耦和异步通信,包括以下几个方面: 1. 消息队列:RabbitMQ使用消息队列来存储和传递消息。消息队列可以缓冲发送方和接收方之间的消息,使得它们可以独立地进行工作。 2. 发布/订阅模式:RabbitMQ支持发布/订阅模式,可以将消息广播给多个消费者。这样,一个消息可以被多个应用程序同时接收和处理。 3. 路由和交换机:RabbitMQ使用交换机来路由消息。通过定义不同类型的交换机和绑定规则,可以将消息发送到指定的队列中。 4. 消息确认机制:RabbitMQ提供了消息确认机制,确保消息能够可靠地传递。发送方可以等待接收方的确认消息,以确保消息已经被成功处理。 5. 可靠性和持久化:RabbitMQ支持消息的持久化,即使在服务器故障或重启后,消息也不会丢失。它还提供了可靠性保证,确保消息能够按照指定的顺序进行处理。 6. 扩展性和高可用性:RabbitMQ可以通过添加多个节点来实现扩展性和高可用性。多个节点可以组成一个集群,提供更高的吞吐量和可靠性。 总之,RabbitMQ是一个强大的消息中间件,可以帮助应用程序实现解耦和异步通信。它提供了丰富的特性和灵活的配置选项,适用于各种不同的应用场景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值