图卷积或者图神经网路适合做推荐系统吗?
最近在看相关资料,发现相关论文不是特别多,所以比较疑惑为什么。是因为这个方向比较新,做的人还比较少呢,还是说相比其他深度学习方法(比如CNN)并没有优势,所以本身没有研究价值呢?
了解这方面的大佬们能否简单说一下
这方面论文挺多的啊。
你想,用户-项目可以构成二部图(Bipartite Graph),用户与用户之间可以构成社交网路(Social Network),项目与项目之间可以存在知识图谱(Knowledge Graph),另外把这几者都考虑进去可以构成异质图(Heterogeneous Information Network),再把时间因素考虑进来而产生的动态演化而构成动态图(Dynamic Graph)。
所以推荐系统中许多形式的数据都可以表示成图,当然许多大佬自然而然的将强大的GNN应用到推荐领域了,以下列举几篇文献,可以看看。
- Graph Convolutional Matrix Completion. 2017.
- Graph Convolutional Neural Networks for Web-Scale Recommender Systems. KDD 2018.
- Graph Contextualized Self-Attention Network for Session-based Recommendation. IJCAI 2019.
- Session-based Recommendation with Graph Neural Networks. AAAI 2019.
- Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender Systems. KDD 2019.
- KGAT: Knowledge Graph Attention Network for Recommendation. KDD 2019.
- Knowledge Graph Convolutional Networks for Recommender Systems. WWW 2019.
- Graph Neural Networks for Social Recommendation. WWW 2019.
- Memory Augmented Graph Neural Networks for Sequential Recommendation. AAAI 2020.
- Revisiting Graph based Collaborative Filtering: A Linear Residual Graph Convolutional Network Approach. AAAI 2020.
看场景。
工业界的大数据集下,现在来看,基于u-i二部图做图神经网路还没有比较好的落地。
work的一般使用i-i同构图,辅助冷门item获得更好的表达。
适合,并且也有一些落地的,学术界像韩家炜教授,中科大的何向南教授,北邮的石川教授等,都在做这方面,工业界像阿里有专门研究异构图的团队
首先回答:可以用,但是有很多需要优化的地方
只要是图/网路数据,或者可以看作/构成图/网路数据,都可以用基于图的模型来处理。
推荐系统里面user-item交互关系就可以看作一个图,即,user和item分别看作节点,有交互就连一条边。而且还可以融入user社交网路,item知识图等,图神经网路演算法的优点就是可以方便地融入大量的side information。
需要优化的地方,具体如下:
- 原本的图卷积网路是针对同构图的,而推荐里面user和item其实是不同类型的节点,因此需要重新设计卷积聚合机制,也可以考虑异构图神经网路
- 在很多实际的场景,user的数据量是远大于item的,且存在user交互稀疏,item长尾的问题,所以图中节点的度方差会特别大,可能需要引入邻居采样技术
- 原生的GCN直接输入整个图,会存在大规模问题,在实际场景更是要考虑数据量的问题,因此采样、子图训练这些优化都是需要的
- 不同的推荐场景可能存在不同的side information,业务数据有不同的特点,需要针对性融入和优化
非常适合。
我们使用GNN构建用户和ITEM之间的异构图训练,通过生成的embedding来推荐,在不少场景均有收益。
推荐阅读: