早期方法

模板匹配:把语音与预存的模板比对。只能识别有限的孤立词,对说话人差异敏感。

统计方法(GMM-HMM):这是 1990–2010 年代的主流。

  • HMM(隐马尔可夫模型):建模语音的时序结构。语音是连续的时序信号,HMM 擅长处理这类序列。
  • GMM(高斯混合模型):建模每个状态的声学特征分布。

这套方法还需要额外的组件:

  • 声学模型:把声学特征映射到音素;
  • 发音词典:音素到词的映射;
  • 语言模型:哪些词序列更可能出现(如"今天天气"比"今天汽气"更可能)。

局限:组件多、训练流程复杂、需要大量语言学知识(音素标注、发音词典),且对噪声、口音、语速变化鲁棒性不足。

深度学习的进入

大约在 2010 年代初,DNN(深度神经网络)开始替代 GMM 做声学建模,识别准确率大幅提升。

随后,RNN/LSTM 引入了更强的时序建模能力;CNN 也被用于声学特征提取。

端到端模型

真正的范式转变,是端到端(End-to-End)方法:直接从声学特征序列映射到文字序列,不再需要音素、发音词典这些中间表示。

CTC(Connectionist Temporal Classification):解决输入输出长度不匹配的问题。语音帧数远多于文字数,CTC 引入一个"空白"符号,允许模型输出重复字符和空白,再通过规则合并。

RNN-T(RNN Transducer):在 CTC 基础上引入预测网络和联合网络,支持流式识别(边听边出字)。这对实时语音输入很重要。

Attention-based Encoder-Decoder:用注意力机制对齐输入和输出。

Conformer / Transformer 架构:结合卷积的局部建模能力和自注意力的全局建模能力,成为当前主流。

自监督预训练

近年来最重要的进展之一是自监督学习:用海量无标注语音数据预训练模型(如 wav2vec 系列思路),再用少量标注数据微调。

这大幅降低对标注数据的依赖——标注语音的成本很高(需要人工转写),而未标注的语音数据几乎无穷无尽。

现实挑战

远场识别:在数米距离外、有混响和噪声的环境中识别。这需要麦克风阵列波束成形、回声消除等前端处理配合。

多说话人分离:鸡尾酒会问题——在多人同时说话时分离出目标说话人的声音。

口音与方言:模型对训练数据覆盖不足的口音表现明显下降。

领域适应:医疗、法律等专业领域的术语识别。

低资源语言:世界上绝大多数语言缺乏足够的标注数据。

一个应用观察

语音识别的准确率在安静环境下已经很高,但实际用户体验还取决于:

  • 前后端延迟;
  • 标点与断句的合理性;
  • 数字、专有名词的处理;
  • 与下游任务(如语音助手的意图理解)的衔接。

说明:本文为语音技术的公开知识整理。