自动语音识别(Automatic Speech Recognition,ASR)技术是一种将人类语音转换为文本的技术。这项技术旨在促进人与人、人与机器之间的交流,已经在研究领域活跃了超过50年。
近年来,ASR技术的发展主要得益于以下几个关键领域的进步:
摩尔定律:随着多核处理器、通用计算图形处理器(GPGPU)、CPU/GPU集群等技术的进步,复杂模型的训练变得更加高效,显著降低了ASR系统的错误率。
大数据时代:借助互联网和云计算,ASR系统能够获得大量真实应用场景的数据,提高了系统的鲁棒性。
移动智能时代:移动设备、可穿戴设备、智能家居设备和车载娱乐系统日益普及,语音交互成为新的交互入口。
根据不同的限制条件,ASR技术的研究可以分为多个类别。具体分类如图所示。
根据不同的任务,语音识别可分为四类。具体分类如图所示。
语音交互作为新的交互方式,主要应用于两大领域:促进人与人的交流和人与机器的交流。
人与人的交流:应用场景包括翻译系统、微信中的语音转文字、语音输入等功能。语音到语音(speech-to-speech,S2S)翻译系统可以集成到像Skype这样的交流工具中,实现自由的远程交流。S2S系统的主要组成部分是语音识别->机器翻译->文字转语音,语音识别是整个流程的第一步。
人与机器的交流:应用场景包括语音搜索、个人数字助理(PDA)、游戏、车载娱乐系统等。
我们接下来讨论的应用场景和系统都是基于语音对话系统的例子。语音识别技术只是构建完整语音对话系统的一部分,还需要其他技术的支持。
语音识别本质上是一个模式识别问题。给定一段声音,机器需要判断是“a”还是“b”。
这个过程可以分为两个部分:生成机器能理解的声音向量和通过模型算法识别这些声音向量,最终给出识别结果。
系统架构概述
语音识别系统主要分为四个部分:信号处理和特征提取、声学模型(AM)、语言模型(LM)和解码搜索部分。
语音识别技术详解
语音识别的基本单元是语音单元。选择要识别的语音单元是语音识别研究的第一步。
语音单元:可以是单词、音节或音素。具体选择取决于任务的需求,如词汇量大小和训练数据的多少。
信号的数字化和预处理:将声音信号转换为数字信号,包括采样和量化。预处理主要是分帧处理,确保信号的稳定性。
特征提取:从语音波形中提取重要信息,去除无关信息,并将其转换为一组离散的参数向量。常用特征参数包括线性预测系数(LPC)和倒谱系数(如梅尔倒谱系数MFCC)。
短语音识别为单词:将每一帧识别为形状,进而组合成音素和单词。声学模型用于确定每一帧对应哪种形状。
声学模型
声学模型是识别系统的基础,用于计算语音特征向量序列与每个发音模板之间的距离。声学模型通常采用动态时间规整(DTW)、隐马尔科夫模型(HMM)或上下文相关的深度神经网络(CD-DNN-HMM)等方法。
语言模型
语言模型用于将识别出的单词组成有逻辑的句子,减少声学模型上的搜索范围,提高识别准确性。常用的语言模型包括N元语言模型、马尔可夫N元模型、指数模型和决策树模型等。
字典
字典存储所有单词的发音,用于连接声学模型和语言模型。通过字典,可以将识别出的音素转换为单词。
解码器
解码器将训练好的模型按照一定规则组合起来,将新输入的语音识别出来。
在语音识别中,常用的评价标准是词错误率(Word Error Rate,WER)。WER反映了识别过程中交换、删除和插入错误的比例,是评价识别系统性能的重要指标。