求论文(语音识别)
语音识别听写机在某些领域的应用被美国新闻界评为1997年计算机发展十大事件之一。许多专家认为,语音识别技术是2000年至2010年信息技术领域十大重要技术发展技术之一。
语音识别技术涉及的领域包括:信号处理、模式识别、概率论与信息论、发声机制与听觉机制、人工智能等等。任务的分类与应用根据识别对象的不同,语音识别任务大致可以分为三类,即孤立词识别、关键词识别和连续语音识别。其中,孤立词识别的任务是识别事先已知的孤立词,如“开机”、“关机”。连续语音识别的任务是识别任何连续的语音,比如一句话或者一段话;连续语音流中的关键词检测是针对连续语音的,但并不识别所有的词,只是检测一些已知的关键词出现在哪里,比如一段话中的“计算机”和“世界”。
根据说话人的不同,语音识别技术可以分为特定人语音识别和非特定人语音识别。前者只能识别一个或几个人的语音,后者任何人都可以用。显然,非特定人语音识别系统更符合实际需要,但它比针对特定人的识别要困难得多。
此外,根据语音设备和通道,可以分为桌面(PC)语音识别、电话语音识别和嵌入式设备(手机、PDA等。)语音识别。不同的采集通道会扭曲人类发音的声学特性,因此有必要构建各自的识别系统。
语音识别的应用领域非常广泛。常见的应用系统有:语音输入系统,比键盘输入法更符合人们的日常习惯、更自然、更高效;语音控制系统,即利用语音来控制设备的运行,比人工控制更快捷方便,可用于工业控制、语音拨号系统、智能家电、声控智能玩具等诸多领域。智能对话查询系统,根据客户的语音进行操作,为用户提供自然友好的数据库检索服务,如家居服务、酒店服务、旅行社服务系统、订票系统、医疗服务、银行服务、股票查询服务等。前端前端处理是指在特征提取之前对原始语音进行处理,部分消除噪声和不同说话人的影响,使处理后的信号更能反映语音的本质特征。最常用的前端处理包括端点检测和语音增强。端点检测是指区分语音信号中语音信号和非语音信号的周期,准确确定语音信号的起始点。端点检测后,只能对语音信号进行后续处理,这对提高模型的准确性和识别的准确性有重要作用。语音增强的主要任务是消除环境噪声对语音的影响。目前常用的方法是维纳滤波器,在大噪声的情况下比其他滤波器要好。声学特征的处理声学特征的提取和选择是语音识别中的一个重要环节。声学特征的提取不仅是一个信息压缩的过程,也是一个信号反卷积的过程,目的是使模式分类器更好地划分。由于语音信号的时变特性,必须对语音信号的一小段进行特征提取,即短时分析。这种被认为是静止的分析间隔称为一帧,帧之间的偏移量通常为帧长的1/2或1/3。通常要对信号进行预加重以提高高频,对信号进行加窗处理以避免短时语音段边缘的影响。一些常用的声学特性*线性预测系数LPC:线性预测分析从人类发声的机理入手,通过对声道的短管级联模型的研究,认为系统的传递函数符合全极点数字滤波器的形式,从而可以通过前几个时刻的信号的线性组合来估计N时刻的信号。可以通过使实际语音样本值和线性预测样本值之间的均方误差达到最小LMS来获得线性预测系数LPC。LPC的计算方法有自相关法(德宾法)、协方差法、格法等。快速有效的计算确保了这一声学特征的广泛使用。类似LPC预测参数模型的声学特征有线谱对LSP、反射系数等。
倒谱系数CEP:倒谱系数可以利用同态处理方法,对语音信号进行离散傅里叶变换DFT后取对数,再进行逆变换iDFT得到。对于LPC倒谱(LPCCEP),在获得滤波器的线性预测系数后,可以通过一个递推公式计算出来。实验表明,倒谱可以提高特征参数的稳定性。
*梅尔倒谱系数MFCC和感知线性预测PLP:与LPC等通过研究人类发声机理获得的声学特征不同,梅尔倒谱系数MFCC和感知线性预测PLP是从人类听觉系统的研究成果中衍生出来的声学特征。对人类听觉机制的研究表明,当两个频率相近的音调同时发出时,人只能听到一个音调。临界带宽是指这样一个带宽边界,使人的主观感受突然发生变化。当两个音调的频率差小于临界带宽时,人们会把两个音调听成一个,这就是所谓的屏蔽效应。Mel标度是测量这一临界带宽的方法之一。
MFCC的计算首先通过FFT将时域信号变换到频域,然后将其对数能量谱与按Mel尺度分布的三角形滤波器组进行卷积,最后对每个滤波器的输出形成的向量进行离散余弦变换(DCT)得到前n个系数。PLP仍然使用Durbin方法来计算LPC参数,但是它也使用DCT方法来计算自相关参数。声学模型语音识别系统的模型通常由声学模型和语言模型组成,分别对应于语音对音节概率和音节对单词概率的计算。本节和下一节分别介绍声学模型和语言模型技术。
HMM声学建模:马尔可夫模型的概念是时域上的离散有限状态自动机。隐马尔可夫模型的HMM是指这个马尔可夫模型的内部状态对于外界是不可见的,外界只能看到每个时刻的输出值。对于语音识别系统,输出值通常是从每一帧计算出来的声学特征。用HMM描述语音信号需要两个假设,一是内部状态转移只与前一个状态相关,二是输出值只与当前状态(或当前状态转移)相关,这大大降低了模型的复杂度。HMM的评分、解码和训练对应的算法有前向算法、维特比算法和正反向算法。
在语音识别中,HMM通常被建模为具有自循环和从左到右跨越的单向拓扑结构。音位是三到五态HMM,单词是由多个音位串联而成的HMM,连续语音识别的整个模型是单词和无声的组合。语境相关建模:协同发音是指一个音在相邻音的影响下发生变化。从发声机制来看,人类发声器官的特性只有在一种声音转向另一种声音时才能逐渐发生变化,从而使后一种声音的频谱不同于其他条件下的频谱。上下文相关建模方法在建模时考虑了这种影响,使模型能够更准确地描述语音。Bi- Phone只考虑前面声音的影响,Tri-Phone只考虑前面声音和后面声音的影响。
英语上下文相关建模通常基于音素。因为一些音素对后续音素具有相似的影响,所以可以通过聚类音素解码状态来共享模型参数。聚类的结果称为senone。决策树用于实现三音素和四音素的有效对应。通过回答一系列关于类别(元/辅音、浊音/清音等)的问题。)的前后音,最终确定其HMM状态应该使用哪个senone。分类回归树的CART模型用于将单词的发音标注为音素。语言模型语言模型主要分为规则模型和统计模型。统计语言模型以概率统计的方式揭示语言单位的内在统计规律,其中N-Gram简单有效,应用广泛。
N-Gram:该模型基于这样的假设:第N个单词的出现只与前面的N-1个单词相关,而与其他任何单词无关,整个句子的概率是每个单词出现概率的乘积。这些概率可以通过直接从语料库中计数n个单词同时出现的次数来获得。二元二元模型和三元模型是常用的。
语言模型的性能通常用交叉熵和困惑度来衡量。交叉熵的意义在于用这种模型进行文本识别的难度,或者从压缩的角度来说,每个单词平均需要用几个比特进行编码。复杂度的含义就是用这个模型来表示这个文本的平均分支数,它的倒数可以看作是每个词的平均概率。平滑是指给未被观察的n元组分配一个概率值,以保证词序列总能通过语言模型得到一个概率值。常用的平滑技术有图灵估计、删除插值平滑、Katz平滑和Kneser-Ney平滑。连续语音识别中的搜索是寻找一个词模型序列来描述输入的语音信号,从而得到一个词解码序列。该搜索基于对公式中的声学模型和语言模型的评分。在实践中,往往需要根据经验给语言模型加上一个很高的权重,并为长词设置一个惩罚分数。
Viterbi:根据动态规划中Viterbi算法在每个时间点的状态,计算解码状态序列对观测序列的后验概率,保留概率最大的路径,记录每个节点对应的状态信息,以便最终反向得到字解码序列。Viterbi算法解决了连续语音识别中HMM模型状态序列与声学观测序列、单词边界检测和单词识别之间的非线性时间对齐而不丢失最优解,从而使该算法成为语音识别搜索的基本策略。
由于语音识别无法预测当前时间点之后的情况,基于目标函数的启发式剪枝很难应用。由于维特比算法的时间齐次特性,同一时刻的每条路径对应同一观测序列,因此具有可比性。波束搜索只保留每个时刻概率最大的前几条路径,大大提高了搜索的效率。这种时间均匀维特比波束算法是当前语音识别搜索中最有效的算法。N-best搜索和多遍搜索:为了在搜索中利用各种知识源,通常需要进行多遍搜索。第一次使用低成本知识源生成候选列表或单词候选网格,在此基础上,第二次使用高成本知识源获取最佳路径。之前介绍的知识源有声学模型、语言模型、语音词典,可以用于第一次搜索。为了实现更高级的语音识别或口语理解,往往需要使用一些更昂贵的知识源,如4阶或5阶N元文法、4阶或更高阶上下文相关模型、词间相关模型、分词模型或语法分析等,进行重新评分。许多最新的实时大词汇量连续语音识别系统使用这种多遍搜索策略。
N-best搜索生成一个候选列表,每个节点要预留n条最佳路径,这样计算复杂度会增加到n倍。简化的方法是为每个节点只保留几个候选单词,但是次优候选单词可能会丢失。一个折中的办法是只考虑两个单词的路径,保留k-pieces。单词候选网格以更紧凑的方式给出多个候选,通过对N-best搜索算法做相应的修改,可以得到一个生成候选网格的算法。
向前和向后搜索算法是应用多重搜索的一个例子。当简单的知识源被应用于前向维特比搜索时,在搜索过程中获得的前向概率可以被用于后向搜索的目标函数的计算,因此启发式A算法可以被用于后向搜索,并且可以经济地搜索N个候选。系统实现语音识别系统识别基元选择的要求是定义准确,能得到足够的数据进行训练,具有通用性。英语通常使用上下文相关的音素建模,而汉语的同音没有英语那么严重,所以可以使用音节建模。系统所需的训练数据的大小与模型的复杂程度有关。模型的设计过于复杂,超出了所提供的训练数据的能力,会使性能急剧下降。
听写机:词汇量大、非特定、连续的语音识别系统通常称为听写机。其架构是基于前述声学模型和语言模型的HMM拓扑。在训练中,模型参数由每个基元的前向-后向算法获得。识别时,将基元串接成词,并在词与词之间加入无声模型,引入语言模型作为词与词之间的转移概率,形成循环结构,用维特比算法解码。鉴于中文容易切分,先切分再逐段解码是提高效率的简化方法。
对话系统:用来实现人机口语对话的系统称为对话系统。受限于目前的技术,对话系统往往是面向某个狭窄领域、词汇量有限的系统,其主题包括旅游查询、预订、数据库检索等。它的前端是语音识别器,对生成的N-best候选或单词候选网格进行识别,由解析器分析得到语义信息,再由对话管理器确定应答信息,由语音合成器输出。因为目前的系统往往词汇量有限,我们还可以通过提取关键词来获取语义信息。自适应鲁棒语音识别系统的性能受多种因素的影响,包括不同的说话人、说话风格、环境噪声、传输信道等。提高系统的鲁棒性就是提高系统克服这些因素的能力,使系统在不同的应用环境和条件下保持稳定。自适应的目的是根据不同的影响源,自动地、有针对性地调整系统,逐步提高使用中的性能。以下是针对影响系统性能的不同因素的解决方案。
根据语音特征的方法(以下称为特征方法)和模型调整的方法(以下称为模型方法),解决方案可以分为两类。前者需要找到更好更鲁棒的特征参数,或者在现有的特征参数上增加一些特定的处理方法。后者使用少量的自适应语料库对原始的非特定人(SI)模型进行修改或变换,从而使其成为一个特定人自适应(s a)模型。
说话人自适应的特征方法包括说话人归一化和说话人子空间方法,模型方法包括贝叶斯方法、变换方法和模型合并方法。
语音系统中的噪声包括环境噪声和录音过程中加入的电子噪声。提高系统鲁棒性的特征方法包括语音增强和寻找对噪声干扰不敏感的特征。建模方法包括并行模型组合PMC方法和在训练中人为添加噪声。通道失真包括麦克风之间的距离、不同灵敏度的麦克风、不同增益的前置放大器、不同的滤波器设计等等。特征方法包括倒谱向量减去其长期平均值和RASTA滤波,模型方法包括倒谱平移。微软语音识别引擎微软在office和vista中都使用了自己的语音识别引擎。微软语音识别引擎的使用是完全免费的,所以产生了很多基于微软语音识别引擎的语音识别应用软件,比如语音游戏大师、语音控制专家、芝麻开门等等。语音识别系统的性能指标语音识别系统的性能指标主要有四个。①词汇表范围:这是指机器可以识别的单词或短语的范围。如果没有限制,词汇范围可以认为是无限的。(2)说话人限制:是只能识别指定说话人的声音,还是识别任意说话人的声音。③训练要求:使用前是否需要训练,即是否让机器先“听”给定的语音,训练次数。④正确识别率:正确识别的平均百分比,与前三项指标有关。
总结
以上介绍了实现语音识别系统各个方面的技术。这些技术在实际使用中取得了很好的效果,但是如何克服影响发音的各种因素还需要更深入的分析。目前,听写机系统还不能完全替代键盘输入,但识别技术的成熟促进了更高层次语音理解技术的研究。由于英语和汉语具有不同的特点,如何在汉语中使用为英语提出的技术也是一个重要的研究课题,汉语特有的问题如四声也需要解决。