无障碍语音智能体

11 分钟读完

V17
实战手册 · 语音与实时智能体

无障碍语音智能体:平均值遮住的,恰恰是那些绕不开你的来电者。

你的语音智能体没有一个失败率;它对每一种嗓音都有一个不同的失败率,而你仪表盘上那唯一的数字,是在一个你从未分层过的来电者群体上取的平均。失败得最惨的那些人群——言语障碍或语速缓慢者、口音很重的人、年长的来电者、任何走中继服务打进来的人——恰恰是替代选择最少的那群,于是他们的失败以挂断而不是投诉的形式抵达,从来进不了你的指标。更糟的是,标准的轮替设计不只是对他们视而不见:基于静音的端点检测本身,就是制造这一失败的那台机器。把指标分层,让端点检测自适应,并留出两条不需要说话的通道。

STEP 1

在争论任何别的事情之前,先把指标分层。

接住率、解决率、CSAT 与词错误率全都是平均值,而对一种会聚集的失败来说,平均恰恰是最错的那个统计量。6% 的任务失败率,既可能是「大多数来电者 3%」,也可能同时是「占总量 5% 的某一群人 40%」——而第二种读法描述的,是一项有些人根本用不了的服务。

  • 你没法按残障分层,也不该去试。别问,别推断,别存下一个猜测。你能做的,是按你每通电话上本就在测的声学与交互属性来分层——它们与那些吃力的人群相关,却从不给任何一个人贴标签。
  • 五个不需要新数据的代理量。每分钟词数表示的语速;话语内停顿长度的分布;一通电话里 ASR 重新提示的次数;是否用了 DTMF 回退;以及来电者是否在一次重新提示后十秒内挂断。按每一个分桶,再读你现有的成功指标在各桶里的值。
  • 放弃信号才是要紧的那个。一个失败后升级的来电者会出现在你的转接率里。一个失败后挂断的来电者哪儿都不出现——而后一种行为,更可能来自一个此前就被电话系统辜负过的人。把「紧跟在重新提示之后的挂断」算作一个独立的结果,而不是一次笼统的放弃。
  • 报比值,别报人群。该摆到产品负责人面前的那个数,是最差分桶的成功率除以中位分桶的成功率。一个数,跨版本可比,而且你修好东西时它会动。

第一次测出来多半不好受,而且预计语速最慢的那个桶会差出一大截。那个桶里装着有言语障碍的人、中风恢复期的人、八十多岁的人、使用辅助沟通设备的人,以及正在用第二语言组句子的人。他们彼此几乎没有共同点,除了你的端点检测器对他们一视同仁。

STEP 2

坏掉的是识别这一层,而那份差距是有文献记载的。

出问题的很少是模型。是语音栈,而它的错误率并不是均匀分布的——这一点有很长的测量记录,不是一句猜测。

  • 2020 年 Koenecke 对五套主流商用 ASR 系统的研究发现:在配对的对话语料上,黑人说话者的平均词错误率为 35%,白人说话者为 19%。在生产系统里、在同一项任务上,接近翻了一倍。
  • 2026 年发表的一项针对三套主流商用引擎的工作发现:相对于「标准」播音口音,带口音的语音在字幕准确率上显著劣化,词错误率与语义相似度两项指标上都是如此——第二个指标之所以要紧,是因为它捕捉的是改变了意思、而不只是改变了词的错误。
  • 对于言语障碍,各项研究一致发现朗读语音与对话语音之间存在很大落差,且随严重程度加剧;这道落差在按说话人个性化过的模型里依然存在。个性化有帮助;但它合不上这道缝,而且在一通来自陌生人的呼入电话上,你根本用不了它。

这之所以是一个智能体问题而不是一个转写问题,在于接下来发生的事。你的智能体不是在读转写稿——它是在从里面抽取工具参数。于是识别上的差距变成了动作上的差距:查错了账户、确认错了金额、走错了分支。多语言与语码转换智能体讲的是相邻的那个情形——损害落在姓名与号码上;而这里,损害落在「来电者究竟有没有被听懂」上。

STEP 3

基于静音的端点检测,就是那台制造歧视的机器。

这一部分是真真正正的设计缺陷,而不是模型的局限。一个典型的端点检测器在 500–800 毫秒静音之后宣布这一轮结束——这个阈值是在流利说话者身上调出来的,在那里它产出的是你整个延迟预算所围绕的那种利落轮替。

现在把一个停顿比这更长的来电者放进同一个循环。他们在句子中间停下来换气、找词、在沟通设备上按键,或者因为口吃卡住了。端点检测器触发。智能体开始盖着他们说话。他们接着往下说;打断功能把智能体切断;此时智能体手上只有一个残片,解析不了,于是重新提示——而且往往用的是一句更短的提示,这让下一个窗口感觉更赶。这就是语音智能体失败模式里那个无限道歉循环,只不过它对一群可辨识的人来说是确定发生的,而不是偶尔发生的。

  • 让阈值自适应,并且黏住。第一次重新提示时,就把端点检测阈值大幅抬高——1,500 毫秒是个合理的起点——并在这通电话余下的时间里一直保持。永远别让它棘轮回落。代价是让一个本就吃力的来电者的对话稍微慢一点,而这正是该做的那笔交换。
  • 优先用语义轮次结束,而不是静音。一个因为「这句话在句法上已经完整」而判定轮次结束的模型,能容忍计时器容忍不了的停顿。见轮次与打断;这是支持那套架构的最强的一条无障碍论证,而它很少是被拿来推销它的那一条。
  • 重试时把提示说长,别说短。常见的直觉——用简短的重新提示来省时间——恰恰抽掉了一个正在吃力的来电者所需要的上下文,还传递出不耐烦。重新提示时,给出一个期望答案的具体例子。
  • 只在确认环节抑制打断。打断在几乎所有地方都是必须的。例外是对一项不可逆动作的确认——那里一声咳嗽不该把一笔支付敲定。
  • 留意全双工栈里的连锁反应。删掉轮次就删掉了计时器,这有帮助——同时也引入了一种新的失效:智能体在一段长停顿上附和出声,而来电者停下来听。请专门对着慢速语音测它。
STEP 4

两条永不要求说话的通道,以及一条你多半没测过的信道。

每一个无障碍的语音部署,都始终留着一条非语音路线——而不是把它做成一个来电者必须先听到、再记住的菜单项。

  • DTMF 在每一个提示处都活着,而不只在开头。对一个语音识别不出来的来电者而言,键盘输入是手边最可靠的输入通道,而它通常被实现成一次性的菜单选项然后就关掉了。在对话的任何一点都接受数字输入,并在开场白里说明一次。
  • 一条不需要念咒语就能到达的人工通道。「说『人工』」恰恰对最需要它的那些来电者失效。按 0 应当永远有效,连续三次重新提示应当自动升级,而这次升级应当携带升级与温转接里描述的那个上下文包——一个已经重复了自己四遍的来电者,绝不能从头再来一次。
  • 中继服务会打破你所有的时序假设。在一通 TTY、IP 或字幕电话中继的通话里,中间坐着一个人或一套自动中继:静默长达数十秒,说话的人不是来电者,措辞以第三人称抵达(「她说她的账号是……」),音质则取决于中继那一段给你什么。一个按静音做端点检测、按声音做认证、或假定第一人称措辞的智能体,在这类通话上是成建制地失败的。上线前至少测一条中继路径;多数团队从来没有真的打过这通电话。
  • 别让语音成为唯一的认证因子。声纹会把那些嗓音随身体状况变化的人排除在外,而要求来电者念出一长串标识符,恰恰是识别做得最差的那项任务。语音智能体的来电者核验是从安全角度主张把证明挪出音频通道;无障碍是要这么做的第二条、独立的理由。
STEP 5

输出这一侧,修起来更便宜,而且通常被忽略。

语音信道上的无障碍有一半,在于来电者能不能接收住智能体说的话,而这里没有一处牵涉识别器。

  • 关键信息绝不只说一遍。一个参考号、一笔金额或一个预约时间,应当被重复、被分块念(「四二一……八九三」),并且可以按要求再确认。「再说一遍」必须在任何时点都有效,而且不能把这一轮重来。
  • 口头选项上限是三个。一份口头清单是靠工作记忆撑着的,而第四项会把第一项挤出去。如果你有七个分支,就问一个辨别性的问题,别去念那七个选项——这也正是你在替换一套 IVR 里继承下来的那棵菜单树的解法。
  • 让 TTS 语速可调,并且起始就比你的 demo 慢。语音设计师是拿自己来调语速的。一个在团队听来清爽的语速,对一位年长的来电者是快的,对任何用第二语言在听的人也是快的。把「说慢一点」做成一条能被识别的指令。
  • 别让音频成为唯一的副本。只要你有别的渠道——短信、邮件、账户页面——就把参考号也发过去。这不花什么钱,却把一次「没听懂」变成了一件没发生的事。
  • 留意那段沉默。工具调用期间的长间隙会被读成掉线,并导致挂断。前导语的事在「语音中的工具调用与状态」里讲过;这里特有的一点是:在空气死寂中挂断的那个来电者,通常正是那个已经打得很辛苦的人。
STEP 6

把它做成一道发布闸门,因为一份报告改变不了任何事。

上面这一切,会在有人为了延迟去调端点检测器的第一时间退回默认值。这项工作唯一耐久的版本,是 CI 里一个能拦住部署的数字。

  • 用真实录音搭出人群集。合成的「带口音语音」什么都测不了——TTS 产出的是流利、结构规整、只在上面刷了一层口音的音频,而流利度正是那个起作用的变量。去征集覆盖不同语速、不流利程度、口音、年龄与线路质量的、已获同意的录音,并把那一套当作它本该是的那项资产。评估语音智能体是外壳的来处;这里加的是分层。
  • 对着比值设闸。当最差人群的任务成功率跌到中位人群成功率的某个固定比例之下时,让构建失败。一道比值闸门能挺过一次普遍的质量提升,而一个绝对阈值挺不过。
  • 时序单独计分。端点检测错误——话说到一半被切断,或者等得太久——是它自己的指标,按人群分。它们是先行指标;任务失败是滞后指标。
  • 把升级路径也放进闸门。在测试套件里断言:连续三次重新提示能到达人工。这是那道为「你没想到的一切」封顶损害的控制,而它也是一次重构最先弄坏的东西。
  • 记下投诉通道。一个用不了这个智能体的来电者,需要一条「不是这个智能体」的途径把这件事说出来。见可申辩性与申诉。

这个月做这三件,你就拿到了可得收益里的大半:把上个月的通话按语速分桶,读一读你现有的成功指标在各桶里的值;把端点检测阈值在第一次重新提示后永久抬到 1,500 毫秒;以及亲自通过一次中继服务打一通测试电话。第一件告诉你问题有多大,第二件用一次配置改动的代价修掉其中相当一部分,而第三件会暴露出一处再怎么翻转写稿也找不出来的失效。相关:无障碍智能体界面(屏幕上的对应物)、轮次与打断(那台机器本身),以及评估语音智能体(这一切插进去的那个外壳)。