当前位置:   article > 正文

大规模知识图谱预训练模型及电商应用

hit@k

点击上方蓝字关注我们

大规模知识图谱预训练模型及电商应用

陈华钧1,2, 张文3, 黄志文4, 叶橄强1, 文博1, 张伟2,4

1 浙江大学计算机科学与技术学院,浙江 杭州 310007

2 阿里巴巴-浙江大学前沿技术联合研究中心,浙江 杭州 311121

3 浙江大学软件学院,浙江 杭州 310007

4 阿里巴巴集团,浙江 杭州 311121

 

 摘要近年来,知识图谱因具有以统一的方式组织数据等优势,被广泛应用于许多需要知识的任务,并且在电子商务领域大放光彩。然而知识服务通常需要烦琐的数据选择和知识注入模型的设计,这会给业务带来不良影响。为了更好地解决这一问题,提出了“预训练+知识向量服务”的模式,并设计了知识图谱预训练模型(PKGM),在不直接访问商品知识图谱中三元组数据的情况下,以知识向量的方式为下游任务提供知识图谱服务。在商品分类、同款商品识别和商品推荐等知识图谱下游任务中进行测试,实验结果表明,知识图谱预训练模型能够有效地提高每个任务的性能。

关键词 知识图谱 ; 预训练 ; 电商

论文引用格式:

陈华钧, 张文, 黄志文,  等. 大规模知识图谱预训练模型及电商应用[J]. 大数据, 2021, 7(3): 97-115.

CHEN H J, ZHANG W, HUANG Z W, et al. Large scale pre-trained knowledge graph model and e-commerce application[J]. Big Data Research, 2021, 7(3):  97-115.


1 引言

知识广泛存在于文本、结构化及多种模态的数据中。除了通过抽取技术将知识从原始数据中萃取出来以支持搜索、问答、推理、分析等应用,另外一种思路是利用数据中本身存在的基本信号对隐藏的知识进行预训练(pre-training)。随着GPT、BERT、XLNet等预训练语言模型在多项自然语言处理领域任务上刷新了之前的最好效果,预训练受到了各界的广泛关注。预训练的核心思想是预训练和微调,例如文本预训练一般包含两个步骤:首先利用大量的自然语言数据训练一个语言模型,获取文本中包含的通用知识信息;然后在下游任务微调阶段,针对不同的下游任务设计相应的目标函数,基于相对较少的监督数据进行微调,即可得到不错的效果。

受预训练语言模型的启发,笔者将预训练和微调的思想应用到大规模商品知识图谱的表示学习与业务应用中。在阿里巴巴电商平台,包含千亿级三元组和300多万条规则的商品知识图谱被构建起来,并为语义搜索、智能问答、商品推荐等众多下游业务任务提供知识图谱服务。通常知识图谱提供服务的方式是直接给出原始的三元组数据,这会导致以下问题:①针对不同任务反复地进行数据选择和查询,存在大量重复性工作;②下游任务需要针对自己的任务重新设计知识图谱算法,从头训练模型,由于图谱规模庞大,业务应用迭代周期过长,导致效率低下;③商品知识图谱本身的不完整性风险会导致误差传导;④直接提供原始三元组存在数据公平性风险和隐私风险。

为了避免这个问题,使商品知识图谱更方便、更有效地为下游任务提供服务,笔者提出了“预训练+知识向量服务”的模式,并设计了知识图谱预训练模型(pre-trained knowledge graph model, PKGM),在不直接访问商品知识图谱中三元组数据的情况下,以知识向量的方式为下游任务提供知识图谱服务。在商品分类、同款商品对齐以及商品推荐等多个下游任务上,验证了PKGM的有效性,其中在推荐任务上达到了平均6%的提升,同时还证明了在困难数据尤其是样本较少的数据上提升效果更明显。此外,在电商业务的真实实践中,知识图谱预训练模型进一步被应用到商品图片分类、用户点击预测等任务中,任务效果均获得了提升。知识图谱预训练对于具有亿级别节点量级的阿里巴巴商品知识图谱而言极为重要,因为这能够避免对庞大的商品知识图谱进行重复训练,从而更高效快速地为下游任务场景提供服务。

本文首先介绍了背景知识,包括预训练语言模型和结构化上下文信息等;然后分别介绍了商品知识图谱静态预训练模型和动态预训练模型,详细阐述了这两者的模型结构和具体的先预训练再微调模式;之后介绍了知识图谱预训练模型在阿里巴巴电商场景的各种知识图谱任务中的实验结果和具体应用,包括商品分类、同款商品对齐和商品推荐等任务;最后对本文的工作进行了总结。

2 相关工作

2.1 预训练语言模型

人类的语言是高度抽象且富含知识的,文本数据只是人类大脑进行信息处理后的一个载体,因此沉淀的文本数据本身具有大量有价值的信息。互联网上沉淀了大规模的自然文本数据,基于这些海量文本,可以设计自监督训练任务,学习好的表示模型,然后将这些表示模型用于其他任务。基于这样的思想,最近几年提出的预训练语言模型(pre-trained language model)在许多自然语言处理任务上被证明是有效的,并且能够显著提升相关任务的实验结果。

预训练语言模型可以学习通用的语言表示,捕捉语言中内含的结构知识,特别是针对下游任务标注数据量少的低资源场景,采用预训练+微调的模式,能够带来显著的提升效果。预训练语言模型的输入通常是一个文本序列片段,神经编码器会编码输入序列,每个输入单元都会编码得到对应的向量表示。区别于传统的word2vec词向量,预训练得到的向量表示是上下文相关的,因为向量是编码器根据输入动态计算得到的,所以能够捕捉上下文语义信息。

以BERT模型为例,预训练语言模型首先在大型数据集上根据一些无监督任务进行训练,包括下一个语句预测(next sentence prediction,NSP)任务和掩码语言模型(masked language model)任务,这个部分被称作预训练。接着在微调阶段,针对后续下游任务,例如文本分类、词性标注、问答系统等,基于预训练好的语言模型进行微调,使得BERT模型只需调整输入输出数据和训练部分参数,就可以在不同的任务上达到很好的效果。图1展示了BERT模型的预训练阶段的结构,以及在多个不同数据集和任务上进行微调的结构。BERT模型具有很好的兼容性、扩展性,并在多种自然语言处理下游任务上达到顶尖的实验效果。

预训练语言模型的优点总结如下:

● 对庞大的文本语料库进行预训练,学习通用语言表示形式,并帮助完成下游任务;

● 预训练提供了更好的模型初始化,通常可以带来更好的泛化性能,并加快目标任务的收敛速度;

● 可以将预训练视为一种正则化,以避免对小数据过度拟合。

2.2 结构化上下文信息

给定一个知识图谱,其中表示实体(entity)的集合,表示关系(relation)的集合,表示三元组(triple)的集合。每个三元组由头实体(head)、关系和尾实体(tail)构成,于是三元组集合可以表示为,其中头实体h和尾实体t都属于集合,关系r属于集合

对于某个实体而言,包含了其若干个三元组的集合往往隐含这个实体丰富的结构和语义特征,例如(姚明,性别,男性)、(姚明,职业,篮球运动员)、(中国篮球协会,主席,姚明)等三元组能很好地刻画“姚明”这个实体。类似地,对于某个特定的关系,知识图谱中也拥有丰富的包含了该关系的三元组集合。在此,可以将其定义为结构化上下文三元组(structure contextual triple)集合,简称为上下文三元组,并用表示,其中x表示某个实体或者某个关系。因此不难看出,在知识图谱中有两种类型的上下文三元组:实体上下文三元组和关系上下文三元组

图1   BERT模型的预训练和微调过程的模型结构示意图

实体上下文三元组被定义为那些包含实体的三元组集合,无论实体e是某个三元组中的头实体还是尾实体,包含了e的三元组都可以被归入这个集合。用符号语言来表示就是:

类似地,关系上下文三元组被定义为那些包含关系r的三元组集合,可以表示为:

为了更直观地展示上下文三元组在知识图谱中的结构,笔者画了一张简单的示意图来描述,如图2所示。图2中的圆代表实体,圆之间的短线代表关系。虚线框中的蓝色圆、橙色圆和粉色短线构成了一个特定三元组,分别代表头实体、尾实体和关系。对于头实体h(蓝色圆)来说,其上下文三元组就是与蓝色圆相连的三元组,即图2中用蓝色短线连接起来的两两实体对组成的三元组再加上虚线框中的三元组得到的三元组集合。同理,尾实体t的上下文三元组即图2中用橙色短线连接起来的三元组再加上虚线框中的三元组得到的三元组集合。而对于关系r的上下文三元组,图2中用平行的、粉色的短线来表示同一种关系r,那么用这些粉色短线相连的三元组集合就是所期望的关系上下文三元组

图2   知识图谱中的上下文

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/663160
推荐阅读
相关标签
  

闽ICP备14008679号