AutoPKG — 多模态产品属性图谱自动构建:文本+图片→GMV提升
Skill-AutoPKG-Multimodal-Product-Attribute-KG · 08-知识图谱
1. 解决的问题
母婴跨境团队面临"商品属性人工填写耗时且不标准导致推荐失准"——多模态多Agent自动构建产品属性图谱,属性填充率从60%→96%,Search GMV+5.32%(Lazada生产A/B实测)
2. 核心算法逻辑
电商产品属性图谱(PKG)长期被一个矛盾困住:维护成本高得离谱(人工定义属性Schema),同时又随时过期(新品类涌现速度快于人工更新速度)。母婴跨境电商尤其典型——吸奶器的"静音分贝"、婴儿推车的"折叠尺寸"这类属性,既没有统一标准,又直接影响转化。
3. 业务应用场景
业务问题:某母婴跨境团队在Amazon US/UK/DE三站运营800+ SKU,品类跨越吸奶器、婴儿推车、安抚奶嘴、纸尿裤。每款新品上架时,运营需要手工填写40+个属性(BPA-Free认证、适用月龄、最大承重、折叠尺寸…),耗时2-3小时/SKU,且不同运营填写标准不统一,导致推荐系统"品类混淆"(把NB码尿布推给6月大婴儿)。
AutoPKG处理流程: 1. 属性归纳:喂入500个品类样本SKU(文本描述+主图),Agent自动归纳出68个属性键,覆盖率96.3% 2. 批量提取:对800+ SKU并发运行多模态属性提取,文本+视觉双通道 3. 规范化:Consolidation Agent合并同义属性值(如"0-6月"/"出生至6M"/"新生儿"→ 统一为 "0-6M") 4. 接入下游:PKG输出接入推荐系统的商品Profile向量、搜索系统的属性Filter、Detail页的角标展示
数据要求: - 每个SKU的商品描述文本(Bullet Points + Feature Description,≥50字符) - 商品主图(JPG/PNG,≥400×400px,避免纯白背景) - 历史有效属性样本(可选,用于Consolidation Agent校准)
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ROI预估:
- 属性填写人工成本节省:¥80,000-200,000/年(视SKU数量)
- GMV增量(参考Lazada A/B数据):
- Search GMV:+5.32%(1,000万GMV规模→+53.2万/年)
- Recommendation GMV:+7.89%
- Badge展示效率:+3.81%
7. 代码模板
代码块数量:1 · 路径:未检测到
"""
AutoPKG - 多模态产品属性图谱自动构建
简化实现版:文本+图片属性抽取 + Consolidation Agent
依赖: openai (或任意LLM客户端), PIL, requests, json
"""
import json
import re
from typing import Dict, List, Optional, Any
from collections import defaultdict
# ─────────────────────────────────────────────
# 数据结构
# ─────────────────────────────────────────────
class ProductNode:
"""电商产品节点"""
def __init__(self, sku_id: str, title: str, description: str,
image_url: Optional[str] = None, category: str = ""):
self.sku_id = sku_id
self.title = title
self.description = description
self.image_url = image_url
self.category = category
self.attributes: Dict[str, Any] = {} # 提取到的属性
class ProductAttributeKG:
"""产品属性知识图谱"""
def __init__(self):
self.products: Dict[str, ProductNode] = {}
self.attribute_schema: Dict[str, List[str]] = {} # category -> [attr_keys]
self.canonical_values: Dict[str, Dict[str, str]] = {} # attr_key -> {raw -> canonical}
def add_product(self, product: ProductNode):
self.products[product.sku_id] = product
def get_attributes_df(self):
"""输出属性数据框(可接入推荐系统)"""
rows = []
for sku_id, product in self.products.items():
row = {"sku_id": sku_id, "category": product.category}
row.update(product.attributes)
rows.append(row)
return rows
# ─────────────────────────────────────────────
# AutoPKG核心模块
# ─────────────────────────────────────────────
class AttributeInductor:
"""
Module 1: 按需属性归纳(On-demand Schema Induction)
从样本SKU中自动发现该品类应有哪些属性键
"""
def __init__(self, llm_client):
self.llm = llm_client8. 论文来源
- 2604.16950