生产级语音识别要解决哪些真实环境的问题?流式识别的架构是什么样的?
先这样答
实验室指标和真实环境的差距来自五个方面。噪声:车载、地铁、会议场景的背景音让干净语音训练的模型准确率骤降,要在前端做降噪、人声分离,训练数据加噪声增强。远场:距离几米后混响和衰减明显,麦克风阵列做波束成形对准说话人。方言和口音:中文方言的发音差异大到接近另一种语言,要么多方言统一模型、要么按方言路由到专项模型。专有词:人名、地名、行业术语的识别错误率高,用热词机制在解码时加权。多人交叠:会议场景两人同时说话,要分离说话人再分别识别。
流式架构的核心矛盾是「见得越多识别越准」和「用户要实时看到结果」。工程解法:音频按几百毫秒分片持续送入,解码器增量输出中间结果——新语音到来时允许修正之前几个字(比如「去医院」被后续语音修正为「去医院吗」),界面显示区分稳定区和可变区。语音端点检测判断一句话说完没有,触发最终结果。指标平衡点由产品定:字幕类产品延迟优先、字错率容忍高些;指令类产品准确率优先、可接受稍高延迟。
端云协同是当前主流:端侧小模型做端点检测和粗识别,断网也能用基础功能;云端大模型精识别,方言和难题上云。
面试官会怎么追问
- 「热词机制怎么实现?」 解码阶段对热词路径加分(shallow fusion),或对输出做拼音级别的替换纠错。热词表按场景动态下发,车载的导航地名、客服的套餐名词各配各的。
- 「中间结果修正会不会让用户觉得结果跳变?」 会,所以 UI 设计上已确认的字定格、修正只发生在最近的窗口内。产品文案也要教育用户实时字幕的本质。
- 「怎么评测算准了?」 字错率 CER 是主指标,但要分场景看:安静办公室和嘈杂车间差几倍,回归测试集必须覆盖目标场景分布,只报总体均值会掩盖场景崩坏。
回答的坑
- 只谈模型准确率不谈延迟和端点检测。流式工程的产品体验一大半在这两处。
- 忽略前端信号处理。降噪和波束成形对最终准确率的贡献经常大于模型升级。
同系列的题
—— 本题完 ——