Skip to main content

Why Speech Recognition Struggles with Mixed Korean and English

Gio/10/13/2025/한국어 · English

If you have applied a speech-recognition model to a Korean-language service, you may have found that multilingual models such as Whisper are less reliable than expected. If recognition seems particularly poor in meetings full of foreign technical terms or in the speech of multilingual users who mix languages, you are not imagining it.

In Theta One's recent research, models with error rates below 5% on Korean-only or English-only speech showed errors up to 14 times higher when languages were mixed in one utterance. A model that looks service-ready at a 5% error rate can reach 60% in some use cases. 😱

Here is our research on measuring Korean-English code-switching recognition accurately and finding ways to improve it:


Hello! I'm Gio, an ML engineer responsible for speech AI research and development at Theta One. 😎

Today I'll introduce our paper, HiKE: Hierarchical Evaluation Framework for Korean-English Code-Switching Speech Recognition, and briefly describe Theta One AI's speech-recognition technology.

In this study, we:

  1. proposed HiKE, a framework for evaluating Korean-English code-switching speech recognition;
  2. used it to show that errors in multilingual ASR models, including Whisper, can increase by up to 14 times compared with monolingual speech; and
  3. showed that synthetic data can mitigate some of the problem at relatively low cost.

🤔 What is code-switching?

Code-switching (CS) means alternating between languages within a conversation or context. Mixing Korean with English IT jargon, sometimes called "Pangyo-speak" in Korea, is a familiar example:

"Hey, Gio, 오늘 아침에 dev branch 오류 관련해서 issue 남긴 거 봤어요?"
"Hey, Gio, did you see the issue I filed this morning about the dev branch error?"

People who usually speak with others in only one language may encounter this less often. But code-switching is commonplace in fields such as IT and medicine, where foreign terms travel easily, in language learning, and among multilingual speakers who naturally mix languages.

💭 Forms of code-switching​

The pattern varies by language pair. A speaker may substitute a single noun, adjective, or verb (word-level CS), switch several spans within a sentence (phrase-level CS), or use different languages in different sentences (sentence-level CS). Each poses a different challenge for speech recognition.

With sentence-level code-switching, the switch occurs at a sentence boundary and is relatively regular:

"그 부분은 저희 팀원이 조금 더 잘 설명할 수 있을 것 같은데요. Shawn, will you explain this?"
"My teammate can probably explain that part better. Shawn, will you explain this?"

With word- or phrase-level code-switching, the switch can happen anywhere inside a sentence, creating more and less predictable transition points:

"선생님, 'should have'하고 'would have' 차이가 뭔지 전혀 모르겠어요."
"Teacher, I don't understand the difference between 'should have' and 'would have.'"

Phrase-level switching between languages with different grammars, such as Korean and English, can produce structures that are difficult even for people to parse:

"빙빙 돌려말하지 말고 get to the point로 말 해봐. You know what I'm talking about?"
"Stop talking around it and get to the point. You know what I'm talking about?"

For people working with English technical terms, learning English with AI, or speaking two languages naturally, accurate recognition of this mixed speech is essential.

✨ HiKE: A Korean-English code-switching benchmark with deeper analysis

Theta One AI developed HiKE, the first evaluation framework focused on Korean-English code-switching ASR, to assess a capability that had not been studied systematically.

HiKE stands for Hierarchical Korean-English Code-Switching Benchmark. It measures model performance separately on the three forms of code-switching described above. Previously, without an objective way to assess this performance, teams had to collect hard-to-find data themselves or use models whose code-switching accuracy had not been validated. HiKE gives them a benchmark for comparison and improvement.

Realistic speech across different topics​

To test the behavior that services actually need, HiKE collected code-switching speech across eight topics where people commonly mix languages.

Distribution of the HiKE speech dataset

We classified the collected 2.2 hours of samples by topic and code-switching type so performance could be measured for realistic situations.

Metrics for code-switching speech recognition​

Monolingual ASR is usually evaluated with character error rate (CER) or word error rate (WER). CER is often used for Korean, with its complex syllable structure and frequent spacing errors; WER suits English, where word boundaries are clearer.

One metric alone can be misleading when Korean and English appear together. We used Mixture Error Rate (MER) and Point of Interest Error Rate (PIER) for a more precise evaluation.

MER counts errors at the character level for Korean and at the word level for English. It measures overall transcription accuracy.

MER = (insertions + deletions + substitutions) / N

PIER measures errors only in areas selected by the evaluator. Around code-switching points, it tells us whether a model handles the transition between languages correctly.

<tag 이번> <tag bug> <tag 는> <tag session> management <tag logic> <tag 에> 문제가 있었어
"There was a problem with the session management logic in this bug."

For example, the tagged words mark the regions immediately around language switches. Using both metrics lets us assess general transcription accuracy and accuracy at the points where languages change.

Evaluation results​

# ParamsMERPIERMonolingual
WordPhraseSentenceOverallWordPhraseSentenceOverallKORENG
SenseVoice-small234M29.337.926.833.953.956.638.854.66.47.6
Whisper Tiny38M78.8128.739.1103.889.176.468.581.211.914.6
Whisper Base74M124.784.228.397.892.276.542.481.27.89.8
Whisper Small244M59.246.020.650.169.346.731.655.24.58.3
Whisper Medium769M44.633.617.937.340.651.731.146.13.44.6
Whisper Large1.5B30.623.512.325.843.728.918.934.43.24.4
Seamless2.3B115.071.765.189.078.164.758.269.86.46.3
Audio Flamingo 38.3B79.283.780.881.7102.298.2116.0100.725.16.4
GPT-4oN/A17.827.127.523.325.930.833.528.92.53.3
Theta One STT ✨ 2025.07N/A18.622.59.020.228.530.410.428.6

We evaluated a wide range of multilingual ASR models: CTC-based SenseVoice Small, known for a code-switching-robust architecture; the widely used Whisper family; and large-model systems including NVIDIA's Audio Flamingo 3 and OpenAI's GPT-4o. Most performed well on Korean-only and English-only speech, yet MER and PIER errors rose by roughly 3 to 14 times when the languages were mixed.

Many models suffered especially on word- and phrase-level code-switching, which occurs more often in realistic conversation than switching only between complete sentences. Strong monolingual results can therefore conceal a serious decline in user experience when an ASR model reaches a real service.

We separately evaluated our own Theta One STT model (version 2025.07). It achieved lower MER and PIER error rates than even the much larger GPT-4o model.

Theta One STT, which supports Korean-English code-switching and children's speech recognition, is available in the Theta One AI console.

Improving Korean-English recognition with synthetic data​

If most models have error rates too high to use in Korean-English code-switching, how can we improve them?

Collecting enough natural code-switching speech for fine-tuning would be ideal, but this rare data is expensive and laborious to obtain. We instead constructed synthetic sentence-level code-switching data by concatenating Korean-only and English-only speech, which are easier to source, and used it to fine-tune a model.

MERPIERMonolingual
WordPhraseSentenceOverallWordPhraseSentenceOverallKORENG
Whisper-Medium50.127.345.137.571.033.342.149.13.44.6
(a) Fine-tuned on real data9.9(-34.7)10.3(-23.3)8.0(-9.9)10.0(-27.3)19.8(-20.8)19.1(-32.6)22.7(-8.4)19.5(-26.6)6.0(+2.6)5.2(+0.6)
(b) Fine-tuned on synthetic data21.0(-23.6)27.6(-6.0)7.5(-10.4)23.9(-13.4)33.0(-7.6)32.9(-18.8)16.0(-15.1)32.1(-14.0)3.7(+0.3)5.1(+0.5)
(a) + (b) Real and synthetic data22.6(-22.0)22.7(-10.9)6.0(-11.9)21.8(-15.5)27.9(-12.7)36.9(-14.8)13.5(-17.6)32.0(-14.1)3.9(+0.5)4.9(+0.3)

Evaluation on HiKE showed surprisingly large improvements in MER and PIER even after fine-tuning on synthetic data. It did not match fine-tuning with real code-switching data (a), but simple concatenation can still be useful for a lower-cost proof of concept.

Theta One STT: From code-switching to children's speech​

Training the model is only one step toward using STT in a service. Teams also need metrics that reflect production behavior beyond benchmark scores, model optimization for efficient deployment, a GPU serving platform, and the budget for substantial hosting costs.

Theta One offers a high-performance STT model through an API that supports code-switching and children's speech recognition. We continue working on its accuracy and speed.

Visit Theta One AI's console to try our speech-recognition AI at a reasonable price.

Thank you for reading!

Gio
Research Engineer