fix: 完成 doco src layout 重构,文件移至 src/doco/ 子目录
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# Handoff to opus_chat · TPS三方融合子模块
|
||||
|
||||
> 这份是发给中台 opus_chat 的最短交接说明。完整设计见 `project_design.md`。
|
||||
|
||||
---
|
||||
|
||||
## 这是什么
|
||||
|
||||
《军事科技》TPS(终版文稿生成中台)下的一个子模块,叫"三方融合"。
|
||||
|
||||
**它做的事**:把三份资料合并成一份贴近实际播出的终版 docx 文稿,并生成一份差异报告。
|
||||
|
||||
三份资料是:
|
||||
1. **A 稿** — 编导手写定稿(docx,有【主持人N】【解说N】【专家N】【动画N】结构标签)
|
||||
2. **B 稿** — OCR 扒词(txt,带 `[Nm Ns]` 时间戳,有 OCR 错字)
|
||||
3. **ASR** — 讯飞录音文件转写结果(txt,带 `[Nm Ns]` 时间戳,有同音误识)
|
||||
|
||||
---
|
||||
|
||||
## 你需要记住的 5 件事
|
||||
|
||||
### 1. 三方权威优先级(**最重要,不要搞反**)
|
||||
|
||||
| 看什么 | 信谁 |
|
||||
|---|---|
|
||||
| 术语 / 人名 / 装备型号 / 事实 | **A 稿** |
|
||||
| 标点 / 语序 / 口吻 | **ASR** |
|
||||
| OCR 字形错(肘/时、娈/变) | 用 **ASR 或 A 稿** 覆盖 B 稿 |
|
||||
| 整段是否存在 | **B 稿 + ASR 联合**判定 |
|
||||
|
||||
为什么 A 稿术语优先?demo 中 ASR 把"美以两国"识别成了"美伊两国"——句子通顺、语义荒谬。无 A 稿无法发现。
|
||||
|
||||
### 2. 架构是双层(不是单层 AI)
|
||||
|
||||
```
|
||||
规则层(Python) AI 层(Claude API)
|
||||
├ OCR 错字映射 ├ 段落对齐
|
||||
├ A 稿术语字典覆盖 ├ 改动类型判定
|
||||
├ 时间戳对齐 ├ 整段改写边界
|
||||
├ 数字 / 标点规范化 └ 编导笔误识别
|
||||
└ 口语词清理(可配置)
|
||||
```
|
||||
|
||||
确定性的事走规则层,需要语义判断的事走 AI 层。**不要全塞给 AI**。
|
||||
|
||||
### 3. 输入有严格规范
|
||||
|
||||
- **A 稿**:自然段开头 `【…】` 是结构标签;`隔断:【…】` 是章节分隔
|
||||
- **B 稿 / ASR**:每行格式 `[Nm Ns] 句子内容`
|
||||
- **音频**(如果走完整流程从音频开始):必须 **16kHz / 单声道 / 16bit WAV**,否则讯飞拒收
|
||||
|
||||
### 4. 讯飞 ASR 有坑(开发前必读)
|
||||
|
||||
- 用"**录音文件转写(标准版)**",**不要**用"大模型版"(免费包阉割了 `language` 参数)
|
||||
- 领域参数 `pd=mil`(军事节目专用)
|
||||
- 顺滑参数 `eng_smoothproc=true` + `eng_colloqproc=true`
|
||||
- **热词机制**是关键:每期从 A 稿提 200 字以内的专业术语作为 `hotWord`
|
||||
- 讯飞**消费端**(讯飞听见 App)和**开发端**(开放平台)密钥**不通用**
|
||||
- "5 小时免费试用"必须走 0 元购买流程激活
|
||||
- 签名:`signa = base64(HmacSHA1(MD5(appid + ts), secretKey))`
|
||||
|
||||
详见 demo 中的 `xfyun_asr_standard.py`。
|
||||
|
||||
### 5. 输出有两份,不只一份
|
||||
|
||||
- **终版.docx** — 主产物,给档案库
|
||||
- **差异报告.docx** — 副产物,给编导回顾。**差异报告的长期价值可能比终版更高**(能反向分析编导删改偏好)
|
||||
|
||||
---
|
||||
|
||||
## 我和这个模块的关系
|
||||
|
||||
- **你(opus_chat)**:中台对话入口,可能会被用户问到本模块的边界 / 接口 / 状态
|
||||
- **本模块**:被 TPS 主流程调用,输入三份文本,输出两份 docx + 一份 JSON
|
||||
- **不归我管**:音频转码、OCR 识别本身、档案入库、编导确认 UI
|
||||
|
||||
如果用户问以下内容,**统一口径**:
|
||||
|
||||
| 问题 | 答 |
|
||||
|---|---|
|
||||
| "能不能不用 A 稿?" | 不能。会引入 ASR 的同音事实错误,且术语全乱。 |
|
||||
| "能不能不用 B 稿?" | 可以,但失去独立交叉验证;不推荐。 |
|
||||
| "能不能不用 ASR?" | demo 证明 A+B 也能跑,但效果显著下降;不推荐。 |
|
||||
| "ASR 选讯飞还是别家?" | 当前讯飞。已踩坑、已跑通;阿里云是规划中的备份。 |
|
||||
| "AI 用哪个模型?" | Claude Sonnet 4.6 起步,单期 26 分钟节目约 16k 字上下文。 |
|
||||
| "处理一期要多久?" | 正式版预估 15–30 分钟(含人工确认);demo 实测 2 小时但近一半花在踩讯飞坑上。 |
|
||||
|
||||
---
|
||||
|
||||
## demo 状态
|
||||
|
||||
- 已完整跑通一期《现代防空反导大对决》(26 分钟)
|
||||
- 关键术语识别率接近 100%(开启 35 条热词后)
|
||||
- 主要修复:OCR 错字 10+ 类、ASR 同音误识 4 类、编导笔误 1 段、整段删除 2 段
|
||||
- 复盘文档:`实测复盘.md`
|
||||
- 设计文档:`project_design.md`
|
||||
|
||||
---
|
||||
|
||||
## 不一致时怎么办
|
||||
|
||||
如果你(opus_chat)发现本备忘与 `project_design.md` 不一致,**以 project_design.md 为准**。
|
||||
如果你发现 project_design.md 本身需要更新,请同步刘统制片组。
|
||||
Reference in New Issue
Block a user