指南

产品属性:如何提取、标准化和映射

整洁的产品属性是筛选、比较、数据源和合规草稿能够正常运作的基础。本指南涵盖属性架构、提取、单位与词汇规则,以及将杂乱的供应商取值转化为一致数据的分类体系映射。

每个供应商描述同一件事的方式都不同。一份数据表写“Capacity: 1,5 l”,另一份写“1500 ml”,第三份则把“holds 1.5 liters”埋在一段文字里。对购物者来说这是同一个事实;对筛选器或数据源来说,它们却是三个互不相关的字符串。产品属性标准化就是把这些差异转化为一个值、一种单位、一个属性名称。

本指南按实际工作的先后顺序展开:架构、提取、数字和文本的标准化、分类体系映射、变体和验证。示例使用真实的单位代码和分类体系结构,因此您可以直接套用。

什么是产品属性(以及什么不是)

产品属性是一个带有值的命名特性:material = stainless steel,capacity = 1.5 L,color = black。属性提取研究将这些称为属性–值对。属性描述的是产品本身,无论在哪里销售都保持不变,因此应放在结构化字段中,而不是只出现在描述性文字里。

有三个相邻的概念很容易与属性混淆,而把它们混在一起正是后来大多数架构问题的根源:

属性与相关产品数据的对比
概念用途示例常见存放位置
属性描述产品的某项特性材质:不锈钢;容量:1.5 L规格表、筛选器、类目字段
标识符唯一标识产品或贸易项目GTIN、MPN、SKU、型号专用的标识符字段
变体选项买家可从中选择的属性颜色:黑 / 白;尺码:S / M / L变体维度(Shopify 最多允许 3 个选项)
描述以文字说明利益点和用法“几分钟内烧开一整壶水”描述和要点列表

在提取任何内容之前先定义属性架构

属性架构是每个值都必须满足的约定。没有它,提取只会得到源文件碰巧写的任何内容,而标准化也会变成猜测。对于每个属性,请确定名称、数据类型、标准单位、允许值或验证规则、是否可以有多个值,以及在哪些情况下为必填。

架构应按产品系列建立,而不是做成一个巨大的清单:水壶需要容量和额定功率,T 恤需要纤维成分和尺码。先从您的渠道要求的、购物者用来筛选的属性开始,再添加数据表能够稳定提供的技术属性。

电热水壶系列的属性架构示例
属性数据类型单位 / 格式允许值或规则必填
model_number文本—与制造商印刷内容一致;不添加空格是
gtin文本(数字)8、12、13 或 14 位数字有效的 GS1 校验位已分配时必填
capacity小数LTR(升)0.1 至 5.0;每个变体一个值是
rated_power_min / rated_power_max整数WTT(瓦)最小值 ≤ 最大值;两者均来自同一额定值行是
body_material枚举(多值)—stainless steel、glass、plastic、ceramic是
color枚举—基础颜色列表;营销名称单独存放是,按变体
net_weight小数KGM(千克)> 0;不得超过毛重用于运输

属性值从哪里来,以哪个来源为准

值通常来自多个并不总是一致的来源。请为每个属性设定来源优先级,使冲突按统一的方式解决,而不是由最后编辑记录的人说了算。

一个实用的默认原则:技术文件优先于营销文案,具体文件优先于一般文件。当同等级别的来源相互矛盾时——例如数据表和包装给出了不同的重量——不要取平均值,也不要随便选一个;请询问供应商哪一个是现行的。

  • 数据表和规格表:尺寸、额定值、材质和性能值最可靠的来源,通常以表格形式呈现。
  • 包装和标签设计稿:对包装上印刷的内容具有权威性,如净含量、警告和标志。
  • 安全数据表:化学品的危害分类、成分和理化性质;不属于营销属性。
  • 供应商的产品描述:适用于从不出现在表格中的属性(款式、预期用途、兼容型号),但精确度最低。

如何从产品描述中提取属性

自由文本描述是最难处理的来源,因为值被包裹在句子中,受营销语言修饰,有时还带有否定。无论您使用规则、已知值词典还是语言模型,保证输出可信的流程都是一样的:

  1. 在阅读任何文本之前,先列出该产品系列的目标属性及其允许值和单位。
  2. 将文本拆分为句子和要点,然后查找候选值:带单位的数字、已知的词汇术语,以及“compatible with …”(兼容……)之类的模式。
  3. 检查每个候选值的上下文,看是否有限定词(“最多”“约”“起”)、否定(“不含 BPA”“不适用于”)和条件(“带盖”“在 20 °C 时”)。
  4. 每个值只分配给一个属性;当一个数字可能属于两个属性时,将其保留为未分配状态以待审核,而不是猜测。
  5. 使用后续各节的规则对值和单位进行标准化,并保留原始文本。
  6. 标记每个仅来自营销文案的属性,以便审核人员在其用于规格表或声明草稿之前,对照数据表进行确认。
示例演练:在一个描述句中找到的属性
描述中的文字属性提取的值备注
“……1.7 升不锈钢水壶……”capacity;body_material1.7 LTR;stainless steel一个短语中包含两个属性
“……带不含 BPA 的塑料盖……”lid_material;bpa_freeplastic;true否定转为布尔值,而不是材质
“……不适用于电磁炉……”induction_compatiblefalse否定陈述已反转
“……有哑光黑和奶油色可选……”color(变体选项)black;beige营销名称单独保留

将数据表表头映射到标准属性名称

每个制造商对同一属性的标注方式都不同,往往还使用自己的语言。请建立一个同义词表,将您实际遇到的表头文字映射到您的标准属性名称;它起初增长很快,之后趋于稳定,并成为您最可重复使用的标准化资产。同时记录表头中印刷的单位:在“Weight (lbs)”下,没有任何单元格会重复单位。表格版式、扫描件和 OCR 请参阅关于从 PDF 提取产品数据的指南。

映射到同一标准属性的表头同义词
印刷的表头标准属性表头隐含的单位备注
Rated power / Power consumption / Leistung 等rated_powerWTT检查是输入功率,而不是输出功率
Net weight / Weight (unit) / Nettogewicht 等net_weight按印刷内容为 KGM 或 LBR不是运输重量
Capacity / Volume / FassungsvermögencapacityLTR 或 MLT针对容器,而不是包装体积
Dimensions (W × D × H) mmwidth、depth、heightMMT轴的顺序取自表头

标准化数字和单位

将每个定量属性存储为两个字段:一个数字和一个单位代码。UN/CEFACT 第 20 号建议书(“国际贸易中使用的计量单位代码”)为此提供了三字符通用代码,schema.org 在其 unitCode 属性中也使用相同的代码,例如 value 为 25、unitCode 为 CMT 的 QuantitativeValue。使用这些代码而不是自由文本的单位(“cm”“cms”“centimetres”),可以消除一整类不匹配问题。

为每个属性选择一个标准单位,通常是 SI 单位或其十进制倍数,并在导入时进行换算,使不同供应商的值可以正确比较。保留印刷的原始值和单位以便追溯,并在导出时换回渠道所用的单位:Shopify 产品 CSV 要求重量以克为单位,而 WooCommerce 使用店铺中配置的重量和尺寸单位。

请留意会导致无声错误的细节。小数和千位分隔符取决于文档的区域设置:在德语数据表中,“1.000 W”是一千瓦。将范围拆分为最小值和最大值字段,将公差与标称值分开存储,并将“约”或“最大”等限定词保存在单独的字段中。英制换算使用精确的定义(1 英寸 = 25.4 mm;1 lb = 0.45359237 kg);只在显示时四舍五入一次。

供应商原始值及其标准化形式
印刷的原始值标准化值UNECE Rec 20 代码应用的规则
1,5 l1.5LTR按文档区域设置读取小数逗号
1500 ml1.5LTR换算为该属性的标准单位;保留原值
1.000 W(德语数据表)1000WTT句点按千位分隔符读取
220–240 V~最小 220,最大 240VLT范围拆分;“~”存储为电流类型 AC
Ø 12 mm ± 0,2标称值 12,公差 0.2MMT公差单独存储
约 2.3 kg2.3(限定词:约)KGM保留限定词,不丢弃
5 lb2.26796KGM按 0.45359237 换算;保留 LBR 原值
1/2 in12.7MMT分数已转换;保留 INH 原值
6 件装6H87每包的件数

对文本属性使用受控词汇

受控词汇是文本属性可取值的列表,以及映射到每个值的同义词。它可以让“Color: black”筛选器捕获被描述为“blk”“Black”和“schwarz”的产品。

当营销和筛选的需求相互冲突时,保留两个字段:一个用于筛选器和数据源的标准化基础值,以及一个用于展示的制造商自有名称。“Midnight Graphite”作为产品页面的细节很好,作为筛选值却毫无用处;“gray”则恰恰相反。对于多语言目录,请将词汇值存储为与语言无关的代码并翻译其标签,使同一产品在每种店铺语言中都能正确筛选。

词汇标准化前后的文本值
原始文本值标准化值词汇规则
blk / BLACK / schwarzblack同义词和译文映射到同一个代码
Midnight Graphitegray(保留展示名称)营销名称单独存放
18/8 SSstainless steel缩写已展开;牌号作为单独的属性保留
Cotton 95%, Elastane 5%cotton 95;elastane 5成分以值–百分比对的形式表示
Yes / ✓ / includedtrue布尔值简化为 true 或 false

将属性映射到分类体系和渠道架构

分类体系决定哪些属性适用于某个产品以及它们叫什么名称。您很少能自己选择:零售商可能要求 GS1 GPC,批发商要求 ETIM,Shopify 要求其标准产品分类体系(Standard Product Taxonomy),搜索引擎则读取 schema.org 标记。请以您自己的属性架构为主,并维护到每个外部分类体系的映射。

在 GS1 GPC 中,砖块(brick)是基本构件,砖块属性承载诸如某种牛奶是动物来源还是非动物来源之类的细节。ETIM 为每个类别提供一组预定义的特征,带有固定的值列表和单位,并发布 17 种语言的模型。Shopify 要求根据产品的主要功能选择一个类目;设置类目后即可解锁类目元字段。schema.org Product 具有专用属性,如 gtin、mpn、brand、color、material、size 和 weight。

产品分类体系对比
分类体系主要使用者结构属性模型注意事项
GS1 GPC零售和消费品数据交换Segment > Family > Class > Brick带有定义值的砖块属性是分类,而不是完整的规格模型
ETIM技术批发:电气、暖通空调、管道带同义词的类别特征类型为字母数字、逻辑、数值或范围,带单位特征值必须来自该类别的列表
Shopify Standard Product TaxonomyShopify 店铺类目层级路径或类目 ID每个类目的类目元字段(产品属性)在 CSV 中提供层级路径或 ID,不要两者都填
schema.org Product面向搜索引擎的结构化数据带属性的单一 Product 类型专用属性;带 unitCode 的 QuantitativeValue优先使用具体属性,其次才用 additionalProperty

处理变体而不重复属性

变体是共享大多数属性、仅在少数属性上不同的产品。将其建模为:父记录保存共享属性,子记录只保存变体维度及随之变化的值,如颜色、尺码、容量及其各自的标识符。GS1 的 GTIN 规则将每种款式、颜色和尺码变化视为带有自己 GTIN 的独立产品,因此标识符始终存在于子记录上。

多型号规格表是大多数变体错误的根源。将每个型号占一列的表格拆分为每列一条记录,并将只印刷了一次、跨列适用的值——合并单元格,或表格下方的“all models: 230 V”——复制到它适用的每个子记录。在 Shopify 中,Option1 LinkedTo CSV 列将变体选项链接到类目元字段;一个产品最多可有三个选项和 2,048 个变体。

通过规则和质量抽样验证属性

验证规则能发现机械性错误:类型错误、单位错误、不可能的值、缺少必填属性。每次导入都运行这些规则,并将失败项转交给审核人员,而不是悄悄丢弃值。

规则无法发现看似合理但错误的值——从相邻型号列复制来的容量可以通过所有检查。质量抽样可以:将抽样记录逐字段与源文件比对。没有通用的样本量或错误阈值;请按风险来设定。

  1. 按供应商抽取记录样本,并向新供应商和新文档版式倾斜。
  2. 将每个抽样属性与源文件比对,分别记录匹配、错误值和缺失值。
  3. 按属性而不是只按记录计算错误率,以找出造成问题的属性或表头映射。
  4. 对每一条记录(而不是抽样)检查与安全相关和法律要求的属性。
验证规则类型及示例
规则类型示例失败时的处理
类型和格式capacity 必须是小数;gtin 只能是数字拒绝该值,保留原始文本供审核
范围和合理性水壶容量在 0.1 至 5 L 之间标记为可能的单位或分隔符错误
枚举成员color 必须在基础颜色列表中映射同义词或添加到词汇表
跨字段最小值 ≤ 最大值;净重 ≤ 毛重标记两个字段
校验位GTIN 通过 GS1 模 10 校验拒绝;从源文件重新读取
完整性该系列和渠道要求的所有必填属性均已填写阻止发布;向供应商索取数据

大规模运行属性标准化

架构、同义词表、词汇表和规则是这项工作中持久的部分;提取方法则可以在它们之下更换。请对它们进行版本管理,为每一项指定负责人,记录手动修正并注明原因(反复出现的修正说明缺少某条规则),并在每次引入新供应商时审查同义词表。

如果您的属性最初来自供应商 PDF,Doc2Shelf 可以完成提取这一步:它读取上传的数据表、规格表、SDS 和目录,按印刷内容保留值和单位,并附上页码和简短引文作为依据,同时标记缺失的必填数据。然后,您的标准化规则会在审核期间应用,之后该记录才会用于生成商品列表或声明草稿。

常见问题解答

什么是产品属性?
产品属性是描述产品的、带有值的命名特性,例如材质、颜色、容量、尺寸或额定功率。与描述文字不同,它们存放在结构化字段中,因此可以驱动筛选器、规格表、数据源和类目要求。
产品属性与变体有什么区别?
属性是产品的任何特性。变体是在买家所选的一个或多个属性上有所不同的产品版本,例如尺码或颜色。这些被选择的属性就是变体选项;其余属性在父产品上保持共享。
如何从产品描述中提取属性?
先定义目标属性和允许值,再把文本拆分成句子,找出候选值,并在分配给某个属性之前,检查每个候选值的限定词、否定和条件。对于仅出现在营销文案中的属性,请对照数据表确认。
什么是 UNECE 第 20 号建议书的单位代码?
它们是由 UN/CEFACT 发布的、用于国际贸易中计量单位的三字符代码——例如 MTR 表示米,KGM 表示千克,LTR 表示升,WTT 表示瓦。schema.org 的 unitCode 属性使用相同的代码。
应该存储原始值还是换算后的值?
两者都要。存储标准化的数字和单位代码用于筛选、比较和验证,并保留印刷的原值以便追溯。在导出时换算为各渠道所需的单位,例如 Shopify 产品 CSV 中的重量以克为单位。
应该使用哪种产品分类体系:GS1 GPC、ETIM 还是 Shopify 的?
使用您的贸易伙伴和渠道所要求的那一种,而且往往不止一种。以您自己的属性架构为主,并维护到各体系的映射:用于零售数据交换的 GPC,用于技术批发的 ETIM,以及用于 Shopify 店铺的 Shopify Standard Product Taxonomy。
如何衡量属性提取的质量?
将一批提取的记录逐字段与源文件比对,并针对每个属性分别统计正确值、错误值和缺失值。错误值反映精确率问题;缺失值反映召回率问题。请按供应商分别跟踪两者。
如何处理多种语言的产品属性?
将颜色、材质等枚举值存储为与语言无关的代码并附上翻译后的标签,数字和单位代码则保持与语言无关。自由文本属性需要按语言翻译并审核。

官方来源

本指南所引用的主要法律文本和官方指引。

本指南仅为一般性信息,不构成法律意见。具体要求取决于产品和目标市场;请查阅官方文本,并根据您的实际情况咨询合格的专业人士。

更多指南

将供应商 PDF 转化为经过审核的产品数据

Doc2Shelf 从供应商文档中提取产品数据,并起草商品列表和合规文档,供您审核。

创建您的免费账户