Shopee如何基于多语言噪音数据,构建知识图谱技术和应用?
关注公众号「Shopee技术团队」,探索更多Shopee技术实践
本文为 InfoQ 对 Shopee 商品算法团队负责人 Steph 的采访。Steph 将在今年的 ArchSummit 上海站进一步分享知识图谱技术及其在 Shopee 的实践。
嘉宾 | Steph
编辑 | 李慧文
随着电商行业的演进,电商商品量及覆盖市场日益增长,怎样发挥量级和市场优势成为一个重要命题,而知识图谱的本体/实体/属性/关系等概念和电商市场的类目架构/产品库/商品属性天然对应,知识图谱成为电商依赖的重要技术和服务基础。
Shopee 商品算法团队研究多语言知识图谱技术,服务全球十多种语言市场,将知识图谱技术应用在多语言大规模商品的预测、商品属性信息抽取、产品库自动生成等电商核心数据场景,在准确率和覆盖率上均有极大的提升,并且把具体业务应用中基于传统技术所需要的人力时间成本缩减了 60%。
近年来,知识图谱技术在工业界和学术界都有长足的发展,大规模模型、低资源依赖、多模态结合已成为新的发展趋势,包括多模态知识图谱、大规模图推理、知识外推、动态知识图谱、神经符号推理等方向逐步有成果发布和落地,Shopee 商品知识图谱也在其中的一些方向有创新的落地经验。那么这样的知识图谱技术是如何打造的?打造过程中遇到过哪些问题?Shopee 商品算法团队又是如何解决的?
我们采访了 Shopee Marketplace Intelligence 商品算法负责人 Steph,她深度分享了 Shopee 商品知识图谱技术的实践经验,希望对你在知识图谱应用上有所启迪。
InfoQ:可否介绍一下 Shopee 商品算法团队为什么选择知识图谱技术?
Steph:随着电商行业的演进,通过人工专家经验或者传统技术去支持电商的成长逐渐遇到瓶颈。例如,由于商品种类繁多并且不断更新换代,不同地区的文化语言差异导致商品表达的不同,商品信息存在噪音,通过人工标注无法完整及时地构建全市场的商品信息库等。基于传统的技术,如文本分类或者是文本识别,也无法在单个商品图文中识别出所需要的所有商品信息。
而知识图谱技术,能够通过识别商品和商品之间的关系,链接商品实体,融合多个商品实体的信息,丰富每一个商品的综合信息,将结构化和非结构化信息融合使用,最终实现更深入更广泛的商品理解。
目前,大多数数据挖掘和机器学习算法都处于计算智能、感知智能这两个阶段。但是随着对海量数据的依赖及以神经网络为代表的联结主义的弊端逐渐显现,我们亟需一种更高效利用数据的人工智能模式。而知识图谱可以在感知智能和计算智能的基础上架构认知智能框架,实现推理与融合,充分发挥有限数据的价值。
Shopee 商品知识图谱通过构建适用于多语言融合的数据场景的算法,例如大规模细粒度分类算法、多语言混合的命名实体识别算法、规则推理挖掘算法等,基于结构化和半结构化的信息挖掘实体关系,实现多语言大规模实体知识的识别沉淀和实体关系的挖掘服务。
此外,随着知识图谱技术的演进,动态知识图谱帮助更加高效实时地更新和去除冗余信息,这适用于电商不断更新迭代的数据特点。基于图谱神经符号的推理技术,通过融合符号计算和神经网络计算提升技术的可解释性和鲁棒性,这有助于更好地提供可解释的算法技术服务,便于技术和行业专家运营共同协作。基于图谱知识外推技术,将推理能力拓展到未见过的实体、关系等,这适用于电商领域新实体不断涌现、识别算法需要能够快速实现对新实体的识别能力、维持算法服务效果的诉求。考虑到这些特点,Shopee 商品算法团队拥抱了知识图谱技术体系。
InfoQ:可否简单介绍一下 Shopee 商品知识图谱技术的架构?
Steph:Shopee 商品知识图谱的技术架构,包括基于多语言的知识建模、知识获取、知识融合、推理服务四部分:
- 知识建模。即明确产品库的本体。在电商领域,知识图谱的本体包含了由类目和属性体系等组成的图谱 schema 层,它的作用是便于结构化地表达和管理产品库;
- 知识获取。获取商品的类目信息和属性信息,帮助沉淀产品库;
- 知识融合。通过实体链接技术,关联属于同一个产品的商品。再通过信息融合,汇总商品信息到产品库层面;
- 推理服务。通过知识推理框架,生产和补全图谱数据,将数据应用到企业运营端、消费者端和商家端,未来还会不断拓展发挥更多作用。
这些技术模块各有难点,以知识获取模块为例:
难点 1:如何基于有噪音的少量数据,智能化地挖掘实体的信息。我们的解决方案是,在样本构建上,使用 noisy label denoising(O2U)技术,通过调整学习率,使得模型在过拟合和欠拟合之间循环,基于 loss 值的变化训练分类器,自动筛出高质量样本进行模型训练有效提高数据质量。模型识别效果达到 96.66% 准确率,重点属性识别覆盖率达到 90%+。
难点 2:实体单模态信息缺乏。我们在知识获取的分类识别任务中,发现不少商品实体的标题内容简短笼统,而分类任务的目标类别量大且粒度很细,例如商品标题为鞋子,而分类目标需要区分出男鞋女鞋等细粒度信息。这里,结合使用图像信息辅助识别变得重要。我们采用多模态大规模细粒度实体分类模型,其主要思路是基于 ALBEF [J.l et all.,2021],在商品标题、详情文本和商品图片数据上学习 image、text 以及 multimodal 的 encoder,然后基于 multimodal 的 encoder 输出构建分类模型,完成对商品类目的预测。在下游任务的训练中,我们也参考了 Momentum model 的思路,减少噪音样本对训练的影响,该模型在数千级别分类可达到 85%+ 的准确率和 100% 覆盖率。
难点 3:基于已知信息推理出未知信息,因为商品图片和文字所能直接识别出的信息是有限的。在商品知识图谱信息补全和矫正上,基于知识外推技术,我们提出了 associate attribute concept,构建商品属性(attribute)的头实体、关系、尾实体的向量表示,并且创新性地引入属性的描述文本信息,通过交叉特征设计分类网络,判断新商品属性关系对是否成立,从而实现基于已知属性推理未知属性,补全图谱的未知信息的目标。
InfoQ:Shopee 商品知识图谱有什么典型的应用场景?实际应用取得了怎样的效果?
Steph:基于知识图谱技术,Shopee 商品算法团队既通过提供图谱生产的数据支持业务的需求,也将图谱构建中涉及到的识别技术应用在服务中,例如商品类目识别、商品属性信息识别、商品关系识别等。我们构建的实体类目识别算法,在所有涉及的语言上,达到接近 90% 的精度和 100% 覆盖率,商品属性信息识别服务达到了 95%+ 的精度。这些服务应用在了适合的商品场景,例如,面向商家的商品发布系统、面向运营的招商选品系统、面向消费者的搜索推荐系统等。
其中,以商品关系识别服务为例,我们通过知识图谱技术自动识别商品同款关系,链接关联相同相似的商品。同款关系的含义是指:在电商平台每天售卖的商品中,不同商家会销售同款的商品,虽然会被不同商家售卖,如:苹果旗舰店、苏宁、国美等店铺,在不同店铺可能有着不一样的价格和售后服务等,但它们是同款的商品。我们基于知识图谱构建的同款商品关系库,与其他广义的关系库的核心区别,主要在于:1)能够支持跨市场以及多种语言;2)技术上实现数据构建的自动化。
其典型的应用场景包含面向消费者的高性价比营销会场。在东南亚市场的头部营销会场中,提供智能化的同款商品比价服务,将同款商品中符合高性价比价格区间的商品推荐给消费者,帮助消费者降低决策成本,提升购买体验。这样的应用,实现了通过纯人工选品所无法实现的商品比价效率,和价格真实性准确性的突破。
通过这些服务,可以将过去通过简单的知识表示匹配算法准确性提升到 85%+。同时,自动化服务能够有效节省人力,缩减一半多的人力时间成本。此外,自动化还带来了处理数据量级的大规模提升,扩充可以被覆盖的商品量几十倍,实现人工参与所无法达到的实时更新。
除了高性价比营销会场,Shopee 商品知识图谱还有其他广泛的应用场景。例如,在面向消费者的 ToC 场景中,为消费者过滤已经购买的同款商品,实现购物后推荐去重复,提升消费购买体验。在面向电商平台内部的运营和管理 ToO 场景中,利用同款商品对比真实的商品信息和价格区间,发现和过滤问题商品,帮助维护保障消费者权益。在面向商家 ToB 的应用场景中,通过同款商品服务,提升招商选品的效率和入选商品整体的竞争力等。
InfoQ:Shopee 商品知识图谱在落地的过程中遇到过什么问题,这些问题是怎样解决的?
Steph:Shopee 商品知识图谱技术,基于工业界真实商品数据,并且需要应用至各个语言和市场,这里存在如下几个重点挑战,比如:
第一,在数据获取上如何高质量地完成多源异构数据的抽取。这需要能够理解各个源数据的差异性,并针对性地去识别、抽取对应的信息。
多源异构数据的挑战点有两个,一个是不同数据源的本体层结构不同,例如本体分类方式、属性用词不一样。这些造成了对于同样信息的表达方式差异,无法通过简单的匹配来跨数据源地构建关联。这需要基于异构本体的映射融合技术实现不同源头数据的链接。
另一个难点是数据的语言差异。跨地区的数据语言所属语系可能不同,有着语法差异;同语系或者同语种的不同市场数据也有着基于不同文化的表达方式差异;同一市场内的数据也存在多种语言混合的情况。
面对这些难点,我们在文本算法的构建上,引入 Google 提出的 LaBSE 模型
[F.F et all.,2020]
,将不同语言的文本编码到共享的嵌入向量空间,并根据 Shopee 的应用场景进行 fine-tune,实现跨语言异构信息的识别抽取。同时,结合使用多模态模型,在构建上尝试 Contrastive learning 和 Self-supervised 技术,在 uncurated image-text pairs 数据集进行 Multimodal pretraining,用大规模带噪音数据集训练 multimodality 的 backbone 网络。第二,如何将多源异构的数据融合对齐。Shopee Marketplace 团队在两年前打造了全市场统一的商品本体体系,这有助于多源异构数据的高效率融合。随后,在引入外部知识库融合的过程中,通过智能本体对齐技术,将各个语言的本体映射到这套全市场统一的商品本体上,实现最终的实体层和信息层的融合。
智能化的本体对齐算法,在我们的技术中包含了几个模块:
模块 1:实体类目的对齐。
例如:将数据源 A 的类目信息 “
fashion>women clothes>blouse
” 对应到数据源 B 的类目信息“女装>衬衫”。技术上通过商品实体信息构建类目信息的知识表示,通过商品类目预测算法将异构图谱 A 的实体预测到异构图谱 B 的类目上,挖掘高频共现的商品类目关系对,并学习商品类目关系对之间的粒度大小、方向,以及对齐条件等。模块 2:实体属性的对齐,通过上下位词和同义词的挖掘关联相同语义的属性。
例如:数据源 A 的 “
barbie pink
” 对应到数据源 B 的“粉色”,注意这里的对应是单向而非双向的,即:A 可以推理出 B,但是 B 无法推理出 A。因为数据源 B 的“粉色”包含但不局限于 “barbie pink
”,它们是上下位的包含关系。技术上,我们采用多任务训练,融合结合电商 word/phrase 遮蔽训练、跨语言 pair-wise 训练,构建属性值 embedding 实现支持属性维度映射计算。第三,如何让知识图谱能够胜任复杂的知识推理,特别是基于噪音数据实现高质量的推理,我们挖掘沉淀了基于知识表示和规则的推理模块。并且针对多源信息计算细粒度置信度,通过置信度投票机制来优选识别结果。
基于置信度投票的机制,我们使用了两种主要方法:1)基于统计学的方式,结合最终的数据效果去学习和设定;2)基于图算法,通过已知数据推理出不同数据源的置信度和信息优选逻辑。我们主要使用 R-GCN [M.S et all.,2017] 和 TransR [Y.L et all., 2015],构建实体隐层表示,并且基于实体隐层表示做知识推理,多模型投票提升推理泛化能力。
InfoQ:结合您在知识图谱落地的经验,您觉得知识图谱的构建和落地还有什么难点吗?
Steph:Shopee 商品算法团队为了支持好服务全市场的电商战略,快速支持不同市场,我们要在语料储备少、专家经验沉淀少的市场,解决如何快速初始化技术服务的问题。
同样,在各个市场,商家对于经营理念的不同,不同文化下对于商品理解的不同,商品表达的日新月异,都需要能够智能捕捉差异点,保证算法服务的质量。
我们尝试了两种迁移学习的思路:
- 特征迁移:使用 MAN-MoE [X.C,.2018] 模型框架结合 LaBSE 预训练语言模型的思路,进行多语言迁移学习(multilingual transfer learning),挖掘语言间的 shared feature 和 private feature,通过语言间的的相似性复用较成熟语言的成果,确实能够解决部分语言的问题,缓解初始化阶段对标注数据的依赖;
- 数据迁移:结合翻译模型,将小语种数据翻译为多个成熟市场的语言,基于成熟市场的模型,使用集成学习的思路,构建小语种的训练数据。
然而对于部分小语种,两种方法因为语言习惯差异大、翻译模型误差等多种因素,仍然有许多待提升的地方,这也是我们目前在逐步优化的重点方向之一。
InfoQ:知识图谱技术已经达到了通用 + 多源异构的阶段,Shopee 商品算法团队在这个方面做了哪些新的探索呢?有什么可以分享的经验吗?
Steph:首先,我认为知识图谱还没有完全达到通用阶段。百科类图谱相对通用,但是电商图谱依然有较强的领域特征尚未实现跨行业的通用,目前实现的是在相似应用场景内的通用性。Shopee 商品算法团队做了一系列的相关技术和数据探索。
第一,在知识建模技术上,融合各个市场原本差异化的本体结构,链接到全市场统一的本体上,并构建多源异构本体映射,实现从粗粒度到细粒度信息层的多向映射关系。
具体来说,通过构建一套全市场统一的商品本体层,将各个市场原始的本体结构,通过构建本体类目类目映射、本体属性映射,定义出互相之间的映射关系。将所有商品实体挂载到全市场统一的商品本体上。并在新市场中直接应用全市场统一的商品本体层,构建对应语言的本体表达,用来表示新市场商品实体信息,实现了从商品信息构建之日开始,就可以简单地直接转化到各个市场的本体表达方式上,方便跨市场的商品表达和流通。
第二,在知识获取技术上,为了提高识别的精度,我们不仅从算法选型和样本构建的方向去尝试,更通过项目机制、系统辅助共同保障。因为构建了严谨的项目合作机制,多工种协作共推动,共同保障训练样本的质量、辅助系统的便利性,从而实现了较高水平的算法服务效果。
第三,在知识融合技术上,商品知识图谱通过支持运营基于本体数据定制融合粒度,生成符合运营需求的关系数据。在信息融合层面,商品知识图谱能够将多源信息融合,在产品库级别汇总构建全面的信息库。
融合过程中,我们首先基于上文提到的本体层的融合方式,将商品实体信息关联到同样的一套本体下,基于同一套本体的类目结构和属性来表达商品信息。接着实现实体对齐,通过知识获取识别出的商品实体的属性信息,在同品类下结合业务的需求和标准,聚合实体。最后实现信息层的融合,即基于已经聚合在同样的产品下的同款商品。
#算法##算法工程师##知识图谱##Shopee#InfoQ:人工智能发展到后半场,对于一般企业来说,特别大型的算法体型太大无法落地,一般仅仅是供基本使用的算法又已经基本上被应用了,所以很多人看衰人工智能技术的前景,认为它到了一个平台期,您怎么看这个问题呢?
Steph:在行业内,对于企业面临的大型算法应用落地难、成本高的问题,其实无论是学术界和工业界已经有不少相关研究在尝试缓解,希望减小模型复杂度、减少模型存储需要的空间,也致力于加速模型的训练和推测。例如,在算法模型层面,有模型剪枝技术(pruning),将权重矩阵中相对“不重要”的权值剔除,结合 fine-tune 微调模型;有模型量化技术(Quantization),包含二值化网络(Binary Net)、三值量化(ternary quantization)等;知识蒸馏技术(Knowledge Distillation)也是一种常见的方法,其核心思想是学习出效果相仿但是计算性能更强的小模型。
Shopee 商品算法团队基于知识蒸馏技术,引用 albert 支持大规模、高 QPS 的线上应用服务,实现计算性能和模型效果的平衡。此外,还有基于神经架构搜索(Neural Architecture Search,NAS)的网络自动化设计等研究方向。在基础服务层面,各大云服务供应商提供了计算资源和灵活的云上算法服务支持,结合边缘计算等新云计算框架,实现客户端对算法服务端请求的快速响应。
另外,算法服务的构建和效果的突破,并不是模型越大越好,我们也不必去期待一套庞大的算法模型能解决很多问题。更加相关的是算法构建的思路,即模型架构与具体业务问题的结合,这是能否提供突破性算法服务的关键点。这种结合具体问题的精细化建模,是算法正在走向的未来。
从更广泛的行业视角来看这个问题,算法技术其实是一门通用技术和工具。随着各行各业的人了解其内核,会发现它有着广泛的应用价值和应用可能,并且已经深入到了很多个产业领域的日常服务中。
记得 2012 年,我在英国剑桥大学与生物学蛋白质领域的研究者们讨论人工智能算法。当时,人工智能技术和概念其实并不普及,在深入的讨论后,有的学者对通过用算法技术辅助生物学产生了浓厚的兴趣。终于在去年(2021 年), 我惊喜地看到 Nature 和 Science 等顶级期刊报导了相关进展,人工智能技术在蛋白质结构研究上取得了突破发挥作用。
像这样的拓展和应用,还在不断发生。算法技术不是万能的,但是当我们了解它,不抱着不切实的幻想去要求它,正确地使用发挥其作用,并且不断研究、不断突破,我们终将获益匪浅。