技术动态 | "美版美团"DoorDash使用大模型自动构建商品知识图谱

 Building DoorDash’s Product Knowledge Graph with Large Language Models

DoorDash的零售目录是一份集中的数据集,包含新纵向商户销售的所有产品的基本产品信息 - 运营除餐厅以外业务的商户,如杂货店、便利店或酒类店。在零售目录中,每个SKU(库存保持单位)由一组产品属性表示。图1显示了一个SKU示例以及其在零售目录中存储的一些属性。

a1089007402bc0c2b88b9e74c8962026.png
图1:零售目录中一个SKU示例及其部分属性

对于每个SKU拥有高质量、完整和准确的产品属性是一流购物体验的关键部分,提供:

  • 更好的选择和满足—客户可以在DoorDash上轻松找到商品,确信他们订购的东西与他们想要的相符。服务的送餐员Dashers拥有全面的信息,以找到商店中的正确产品。

  • 更好的个性化。

    产品属性使DoorDash能够根据共同之处将产品分组,为每位客户创建产品配置文件,围绕他们对某些属性的喜好。这些是为提供高度相关和个性化的购物推荐而构建的基石。

当商家加入DoorDash时,我们会将他们的内部SKU数据(原始商家数据)添加到我们的零售目录中。来自不同商家的SKU数据以不同的格式和质量提供;例如,它们可能缺少或存在不正确的属性值。为了确保我们目录的质量不会下降,我们会对原始商家数据进行标准化和丰富化处理。历史上,这种SKU丰富化的提取和标记属性的工作是由合同操作员进行的纯手动过程。但是外包这项任务会导致长时间的周转时间、高昂的成本以及如此之多的不准确性,以至于第二个人必须审核第一个人生成的结果。随着我们目录的扩展,我们寻求由机器学习驱动的新方法来自动丰富SKU数据。

从非结构化数据中提取属性-值信息在形式上被称为实体识别;最近的方法模拟这种提取任务作为令牌分类。例如,给定商品名称“多芬丝润沐浴露 500毫升”,一个令牌分类器会像表1中所示标记商品名称中的每个实体。

b496b00cda10e22dcc9c664f44130c92.png
表1:将项目名称令牌分类为产品属性

构建属性提取模型

从头开始构建内部属性提取/标记模型需要大量标记的训练数据,以达到所需的精确度。这通常被称为自然语言处理(或NLP)的冷启动问题。数据收集减慢了模型的发展,延迟向活动目录添加新项目,并增加了运营成本。

使用LLM来规避冷启动问题

大型语言模型,或LLM,是在大量数据上训练的深度学习模型。示例包括OpenAI的GPT-4,Google的Bard和Meta的Llama。由于它们广泛的知识,LLM可以在不需要太多甚至没有标记示例的情况下以合理的准确性执行自然语言处理。可以使用各种提示来指导LLM解决不同的自然语言处理问题。

我们将在这里重点介绍如何使用LLM从非结构化SKU数据中提取产品属性,从而让我们构建一个能为所有新垂直领域的用户提供最佳体验的高质量零售目录。在接下来的几节中,我们描述了三个项目,我们在这些项目中使用LLM构建了用于属性提取的机器学习产品。

品牌提取

品牌是用来区分一家公司的产品与其他所有产品的关键产品属性。在DoorDash,一个分层知识图定义了一个品牌,包括制造商、母品牌和子品牌等实体,如图2所示。

23e30eef5208a21dbb10933c34be8be1.png
图2:品牌分类法将品牌划分为制造商、母品牌和子品牌等实体。

准确的品牌标记提供了许多下游好处,包括增加赞助广告的覆盖范围和产品亲和性的细分。由于现实世界中品牌的数量在技术上是无限的,DoorDash 的品牌分类体系永远都不会完整。随着产品范围的扩大,必须摄入新的品牌来填补任何覆盖范围的空白。以前,品牌摄入是一种被动的、纯手工的过程,以满足业务需求。这限制了可以添加的新品牌数量,经常无法解决大部分覆盖范围的问题,并导致重复的品牌,使得难以管理分类系统。

为此,我们构建了一个由 LLM 驱动的品牌提取管道,可以主动地大规模识别新品牌,从而在品牌摄入过程中提高效率和准确性。图 3 显示了我们的端到端品牌摄入管道,遵循以下步骤:

  1. 将非结构化产品描述传递给我们的内部品牌分类器;

  2. 无法确定可信地标记到现有品牌之一的 SKU 被传递给一个 LLM 进行品牌提取;

  3. 提取的输出被传递给第二个 LLM,从内部知识图中检索类似品牌和示例物品名称,以决定提取的品牌是否是一个重复实体;

  4. 新品牌进入我们的知识图谱,并且内部分类器使用新的注释进行重新训练。

ba5c44e2aaa95aeeac3a30507542a67d.png
图 3:LLM 驱动的品牌摄入管道

有机产品标签

消费者在选购商品时关注饮食属性,如果产品符合其个人偏好,则更可能选择购买。去年,我们建立了一个模型,对所有有机食品进行了标记。最终目标是实现个性化发现体验,例如向那些过去订单显示对有机产品有强烈偏好的消费者展示“新鲜有机”走廊。

端到端管道采用瀑布式方法,利用现有数据(如果适用)来提高速度、准确性和覆盖范围。这个过程大致可以分为三个部分:

  • 字符串匹配:我们在产品标题中找到关键字“有机”的确切提及。这种方法提供了最高的精度和体面的覆盖范围,但错过了“有机”拼写错误/省略或在数据中呈现略有不同的情况。 

  • LLM推理:我们利用LLM来确定产品是否是有机的,基于可用的产品信息。这些信息可以直接来自商家,也可以通过光学字符识别从包装照片中提取。这种方法通过解决“字符串匹配”所面临的主要挑战,提高了覆盖范围,精度优于人类。 

  • LLM代理:LLMs进行产品信息的在线搜索,并将搜索结果传输给另一个LLM进行推理。这种方法进一步提升了我们的覆盖范围。

图4显示了使用LLM驱动的流水线,用于给我们的目录SKU打上有机标签。

28ecde5260a9a600b1ea871735762932.png
图4: 大模型驱动的自动标签

通过利用LLM和代理,我们克服了数据不足的挑战,并通过搜索和推理使用外部数据来回答推论性问题。提高有机标签的覆盖范围使我们能够推出目标客户拥有强烈有机亲和力的项目旋转木马,从而改善了我们的顶部参与度指标。

广义属性提取

实体解析是确定两个 SKU 是否指代同一基础产品的过程。例如,Safeway 销售的“Corona Extra Mexican Lager (12 盎司 x 12 瓶)”与 BevMo! 销售的“Corona Extra Mexican Lager Beer Bottles, 12 pk, 12 盎司”是相同的产品。我们需要准确的实体解析来构建一个全球目录,从而改变客户购物方式,同时解锁赞助广告。

be4a6e91a679e405cd5edadadf5c5697.png
图5: 实体解析是赞助广告的支柱。

确定两个SKU是否指的是同一种基础产品是一个具有挑战性的问题。这需要验证两个SKU是否完全匹配所有属性,这意味着首先必须准确提取所有适用属性。不同类别的产品由不同的一组独特定义属性来描述。例如,酒类产品通过属性如年份、陈化和口味来唯一定义。从有限的人为生成的注释开始,我们使用LLM构建了一个通用属性提取模型。

我们使用LLM和检索增强生成(RAG)来加速标签注释。对于每个未注释的SKU,我们首先利用OpenAI嵌入和近似最近邻技术,从我们的黄金注释集中检索最相似的SKU。我们将这些黄金注释示例传递给GPT-4作为上下文示例,以为未注释的SKU生成标签。基于嵌入相似性选择示例优于随机选择,因为所选示例更有可能与分配的任务相关,并减少了致幻效应。最终,生成的注释用于对LLM进行微调,以进行更具可扩展性的推理。

这种方法使我们能够在一周内生成注释,否则可能需要数月时间来收集,这使我们能够专注于实际模型开发以减轻我们的风险目标。

后续的影响

属性提取不仅让我们更好地展现目录中的每个产品,还让后续的机器学习模型更加强大,从而提升客户的购物体验。品牌和有机标签等属性是我们个性化排名模型中的重要特征,这些模型推荐反映消费者独特需求和偏好的商品。而产品类别和尺寸等属性使我们在原商品缺货时能推荐更相关的替代品,从而为客户提供顺畅的体验。

未来展望

到目前为止,我们大多数的属性提取模型都是建立在基于文本的输入之上的。然而,这种方法面临的挑战之一是书面产品描述中存在抽象和缩写词。幸运的是,各商家的产品图片质量差异较小。我们正在积极探索能够同时处理文本和图片的多模态LLMs的最新进展;目前,我们正在通过可视问答和聊天+OCR来实验多模态属性提取。我们的工程团队也正在构建基础技术和基础设施,以允许送餐员拍摄产品照片,这样我们就可以直接在店内物品上进行属性提取。

随着我们发现LLMs可以应用的更多领域,我们还与我们的ML平台团队合作,通过一个中心化的模型平台来使其在DoorDash全面普及,任何人都可以轻松地提示工程化、微调和部署LLMs。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

9db14eb99a25d03da21c88dfa7de57cc.png

点击阅读原文,进入 OpenKG 网站。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值