P paper2skillsPlaybook
AI 路线图 →

三层自动打标流水线 — 规则引擎+ML分类器+LLM抽取的混合置信度打标体系

Skill-Auto-Tagging-Pipeline-Rule-ML-LLM · 24-标签工程

causalexperimentforecastingfraud_detectionpricing客服与VOC定价与利润风控与合规WF-C 客服分诊WF-D 选品扫描WF-E Review监控WF-F 动态定价WF-K 全域风险防御
实现难度⭐⭐⭐☆☆
业务视角
适用角色数据架构师 / 供应链数字化负责人 · CTO · 数据工程师 · 供应链团队
什么情况下用多平台数据孤岛导致断货识别延迟8小时;标签覆盖率不足使AI决策触发率<30%;想实现分析→行动自动闭环但不知从何下手
成功是什么样的统一 Tag Schema + 传播引擎将标签覆盖率从 30% 提升至 97%;Palantir 风格 Object-Action-Writeback 将补货响应从 2 天缩短至 4 小时自动触发
业务痛点
多平台 SKU 编码混乱无法统一合规标签手工维护遗漏频繁预测模型有了但结果无法自动触发采购标签打了但没有质量监控

1. 解决的问题

数据团队面临"500个SKU打标需要1周人工"——规则+ML+LLM三层流水线将覆盖率从30%提升至97%,人工审核量从100%降至3%,节省标注成本4万元/年

2. 核心算法逻辑

三层打标策略(按优先级从高到低):

3. 业务应用场景

场景A:SKU全量自动打标流水线 - 业务问题:500个 SKU,10 种标签维度,传统人工打标需要 1 周/次更新,远不能满足实时性要求 - 三层方案: - 规则层(瞬时):`IF DOS<7 → stockout_risk=critical`;`IF 退货率>10% → return_risk=high` - ML层(毫秒):GBM 训练 ABC 分类器(特征:销售额/周转率/库龄) - LLM层(分钟):从产品描述提取合规关键词 → 合规标签 - 覆盖分布:规则层 45%,ML层 40%,LLM层 12%,人工审核 3% - 业务价值:打标时效从 1 周→ 实时(规则+ML),LLM每日

**场景B:供应商评论语义标签(LLM层)** - **业务问题**:采购团队对供应商有大量非结构化备注("这家工厂交期不稳定""质量检查很严格"),无法被规则或ML处理 - **LLM提取**: - 输入:`"宁波精工交期非常稳定,但价格略高,CE认证资料齐全"` - 输出:`{delivery_reliability: "high", price_competitiveness: "low", compliance_certs: ["CE"]}` - **业务价值**:采购知识从"只存在个人脑中"→ 结构化供应商标签,可被后续决策系统使用

4. 输入数据要求

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

5. 输出结果

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

6. 业务价值 / ROI

  • ROI预估:三层流水线将500个SKU的10维标签打标时效从"1周人工→实时(规则+ML)+每日批量(LLM)",标签覆盖率从30%→97%;人工审核量从100%降至3%,节省人力成本约4万元/年
  • 实施难度:⭐⭐⭐☆☆(规则层容易,ML层需要训练数据,LLM层需要API成本控制)
  • 优先级评分:⭐⭐⭐⭐⭐(打标是整个标签工程体系的数据入口,没有高质量打标,传播和Action触发都无从谈起)
  • 评估依据:三层混合策略比纯LLM打标便宜90%(LLM每千tokens约¥0.1,500 SKU × 10 tags × LLM全量 vs 仅12%走LLM层)

7. 代码模板

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

"""
三层自动打标流水线
功能:规则引擎 / ML分类器 / LLM抽取 / 置信度聚合 / 人工审核队列
输入:实体数据 + Tag Schema定义
输出:标签结果 + 置信度 + 来源追踪 + 审核队列
"""
import numpy as np
import pandas as pd
import re
import json
from dataclasses import dataclass, field
from typing import Any, Optional
import warnings
warnings.filterwarnings('ignore')


@dataclass
class TagResult:
    tag_id: str
    value: Any
    confidence: float
    source: str          # rule/ml/llm/manual
    rule_matched: Optional[str] = None
    needs_review: bool = False


class RuleEngine:
    """Layer 1: 规则引擎(确定性标签)"""

    def __init__(self):
        self.rules = []

    def add_rule(self, tag_id: str, condition: callable, value_fn: callable,
                 description: str = ""):
        self.rules.append({
            "tag_id": tag_id, "condition": condition,
            "value_fn": value_fn, "description": description
        })

    def evaluate(self, entity: dict) -> list:
        results = []
        for rule in self.rules:
            try:
                if rule["condition"](entity):
                    value = rule["value_fn"](entity)
                    results.append(TagResult(
                        tag_id=rule["tag_id"],
                        value=value,
                        confidence=1.0,
                        source="rule",
                        rule_matched=rule["description"],
                    ))
            except Exception:
                continue
        return results


class MLTagger:
    """Layer 2: ML分类器(统计推断标签)"""

8. 论文来源

  • 2209.04485
  • 2307.09288
  • 2402.15758
⚡ 可直接调用的 Agent
◈ SKU标签质量扫描器
Agent 已内置此 Skill 的业务逻辑,点击进入智能体广场立即运行