本文摘选自美团技术 美团商品知识图谱的构建及应用。如有侵权,请私信联系删除。
原文链接 美团商品知识图谱的构建及应用
背景
美团大脑
近年来,人工智能正在快速地改变人们的生活,背后其实有两大技术驱动力:深度学习和知识图谱。
- 深度学习
优点:将深度学习归纳为隐性的模型,它通常是面向某一个具体任务,在很多任务上它能够取得很优秀的结果
缺点:需要海量的训练数据,以及强大的计算能力,难以进行跨任务的迁移,并且不具有较好的可解释性 - 知识图谱
能够广泛地适用于不同的任务。相比深度学习,知识图谱中的知识可以沉淀,具有较强的可解释性,与人类的思考更加贴近,为隐式的深度模型补充了人类的知识积累。
商品知识图谱建设目标
针对美团零售业务的特点,制定了多层级、多维度、跨业务的零售商品知识图谱体系:
多层级
在零售商品知识图谱中,建立了五层的层级体系:
- L1-商品SKU/SPU
对应业务中所售卖的商品颗粒度,是用户交易的对象,往往为商户下挂的商品,例如“望京家乐福所售卖的蒙牛低脂高钙牛奶250ml盒装” - L2-标准商品
描述商品本身客观事实的颗粒度,无论通过什么渠道在什么商户购买,商品本身并没有任何区别。商品条形码则是在标准商品这层的客观依据。同一个标准商品都会具有同样的品牌、口味、包装等属性。 - L3-抽象商品
L3-抽象商品:进一步将标准商品向上抽象的商品系列,例如“蒙牛低脂高钙牛奶”。在这一层级中,不再关注商品具体的包装、规格等,将同系列的商品聚合为抽象商品,承载了用户对于商品的主观认知,包括用户对商品系列的别名俗称、品牌认知、主观评价等。 - L4-主体品类
描述商品主体的本质品类,列如“鸡蛋”、“奶油草莓”、“台式烤肠”等。这一层作为商品图谱的后台类目体系,以客观的方式对商品领域的品类进行建模,承载了用户对于商品的需求,例如各品牌各产地的鸡蛋都能够满足用户对于鸡蛋这个品类的需求。 - L5-业务类目
相比于主体品类的后台类目体系,业务类目作为前台类目体系会依据业务当前的发展阶段进行人工定义和调整,各个业务会根据当前业务阶段的特点和需求建立对应的前台类目体系。
多维度
- 商品属性维度
围绕商品本身,我们需要有海量的属性维度来对商品进行描述。商品属性维度主要分为两类:一类是通用的属性维度,包括品牌、规格、包装、产地等;另一类是品类特有的属性维度,例如对于牛奶品类我们会关注脂肪含量(全脂/低脂/脱脂牛奶)、存储方式(常温奶、冷藏奶)等。商品属性主要是刻画了商品的客观知识,往往会建立在标准商品这一层级上。 - 用户认知视角
除了客观的商品属性维度以外,用户往往对于商品会有一系列的主观认知,例如商品的别名俗称(“小黑瓶”、“快乐水”)、对于商品的评价(“香甜可口”、“入口即化”、“性价比高”)、商品的清单/榜单(“进口食品榜单”、“夏季消暑常备”)等维度。这些主观认知往往会建立在抽象商品这一层级上。 - 品类/类目视角
从品类/类目的视角来看,不同品类/类目也会有各自不同的关注点。在这一层级上,我们会建模各个品类/类目下有哪些典型的品牌、用户关注哪些典型属性、不同品类的复购周期是多长时间等。
跨业务
在商品图谱的五层体系中,标准商品、抽象商品、品类体系都是与业务解耦的,围绕着客观商品所建立的,包括围绕这些层级建立的各维度数据也均是刻画了商品领域的客观知识
在应用于各个业务当中时,我们将客观的图谱知识向上关联至业务前台类目,向下关联至业务商品SPU/SKU,则可以完成各个业务数据的接入,实现各个业务数据和客观知识之间的联通,提供更加全面的跨业务的全景数据视角。
商品图谱建设的挑战
- 信息来源质量低
- 商品本身所具有的信息比较匮乏,往往以标题和图片为主;
- 商品信息的录入存在很多信息不完整的情况;
- 在标题和图片之外,商品详情虽然也蕴含着大量的知识信息,但是其质量往往参差不齐,并且结构各异,从中进行知识挖掘难度极高
- 数据维度多
在商品领域有众多的数据维度需要进行建设。
以商品属性部分为例,我们不仅需要建设通用属性,诸如品牌、规格、包装、口味等维度,同时还要覆盖各个品类/类目下特定关注的属性维度,诸如脂肪含量、是否含糖、电池容量等,整体会涉及到上百维的属性维度。
因此,数据建设的效率问题也是一大挑战。 - 依赖常识/专业知识
人们在日常生活中因为有很丰富的常识知识积累,可以通过很简短的描述获取其背后隐藏的商品信息。
因此需要探索结合常识知识的语义理解方法。同时,在医药、个护等领域中,图谱的建设需要依赖较强的专业知识。
商品图谱建设
层级体系建设
品类体系建设
本质品类描述了商品本质所属的最细类别,它聚合了一类商品,承载了用户最终的消费需求,如“高钙牛奶”、“牛肉干”等。
本质品类与类目是有一定的区别,类目是若干品类的集合,它是抽象后的品类概念,不能够明确到具体的某类商品品类上,如“乳制品”、“水果”等
品类打标
对商品图谱的构建来说,关键的一步便是建立起商品和品类之间的关联,即对商品打上品类标签。
- 品类词表构建
- 对美团的各个电商业务的商品库、搜索日志、商户标签等数据源进行分词、NER、新词发现等操作,获得初步的商品候选词
- 通过标注少量的样本进行二分类模型的训练(判断一个词是否是品类)
- 结合主动学习的方法,从预测的结果中挑选出难以区分的样本,进行再次标注,继续迭代模型,直到模型收敛
- 品类打标
- 对商品标题进行命名实体识别
- 上一步中的品类词表来获取商品中的候选品类
- 利用监督数据训练品类打标的二分类模型,输入商品的SPU_ID和候选品类TAG构成的Pair,即,对它进行是否匹配的预测。
-
品类标签后处理
对模型打上的品类进行后处理的一些策略,如基于图片相关性、结合商品标题命名实体识别结果等的品类清洗策略。
品类体系
品类体系由品类和品类间关系构成。常见的品类关系包括同义词和上下位等。
-
基于规则的品类关系挖掘
在百科等通用语料数据中,有些品类具有固定模式的描述,如“玉米又名苞谷、苞米棒子、玉蜀黍、珍珠米等”、“榴莲是著名热带水果之一” -
基于分类的品类关系挖掘
类似于上文中提到的品类打标方法,我们将同义词和上下位构建为的样本,通过在商品库、搜索日志、百科数据、UGC中挖掘的统计特征以及基于Sentence-BERT得到的语义特征,使用二分类模型进行品类关系是否成立的判断。 -
基于图的品类关系推理
在获得了初步的同义词、上下位关系之后,我们使用已有的这些关系构建网络,使用GAE、VGAE等方法对网络进行链路预测,从而进行图谱边关系的补全
标准/抽象商品
标准商品是描述商品本身客观事实的颗粒度,和销售渠道和商户无关,而商品条形码是标准商品这层的客观依据。标品关联即将同属于某个商品条形码的业务SKU/SPU,都正确关联到该商品条形码上,从而在标准商品层级上建模相应的客观知识。
目标是补充缺失的链接,将商品关联到正确的标品上
针对标品关联任务,我们构建了商品领域的同义词判别模型:
通过远监督的方式利用商户已经提供的少量有关联的数据,作为已有的知识图谱构造远监督的训练样本。
在模型中,正例是置信度比较高的标品码;负例是原始数据中商品名或者图像类似但不属于同一标品的SPU。
构造准确率比较高的训练样本之后,通过BERT模型进行同义词模型训练。
最后,通过模型自主去噪的方式,使得最终的准确率能够达到99%以上。
总体能做到品牌,规格,包装等维度敏感。
抽象商品
抽象商品是用户认知的层面,作为用户所评论的对象,这一层对用户偏好建模更加有效。
抽象商品层整体的构建方式,和标准商品层比较类似,采用标品关联的模型流程,并在数据构造部分进行规则上的调整。
属性维度建设
对一个商品的全面理解,需要涵盖各个属性维度,需要挖掘它对应的品牌、品类、口味、包装规格、标签、产地以及用户评论特色等属性,才能在商品搜索、推荐等场景中精准触达用户。
商品属性挖掘的源数据主要包含商品标题、商品图片和半结构化数据三个维度。
商品标题解析整体可以建模成文本序列标注的任务。例如,对于商品标题“乐事黄瓜薯片”,目标是理解标题文本序列中各个成分,如乐事对应品牌,黄瓜对应口味,薯片是品类。
商品标题解析存在着三大挑战:
- 上下文信息少
- 依赖常识知识
- 标注数据通常有较多的噪音
解决前两个挑战,首先尝试在模型中引入了图谱信息,主要包含以下三个维度
- 节点信息
将图谱实体作为词典,以Soft-Lexicon方式接入,以此来缓解NER的边界切分错误问题 - 关联信息
- 节点类型信息
如何缓解标注噪音的问题
不再采取原先非0即1的Hard的训练方式,而是采用基于置信度数据的Soft训练方式,然后再通过Bootstrapping的方式迭代交叉验证,然后根据当前的训练集的置信度进行调整。
实验验证,使用Soft训练+Bootstrapping多轮迭代的方式,在噪声比例比较大的数据集上,模型效果得到了明显提升。具体的方法可参见我们在NLPCC 2020比赛中的论文《Iterative Strategy for Named Entity Recognition with Imperfect Annotations》
效率提升
针对每个不同的领域、每个不同的数据维度,我们都需要定制化的去建设任务相关的特征及标注数据。在商品场景下,挖掘的维度众多,因此效率方面的提高也是至关重要的。
首先将知识挖掘任务建模为三类分类任务,包括节点建模、关系建模以及节点关联。在整个模型的训练过程中,最需要进行效率优化的其实就是上述提到的两个步骤:(1)针对任务的特征提取;(2)针对任务的数据标注。
特征提取
摒弃了针对不同挖掘任务做定制化特征挖掘的方式,而是尝试将特征和任务解耦,构建跨任务通用的图谱挖掘特征体系。
构建的图谱特征体系主要由四个类型的特征组构成:
- 规则模板型特征主要是利用人工先验知识,融合规则模型能力。
- 统计分布型特征,可以充分利用各类语料,基于不同语料不同层级维度进行统计。
- 句法分析型特征则是利用NLP领域的模型能力,引入分词、词性、句法等维度特征。
-
嵌入表示型特征,则是利用高阶模型能力,引入BERT等语义理解模型的能力
数据标注
主要从三个角度来提升效率:
- 通过半监督学习,充分的利用未标注的数据进行预训练。
- 通过主动学习技术,选择对于模型来说能够提供最多信息增益的样本进行标注。
- 利用远程监督方法,通过已有的知识构造远监督样本进行模型训练,尽可能的发挥出已有知识的价值。
人机结合-专业图谱建设
相比于普通商品知识图谱的建设,药品领域知识具有以下两个特点:
- 具有极强的专业性,需要有相关背景知识才能判断相应的属性维度,例如药品的适用症状等。
- 准确度要求极高,对于强专业性知识不允许出错,否则更容易导致严重后果。
药品图谱中的知识可以分为弱专业知识和强专业知识两类,弱专业知识即一般人能够较容易获取和理解的知识,例如药品的使用方法、适用人群等;而强专业知识则是需要具有专业背景的人才能够判断的知识,例如药品的主治疾病、适应症状等
由于这两类数据对专家的依赖程度不同,因此我们分别采取不同的挖掘链路:
- 弱专业知识
对于药品图谱的弱专业知识挖掘,我们从说明书、百科知识等数据源中提取出相应的信息,并结合通过专家知识沉淀出来的规则策略,借助通用语义模型从中提取相应的知识,并通过专家的批量抽检,完成数据的建设。 -
强专业知识
对于药品图谱的强专业知识挖掘,为了确保相关知识百分百准确,我们通过模型提取出药品相关属性维度的候选后,将这些候选知识给到专家进行全量质检。在这里,我们主要是通过算法的能力,尽可能减少专业药师在基础数据层面上的精力花费,提高专家从半结构化语料中提取专业知识的效率。
在药品这类专业性强的领域,专业知识的表述和用户习惯往往存在差异,因此我们除了挖掘强弱专业知识外,还需要填补专业知识和用户之间的差异,才能将药品图谱更好的与下游应用结合。为此,我们从用户行为日志以及领域日常对话等数据源中,挖掘了疾病、症状和功效的别名数据,以及药品通用名的俗称数据,来打通用户习惯和专业表述之间的通路。
商品图谱的落地应用
结构化找回
商品图谱的数据,对于商品的理解很有帮助。例如,在商品搜索中,如用户在搜索头疼腰疼时,通过结构化的知识图谱,才能知道什么药品是有止疼功效的;用户在搜索可爱多草莓、黄瓜薯片时,需要依赖图谱的常识知识来理解用户真正需求是冰淇淋和薯片,而不是草莓和黄瓜
排序模型泛化性
图谱的类目信息、品类信息、属性信息,一方面可以作为比较强有力的相关性的判断方法和干预手段,另一方面可以提供不同粗细粒度的商品聚合能力,作为泛化性特征提供到排序模型,能有效地提升排序模型的泛化能力,对于用户行为尤为稀疏的商品领域来说则具有着更高的价值。
具体的特征使用方式则包括:
- 通过各颗粒度进行商品聚合,以ID化特征接入排序模型。
- 在各颗粒度聚合后进行统计特征的建设
-
通过图嵌入表示的方式,将商品的高维向量表示和排序模型结合。
多模态图谱嵌入
传统的图谱嵌入的工作往往忽视了知识图谱中的多模态信息,例如商品领域中我们有商品的图片、商品的标题、商家的介绍等非简单的图谱节点型的知识,这些信息的引入也可以进一步提升图谱嵌入对推荐/排序的信息增益
现有的图谱嵌入方法在应用到多模态图谱表征的时候会存在一些问题,因为在多模态场景下,图谱中边的含义不再是单纯的语义推理关系,而是存在多模态的信息补充的关系,因此我们也针对多模态图谱的特点,提出了MKG Entity Encoder和MKG Attention Layer来更好的建模多模态知识图谱,并将其表征有效的接入至推荐/排序模型中,具体方法可以参考我们在CIKM 2020发表了的论文《Multi-Modal Knowledge Graphs for Recommender Systems》
用户/商家端优化
用户端
商品图谱在用户端提供显式化的可解释性信息,辅助用户进行决策。具体的呈现形式包括筛选项、特色标签、榜单、推荐理由等。
- 筛选项
筛选项的维度受当前查询词对应品类下用户关注的属性类别决定,例如,当用户搜索查询词为薯片时,用户通常关注的是它的口味、包装、净含量等 - 特色标签
商品的特色标签则来源于标题、商品详情页信息与评论数据的提取,以简洁明了的结构化数据展示商品特色 - 推荐理由
商品的推荐理由通过评论抽取与文本生成两种渠道获得,与查询词联动,以用户视角给出商品值得买的原因 - 榜单数据
榜单数据则更为客观,以销量等真实数据,反应商品品质
商家端
商品图谱则提供了基于商品标题的实时预测能力,帮助商家进行类目的挂载、属性信息的完善。
例如,商家填写标题“德国进口德亚脱脂纯牛奶12盒”后,商品图谱提供的在线类目预测服务可将其挂载到“食品饮料-乳制品-纯牛奶”类目,并通过实体识别服务,得到商品的“产地-德国”,“是否进口-进口”,“品牌-德亚”,“脂肪含量-脱脂”,“规格-12盒”的属性信息,预测完成后,由商家确认发布,降低商家对商品信息的维护成本,并提升发布商品的信息质量