作者 | 对白

对白的算法屋

编者寄语:

本文看完,相信你也能熟练掌握这些基于GNN的推荐模型。


大家好,我是对白。

图神经网络​(GNN)相信大家也不陌生了,在还没有Graph Embedding之前,节点的属性信息可以通过Item2vec这种序列化Embedding的方式去学习,效果虽然不错,但它忽略了节点的结构信息。而​GNN能够自然地整合节点属性信息和拓扑结构信息​,因此在许多领域广泛应用。

推荐系统中,目前的主要挑战是从用户-物品交互以及辅助信息中学习有效的User-Item Embedding。​由于大部分的信息本质上都是图结构,并且GNN在表示学习方面具有先天优势,因此在推荐系统中蓬勃发展​。

本文对基于GNN的推荐算法进行了总结,汇总了从2018至2020年期间工业界和学术界比较有代表性的​29个基于的GNN推荐模型****。此外,我从近三年KDD的论文中挑选了六篇值得一读的GNN推荐模型为大家解读,分别是4篇阿里的论文,1篇滴滴的论文和1篇亚马逊的论文​,话不多说,让我们一起欣赏一下GNN在推荐系统中的花式玩法吧~

业界盘点|为什么推荐算法都开始结合图神经网络了?_深度学习

基于图神经网络的推荐算法分类

业界盘点|为什么推荐算法都开始结合图神经网络了?_结点_02

基于图神经网络的推荐模型总结

业界盘点|为什么推荐算法都开始结合图神经网络了?_神经网络_03

1 General Recommendation

1.1 General RS without side information

业界盘点|为什么推荐算法都开始结合图神经网络了?_结点_04

Neighbor Aggregation​:区分邻居的影响大小,比mean-pooling,degree normalization效果好

Information Update​:当后续没有显式的特征交叉步骤时,mean pooling, sum pooling表现足够好,若有,则concat能保留更多信息

Final Node representation​:有些使用GNN的最后一层向量作为表示,有些则用所有层(可能表示更好一些)

1.2 General RS with social network

业界盘点|为什么推荐算法都开始结合图神经网络了?_神经网络_05

Influence modeling​:区分社交网络不同的好友的影响力可以提升效果,进一步的,考虑朋友在不同的Item上的影响力也不一样,可以在item稀疏时提升较大

**Preference Integration:**将social network 和user-item bipartite 两个图分开建模和统一建模都可,没有明显区别。

1.3 General RS with knowledge graph

业界盘点|为什么推荐算法都开始结合图神经网络了?_算法_06

Graph simplification:为了将GNN较为高效地应用于KG,需要对图进行简化(同时图信息有损),例如AKGE​利用最短路径来重构子图,​IntentGC​仅保留一部分结点来构造i2i和u2u

Multi-relation propagation​:KG有多重类型的边,因此需要使用attention 机制来聚集来自邻居的信息

User intergration​:有些工作利用GNN来学习item表示,假设用户具有静态的表示;另外的则将user作为KG中一种entity来学习

2 Sequential recommendation

2.1 SR without side information

业界盘点|为什么推荐算法都开始结合图神经网络了?_神经网络_07

Graph construction​:将sequence 为graph,转化的方法决定了GNN的效果,一般将按时序出现的相邻K(一般K=2)个item之间进行连边

Information propagation​:在聚集邻居特征时,相比mean-pooling, GRU在序列建模中效果更好一些

Sequential preference​:将序列的结点表示集成为最终的结点表示,attention, GRU皆可

2.2 SR with social network

DGRec​:使用LSTM来抽取用户的动态兴趣,再使用GAT来对不同好友的影响进行聚集

3. 阿里EGES

论文标题​:Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba


论文目标​:将图表示学习应用到推荐中,初步解决scalability, sparsity and cold start等问题

图数据的构建方法​:session-based users’ behaviors中相邻的item连接一条有向边

模型架构:

业界盘点|为什么推荐算法都开始结合图神经网络了?_异构_08

模型特点:

**base model ????*先随机游走,再使用negative sampling优化的Skip-gram模型来学习表示。

**enhance model:**利用side information,给每种不同类型的side information的表示以不同的权重,其中SI 0代表item id。

业界盘点|为什么推荐算法都开始结合图神经网络了?_深度学习_09

业界盘点|为什么推荐算法都开始结合图神经网络了?_神经网络_10

注:数据清洗

1.删除点击后停留时间少于1s的点击(无意图点击)

2.删除过于活跃的用户(buy>1000 item, click >3500 item in 3 months)

4. 阿里GATNE

论文标题​:Representation Learning for Attributed Multiplex Heterogeneous Network


论文目标​:学习异构网络的结点和边表示

图数据的构建方法:user-item交互信息(点击,加入购物车等)

模型架构:

业界盘点|为什么推荐算法都开始结合图神经网络了?_算法_11

模型特点:

为异构网络中的每个结点学习一个基本表示(base embedding),在结点的每种边类型下都学一个表示(edge embedding),将两类表示合并作为最后的表示。

总结:

有Inductive和transductive两种setting:

Inductive learning中将结点的属性作为学习结点和边表示的初始化输入。

5. 阿里M2GRL

论文标题​:M2GRL: A Multi-task Multi-view Graph Representation Learning Framework for Web-scale Recommender Systems


论文目标​:同时学习multi-view的表示,并对齐

图数据的构建方法​:从用户的历史行为序列中构造出item graph(连续的item之间连边);category graph, shop graph

模型架构:

业界盘点|为什么推荐算法都开始结合图神经网络了?_结点_12

模型特点:

多task多view的图表示学习框架,分为两类任务:

1.view内的任务,关注与view内的同构图的表示学习,使用Negative sampling优化的Skip-gram模型来学习

2.view间的任务,专注于学习不同view的结点的关系,采取对齐技术来将不同view的结点的映射到同一空间,并学习结点之间的关系

利用同调不确定性来学习不同任务的权重

备注:

数据清洗

1.删除点击后停留时间少于2s的user-item pair(用户可能不感兴趣)

2.打开到关闭app的tm来分割和合并session。若有1小时的空闲时间,将一个session分成两个;如果时间跨度少于30分钟,合并两个连续的session。

6. 阿里DHGAT

论文标题​:A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce


论文目标​:在shop search上提高长尾query和shop的效果

图数据的构建方法​:从用户的搜索、点击和下单行为历史构造。

结点类型:Shop(S)、Query(Q)、Item(I)

边类型​:

1.同构边​:Q-Q,同一个session中的query连边,导致相同点击shop的query连边;S-S,在同个query下的shop连边

2.异构边​:Q-S(历史数据中直接获得,从item-query下下单的),Q-I,S-I

模型架构:

业界盘点|为什么推荐算法都开始结合图神经网络了?_异构_13

模型特点:

使用GNN来丰富shop和query的表示含义,定义了各自的异构邻居。

1.双层attention,1.同种异构边,2.不同种异构边

2.双塔+异构attention

3.从product search中transfer knowledge

4.user feature作为query特征一部分

7 .滴滴Gemini

论文标题​:Gemini: A Novel and Universal Heterogeneous Graph Information Fusing Framework for Online Recommendations


论文目标​:将User-item交互的异构图化为两个semi-Homogeneous图

图的构建方法​:任意二分图

模型架构:

业界盘点|为什么推荐算法都开始结合图神经网络了?_神经网络_14

业界盘点|为什么推荐算法都开始结合图神经网络了?_算法_15

模型特点:

1.将一个异构图化为两个半同构图,其中同构图上的边的属性为node list(原来的共同1跳邻居结点)

2.边上的点越多,包含的信息越多;但在所有边上出现次数越多,越不重要。单个边上点出现的次数(tf),所有边上点出现的次数(idf) ,使用TF-IDF pooling (分桶表示)

业界盘点|为什么推荐算法都开始结合图神经网络了?_异构_16

3.使用attention机制来组合结点和边表示

业界盘点|为什么推荐算法都开始结合图神经网络了?_神经网络_17

4.使用edge conv来获得该层的结点表示

业界盘点|为什么推荐算法都开始结合图神经网络了?_神经网络_18

5.预测

业界盘点|为什么推荐算法都开始结合图神经网络了?_异构_19

备注:

复杂度较高,构造了u-u图,比原始的u-i图更大

8. 亚马逊NIRec

论文标题​:An Efficient Neighborhood-based Interaction Model for Recommendation on Heterogeneous Graph


论文目标​:介绍了early summarization问题(在预测前将结点和邻居信息压缩到一个向量中),并提出模型解决

图的构建方法​:普通异构图

模型架构:

业界盘点|为什么推荐算法都开始结合图神经网络了?_异构_20

业界盘点|为什么推荐算法都开始结合图神经网络了?_深度学习_21

模型特点:

1.在metapath-guide neighbor,所有类型metapath的所有相关结点都参与

2.在interaction层,使用卷积操作

业界盘点|为什么推荐算法都开始结合图神经网络了?_算法_22

Conv: shift, product, sum

业界盘点|为什么推荐算法都开始结合图神经网络了?_算法_23

业界盘点|为什么推荐算法都开始结合图神经网络了?_结点_24

3.在aggregation层,两层attention(Node/Element-level、Path/Matrix-level)

机器学习/对比学习算法交流群

加的时候备注一下:​昵称+学校/公司​。群里聚集了很多学术界和工业界大佬,欢迎一起交流算法心得,日常还可以唠嗑~

关于我

你好,我是对白,硕士毕业于清华,现大厂算法工程师,拿过八家大厂的SSP级以上offer。

本科时独立创业五年,成立两家公司,​并拿过总计三百多万元融资(已到账)​,项目入选南京321高层次创业人才引进计划。创业做过无人机、机器人和互联网教育,保研后选择退出。

我每周至少更新一篇原创,分享自己的算法技术、创业心得和人生感悟。我正在努力实现人生中的第一个小目标,​上方关注后可以加我私信交流。

期待你关注我的公众号,我们一起前行。

业界盘点|为什么推荐算法都开始结合图神经网络了?_异构_25