什么是语音识别
如今,许多行业都在运用语音技术来帮助企业和消费者节省时间,甚至是挽救生命。一些示例包括:
汽车:语音识别器通过在车载收音机中启用声控导航系统和搜索功能来改善驾驶员安全性。
科技:虚拟助手越来越多地融入到我们的日常生活当中,尤其是在我们的移动设备上。我们可以在智能手机上(例如通过GoogleAssistant或AppleSiri)使用语音命令来访问虚拟助手以及执行语音搜索等任务,或者通过我们的扬声器、AmazonAlexa或MicrosoftCortana来播放音乐。它们只会继续融入到我们日常使用的产品中,从而推动“物联网”的发展。
医疗保健:医生和护士利用听写应用程序来捕获和记录患者的诊断和治疗记录。
销售:在销售中有多个地方会用到语音识别技术。它可以帮助呼叫中心转录客户与客服之间的数千个电话,从而确定常见的呼叫模式和问题。AI聊天机器人还可以通过网页与客户交谈,回答常见查询并解决基本请求,而无需等待联络中心客服来处理。在这两种情况下,语音识别系统都可以帮助缩短解决消费者问题的时间。
安全:随着技术融入我们的日常生活,安全协议变得越来越重要。基于语音的认证可增加一个可行的安全层。
一文看懂语音识别
语音识别是计算语言学的跨学科子领域,其开发方法和技术,使得能够通过计算机识别和翻译口语。它也被称为自动语音识别(ASR),计算机语音识别或语音到文本(STT)。它融合了语言学,计算机科学和电气工程领域的知识和研究。
一些语音识别系统需要“训练”(也称为“登记”),其中个体说话者将文本或孤立的词汇读入系统。系统分析人的特定声音并使用它来微调对该人的语音的识别,从而提高准确性。不使用训练的系统称为“说话者无关” 系统。使用训练的系统称为“说话者依赖”。
查看详情
浅析语音识别技术的工作原理及发展
浅析语音识别技术的工作原理及发展
语音是人类最自然的交互方式。计算机发明之后,让机器能够“听懂”人类的语言,理解语言中的内在含义,并能做出正确的回答就成为了人们追求的目标。我们都希望像科幻电影中那些智能先进的机器人助手一样,在与人进行语音交流时,让它听明白你在说什么。语音识别技术将人类这一曾经的梦想变成了现实。语音识别就好比“机器的听觉系统”,该技术让机器通过识别和理解,把语音信号转变为相应的文本或命令。
语音识别技术,也被称为自动语音识别Automatic SpeechRecogniTIon,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。语音识别就好比“机器的听觉系统”,它让机器通过识别和理解,把语音信号转变为相应的文本或命令。
语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。语音识别技术正逐步成为计算机信息处理技术中的关键技术。
语音识别技术的发展
语音识别技术的研究最早开始于20世纪50年代,1952年贝尔实验室研发出了10个孤立数字的识别系统。从20世纪60年代开始,美国卡耐基梅隆大学的Reddy等开展了连续语音识别的研究,但是这段时间发展很缓慢。1969年贝尔实验室的 PierceJ甚至在一封公开信中将语音识别比作近几年不可能实现的事情。
20世纪80年代开始,以隐马尔可夫模型(hiddenMarkovmodel,HMM)方法为代表的基于统计模型方法逐渐在语音识别研究中占据了主导地位。HMM模型能够很好地描述语音信号的短时平稳特性,并且将声学、语言学、句法等知识集成到统一框架中。此后,HMM的研究和应用逐渐成为了主流。例如,第一个“非特定人连续语音识别系统”是当时还在卡耐基梅隆大学读书的李开复研发的SPHINX系统,其核心框架就是GMM-HMM框架,其中GMM(Gaussianmixturemodel,高斯混合模型)用来对语音的观察概率进行建模,HMM则对语音的时序进行建模。
20世纪80年代后期,深度神经网络(deepneuralnetwork,DNN)的前身——人工神经网络(artificialneuralnetwork,ANN)也成为了语音识别研究的一个方向。但这种浅层神经网络在语音识别任务上的效果一般,表现并不如GMM-HMM模型。
20世纪90年代开始,语音识别掀起了第一次研究和产业应用的小高潮,主要得益于基于GMM-HMM声学模型的区分性训练准则和模型自适应方法的提出。这时期剑桥发布的HTK开源工具包大幅度降低了语音识别研究的门槛。此后将近10年的时间里,语音识别的研究进展一直比较有限,基于GMM-HMM框架的语音识别系统整体效果还远远达不到实用化水平,语音识别的研究和应用陷入了瓶颈。
2006年Hinton]提出使用受限波尔兹曼机(restricted Boltzmannmachine,RBM)对神经网络的节点做初始化,即深度置信网络(deepbeliefnetwork,DBN)。DBN解决了深度神经网络训练过程中容易陷入局部最优的问题,自此深度学习的大潮正式拉开。
2009年,Hinton和他的学生MohamedD将DBN应用在语音识别声学建模中,并且在TIMIT这样的小词汇量连续语音识别数据库上获得成功。
2011年DNN在大词汇量连续语音识别上获得成功,语音识别效果取得了近10年来最大的突破。从此,基于深度神经网络的建模方式正式取代GMM-HMM,成为主流的语音识别建模方式。
语音识别的基本原理
所谓语音识别,就是将一段语音信号转换成相对应的文本信息,系统主要包含特征提取、声学模型,语言模型以及字典与解码四大部分,其中为了更有效地提取特征往往还需要对所采集到的声音信号进行滤波、分帧等预处理工作,把要分析的信号从原始信号中提取出来;之后,特征提取工作将声音信号从时域转换到频域,为声学模型提供合适的特征向量;声学模型中再根据声学特性计算每一个特征向量在声学特征上的得分;而语言模型则根据语言学相关的理论,计算该声音信号对应可能词组序列的概率;最后根据已有的字典,对词组序列进行解码,得到最后可能的文本表示。
声学信号预处理
作为语音识别的前提与基础,语音信号的预处理过程至关重要。在最终进行模板匹配的时候,是将输入语音信号的特征参数同模板库中的特征参数进行对比,因此,只有在预处理阶段得到能够表征语音信号本质特征的特征参数,才能够将这些特征参数进行匹配进行识别率高的语音识别。
首先需要对声音信号进行滤波与采样,此过程主要是为了排除非人体发声以外频率的信号与50Hz电流频率的干扰,该过程一般是用一个带通滤波器、设定上下戒指频率进行滤波,再将原有离散信号进行量化处理实现的;之后需要平滑信号的高频与低频部分的衔接段,从而可以在同一信噪比条件下对频谱进行求解,使得分析更为方便快捷;分帧加窗操作是为了将原有频域随时间变化的信号具有短时平稳特性,即将连续的信号用不同长度的采集窗口分成一个个独立的频域稳定的部分以便于分析,此过程主要是采用预加重技术;最后还需要进行端点检测工作,也就是对输入语音信号的起止点进行正确判断,这主要是通过短时能量(同一帧内信号变化的幅度)与短时平均过零率(同一帧内采样信号经过零的次数)来进行大致的判定。
声学特征提取
完成信号的预处理之后,随后进行的就是整个过程中极为关键的特征提取的操作。将原始波形进行识别并不能取得很好的识别效果,频域变换后提取的特征参数用于识别,而能用于语音识别的特征参数必须满足以下几点:
1、特征参数能够尽量描述语音的根本特征;
2、尽量降低参数分量之间的耦合,对数据进行压缩;
3、应使计算特征参数的过程更加简便,使算法更加高效。基音周期、共振峰值等参数都可以作为表征语音特性的特征参数。
目前主流研究机构最常用到的特征参数有:线性预测倒谱系数(LPCC)和Mel倒谱系数(MFCC)。两种特征参数在倒谱域上对语音信号进行操作,前者以发声模型作为出发点,利用LPC技术求倒谱系数。后者则模拟听觉模型,把语音经过滤波器组模型的输出做为声学特征,然后利用离散傅里叶变换(DFT)进行变换。
所谓基音周期,是指声带振动频率(基频)的振动周期,因其能够有效表征语音信号特征,因此从最初的语音识别研究开始,基音周期检测就是一个至关重要的研究点;所谓共振峰,是指语音信号中能量集中的区域,因其表征了声道的物理特征,并且是发音音质的主要决定条件,因此同样是十分重要的特征参数。此外,目前也有许多研究者开始将深度学习中一些方法应用在特征提取中,取得了较快的进展。
声学模型
声学模型是语音识别系统中非常重要的一个组件,对不同基本单元的区分能力直接关系到识别结果的好坏。语音识别本质上一个模式识别的过程,而模式识别的核心是分类器和分类决策的问题。
通常,在孤立词、中小词汇量识别中使用动态时间规整(DTW)分类器会有良好的识别效果,并且识别速度快,系统开销小,是语音识别中很成功的匹配算法。但是,在大词汇量、非特定人语音识别的时候,DTW识别效果就会急剧下降,这时候使用隐马尔科夫模型(HMM)进行训练识别效果就会有明显提升,由于在传统语音识别中一般采用连续的高斯混合模型GMM来对状态输出密度函数进行刻画,因此又称为GMM-HMM构架。
同时,随着深度学习的发展,通过深度神经网络来完成声学建模,形成所谓的DNN-HMM构架来取代传统的GMM-HMM构架,在语音识别上也取得了很好的效果。
高斯混合模型
对于一个随机向量x,如果它的联合概率密度函数符合公式2-9,则称它服从高斯分布,并记为x∼N(µ,Σ)。
其中,µ为分布的期望,Σ为分布的协方差矩阵。高斯分布有很强的近似真实世界数据的能力,同时又易于计算,因此被广泛地应用在各个学科之中。但是,仍然有很多类型的数据不好被一个高斯分布所描述。这时候我们可以使用多个高斯分布的混合分布来描述这些数据,由多个分量分别负责不同潜在的数据来源。此时,随机变量符合密度函数。
其中,M为分量的个数,通常由问题规模来确定。
我们称认为数据服从混合高斯分布所使用的模型为高斯混合模型。高斯混合模型被广泛的应用在很多语音识别系统的声学模型中。考虑到在语音识别中向量的维数相对较大,所以我们通常会假设混合高斯分布中的协方差矩阵Σm为对角矩阵。这样既大大减少了参数的数量,同时可以提高计算的效率。
使用高斯混合模型对短时特征向量建模有以下几个好处:首先,高斯混合模型的具有很强的建模能力,只要分量总数足够多,高斯混合模型就可以以任意精度来逼近一个概率分布函数;另外,使用EM算法可以很容易地使模型在训练数据上收敛。对于计算速度和过拟合等问题,人们还研究出了参数绑定的GMM和子空间高斯混合模型(subspaceGMM)来解决。除了使用EM算法作最大似然估计以外,我们还可以使用和词或音素错误率直接相关的区分性的误差函数来训练高斯混合模型,能够极大地提高系统性能。因此,直到在声学模型中使用深度神经网络的技术出现之前,高斯混合模型一直是短时特征向量建模的不二选择。
但是,高斯混合模型同样具有一个严重的缺点:高斯混合模型对于靠近向量空间上一个非线性流形(manifold)上的数据建模能力非常差。例如,假设一些数据分布在一个球面两侧,且距离球面非常近。如果使用一个合适的分类模型,我们可能只需要很少的参数就可以将球面两侧的数据区分开。但是,如果使用高斯混合模型描绘他们的实际分布情况,我们需要非常多的高斯分布分量才能足够精确地刻画。这驱使我们寻找一个能够更有效利用语音信息进行分类的模型。
隐马尔科夫模型
我们现在考虑一个离散的随机序列,若转移概率符合马尔可夫性质,即将来状态和过去状态独立,则称其为一条马尔可夫链(MarkovChain)。若转移概率和时间无关,则称其为齐次(homogeneous)马尔可夫链。马尔可夫链的输出和预先定义好的状态一一对应,对于任意给定的状态,输出是可观测的,没有随机性。如果我们对输出进行扩展,使马尔可夫链的每个状态输出为一个概率分布函数。这样的话马尔可夫链的状态不能被直接观测到,只能通过受状态变化影响的符合概率分布的其他变量来推测。我们称以这种以隐马尔可夫序列假设来建模数据的模型为隐马尔可夫模型。
对应到语音识别系统中,我们使用隐马尔可夫模型来刻画一个音素内部子状态变化,来解决特征序列到多个语音基本单元之间对应关系的问题。
在语音识别任务中使用隐马尔可夫模型需要计算模型在一段语音片段上的可能性。而在训练的时候,我们需要使用Baum-Welch算法[23]学习隐马尔可夫模型参数,进行最大似然估计(MaximumLikelihoodEstimation,MLE)。Baum-Welch算法是EM(Expectation-Maximization)算法的一种特例,利用前后项概率信息迭代地依次进行计算条件期望的E步骤和最大化条件期望的M步骤。
语言模型
语言模型主要是刻画人类语言表达的方式习惯,着重描述了词与词在排列结构上的内在联系。在语音识别解码的过程中,在词内转移参考发声词典、词间转移参考语言模型,好的语言模型不仅能够提高解码效率,还能在一定程度上提高识别率。语言模型分为规则模型和统计模型两类,统计语言模型用概率统计的方法来刻画语言单位内在的统计规律,其设计简单实用而且取得了很好的效果,已经被广泛用于语音识别、机器翻译、情感识别等领域。
最简单又却又最常用的语言模型是N元语言模型(N-gramLanguageModel,N-gramLM)。N元语言模型假设当前在给定上文环境下,当前词的概率只与前N-1个词相关。于是词序列w1,...,wm的概率P(w1,...,wm)可以近似为
为了得到公式中的每一个词在给定上文下的概率,我们需要一定数量的该语言文本来估算。可以直接使用包含上文的词对在全部上文词对中的比例来计算该概率,即
对于在文本中未出现的词对,我们需要使用平滑方法来进行近似,如Good-Turing估计或Kneser-Ney平滑等。
解码与字典
解码器是识别阶段的核心组件,通过训练好的模型对语音进行解码,获得最可能的词序列,或者根据识别中间结果生成识别网格(lattice)以供后续组件处理。解码器部分的核心算法是动态规划算法Viterbi。由于解码空间非常巨大,通常我们在实际应用中会使用限定搜索宽度的令牌传递方法(tokenpassing)。
传统解码器会完全动态生成解码图(decodegraph),如著名语音识别工具HTK(HMMToolKit)中的HVite和HDecode等。这样的实现内存占用较小,但考虑到各个组件的复杂性,整个系统的流程繁琐,不方便高效地将语言模型和声学模型结合起来,同时更加难以扩展。现在主流的解码器实现会一定程度上使用预生成的有限状态变换器(FiniteStateTransducer,FST)作为预加载的静态解码图。这里我们可以将语言模型(G),词汇表(L),上下文相关信息(C),隐马尔可夫模型(H)四个部分分别构建为标准的有限状态变换器,再通过标准的有限状态变换器操作将他们组合起来,构建一个从上下文相关音素子状态到词的变换器。这样的实现方法额外使用了一些内存空间,但让解码器的指令序列变得更加整齐,使得一个高效的解码器的构建更加容易。同时,我们可以对预先构建的有限状态变换器进行预优化,合并和剪掉不必要的部分,使得搜索空间变得更加合理
语音识别技术的工作原理
首先,我们知道声音实际上是一种波。常见的mp3等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如WindowsPCM文件,也就是俗称的wav文件。wav文件里存储的除了一个文件头以外,就是声音波形的一个个点了。下图是一个波形的示例。
图中,每帧的长度为25毫秒,每两帧之间有25-10=15毫秒的交叠。我们称为以帧长25ms、帧移10ms分帧。
分帧后,语音就变成了很多小段。但波形在时域上几乎没有描述能力,因此必须将波形作变换。常见的一种变换方法是提取MFCC特征,根据人耳的生理特性,把每一帧波形变成一个多维向量,可以简单地理解为这个向量包含了这帧语音的内容信息。这个过程叫做声学特征提取。
至此,声音就成了一个12行(假设声学特征是12维)、N列的一个矩阵,称之为观察序列,这里N为总帧数。观察序列如下图所示,图中,每一帧都用一个12维的向量表示,色块的颜色深浅表示向量值的大小。
接下来就要介绍怎样把这个矩阵变成文本了。首先要介绍两个概念:
音素:单词的发音由音素构成。对英语,一种常用的音素集是卡内基梅隆大学的一套由39个音素构成的音素集。汉语一般直接用全部声母和韵母作为音素集,另外汉语识别还分有调无调,不详述。
状态:这里理解成比音素更细致的语音单位就行啦。通常把一个音素划分成3个状态。
语音识别是怎么工作的呢?实际上一点都不神秘,无非是:
第一步,把帧识别成状态。
第二步,把状态组合成音素。
第三步,把音素组合成单词。
如下图所示:
图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。
那每帧音素对应哪个状态呢?有个容易想到的办法,看某帧对应哪个状态的概率最大,那这帧就属于哪个状态。比如下面的示意图,这帧在状态S3上的条件概率最大,因此就猜这帧属于状态S3。
那这些用到的概率从哪里读取呢?有个叫“声学模型”的东西,里面存了一大堆参数,通过这些参数,就可以知道帧和状态对应的概率。获取这一大堆参数的方法叫做“训练”,需要使用巨大数量的语音数据。
但这样做有一个问题:每一帧都会得到一个状态号,最后整个语音就会得到一堆乱七八糟的状态号,相邻两帧间的状态号基本都不相同。假设语音有1000帧,每帧对应1个状态,每3个状态组合成一个音素,那么大概会组合成300个音素,但这段语音其实根本没有这么多音素。如果真这么做,得到的状态号可能根本无法组合成音素。实际上,相邻帧的状态应该大多数都是相同的才合理,因为每帧很短。
解决这个问题的常用方法就是使用隐马尔可夫模型(HiddenMarkovModel,HMM)。这东西听起来好像很高深的样子,实际上用起来很简单:
第一步,构建一个状态网络。
第二步,从状态网络中寻找与声音最匹配的路径。
这样就把结果限制在预先设定的网络中,避免了刚才说到的问题,当然也带来一个局限,比如你设定的网络里只包含了“今天晴天”和“今天下雨”两个句子的状态路径,那么不管说些什么,识别出的结果必然是这两个句子中的一句。
那如果想识别任意文本呢?把这个网络搭得足够大,包含任意文本的路径就可以了。但这个网络越大,想要达到比较好的识别准确率就越难。所以要根据实际任务的需求,合理选择网络大小和结构。
搭建状态网络,是由单词级网络展开成音素网络,再展开成状态网络。语音识别过程其实就是在状态网络中搜索一条最佳路径,语音对应这条路径的概率最大,这称之为“解码”。路径搜索的算法是一种动态规划剪枝的算法,称之为Viterbi算法,用于寻找全局最优路径。
这里所说的累积概率,由三部分构成,分别是:
观察概率:每帧和每个状态对应的概率
转移概率:每个状态转移到自身或转移到下个状态的概率
语言概率:根据语言统计规律得到的概率
其中,前两种概率从声学模型中获取,最后一种概率从语言模型中获取。语言模型是使用大量的文本训练出来的,可以利用某门语言本身的统计规律来帮助提升识别正确率。语言模型很重要,如果不使用语言模型,当状态网络较大时,识别出的结果基本是一团乱麻。
这样基本上语音识别过程就完成了,这就是语音识别技术的工作原理。
语音识别技术的工作流程
一般来说,一套完整的语音识别系统其工作过程分为7步:
1、对语音信号进行分析和处理,除去冗余信息。
2、提取影响语音识别的关键信息和表达语言含义的特征信息。
3、紧扣特征信息,用最小单元识别字词。
4、按照不同语言的各自语法,依照先后次序识别字词。
5、把前后意思当作辅助识别条件,有利于分析和识别。
6、按照语义分析,给关键信息划分段落,取出所识别出的字词并连接起来,同时根据语句意思调整句子构成。
7、结合语义,仔细分析上下文的相互联系,对当前正在处理的语句进行适当修正。
语音识别原理有三点:
1、对语音信号中的语言信息编码是按照幅度谱的时间变化来进行;
2、由于语音是可以阅读的,也就是说声学信号可以在不考虑说话人说话传达的信息内容的前提下用多个具有区别性的、离散的符号来表示;
3、语音的交互是一个认知过程,所以绝对不能与语法、语义和用语规范等方面分裂开来。
预处理,其中就包括对语音信号进行采样、克服混叠滤波、去除部分由个体发音的差异和环境引起的噪声影响,此外还会考虑到语音识别基本单元的选取和端点检测问题。反复训练是在识别之前通过让说话人多次重复语音,从原始语音信号样本中去除冗余信息,保留关键信息,再按照一定规则对数据加以整理,构成模式库。再者是模式匹配,它是整个语音识别系统的核心部分,是根据一定规则以及计算输入特征与库存模式之间的相似度,进而判断出输入语音的意思。
前端处理,先对原始语音信号进行处理,再进行特征提取,消除噪声和不同说话人的发音差异带来的影响,使处理后的信号能够更完整地反映语音的本质特征提取,消除噪声和不同说话人的发音差异带来的影响,使处理后的信号能够更完整地反映语音的本质特征。
原文标题:语音识别技术概述
文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。
语音识别技术所面临的问题与解决方案及未来发展
回顾了语音识别技术的发展历史,描述了语音识别系统的基本原理,介绍了语音识别的几种基本方法,并对语音识别技术面临的问题和发展前景进行了讨论。
1语音识别技术概述
语音识别是解决机器“听懂”人类语言的一项技术。作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。如今,随着语音识别技术研究的突破,其对计算机发展和社会生活的重要性日益凸现出来。以语音识别技术开发出的产品应用领域非常广泛,如声控电话交换、信息网络查询、家庭服务、宾馆服务、医疗服务、银行服务、工业控制、语音通信系统等,几乎深入到社会的每个行业和每个方面。
广泛意义上的语音识别按照任务的不同可以分为4个方向:说话人识别、关键词检出、语言辨识和语音识别。说话人识别技术是以话音对说话人进行区别,从而进行身份鉴别和认证的技术。关键词检出技术应用于一些具有特定要求的场合,只关注那些包含特定词的句子,例如对一些特殊人名、地名的电话监听等。语言辨识技术是通过分析处理一个语音片断以判别其所属语言种类的技术,本质上也是语音识别技术的一个方面。语音识别就是通常人们所说的以说话的内容作为识别对象的技术,它是4个方面中最重要和研究最广泛的一个方向,也是本文讨论的主要内容。
2语音识别的研究历史及现状
语音识别的研究工作始于20世纪50年代,1952年Bell实验室开发的Audry系统是第一个可以识别10个英文数字的语音识别系统。1959年,Rorgie和Forge采用数字计算机识别英文元音和孤立词,从此开始了计算机语音识别。60年代,苏联的Matin等提出了语音结束点的端点检测,使语音识别水平明显上升;Vintsyuk提出了动态编程,这一提法在以后的识别中不可或缺。60年代末、70年代初的重要成果是提出了信号线性预测编码(LPC)技术和动态时间规整(DTW)技术,有效地解决了语音信号的特征提取和不等长语音匹配问题;同时提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。
80年代语音识别研究进一步走向深入:HMM模型和人工神经网络(ANN)在语音识别中成功应用。1988年,FULEEKai等用VQ/I-IMM方法实现了997个词汇的非特定人连续语音识别系统SPHINX。这是世界上第1个高性能的非特定人、大词汇量、连续语音识别系统。
进入90年代后,语音识别技术进一步成熟,并开始向市场提供产品。许多发达国家如美国、日本、韩国以及IBM、Apple、AT&T、Microsoft等公司都为语音识别系统的实用化开发研究投以巨资。同时汉语语音识别也越来越受到重视。IBM开发的ViaVoice和Microsoft开发的中文识别引擎都具有了相当高的汉语语音识别水平。
进入21世纪,随着消费类电子产品的普及,嵌入式语音处理技术发展迅速。基于语音识别芯片的嵌入式产品也越来越多,如Sensory公司的RSC系列语音识别芯片、Infineon公司的Unispeech和Unilite语音芯片等,这些芯片在嵌入式硬件开发中得到了广泛的应用。在软件上,目前比较成功的语音识别软件有:Nuance、IBM的Viavoice和Microsoft的SAPI以及开源软件HTK,这些软件都是面向非特定人、大词汇量的连续语音识别系统。
我国语音识别研究一直紧跟国际水平,国家也很重视。国内中科院的自动化所、声学所以及清华大学等科研机构和高校都在从事语音识别领域的研究和开发。国家863智能计算机专家组为语音识别技术研究专门立项,并取得了高水平的科研成果。我国中科院自动化所研制的非特定人、连续语音听写系统和汉语语音人机对话系统,其准确率和系统响应率均可达90%以上。
3语音识别系统
语音识别本质上是一种模式识别的过程,未知语音的模式与已知语音的参考模式逐一进行比较,最佳匹配的参考模式被作为识别结果。图1是基于模式匹配原理的自动语音识别系统原理框图。
(1)预处理模块:对输入的原始语音信号进行处理,滤除掉其中的不重要的信息以及背景噪声,并进行语音信号的端点检测、语音分帧以及预加重等处理。
(2)特征提取模块:负责计算语音的声学参数,并进行特征的计算,以便提取出反映信号特征的关键特征参数用于后续处理。现在较常用的特征参数有线性预测(LPC)参数、线谱对(LSP)参数、LPCC、MFCC、ASCC、感觉加权的线性预测(PLP)参数、动态差分参数和高阶信号谱类特征等。其中,Mel频率倒谱系数(MFCC)参数因其良好的抗噪性和鲁棒性而应用广泛。
(3)训练阶段:用户输入若干次训练语音,经过预处理和特征提取后得到特征矢量参数,建立或修改训练语音的参考模式库。
(4)识别阶段:将输入的语音提取特征矢量参数后与参考模式库中的模式进行相似性度量比较,并结合一定的判别规则和专家知识(如构词规则,语法规则等)得出最终的识别结果。
4语音识别的几种基本方法
当今语音识别技术的主流算法,主要有基于动态时间规整(DTW)算法、基于非参数模型的矢量量化(VQ)方法、基于参数模型的隐马尔可夫模型(HMM)的方法、基于人工神经网络(ANN)和支持向量机等语音识别方法。
4.1动态时间规整(DTW)
DTW是把时间规整和距离测度计算结合起来的一种非线性规整技术,是较早的一种模式匹配和模型训练技术。该方法成功解决了语音信号特征参数序列比较时时长不等的难题,在孤立词语音识别中获得了良好性能。
4.2矢量量化(VQ)
矢量量化是一种重要的信号压缩方法,主要适用于小词汇量、孤立词的语音识别中。其过程是:将语音信号波形的k个样点的每1帧,或有k个参数的每1参数帧,构成k维空间中的1个矢量,然后对矢量进行量化。量化时,将k维无限空间划分为M个区域边界,然后将输入矢量与这些边界进行比较,并被量化为“距离”最小的区域边界的中心矢量值。矢量量化器的设计就是从大量信号样本中训练出好的码书,从实际效果出发寻找到好的失真测度定义公式,设计出最佳的矢量量化系统,用最少的搜索和计算失真的运算量,实现最大可能的平均信噪比。
4.3隐马尔可夫模型(HMM)
隐马尔可夫模型是20世纪70年代引入语音识别理论的,它的出现使得自然语音识别系统取得了实质性的突破。目前大多数大词汇量、连续语音的非特定人语音识别系统都是基于HMM模型的。
HMM是对语音信号的时间序列结构建立统计模型,将其看作一个数学上的双重随机过程:一个是用具有有限状态数的Markov链来模拟语音信号统计特性变化的隐含的随机过程,另一个是与Markov链的每一个状态相关联的观测序列的随机过程。前者通过后者表现出来,但前者的具体参数是不可测的。人的言语过程实际上就是一个双重随机过程,语音信号本身是一个可观测的时变序列,是由大脑根据语法知识和言语需要(不可观测的状态)发出的音素的参数流。HMM合理地模仿了这一过程,很好地描述了语音信号的整体非平稳性和局部平稳性,是较为理想的一种语音模型。
HMM模型可细分为离散隐马尔可夫模型(DHMM)和连续隐马尔可夫模型(CHMM)以及半连续隐马尔可夫模型(SCHMM)等。
4.4人工神经元网络(ANN)
人工神经元网络在语音识别中的应用是目前研究的又一热点。ANN实际上是一个超大规模非线性连续时间自适应信息处理系统,它模拟了人类神经元活动的原理,最主要的特征为连续时间非线性动力学、网络的全局作用、大规模并行分布处理及高度的稳健性和学习联想能力。这些能力是HMM模型不具备的。但ANN又不具有HMM模型的动态时间归正性能。因此,人们尝试研究基于HMM和ANN的混合模型,把两者的优点有机结合起来,从而提高整个模型的鲁棒性,这也是目前研究的一个热点。
4.5支持向量机(SVM)
支持向量机是应用统计学习理论的一种新的学习机模型,它采用结构风险最小化原理(SRM),有效克服了传统经验风险最小化方法的缺点,在解决小样本、非线性及高维模式识别方面有许多优越的性能。其基本思想可以概括为:首先通过非线性变换将输入空间变换到一个高维空间,然后在这个新空间中求取最优线性分类面,而这种非线性变换是通过定义适当的内积函数实现的。目前,统计学习理论和支持向量机也是国际上机器学习领域的研究热点。
5语音识别所面临的问题
尽管语音识别取得很大成功,但是距离真正的人机自由交流还有很大的距离。例如,目前计算机还需要对用户做大量训练才能更准确识别,用户的语音识别率也并不是尽如人意。主要难题有以下几个方面:
(1)识别系统的适应性差。主要体现在对环境依赖性强,特别在高噪音环境下语音识别性能还不理想。
(2)语音识别系统从实验室演示系统到商品的转化过程中,还有许多具体问题需要解决。例如,识别速度、拒识等问题,还有连续语音中去除不必要语气词如“呃”、“啊”等语音的技术细节问题。
(3)语言学、生理学、心理学方面的研究成果已有不少,但如何把这些知识量化、建模并用于语音识别,还需要进一步研究。
面对上面的困难,语音识别技术要做到真正成功,在任何环境中都能人机进行自由地对话,不仅需要语音识别基础理论的突破,更需要大量的实际工作的积累。
6语音识别技术的前景展望
语音作为当前通信系统中最自然的通信媒介,语音识别技术是非常重要的人机交互技术。随着计算机和语音处理技术的发展,语音识别系统的实用性将进一步提高。应用语音的自动理解和翻译,可消除人类相互交往的语言障碍。国外已有多种基于语音识别产品(如声控拨号电话、语音记事本等)的应用,基于特定任务和环境的听写机也已经进入应用阶段。这预示着语音识别技术有着非常广泛的应用领域和市场前景。随着语音技术的进步和通信技术的飞速发展,语音识别技术将为网上会议、商业管理、医药卫生、教育培训等各个领域带来极大的便利,其应用和经济、社会效益前景非常良好。