175 lines
6.9 KiB
Markdown
175 lines
6.9 KiB
Markdown
# 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. 命名规范已确认(已锁定)
|
||
|
||
- 推断标签命名风格统一为:`业务短语 + (推断)`。
|
||
- 示例:`学习动力不足(推断)`、`亲子沟通修复(推断)`、`教养方式调整(推断)`。
|
||
- 执行要求:所有由规则补全生成的“核心问题标签”均必须带 `(推断)` 后缀,原始字段直接命中的标签不得带该后缀。
|
||
|
||
已进入脚本实现与执行阶段。 |