赞
踩
1.图技术介绍
近些年来,随着图神经网络(Graph Neural Networks)的快速发展,越来越多的人开始关注起图数据。工业界也出现了图技术的相继落地,很多应用场景都可以抽象为节点向量化表示、分类、聚类、链接预测等图任务形式。
相比传统欧式空间结构类型数据,图结构数据具有以下特点:
从业界信息表示的发展趋势来看,信息表示是在升维的:从手工特征,到序列建模,再到图建模,背后是对更加完整信息的有效刻画的诉求。
在日常业务优化中我们也发现,如果说要找到一种形式化的建模语言能够准确、完整的翻译出我们的业务场景,那么呈现出来的建模语言就是“图”。
特征是机器学习模型的源动力,业界常言“特征的上限决定了模型的上限”。NN时代以前,模型效果的提升有很大一部分来自于特征工程。随着模型进入NN时代,NN模型具备的拟合能力以及在数据红利的加持下,极大地减少了算法工程师们在特征工程上的精力开销,工作重点开始聚焦于模型结构。虽然理论上NN可以拟合一切函数,但在有限的数据和训练周期内,无法快速地逼近效果上限。在这种背景下,显式特征交叉重新得到大家的关注,围绕自动交叉特征,业界陆续迭代出FM/xDeepFM/DCN/CAN等模型,并取得了非常好的效果。
在场景化建模中我们发现:交叉特征带来了信息增益,但往往也会带来“噪声”问题;比如具体到样本粒度来说,不同类型的样本所需要的有效交叉特征并不是完全一致,存在差异性。近两年业界的一些工作,如Fi-GNN、L0-SIGN、阿里FIVES等,也都在对应的业务中发现全量信息交叉引入噪声问题。
因此,从迭代思路来看,希望能够引入更多的交叉特征,同时也减少噪声信息的引入,实现在样本粒度的“个性化”交叉特征。
特征交叉,可以抽象为“从全量特征集中,选择出K组特征两两组合,实现给模型带来高效非线性表达能力的目的”。本质上可以看做是特征-特征之间二部图的关系预测:将特征看作节点,特征之间的关联关系看作边,则可以将所有特征之间的关联关系构成一张图网络。两个节点连边的权重,可看作对应特征之间交叉关系的强弱。通过将此关系图嵌入到模型训练过程中,关系图中不同边权即反映了不同特征交叉的重要程度。
每个样本中N个特征互相之间构成一个全连通图记为M,图中的每个顶点表示特征F,顶点之间的边表示任意两个特征Fi和Fj的关联度,记为M。通过联合训练关系图和预估模型,更新参数矩阵M,使关系图的语义信息与预估模型保持相关性和一致性,主要过程如下图3所示:
主要步骤可描述如下:
通过特征交叉系数抽象为图的边权重要性评估问题,使模型具备了对场景特征之间关联强弱的预测能力,从而能够更加高效地引入交叉特征,为用户的场景化建模提供更多的信息输入。
用户行为信息是指用户在平台的点击/下单活动记录,是最原始最直接的对于用户兴趣的刻画,尤其是针对行为稀疏用户来说,行为POI序列中任意节点都值得重视。但对于这部分用户,仅仅依靠个人行为POI很难建模兴趣,如果能够通过图的方式扩展用户行为,能够有机会跳脱个人私域行为限制,透过全局行为图捕捉不同场景下的潜在兴趣。
基于用户Session行为构建了POI网络:在同一个Session里,用户所点击过的POI存在关联,那么可以将每个Session里的POI构建一个连通图;由于不同用户行为的POI是有重叠的,整个外卖场景下的不同POI簇之间通过这些重叠的POI链接,就可以形成一张POI网络。对于任意一个POI,我们都可以从POI行为网络中,寻找到该POI的一跳、二跳邻居,这些邻居可以作为POI信息的相关补充。这样,对于用户的行为兴趣刻画,不仅仅局限在用户已有的序列上,而是可以通过子图进一步扩展。
相比传统序列建模方法,图网络建模可以利用全局用户行为互联的高阶网络结构,借助POI序列扩展用户兴趣:
具体的,针对用户行为序列中的每一个POI,都可以通过子图进行扩展,扩展后的子图通过卷积的方式形成POI的向量表示,如下图(左)所示。通过行为序列的扩展,使用户行为得到补充,从而得以跳出用户个人兴趣局限,丰富用户和POI的信息表达。
在POI子图的基础上,我们进一步思考如何有效地聚合不同POI,达到子图信息更加完整的表达。
中心节点不仅受到序列和子图影响,也受到当前候选POI的影响。因此在联合下游训练的过程中,我们将中心节点与样本Target POI进行聚合。
离线训练时,是基于用户行为序列,对序列中每个POI作兴趣子图拓展;而子图生成时采用预采样(Message Passing)+联合训练聚合的方式;通过以上三种聚合方式,得到属于行为序列中POI对应的向量表示。由于这个过程不仅是扩展了POI,还将序列信息、候选POI信息考虑到了每个节点的表示中,我们称这种为子图感知卷积。通过子图感知卷积,使卷积的过程中,POI的向量表示与上下文信息产生关联,从而使POI的嵌入表示融合了更精确的兴趣信息。
我们对用户决策过程进行抽象,将用户User与商户POI在给定Context环境下的一次交互定义为一个事件(Event),多个用户和POI交互的结果定义为事件链(EventChain)。对于多个强相关的事件链(不同事件链通过公共节点连接),就构成了一个场景,而场景之间的User、POI主体又存在连接,这样延展开,实际上就构成了一个“场景”拓扑网络图,如下图所示:
可以看到,实际上事件链组成的“场景”是一种异构图:比如具备某些属性(消费频率、商品偏好等)的用户U,在某个上下文C下(时间、地点等),点击/购买了具备某些属性(品类、商品等)的商户P,这个决策过程实际上是个最简单的U-C-P元路径。事件链是在这个元路径的基础上继续扩展,得到的更长的元路径实例(U-C1-P2-C2-U’)。通过事件链,可以建立起场景要素的关系链接,而对场景的完整刻画,就是对场景要素表示和要素关系的抽取。
元路径UCPCU表达的语义为:不同用户在不同时空场景下,点了同一家商户,当然不同场景需求可以定义不同的元路径。为了进一步融合元路径中丰富的语义表达,仅仅依赖单一的元路径的话,所表达的语义会受到限制。我们从用户U出发,通过该元路径可以扩展出一系列的元路径实例,这些实例刻画了不同场景下,用户和POI的跨时空关联。整个建模过程分为以下几步:
对于线上请求,检索同场景下Emie。
通过图网络技术,我们扩展了不同场景下的用户潜在兴趣,借助注意力机制捕捉当前决策,与不同元路径对应场景的关联性,从而实现场景化建模。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。