闲鱼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搜索技术原理并掌握其实现过程。
相关文章
|
机器学习/深度学习 人工智能 达摩院
ModelScope 社区介绍和操作入门| 学习笔记
快速学习 ModelScope 社区介绍和操作入门
ModelScope 社区介绍和操作入门| 学习笔记
|
4月前
|
存储 缓存 并行计算
DeepSeek-V4 深度解读:百万上下文背后的工程细节
DeepSeek-V4系列突破百万token上下文瓶颈:V4-Pro单token推理FLOPs仅V3.2的27%,KV Cache压至10%;V4-Flash更达10%与7%。依托CSA/HCA混合注意力、mHC残差、Muon优化器与FP4量化,实现长上下文“能用、好用、日常用”。
1748 0
|
7月前
|
数据采集 Web App开发 监控
【编号2540】闲鱼商品监控与消息自动化工具开发与使用经验分享
闲鱼商品监控工具,闲鱼批量提取商品,闲鱼消息自动发送,闲鱼爬虫工具,闲鱼多线程监控,闲鱼链接批量发消息,闲鱼商品去重提取,闲鱼 Cookie 获取,闲鱼 API 对接,闲鱼新商品提醒,闲鱼商品数据解析,闲鱼定时监控商品,闲鱼自动化发消息,闲鱼二手商品提取
1522 3
|
JavaScript 安全 前端开发
【HarmonyOS开发】ArkTS基础语法及使用(鸿蒙开发基础教程)
【HarmonyOS开发】ArkTS基础语法及使用(鸿蒙开发基础教程)
1778 4
|
SQL NoSQL 数据库
Flutter Hive NoSql 数据库使用指南
本文将会写一个 Hive CURD 的例子,详细介绍 Hive 这个轻量级的 Flutter 离线数据库的使用方法,包括 Hive 在 Flutter 开发中的重要性、Hive 与 SQLite 的比较等,帮助开发者快速上手 Hive 数据库。
735 6
Flutter Hive NoSql 数据库使用指南
|
算法 异构计算
基于FPGA的4ASK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4-ASK调制解调系统的算法仿真效果、理论基础及Verilog核心程序。仿真在Vivado2019.2环境下进行,分别测试了SNR为20dB、15dB、10dB时的性能。理论部分概述了4-ASK的工作原理,包括调制、解调过程及其数学模型。Verilog代码实现了4-ASK调制器、加性高斯白噪声(AWGN)信道模拟、解调器及误码率计算模块。
619 8
|
人工智能 缓存 并行计算
【AI系统】CPU 计算本质
本文深入探讨了CPU计算性能,分析了算力敏感度及技术趋势对CPU性能的影响。文章通过具体数据和实例,解释了算力计算方法、数据加载与计算的平衡点,以及如何通过算力敏感度分析优化性能瓶颈。同时,文章还讨论了服务器、GPU和超级计算机等不同计算平台的性能发展趋势,强调了优化数据传输速率和加载策略的重要性。
1083 4
|
人工智能 弹性计算 Kubernetes
【云故事探索】NO.10:厦门立马耀的数字化转型之路
厦门立马耀网络科技有限公司在数字化转型中,凭借敏锐的市场洞察和技术创新,将云计算深度融合于业务。其品牌“蝉妈妈”为中小企业提供全方位数字营销解决方案,成为行业标杆。面对快速变化的市场需求,公司通过与阿里云合作,构建高可靠性计算平台,提升效率,并利用AI技术赋能客户,推动业务多元化发展,展现了云计算在企业成长中的巨大潜力。
手势代理 shouldBeRequiredToFailByGestureRecognizer 和 shouldRequireFailureOfGestureRecognizer 的区别
手势代理 shouldBeRequiredToFailByGestureRecognizer 和 shouldRequireFailureOfGestureRecognizer 的区别
694 10
|
监控 网络协议 Linux
在Linux中,如何实时监控网络流量?
在Linux中,如何实时监控网络流量?