👆点击“博文视点Broadview”,获取更多书讯
基于电子商务平台上亿级的庞大商品库,电子商务交易得以不断增长。
为了更好地支持日常业务,需要将这些海量的商品以一种更优的方式进行描述、存储和计算,并且需要支持融合不同来源的数据,建立实体之间的语义连接,因此采用了知识图谱这种数据构架。
阿里巴巴积累了上千亿规模的商品数据作为商品知识图谱,这些数据来源于淘宝、天猫、阿里巴巴等在内的多个阿里旗下平台,囊括了品牌制造商、消费者、国家机构、物流提供商等多方利益相关者的数据。
从知识产权保护或购物体验的角度来看,商品信息的标准化和内外部数据的深度关联挖掘,对电子商务业务至关重要。
利用自然语言处理、语义推理和深度学习方法的最新进展,通过提供产品的全球概况、假冒产品治理、行业运营的完整产品信息,可以为搜索业务、推荐业务、平台治理、智能问答等开发人工智能相关服务,为消费者提供更好的使用体验。
目前,商品知识图谱包含标准产品、标准品牌、标准条码和标准分类四个关键组成部分,集成了公众情感、百科全书、国家行业标准等九大本体论数据集,运用实体识别、实体链接、语义分析等方法构建了大规模的知识图谱。
目前,商品知识图谱包含700多亿个三元组和300多万个规则,建立了一个完整而庞大的数据视图,极大地支撑了基于知识的项目服务。例如,商品知识图谱能支持语义搜索、智能问答、商品推荐等各种知识增强任务。
在阿里巴巴电商实际场景中,围绕商品知识图谱展开了一系列的技术研究和应用,其中主要业务场景包括商品分类、同款商品识别、商品推荐、商品标签发现、商品属性预测等。
为了在不同的任务中使用知识图谱信息,应用知识图谱预训练(Pre-trained Knowledge Graph,PKG)技术对知识图谱进行建模,并基于“预训练+微调”的模式,使知识图谱能够方便、有效地服务于各种与商品相关的任务。
其中,“方便”特性具体是指在阿里巴巴平台上提供统一的商品知识表示向量,而不再需要烦琐的数据选择,同时对于不同的下游任务,只需要微调模型的一部分来适应这些任务上特定的背景知识,而无须烦琐的模型设计工作。
对于“有效”特性,通过实验和工程证明在阿里巴巴业务场景中的多种任务可以通过知识增强的预训练模型获得更好的性能,尤其在数据量比较少的情况下,相较于其他模型有更明显的提升。
商品分类任务的目标是将商品分类为给定类目列表中的某一类。商品分类在阿里巴巴电商平台中是一项非常常见的任务,不仅包括该商品具体属于哪一大类,还包括商品各种属性上的分类,包括商品适合的生活场景、商品适合的人群等。
同时,商品的各类信息总是会随着时间发生变化,比如新增的标签和属性,而用传统方法再次为新的标签或属性进行学习和训练往往过于耗时。
商品分类用符号语言可以描述定义为:给定一个数据集
,其中 、
和
分别是商品(Product)集合、标题(Title)集合和类别(Class)集合,而
是一系列商品
以及它们各自对应的标题
与类别
的记录(Record)集合,可以表示为
。
每个商品标题是有序的单词序列,即
。于是,商品分类任务可以转化为训练一个从标题集合
到类别集合
的映射函数:
此时,商品分类任务转化为文本分类任务。在阿里巴巴电商平台上,绝大多数商品都有卖家填写的标题以及选择的商品类别选项,可以用于训练数据。
对于文本分类任务,基于深度学习的模型被证明优于传统的分类方法。给定输入文本,映射函数
首先利用表示学习方法学习它的稠密表示向量,然后使用该表示向量做最终的分类任务。
近年来,大规模的预训练语言模型如ELMo模型、GPT模型和BERT模型已经在事实上成为许多自然语言处理任务首选的表示学习方法。在这里,我们采用BERT模型作为项目分类的基础模型。
BERT是一种预训练语言模型,利用多层Transformer的双向编码器,在所有层次上对上下文单词进行联合交叉训练,预训练无标签的文本数据,学习深层双向表示向量。
BERT模型基于海量文本进行训练和学习,获得了不错的实验结果,因此BERT已经成为文本编码任务中的常见方法。
在这里,使用Google发布、经过预训练的BERT模型和参数进行商品分类任务的实验,而模型架构的细节实现描述可以参考其源代码和参考指南。
图1所示为商品分类任务模型,展示了商品分类任务模型的结构示意图。
图1 商品分类任务模型
(1)基准模型。基准模型中输入的是商品标题描述文本序列,输出[CLS]标签对应的向量
,结合全连接层用于分类训练,即
式中,
是权重矩阵;
是偏置矩阵;
是单词向量的维度,在BERT模型中也被称为隐含层大小;
是当前任务类别的数量。
(2)知识增强模型在商品分类的应用。在商品类目错放等部分业务场景中,可以直接获取到当前商品在知识图谱中的相关信息。
基于《工业级知识图谱:方法与实践》一书7.2节提到的内容,可以用知识图谱预训练模型提供的知识服务增强模型,融入来自两个查询模块各自的
个服务向量。
在具体实现业务模型时,考虑到模型的通用性和性能,只引入了商品向量作为服务向量。在原有商品标题文本序列后面先加入[SEP]标签,然后融入对应的商品向量。
特别地,实验中发现在原始BERT模型的底层(如输入层)融入商品向量,效果不如在高层(如模型输出层)融入商品向量。引入知识增强的模型相对于基准模型(86%),商品分类任务的准确率有3%的提升。
应用知识增强模型的前提条件是,可以获取当前商品节点在商品知识图谱中的相关信息。但是在如商品发布等业务场景中,当前商品节点正在被创建,无法获取到知识图谱中的信息。
在这种场景下,使用知识增强的语言模型做商品分类任务。
具体地,基于商品知识图谱,定制化地改进了KnowBERT模型,使用带有结构信息的节点替换原来的实体向量信息,同时引入知识图谱的Loss作为知识图谱节点的训练信号,图2所示为商品知识图谱增强的预训练语言模型。模型通过预训练,能学习到一定的商品知识信息,增强模型在下游任务的泛化能力。
图2 商品知识图谱增强的预训练语言模型
(3)实验与案例分析。我们从阿里巴巴真实场景中抽取出1293个类别以及类别下的商品,生成正样本和负样本为1∶1的数据集,如表1所示。
表1 商品分类任务的数据集
为了更好地证明结合文本的知识图谱预训练模型的能力,在数据准备过程中,将每个类别的实例(商品)限制在100个以下,可以展现出在较少的训练样本数据情况下,下游任务的实验效果。
为此,还特意生成每个类别不同实例个数的三种数据集——dataset-20、dataset-50和dataset-100,分别表示每个类别只有20个、50个或100个实例个数的数据集。表格中的#Train、#Test和#Dev分别代表由三元组构成的训练集、测试集和验证集。
在实验中,采用预训练语言模型 在中文语言数据集上的训练模型作为基准模型,其中包含12层Transformer、12个注意力头(Attention Head)和大小为768的向量维度。
类似于BERT模型,在输入数据序列之前会加上特殊的分类符[CLS],其在最后一层模型对应位置的向量被用于表示整合了这个输入序列的向量。
在这里,将整个序列长度固定为128,包含一个 [CLS] 分类符和长度为127的标题序列,对于原始标题文本长度不够的补零,超出的则截取最前面的127个字符序列。
对于融合了经过知识图谱预训练得到的服务向量模型 ,将基准模型BERT输入序列的最后 个向量替换为 个关系查询模块的服务向量序列和 个三元组查询模块的服务向量序列,然后进行微调阶段的训练。
类似地,只替换输入序列中最后 个向量为 个关系查询模块服务向量序列的模型,写为 ,将 替换为三元组查询模块服务向量的模型,则写为 。
在训练批量大小(Batch Size)为32、学习率(Learning Rate)为 的参数条件下训练了三个轮次(Epoch),其中来自知识图谱预训练的服务向量是固定不变的,而BERT模型中的相关参数会在训练中被调整优化,最终得到如表2所示的商品分类任务实验结果。
表2 商品分类任务的结果
表格中包括商品分类的预测准确率(Accuracy,AC)和前k个预测值的命中率Hit@k指标,其中Hit@k指标表示在所有的测试数据集中预测正确的类别在所有商品类别的预测值序列中排名前 个的百分比,其中 包括1、3和10三个候选值。
从实验结果中可以看到,在预测准确率和Hit@k指标上,融入了知识服务向量的模型 在三个数据集上都要优于基准模型 。
具体来说,一方面,同时融入了两种服务向量的 模型在Hit@1指标上都取得了最好的效果;另一方面,在Hit@3、Hit@10和预测准确率三个指标上, 和 两个模型有较好的效果,而且它们中的一个能达到特定条件下的最好实验效果。
这也证明了知识图谱预训练模型和提供相应的查询服务向量的有效性,并且其中关系查询模块往往发挥着比三元组查询模块更重要的作用。
当然,在一定程度上, 比 模型在多数情况下有更好的效果,打破了有更多知识图谱特征向量往往有更好效果的传统认知。
我们认为这很可能是因为在商品分类任务上,那些被三元组服务向量序列替换的文本序列比替换它们的三元组服务向量序列更重要,在这些特定指标上,文本序列本身比判断三元组是否成立的信息更有价值。
▼
本文摘自《工业级知识图谱:方法与实践》一书,欢迎阅读此书了解更多关于工业级知识图谱的内容。
▊《工业级知识图谱:方法与实践》
张伟,陈华钧,张亦弛 著
本书源于阿里巴巴千亿级知识图谱构建与产业化应用的工作总结,对知识图谱理论和大规模工业实践进行了全面和深入的阐述。
本书以阿里巴巴的实战经验为中心,以深厚的理论成果为支撑,详细阐述了知识图谱的方方面面。首先介绍工业场景下知识图谱的现状、存在的问题和架构设计;然后从知识表示、知识融合、知识获取、知识推理、知识存储和知识图谱前沿方向等方面入手,介绍大规模商品知识图谱的构建方法;最后结合阿里巴巴的业务实践,详细介绍知识图谱的产品设计、技术实现和业务应用细节。
通过阅读本书,读者不仅可以从零开始认识知识图谱,了解知识图谱技术方法和前沿技术方向,而且可以熟悉知识图谱工业实践的实现路径,清楚知识图谱的应用方向和方法。本书介绍的成果获得钱伟长中文信息处理科学技术一等奖。
专享优惠,快快扫码抢购吧!
抽奖赠书
按以下方式与博文菌互动,即有机会获赠《工业级知识图谱:方法与实践》一书!
活动方式:关注“博文视点Broadview”公众号,在后台回复“知识图谱抽奖”参与活动,届时会在参与的小伙伴中抽取1名幸运鹅!
活动时间:截至9月14日(周二)开奖。
快快拉上你的小伙伴参与进来吧~~
如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连
热文推荐
缓存核心知识小抄,面试必备,赶紧收藏!
Kubernetes生态系统与演进路线
吃透HTTP原理,教你建立安全的HTTPS网站
书单 | 提升你的运维能力,就靠这10本书了!
▼点击阅读原文,查看本书详情~
本文分享自 博文视点Broadview 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!