|
| 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) |
0 commit comments