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

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

最萌最前沿的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图Graph--农夫过河问题(BFS/DFS应用)

农夫过河问题&#xff1a; /*** description: 农夫过河问题&#xff08;羊&#xff0c;白菜&#xff0c;狼&#xff09;&#xff0c;一次最多带一个东西过河&#xff0c;* 农夫不在的情况下羊会吃白菜&#xff0c;狼会吃羊&#xff0c;如何平安过河* author…

机器学习之「二分类算法」-----银行营销案例分析

原文地址&#xff1a; <di&#xff1a;https://blog.csdn.net/weixin_44696674/article/details/88231922iv id“article_content” class“article_content clearfix” data-track-view"{“mod”:“popu_307”,“con”:",https://blog.csdn.net/weixin_44696674/…

论文浅尝 | 直译优于翻译?混合语言的知识库问答方法研究

动机作者思考&#xff0c;如果一个人懂多个语言&#xff0c;那么只要他知道某一语言的某个事实&#xff0c;就能以它作为另一语言问题的答案&#xff0c;同时希望证明计算机是否也能做到这一点&#xff0c;并完成混合语言的简单问题知识问答任务&#xff08;Code-Mix Simple Qu…

2018最新Java面试78题:数据结构+网络+NoSQL+分布式架构

算法和数据结构 数组、链表、二叉树、队列、栈的各种操作&#xff08;性能&#xff0c;场景&#xff09; 二分查找和各种变种的二分查找 各类排序算法以及复杂度分析&#xff08;快排、归并、堆&#xff09; 各类算法题&#xff08;手写&#xff09; 理解并可以分析时间和空…

工程实践:基于规则模式的军事和医药领域知识图谱问答快速实现

知识结构化问答是知识图谱的一个重要的应用方向&#xff0c;虽然现在许多真实的使用体验上&#xff0c;会被评价为“鸡肋且智障”&#xff0c;并且在落地上还没有太多的付费场景&#xff0c;但也不乏有不少学生、公司、机构在尝试花时间去做这个事情。当前&#xff0c;医疗知识…

图Graph--最小生成树

文章目录1.概念2.构造最小生成树Prim算法3.构造最小生成树Kruskal算法1.概念 对图运用不同的遍历方法就可能得到图的不同遍历顺序&#xff0c;每一种遍历顺序对应于一棵生成树对于无向连通图&#xff0c;所有的生成树中必有一棵树的所有边的权的总和最小的&#xff0c;称之为最…

Longformer:超越RoBERTa,为长文档而生的预训练模型

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | ChrisCao, 小轶前言今天要与大家分享的是AllenAI今年发表的最新工作&#xff0c;Longformer——一种可高效处理长文本的升级版Transformer。作者团队提供了开源代码&#xff0c;大家可快速复现&#xff…

工程实践:基于规则句法的事件关系与主谓宾三元组抽取项目实现

目前&#xff0c;知识图谱在学术界如火如荼地进行&#xff0c;但受限于知识图谱各个环节中的性能问题&#xff0c;还尚未能够在工业界大规模运用。而与知识图谱中以实体为知识节点&#xff0c;实体关系为实体关系边对知识进行组织不同&#xff0c;以事件作为节点&#xff0c;事…

论文浅尝 | LightRNN:存储和计算高效的 RNN

链接&#xff1a;https://arxiv.org/pdf/1610.09893.pdf动机在NLP任务中使用RNN已经被证明是很有用的模型方法。但是传统的RNN在NLP中的应用有一个很大的限制&#xff1a;RNN的输出输入Embedding占用的空间太大&#xff0c;比如1024维10M词表大小的Embedding矩阵就要占掉40GB&a…

阿里最全Java面试100题汇总:涵盖天猫、蚂蚁金服等面试题!含答案~

【阿里天猫、蚂蚁、钉钉面试题目】 1、微信红包怎么实现。 2、海量数据分析。 3、测试职位问的线程安全和非线程安全。 4、HTTP2.0、thrift。 5、面试电话沟通可能先让自我介绍。 6、分布式事务一致性。 7、nio的底层实现。 8、jvm基础是必问的&#xff0c;jvm GC原理&a…

ACL2020 奇葩论文标题大赏

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 灵魂写手rumor酱编 | 不拖更的夕小瑶又是一年一度的ACL&#xff0c;之前通过卖萌屋Arxiv服务已经零零碎碎看了一些&#xff0c;还是准备刷一下论文list&#xff0c;看看哪篇能让我的模型效果一飞冲天。…

字符串匹配算法(BF RK)

文章目录1. BF&#xff08;Brute Force&#xff09;暴力匹配BF代码2. RK&#xff08;Rabin-Karp&#xff09;算法RK代码3. 思考题&#xff1a;&#xff08;二维匹配&#xff09;1. BF&#xff08;Brute Force&#xff09;暴力匹配 BF算法的思想&#xff0c;在主串中&#xff0…

用Python寻找最优投资组合

原文地址&#xff1a;https://www.jianshu.com/p/2a25dfd465e9 现代投资组合理论&#xff08;Modern Portfolio Theory&#xff0c;MPT&#xff09;告诉我们投资者应该分散投资来实现最小化风险最大化投资回报。大邓刚开始学习这方面知识&#xff0c;用了将近一天的时候才搞懂M…

技术动态 | 事理图谱,下一代知识图谱

本文转载自公众号&#xff1a;DataHorizon。 人工智能与认知智能当前人工智能时代下&#xff0c;机器与人类之间的博弈一直在进行着。如图1所示&#xff0c;从1926年达特茅斯会议的召开标志人工智能诞生到深度学习模型在…

头条Java后台3面(含答案):事务+List集合+慢查询SQL+Redis+秒杀设计

头条Java一面 1.讲讲jvm运行时数据库区 2.讲讲你知道的垃圾回收算法 3.jvm内存模型jmm 4.内存泄漏与内存溢出的区别 5. select、epoll 的区别&#xff1f;底层的数据结构是什么&#xff1f; 6.mysql数据库默认存储引擎&#xff0c;有什么优点 7.优化数据库的方法&#xf…

CNN卷积神经网络(吴恩达《卷积神经网络》笔记一)

CNN 卷积网络说明卷积 Convolution填充 Padding步长 StrideRGB图像卷积池化 Pooling完整CNN为什么人们喜欢用卷积神经网络&#xff1f;实例分析说明 关于CNN的基础知识&#xff1a;卷积、填充、步长、池化、完整的深度CNN网络可以参考 链接: AI学习笔记——卷积神经网络&#…

字符串匹配算法(BM)

文章目录1. BM&#xff08;Boyer-Moore&#xff09;算法1.1 坏字符规则1.2 好后缀规则1.3 两种规则如何选择2. BM算法代码实现2.1 坏字符2.2 好后缀2.3 完整代码2.4 调试3. 总结1. BM&#xff08;Boyer-Moore&#xff09;算法 思想&#xff1a;有模式串中不存在的字符&#xf…

SQL 数据分析常用语句

1 基础查询 • 2 字符串数字日期时间 • 3 聚合数据查询 • 4 子查询 • 5 联接组合查询 • 6 高级查询 • 7 更新数据 阅读提醒&#xff1a;点击图片放大可看清晰的 1 基础查询 2 字符串数字日期时间 3 聚合数据查询 4 子查询 5 联接组合查询 6 高级查询 7 更新数据 参考资料 …

开源词法分析工具LAC重大升级!打造属于自己的个性化分词器!

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 匿名大佬编 | 北大小才女小轶本文将为大家介绍如何使用百度开源的词法分析工具LAC实现个性化分词&#xff08;附代码&#xff09;&#xff0c;并展示LAC在各数据集上惊艳的性能表现。背景介绍分词是中文…

老刘说NLP:这几年的NLP历程回顾,以及关于NLP(知识图谱等)落地的思考

得语言者&#xff0c;得天下。得语言资源者&#xff0c;分天下。得语言逻辑者&#xff0c;争天下。 前言 只有把自己所思考的&#xff0c;所认识的东西&#xff0c;以文字的方式记录下来&#xff0c;才是对自己成长最好的记录方式。 是的&#xff0c;距离上一次动手写博客或者…