会议纪要自动化里,转写早已不是难点,归属才是。阿里云百炼 CLI 的 bl speech recognize 以 --diarization 开关提供逐行说话人标签,本文基于八组受控对照(合成多人对话、ground truth 内置)给出标签的语义边界、四类失败模式,以及一套可落地的归属管线设计。
命令面与开关语义
bl speech recognize --url <音频 URL 或本地路径> --diarization [--speaker-count n] [--model m],API Key 鉴权,默认模型 fun-asr(异步)。三个语义点先钉死:
其一,分离是纯增量开关。不带开关时为无标签单流逐句转写(实测 10 行 0 标签),带开关才分堆,不想要标签时零额外成本。
其二,分离仅异步模型支持。sync 模型(qwen3-asr-flash)带开关被本地拦截,exit 2,错误原文含迁移提示,点名 fun-asr 与 qwen3-asr-flash-filetrans。该拦截不发请求、不产生调用。
其三,转写粒度按停顿切行,不按说话轮次。六句对话实测切 11 行,一句被拆两行属常态;归属判定必须以"句"为单位回溯行标签,不能以行为单位直接归名。
八组对照与标签语义边界
| 轮次 | 输入 | 标签数 | 结论 |
|---|---|---|---|
| R1 | 两人 6 句 | 2 | 归属错 1 句(短句串标签);自我介绍句标签正确,可作锚 |
| R2 | 同音频关开关 | 0 | 单流无标签 |
| R3 | 同音频 speaker-count 3 | 2 | 与 R1 逐行相同,人数提示不生效 |
| R4 | 三人 9 句 | 2 | 两个男声并入同一标签 |
| R5 | 快交替 8 句 | 2 | 一句被劈两行挂两个标签 |
| R6 | 单人 4 句 | 1 | 不多给假标签;但并句且插入原文没有的词 |
| R7 | 两人 15 句长录音 | 3 | 多出一个假标签(占 5 行) |
| R8 | sync 模型 + 开关 | 拦截 | 本地 exit 2 带迁移提示 |
由 R1/R4/R6/R7 可得标签语义的第一边界:标签数与真实人数无稳定映射,既可少(三人两标签)也可多(两人三标签),单人时正确。任何以标签数推断与会人数的逻辑都应禁止。
由 R3 得第二边界:speaker-count 为提示性参数,不能用于纠正欠分。
由 R5 得第三边界:标签附着在行而非句,停顿可将一句拆入两个标签,按行归名会产生"两人各说半句"的虚构。
由 R6 得第四边界:转写非逐字保证,存在并句与插词(实测多出"以上"二字)及标点变化(逗号变问号),对外引用须回核录音。
八轮对照各自问了什么
先把坐标摆出来:八轮对照,每轮只改一个变量。两人六句开分离是基线(11 行 2 标签、错 1 句);同音频关分离看标签消失(10 行 0 标签);同音频错报三人看提示生不生效(输出逐行相同);三人九句看人数多了标签够不够(2 标签);八句快交替看停顿劈句(9 行、一句劈两标签);单人独白看会不会多给假标签(1 标签、并句加字);两人十五句长录音看时长影响(22 行 3 标签);同步模型开分离看接口怎么回应(本地 exit 2 带迁移提示)。
每轮的真实人数与每句归属在合成脚本里就是标准答案,对照不靠听录音。
四类失败模式的工程处置
失败一,串标签(R1):短句、长停顿边界处发生。处置:承诺/数字/争议句强制回听抽查;其余句接受标签归属。
失败二,欠分合并(R4):相近声线被并入同一标签,整段发言记错人且无告警。处置:三人及以上会议不以标签为归属结论;锚定后对每个标签做"是否可能合并了两个声线"的人工判断,判断依据是标签内自我介绍句与点名句的一致性。
失败三,过分裂(R7):长录音中同一人被拆成多标签,纪要出现不存在与会者。处置:标签数大于已知人数时,先做标签合并候选评估(比较标签内词汇与声线描述),再归名。
失败四,劈句换标签(R5):处置:碎片行(非完整语义)与相邻碎片配对后统一归名,不逐行归名。
数字归一化行为
中文数字与口述数字全部归一为阿拉伯数字:十五天→15天、三月五号→3月5号、百分之十二→12%;口述电话"幺三八零零零零一二三四转六"→13800001234转6。归一为单向过程:值可信、形态不可回推。管线中涉及外拨号码、日期截止的字段应标记"需回核",不入自动写入通道。
归属管线设计(锚定-抽查-留痕)
第一段锚定:以自我介绍句或点名句建立 label→person 映射;无自我介绍的会议在开场采集十秒带名字发言作为锚素材。
第二段抽查:承诺类、数字类、争议类句子回听确认;抽查集大小与会议人数正相关(三人及以上全量抽查承诺句)。
第三段留痕:转写原文、音频文件、锚定映射表三件同档;纪要中每个带名字的句子可回溯到转写行与音频时间点。争议处理对象是录音与当次转写,不是记忆。
批量形态:多段录音循环转写、标签与锚定映射写入任务状态;人工动作集中在循环后的抽查段一次完成。
接入边界
不必接入:单人发言(分离无收益)、仅需文本无需归属(字幕/检索)、三人以上相近声线且无法全量抽查(改按议题记录)。禁止单点依赖:对外引用原话、对外报送承诺记录时,转写标签不构成证据,回核录音为必要条件。
批量与留痕形态
多段录音的批量形态是一个循环:音频路径逐个递给同一条命令,转写原文与标签写入任务状态,锚定映射表单独存一份。人工动作不在循环里,集中在循环后的抽查段一次看完,否则几十段录音又把你拖回逐段回放的老路。
留痕三件套固定为:转写原文、音频文件、锚定映射表。纪要里每个带名字的句子要能翻回转写行与音频时间点,出争议时争议的是录音和当次转写,不是记忆。
可复现性
八组对照的音频由平台预置音色合成、ground truth 内置于探针脚本;原始返回逐份存档;归属判定以原句为单位人工对照原始返回(转写切行细于原句,顺序自动对齐不可靠)。视觉与语音调用存在采样波动,规程以轮次级结论为准。
命令行从CLI 安装页获取,Key 在控制台密钥管理页签发。上线前建议以本企业真实会议录音补跑一轮锚定成功率验收,将合成对话结论扩展为内部基线。