1.7 KiB
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. 标准化规则
- 去除首尾空白。
- 合并连续空白。
- 全角半角标准化。
- 中文标点标准化。
- 日期格式标准化。
- 单位格式标准化。
- 空值和异常长值标记待复核。
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. 技术实现
使用技术:
- Python 字符串处理
- 正则表达式
- 日期解析
- 字段类型规则
7. 异常处理
- 值为空:标记待复核。
- 值过长:标记待复核。
- 日期无法解析:保留原值并标记低可信。
- 多候选不一致:标记
conflict_candidate。
8. 测试要点
- 空白和标点标准化正确。
- 日期标准化正确。
- 多候选冲突可识别。
- 低可信候选进入待复核。