二部图表示学习 | Graph Convolutional Matrix Completion
作者: 浅梦的学习笔记
“ 本系列主要介绍图表示学习在推荐系统中常见的user-item interaction数据上的建模。我们可以将user-item interaction data看做是关于user-item的二分图Bipartite,这样可以基于GNN的方法进行user和item embedding的学习。本篇介绍来自KDD18的工作 GCMC:Graph Convolutional Matrix Completion。”
文章来源:蘑菇先生 http://xtf615.com/2020/02/13/Representation-Learning-on-Bipartite-Graphs/
主要介绍两篇文章,如下:
-
KDD2018,GCMC:Graph Convolutional Matrix Completion,在movie-len上的state of the art模型。
-
SIGIR2019,NGCF:Neural Graph Collaborative Filtering,据我所知应该是首次提出图协同过滤的概念。
本文介绍第一篇GCMC。
Graph Convolutional Matrix Completion
KDD2018: Graph Convolutional Matrix Completion
Introduction
这是一篇发表在KDD2018(二作T.N.Kipf是著名的GCN的一作)的文章。将矩阵补全问题看做是关于user-item 二分图的链接预测问题(a bipartite user-item graph with labeled edges),每种链接边可以看做是一种label(例如多种交互行为:点击,收藏,喜欢,下载等;在评分中,1~5分可以分别看做一种label)。有点像multi-view bipartite graph。作者提出了一个差异化信息传递(differentiable message passing)的概念,通过在bipartite interaction graph上进行差异化信息传递来学习结点的嵌入,再通过一个bilinear decoder进行链接预测。
Formulation
Models
Graph convolutional encoder
Bilinear decoder
Model Training
Side Information
Summary
Summary
关于图二分图的挖掘,是推荐系统中的核心问题之一。传统的图表示学习直接对二部图进行挖掘是有问题的。个人认为传统的graph embedding在建模时实际上很依赖于graph的手动构造,连边权重的合理设置,且没有把二分图中的collaborative signals直接建模到结点的embedding表示中,而只是通过目标函数来间接引导。而二分图的构建是基于原始数据的,没有连边权重,且数据过于稀疏,蕴含在二分图中的协同信息是非常隐晦的和难以挖掘的,故传统的图表示学习方法很难处理。本文章中介绍工作基于message passing范式的GNN来挖掘二分图,将collaborative signals直接建模到embedding中,这是非常值得借鉴的。另外,文章的实现在github都有源码,且代码风格都不错,值得学习和实践。
References
-
KDD2018,GCMC:Graph Convolutional Matrix Completion(https://www.kdd.org/kdd2018/files/deep-learning-day/DLDay18_paper_32.pdf)
-
Github, GCMC, Source Code(https://github.com/riannevdberg/gc-mc)