CoSE-E: A Benchmark for Code-switched Speech Evaluation in Enterprise Settings
Organizations: ServiceNow AI Research · Qualcomm Technologies, Inc.
Abstract
Code-switching (CS), a seamless alternation between languages within a single utterance, remains a critical challenge in automatic speech recognition (ASR). While prior works focus on conversational CS-ASR, enterprise settings demand evaluation of operational impact beyond edit-distance errors: how code-switching transcription errors propagate to downstream voice agent task failures. In this work, we propose (1) a CS-ASR synthetic benchmark and multidimensional evaluation framework tailored to enterprise domains, (2) systematic evaluation of frontier ASR systems across 5 language pairs, (3) diagnostic analysis of the additional transcription errors that code-switching introduces across language pairs and models. We release COSE-E to support enterprise-focused CSASR evaluation for multilingual voice agents in enterprise deployment.
Figures & tables
| Language Pair | Dataset | Matrix Language | Embedded Language | # utts | words/utt | chars/utt | switches/utt | CMI | switch density | % mono ( ) |
| ES/EN | CoSE-E | ES (64.2%) | EN (35.8%) | 259 | 24.60 | 114.76 | 6.91 | 0.32 | 0.29 | 0.00 |
| CS-FLEURS | ES (80.7%) | EN (19.2%) | 1576 | 26.01 | 129.33 | 5.90 | 0.16 | 0.24 | 3.24 | |
| SWITCHLINGUA | ES (64.5%) | EN (35.5%) | 8110 | 54.95 | 281.99 | 6.71 | 0.32 | 0.13 | 0.95 | |
| FR/EN | CoSE-E | FR (57.2%) | EN (42.8%) | 298 | 21.56 | 98.54 | 4.95 | 0.33 | 0.24 | 0.00 |
| CoSE-E (CA) | FR-CA (73.5%) | EN (26.5%) | 188 | 20.82 | 98.53 | 5.74 | 0.26 | 0.29 | 0.00 | |
| CS-FLEURS | FR (72.2%) | EN (27.7%) | 1315 | 25.46 | 129.82 | 6.17 | 0.19 | 0.25 | 3.42 |
| ES/EN | FR/EN | FR-CA/EN | DE/EN | ZH/EN | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | WER | SWER | AER | WER | SWER | AER | WER | SWER | AER | WER | SWER | AER | WER | CER | SWER | AER |
| Scribe-V2 | .022 | .004 | .033 | .031 | .006 | .051 | .041 | .005 | .030 | .027 | .002 | .021 | .073 | .031 | .006 | .042 |
| Gemini-3-Flash | .028 | .005 | .031 | .040 | .009 | .054 | .055 | .008 | .043 | .046 | .003 | .023 | .090 | .041 | .009 | .059 |
| AssemblyAI | .029 | .004 | .033 | .039 | .009 | .062 | .052 | .006 | .034 | .048 | .003 | .023 | .093 | .046 | .010 | .057 |
| Qwen3-Omni | .042 | .004 | .027 | .061 | .010 | .055 | .071 | .009 | .062 | .063 | .004 | .033 | .040 | .039 | .006 | .041 |
| Voxtral | .049 | .005 | .036 | .060 | .012 | .068 | .059 | .014 | .074 | .081 | .003 | .027 | – | – | – | – |
| Language pair | WER | SWER | AER |
|---|---|---|---|
| EN/DE | 2.62 | 1.38 | 1.50 |
| EN/ES | 1.75 | 2.00 | 2.25 |
| EN/FR-CA | 3.62 | 3.13 | 2.88 |
| EN/FR | 2.00 | 3.50 | 3.38 |
| Friedman | 10.05 | 13.95 | 9.45 |
| .018 | .003 | .024 |
| P(AER worsens) | ||||
|---|---|---|---|---|
| Baseline | entity err. | no err. | RR | OR |
| English | 0.44 | 0.054 | 8.3 | 14.0 |
| non-English | 0.39 | 0.052 | 7.6 | 11.8 |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| Exp 1 (Judge) | Exp 2 (LLM2+Judge) | Flip direction | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Lang. | Qs | Recs | Unan. | Non-u. | Unan. | Non-u. | Flipped | match | mis. | Flip % |
| EN/ES | 777 | 259 | 776 (99.9%) | 1 | 766 (98.6%) | 11 | 3 | 2 | 1 | 0.4% |
| EN/DE | 519 | 173 | 519 (100.0%) | 0 | 515 (99.2%) | 4 | 5 | 3 | 2 | 1.0% |
| EN/FR | 894 | 298 | 893 (99.9%) | 1 | 886 (99.1%) | 8 | 7 | 4 | 3 | 0.8% |
| EN/FR CA | 564 | 188 | 561 (99.5%) | 3 | 559 (99.1%) | 5 | 4 | 3 | 1 | 0.7% |
| Language | Annotator | Passed | Total | Pass Rate | AC1 |
|---|---|---|---|---|---|
| DE | Annotator 1 | 518 | 519 | 99.8% | 0.980 |
| Annotator 2 | 518 | 519 | 99.8% | ||
| Annotator 3 | 506 | 519 | 97.5% | ||
| FR | Annotator 1 | 859 | 879 | 97.7% | 0.978 |
| Annotator 2 | 891 | 894 | 99.7% | ||
| Annotator 3 | 881 | 888 | 99.2% |
| Language | Male Voice | Female Voice | Model | Format |
|---|---|---|---|---|
| English (monolingual) | Adam | Matilda | V2 | 24 kHz, 16-bit PCM |
| German | Finn | Johanna | V2 | 24 kHz, 16-bit PCM |
| French Canadian | Felix Tabarnak | Amelie | V2 | 24 kHz, 16-bit PCM |
| French | Denis Landrieu | Marine | V2 | 24 kHz, 16-bit PCM |
| Spanish | Rodrigo | Cristina Campos | V2 | 24 kHz, 16-bit PCM |
| Mandarin Chinese | Jing | Macy | V3 | 24 kHz, 16-bit PCM |
| Provider | Model ID | Language-ID Setting | Decoding Parameters |
|---|---|---|---|
| AssemblyAI / Universal-3-Pro | universal-3.5-pro | language_detection: True | defaults, streaming: false |
| ElevenLabs / Scribe-V2 | scribe_v2 | language_code omitted | defaults |
| OpenAI / Whisper-Large-V3-Turbo | whisper-large-v3-turbo | language omitted | translate: false, defaults |
| Mistral / Voxtral-Small-24B | Voxtral Small 1.0 (24B) | language omitted | temperature: 0 |
| Deepgram / Nova-3-Multilang | nova-3-multilang | language: "multi" | smart_format: true |
| NVIDIA / Parakeet-TDT-0.6B-V3 | parakeet-tdt-0.6b-v3 | N/A | defaults |
| Metric | Within | |||
|---|---|---|---|---|
| WER | 1464.1 | 918 | 0.23 | |
| SWER | 612.2 | 841 | 0.10 | |
| AER | 200.1 | 918 | 0.03 |
| Condition | WER | SWER | AER |
|---|---|---|---|
| Before T S normalisation | 0.167 | 0.010 | 0.059 |
| After T S normalisation | 0.090 | 0.010 | 0.059 |
| — | — |
| Language pair | WER | SWER | AER |
|---|---|---|---|
| EN/DE | 2.80 | 1.60 | 1.60 |
| EN/ES | 1.20 | 1.60 | 1.80 |
| EN/FR | 2.20 | 4.00 | 4.40 |
| EN/FR-CA | 3.80 | 3.20 | 3.00 |
| EN/ZH | 5.00 | 4.60 | 4.20 |
| Friedman | 17.12 | 15.04 | 13.60 |
| WER | SWER | AER | ||||
| Model | EN | non-EN | EN | non-EN | EN | non-EN |
| FR/EN (10/14, 13/14, 4/14 significant) | ||||||
| AssemblyAI | *** | ** | *** | * | ** | |
| Scribe-v2 | *** | *** | ** | |||
| Gemini-3-Flash | *** | *** | ** | |||
| Qwen3-Omni | *** | *** | *** | *** | * | |
| ES/EN | FR/EN | FR-CA/EN | DE/EN | ZH/EN | |
| Panel 1: CMI | |||||
| Whisper | 1.010 | 0.975 | 0.949 * | 0.969 | 0.950 |
| Scribe v2 | 1.028 * | 1.008 | 1.012 | 1.002 | 0.994 |
| Nova-3 | 1.010 | 0.991 | 1.007 | 0.981 | – |
| Parakeet | 1.026 | 1.010 | 1.000 | 1.002 | – |
| Voxtral-24B | 1.022 | 0.991 | 1.032 | 1.014 | – |
| Language pair | Utterances | Switch count | CMI | |
|---|---|---|---|---|
| (mean sd, range) | (mean sd, range) | (mean sd, range) | ||
| ES/EN | 259 | (10–45) | (1–18) | (9.4–50.0) |
| FR/EN | 298 | (8–41) | (1–14) | (10.5–50.0) |
| FR-CA/EN | 188 | (9–42) | (1–15) | (4.0–50.0) |
| DE/EN | 173 | (9–40) | (1–15) | (5.4–50.0) |
| ZH/EN | 294 | (12–39) | (1–12) | (2.6–50.0) |
| Model | ES/EN | FR/EN | FR-CA/EN | DE/EN | ZH/EN |
|---|---|---|---|---|---|
| Whisper | 57.1 | 82.2 | 88.3 | 96.5 | 96.3 |
| Scribe v2 | 37.8 | 47.3 | 56.4 | 37.6 | 31.6 |
| Nova-3 | 52.9 | 61.4 | 80.9 | 69.9 | – |
| Parakeet | 76.8 | 65.1 | 81.4 | 63.0 | – |
| Voxtral-24B | 41.3 | 58.4 | 70.2 | 68.8 | – |
| Gemini-3 | 36.3 | 50.0 | 68.6 | 53.2 | 54.4 |
| Language pair | max VIF | |||
|---|---|---|---|---|
| ES/EN | 0.66 | 1.86 | ||
| FR/EN | 0.56 | 1.46 | ||
| FR-CA/EN | 0.65 | 2.13 | ||
| DE/EN | 0.60 | 1.60 | ||
| ZH/EN | 0.28 | 1.76 |
| Reference | Je peux accéder à host-2854.corp.local sur mon nouveau laptop. Par contre, I need to set up le VPN pour host-1375.corp.local —vous pouvez me walk through ca? |
|---|---|
| CS hyp. | (Gemini-3-Flash) host-de-win-54.corp.local … host-365.corp.local AER = 1.0 |
| (Parakeet) ostewin54.corp.local … OS365.corp.local AER = 1.0 | |
| (AssemblyAI) hostwin54.corp.local … host365.corp.local AER = 1.0 | |
| Mono hyp. | (English) host-2854.corp.local … host-1375.corp.local AER = 0.0 |
| (French) host-2854.corp.local … host-1375.corp.local AER = 0.0 |
| Reference | …la query sur sn_safe_story …l’opération query_match sur sn_safe_story |
|---|---|
| CS hyp. | (AssemblyAI) SN_Safestory … query match … SN_Safe AER = 0.0 |
| (Parakeet) SNSafeStory … QueryMatch … SnSafeSto AER = 0.0 | |
| Mono hyp. | (English) SN_SAFE_STORY … query_match AER = 0.0 |
| (French) …la requête sur sn_safe_story … query_match AER = 0.0 |
| Entity WER | vs. | |||||
| Category | CS | EN | non-EN | EN | non-EN | |
| IDs | .158 | .038 | .136 | 2,023 | .120 | .022 |
| .293 | .183 | .269 | 651 | .111 | .025 | |
| URL | .160 | .050 | .187 | 3,094 | .110 | .027 |
| Phone | .374 | .286 | .333 | 91 | .088 | .040 |
| Address | .310 | .226 | .243 | 371 | .084 | .067 |
| Entity Error | No Entity Error | ||||||
|---|---|---|---|---|---|---|---|
| Baseline | Pair | Worse | Flat | Worse | Flat | P | |
| EN | ES/EN | 93 | 152 | 87 | 1,441 | 1,773 | .380 |
| FR/EN | 157 | 159 | 106 | 1,628 | 2,050 | .497 | |
| FR-CA/EN | 92 | 106 | 61 | 1,038 | 1,297 | .465 | |
| DE/EN | 38 | 61 | 38 | 1,049 | 1,186 | .384 | |
| non-EN | ES/EN | 70 | 136 | 63 | 1,520 | 1,789 | .340 |