paper2skills Playbook

AI Agent 驱动的电商知识图谱自动构建

Skill-KG-Auto-Construction-Agent-Driven · 08-知识图谱

causalexperimentrecommendationragknowledge_graphmulti_agentpricing客服与VOC推荐与搜索知识图谱与RAGMAS与智能体工程定价与利润WF-C 客服分诊WF-D 选品扫描WF-E Review监控WF-F 动态定价
实现难度⭐⭐⭐☆☆
业务优先级⭐⭐⭐☆☆
业务视角
适用角色选品负责人 / 运营负责人 · 数据分析师 · 供应链负责人
适用平台Amazon 品类体系 · 竞品 ASIN 网络分析
什么情况下用品类很多,不清楚品类间的关联,没法做系统性类目扩张规划;竞品矩阵太复杂,品牌/SKU/渠道理不清
成功是什么样的建立品类知识图谱,清晰看到哪些是入口品/引流品/利润品,指导下一步选品扩张方向
业务痛点
品类太多不知道先做哪个竞品关系理不清楚不知道用户买了奶瓶还会买什么类目扩张没有逻辑

1. 解决的问题

传统知识图谱构建依赖人工定义 Schema 和编写抽取规则,成本高、扩展性差。AI Agent 驱动的 KG 自动构建 将全流程拆解为三个由 LLM Agent 协作完成的阶段,从非结构化产品描述中自动产出结构化知识图谱,无需预定义 Schema 或人工规则。

2. 核心算法逻辑

传统知识图谱构建依赖人工定义 Schema 和编写抽取规则,成本高、扩展性差。AI Agent 驱动的 KG 自动构建 将全流程拆解为三个由 LLM Agent 协作完成的阶段,从非结构化产品描述中自动产出结构化知识图谱,无需预定义 Schema 或人工规则。

3. 业务应用场景

业务问题: 母婴出海电商管理数千个 SKU,商品信息分散在 Amazon、Shopify、供应商提供的不同格式描述中。人工整理"商品-属性-关系"三元组成本极高,且新品上架频繁,知识图谱难以跟上更新速度。

数据要求: - 商品描述文本(标题 + Bullet Points + 描述段落) - 品类分类信息(如"吸奶器"、"储奶袋"、"温奶器") - 可选:产品规格表(结构化补充)

预期产出: - 自动生成的商品本体 Schema: - 实例级三元组:

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

  • 数据要求:需要商品描述文本数据,门槛较低
  • 技术门槛:中等,核心依赖 LLM API 调用和 prompt 设计
  • 工程复杂度:中,三阶段流水线需要模块化设计
  • 维护成本:低,新商品自动扩展,人工仅需抽检
  • 战略价值极高:是 08-知识图谱领域的核心缺口,直接影响 GraphRAG 的可用性
  • 业务匹配度完美:电商产品 KG 构建是母婴出海的刚需场景

7. 代码模板

代码块数量:5 · 路径:未检测到

"""
AI Agent 驱动的电商知识图谱自动构建系统
基于 arXiv:2511.11017 (Peshevski et al., 2025)

功能:
1. 本体创建与扩展(Ontology Creation & Expansion)
2. 本体精炼(Ontology Refinement)
3. 知识图谱填充(Knowledge Graph Population)

Author: paper2skills
Date: 2026-05-01
"""

import json
import re
from typing import List, Dict, Tuple, Optional, Set
from dataclasses import dataclass, field, asdict
from collections import defaultdict
import random


# ============================================================
# 数据模型
# ============================================================

@dataclass
class ProductDescription:
    """产品描述"""
    product_id: str
    title: str
    bullets: List[str]
    description: str
    category: str

    def full_text(self) -> str:
        return f"{self.title}\n" + "\n".join(self.bullets) + f"\n{self.description}"


@dataclass
class OntologyClass:
    """本体类"""
    name: str
    comment: str = ""
    parent: Optional[str] = None


@dataclass
class OntologyProperty:
    """本体属性"""
    name: str
    domain: str
    range_type: str  # "string", "integer", "float", "ClassName"
    comment: str = ""
    is_object_property: bool = False


@dataclass
class Ontology:
    """本体定义"""
    classes: List[OntologyClass] = field(default_factory=list)

8. 论文来源

  • 2404.03868
  • 2502.06472
  • 2511.11017