图嵌入综述整理(上)
来源:图算法探索系列(一):图嵌入模型的原理和应用篇【万字长文】
图9是DeepWalk模型在推荐场景下的应用。图9(a)显示的是不同用户在不同Session中的item点击序列。用Item2vec或Airbnb embedding的方法,Word2vec模型可以直接在这些序列信息上对节点进行嵌入学习。但图中用户的Session行为都偏短,会导致序列中item学习出来的embedding质量并不理想。DeepWalk会根据每个Session中item的共现信息和出现的次序,构建一个全局的item有向图(图9(b))。然后以每个item节点为起始节点,进行截断式随机游走产生新的item序列。从图9(c)中可以看出,因为随机游走对图结构的局部探索能力,我们可以得到一些原来并没有见过的item序列,例如:“ABE”序列。因此,后续的表示学习模型可以拥有更丰富的数据来学习每个节点的embedding。最后,通过随机游走生成的item序列都会被送入Skip-gram模型中进行节点的embedding学习。
值得一提,随机游走不仅可以完成图结构到序列信息的转换,还可以并行地为每个节点生成序列信息,这为DeepWalk模型应用在大规模图结构上提供了可行性。腾讯TEG数平的Angel团队在公司太极平台提供了非常丰富的图算法组件供使用。DeepWalk这种二阶段的图嵌入学习框架,也被后续很多Graph Embedding方法所采用。所以,DeepWalk在学术界和工业界,都是一个很常见的Graph Embedding baseline。
图12 腾讯新闻Graph Embedding建模过程
如图12所示,新闻的同事们提出的Graph Embeddnig的整体思路与DeepWalk类似,他们主要的改进工作体现在图构建阶段,希望在构建图阶段,通过改变节点之间边的权重来调整随机游走所得到的的序列结果,使得生成的训练节点序列更符合腾讯新闻的业务场景。在基于腾讯新闻的用户行为数据构建图的时候,新闻同事们提出了两点有意思的思考:
Item的曝光信息极有可能影响item之间的共现,比如曝光更多的item往往更容易共现。因此,item曝光信息也应该反映在图中item节点之间的边权重上;
Item之间的推荐关系是有向的,新闻场景中可以在冷门内容后推荐相关的热门新闻,但是未必适合在热门新闻后推荐相关的冷门内容。
基于这两个前提,新闻的同事提出了一种叫做ACF的算法计算图中节点之间的边权重。最终学习到的item embedding在视频召回中上线,并在点击vv和总vv上都取得了明显的提升。