KDD22|Twitter用HGNN做工业级推荐的经验之谈

2022 年 8 月 28 日 图与推荐

标题:TwHIN: Embedding the Twitter Heterogeneous Information Network for Personalized Recommendation
作者:Ahmed El-Kishky, Thomas Markovich, Serim Park, Chetan Verma, Baekjin Kim, Ramy Eskander, Yury Malkov, Frank Portman, Sofía Samaniego, Ying Xiao, Aria Haghighi
单位:Twitter Cortex

简介:在推特中,各类实体节点和关系构成了一个异质信息网络(TwHIN),作者提出利用知识图谱嵌入(TransE)学习节点表示,并用于下游真实的个性化推荐等任务。论文的亮点在于,构建了工业级的异质信息网络,并在实际应用中进行了一些针对性设计。(“阅读原文”直达论文)

1、什么问题?

工业级异质信息网络嵌入,并在实际业务中落地应用

在推特中,存在多种类型实体节点(如用户、推文、广告和广告主等)和多种类型关系(如用户关注关系、转推关系、发推关系、点击广告等关系),构成了一个异质信息网络(TwHIN)。传统方法通常只建模单一关系网络,即同质信息网络,而且网络规模往往较小,无法直接应用于推特异质信息网络。作者提出,在推特中建模包含亿级节点、百亿级边的大规模异质信息网络,有两个优势:1)增加训练数据,缓解数据稀疏性;2)通用表征可以适用于不同下游任务,减少低效重复工作。

2、怎么解决?

作者提出利用知识图谱嵌入方法(TransE)[1]建模推特异质信息网络,学习每个节点的表征向量;然后利用聚类方法归纳式推理节点的多个表征和新节点表征;在落地应用中,作者进行了一些针对性设计,如通过压缩向量提升效率,降低时延问题等。

2.1、推特异质信息网络嵌入(TwHIN Embeddings)

TwHIN:在推特中,不同关系分布不均匀,存在高覆盖度(high-coverage)的关系和低覆盖度(low-coverage)的关系。例如大多数用户会关注多个其他用户,并且和多个推文有交互;但是大多数用户很少会点击广告。因此,作者提出需要区分不同覆盖度的关系,构建两个异质信息网络:1)关注图(TwHIN-Follow);2)用户-推文交互图(TwHIN-Engagement)。

TransE嵌入TwHIN: 针对TwHIN中的每条边 ,利用TransE建模节点和关系表征向量:

其中, 表示表征向量。进一步,通过负采样替换三元组的源节点 或者目标节点 ,最大化如下损失函数:

其中 表示负样本集合。

2.2、归纳式多模态表征(Inductive Multi-modal Embeddings)

传统知识图谱表示学习模型存在两个问题:1)实体节点只用单一向量表征,很难建模多样复杂关系;2)实体节点的向量表征是往往是直推式的(transduction),无法建模新增节点向量表征。因此,作者提出了一种后处理方式:1)先对同一模态表征向量进行聚类;2)通过聚合最相关的类簇(cluster)计算某一节点的多个表征向量。

以User节点为例,首先考虑非用户类型节点集合为 ,将其定义为目标(target)集合;其次对集合 中的节点进行 -means 聚类,得到 个类簇;然后定义每个用户属于某一类簇的概率:

这里, 表示用户 和类簇 中节点交互的次数, 表示用户 交互最多的前 个类簇。考虑到计算效率,没有计算所有类簇。

由此,可以得到用户关于所有类簇 的混合概率分布,每个类簇可以表示为其中心点的向量表征

2.3、落地应用优化

在实际落地应用中,作者提出了一些实用的策略和设计,以降低计算资源、数据时延等,这应该也是这篇KDD ADS文章的重要亮点。

计算资源考虑:针对包含亿级节点、百亿级边的TwHIN,系统计算资源(存储、内存等)面临非常大挑战。作者的第一个应用优化就是,解决训练过程中的大规模存储问题。作者基于PyTorch-Biggraph[2]框架,利用划分函数 随机将节点划分为 个分区,即 ,这样每条边就会基于首尾节点划分到不同分桶内,共有 个分桶,即边 落入分桶 。因此,在每个时间点,最多有 个节点向量需要被载入内存

压缩向量降低时延:在线推荐系统中,耗时是一个重要指标,会直接影响用户体验。作者提出利用乘积量化(product quantization)[3] 进行向量压缩,降低时延。具体地:

  1. 利用FAISS工具包,训练乘积量化模式,输出编码映射(codebook);
  2. 在下游任务训练和推理的时候,对编码映射进行lookup,解码压缩的向量。

解决参数漂移问题:实际场景中,TwHIN是一个动态变化的网络,会有新的节点和边加入。每次对网络进行重新训练不切实际,且会因为随机初始化造成较大偏移。作者提出两种策略来保证节点向量的稳定:

  1. 热启动(warm start) 用前一版本向量初始化当前版本向量。对于新加入的节点,要么随机初始化,要么通过聚合邻居得到:
  2. 正则化(regularization) 对前一版本向量增加L2正则化:

3、效果如何?

3.1、TwHIN用于推荐任务

在实际场景中,TwHIN被应用于召回(candidate generation)和排序(ranking)阶段。

召回:基于TwHIN中节点表征向量,利用ANN检索最相关的候选。考虑到候选多样性,作者进一步提出利用多模态表征分别检索,然后混合多组候选。

排序:将TwHIN节点向量作为DNN的输入特征,直接参与模型训练学习。

这里有个疑问,在上文中,作者构建了两个HIN,那么对于两个图中的同一节点,可能会存在两个向量表征,在下游任务中使用哪一个呢?

3.2、实验结果

这里主要汇报离线测评结果,对于在线实验,作者只是提及了一些提升百分比,详细结果可以参考论文。

账号召回(Who to Follow)
广告排序,U表示user表征,A表示advertiser表征,T表示tweet表征
搜索排序, 表示基于关注图学习的user表征, 表示基于交互图学习的user表征

4、有何启发?

论文在推特场景下,构建了一个大规模异质信息网络TwHIN,并利用TransE方法建模学习节点表征,用于下游召回排序任务,在离线和线上场景都取得了不错的效果提升。

整体上,论文并没有太多模型上的创新,更多的是一些实际落地应用的建议和策略,是一篇“正统” application data science track文章。尤其是,论文为了在效率和效果之间取得平衡,给出了一些实际的解决方案,正如作者所述: "we detail many “tricks-of-the-trade” to effectively implement, deploy, and leverage large scale heterogeneous graph embeddings for many latency-critical recommendation and prediction tasks."

参考资料

[1]

Bordes A, Usunier N, Garcia-Duran A, et al. Translating embeddings for modeling multi-relational data. NeurIPS 2013.

[2]

Ad. Lerer, L. Wu, J. Shen, T. Lacroix, L. Wehrstedt, A. Bose, and A. Peysakhovich. Pytorch-biggraph: A large-scale graph embedding system. arXiv 2019.

[3]

http://vividfree.github.io/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/08/05/understanding-product-quantization.

登录查看更多
4

相关内容

CIKM2021 | 异质图上的图神经网络对比预训练
专知会员服务
15+阅读 · 2021年11月8日
专知会员服务
23+阅读 · 2021年8月3日
专知会员服务
45+阅读 · 2021年6月20日
专知会员服务
17+阅读 · 2021年6月12日
专知会员服务
94+阅读 · 2021年5月25日
【AAAI2021】预训练用户表示提升推荐
专知会员服务
42+阅读 · 2021年2月8日
【KDD2020】 解决基于图神经网络的会话推荐中的信息损失
专知会员服务
31+阅读 · 2020年10月29日
【图神经网络(GNN)结构化数据分析】
专知会员服务
114+阅读 · 2020年3月22日
KDD2022 | 基于图表示的推荐算法教程
机器学习与推荐算法
0+阅读 · 2022年8月17日
图表示学习在美团推荐中的应用
图与推荐
1+阅读 · 2021年12月24日
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
CIKM'21 | 自监督图神经网络在社会化推荐中的应用
图与推荐
3+阅读 · 2021年11月16日
对比学习+图神经网络=更好的推荐系统?
图与推荐
0+阅读 · 2021年9月16日
论文浅尝 - CIKM2020 | 用于推荐系统的多模态知识图谱
开放知识图谱
12+阅读 · 2020年12月17日
如何将知识图谱特征学习应用到推荐系统?
人工智能头条
12+阅读 · 2018年6月10日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
14+阅读 · 2021年6月27日
Arxiv
35+阅读 · 2020年1月2日
Arxiv
19+阅读 · 2019年11月23日
Arxiv
15+阅读 · 2019年4月4日
Arxiv
26+阅读 · 2018年2月27日
VIP会员
相关VIP内容
CIKM2021 | 异质图上的图神经网络对比预训练
专知会员服务
15+阅读 · 2021年11月8日
专知会员服务
23+阅读 · 2021年8月3日
专知会员服务
45+阅读 · 2021年6月20日
专知会员服务
17+阅读 · 2021年6月12日
专知会员服务
94+阅读 · 2021年5月25日
【AAAI2021】预训练用户表示提升推荐
专知会员服务
42+阅读 · 2021年2月8日
【KDD2020】 解决基于图神经网络的会话推荐中的信息损失
专知会员服务
31+阅读 · 2020年10月29日
【图神经网络(GNN)结构化数据分析】
专知会员服务
114+阅读 · 2020年3月22日
相关资讯
KDD2022 | 基于图表示的推荐算法教程
机器学习与推荐算法
0+阅读 · 2022年8月17日
图表示学习在美团推荐中的应用
图与推荐
1+阅读 · 2021年12月24日
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
CIKM'21 | 自监督图神经网络在社会化推荐中的应用
图与推荐
3+阅读 · 2021年11月16日
对比学习+图神经网络=更好的推荐系统?
图与推荐
0+阅读 · 2021年9月16日
论文浅尝 - CIKM2020 | 用于推荐系统的多模态知识图谱
开放知识图谱
12+阅读 · 2020年12月17日
如何将知识图谱特征学习应用到推荐系统?
人工智能头条
12+阅读 · 2018年6月10日
相关基金
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员