IntentGC

IntentGC: a Scalable Graph Convolution Framework Fusing Heterogeneous Information for Recommendation

来源: KDD ’19, August 4–8, 2019
作者: Jun Zhao Zhou Zhou, Ziyu Guan …
链接: https://doi.org/10.1145/3292500.3330686

摘要

目前有许多嵌入方法能够利用一些辅助信息提高推荐模型性能,但是以往大部分模型所能利用的辅助信息都是有限的,不能够充分探索丰富的辅助关系(有的同时只利用一种辅助信息)。因此本文从用户行为和事物信息中采集了大量relationships,提出了IntentGC框架:能够通过GCN利用节点显示偏好和异构关系,并且能够自动化学习不同关系的重要程度。
同时,为了能够将 IntentGC 应用到web扩展应用,本文还设计了快速图卷积模型 IntentNet

研究点

GCN,辅助节点的缩减,邻居聚合方式的改进,negative sampling,

框架主要创新

1. 充分探索辅助信息
为了帮助建模并提升模型鲁棒性,将一阶相似的辅助关系转换为二阶相似的权重关系,举个例子: user1提交查询关键字“Spiderman”,此时user1与Spiderman之间构成一阶相似,若之后user2同样提交了查询关键字“Spiderman”,则user1与user2构成二阶相似(与Line中定义一致)。根据类似“Spiderman”等辅助对象类型的不同,可以生成更多不同的二阶异构关系。而IntentGC在训练过程中自动的确定不同类型关系的重要程度(即权重)。
2. 快速图卷积模型
提出了快速卷积模块IntentNet,将图卷积函数拆成了两个组件:向量卷积组件(针对邻居特征传播)和全连接组件(针对节点特征交互)。之外,通过这种机制,部署了简单最小批次训练的分布式架构。
3. 异构网络中使用对偶图卷积
将异构网络中的user和item拆分成两个独立部分,利用IntentNet独立地对user和item进行向量卷积,再将最后的卷积结果通过全连接组件投影到统一的向量空间,最后将user和item的关系进行评估。

主要内容

本文中的异构信息网络是由user与item的历史交互记录组成,同时还包括许多辅助信息。若将user,item以及各种辅助信息分别看做是不同类型的节点集合,只有user-item关系为有标签的边,其他关系看做是无标签边,则user-item推荐问题可以看做图链路预测问题:

输入: 根据历史数据构造的HIN
输出: 预测的有标签边的集合

1. Network Translation
这个过程主要是过滤辅助节点(即辅助信息类型的节点),根据先前提及的二阶相似转换方法(边的权重由节点间共享邻居的数目决定),生成user-user,item-item两部分异构边集合(其中根据辅助节点类型r进行划分)。此外,原始图中的user-item边原状保留,重构成简单的HIN G = (U,V, EU , EV , Elabel),u和v分别代表user和item。

2. Faster Convolutional Network:IntentNet
GCNs迭代聚合邻居特征信息的核心是使用局部过滤器,但是会导致过高的计算复杂度。因此在GraphSage中使用了mini-subgraph采样策略,实现了GCN在大规模图中的扩展。但是mini-subgraph是在同构图中的设计,在异构图中,因为异构关系的稀疏性,生成的mini-graph可能会很大,甚至是整个图,显然这是不可行的。
因此本文设计了一个向量卷积操作,包括两部分:邻居聚合和卷积函数。
在这里插入图片描述
首先看第一种卷积方式 —— bit-wise

  • 邻居聚合:获取节点的第k次迭代嵌入向量时,先将k-1次迭代的邻居节点嵌入进行聚合:
    在这里插入图片描述
  • 卷积函数:然后将节点 k-1次迭代嵌入与聚合后的邻居节点嵌入进行卷积操作:
    在这里插入图片描述
    但是,一次性学习所有的特征是没有必要的,卷积操作的任务有两个:一个是学习节点与邻居的交互,另一个是学习不同嵌入空间的交互。同时,图中涉及的关系类型是多样的,因此在卷积操作中引入了feature评级系统,从多个角度考量不同类型辅助信息的交互程度,即multiple local filters。
    新的向量卷积操作 —— vector-wise
  • 过滤器:将不同辅助信息类型的邻居节点赋予不同的聚合权重,节点自身也赋予聚合权重:
    在这里插入图片描述
    这里的i指的是第i个过滤器,w(i,g)中g指的是第(g-1)种辅助信息。
  • 卷积函数:将不同过滤器的聚合结果进行聚合:
    在这里插入图片描述
    ** 通过引入评级系统局部过滤器,每次计算只需要计算小部分特征信息,同时卷积函数中计算复杂度也得到了降低。

IntentNet即堆叠多个这种卷积层,然后在最后一层卷积层后添加三层全连接层,用来学习不同维度空间的特征交互(其主要作用是用来进行user和item的嵌入空间的统一)。
在这里插入图片描述

3. Dual Graph Convolution
这个部分很简单,就是构造训练元组(xu, xv, xneg),利用独立的IntentNet获得三个节点的最终嵌入,通过最小化以下损失函数(即最大化边界方法):
在这里插入图片描述

整体算法

在这里插入图片描述

补充

negative sampling
为了使模型能够区分困难情况,我们只考虑与正项相同的叶类中的负项(感觉应该是有一个类别树),具体步骤:

  1. 计算每个叶子种类中item的权重(淘宝用点击频率,亚马逊用评论数),所以相同的item在不同的叶子种类中的权重是不同的;
  2. 对于 label 边 e(u,v) ,根据与正样本相同叶子种类下各item的权重,计算选择概率;
  3. 如果选择到的负样本与训练集中正样本相同,则丢掉并重新采样。
    负采样过程对于每一个 label 边运行5次。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值