星标/置顶小屋,带你解锁

最萌最前沿的NLP、搜索与推荐技术

文 | 江城

编 |  夕小瑶


今天分享一篇淘宝发表在 SIGIR2020 上的关于知识图谱应用于大规模推荐的论文《ATBRG: Adaptive Target-Behavior Relational Graph Network for Effective Recommendation》,成功应用于线上淘宝APP且有明显效果提升,推荐一读。

论文链接:
https://arxiv.org/abs/2005.12002

公众号「夕小瑶的卖萌屋」后台回复关键词【0715】下载论文PDF

摘要

近年来,知识图谱KG由于其丰富的连接信息在推荐上的应用越来越引起大家的兴趣。现有的方法要么在KG上去探索user-item对独立的子路径;要么是在整个KG上使用GNN来产生user或者item的表示。虽说都有一定的效果,但是前者没有充分捕获user-item在KG上的结构信息;后者在产生embedding表示的过程中则忽略了user和item相互的影响。本文提出了一种新框架ATBRG,用来有效捕捉目标user-item对在KG上的结构关系。具体来说,为了在KG上关联给定目标item和用户行为,本文提出了graph connect和graph prune方法来构建自适应的target-behavior关系图。为了充分提取结构信息,本文详细介绍了ATBRG的模型结构,主要是relation-aware抽取层和表示激活层。ATBRG成功应用到淘宝APP场景并且获得5.1%的CTR提升。

背景

粗略来说,当前基于KG的推荐方法可以分为两类:基于Path和基于GNN的方法。基于Path的方法通过探索目标user-item对在KG上的多个meta-path来预测用户偏好。这是一种典型需要domain knowledge的方法,而且忽略了KG中丰富的结构信息,因此不能充分刻画给定user和item的内在关系。如下图左所示,这种方法由于针对各自的path单独建模,忽略了Blouse和Dress之间的强联系

与此同时,基于GNN的方法针对KG中的高阶连接显示建模。然而有如下的限制:

  • 它们主要使用GNN来聚合目标user和item各自在KG中的邻居来丰富学习各自的表示,因此不能捕捉他们之间的相互影响。如下图中所示,当前基于GNN的方法聚合KG中邻居时由于不考虑用户兴趣,容易在学习目标item的embedding时引入无效的信息,例如Cup;

  • 在工业界场景下KG是超大规模的,也就是说一个实体可能会连接到数以百万的item。在获取邻居时使用random sampling有可能丢失异常关键的信息,如下图中所示的Shirt;

  • 它们忽略了用户行为在KG上的丰富联系;

为了解决上述的局限性,更好地提取KG中原始的信息以便更有效地进行推荐,必须满足如下的几个关键方面:

  • 目标item-用户行为:一个有效的基于KG的推荐应该能够针对每一个user-item对产生语义上的子图,捕捉它们的相互作用;

  • 自适应性:区别于在整个KG上进行random sampling,与自适应创建语义子图一样,需要自适应地针对用户行为与目标item在KG上保存有效信息;

  • 联系性:模型设计时需要考虑在KG上用户行为和目标item之间的联系;

本文结合上述的思想,主要贡献如下:

  • 为了有效刻画给定目标user和item的结构联系,本文提出graph connect和graph prune策略来构建自适应的target-behavior关系子图更好地建模用户行为和目标item在KG上的联系;

  • 本文提出了一个创新性框架ATBRG,基于提取的关系子图来使用GNN学习用户行为和目标item的表示;

  • 在Yelp和Tabao工业集数据集上进行了实验,同时成功应用到淘宝APP的场景上,验证了ATBRG的明显提升;

模型框架

ATBRG框架如下图所示,主要包含两部分:图构建部分和模型部分。

图构建部分

为了建模给定user-item在KG上的联系,之前方法要么是通过random walk,要么是依赖目标item在KG上的邻居来提取不同的path。前者忽略了KG中的结构性信息;后者则是忽略了用户行为和目标item的相互作用,因此无论哪种方式都只是得到了推荐上的局部最优效果。
直观来说,用户是否点击目标item与用户的历史行为有非常强的关系,本文提出构建自适应的针对用户行为和目标item的关系图,图构建的具体步骤如下Agorithm 1所示。具体来说,给定一个目标user-item对<u, i>,

  • 首先针对用户行为B_ui和目标item i在KG上穷举搜索多层实体邻居;

  • 然后将连接实体和item的路径恢复成图G_ui,这样通过多个重合的实体将用户行为和目标item连接起来了;

  • 然后针对G_ui中的实体,如果没有连接不同的item的话则进行剪枝;

  • 最后,便得到了针对用户u和目标item i的关系图G_ui,可以描述<u, i>在KG上的结构联系。

模型结构

从KG中得到自适应的target-behavior关系图后,本文研究了应该如何为目标user-item对产生embedding表示。如上图右所示,ATBRG的模型架构主要由如下的四层组成:

  • Embedding层,将高维稀疏特征转换为低维稠密表示;

  • Relation-aware抽取层,通过聚合在自适应关系图上的结构关系信息为用户行为和目标item产生knowledge-aware的Embedding表示;

  • 表示激活层,针对目标item激活相对关系性的用户行为表示;

  • 特征交互层,结合更多其他特征;

Relation-aware抽取层是为了有效、全面地提取关系子图中的结构联系性信息。在电商场景中,用户可能点击或者购买同样的item i,显然不同的行为象征着用户对于item i不同的偏好。基于上述讨论以及受[2]启发,本文构建relation-aware的抽取层来学习实体之间不同的关系在KG中的丰富的结构性信息。具体来说,对于每一个目标item(用户行为中item_b或者目标item i),本文将其视为中心节点,并且使用relation-aware聚合器聚合其在关系子图G_ui中的邻居信息。
表示激活层就是使用attention学习用户历史行为在目标item上的激活权重。直观来说,用户的不同行为对于最终的预测打分会有不同的贡献。举例来说,如果目标item是shirt C,那么行为shirt A会比行为show B更有信息量一些。

实验结果

效果对比

本文在Taobao和Yelp两个工业级基准数据集上进行了实验。在Taobao数据集上,除了用户历史行为,本文为其构建了item knowledge(譬如分类、父类以及风格等)。在Yelp数据集上,KG则主要是本地商业信息(譬如位置和分类)。
本文将ATBRG和三种类型的表示学习型baseline进行了对比。基于特征的方法,譬如YoutubeNet和DeepFM;基于用户行为的方法,譬如DIN和DIEN等;基于KG的方法,譬如RippleNet和KGAT等。详细实验结果对比数据如下表所示,从实验数据我们可以得到如下分析结论:

  • 基于特征的方法在两个数据集上的表现较差,也就是说手工的特征工程已经不足以建模user和item之间的复杂联系;

  • 基于用户行为的方法证实了引入历史行为对于学习用户偏好是非常重要的;

  • 总的来说,基于KG的方法效果要好于基于用户历史行为的方法,也从侧面证实了引入KG可以捕捉user和item的内在交互。

ATBRG超参调整

本文在这部分进行了多种实验,仔细调研了ATBRG的模型架构调整和关键参数设定的影响。
首先是分别去除relation-aware机制和表示激活层的实验效果对比,说明KG中的不同关系应该被区分出来,而且用户行为在KG中的语义关系也应该同时被考虑进来。
其次是邻居深度的效果影响。邻居深度从0提升到2过程中效果更好,但是从2到3过程中效果反而变得更差。一种可能的解释是KG中太长的联系可能包含了一定的噪声,譬如Shirt - Women Clothing - Clothing - Men Clothing - Shoe。

然后是Aggregator类型的影响。如下图所示,分别对比了concat、sum,self-attention以及nonlinear transformation的效果。总的来说,复杂的aggregator相对有更好的效果表现。

线上A/B实验

如下图是ATBRG应用在淘宝APP的系统架构图。相对于线上DIN的基线,ATBRG相对提升了6.8%的点击数量以及5.1%的CTR提升,同时在线预测时间增长了8ms。


喜欢本文的小伙伴,强烈建议加入卖萌屋的推荐系统垂类讨论群,不仅可以认识众多志同道合的优秀小伙伴,而且还有若干卖萌屋美丽小姐姐(划掉)、顶会审稿人、大厂研究员、知乎大V等你来撩哦。

如果提示已满或过期,或希望加入领域大群(自然语言处理、搜索技术、推荐系统、算法岗求职等)或其他垂类讨论群,请在后台回复关键词【入群】获取入口哦。

记得扫描下方二维码关注并星标置顶,我才能来到你面前哦。

参考文献

[1] ATBRG: Adaptive Target-Behavior Relational Graph Network for Effective Recommendation

[2] Exploiting edge features for graph neural networks

SIGIR2020 | 淘宝提出结合知识图谱与大规模推荐的新框架ATBRG相关推荐

  1. 推荐系统[八]算法实践总结V0:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】

    搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...

  2. 弘辽科技:新世相与淘宝直播合作,直播生态困局将有新突破?

    原标题<弘辽科技:新世相与淘宝直播合作,直播生态困局将有新突破?> 近日,淘宝直播宣布与新世相达成合作,合力推出了"超级新浪潮计划",针对新趋势.新品牌.新品类,在直播 ...

  3. 他山之石 | 知识图谱在美团推荐场景中的应用实践

    美团是一个生活服务领域的平台,需要大量知识来理解用户的搜索意图,同时对于商家侧我们也需要利用现有的知识对海量信息进行挖掘与提取,进而优化用户体验.今天分享的主题是知识图谱在美团推荐场景中的应用.主要包 ...

  4. 论文浅尝 | 最新10篇《知识图谱》论文推荐(ICML, CVPR, ACL, KDD, IJCAI 2019)

    本文转载自公众号:专知. [导读]知识图谱一直是研究热点,研究者近年来广泛关注知识图谱嵌入(Knowledge Graph Embedding,简称KGE)方法,在保留语义的同时,将知识图谱中的实体和 ...

  5. 淘宝技术发展之路(本人强烈推荐)

    目录 一.引言 二.个人网站 三.Oracle/支付宝/旺旺 四.淘宝技术发展(Java时代:脱胎换骨) 五.淘宝技术发展(Java时代:坚若磐石) 六.淘宝技术发展(Java时代:创造技术-TFS) ...

  6. 从“存数”到“用数”,知识图谱为智慧城市注入新动能

    近年来,新型智慧城市正成为城市发展绕不开的话题. 有人说新型智慧城市是"新瓶装旧酒",但更多人认为新型智慧城市是城市在经历信息化和智慧城市建设多年之后的一种新诉求与新渴望. 尤其是 ...

  7. 知识图谱与深度学习(新时代·技术新未来)

    作者:刘知远,韩旭,孙茂松 出版社:清华大学出版社 品牌:清华大学出版社 出版时间:2020-05-01 知识图谱与深度学习(新时代·技术新未来)

  8. 知识图谱在招聘推荐匹配的应用

    省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 知识图谱在美团推荐场景中的应用实践 搜索场景下的智能实体推荐 机器学习在B站推荐系统中的应用实践 小红书推荐系统 ...

  9. 知识图谱在美团推荐场景中的应用实践

    省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 [免费下载]2022年2月份热门报告盘点 机器学习在B站推荐系统中的应用实践 小红书推荐系统中台应用实践 微信视 ...

最新文章

  1. XOR and Favorite Number CF340E 莫队算法
  2. leetcode-79-单词搜索(用dfs解决)
  3. pyhanlp 文本聚类
  4. 微头条败走,多闪殿后,字节跳动的社交梦依旧难圆
  5. Hmac - Java加密与安全
  6. html5清除手机页面缓存文件夹,WebView自动缓存-清除缓存
  7. 炒菜机器人放食材的顺序_如果给你个做饭机器人,你会让它做些什么饭菜?
  8. cvFilter2D() 卷积初步了解
  9. Ubuntu更改分辨率
  10. 如何把一张照片用 Photoshop 做成动画背景效果?
  11. 移动端:纯html 基于 mescroll 插件实现上拉加载,下拉刷新,返回顶部
  12. 奥克兰大学计算机it专业介绍,奥克兰大学IT硕士专业介绍
  13. 【Netty】九、Netty自定义协议
  14. 智行订票系统需求分析报告
  15. 一个存储过程帮你了解 事务(TRAN)、异常处理(TRY/CATCH)、@@ERROR
  16. delphi----Tstringlist,将有符号的数据变成数组aaa,bbb,ccc----list[0]=aaa,list[1]=bbb
  17. 电脑关机一段时间后不能网络唤醒WOL
  18. oracle实现剪刀石头布,C#使用Unity实现剪刀石头布游戏
  19. 【机器学习入门基础】Matrix
  20. 邦纳光电开关MIAD9R

热门文章

  1. #define typedef 区别
  2. Linux shell脚本 遍历带空格的文件名
  3. Server操作Mxd文件详细讲解
  4. 打印网页时背景图片的问题
  5. linux 内核宏container_of剖析
  6. 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用
  7. python subprocess communicate_Python中的Subprocess模块
  8. delphi 调用php接口_爱站权重查询 API 接口请求调用
  9. Web框架——Flask系列之request请求参数详解(十一)
  10. ACwing 4. 多重背包问题 I(DP)