面向代码切换语音代理的ASR基准测试
Hugging Face Blog··作者 Hugging Face Blog
关键信息
该数据集来自内部的人力资源和 IT 支持对话,保留了 12 到 40 个词的句子,并过滤掉了电子邮件、电话号码、ID 或 URL 等实体占比过高的样本。作者采用了基于 LLM 的生成流程,并由一位以母语为基础的 AI/NLP 语言学家进行人工审核,最后通过 AU-Harness 发布;他们的主要发现是,代码切换带来的影响会因语言对和模型不同而变化,其中 ElevenLabs Scribe V2、Gemini 3 Flash 和 Assembly AI Universal 3-Pro 在各项指标上表现最好。
资讯摘要
Hugging Face 和 ServiceNow 指出,代码切换是双语者日常交流中的自然现象,但在企业语音代理系统中却长期缺少专门研究。这个项目的直接动因来自一个客户需求:其用户群体以双语为主,而且经常在一句话中间切换语言,因此需要一个更贴近真实场景的语音识别测试。由于语音识别是语音代理流水线的第一步,作者强调,转写错误会继续传递到后续环节,例如工单路由或政策问答。为研究这一问题,他们构建了一个专注于自动语音识别的基准和数据集,而不是直接评测完整语音代理系统。该基准覆盖西班牙语-英语、法语-英语、加拿大法语-英语和德语-英语四组语言对,并以非英语语言作为主框架,在其中嵌入不同长度的英语内容。
数据来自人力资源和 IT 服务管理场景,包括福利、薪资、密码重置、VPN 访问和设备故障排查等问题。作者使用三项指标进行评估:WER 衡量字面转写准确率,SWER 衡量语义保留程度,AER 衡量下游任务表现。此次发布还通过 AU-Harness 提供了数据和评测支持,并给出了七个 ASR 系统的结果,涵盖大型音频语言模型、前沿商业 ASR 和开源模型。核心结论是,代码切换带来的性能损失并不一致,而是取决于语言对和模型;其中 ElevenLabs Scribe V2、Gemini 3 Flash 和 Assembly AI Universal 3-Pro 在整体上表现最好。
资讯正文
全球一半以上的人口使用不止一种语言。对许多双语者来说,代码切换——也就是在不同语言之间无缝切换,甚至可以在一句话中途切换——是日常交流中自然而然的一部分。无论是在闲聊、联络中心,还是 IT 帮助台,讲话者都会灵活地切换到此刻最自然的语言。
尽管双语者在全球范围内十分普遍,但针对语音代理在企业场景中如何处理代码切换语音的研究却很少。因此,当一位客户问我们,面对其以双语客户为主、且经常进行代码切换的用户群,我们的语音代理表现会如何时,我们决定自己构建一个基准和数据集来评估模型。我们重点关注自动语音识别(ASR)——任何语音代理管线中的第一步——因为转录错误会向后传播到每个下游组件。在企业场景中,一张工单被错误分流,或一个关于政策的提问被误解,都会带来真实的运营后果,因此把转录做准,是语音代理管线中尤其重要的一步。
我们的基准覆盖了与客户群最相关的四种语言对:西班牙语-英语、法语-英语、加拿大法语-英语,以及德语-英语。它以非英语语言作为矩阵框架,将英语以不同长度嵌入其中。数据涵盖了广泛的人力资源(HR)和 IT 服务管理(ITSM)场景,包括员工关于福利或薪资的咨询,以及诸如重置密码、VPN 访问或设备故障排查之类的支持请求。为了衡量不同模型的表现,我们报告三个指标:词错误率(WER)、语义词错误率(SWER)和回答错误率(AER)。我们选择这些指标,是为了同时捕捉(1)模型在转录上的精确准确性,以及(2)它们为下游任务保留话语含义的能力。
我们通过用于评估语音模型的工具 AU-Harness 发布我们的基准和数据。我们还提供了七个 ASR 系统的结果,其中包括一些大型音频语言模型(LALMs)、前沿 ASR 和开源 ASR。我们的主要发现是,代码切换带来的成本会因所测试的语言对和模型而异。在这项任务上,ElevenLabs Scribe V2、Gemini 3 Flash 和 Assembly AI Universal 3-Pro 在各项指标上表现最佳。
我们首先使用一份内部的 IT 支持和 HR 交互语料库。为了生成每条代码切换话语,我们先准备英语和四种非英语语言之一的平行用户话语,然后筛选出适合进行代码切换的候选项。我们保留 12 到 40 个词之间的话语——长度足够短,适合作为自然的口语轮次;又足够长,能够包含真实的切换机会。我们还会排除那些实体占主导的话语——例如电子邮件、电话号码、ID 或 URL,这些内容会使文本因为必要而一半是英语,而非出于双语选择。最后,我们要求至少有三个可切换的内容词——即不属于实体或产品名称的名词、动词或形容词——以便为生成模型提供足够材料,从而生成有意义的代码切换版本。
从这里开始,我们测试了多种以现实方式结合语言的策略,并最终选择了一个简单的人设提示词,发送给一个 LLM(OpenAI/GPT-5)来生成 code-switched 文本。随后,我们使用 LLM 的语音化处理将文本转换为口语形式,并用 ElevenLabs Multilingual V2 生成音频。之后,每一句话都会由一位 AI/NLP 语言学家审阅,该语言学家是矩阵语言的母语者;被标记的语句会被排除或重新生成并再次审阅。最终数据集包含 259 条西班牙语-英语记录、298 条法语-英语记录、188 条加拿大法语-英语记录,以及 173 条德语-英语记录。
我们针对每个模型、每种语言对报告三个指标,旨在衡量转录准确性、意义保留以及下游任务表现:
- 词错误率(WER)。除了按语言对统计的整体 WER 之外,我们还报告了按单一语言划分的 WER。
- 语义 WER(SWER)。该分数表示被判定为在语义上有意义的错误发生率。我们的实现主要基于 Pipecat 的 STT 基准测试,并使用 Gemma-4-31B 作为评判模型。
- 答案错误率(AER)。该指标直接衡量转录错误是否会传播为下游失败。它是一个问答指标,遵循 Bhushan 等人(IISc/ARTPARK,arXiv 2507.16456)的方法。对于每一句话,我们生成三个下游理解问题,并衡量读取 ASR 转录文本的 LLM 是否能够正确回答。流程如下面的图示所示。
我们评估了以下模型:
- AssemblyAI / Universal 3-Pro
- Deepgram / Nova 3 Multilang
- ElevenLabs / Scribe V2
- Google / Gemini 3 Flash
- Mistral AI / Voxtral Small 24B-2507
- Nvidia / Parakeet TDT 0.6b V3
- OpenAI / Whisper Large V3 Turbo
我们从两个维度分析了错误:
- 词级准确率,通过 WER 衡量。WER 是标准方法:它将真实转录与模型输出进行对齐,并量化两者之间的距离。尽管它简单且被广泛使用,但它无法区分一个轻微的拼写差异和一个完全错误的词。
- 语义准确率,通过 SWER 和 AER 体现。SWER 为我们提供了句子层面表现的整体视图,不过它反映的是评判模型的判断,而不是直接的下游测试。相比之下,AER 是一个功能性测试:对于每一句话,三个理解问题用于衡量最关键的细节——病例编号、姓名、日期、请求原因——是否在转录中得到了保留。
当模型在这些指标上的表现出现分化时,指标之间的差异就会变得最有意义。
- ElevenLabs/Scribe V2 和 AssemblyAI/Universal-3 Pro 是转录准确率最高的两款模型。它们在西班牙语-英语上并列第一,在其他所有语言对上的差距为 0.02-0.13 个百分点,而 Scribe 在每一项上都略微领先。
谷歌/Gemini 3 Flash 在所有语言对上的表现都紧随其后,其中在加拿大法语-英语这一对上落后最多,较 Scribe 低 0.14 分、较 AssemblyAI 低 0.12 分。Deepgram/Nova-3、Mistral/Voxtral 和 Nvidia/Parakeet 处于中游,各自至少在一个语言对上领先。Parakeet 整体上是这三者中最弱的,但在德语-英语上缩小了差距,在这一项上它的表现优于 Nova-3 和 Voxtral。
OpenAI/Whisper Large V3 Turbo 排在最末,WER 范围从 0.16 到 0.61 不等。虽然这一差距相当明显,但也反映了 Whisper 已知的局限性。在未显式指定语言参数、且音频为代码切换语音时,Whisper 默认会把内容翻译成英语,而不是进行转录,因此无法保留音频中实际说出的语言。
语义指标与 WER 的整体趋势大体相似,但也存在一些反转。
Scribe V2 仍然位居第一,SWER 和 AER 分数都非常低。
尽管 Assembly AI 在各语言对上的 WER 排名通常位于第一或第二,Gemini 3 Flash 在 AER 上始终优于它,并将 AssemblyAI 挤到第三位。SWER 也呈现出同样的模式,不过在西班牙语-英语上,AssemblyAI 优于 Gemini。作为一种 LALM,Gemini 针对语言理解和推理进行了优化,这可能使它在对语义敏感的指标上更有优势,即使其原始转录准确率略逊一筹。
Whisper 的表现也出现了类似的变化。尽管它依旧稳定排在最后,但在语义指标下,它的落后幅度明显缩小,这是因为它倾向于将代码切换音频翻译成英语而不是转录。
语义结果还显示出 SWER 和 AER 之间存在显著一致性。这两个指标的粒度不同——SWER 会汇总每个词的错误,而 AER 则衡量每个发言片段中三个理解问题能否被正确回答——因此分值尺度上的差异是可以预期的。值得注意的是,不同模型在这两个指标上的相对排名非常稳定。唯一明显的例外是 Deepgram Nova-3,它在 SWER 上处于中游,但在所有语言对的 AER 上都排在倒数第一或倒数第二。这个差距在西班牙语-英语上最为明显:Nova-3 的整体语义错误率低于其在最关键细节上的错误率。
虽然这些结果清楚地展示了代码切换语音上各模型的相对表现,但它们并不能揭示错误究竟源自转录本身的内在难度,还是源自语言切换带来的额外挑战。
为了分离代码切换的成本,我们将每个发言片段分别送入三种音频条件下的评估流程:代码切换音频、相同内容的单语矩阵语言音频,以及单语英语音频。对于每个发言片段,我们测量代码切换与单语条件之间的 WER 差值,并在整个基准测试中汇总这些增量。以下是结果。
- Scribe V2、Gemini 3 Flash 和 AssemblyAI 的整体差距最小,其中 Scribe V2 尤其明显地优于其自身的 L2 基线,表明它对双语输入具有真正的鲁棒性。
- 代码切换的影响也呈现出一个直观的模式:表现最好的系统相对于单语基线只会承受很小的性能损失,而排名较低的模型则会出现更明显的退化,这表明代码切换主要暴露的是鲁棒性差异,而不是对所有模型都以同等程度提高难度。
- 在所有语言对中都出现了一个一致的结构性模式:绿色柱状条(相对于英语的成本)几乎总是比红色柱状条(相对于 L2 的成本)更大,这在预期之中——因为对大多数模型来说,L2 基线本身就比英语更难,所以当以 L2 为参照时,净切换惩罚会更小。最明显的异常值是 Whisper,它相对于英语的退化幅度最大,在德英语对上达到 +0.85。它也是唯一一个在代码切换语音上的表现优于单语 L2 语音的模型——这直接源于它默认执行翻译,从而绕过了矩阵语言本身。
既然我们已经知道代码切换会导致模型出错,接下来就要研究这些错误与哪些具体条件相关。为了解答这个问题,我们拟合了一个两部分模型:
- 首先,我们使用逻辑回归,考察哪些变量与是否至少发生一次转写错误有关。
- 其次,在至少发生一次错误的条件下,我们使用普通最小二乘法(OLS)回归,考察哪些变量与错误幅度有关。
这种两部分方法使我们能够区分:一类因素会让错误更有可能发生,另一类因素则会影响错误一旦发生后会有多大。两个步骤都包含相同的预测变量:(1) 话语中语言切换的次数;以及 (2) 话语的 Code-Mixing Index(CMI)——即按照 Gambäck 和 Das 的定义,相对于矩阵语言,从第二语言中抽取的词语所占比例。我们还将话语长度作为控制变量纳入模型,因为更长的话语提供了更多出错机会。
从模型的第一部分结果来看,话语中语言切换的次数是与是否发生转写错误最稳定相关的预测变量。每一次语言变化似乎都会给转写过程增加一个额外的失败机会。这种关系在法英语言对中尤其显著,七个模型中有六个都体现了这一点。其他预测变量——CMI 和话语长度——与错误发生之间仅显示出少数显著关系。
当问题转向错误幅度时,会出现另一种模式。与其说是切换次数,不如说是 CMI 更能作为更强的预测指标。尤其在德英语言对中,七个模型里有四个显示,CMI 与 WER 之间存在显著的正相关关系。这表明,一旦出现错误,其严重程度并不取决于说话者切换语言的频率,而是取决于混合的整体密度:一句话将两种语言交织得越彻底,最终产生的转写错误往往就越大。
这个两部分模型解释了哪些因素与错误的发生和恶化相关。我们的最后一个实验考察了代码切换语句中的哪些部分会对这些错误产生不成比例的贡献。为了测试错误在英语部分和非英语部分是否会以不同方式分布,我们使用 GPT-5 按语言给每个词打标签,然后将每个转写错误归因到其发生位置所在词的语言上,计算按语言划分的 WER。下方的热力图展示了结果。所有模型和语言对中的模式都一致:错误更多集中在语句中的英语部分,而不是矩阵语言部分。这一点出人意料——英语通常是这些模型在单语场景下表现最好的语言。一个解释是,代码切换语音中的英语片段可能更集中地包含技术词汇或专有名词,而这些内容更难转写。另一种解释是,无论嵌入的是哪种语言,嵌入式语言片段都会形成一个更具挑战性的上下文:当模型在语句中途切换到一段非矩阵语言时,它必须在发音和词汇层面的不同语域之间即时调整,从而在恰好那一段更容易出错。
这一结果表明,代码切换 ASR 中的转写难点并不只集中在切换点本身,而是更广泛地延伸到嵌入语言片段。进一步厘清这一模式究竟反映的是英语片段的词汇特征、它们作为嵌入语言的结构角色,还是当前模型在语句中途调整的能力有限,是未来研究的一个有前景的方向。
有几项局限值得说明:
- 该基准是合成的。所有音频都是通过文本转语音(TTS)模型生成的,而不是由自然的双语说话者录制。因此,这一基准可能无法完全捕捉真实代码切换语音的韵律和语音学特征。
- 所有模型都只使用了“自动语言检测”进行评估。一些系统提供其他配置——例如强制语言标记、多语言提示等——这些配置可能会提高在代码切换音频上的转写质量。我们之所以选择自动检测,是因为它更接近生产环境中的使用场景:系统事先并不知道来电者会使用哪种语言对。
按语言划分的 WER 不包含插入错误。我们的按语言 WER 计算方法是:先将参考文本中的每个词标记为英语或非英语,然后把错误归入相应的类别。插入词无法在不额外调用模型来识别该插入词语言的情况下归属到某一种语言,因此我们在按语言的计算中排除了插入错误。不过,它们仍然计入总 WER。
代码切换长期以来一直是语音模型的一项压力测试。我们的结果表明,对于最好的前沿 ASR 系统而言,这正越来越成为一种常态。
当企业谨慎选择其 ASR 系统时,双语客户可以自然地说话——根据对话需要在句子中途切换语言——而不会牺牲转录质量或下游任务表现。我们基准测试中的顶级模型,相较于各自的单语基线,在处理代码切换语音时带来的性能损失出人意料地小,而语义指标则呈现出更令人鼓舞的结果。
但情况并非一律乐观。在做出生产决策之前,你必须针对客户实际使用的语言进行基准测试——不同模型和语言对之间的表现差异相当大,而西班牙语–英语使用者的最佳选择,并不一定也是德语–英语使用者的最佳选择。
来源与参考