自动语音识别 (ASR) 是一种让机器能够将人类语音转换为书面文本的技术。日常生活中,你通过手机上的语音助手、响应指令的智能家居设备以及转录会议录音的软件与之互动。ASR 系统的主要目的是接收复杂的连续波形原始音频信号,并生成所说词语的准确文本形式。从根本上说,ASR 连接了声音的物理维度与语言的结构化层面。这个过程并非一步完成,而是一个由不同组成部分构成的流程,每个部分都有专门的功能。了解这个流程为构建和改进语音识别系统提供了方向。一个典型的 ASR 流程包括特征提取器、声学模型、语言模型和解码器。digraph G { rankdir=TB; bgcolor="transparent"; node [shape=box, style="filled,rounded", fontname="sans-serif", margin="0.2,0.1"]; edge [fontname="sans-serif"]; // Nodes audio_input [label="音频信号\n(波形)", fillcolor="#a5d8ff", fontcolor="#1c7ed6", color="#4263eb"]; feature_extraction [label="特征提取", fillcolor="#96f2d7", fontcolor="#0ca678", color="#12b886"]; acoustic_model [label="声学模型\n(例如:Transformer, LSTM)", fillcolor="#eebefa", fontcolor="#ae3ec9", color="#be4bdb"]; language_model [label="语言模型\n(例如:N-gram)", fillcolor="#ffec99", fontcolor="#f59f00", color="#fab005"]; decoder [label="解码器\n(束搜索)", fillcolor="#ffd8a8", fontcolor="#f76707", color="#fd7e14"]; text_output [label="输出文本\n(转录)", fillcolor="#dee2e6", fontcolor="#495057", color="#868e96"]; // Edges audio_input -> feature_extraction [label=" 预处理", fontcolor="#495057"]; feature_extraction -> acoustic_model [label=" 声谱图 / MFCCs", fontcolor="#495057"]; acoustic_model -> decoder [label=" 字符/音素概率", fontcolor="#495057"]; language_model -> decoder [label=" 词序列概率", fontcolor="#495057"]; decoder -> text_output [label=" 最佳假设", fontcolor="#495057"]; }这是标准 ASR 系统流程图,显示了从原始音频到最终文本转录的数据流。我们来简要介绍一下每个组成部分的作用。特征提取这个过程从原始音频波形开始,它是一个用数学表示为 $x(t)$ 的连续信号。正如你将在本章后面看到的那样,我们将其数字化为一系列数字,$x[n]$。然而,这种原始数字序列并非机器学习模型的有效输入。它维度高,包含冗余信息,并且没有明确表示对区分语音有重要作用的频率特征。特征提取部分将原始音频转换为更紧凑、信息更丰富的表示形式。这涉及到生成梅尔频率倒谱系数 (MFCCs) 或(在现代系统中更常见)对数梅尔声谱图等特征的技术。这些特征突出了语音信号的语音学特点,使模型后续处理任务更简单。我们将用第二章专门介绍这个主题。声学模型声学模型是 ASR 系统的核心部分。它的作用是将提取出的音频特征映射到语音的基本单位,例如音素(最小的声音单位,如“cat”中的 /k/)或者更直接地,字符。现代声学模型是深度神经网络,例如循环神经网络 (RNNs)、长短期记忆网络 (LSTMs) 或 Transformer。它们通过数千小时的转录音频进行训练,以学习声学特征与相应语言单位之间的复杂关联。该模型的输出通常是输入音频每个时间步上所有可能字符或音素的概率分布。第3章和第4章将详细介绍这些模型。语言模型声学模型可以预测声音序列,但它不具备语法知识,也不知道哪些词语可能彼此相随。例如,它可能会发现“wreck a nice beach”和“recognize speech”在声学上相似。这就是语言模型发挥作用的地方。语言模型在文本层面运作,提供给定词语序列的概率。它帮助系统从一组声学上相似的候选中选择最可能的句子。通过整合语言模型,系统能够修正错误并生成不仅在声学上合理,而且在语言上也连贯的转录文本。第5章将介绍构建和整合语言模型。解码器解码器是最终的决策者。它接收声学模型的概率输出,并结合语言模型的分数,以找出最可能的词语序列。一种简单的方法是只在每个时间步选择最可能的字符(“贪婪”搜索),但这通常会导致次优结果。取而代之的是,更复杂的算法如束搜索被用来同时考量多个候选转录(假设),并选择整体概率最高的一个。解码算法及其与语言模型的结合也将在第5章介绍。这种模块化结构为本课程提供了整体框架。我们将从最开始的音频信号本身讲起,逐步讲解这个流程中的每个模块,从而形成构建完整语音识别系统所需的知识和技能。