上面的迭代过程都是在不断地优化如何更好地进行用户的兴趣描述,使用更好的网络结构生成更好的用户隐向量。这种将用户直接生成一个高阶隐向量的方法,可能会导致召回的结果过于泛化,不易保证精准性。通过在召回模型中引入FM层的User-Doc交叉特征可以很好的解决这个问题。
参考FM的公式如下,假设前m个特征是user相关的特征,后n个特征是doc相关的特征:
User和Doc的二阶交叉特征可以拆解如下如下,可以拆解为user和doc各自的两部分:
改造后的网络结构如下,新的网络可以有效的完成低阶 高阶特征的融合,从而实现泛化和精准的有效平衡。
由于业务高速发展,引入新数据,新场景的需求非常频繁,通过引入迁移场景信息 训练数据迁移可以大大加速新业务孵化情况下模型的收敛和效果。
特别说明的是,在现实系统中,综合推荐系统经常会引入新的数据源,这部分冷启动的召回通道在行为稀疏时往往表现较差。为了解决这些问题,团队近期将混合模型适配这类场景而提出一种Internal and contextual attention network (ICAN)模型,通过加强多队列之间特征域(feature field)交互和环境信息,得到更好的(冷启动)召回效果。目前ICAN已部署于看一看线上召回系统。此工作发表于IJCAI-2020。
9. 图模型
推荐系统中User和Item相关的行为、需求、属性和社交信息具有天然的图结构,可以使用一张复杂的异构图来表示整个推荐系统,如下图所示。图模型推荐算法就是基于这张复杂的异构图,使用图算法来学习图中包含的结构信息并用于系统推荐。图神经网络模型推荐就是基于这个想法,把异构网络中包含的结构和语义信息编码到结点Embedding表示中,并使用得到向量进行个性化推荐。
在这样的背景下,看一看召回17年起开始搭建面向看一看推荐的图算法平台,逐步实现了Deepwalk、line、node2vec,PTE等浅层模型,并在线上文章、视频推荐取得不错的收益。2018年,以GCN为代表的深层图神经网络模型出现,效果远优于传统的浅层模型。
因此,我们也开始对图算法平台进行升级,一方面,逐步实现GraphSAGE、GAT、MultiGAT、FM-GAT、Transformer-GAT、Transfer-GAT、MultiTask-GAT、Weighted-GAT等深度图神经网络模型;另一方面,开发面向线上生产、处理千万甚至亿结点,百亿级边的大柜模型异构网络。
图模型一路迭代至今,经历了几个大的优化阶段如下:
- 模型维度:从浅层图模型(Deepwalk、Line、PTE等)到深层图模型(GraphSAGE、GAT等) ,再到自研深层图模型(Multi-GAT、FM-GAT、Self-GAT等);
- 网络结构:从同构到属性异构,再到用户多元异构、社交多元异构。网络规模也从十万,到百万、千万,最终到达亿级结点,百亿级边的大规模异构网络。
- 训练目标:网络训练也从单目标持续将深度图模型升级到多目标,再到多任务。迭代更新如下图所示:
GraphSAGE(Graph Embedding with Sampling and Aggregation)模型介绍:
GraphSAGE是一种通过聚合当前结点i的k阶邻居结点信息,构成结点i的embbedding的Network Embedding模型。与随机游走的Network Embedding模型:DeepWalk、Line、node2vec,相比,GraphSAGE有如下3个优点:
- 大量前沿论文证明GraphSAGE能够更加准确、有效抽取结点Context信息,并生成更高质量的node Embedding。
- GraphSAGE是一种归纳学习图模型,可以学习动态网络中新加入的结点Embeeding。
- GraphSAGE通过采样当前结点K阶领域结点来计算当前结点embedding,使得计算具有上亿结点、数十亿条边大规模图网络变为可能。
我们通过用户观看过的item来构建图网络,把同一用户观看过的时间关系上靠近的两个item当做结点,结点之间用一条边连接,然后通过GraphSAGE图模型来学习图中结点的Embedding,GraphSAGE模型结构如下图所示: