ASR基础

自动语音识别(Automatic Speech Recognition,ASR)是将语音信号转换为文本的技术,是人机语音交互的核心能力。

预计阅读时间:45分钟·难度:入门

什么是ASR

ASR系统的目标是将音频信号转换为对应的文本序列。这是一个复杂的模式识别问题,涉及信号处理、声学建模、语言建模等多个领域。

核心定义

ASR是在给定音频信号A的情况下,找到最可能的文本序列W,即求解 argmax P(W|A)。这是一个典型的序列到序列映射问题。

应用场景

语音助手

Siri、小爱同学、Alexa等智能语音助手,通过ASR理解用户语音指令。

会议转写

自动生成会议记录,提高会议效率。支持多人识别和说话人分离。

字幕生成

为视频内容自动生成字幕,广泛应用于短视频、在线教育等领域。

客服系统

语音菜单导航、智能客服,提升客户服务效率。

发展历程

时期技术特点
1950s-1970s模板匹配孤立词识别,词汇量小
1980s-2000sHMM-GMM连续语音,统计模型
2010s深度学习DNN-HMM混合模型
2015至今端到端直接音频到文本

识别流程

现代ASR系统通常采用端到端架构,简化了传统多模块的复杂性。

标准处理流程

  1. 1. 音频预处理:分帧、加窗、特征提取(MFCC/Fbank)
  2. 2. 声学编码:将音频特征编码为高层表示(Encoder)
  3. 3. 解码:将编码结果转换为文本序列(Decoder)
  4. 4. 后处理:添加标点、逆文本正则化(ITN)

端到端架构

编码器-解码器结构

编码器将音频特征压缩为隐层表示,解码器根据隐层表示生成文本序列。这是最基础的端到端架构。

CTC模型

连接时序分类(CTC)解决了音频和文本对齐问题,无需帧级别的标注。

Attention模型

使用注意力机制自动学习音频和文本之间的对齐关系。

Transducer模型

结合CTC和Attention的优点,支持流式解码。

系统架构

传统架构 vs 端到端架构

维度传统架构端到端架构
模块数多个独立模块单一模型
训练各模块独立训练联合优化
数据需求需要专业标注只需音频-文本对
部署复杂度
可解释性较好较差

传统架构组成

声学模型

预测每个音频帧对应的音素状态。传统方法使用HMM-GMM,现代方法使用DNN。

发音词典

定义词汇到音素序列的映射。需要语言学专家维护,新词需要人工添加。

语言模型

评估文本序列的概率,帮助消除歧义。常用N-gram或神经网络语言模型。

解码器

在搜索空间中找到最优的词序列,通常使用Viterbi算法或束搜索。

特征提取

特征提取是ASR的第一步,将原始音频信号转换为适合模型处理的特征向量。

常用特征

特征描述维度
MFCC梅尔频率倒谱系数13-40维
Fbank梅尔滤波器组特征40-80维
PLP感知线性预测13维
Wav2Vec特征自监督学习特征768-1024维

预处理步骤

  1. 1. 预加重:补偿高频衰减
  2. 2. 分帧:将连续信号分为短时帧(通常25ms)
  3. 3. 加窗:使用汉明窗减少频谱泄漏
  4. 4. FFT:计算快速傅里叶变换
  5. 5. 梅尔滤波:应用梅尔滤波器组
  6. 6. 对数变换:取对数能量
  7. 7. DCT:离散余弦变换得到MFCC

核心挑战

主要技术挑战

噪声鲁棒性

在噪声环境下保持识别准确率是ASR的核心挑战。解决方案包括:数据增强、前端降噪、鲁棒特征。

口音和方言

处理不同地区、不同口音的语音。需要多样化的训练数据和口音自适应技术。

长语音识别

处理长时语音和上下文依赖。需要有效的上下文建模和注意力机制。

实时性

低延迟流式识别,要求毫秒级响应。需要特殊的流式架构设计。

多说话人场景

识别多人对话并区分说话人。需要说话人分离和重叠语音处理。

评估指标

核心指标

词错误率(WER)

WER = (S + D + I) / N,其中S为替换数,D为删除数,I为插入数,N为参考词数。是ASR最常用的评估指标。

字错误率(CER)

中文场景下常用的指标,基于字符计算错误率。

实时率(RTF)

处理时间与音频时长的比值,RTF < 1 表示可以实时处理。

延迟

从说话结束到结果输出的时间,实时系统要求延迟 < 500ms。

典型性能水平

场景WER范围说明
朗读语音2-5%高质量、无噪声
对话语音5-10%自然口语、偶有噪声
会议场景10-20%多人、噪声、重叠
电话信道10-15%低带宽、背景噪声
----