ASR 结束后统一转书面语
概述
接收分段 ASR 文本流,但不要实时输出字幕,而是在检测到整段结束、会话结束、录音结束或调用方显式提交结束信号后,再将累计文本一次性整理成流畅书面语。
默认不翻译。只有在显式提供 target_language 时,才对最终书面结果进行翻译。
此 Skill 适用于:
- 会议发言结束后统一整理
- 采访录音结束后整理为可读文本
- 播客/视频整段转写后的书面化处理
- 语音输入结束后再统一润色
核心行为
采用单次最终输出模型:
- 持续接收分段 ASR 文本流
- 将各分段合并到同一缓冲区
- 在结束信号到来前,不输出面向用户的临时字幕或中间结果
- 在结束时,对整段文本统一去口语化、补断句、修正重复和自我修正
- 输出一版流畅、完整的书面语结果
- 如提供
target_language,则输出目标语言结果;除非调用方明确要求,否则不同时返回原文和译文
结束判定规则
只有在满足以下任一条件时,才进入最终整理阶段:
- 上游显式传入结束信号,例如
is_session_final、end_of_stream、commit=true - 调用方明确表示“结束”“停止”“提交本段”
- 音频或识别流已经结束
- 上游系统给出整段 final 标记
不要仅因为一个句号、一次停顿或一句话结束,就提前输出最终结果。
输入约定
概念上可接收以下输入:
chunk_text:最新 ASR 分段文本recent_context:可选,最近缓冲区或已累计文本domain_lexicon:可选,领域词库,用于人名、产品名、术语、缩写的稳定化target_language:可选,目标语言代码或语言名is_session_final/end_of_stream/commit:可选,结束信号timestamps:可选,时间戳元数据
不要要求调用方必须使用某个固定字段名。接受语义等价字段。
输出约定
默认只输出最终结果,不要输出中间过程。
未结束时
- 不返回面向用户的正式内容
- 如调用方需要,可仅返回“继续接收中”这一类内部状态,但不要生成临时字幕
结束时
- 输出整段整理后的书面语
- 若设置
target_language,则输出翻译后的最终结果 - 除非调用方明确要求结构化数据,否则直接返回最终文本本身
书面化改写规则
在最终整理时:
- 改写成自然、流畅、可直接阅读的书面语
- 删除语气词、口头禅、明显重复、自我修正、断裂表达
- 保留原意、语气、问题/命令/不确定性
- 保留专有名词、数字、时间、事实信息
- 不新增原文没有的信息
- 不写成提纲、要点或总结,除非调用方明确要求
- 优先让整段逻辑顺畅,而不是逐词机械保留
翻译规则
只有在 target_language 被显式提供时才翻译。
翻译时:
- 先基于最终书面语结果再翻译,不直接翻译原始 ASR 碎片
- 保留人名、数字、专有名词和领域术语
- 如提供领域词库,优先保持术语一致性
API 抽象层
所有外部能力都应描述为可替换职责,不要绑定具体厂商 API、SDK、认证方式或传输协议。
推荐抽象接口:
ingest_asr_chunk(...)—— 接收并归一化新的 ASR 分段append_to_buffer(...)—— 将分段并入当前整段缓冲区detect_stream_end(...)—— 判断是否已到整段结束时刻rewrite_to_written(...)—— 将累计口语内容统一改写为书面语translate_text(...)—— 当target_language存在时翻译最终结果commit_final_output(...)—— 提交最终结果并清空或归档当前缓冲区
不要假设任何固定服务商。
建议工作流
- 接收新的 ASR 分段并做基础归一化。
- 将分段追加到当前缓冲区。
- 检查是否收到整段结束信号。
- 若未结束,继续累计,不输出最终文本。
- 若已结束,对整个缓冲区执行书面化改写。
- 若设置了
target_language,再对最终书面语做翻译。 - 输出最终结果。
- 提交结果并清空当前缓冲区,准备处理下一段。
领域词库处理
如果提供 domain_lexicon:
- 优先用它稳定专有名词、缩写和术语
- 在上下文支持时,用它纠正同音误识别或 ASR 变体
- 若上下文明显不支持某个术语,不要强行替换
示例
示例 1:结束前不输出最终结果
输入分段:
今天我们先把登录流程跑通然后再看支付和埋点
如果尚未收到结束信号:
- 不输出最终书面稿
示例 2:结束后统一输出
累计文本:
今天我们先把登录流程跑通 然后再看支付和埋点嗯如果时间够的话再把告警顺手补一下
结束后最终结果:
今天先完成登录流程,再处理支付和埋点。如果时间允许,再补充告警能力。
示例 3:结束后翻译
若同时设置 target_language: en,则输出:
Today, we will complete the login flow first, then handle payments and tracking. If time allows, we will also add alerting.
资源使用
需要查看中文接入说明、可替换接口建议和结束式处理流程时,读取 references/interface-guide-zh.md。