语音识别技术
语音识别技术,也被称为自动语音识别Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
语音识别技术的应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。语音识别技术与其他自然语言处理技术如机器翻译及语音合成技术相结合,可以构建出更加复杂的应用,例如语音到语音的翻译。
语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。
历史
早在计算机发明之前,自动语音识别的设想就已经被提上了议事日程,早期的声码器可被视作语音识别及合成的雏形。而1920年代生产的"Radio Rex"玩具狗可能是最早的语音识别器,当这只狗的名字被呼唤的时候,它能够从底座上弹出来。最早的基于电子计算机的语音识别系统是由AT&T贝尔实验室开发的Audrey语音识别系统,它能够识别10个英文数字。其识别方法是跟踪语音中的共振峰。该系统得到了98%的正确率。到1950年代末,伦敦学院(Colledge of London)的Denes已经将语法概率加入语音识别中。
1960年代,人工神经网络被引入了语音识别。这一时代的两大突破是线性预测编码Linear Predictive Coding (LPC), 及动态时间弯折Dynamic Time Warp技术。
语音识别技术的最重大突破是隐含马尔科夫模型Hidden Markov Model的应用。从Baum提出相关数学推理,经过Labiner等人的研究,卡内基梅隆大学的李开复最终实现了第一个基于隐马尔科夫模型的大词汇量语音识别系统Sphinx。[3]。此后严格来说语音识别技术并没有脱离HMM框架。
尽管多年来研究人员一直尝试将“听写机”推广,语音识别技术在目前还无法支持无限领域,无限说话人的听写机应用。
模型
目前,主流的大词汇量语音识别系统多采用统计模式识别技术。典型的基于统计模式识别方法的 语音识别系统由以下几个基本模块所构成
信号处理及特征提取模块。该模块的主要任务是从输入信号中提取特征,供声学模型处理。同时,它一般也包括了一些信号处理技术,以尽可能降低环境噪声、信道、说话人等因素对特征造成的影响。 统计声学模型。典型系统多采用基于一阶隐马尔科夫模型进行建模。 发音词典。发音词典包含系统所能处理的词汇集及其发音。发音词典实际提供了声学模型建模单元与语言模型建模单元间的映射。 语言模型。语言模型对系统所针对的语言进行建模。理论上,包括正则语言,上下文无关文法在内的各种语言模型都可以作为语言模型,但目前各种系统普遍采用的还是基于统计的N元文法及其变体。 解码器。解码器是语音识别系统的核心之一,其任务是对输入的信号,根据声学、语言模型及词典,寻找能够以最大概率输出该信号的词串。 从数学角度可以更加清楚的了解上述模块之间的关系。首先,统计语音识别的最基本问题是,给定输入信号或特征序列,符号集(词典),求解符号串使得:
W = argmaxP(W | O) 通过贝叶斯公式,上式可以改写为
由于对于确定的输入串O,P(O)是确定的,因此省略它并不会影响上式的最终结果,因此,一般来说语音识别所讨论的问题可以用下面的公式来表示,可以将它称为语音识别的基本公式。W= argmaxP(O|W)P(W)
从这个角度来看,信号处理模块提供了对输入信号的预处理,也就是说,提供了从采集的语音信号(记为S)到 特征序列O的映射。而声学模型本身定义了一些更具推广性的声学建模单元,并且提供了在给定输入特征下,估计P(O|uk)的方法。
为了将声学模型建模单元串映射到符号集,就需要发音词典发挥作用。它实际上定义了映射的映射。为了表示方便,也可以定义一个由到U的全集的笛卡尔积,而发音词典则是这个笛卡尔积的一个子集。并且有:
最后,语言模型则提供了P(W)。这样,基本公式就可以更加具体的写成:
对于解码器来所,就是要在由,,ui以及时间标度t张成的搜索空间中,找到上式所指明的W。