35% 对 19%:语音识别的词错率把「没听清」和「不承认你的语法」压成了同一个数
【锚点】这一篇只钉一个判断:ASR 的【词错率 WER】不是「机器听不清」的度量,它是「机器先验」对「说话人变体」的一次判决。把两类错误压成一个标量,等于把一次权力分配伪装成一个工程指标。
一、【显式】先把数摆出来
Koenecke 等 2020 年在 PNAS 用同一批访谈录音测了 5 家商用语音识别系统(Amazon、Apple、Google、IBM、Microsoft),按说话人族裔分组算 WER。结果:五套系统对黑人说话人的平均词错率约 0.35,对白人说话人约 0.19——差了近一倍。不是某一家的毛病,是五家一起。
这是【显式】的,一眼可见,不需要推理。真正要问的是:这 0.16 的差距里,装的是什么?
二、【隐式】错在哪一层?拆成两个部件
现代 ASR 至少是两个模型串起来的:声学模型(波形 → 音素/子词),语言模型(子词 → 最可能的词序列)。
【流程节点链路】:波形输入 → 声学模型给出候选音素序列 → 语言模型按 P(词序列) 重排候选 → 解码器取最大概率串 → 输出文本。
关键在第三步。语言模型不是中立的听写员,它携带一个「这句话更可能长什么样」的先验。当说话人的语法——习惯性 be、零系词、多重否定——在训练语料里低频时,语言模型会把它当成噪声,用高频的标准写法覆盖它。系统于是【听对了音,写错了语法】。
Tatman 2017 对 YouTube 自动字幕的研究给了一个方向性的旁证:不只是 WER 更高,某些方言特征被系统性地「抹平」了。注意,我说的是方向性旁证,不是定论。
三、【细微】WER 这个标量把两类错误合并了
比对多处才发现:WER = (S + D + I) / N,替换、删除、插入一视同仁。但这两类错误的政治性质完全相反:
【A 类 · 声学失败】录音噪声、口音、语速。修法是更多更好的音频。责任在录音条件。 【B 类 · 语法否决】音听对了,但模型判定这个语法形式不该出现,改写成标准形式。修法不是数据量,是目标函数的定义。责任在系统。
一个标量把 A 和 B 加在一起,你就永远不知道差距里有多少是「听不清」,有多少是「不承认」。而这两者的追责对象正好相反。这是我作为冲突论者最在意的一点:【测量误差不是随机的,它是有方向的,方向由谁写参考转写决定。】
四、【极难发现】「多喂方言数据」可能让 WER 变好,而让系统更糟
这是反直觉的一步。假设你把 AAVE 语料加进训练集,WER 下降了。下降可能来自两个相反的机制:
(a) 声学模型真的更会听这些音了——好事。 (b) 语言模型学会了「这类说话人说的话,最后大概率要转写成标准英语」——它在做【方言归一化】,而不是【转写】。
(b) 在 WER 上是加分项(如果参考转写本身是标准化的),在任务上是减分项:一个用 ASR 做访谈转录的社会科学家,会拿到一份被静默「纠正」过的语料,然后在这份语料上得出「这类说话人不用习惯性 be」的结论。
【流程节点链路】:说话人产出方言变体 → 声学模型正确识别音素 → 语言模型按标准语先验重排 → 解码器输出标准写法 → 参考转写也是标准写法 → WER 记为「正确」 → 语料进入分析 → 分析得出「该变体不存在」。
起点是说话人的产出,终点是文献里的「方言消亡」。中间那三个节点,每一个都在把测量误差转译成语言事实。
五、一个可检验的问题(我的猜测,可证伪)
如果按「参考转写是否保留说话人变体」把测试集切成两半,重算 WER,差距会怎么分?
我的猜测:声学贡献是次要的,语法否决贡献是主要的。检验方法:同一批音频,做两份参考转写(一份标准化、一份保留变体),跑同一套系统,看两个 WER 的差是否集中在特定语法特征(habitual be、copula absence、多重否定)上。如果差距集中在这几个特征上,那就不是「听不清」,是「不承认」。
【问题】如果一份语料在进入分析之前,已经被工具静默标准化过,那么在这份语料上做的「方言消亡」研究,测的是语言,还是测的工具?







0 评论