Files
DEMO-AGENT/docs/详细设计/skill/字段标准化Skill.md

1.7 KiB

字段标准化Skill 设计

1. Skill 定位

字段标准化Skill 负责对字段候选值进行清洗、标准化、置信度计算和冲突候选标记。

英文实现标识建议使用 FieldNormalizeSkill

2. 输入

@dataclass
class FieldNormalizeInput:
    candidates: list[FieldCandidate]
    field_definitions: list[FieldDefinition]
    source_priority: dict

3. 输出

@dataclass
class FieldNormalizeOutput:
    normalized_candidates: list[NormalizedFieldCandidate]
    conflict_candidates: list[dict]
    manual_review_candidates: list[dict]

4. 标准化规则

  1. 去除首尾空白。
  2. 合并连续空白。
  3. 全角半角标准化。
  4. 中文标点标准化。
  5. 日期格式标准化。
  6. 单位格式标准化。
  7. 空值和异常长值标记待复核。

5. 核心方法

5.1 run(input) -> FieldNormalizeOutput

主入口方法。

5.2 normalize_text_value(value) -> str

文本清洗。

5.3 normalize_date_value(value) -> str

日期标准化。

5.4 calculate_confidence(candidate, field_definition) -> str

计算置信度。

5.5 detect_conflict_candidates(candidates) -> list[dict]

检测同字段多候选值差异。

6. 技术实现

使用技术:

  1. Python 字符串处理
  2. 正则表达式
  3. 日期解析
  4. 字段类型规则

7. 异常处理

  1. 值为空:标记待复核。
  2. 值过长:标记待复核。
  3. 日期无法解析:保留原值并标记低可信。
  4. 多候选不一致:标记 conflict_candidate

8. 测试要点

  1. 空白和标点标准化正确。
  2. 日期标准化正确。
  3. 多候选冲突可识别。
  4. 低可信候选进入待复核。