Files
tps-dashboard/docs/doco/doco_handoff_to_opus_chat.md

104 lines
4.4 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.
# 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 本身需要更新,请同步刘统制片组。