自动语音辨认技术(ASR,Automatic Speech Recognition)是一种经过让机器经过辨认和了解的过程,把人类的语音信号转变为相应文本的技术。我们先来看看语音辨认的历史,其实早在计算机创造之前,有关ASR技术的理念就曾经降生了,而早期的声码器就能够被视为是语音辨认及合成的雏形。而1920年代消费的"Radio Rex"玩具狗,可能是早的语音辨认器,当这只狗的名字被召唤的时分,它可以从底座上弹出来。这么看来论辈分它是阿尔法狗的爷爷……但毫无疑问60年代计算机的开展推进了语音辨认技术技术,这其中重要的一个里程碑就是动态规划技术(DP)和线性预测剖析技术(LP),后者又开展出了更成熟的动态时间归正技术(DTW),包括矢量量化(VQ)和隐马尔可夫模型(HMM)理论。但这些还都只是单调又晦涩的算法,换句话说,工程师看到这些玩意也一头雾水,基本没方法疾速在应用到理论里。所以在80年代时,著名的AT&T Bell实验室经过努力,把本来深奥无比的HMM纯数学模型工程化,为应用开发打下了重要的基石。到90年代时,深度神经网络技术的打破性开展,终于把语音辨认技术本来的难关攻破了。所以在我们会发现,从21世纪后语音辨认技术的开展就疾速加快了。其实看起来高大上的语音辨认技术,原理并没有多么复杂。不管是微软家的Cortana、三星家的S-voice苹果家的Siri,还是国内一些独立做语音辨认的比方讯飞、Rokid,在原理在实质上没有几差别:就是语音输入后,停止特征提取,将提取的特征值放进模型库里,再不时地停止锻炼和匹配,终解码得到结果。
假如要细说的话就比拟复杂了,比方模型库中又分为声学模型和言语模型。其中言语模型是依据不同品种的言语,对词串停止统计建模,目前普遍采用的是基于(n-1)阶马尔可夫链统计的n元语法模型。这里细致说下声学建模吧。首先经过前端特征提取取得声学特征,再进一步对声学特征停止统计建模。建模运用到的贝叶斯统计建模框架,也就是大后验概率决策原则。这里算法这种深奥的东西就不说了,除非深度开发,否则直接套用就行了,我本人也是博古通今,还是念书的时分学的。说说提取声学特征该如何完成:当语音输入之后,首先停止模电转换,将模仿信号转变为数字信号,再停止静音切除去掉无关噪音,然后停止分帧。将此时的信号分红一帧一帧之后(每一帧并不是独立存在的而是相互关联的),还要停止一系列的信号处置,包括预加重、加窗之后,再停止FFT变换之后,再经过Mel参数的滤波和取对数、离散余弦变换等一系列算法处置后,能够停止用梅尔频率倒谱系数(MFCC)停止特征提取,得到声学特征。觉得越说越复杂了……后面简单点说吧。前面说了言语模型,而声学模型就是将声学特征统计建模后得到的。得到了模型库之后就能够停止模型锻炼和形式匹配了。所谓模型锻炼就是指依照一定的原则,从大量已知语音形式中获取一个具特征的模型参数。而形式匹配则相反,是依据一定原则,将未知语音形式与模型库中的某一个模型取得佳匹配后的解码过程又能够分红动态解码网络和静态解码网络两种:动态网络会编译一个状态网络并构成搜索空间,把单词转换成一个个的音素后将其依照语序拆分红状态序列,再依据音素上下文分歧性准绳将状态序列停止衔接。而静态网络普通是针对一些特殊词(孤立词)的辨认网络,它的构造就简单多了:先将每条特殊词扩展成HMM状态序列,然后再计算得分,选择得分大的作为辨认输出结果。由于静态网络是依据声学概率计算权重,不需求查询言语模型概率,因而解码速度很快。 这样的一个流程大致上就是语音辨认技术的主要原理。
全部0条评论
快来发表一下你的评论吧 !