Skip to content

Commit b7bad74

Browse files
committed
docs(foresight): 视频档案框架 v2 设计文档 + v0.9.0 需求登记(REQ-188~193)
1 parent 976b094 commit b7bad74

4 files changed

Lines changed: 253 additions & 0 deletions

File tree

‎docs/Foresight/README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
| [brainstorming-classroom-assistant-mechanisms-fed-guide.md](./brainstorming-classroom-assistant-mechanisms-fed-guide.md) | 机制摘要投喂指南:文档结构与使用方法说明(配套 mechanisms 文档) |
2020
| [brainstorming-video-profile-detection.md](./brainstorming-video-profile-detection.md) | 档案自动检测准确度头脑风暴(2026-08:根因代码级定位(仅标题信号在生效/关键词重叠/无负证据/无反馈闭环)+ 20 项候选 + 三批落地建议) |
2121
| [video-data-extraction-inventory.md](./video-data-extraction-inventory.md) | 视频可提取数据清单(2026-08:音/字/图/构/行/产六层 30 项,逐项标注已投入/未接线/未实现) |
22+
| [video-profile-framework-v2.md](./video-profile-framework-v2.md) | 视频档案框架 v2 设计(2026-08-21:会话 33 实证驱动,四维解耦重新设计——形态 7 类 × 画面价值 4 档 × 领域标签 × 语言预留 + 叙事变体;已排期 v0.9.0 REQ-188~193) |
2223
| [brainstorming-classroom-assistant-gaps.md([ ] 已归档)](../archive/2026-08-19/brainstorming-classroom-assistant-gaps.md) | 课堂助手缺口评估:提取 / 性能 / 算法 / 体验 四维头脑风暴(2026-08:50 项机制评估;§9 裁决 22 项已排期 v0.6.0 → REQ-059~080;未选与远期项保留于归档副本待议) |
2324
| [brainstorming-video-types.md([ ] 已归档)](../archive/2026-08-19/brainstorming-video-types.md) | 视频类型 × 提取优化 × 图片配套 × 结构预处理 × 产物形态 × 补缝式 AI 头脑风暴(2026-08-18:六轮,已采纳进 v0.5.0;2026-08-19 归档) |
2425
| [2026-08-19-ocr-trigger-redesign.md([ ] 已归档)](../archive/2026-08-19/2026-08-19-ocr-trigger-redesign.md) | OCR 触发重做与 UI 面板抑制设计规格(2026-08-19:ADR-011/REQ-086/087 已实施 M1-M3,659 单测全绿,M4 真机验收待执行;2026-08-19 归档) |
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# 视频档案框架 v2:四维解耦重新设计
2+
3+
**状态**: 2026-08-21 头脑风暴定稿(会话 33 实证驱动),待立项——登记 [需求池 REQ-188~193](../product/requirements-pool.md);
4+
关联 [brainstorming-video-profile-detection.md](./brainstorming-video-profile-detection.md)(13 类检测改进候选,v2 为"抛开现有代码"的重新设计)。
5+
6+
## 基本信息
7+
8+
| 字段 | 内容 |
9+
|------|------|
10+
| 主题 | 视频类型档案(VideoProfile)框架重新设计:形态 × 画面价值 × 领域 × 语言 四维解耦 |
11+
| 日期 | 2026-08-21 |
12+
| 动机 | 现有 13 类档案的"教学形态"与"画面参数"耦合,导致会话 33(动画科普)检测失败且无法表达 |
13+
| 原则 | 抛开现有代码约束,从第一性原理重新设计;维度独立降级;本地无 ML 边界内可落地 |
14+
15+
---
16+
17+
## 1. 动机:会话 33 实证
18+
19+
### 真实案例数据(本地数据库 entropy.db,session 33)
20+
21+
| 维度 | 数据 |
22+
|------|------|
23+
| 标题 | 你长大了,该了解公积金了(B站 · 阿强动画) |
24+
| 内容 | 动画故事化科普:小马买房的公积金知识(115s,25 段转写/624 字) |
25+
| 检测结果 | `unknown`(会话开始时的状态)——13 类无匹配 |
26+
| OCR | 215 块:标题卡/要点卡/分区标签(`知识科普|经济管理|提升自己`)/防骗提示 |
27+
| 记忆库 | 会话结束后该标题已有 `lecture` 确认条目(确认在开始之后,时序缺口实证) |
28+
29+
### 暴露的三个系统性问题
30+
31+
1. **"动画科普"类型缺失**:现有 13 类是"教学形态轴",无"呈现形式轴"(动画/真人/录屏/图文/板书)。
32+
动画科普的画像:画面切换频繁(动画帧)→ 若接入帧切换率信号会被误判 hands-on;文字卡片密度高 →
33+
talking-head 的 `ocr_weight=0.1` 严重低估画面价值。
34+
2. **维度耦合**:13 类一张表同时决定产物模板(形态语义)与画面参数(采样/OCR/存储)——
35+
"talking-head"既表达"观点表达"又隐含"画面无信息",无法表达"解说 × 高画面价值"组合。
36+
3. **检测时序缺口**:开始前仅标题信号 → 会话以 unknown 跑完;确认发生在会话后,记忆回填但为时已晚。
37+
38+
---
39+
40+
## 2. 框架 v2 设计:四维 + 一变体
41+
42+
```
43+
检测输出 = 形态(7) × 画面价值(4) × 领域(粗15+细开放) × 语言(预留)
44+
↓ ↓ ↓ ↓
45+
产物模板 画面参数 内容增强 ASR 模型
46+
(独立表) (独立表) (词表/区域预期) (后续版本)
47+
48+
叙事结构 = 产物模板内部变体(故事线/结构化条目/直接教学)
49+
```
50+
51+
### 2.1 维度①:内容形态(7 类,决定产物模板)
52+
53+
| 形态 | 定义 | 产物模板 |
54+
|------|------|---------|
55+
| 讲授 lecture | 连续系统讲解(课程/讲座/精读) | 讲义式(章节+要点+术语+小结) |
56+
| 实操 hands-on | 步骤化操作示范(含跟练/游戏教程) | 步骤卡(关键帧×语音段) |
57+
| 解说 explainer | 知识科普/观点表达(真人或动画) | 叙事线+要点提取(会话 33 归属) |
58+
| 对话 dialog | 多人交流(访谈/会议/对谈) | 纪要式(QA/决策/待办) |
59+
| 题目 exercise | 习题/真题演练 | 题面+讲解对 |
60+
| 代码 coding | 编程构建 | 代码块重建+讲解 |
61+
| 音频 audio | 纯音频/弱画面(播客/有声书) | 摘要文 |
62+
63+
### 2.2 维度②:画面信息价值(4 档,决定采样/OCR/存储)
64+
65+
| 档位 | 特征 | 采样 | OCR 权重 | 存储 |
66+
|------|------|------|---------|------|
67+
| 高 rich | 板书/代码/题面/表格 | 全帧高频(2s) | 1.0 | ImageFirst |
68+
| 中 medium | 动画图文/录屏 UI/PPT | 中频(5-10s) | 0.7 | Balanced |
69+
| 低 low | 真人口播/访谈 | 低频(30s) | 0.1 | TextFirst |
70+
| 无 none | 纯音频 | 跳过画面链 | 0 | — |
71+
72+
**检测规则**(本地、无 ML,三信号加权投票,复用 vote_detect 范式):
73+
74+
| 观测信号 | 高 rich | 中 medium | 低 low | 无 none |
75+
|---------|---------|----------|--------|---------|
76+
| 帧切换率 | 中高(板书书写/翻页) | 高(动画)或中低(PPT) | 低(<5/分) | — |
77+
| OCR 文字密度 | 高(持续满屏文字) | 中(间歇文字卡) | 低(字幕为主) | 0 |
78+
| 区域构成 | table/code/公式区占比高 | 图文混排 | 几乎无区域 | — |
79+
80+
**时间轴策略**(用户裁决 2026-08-21):
81+
- 开始前:默认「中档」+ 诚实声明(不设默认则会话初期采样可能错——动画视频前 2 分钟按低档采样即丢失)
82+
- 会话中:每 2-3 分钟重评一次(约 40-60 帧观测窗口;短视频 2 分钟内定档,长视频可感知内容变化如片头动画→正片板书)
83+
- **升档**(低→中/高):静默生效(更积极的采样无损失)
84+
- **降档**(高→中/低):提示用户确认(降采样可能丢信息,需用户裁决)
85+
- 维度独立:画面档位检测不依赖形态检测(帧切换率/OCR 密度是纯画面观测)——形态 unknown 时画面档照常生效
86+
87+
### 2.3 维度③:内容领域(粗+细两级,决定内容增强)
88+
89+
- **粗领域(10-15 个,带参数)**:经济/编程/数学/语言/化妆美妆/健身运动/法律/医学健康/职场技能/设计创意/音乐/手工…
90+
- 每领域内置种子词表(20-50 词,覆盖 hotwords/区域预期/术语筛选)
91+
- **细标签(开放)**:平台标签原文/术语频率自动命中("公积金"不必枚举)
92+
93+
**作用链**(与现有能力接线):
94+
```
95+
领域标签(经济管理)
96+
├─→ hotwords 预热:VocabManager 通道(REQ-040)→ ASR 命中率↑
97+
├─→ 术语表构建:产物 glossary 用领域词表筛选高频词
98+
├─→ 区域预期:数学→公式区权重↑;代码→code 区;白板→板书区
99+
└─→ 记忆关联:同领域不同视频共享词表
100+
```
101+
102+
**来源(按可靠性排序)**:① 平台分区标签(B站 OCR)→ ② 标题领域词 → ③ 用户确认(检测卡下拉,一次确认进记忆)→ ④ 会话中术语频率自动补全。
103+
104+
**降级原则**:开始前有则生效、无则空领域(不阻塞);会话中自动补全;领域错判代价低,无需确认门禁,用户可随时改。
105+
106+
### 2.4 维度④:语言(预留)
107+
108+
中文/英文/中英混合 → ASR/标点模型选择。当前中文单语,仅设计上预留字段,不实施。
109+
110+
### 2.5 叙事结构(产物模板变体,非独立维度)
111+
112+
故事化叙事(会话 33 的小马故事)→ 讲义/摘要模板的"叙事线 + 要点提取"变体:保留叙事主线,同时提取结构化要点
113+
("1、公积金贷款利息低 2、其他情况可取出")。检测特征:专有名词角色 + 口语故事化转折词。
114+
115+
---
116+
117+
## 3. 信号体系(含平台适配)
118+
119+
```
120+
信号来源分层:
121+
┌─ 通用层(任何平台都有)──────────────┐
122+
│ 窗口标题 / URL / 进程名 / 帧切换率 │
123+
│ / 语速 / 停顿 / OCR 文字密度/区域构成 │
124+
├─ 平台层(各平台特有,适配器解析)───────┤
125+
│ B站:分区标签、防骗提示、视频类型 │
126+
│ 网课平台:机构名、课程名+章节、讲师 │
127+
│ 本地文件:文件路径、目录名(常含分类) │
128+
│ 独立播放器:无平台信号 → 纯内容信号 │
129+
└──────────────────────────────────┘
130+
```
131+
132+
- **轻量平台适配器(①)**:`detect_video_profile` 增加 `platform` 输入(前端从窗口标题/进程名推断:
133+
含"哔哩哔哩"→bilibili;含"学堂在线"→mooc…);初期实现 bilibili(分区标签→领域+画面暗示)与 local(文件路径→关键词投票+路径语义)两个适配器;无平台信号时零回归
134+
- **OCR 标签通用化(③)**:画面内标签/标题卡文字作为通用 OCR 信号接入投票(词表映射扩展),不依赖平台枚举
135+
- **会话观测**:OCR 密度/区域构成 → 画面档位;术语频率 → 领域补全
136+
137+
---
138+
139+
## 4. 交互设计:检测卡 v2(三维一体卡)
140+
141+
```
142+
┌─ 视频档案 ────────────────────────┐
143+
│ 检测为: │
144+
│ 📖 解说 🎨 动画画面 🏷 经济管理 │
145+
│ (置信 72% · 点击可调整) │
146+
│ 会话中将自动观测:画面价值 / 领域标签 │
147+
└───────────────────────────────────┘
148+
```
149+
150+
- 三维(形态/画面/领域)各自可点击下拉修改;修改任一维 → 记忆偏好(同标题/同系列下次直接生效)
151+
- 置信不足的维度高亮"待确认";未知维度显示"识别中"(不阻塞会话开始)
152+
- **档案卡不含"开始捕获"按钮**(用户裁决:开始捕获属于课堂助手采集控制区,档案卡只负责检测与确认)
153+
- 错判代价决定询问门禁:形态(产物模板错)置信低必问;画面价值(开始前默认中档)通常不问;
154+
领域(增强项)不问可改
155+
156+
---
157+
158+
## 5. 与现有系统的映射(实施参考)
159+
160+
| 现有 13 类 | 新 7 类 | 画面档 |
161+
|-----------|--------|--------|
162+
| lecture | 讲授 | 中(板书时升档) |
163+
| hands-on / follow-along / game-tutorial | 实操 | 中-高 |
164+
| talking-head / 动画科普(会话 33) | 解说 | 低(动画升中) |
165+
| interview / meeting | 对话 | 低 |
166+
| exercise | 题目 | 高 |
167+
| coding | 代码 | 高 |
168+
| podcast / live | 音频 | 无 |
169+
| whiteboard | 讲授(画面档=高) | 高 |
170+
171+
迁移要点:记忆库 kind 字段映射;档案配置参数拆解到「7 形态 × 4 画面档」矩阵(产物模板表 + 画面参数表);
172+
现有消费端(融合/产物/存储)契约保持,改检测与档案查表层。
173+
174+
---
175+
176+
## 6. 需求登记(REQ-188~193)
177+
178+
见 [requirements-pool.md](../product/requirements-pool.md)「v0.9.0 · 视频档案框架 v2(规划中)」章节。
179+
180+
---
181+
182+
## 7. 参考
183+
184+
- 会话 33 真实数据:本地数据库 `entropy.db`(2026-08-21 核查)
185+
- [brainstorming-video-profile-detection.md](./brainstorming-video-profile-detection.md)(13 类检测改进候选,v2 的前提分析)
186+
- [video-data-extraction-inventory.md](./video-data-extraction-inventory.md)(六层数据提取清单:A4 语速/A5 停顿/C4 帧切换/B1 字幕/C1 OCR 均已有落库)
187+
- 需求池 [REQ-043](../product/requirements-pool.md)(视频类型档案 v1)

‎docs/product/requirements-pool.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,20 @@
268268
| REQ-186 | 修复:会话列表全选框(当前筛选视图 filtered 口径 + indeterminate 三态;列表/分组视图共用;纯前端本地状态零后端改动) | P2 | 已排期 | v0.7.7 | 段搜索命中视图批量栏隐藏→全选框自然不出现 |
269269
| REQ-187 | 修复:参考图片详情查看(ImagePreviewOverlay 大图预览遮罩 + 相对路径/时间信息栏 + 删除 + ESC/点遮罩关闭;参考图/结构图共用) | P2 | 已排期 | v0.7.7 | 修复 ImageGallery 缩略图无点击处理现状 |
270270

271+
### v0.9.0 · 视频档案框架 v2(第九阶段,2026-08-21 头脑风暴定稿)
272+
273+
> 设计依据:[video-profile-framework-v2.md([ ] 待归档)](../Foresight/video-profile-framework-v2.md)——会话 33(动画科普)实证驱动,四维解耦重新设计;
274+
> 关联 [brainstorming-video-profile-detection.md([ ] 待归档)](../Foresight/brainstorming-video-profile-detection.md)(v1 检测改进候选,v2 为其重新设计版)。
275+
276+
| ID | 需求 | 优先级 | 状态 | 目标版本 | 备注 |
277+
|----|------|--------|------|---------|------|
278+
| REQ-188 | 视频档案框架 v2 四维解耦:形态 7 类(讲授/实操/解说/对话/题目/代码/音频)独立决定产物模板;画面价值 4 档(高/中/低/无)独立决定采样/OCR/存储;13 类→7 类映射迁移(记忆库 kind 映射、档案参数拆解到「7 形态 × 4 画面档」矩阵、消费端契约零改动) | P1 | 已排期 | v0.9.0 | 会话 33(动画科普→解说×中档)归属验证;whiteboard→讲授(画面档=高);podcast/live→音频(无画面档) |
279+
| REQ-189 | 画面价值档位自动检测:开始前默认「中档」+诚实声明;会话中每 2-3 分钟重评(帧切换率+OCR 文字密度+区域构成三信号加权投票,复用 vote_detect 范式);升档静默生效、降档需用户确认;维度独立于形态检测(形态 unknown 时画面档照常生效) | P1 | 已排期 | v0.9.0 | 解决"unknown 跑全程"(会话 33 实证);C4 帧切换/A1 OCR 已落库可接线 |
280+
| REQ-190 | 领域标签体系(粗+细两级):粗 15 领域(内置种子词表 20-50 词)+ 细标签开放(平台原文/术语频率自动命中);接线 hotwords 预热(VocabManager 通道)/术语表筛选/区域预期(数学→公式区、代码→code 区);来源=平台分区标签→标题领域词→用户确认→会话中术语频率 | P1 | 已排期 | v0.9.0 | 领域错判代价低:无需确认门禁,可随时改;细标签"公积金"类不必枚举 |
281+
| REQ-191 | 平台信号适配:轻量平台适配器(detect_video_profile 增 platform 输入,前端从窗口标题/进程名推断;初期 bilibili 分区标签→领域+画面暗示 + local 文件路径→路径语义)+ OCR 标签通用化(画面内标签/标题卡文字入投票词表映射);无平台信号时零回归 | P2 | 已排期 | v0.9.0 | 会话 33 分区标签(`知识科普\|经济管理`)实证;浏览器/独立播放器场景靠通用层信号 |
282+
| REQ-192 | 检测卡 v2 三维一体交互:形态/画面/领域各自可点击下拉修改(修改即记忆);置信不足维度高亮"待确认";未知维度"识别中"不阻塞会话开始;档案卡不含"开始捕获"按钮(归课堂助手采集控制区) | P1 | 已排期 | v0.9.0 | 用户裁决 2026-08-21;询问门禁=错判代价(形态必问/画面不问/领域可改) |
283+
| REQ-193 | 叙事结构产物模板变体:故事线/结构化条目/直接教学;讲义/摘要模板"叙事线+要点提取"变体(专有名词角色+口语故事化转折词检测),保留叙事主线同时提取结构化要点 | P2 | 已排期 | v0.9.0 | 会话 33 故事化科普(小马故事+1/2 要点)实证;模板内部规则,非独立维度 |
284+
271285
### V1.0 · 体验增强(远期)
272286

273287
| ID | 需求 | 优先级 | 状态 | 目标版本 | 备注 |

0 commit comments

Comments
 (0)