闲鱼SPU体系构建的背后

简介: SPU——结构化的利器+闲鱼商品的翻译官~

作者:闲鱼技术——迎墨

引言

在电商体系中,有一个比较重要的概念,就是关于商品系统的SPU和SKU,这个概念直接决定了商品在系统中的储存结构。SPU用最短最标准的语言表达一个通用的商品,在跨领域跨渠道传输上,扮演着中间桥梁的角色,真正使商品货卖全球、线上线下融为一体。今天我们来介绍一下闲鱼的SPU体系。

SPU概述

SPU在电商系统中传达着商品的关键信息。它是商品信息聚合的最小单位。介绍SPU体系之前,简单介绍下类目体系中最重要的一种类目特征划分:关键属性、销售属性、商品属性、绑定属性。

  • 关键属性:之所以称之为关键属性,是因为他是用来约束和定义一个产品,用来确定一款唯一的产品(SPU)。比如手机类目的关键属性是品牌,“品牌:Apple/苹果;型号:iPhone5S”可以唯一确定一款产品。
  • 销售属性:销售属性是能决定发生买卖行为的属性。简单理解为下单前弹层页的选项,比如iPhone5S手机,选择了白色+32G才能产生一个订单。
  • 商品属性:商品属性是对商品的更详细的补充说明。比如手机是否保修、成色等。
  • 绑定属性:绑定属性是关键属性的补充和细化,比如,品牌:Apple/苹果;型号:iPhone11”+紫色+256G确定了其屏幕尺寸就是6.1英寸的。

我们的主角SPU模型,在阿里体系中,通常被定义为:关键属性+绑定属性+普通属性。

阿里SPU现状与闲鱼SPU

那么作为电商巨头的阿里,当下的SPU体系是什么现状呢?SPU体系发展至今,已经相当成熟,为阿里商品体系带来巨大的价值。在这个发展过程中,不同的平台和业务类型,围绕SPU衍生出很多优秀的模型。既然阿里SPU体系已经十分成熟,为什么闲鱼不使用现有淘系的SPU系统,要重新搭建一套体系呢?淘系的SPU系统经过多方共建已经可以达到新发商品实时落库,俨然成为庞大的数据体系,但结合闲鱼业务侧的诉求,我们面临的问题有:

  1. 淘系SPU由于共建等历史原因,多方数据杂揉,经层层清洗后,仍有90%以上数据不可用。
  2. 闲鱼有特有的卡券、租房等业务,搭建有自己成熟的类目管理体系、属性管理系统和类目预测等多套体系,我们希望商品更贴合我们的业务。因此,维护一套自有SPU体系是十分必要的。
  3. 闲鱼业务需要配合服务商挂载,提供多份数据(如:LV、路易威登)显得不科学不严谨,且不满足业务后续校验和服务开启流程。
  4. 闲鱼SPU希望通过属性组合来唯一定义一款产品,更规范、更官方、更标准的支持多个业务场景。
  5. 闲鱼希望可以介入运营,管理SPU数据。

SPU数据链路建设

闲鱼SPU体系搭建要求和需要解决的问题主要集中在以下几点:

  1. 闲鱼SPU与结构化体系打通,核心大类与淘系SPU兼容。
  2. 特有业务可以由业务方同学自定义SPU属性。
  3. 闲鱼SPU关键属性要求同概念产品全表唯一,属性值使用国际标准命名,支持别名。
  4. 支持业务方横向扩展,包括验货标、搜索发布标、验货项等个扩展信息。
  5. 提供运营介入的可视化平台,放开运营维护权限,但需要走标准审批流程。

闲鱼SPU打通结构化,主要依赖的是Tyler类目运营管理平台,通过平台关系维护,可以保证闲鱼->淘宝的一一映射关系,同时,SPU底层数据存储与闲鱼结构化数据保持一致,使用同一套属性系统。
闲鱼SPU数据体系采用标准SPU+闲鱼自有SPU双通道构建。标准SPU数据,是指定义比较清晰,不容易存在歧义、业界公认且信息完整的数据,例如手机。这类数据,我们采用离线任务,对淘宝SPU库进行多次清洗,在可接受程度的量级下,进行人工挑选,复用淘宝SPU维度的所有可用信息,包括绑定属性、销售属性、商品属性、SPU属性、图片等信息,在通过离线数据任务,补全闲鱼侧信息,tyler平台特征标、闲鱼渠道类目、淘宝类目、业务标、状态、业务数据等。目前,SPU信息的状态等级分为三种,分别如下:(注:此处字段和数值为虚拟值)
截图.png
闲鱼自有SPU贴户闲鱼业务,由各个业务方推动梳理路,例如潮服、潮鞋、奢侈品,多数情况下使用关键属性定义SPU。
SPU导入流程.jpg
其中,标准SPU数据导入流程,分类目逐步推进,具体流程如下:

  1. 清洗淘系SPU数据,去掉含特殊字符/..测试/特殊符号等脏数据,去除关键信息不完整数据。数据量万级->千级
  2. 继续根据关键字去重清洗,数据量降低30%。
  3. 运营干预,人工挑选。
  4. 打上业务标识,填补扩展字段,如biz(标示是否支持某业务)、bizProperty(业务在SPU基础上的扩展属性)
  5. 龙宫SPU管理体系长期运营维护。

闲鱼SPU体系打通结构化流程,整体使用OpenSearch搜索引擎向外提供查询服务,数据链路采用 ODPS->mySql->OpenSearch,数据链路解决的问题:

  • ODPS 周期任务,T+1补充全面信息,包含但不限于SPU信息、商品挂载量、类目等级等。
  • mySql很方便的实现ID自增,维护一套自有spu_id。
  • mySql->OpenSearch可以实现数据自动实时更新,无需API推送/定时任务/手动重新构建引擎。
  • OpenSearch能实现索引条件灵活化,同时很好的实现模糊搜索、相关性排序、销量排序。
  • OpenSearch唯一键约束保证同一产品,全表唯一,约束键使用属性值vid组合。

完整的SPU数据包含SPU属性、绑定属性、销售属性、图片、标题等基本信息。仅仅只有SPU无法满足闲鱼的业务需求,我们在这基础上,扩展了淘宝类目、闲鱼渠道类目、业务标识、业务属性、业务专属校验项、闲鱼平台发布量(按照SPU维度),为系统业务留下可扩展空间。
spu体系.png
为了方便运营干预和后期数据维护,我们同时设计一套管理系统配合使用,能够实现基础的单项新增和批量新增、多维度的查询分析、修改和删除。涉及线上数据变更的部分,如编辑/删除,会统一接入集团changefree(安全生产审批流程)。如下图所示,通过平台化,提供运营长期维护的能力。
闲鱼SPU服务于多项业务,但不是专为某项业务而生,我们致力于打造一套底层基础能力,可以横向支撑商品体系中打通结构化的多项闲鱼业务,作为一种通用的基础能力,服务于商品理解。
SPu.png

闲鱼SPU在业务场景中的使用

SPU系统目前已经支持多项业务,预计在后续和各行业和业务方的配合中,更侧重于降低数据产出成本,加强与各行业的密切合作,充盈SPU数据池。目前闲鱼SPU主要支撑的几大场景,包括:验货宝,SPU搜索发布、无忧购。
验货宝:验货宝是闲鱼与各行业服务商合作的用于增强用户信任、提供优质商品的业务平台,闲鱼正在逐步扩大支持验货的品类。SPU的场景在这个业务中,用于检索当前输入是否支持验货,于此同时,业务方需要校验验货项的完整性才可以保证服务的正常开启,SPU系统全程为验货宝服务的开启保驾护航。应用SPU基础能力,可以很好的将业务介入主发流程,为平台和业务方带来每日万级新发。
SPU搜索发布器:这是闲鱼一个新的发布场景,通过SPU信息匹配来搜索同款商品,进而降低用户发布成本,促进整体发布量增长。SPU在这个场景中承载着“同款产品”的角色,SPU数据量的多少直接决定这个场景的可用性和整体用户体验。SPU场景降低发布成本的同时,提供更优质的结构化信息,同时,覆盖新用户和低活用户,对于拓展用户宽度具有一定意义。
无忧购项目中,SPU同样作为“产品”角色,向外提供服务。

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
相关文章
|
SQL 运维 安全
闲鱼交易实时资损防控体系
聊一聊资损防控体系和闲鱼实践
6786 0
闲鱼交易实时资损防控体系
|
NoSQL 安全 MongoDB
Mongo DB之用户与权限管理、备份与恢复管理以及客户端工具的使用
MongoDB是一款灵活且高性能的文档型数据库,具有可扩展性和强大的查询功能,适用于各种应用场景。
1468 1
|
机器学习/深度学习 数据采集 人工智能
阿里巴巴首次揭秘电商知识图谱AliCoCo!淘宝搜索原来这样玩!
电商技术进入认知智能时代,将给亿万用户带来更加智能的购物体验。经过两年的探索与实践,阿里巴巴的电商认知图谱 AliCoCo 已成体系规模,并在搜索推荐等电商核心业务场景上取得佳绩,关于 AliCoCo 的文章《AliCoCo: Alibaba E-commerce Cognitive Concept Net》也已被国际顶会 SIGMOD 接收,这是阿里巴巴首次正式揭秘领域知识图谱。 本文将通过介绍 AliCoCo 的背景、定义、底层设计、构建过程中的一些算法问题,以及在电商搜索和推荐上的广泛应用,分享 AliCoCo 从诞生到成为阿里巴巴核心电商引擎的基石这一路走来的思考。
19773 2
阿里巴巴首次揭秘电商知识图谱AliCoCo!淘宝搜索原来这样玩!
|
10月前
|
设计模式 XML 算法
策略模式(Strategy Pattern)深度解析教程
策略模式属于行为型设计模式,通过定义算法族并将其封装为独立的策略类,使得算法可以动态切换且与使用它的客户端解耦。该模式通过组合替代继承,符合开闭原则(对扩展开放,对修改关闭)。
|
测试技术 开发者 Python
使用Python解析和分析源代码
本文介绍了如何使用Python的`ast`模块解析和分析Python源代码,包括安装准备、解析源代码、分析抽象语法树(AST)等步骤,展示了通过自定义`NodeVisitor`类遍历AST并提取信息的方法,为代码质量提升和自动化工具开发提供基础。
1149 9
|
机器学习/深度学习 人工智能 自然语言处理
深度探索人工智能中的自然语言处理技术#### 一、
【10月更文挑战第28天】 本文旨在深入剖析人工智能领域中的自然语言处理(NLP)技术,探讨其发展历程、核心算法、应用现状及未来趋势。通过详尽的技术解读与实例分析,揭示NLP在智能交互、信息检索、内容理解等方面的变革性作用,为读者提供一幅NLP技术的全景图。 #### 二、
771 1
手势代理 shouldBeRequiredToFailByGestureRecognizer 和 shouldRequireFailureOfGestureRecognizer 的区别
手势代理 shouldBeRequiredToFailByGestureRecognizer 和 shouldRequireFailureOfGestureRecognizer 的区别
485 10
|
移动开发 前端开发
ruoyi-nbcio-plus基于vue3的flowable修正加签与跳转的前端问题
ruoyi-nbcio-plus基于vue3的flowable修正加签与跳转的前端问题
359 0
|
Linux 调度 Windows
【操作系统】线程、多线程模型
【操作系统】线程、多线程模型
370 1
|
SQL 分布式计算 数据库
离线数仓--大数据技术之DolphinScheduler
离线数仓--大数据技术之DolphinScheduler
1391 2