初探语音识别ASR算法

在语音转写文字的 ASR(自动语音识别)技术的探索之旅中,本文概述了其基本概念与数学原理。语音识别技术历经数十年发展,目前主要分为传统方法与深度学习主导的端到端方法两大类别。

无论采用哪一类型方法,ASR技术都遵循输入、编码、解码、输出的基本流程。在编码过程中,将声音信号这一计算机难以直接处理的原始信号,通过设定时间间隔切成若干小段并提取关键特征形成多维向量,有效完成数据的转换。

解码过程紧随编码步骤之后,涉及到声学模型与语言模型两个关键模型的处理。声学模型将编码得到的向量组合成音素,如中文字母组合,再合成词、短语等基本语义单位。语言模型则致力于修正声学模型可能产生的不合逻辑或语法错误的识别结果,确保最终输出的文本通顺且意义明确。这两大模型的训练都依赖于大量高质量的数据集。

将一段音频信号转换为声学特征向量后,求解与向量关联的最佳文本序列便成为 ASR 的关键目标。在数学表达中,目标是最优解 W* = argmax w P(W|X),其中 P(X|W) 代表声学模型的概率分布,P(W) 则为语言模型的概率分布。考虑到 P(W) 通常为不变量,求解过程中可以简化表达式。

近年来,深度学习与大数据的结合催生了端到端的 ASR 方法,它不再分别计算声学模型与语言模型,而是直接解决 P(W|X) 的问题,将声学与语言两部分模型有机融合。

语音识别实质上是声音与文字的对应过程,它关乎文本组成单位的选择。选择不同的单位,将影响到整个模型的构建难度与性能。单位尺度由大到小,涵盖了从句子到音素的各种可能性。

当前的研究主要集中在两种模型架构:基于隐马尔可夫模型(HMM)的传统架构与基于深度学习的端到端架构。接下来的内容将深入探讨基于这两类架构的语音识别算法设计。