关于美团:外卖商品的标准化建设与应用

18次阅读

共计 6581 个字符,预计需要花费 17 分钟才能阅读完成。

外卖菜品命名个性化水平高,为经营剖析、召回排序、后盾治理等业务带来肯定的艰难。本文系外卖美食常识图谱系列的第二篇文章,介绍了外卖从零到一建设菜品标准化体系的过程及计划,波及的次要技术包含 NLP 畛域的实体抽取、文本匹配、关系分类,以及 CV 畛域的图像匹配等。最初,通过规范名在外卖业务中的利用实际,验证了规范名体系建设的价值和意义。

1. 背景及指标

商品作为外卖交易过程中的外围因素,决定了供需匹配的精准度,间接影响交易行为是否能够达成。外卖平台美食、甜点、饮品类在线商品有亿级之多,其中很多是属性信息统一的雷同商品。建设对商品的标准化形容、聚合雷同商品,是很多业务场景的诉求。

供销剖析场景:想剖析一下望京的商家都售卖哪些菜品,有多少商家卖“西红柿炒鸡蛋”?

遇到的问题:因为菜品是非标品,并且商家对菜品命名的个性化水平也较高,因而在外卖平台,同一个菜品名呈现不同的命名形式;例如“西红柿炒鸡蛋”有西红柿炒蛋、小番茄炒蛋、西红柿鸡蛋、京城三绝~ 番茄炒蛋【正价小份菜】等,没有方法简略通过关键字进行聚合。

主题举荐场景:想出一个菜品粒度的主题,疾速筛选“小龙虾”、“烤鱼”、“鸡公煲”、“黄焖鸡”等热门菜品?

遇到的问题:商品分类的颗粒度不够精密,无奈疾速找到适宜颗粒度的菜品。

商家上单场景:像“鱼香肉丝”这样广泛的菜品,每个商家上单都须要录入食材、口味、做法、菜系、荤素等标签,录入老本较高,能不能像淘宝一样,抉择“iPhone 12”,它的属性就可能主动关联。

遇到的问题:没有将菜品的属性标准化,菜品和属性之间没有关联关系。

基于上述业务利用的痛点,启动外卖商品的标准化建设。指标是建设商品的标准化名称,实现对雷同商品的聚合,从而为业务提供正当粒度的概念划分,赋能经营端供销剖析、用户端个性化召回排序、商家端标签生产。

2. 业界调研

对于业界的参考,次要参考淘宝标准化 SPU 建设。SPU 在淘宝体系中决定了商品是什么,是商品信息聚合的最小单位,由要害属性 + 绑定属性来形成。

  • 要害属性:用来束缚和定义一个商品的,比方 iPhone X,决定他的就是“苹果”这个品牌和“X”这个系列。
  • 绑定属性:是要害属性的补充和细化,比方当 iPhone X 曾经明确了这个产品后,其余的属性也确定,比方网络模型,屏幕尺寸等,进一步补充这些属性内容,逐渐明确了一个产品。

可见淘宝对于 SPU 的建设,实际上是对属性的建设,例如格力空调 S1240,通过“格力”品牌、“空调”类目、“S1240”型号来标准化、惟一化。

但对于餐饮行业,对于外围属性食材“牛肉”、做法“炒”、口味“辣”,都无奈确定是什么菜,更谈不上惟一化;但如果通过“小炒黄牛肉”来标准化,行业 / 用户对其有广泛的认知,较固定的食材口味做法,适宜用来进行标准化。因而淘宝是标准化属性,而餐饮是标准化菜品名称,所以咱们称之为规范菜品名。

3. 问题剖析及挑战

淘宝的标准化次要针对标品,而餐饮标准化都是针对非标品,难度较大,面临着个性化问题、录入不标准、粒度无行业标准、认知局限性等挑战。

3.1 个性化问题

餐饮商家能够较低成本的自定义生产,个性化程度较高,同一个菜品在不同商家的命名可能不同,须要大量的同义词聚合,而同义词的召回是最大的难点(如何将潜在的同义词开掘进去进行标注)。例如,京城三绝 - 番茄炒蛋【正价小份菜】、西红柿炒蛋(小份)、小番茄炒蛋、西红柿炒土鸡蛋(小份),都示意“西红柿炒蛋”这个商品。

3.2 录入不标准

商家在录入商品名称时,存在缺失要害信息的问题,例如“缤纷水果”是水果拼盘、饮品还是披萨,“韭菜鸡蛋”是包子还是饺子。除商品名称外,须要借助商家分类,商品左侧栏 tag 等相干信息,对名称进行推理和补全。

3.3 粒度无行业标准

在进行标准化解决时,没有对立的规范,粒度难以把控:过粗容易产生非菜品谬误(例如:“香辣鸡腿”->“鸡腿”),过细则规范名内聚性偏弱(例如:“传统黄焖鸡【大碗】”自身粒度过细,须要提炼到“黄焖鸡”)。

3.4 认知局限性

中华美食文化博大精深,对于一些不为公众所熟知的小众或者中央特色菜品,须要具备肯定的业余背景常识,例如“炒鸡”也是一个规范的名称,还并非商家没有填写残缺。

4. 计划

商品标准化的整体计划如图所示:首先,基于美食、甜点饮品类商家全量在线的亿级商品,通过名称荡涤、置信度判断、人工测验,取得近菜名骨干;通过同义词开掘,对骨干名进一步聚合压缩,映射到规范名主词上;对于单个商品,进行名称纠错、荡涤,通过模型匹配,建设商品 - 规范名的映射;为了满足不同业务场景的聚合粒度要求,通过上下级关系开掘、深度遍历,进一步构建规范名层级树。别离对名称聚合、匹配映射、层级构建三个模块,波及的算法模型进行介绍。

4.1 名称聚合

荡涤后的骨干名依然存在很多同义说法,比方土豆烧牛肉、牛肉烧土豆、洋芋烧牛肉、小土豆烧牛肉,示意雷同的商品。指标通过开掘这种潜在的同义关系,进一步晋升名称的内聚性。在迭代过程中,先后采纳了规定匹配和语义匹配的办法,开掘潜在同义词;聚合后,依据风行度判断其中的主词,并将原始骨干词映射至规范名主词上。别离对两种同义词开掘办法介绍如下。

4.1.1 规定匹配

一期首先采纳了规定匹配的办法,利用 NER 模型对骨干名进行成份辨认,联合常识图谱构建的属性同义词表,判断两个骨干名是否是同义关系。

如图所示,其中“牛肉烧土豆”通过名称解析失去牛肉 - 食材,烧 - 做法,土豆 - 食材;“洋芋烧牛肉”通过名称解析失去洋芋 - 食材,烧 - 做法,牛肉 - 食材。比照两个骨干名的成份词,其中土豆和洋芋是一对同义词,其余成份雷同,进而取得二者之间是同义关系。

通过这种形式,开掘了十万级同义词。依据规范名笼罩的商品供应数计算风行度值,将更风行度高的作为主词;人工校验后补充到规范名体系,晋升了名称的聚合度。

4.1.2 语意匹配

因为规定匹配开掘到的同义词无限,比方“担担面”和“担担汤面”,依据 NER 模型,担担面和汤面都会被辨认成类目。如此,两个骨干名是无奈建设同义关系的。

咱们二期调研了一些匹配模型,借鉴搜索算法组的教训,采纳 BERT+DSSM 的语义匹配模型进行同义关系的扩笼罩。如图所示,首先基于一期积攒的同义词,通过组内生成正例、跨组穿插生成负例的形式,结构百万级样本,训练了一版根底模型;为了进一步优化模型性能,通过被动学习和数据加强两种形式,对样本数据进行了迭代。

被动学习的形式是先利用根底模型,圈定一批待标注的类似样本,交与外包标注,将标注正确的样本补充至已有同义词中,标注谬误的样本作为负例退出训练集,用于模型的优化迭代。通过被动学习的形式,补充了万级样本,模型准确率获得了显著晋升。

进一步剖析后果,咱们发现了一批很有特点的 Bad Case,比方红烧狮子头和红烧狮子头盖饭、香椿拌豆腐和拌豆腐等,它们都属于字面类似度很高,但外围成份不同的匹配谬误。基于这个特点,先依据字面间隔圈定了一批字面类似度高的样本,再利用名称解析模型对它们进行成份辨认,找出其中的负例。通过这种形式,在不减少标注老本的状况下,主动补充了十万级样本,进一步晋升了模型准确率。

利用语义匹配模型,新增了十万级同义词,进一步晋升了规范名的内聚性。

4.2 匹配映射

在开掘到的规范名词表和同义词根底上,为亿级在线商品建设“商品 - 规范名”映射(如“招牌蛋炒小番茄(大份)”映射到“西红柿炒鸡蛋”),以实现对雷同商品的标准化形容与聚合。采纳“文本 + 图像”相结合的匹配模型,笼罩了绝大部分的美食、甜点饮品类商家的在线商品。

4.2.1 文本匹配

文本匹配流程如图 4 所示,整体上包含召回、排序两个阶段。首先,对商品名称中的规格、重量等形容信息进行荡涤,将荡涤后的商品名和规范名进行 2 -Gram 切片,通过关联雷同切片的形式召回待匹配的规范名;基于召回的规范名,通过计算 Jaccard 间隔,保留其中 Top 20 的规范名;在此基础上,利用 BERT 向量化模型,生成商品名和规范名的向量示意,通过计算 Jaccard 字面间隔以及 Cosine 向量类似度,获取其中综合得分最高的规范名。

其中,BERT 向量化模型是基于上文提到的同义语义匹配模型,通过级联一维类型编码的形式,对规范名和商品名加以辨别,革新成非对称的规范名匹配模型。之所以进行这一革新,是因为与同义匹配不同,规范名匹配是非对称的,如应该将“香锅盔”匹配上绝对形象的规范名“锅盔”,而不是匹配上一个更加具体的规范名“五香锅盔”。革新后,匹配准确率晋升显著。

4.2.2 图像匹配

因为菜品名称长度无限及商家命名不标准,会导致仅从菜品名称中获取的信息无限,而无奈建设到规范名的匹配。通过引入商品图片信息,晋升对文本信息不全商品的匹配精确和笼罩。

图像匹配采纳的是多分类模型,依据规范名层级聚合(详见 3 层级构建)后的顶级、二级,抉择待匹配的规范名标签,并依据文本匹配后果结构样本集。因为采纳大规模非人工标注样本,不可避免地要解决样本噪声问题。在本场景下,噪声次要有两个次要起源:一是文本信息不全,导致样本标签谬误;二是因为顶级、二级聚合水平高,导致分类粒度过粗,须要细分多个标签。针对这些问题,采纳样本和模型迭代优化的形式,依据根底样本集训练初版模型,利用模型开掘噪声数据,人工校验后进行模型微调。如此迭代,实现低标注老本的模型优化。

图像分类模型选取了对 MBConv 模块的参数进行精细化调整的 Basebone 网络 Efficientnet,通过调整网络的分辨率、深度、宽度,确定最优组合。噪声开掘办法首先通过 Metric-Learn 的办法,学习取得每个类别的聚类核心,及类内样本与聚类核心间隔的均值、方差、中位数,对其进行排序挖掘出类内离散度较大的类别;再借助分类模型在验证集上的预测、O2U-Net 和 Forgetting Event 开掘样本噪声。通过上述办法优化模型,晋升对噪声样本的鲁棒性。

4.3 层级构建

举荐场景下,为了保障用户的个性化和多样性体验,须要对商品进行正当粒度的聚合。对于商品列表排序场景,现有的类目过粗会导致多样性有余,规范名过细又会导致后果反复。指标是建设一个层级化商品体系,为业务提供正当的聚合粒度。通过关系开掘、层级遍历,结构万级顶点的层级树,反对了商品列表、美食排行榜、交互式举荐等业务的上线和优化。构建办法包含规定匹配和模型判断,别离对这两类办法进行介绍。

4.3.1 规定匹配

规定匹配办法是基于已有的 NER 模型和属性词表,通过结构化匹配的办法,开掘到十万级上下级关系,进一步遍历生成万级顶点的规范名层级树。这种办法比较简单且基于已有工作,开发周期短,在我的项目初期疾速反对上线,并获得了显著的业务收益。

4.3.2 模型判断

规定匹配办法因为 NER 模型谬误和属性词关系短少,导致开掘到的关系无限,须要通过判断模型进一步晋升泛化性。基于 BERT 的关系分类模型如图 8 所示,看待分类一对规范名用 [SEP] 进行拼接,并在结尾减少 [CLS] 标识符;将拼接后果编码后,传入 BERT 模型,取出 [CLS] 位的 Embedding;再接一个全联接层和 Softmax 层,输入关系分类后果。规范名关系包含:同义、下级、上级、无关系,一共四个类别。

样本数据包含简略例和难例两局部,其中:简略例基于已有同义词、上下级,以及同义词组间穿插生成无关系,一共结构百万级样本;在此基础上,进一步利用已有的向量化模型,召回类似度较高的规范名对,交与外包标注其类别。第二类样本更加贴近理论分类场景,且属于混同度较高的分类难例。

利用第一类样本预训练初版模型,并在此基础上,利用第二类样本对模型进行微调,进一步晋升了分类模型准确率。经人工校验,进一步补充了万级词关系。

5. 在外卖业务中的利用

规范名作为品类和商品的中间层,为业务提供了更加丰盛、正当的聚合粒度,反对了流量转化的策略优化,以及系列产品状态的开发上线。商品列表通过接入规范名层级,实现对商品正当粒度的聚合,解决了线上商品反复的问题;规范名作为根底数据,反对了美食排行榜的开发和上线,帮忙晋升用户的决策效率;针对用户以后拜访的商品,利用规范名召回相干商品,实现交互式举荐。规范名作为重要的根底数据,反对了产品状态多元化、举荐策略优化,对于晋升用户粘性、流量转化,搭建商家用户敌对的平台生态,具备重要的价值和意义。

6. 总结与瞻望

目前已实现根本的体系建设,并胜利利用于不同的场景、获得业务收益。曾经建成的规范名层级体系,笼罩了外卖绝大多数的在线商品。规范名作为根底和特色数据,利用到用户端的商品列表、美食排行榜等业务场景,反对策略优化、带来流量收益;同时,也通过服务接口的模式,跨部门反对 SaaS 点餐举荐的模型优化,以晋升用户体验和业务收益。

规范名作为重要的商品特色数据,利用的业务场景宽泛。在将来的工作中,须要继续迭代优化,保障规范名本身的准确性和品质;同时加深业务了解,依据业务须要优化层级体系,为业务提供更加正当的聚合粒度,晋升转化收益;此外,重点建设一批用户感知强、供应笼罩高的规范名,升高业务方的接入老本和进步收益。

6.1 词表及同义词优化

规范名词表体量大、同义关系简单,词表建设不是欲速不达的,须要长期的迭代和优化。针对规范名词表中存在的非菜品、不标准等谬误,以及同义词聚合有余、适度的问题,采纳算法圈定 + 人工标注的形式,通过模型开掘潜在同义词、圈定问题词组;人工校验后,进行批量补充和批改,继续优化词表、同义词。

6.2 层级构造合理化

目前规范名层级是通过规定和模型的形式间接生成的,人工参与度较低,与业务场景的联合不够深刻。后续会联合业务须要,明确剪枝、聚合粒度准则,合理化层级构造,优化层级的合理性。从而更加灵便、高效地反对不同的业务利用,晋升落地成果。

6.3 外围规范名建设

规范名有 20 万之多,为业务利用造成肯定的抉择老本、带来不便。联合业务须要,圈定其中用户感知强、供应笼罩高、优质的规范名,作为外围规范名进行重点建设。外围规范名轻量且精炼,更加贴近业务须要,能够帮忙业务方升高接入老本、进步收益。

7. 参考文献

  • [1] Devlin J, Chang M W, Lee K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.
  • [2] Lample G, Ballesteros M, Subramanian S, et al. Neural architectures for named entity recognition[J]. arXiv preprint arXiv:1603.01360, 2016.
  • [3] Chen Q, Zhu X, Ling Z, et al. Enhanced lstm for natural language inference[J]. arXiv preprint arXiv:1609.06038, 2016.
  • [4] Huang P S, He X, Gao J, et al. Learning deep structured semantic models for web search using clickthrough data[C]//Proceedings of the 22nd ACM international conference on Information & Knowledge Management. 2013: 2333-2338.
  • [5]Tan M , Le Q V . EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks[J]. 2019.

8. 作者简介

刘柳、懋地、崇锦、晓星等,均来自美团外卖技术团队。

浏览美团技术团队更多技术文章合集

前端 | 算法 | 后端 | 数据 | 平安 | 运维 | iOS | Android | 测试

| 在公众号菜单栏对话框回复【2020 年货】、【2019 年货】、【2018 年货】、【2017 年货】等关键词,可查看美团技术团队历年技术文章合集。

| 本文系美团技术团队出品,著作权归属美团。欢送出于分享和交换等非商业目标转载或应用本文内容,敬请注明“内容转载自美团技术团队”。本文未经许可,不得进行商业性转载或者应用。任何商用行为,请发送邮件至 tech@meituan.com 申请受权。

正文完
 0