Files
onion-dmp/workflow1.0.md
2026-04-08 14:52:09 +08:00

175 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# workflow1.0
## 1. 本次目标与已确认决策
### 1.1 目标
-`清洗3.0.xlsx`56列表头固定导入现有DMP系统。
- 对数据执行可复用的清洗、规范化、标签生成、导入、验证流程。
- 建立“自动处理 + 必要人工介入检查点”的长期工作流。
### 1.2 已确认决策(本轮执行)
1. `参加指导最想解决` 缺失约90%)采用 **保守推断**,并在面板标签上标注“(推断)”。
2. `监护人2` 相关字段整体删除(缺失高且当前模型不需要双监护人建模)。
3. 删除 `付费能力标签` 分类,避免无依据推断造成误导。
4. 导入模式为 **完全替换**(本次以新数据全量覆盖旧数据)。
---
## 2. 数据到标签的处理策略(本次)
## 2.1 列分层处理
### A. 直接删除列(隐私/冗余/不再使用)
- 监护人2相关`H~N`
- 联系方式相关:`G`, `N`(如仍存在二次映射则一并移除)。
- 明确隐私字段:`O(孩子姓名)`, `U(家庭地址)`
- 仅保留规范化版本时,原文字段将不入标签逻辑(如 `_原文` 列)。
### B. 保留并参与标签生成列
- 基础规范列:`AN`, `AP`, `AR`, `AT`, `AV`, `AX`, `AZ`, `BB`, `BD`
- 关系与教养列:`W`, `X`, `Y`, `Z`, `AA`, `AB`, `AC`
- 其他辅助列:`C(文化程度)``B(家庭角色)`(仅当规范列不足时作为补充)。
### C. 低质量列处理
- `参加指导最想解决_扩展(BD)`
- 有值:直接入“核心问题标签”。
- 无值:按保守规则推断,标签名称后缀 `(推断)`
### D. 家庭角色专项清理(本次新增)
- 仅保留真实家庭关系词,不保留职业、状态、描述、乱码、手机号、标点碎片。
- 标准化后保留的家庭角色以“可解释、可复用、可前端展示”为准。
- 第一轮收敛后统一为 18 个家庭角色标签;二次收敛后进一步压缩为 12 个标签。
- 最终保留:`妈妈``爸爸``奶奶``外婆``爷爷``姑姑``外公``舅舅``继母``姨妈``伯娘``其他监护人`
- 规则:`家长``父母` 归并到 `其他监护人``妻子``女儿``姐姐``儿子` 删除。
## 2.2 保守推断(核心问题标签)
### 推断原则
- 仅在高置信线索存在时推断。
- 无明显线索时宁可不贴标签,不做激进猜测。
- 每个推断标签必须带后缀:`(推断)`
### 候选线索来源(多因素)
1. 学习状态:`学习成绩_规范(AX)`
2. 家庭与关系:`家庭氛围(W)`, `亲子关系(X)`
3. 教养风险:`Y/Z/AA/AB`
4. 重大事件:`重大影响事件_扩展(BB)`
### 推断样例(示意)
- `学习成绩_规范=差``亲子关系=紧张` -> `学习动力与执行(推断)`
- `有无打骂教育=是``经常否定孩子=是` -> `教养方式调整(推断)`
- `家庭氛围=冲突紧张` -> `亲子沟通修复(推断)`
## 2.3 规范化3类实现家庭氛围
### 目标分类
- `温暖`
- `中立`
- `冷漠`
### 实现方式
1. 关键词词典匹配(主规则)。
2. 冲突/负向词优先级高于一般正向词。
3. 未命中规则时默认 `中立`(保守策略)。
### 最小规则集(可迭代)
- 温暖词:和谐、支持、理解、亲密、关心、沟通良好。
- 冷漠词:冷漠、疏离、冷战、回避、忽视、压抑。
- 中立词:一般、还行、普通、尚可、平常。
---
## 3. 面板与后端联动改造
## 3.1 标签显示要求
1. 推断得到的标签统一后缀:`(推断)`
2. 推断标签在返回结构中增加 `source: inferred`
3. 非推断标签 `source: original`
4. 前端展示数据来源提示(例如 hover/说明文字):
- 原始:来自原始/规范化字段。
- 推断:由规则推断生成。
## 3.2 分类调整
- 删除 `付费能力标签` 分类:
- 不再生成该分类标签。
- 不再写入该分类及其关系数据。
- 前端自动按后端返回分类渲染列数减少1列。
---
## 4. 本次执行步骤(一次性落地)
### Phase 0准备与备份
1. 备份当前数据库(含可回滚版本号)。
2. 固定输入文件名:`清洗3.0.xlsx`
3. 运行预检查:表头完整性、行数、空值率、关键字段有效性。
### Phase 1清洗与规范化
1. 删除隐私/冗余字段含监护人2全量字段
2. 统一空值表示(`null`)。
3. 执行家庭氛围3类规范化。
4. 执行关系字段规范化(是/否、强/中/弱等)。
### Phase 2标签生成
1. 生成原始可直接映射标签。
2.`参加指导最想解决` 缺失记录执行保守推断。
3. 推断标签统一后缀 `(推断)`
4. 删除 `付费能力标签` 整个分类输出。
### Phase 3导入与覆盖
1. 采用“完全替换”模式写入用户、标签、关系。
2. 重新计算 coverage/coverage_rate。
3. 清除服务缓存并重启服务。
### Phase 4验证与放行
1. 数据量核对:用户数、标签数、关系数。
2. 分类核对:确认无 `付费能力标签`
3. 推断核对:抽样检查 `(推断)` 标签合理性。
4. 面板核对:标签显示、来源说明、计算功能正常。
---
## 5. 固化为“长期自动工作流”步骤
## 5.1 标准输入约束
- 输入Excel表头固定当前56列
- 若表头变动,流程自动中断并输出差异报告。
## 5.2 自动化流水线
1. `validate_headers`:校验表头是否与模板一致。
2. `clean_data`:删除列、空值处理、文本规范化。
3. `generate_tags`:规则映射 + 保守推断。
4. `import_replace`:全量替换导入。
5. `post_verify`:统计、抽样、接口与前端校验。
6. `checkpoint_gate`:人工确认后放行。
## 5.3 必要人工介入检查点(必须签字)
1. 推断策略抽样检查至少50条推断样本
2. 分类分布异常检查(某类占比异常波动报警)。
3. 面板业务可解释性检查(“为何是该标签”可追溯)。
## 5.4 失败回滚机制
- 导入前快照备份。
- 任一检查点失败 -> 自动回滚到上一版本。
- 记录失败原因和异常样本,进入规则修订队列。
---
## 6. 验收标准(本次)
1. 成功导入 `清洗3.0.xlsx` 全量数据。
2. `监护人2` 数据不再参与模型与标签。
3. `付费能力标签` 分类从后端和面板完全消失。
4. `参加指导最想解决` 缺失场景产出的标签均带 `(推断)`
5. 面板可区分 `original``inferred` 来源。
6. 所有核心接口响应正常,且统计字段一致。
---
## 7. 命名规范已确认(已锁定)
- 推断标签命名风格统一为:`业务短语 + (推断)`
- 示例:`学习动力不足(推断)``亲子沟通修复(推断)``教养方式调整(推断)`
- 执行要求:所有由规则补全生成的“核心问题标签”均必须带 `(推断)` 后缀,原始字段直接命中的标签不得带该后缀。
已进入脚本实现与执行阶段。