可以看到,通过映射得到对应item相关的entity后,基于图谱推理流程,我们可以得到许多和映射得到的entity相关的高阶信息,如苹果这个公司有手机产品,而手机这类产品相关的公司有三星等,从而可以潜在的拉近和其他相关实体(如三星生产的手机等)间的关系。
模型框架
在本节中,我们将介绍本文提出的图谱预训练跨域推荐框架PEACE,下图为PEACE的整体架构。整体来说,为了更好的实现跨域对齐以及更好的利用实体图谱中的结构性信息,我们的整体框架建立在实体导向的预训练模块上;为了进一步提升预训练模块中用户和实体的表征,使其更具备通用性和可迁移性,我们提出基于原型对比学习的实体表征增强模块和基于原型增强注意力机制的用户表征增强模块对其进行表征增强;在此基础上,我们定义了在预训练阶段和微调阶段的优化目标和轻量化在线部署流程。接下来,我们将对每个模块进行逐一介绍。
PEACE整体架构
01. 实体导向的预训练模块
诸如支付宝等在线服务平台聚集了来自不同服务提供商提供的各式各样的小程序/场景,通常来说这些场景间信息不互通,没有一套共享的数据体系,因而即使是同一品牌同一类目下的产品的属性也无法完全对齐(如不同小程序中售卖的iPhone 14具有不同的商品ID,类别名称,比如在一个小程序中类别为电子产品,在另外一个小程序中类别为电子)。为了减小由于这些潜在问题带来的差异及其对于建模性能的影响,同时也更好的利用这些交互信息,我们基于实体图谱进行预训练,希望通过这样的方式来引入实体粒度的信息以实现泛化性更强的预训练。
以图1为例,若为item→entity→entity,从该商品出发,对于Apple,我们只能知道它的相关产品有Phone,但从entity→entity→entity进行预训练,我们则可以知道Apple不仅有Phone这样的相关产品,还可以知道它和Samsung这个公司具有关联,从而进一步提升我们学习到的表征的泛化性)。
02. 基于原型对比学习的实体表征增强模块
03. 基于原型增强注意力机制的用户表征增强模块
在预训练阶段,源域收集到的数据包含了用户在不同场景的行为,比如在制定旅行计划的时候用户会访问和出行相关的场景,而在需要找工作时会访问和在线求职相关的场景,然而,之前步骤中学习到的用户通用表征未将用户和场景相关的context考虑进来,这使得无法捕捉到在不同场景下的和场景相关的表征,因此我们希望借助于注意力机制来对context进行捕捉从而对用户表征进行增强。
04. 模型训练及预测
源域预训练环节通过将实体导向的预训练模块和原型学习增强模块相结合,整体的优化目标可以以如下方式定义:
目标域微调环节以及最终的损失函数:
在线部署
为了缓解线上服务的压力,我们使用了一种轻量化的方式来部署PEACE模型,部署流主要分为三个部分:
Pre-training flow:基于收集到的多源行为数据和实体图谱,我们对PEACE模型进行天级的更新,使得模型可以学习到具备时效性的通用可迁移的知识。对于预训练模型,我们将其存储在ModelHub中,以方便下游使用时可以轻量化的加载模型参数。 Offline inference flow:为了降低图神经网络对在线服务系统带来的负担,我们会提前对user和entity的表征进行infer,然后将其存储到ODPS表中,在下游微调时,仅需对最后的MLP网络进行微调,而无需重新进行图神经网络中的信息传播过程,从而大大降低在线服务时的延迟。 Fine-tuning flow:由于新推出的小程序/服务没有交互数据,因此PEACE通过以下两步来提供推荐服务: 对于冷启场景,通过直接对user和item的表征做内积,我们可以获取到user对不同item的偏好程度从而直接进行排序; 对于已经累积了一定数据的非冷启场景,我们基于预训练的user/item表征和user/item的基础信息进行微调,然后将微调得到的模型用于在线服务。效果分析
离线实验
01. 数据简介
我们收集了一个月的支付宝账单,足迹,搜索数据作为源域数据,对于目标域,我们在六种类型的小程序,即租赁,旅行,数字藏品,日用百货,美食,食物配送上进行了实验,由于目标域数据相比于源域更为稀疏,我们收集了过去两个月的行为数据用于模型训练。为了对不同域间的巨大差异进行桥接,我们引入了具有千万级节点,百级关系和亿级边的实体图谱。具体的数据情况可参见下表。
02. 有效性实验
结合两个表格中的实验结果我们可以发现,整体而言,实验结果表明:
PEACE在冷启/非冷启的场景中相比于基线而言均取得了大幅的提升,这表明了基于实体粒度的预训练和基于原型学习进行增强的机制的结合的有效性; 就大多数情形而言,预训练+微调的模型相比于无预训练的基线DeepFM有较大的提升,这说明了引入多源数据进行预训练的有效性,然而,在一些情形下,部分模型的表现不如基线DeepFM,有一定的负向迁移,而这进一步阐明了预训练方式的重要性; 在许多情形下,基于gnn的跨域推荐模型并没有取得很好的实验效果,这很大程度上是归咎于实体图谱中的巨大噪声,而由于我们在PEACE模型中引入了原型学习,通过聚类的方式使得相似的实体在表征空间中有着相近的距离,而不同的实体间的距离被拉的更远,从而缓解了这些噪声对模型带来的负面影响。03. 消融分析
为了进一步验证PEACE模型中各个模块的作用,我们准备了以下三种变体以对各个模块的有效性进行评估:
PEACE w/o GL,即移除实体表征时的图学习模块; PEACE w/o CPL,即移除基于对比的原型学习模块; PEACE w/o PEA,即移除基于原型增强的注意力机制模块。从图4中可以看出,当移除任意一个模块时,模型性能都出现了大幅下跌,这说明了模型中每个模块的不可或缺性;此外,可以看出PEACE w/o CPL的表现最差,这说明了原型学习在来捕获通用可迁移的知识中的重要性。04. 可视化分析
为了更加显式的对CPL模块的效果进行分析,我们随机选择了实体图谱中的6000个实体及其通过PEACE w/o CPL和PEACE模型学习到的实体表征来对其进行可视化,这里的各种颜色分别对应了不同实体归属的不同原型。从图5中我们可以看到,相比于PEACE w/o CPL学习到的实体表征,完整的PEACE模型学习到的表征在聚类结果上具有更好的连贯性,这说明了CPL模块及其学习到的原型,可以很好的帮助模型减小相似的实体在表征空间中的距离,从而更好的帮助模型学习到更鲁棒和通用的知识。
在线实验及业务落地情况
为了更好的验证模型在实际生产环境中的效果,我们在不同垂类的多个商家都进行了精排的在线AB实验,在多个场景中,PEACE模型相比于baseline都得到了有效的提升。整体来说,基于PEACE的预训练+迁移学习的推荐模型在重点商家上经过ab效果验证后,已作为基线模型全量应用到50+商家以为其提供个性化推荐。
文章推荐
OpenSPG v0.0.3 发布,新增大模型统一知识抽取&图谱可视化开放开源!蚂蚁集团浙江大学联合发布开源大模型知识抽取框架OneKE
【演讲回顾】知识图谱的演进与基于 OpenSPG+TuGraph 的推理实践
Paper Digest | GPT-RE:基于大语言模型针对关系抽取的上下文学习
关注我们
OpenSPG:
官网:https://spg.openkg.cn
Github:https://github.com/OpenSPG/openspg
OpenASCE:
官网:https://openasce.openfinai.org/
GitHub:[https://github.com/Open-All-Scale-Causal-Engine/OpenASCE]