语音识别系统的分类、基本构成与常用训练方法 | Machine Speech

2020-08-04 15:15:43 浏览数 (1)

对于想进入语音识别领域的学习者来说,了解语音识别系统的一些基本概念,会有助于更快的进入这个行业的交流平台,本文对语音识别系统的一些常见概念做了整理,希望能对刚开始接触语音学习的人有所帮助。

语音识别系统的应用可以分为两个发展方向:一个方向是大词汇量连续语音识别系统,主要应用于计算机的听写机,以及与电话网或者互联网相结合的语音信息查询服务系统,这些系统都是在计算机平台上实现的;另外一个重要的发展方向是小型化、便携式语音产品的应用,如无线手机上的拨号、汽车设备的语音控制、智能玩具、家电遥控等方面的应用。下面对语音识别系统的一些常见概念进行了整理。.

语音识别系统的分类

从说话者与识别系统的相关性考虑,可以将识别系统分为三类:

• 特定人语音识别系统:仅考虑对于专人的话音进行识别。

• 非特定人语音系统:识别的语音与人无关,通常要用大量不同人的语音数据库对识别系统进行学习。

• 多人的识别系统:通常能识别一组人的语音,或者成为特定组语音识别系统,该系统仅要求对要识别的那组人的语音进行训练。

从说话的方式考虑,也可以将识别系统分为三类:

• 孤立词语音识别系统:要求输入每个词后要停顿。

• 连接词语音识别系统:要求对每个词都清楚发音,一些连音现象开始出现。

• 连续语音识别系统:自然流利的连续语音输入,大量连音和变音会出现。

从识别系统的词汇量大小考虑,也可以将识别系统分为三类:

• 小词汇量语音识别系统:通常包括几十个词的语音识别系统。

• 中等词汇量的语音识别系统:通常包括几百个词到上千个词的识别系统。

• 大词汇量语音识别系统:通常包括几千到几万个词的语音识别系统。

语音识别系统的基本构成

语音识别系统的模型通常由声学模型和语言模型两部分组成,分别对应于语音到音节概率的计算和音节到字概率的计算。一个连续语音识别系统大致可分为五个部分:预处理模块、声学特征提取,声学模型训练,语言模型训练和解码器。

(1)预处理模块

对输入的原始语音信号进行处理(输入的语言信号首先要进行反混叠滤波、 采样、A/D 转换等过程进行数字化,之后要进行预处理,包括预加重、加窗和分帧、 端点检测等),滤除掉其中的不重要的信息以及背景噪声,并进行语音信号的端点检测(找出语音信号的始末)、语音分帧(近似认为在10-30ms内是语音信号是短时平稳的,将语音信号分割为一段一段进行分析)以及预加重(提升高频部分)等处理。

(2)声学特征提取

语音信号是一种典型的时变信号,然而如果把音频的参考时间控制在几十毫 秒以内,则得到一段基本稳定的信号。去除语音信号中对于语音识别无用的冗余信息,保留能够反映语音本质特征的信息,并用一定的形式表示出来,也就是提取出反映语音信号特征的关键特征参数形成特征矢量序列,去掉那些相对无关的信息如背景噪声、信道失真等,以便用于后续处理。目前的较常用的提取特征的方法还是比较多的,不过这些提取方法都是由频谱衍生出来的。声学特征提取的常用方法有线性预测系数(LPCC)和Mel频率倒谱系数(MFCC)参数。

(3)声学模型训练

声学模型是识别系统的底层模型,是语音识别系统中最关键的部分。声学模型表示一种语言的发音声音,可以通过训练来识别某个特定用户的语音模式和发音环境的特征。根据训练语音库的特征参数训练出声学模型参数,在识别时可以将待识别的语音的特征参数同声学模型进行匹配与比较,得到最佳识别结果。目前的主流语音识别系统多采用隐马尔可夫模型HMM进行声学模型建模。

(4)语言模型训练

语音识别中的语言模型主要解决两个问题,一是如何使用数学模型来描述语音中词的语音结构;二是如何结合给定的语言结构和模式识别器形成识别算法。语言模型是用来计算一个句子出现概率的概率模型。它主要用于决定哪个词序列的可能性更大,或者在出现了几个词的情况下预测下一个即将出现的词语的内容。换一个说法说,语言模型是用来约束单词搜索的。它定义了哪些词能跟在上一个已经识别的词的后面(匹配是一个顺序的处理过程),这样就可以为匹配过程排除一些不可能的单词。语言模型一般指在匹配搜索时用于字词和路径约束的语言规则,它包括由识别语音命令构成的语法网络或由统计方法构成的语言模型, 语言处理则可以进行语法、 语义分析。

语言建模能够有效的结合汉语语法和语义的知识,描述词之间的内在关系,从而提高识别率,减少搜索范围。语言模型分为三个层次:字典知识,语法知识,句法知识。对训练文本数据库进行语法、语义分析,经过基于统计模型训练得到语言模型。

(5)语音解码和搜索算法

解码器:即指语音技术中的识别过程。针对输入的语音信号,根据己经训练好的HMM声学模型、语言模型及字典建立一个识别网络,根据搜索算法在该网络中寻找最佳的一条路径,这个路径就是能够以最大概率输出该语音信号的词串,这样就确定这个语音样本所包含的文字了。所以解码操作即指搜索算法:是指在解码端通过搜索技术寻找最优词串的方法。

连续语音识别中的搜索,就是寻找一个词模型序列以描述输入语音信号,从而得到词解码序列。搜索所依据的是对公式中的声学模型打分和语言模型打分。在实际使用中,往往要依据经验给语言模型加上一个高权重,并设置一个长词惩罚分数。当今的主流解码技术都是基于Viterbi搜索算法。

声学模型训练常用方法

声学模型训练是语音识别算法中涉及机器学习的核心环节,也是人工智能和机器学习核心算法的重点应用场所。目前具有代表性的语音识别方法主要有动态时间规整技术(DTW)、隐马尔可夫模型(HMM)、矢量量化(VQ)、人工神经网络(ANN)、支持向量机(SVM)等方法。

(1)动态时间规整算法(Dynamic Time Warping,DTW)

动态时间规整算法(Dynamic Time Warping,DTW)是在非特定人语音识别中一种简单有效的方法,该算法基于动态规划的思想,解决了发音长短不一的模板匹配问题,是语音识别技术中出现较早、较常用的一种算法。在应用DTW算法进行语音识别时,就是将已经预处理和分帧过的语音测试信号和参考语音模板进行比较以获取他们之间的相似度,按照某种距离测度得出两模板间的相似程度并选择最佳路径。

(2)隐马尔可夫模型(HMM)

隐马尔可夫模型(HMM)是语音信号处理中的一种统计模型,是由Markov链演变来的,所以它是基于参数模型的统计识别方法。由于其模式库是通过反复训练形成的与训练输出信号吻合概率最大的最佳模型参数而不是预先储存好的模式样本,且其识别过程中运用待识别语音序列与HMM参数之间的似然概率达到最大值所对应的最佳状态序列作为识别输出,因此是较理想的语音识别模型。

(3)矢量量化(Vector Quantization)

  矢量量化(Vector Quantization)是一种重要的信号压缩方法。与HMM相比,矢量量化主要适用于小词汇量、孤立词的语音识别中。其过程是将若干个语音信号波形或特征参数的标量数据组成一个矢量在多维空间进行整体量化。把矢量空间分成若干个小区域,每个小区域寻找一个代表矢量,量化时落入小区域的矢量就用这个代表矢量代替。矢量量化器的设计就是从大量信号样本中训练出好的码书,从实际效果出发寻找到好的失真测度定义公式,设计出最佳的矢量量化系统,用最少的搜索和计算失真的运算量实现最大可能的平均信噪比。

(4)人工神经网络(ANN)

人工神经网络(ANN)是20世纪80年代末期提出的一种新的语音识别方法。其本质上是一个自适应非线性动力学系统,模拟了人类神经活动的原理,具有自适应性、并行性、鲁棒性、容错性和学习特性,其强大的分类能力和输入—输出映射能力在语音识别中都很有吸引力。其方法是模拟人脑思维机制的工程模型,它与HMM正好相反,其分类决策能力和对不确定信息的描述能力得到举世公认,但它对动态时间信号的描述能力尚不尽如人意,通常MLP分类器只能解决静态模式分类问题,并不涉及时间序列的处理。尽管学者们提出了许多含反馈的结构,但它们仍不足以刻画诸如语音信号这种时间序列的动态特性。由于ANN不能很好地描述语音信号的时间动态特性,所以常把ANN与传统识别方法结合,分别利用各自优点来进行语音识别而克服HMM和ANN各自的缺点。

(5)支持向量机(Support vector machine)

  支持向量机(Support vector machine)是应用统计学理论的一种新的学习机模型,采用结构风险最小化原理(Structural Risk Minimization,SRM),有效克服了传统经验风险最小化方法的缺点。兼顾训练误差和泛化能力,在解决小样本、非线性及高维模式识别方面有许多优越的性能,已经被广泛地应用到模式识别领域。

引用地址

1、 http://www.eepw.com.cn/article/201610/311278.htm

2、 http://www.eeworld.com.cn/szds/article_2018010612887_3.html

3、 https://blog.csdn.net/u014473682/article/details/72155390

0 人点赞