「工业落地」阿里在图神经网络推荐的探索

2020 年 5 月 18 日 AINLP

本文是对阿里发表在KDD2019的论文Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation的解读。

背景介绍

文章核心思想?

本文关注意图推荐,即直接根据用户的历史行为进行推荐,无需用户进行任何输入。文章中提出一种Metapath-guided Emebedding method for Intent Recommendation(MEIRec)模型,设计了metapath-guided这种基于元路径的方法来学习异构图的网络的节点向量表示,同时为了解决参数过多的问题,提出Uniform term embedding方法,把具有相同term(可以理解为分词结构的目标映射到同一个向量空间中,在实验中,模型效果表现良好。

意图推荐

意图推荐,即不需要用户的任何输入,根据用户的历史行为进行推荐。下图为淘宝的意图推荐例子,根据用户的历史行为,预测出用户可能对air jordan感兴趣,在搜索栏中进行推荐,提示用户可以进行搜索。意图推荐不同于query推荐,它是根据用户的历史行为进行推荐,而不是之前相似的query;并且它不需要输入任何的query;意图推荐也不同于item推荐,它需要考虑用户、item、query的交互关系;并且用户的意图是经常动态变化的。

从数学的角度,给定一个集合  ,其中  是p个用户的集合;  是q个item的集合;  是r个query的集合;  是n被term的集合;term可以理解为分词,比如说Hand bag有两个term,hand和bag,在本文中,query和item都被看作由term组成的;A表示每一项的特征;B表示各项之间的交互。意图推荐的目的就是给每个用户  推荐query 

Metapath-guided 邻居

Metapath-guided邻居是在给定特定的metapath的条件下,每项随机游走的邻居,在元路径 下,object o的第i步邻居为  ,其中  是o自身。比如说,在下图中,给定元路径"User-Item-Query(UIQ)",对于用户  来说,  , ,则 用户 所有的邻居为 

文章贡献:

1. 关注意图推荐问题,根据用户历史行为进行个性化推荐

2. 提出了基于GNN的MEIRec模型,利用元路径捕捉节点邻居,探索HIN中的交互信息;同时提出Uniform term embedding方法学习term向量,减少参数空间

3. 利用大规模数据线下实验;利用淘宝数据线上实验。

模型架构

模型结构如下图所示。分成五个部分:

1. 模型输入为三元组<user, item, query>;

2. 利用uniform term embedding对每个item和query产生初始的embedding;

3. 利用异构GNN,聚合基于metapath的邻居embedding,来分别学习用户和query的向量表示;

4. 融合不同元路径下的用户或query的向量表示;

5. 结合上一步得到的用户、query向量表示,再融合画像特征,预测每个用户对各个query的概率。

对以上几个步骤分别进行详细的介绍

Uniform Term Embedding

在意图推荐的场景下,用户和query有数亿个,计算量较大,本文提取query和item名称的分词结果进行学习,得到term字典  ,而每个query和item名称为各个term的组合。比如说,Hand bag由两个term:Hand和bag组成,LV Hand bag由三个term:LV,Hand,bag组成,这样利用term可以大大减少参数,缩短计算时间。在本文的实验中,如果分别学习query和item,需要10亿参数,而学习term向量只需要28w参数。

在term向量学习过程中,首先把query和item对应的term映射为one-hot表示,假设一共有n个term,则  与的item对应one-hot表示为:

通过类似上述的表示后,就可以把每个term映射到低维的向量表示,然后再学习每个item和query对应的item的集合:

 ,其中  是term  的向量表示,  是不同term之间的聚合函数,本文利用了均值。通过上述式子就可以学到item/query的低维向量表示。

Metapath-guided Heterogeneous Graph Neural Network

类似于GCN聚集邻居信息的思想,本文基于元路径的异构GNN,利用元路径下的游走路径,分别聚合用户和query的邻居信息,来得到用户/query的向量表示。如图所示:

为了得到用户  的向量表示,对于左图路径UIQ来说,首先利用上一部分中的uniform term embedding得到query和item的向量表示,然后对邻居进行聚合。在聚合邻居的过程中,由于用户  的一步邻居为  ,二步邻居为  ,聚合步骤如下:

1. 首先先聚合二步邻居,聚合  ,得到  的embedding,然后聚合  ,得到  的embedding。

2. 然后聚合一步邻居,聚合  ,得到用户  在元路径UIQ下的embedding

同样的道理,可以得到用户  在右图元路径UQI下的embedding,将二者再进行聚合即可得到用户  的embedding

User Modeling

综合上述两部分,总结以下如何得到用户的向量表示,即图中c部分:Metapath-guided Heterogeneous GNN Layer

分别对每一种元路径  的用户向量表示进行建模。在路径UIQ下,对于目标用户u,得到一步与二步邻居,首先聚合二步邻居query到一步邻居item中,聚合item j的邻居query如下:

然后,聚合一步邻居到当前用户i如下:

最后,对不同元路径  下的用户向量表示进行聚合,得到最终的用户向量表示  :

由于用户行为为序列数据,所以此时的聚合函数  为LSTM

Query Modeling

和user modeling很相似,此处对query进行建模,得到query的向量表示:

但是,对于query的邻居(item和用户)来说,并没有序列关系,所以此处的聚合函数  为CNN.

Optimization Objective

模型中,需要预测每一个用户i对query j的概率。通过上述部分,得到了用户和query的向量表示,此外数据还有一些统计特征S,把用户向量、query向量、统计特征融合到MLP层,得到每个用户i对query的得分  :

损失函数为: 

Model Analysis

对模型复杂度进行分析:假设有M个object,N个term,h个隐藏层,n个神经元,向量d维,比较参数空间复杂度:

  • 传统方法中:  ,其中M是亿级

  • 本文方法中:  ,其中N是10w级

参考文献:

Fan S, Zhu J, Han X, et al. Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019: 2478-2486.


推荐阅读

AINLP年度阅读收藏清单

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

太赞了!Springer面向公众开放电子书籍,附65本数学、编程、机器学习、深度学习、数据挖掘、数据科学等书籍链接及打包下载

数学之美中盛赞的 Michael Collins 教授,他的NLP课程要不要收藏?

自动作诗机&藏头诗生成器:五言、七言、绝句、律诗全了

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

这门斯坦福大学自然语言处理经典入门课,我放到B站了

征稿启示 | 稿费+GPU算力+星球嘉宾一个都不少

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


登录查看更多
0

相关内容

【SIGIR 2020】 基于协同注意力机制的知识增强推荐模型
专知会员服务
90+阅读 · 2020年7月23日
【国防科大】复杂异构数据的表征学习综述
专知会员服务
85+阅读 · 2020年4月23日
近期必读的5篇顶会WWW2020【推荐系统】相关论文-Part2
专知会员服务
70+阅读 · 2020年4月7日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
36+阅读 · 2020年4月5日
《人工智能2020:落地挑战与应对 》56页pdf
专知会员服务
197+阅读 · 2020年3月8日
专知会员服务
88+阅读 · 2020年1月20日
推荐系统(一):推荐系统基础
菜鸟的机器学习
25+阅读 · 2019年9月2日
GraphSAGE: GCN落地必读论文
AI100
29+阅读 · 2019年8月15日
【干货】电商数据中台如何构建?
AliData
11+阅读 · 2019年4月4日
阿里搜索技术,在AI路上走了多远?
机器学习研究会
11+阅读 · 2017年12月29日
【推荐系统】深度解析京东个性化推荐系统演进史
产业智能官
23+阅读 · 2017年12月8日
阿里智能对话交互实践与创新
人工智能头条
5+阅读 · 2017年11月30日
Arxiv
30+阅读 · 2019年3月13日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
5+阅读 · 2018年3月16日
Arxiv
9+阅读 · 2016年10月27日
VIP会员
相关资讯
推荐系统(一):推荐系统基础
菜鸟的机器学习
25+阅读 · 2019年9月2日
GraphSAGE: GCN落地必读论文
AI100
29+阅读 · 2019年8月15日
【干货】电商数据中台如何构建?
AliData
11+阅读 · 2019年4月4日
阿里搜索技术,在AI路上走了多远?
机器学习研究会
11+阅读 · 2017年12月29日
【推荐系统】深度解析京东个性化推荐系统演进史
产业智能官
23+阅读 · 2017年12月8日
阿里智能对话交互实践与创新
人工智能头条
5+阅读 · 2017年11月30日
相关论文
Arxiv
30+阅读 · 2019年3月13日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
5+阅读 · 2018年3月16日
Arxiv
9+阅读 · 2016年10月27日
Top
微信扫码咨询专知VIP会员