KDD2019开源论文|基于异质图神经网络的用户意图推荐
时间:2019-11-02 14:11:39 热度:37.1℃ 作者:网络
作者丨纪厚业
单位丨北京邮电大学博士生
研究方向丨异质图神经网络及其应用
本文由北邮联合阿里巴巴发表在数据挖掘顶会 KDD 2019 上。作者也开源了代码和数据:
https://github.com/googlebaba/KDD2019-MEIRec
引言
本文研究了电商场景下的一种新型推荐服务:意图推荐。不同于传统的商品推荐,意图推荐希望在用户打开 APP 并没有任何输入的情况下来预测用户的意图。Figure 1 展示了在手机淘宝上的用户意图。
现在工业界针对意图推荐的解决方案主要是基于特征工程的算法来挖掘属性信息。这样就导致推荐场景里的丰富的交互信息没有充分挖掘。针对上述问题,本文将意图推荐场景建模为异质图(见 Figure 2)并设计了一种 Metapath-guided Embedding method for Intent Recommendation(MEIRec)来进行用户意图推荐。
模型
本文所提出的 MEIRec 的核心思想是:设计一个异质图神经网络来学习 user 和 query 的表示。Figure 3 展示了 MEIRec 的整个算法框架。
Uniform Term Embedding
在意图推荐场景下,有十亿级的 users 和 queries,因此我们无法给每个 user 活 query 初始一个 Embedding。需要注意的是,每个 query 或者 item 都可以用少量关键 term 来表示。因此,这里作者利用一些共享的 term embedding 来对 query 和 item 进行表示。这里作者给了一个简单的例子:
可以看出,q2 由表示,i2 由表示。那么,它们的 embedding 则可以由相应的 term embedding 来表示。
这里,g(·) 代表融合函数,作者使用的是简单平均。
Metapath-guided Heterogeneous Graph Neural Network
受 GNN 的启发,作者这里提出了一种 Metapath-guided Heterogeneous GNN 来聚合邻居信息并更新节点表示。聚合过程如 Figure 4 所示。
Figure 4 描述了如何通过元路径 UIQ 和 UQI 来聚合 query 和 item 的信息并学习 U2 的表示。以右边紫色的 UQI path 为例,q1 聚合 i1 的信息,q2 聚合来自 i2 的信息,然后 q1 和 q2 的信息进行聚合得到了节点 u2 在 UQI 下的表示
。最后就是多路径的信息融合:
和
的信息聚合起来得到最终 u2 的表示。
User Modeling
以元路径 UIQ 为例,首先聚合 query 的信息来更新 item 的表示。聚合函数有多种选择,这里作者选择了平均函数来学习 item 的表示。
然后聚合 iterm 的信息来学习 user 的表示。这里作者将用户的邻居认为是序列数据,通过 LSTM 来聚合邻居信息。
为了更加全面的描述 user,作者选取了多条元路径来学习 user 的表示并进行融合:
Query Modeling
与 User Modeling 相似,作者也选择多条元路径并通过异质图神经网络来学习 query 的 embedding。
Optimization Objective
最后,作者将 user 和 query 的 embedding 及其特征拼接起来,利用 pair-wise loss 进行优化。
实验
本文所做的实验都是基于手机淘宝的数据。数据统计信息见 Table 1。
可以看出,本文所用的数据集有 3 个特点:1)数据集规模非常大;2)测试集中有大量的新用户;3)数据集极度稀疏。
这里的 baseline 主要选择了一些工业界常用的 LR,DNN 和 GBDT。这里是由于很多 state-of-the-arts 的算法无法处理大规模工业数据。
离线实验见 Table2, 线上实验见 Table3。可以看出,本文所提出的 MEIRec 效果远超相关 baselines。
同时,作者也做了不同聚合函数,不同元路径和不同邻居数对 MEIRec 的影响。总的来说,随着邻居数或者元路径数的增加,MEIRec 的效果不断提升,但是相应的运行时间也会增长。
总结
本文首先研究了一个很重要且富有挑战的的问题:意图推荐。针对意图推荐的场景特点,作者首先建立了大规模异质图并设计了相应的异质图神经网络来进行意图推荐。大量充分的实验结果也证明了 MEIRec 的有效性。
过去一年,基于图神经网络的推荐算法在各大顶会层出不穷。在实际工业应用时,数据交互更为复杂。因此,基于异质图神经网络的推荐有更好的使用价值。