13

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

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ%3D%3D&%3Bmid=2650413045&%3Bidx=2&%3Bsn=c1910fc8ddb7b0c74bfc45359df82561
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

mUBZzuv.jpg!web

本文是对阿里发表在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的交互关系;并且用户的意图是经常动态变化的。

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

3QbIBje.jpg!web

Metapath-guided 邻居

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

nQBrQbi.jpg!web

文章贡献:

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的概率。

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

neaIFrI.jpg!web

Uniform Term Embedding

在意图推荐的场景下,用户和query有数亿个,计算量较大,本文提取query和item名称的分词结果进行学习,得到term字典 FzqqeyU.png!web ,而每个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表示为:

i2MFjuI.png!web

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

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

Metapath-guided Heterogeneous Graph Neural Network

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

m2Ibymz.jpg!web

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

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

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

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

User Modeling

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

YnAZviR.jpg!web

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

BJnMnu3.png!web

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

Qv6Zzqq.png!web

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

a6rQ7vz.png!web

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

Query Modeling

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

zqAnQjy.png!web

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

M7niqmA.jpg!web

Optimization Objective

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

损失函数为: fUbqE3n.png!web

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),备注工作/研究方向+加群目的。

qIR3Abr.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK