语音识别系统通过结合多语言训练数据、自适应语言模型和实时语言检测来处理语码转换——即说话者在对话中混合使用多种语言。 核心挑战在于,大多数模型都是在单语言数据集上训练的,因此很难识别语言之间的突然转换。 例如,主要在英语上训练的系统可能会将西班牙语单词错误地识别为语音相似的英语单词。 为了解决这个问题,现代系统使用诸如多语言声学模型(在多种语言上训练)和动态语言模型切换之类的技术,以更好地预测在任何时刻使用的语言。
一种方法是将语言识别 (LID) 集成到识别流程中。 LID 分析短音频片段以检测语言变化,然后切换活动语言模型。 例如,如果用户说“I need ayuda with this code”,系统可能会首先使用英语模型处理“I need”,检测到“ayuda”是西班牙语,然后在句子中间切换模型。 但是,这需要低延迟的 LID 和紧密同步的模型来避免延迟。 另一种方法是使用融合语言模型,该模型结合了来自多种语言的词汇和语法规则。 例如,在印地语-英语语码转换数据上训练的模型可能会学习常见的混合短语,例如“Please check karo the output”。 神经网络,特别是基于 transformer 的模型,还可以通过利用上下文来预测语言转换来提高准确性,即使没有显式的 LID。
开发人员致力于语码转换解决方案,应该优先考虑包含真实世界的多语言对话的数据集,例如 SEAME 语料库(普通话-英语)或 Bangor Miami 语料库(西班牙语-英语)。 Kaldi 或 Whisper 之类的工具提供了使用混合语言数据训练自定义模型的框架。 使用以语码转换的母语人士进行测试至关重要,因为合成数据通常会遗漏诸如口音混合或不规则语法之类的细微差别。 虽然没有系统可以完美处理所有语码转换场景,但结合自适应模型、强大的训练数据和用户反馈可以显着提高双语或多语言应用程序的准确性。