联盟首页 协同开发 共创软件 开放源码 软件工程 共创论坛 关于联盟
  您的位置 » 2004年05月17日  
通过SSL登录
新用户通过SSL注册

完全匹配   
项目摘要

项目维护

软件分类表
新发布软件
代码片断

项目名称: sly clear voice:
文档管理: 显示文档


摘要| 管理| 首页| 论坛| 跟踪| 错误| 支持| 补丁| 电子邮件| 任务| 文档 |  调查| 新闻| CVS| 软件包|

提交新文档 | 查看文档 | 管理
> 语音识别技术及应用(上)
> Voice Recogition: Technology and Application
> ■清华大学电子工程系  刘加 刘润生
> 《世界电子元器件》11月号
> 引言
> 语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门交叉学科。近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。
>
>  
> 语音识别技术的基础
> 语音识别技术关系到多学科的研究领域,在不同领域上的进步都对语音识别的发展作出了贡献。和语音识别有关的领域可分为下面几个方面:(1)物理学(声学):声音产生与传播原理、声电转换以及声音在房间回响等相关方面知识。(2)生理学:有关人的声道与耳朵的生理结构、耳朵的听觉特征,在脑内高层的语言处理等。(3)统计学和模式识别理论:基于各种统计方法对模式进行匹配,以及建立有关的统计模型,对语音特征参数进行估值和分类。(4)信息理论和计算机科学:各种算法的研究、快速搜索查找匹配的方法。(5)语音学:有关语音的结构、基本的音素单元、语音模型的建立。(6)应用心理学:有关人的语言产生、感觉方面的知识。(7)数字信号处理技术:信号的时频域分析、噪声消除、数字滤波、线性预测等方面的知识。(8)微电子技术:超大规模集成电路(VLSI)技术的发展对语音识别的具体应用有很大的影响,VLSI使语音识别系统商品化成为可能。
>
>  
> 语音识别基本上是一个模式分类的任务。即通过学习,系统能够把输入的语音按一定模式进行分类。让机器识别语音的困难在某种程度上就象一个外语不好的人听外国人讲话一样,它和不同说话人、不同的说话速度、不同的说话内容、以及不同的环境条件有关。
>
>  
> 语音识别和理解是一项非常困难的任务,必须建立在从声学、语音学到语言学的知识为基础的处理机制上,才有可能获得高性能的自动语音识别系统。针对语音识别中的困难,人们进行了系统的研究,建立了各种模型,找到了一些解决方法。目前主流的语音识别技术是基于统计模式识别的基本理论。图(1)表示了一个完整的语音识别系统。
>
>  
> A:语音特征提取
> 输入的语音波形首先被转换为一组离散的参数矢量。语音特征提取是要从语音波形中提取出重要的反映语音特征的相关信息,而去掉那些相对无关的信息:如背景噪声、信道失真、说话人说话方式以及说话者的特征。典型的方法是采样的语音信号首先通过加窗被分成一定的时间间隔(帧),通常为10 20ms长,然后在不同帧上分别提取特征矢量。通常用O=01,02,∧,0r表示一组待识别的语音特征矢量(观察矢量)。简单的特征可以是能量和过零率。更加复杂可靠的特征可以是根据人声道原理而提取的一些频谱特征。其中线性预测编码(LPC)分析是最典型的一种,LPC参数反映人的声道共振峰的性质。浊音的短时谱有两个特点:首先是它有明显周期性的谱线结构。其谱线间的距离与浊音的基音频率相吻合。其次是频谱的包络中有几个明显的凸起点,这几个凸起点称为“共振峰”,凸起点处的频率称为共振峰频率。共振峰频率由低到高排列分别为第一共振峰,第二共振峰,第三共振峰,…。一般浊音中可以分辨的共振峰有5个左右,前3个对于区分不同的元音具有很大的作用。清音的短时谱则没有这两个特点,它十分类似于一段随机噪声的频谱。另一个重要的语音特征是利用听觉系统的心理学模型构成的语音特征提取,比较典型的是Mel频标倒谱系数,通常称为MFCC参数。这些声道和听觉模型在语音识别和语音编码中都被证明是非常成功的。
>
>  
> B:声学模型与模式匹配
> 语音识别系统的第二级是建立声学模型与模式分类。首先通过学习算法,将训练语音的特征通过学习过程生成声学模型。声学模型是识别系统的底层模型,并且是语音识别系统中最关键的一部分。声学模型的目的是提供一种有效的方法计算语音的特征矢量序列和每个发音模板之间的距离。人的发音在每一时刻都受到其前后发音的影响,为了模仿自然连续语音中协同发音作用和鉴别这些不同发音,通常要求使用复杂的声学模型。声学模型的设计和语言发音特点密切相关。声学模型单元大小(字发音模型、半音节模型或音素模型)对语音训练数据量大小、系统识别率、以及灵活性有较大的影响。对大词汇量语音识别系统来说,通常识别单元小,则计算量也小,所需的模型存储量也小,要求的训练数据量也少。但带来的问题是对应语音段的定位和分割较困难,识别模型规则也变得更复杂。通常大的识别单元在模型中包括协同发音,这有利于提高系统的识别率,但要求的训练数据相对增加。必须根据不同语言的特点、识别系统词汇量的大小决定识别单元的大小。在过去几十年中有4种比较有影响力的语音识别分类方法。它们分别为:
>
>  
> (1)样本匹配法:样本匹配法的核心想法是把特征分析中提取的一组随时间而变的特征矢量序列和事先通过学习后存在机器里的样本序列进行比较。输入特征矢量序列和存储的样本通过一定失真准则比较后即可找到和输出特征矢量序列最接近的样本序列,由于人说话的速度有快有慢,因此动态时间规正方法(Dynamic time warping technique,DTW)是样本匹配法成功的关键。多样本及识别语法网络也能与DTW算法相结合,这有利于改进样本匹配法的识别能力。目前样本匹配法主要用于特定人孤立词语音识别系统中。
>
>  
> (2)以知识准则为基础的判决系统:它利用人们从分析语谱图、频谱形状过渡以及一些特征的知识建立的一系列判决准则,把专家系统的方法用于识别过程中,根据这些判决准则以确定所表示的语言内容。然而到今天为止,这种专家系统还不能和模式匹配的技术相竞争,其困难在于很难建立起一个可广泛应用的准则,对一些大的识别系统,一些准则往往自相矛盾。另外人们对如何处理语言的理解还很差,因此建立起这样一种准则是非常困难的。该类型的语音识别系统目前已经被证明不是一种成功的语音识别系统,在主流的识别系统中已经不再采用。
>
>  
> (3)隐含马尔科夫模型(HMM):HMM是到目前为止已有的最强有力的识别算法。隐含马尔科夫模型识别系统之所以优于样本匹配系统在于隐含马尔科夫模型中保留了更多训练数据的统计信息。在HMM系统中语音信号被做成一个状态过渡序列模型,它们由状态转移概率a(i,j)(表示由状态i转移到状态j的概率)和观测矢量的概率b(i)组成。隐含马尔科夫模型,之所以加上“隐含”二字是由于人们不能直接观察到马尔科夫模型处于哪个状态上,人们仅能观察到被那个状态产生的观察矢量。HMM方法之所以吸引人的另一原因是,它很好的解决了分类以及训练上的困难,维特比(Viterbi)束搜索语音识别算法解决了时间轴的规一化问题。HMM方法同样有着一些理论上的缺点,其中之一是,它假设语音是一个严格的马尔科夫过程。作为一种修正人们允许状态过渡概率a(i,j)为时变函数,使用各种状态间隔过渡函数弥补这一缺陷,或者使用其它的最优准则来训练HMM模型,增加识别模型的区分能力。HMM模型在语音识别上的应用是一个极大的成功。
>
>  
> (4)神经网络:神经网络的概念也已经被应用于语音识别中,其中最有效一种方法是使用多层神经网络,不同层之间的神经元通过一定的加权系数相互连接,这些加权系数可以在训练中进行学习。每一个神经元对所有输入进行读取,然后把结果传给下一层的神经网节点上。到目前为止,还没有一种神经网络语音识别性能能与由HMM模型构成的语音识别系统性能相比。神经网络的主要缺点是不容易解决时间轴动态归一化问题。目前比较成功的神经网络语音识别系统主要是小词表语音识别系统,或者将神经网络与HMM识别系统相结合,作为HMM模型的前处理与后处理部分。
>
>  
> C:语言模型与语言处理
> 语言模型对中、大词汇量的语音识别系统特别重要。当分类发生错误时可以根据语言学模型、语法结构、语义学进行判断纠正,特别是一些同音字则必须通过上下文结构才能确定词义。语言学理论包括发音学、音韵学、语义结构、语言的数学描述模型等有关方面。把语言模型应用于语音识别中要解决两方面的问题:(1)能够用数学模型来描述语言中词的语言结构。(2)即使给定这样一种结构,如何把它和模式识别器结合找出一种有效的识别算法。目前比较成功的语言模型通常是采用统计语法的语言模型,如二元文法(Bigram)和三元文法(Trigram),或者基于规则语法结构命令语言模型。语法结构可以限定不同词之间的相互连接关系,减少了识别系统的搜索空间,这有利于提高系统的识别率。这种限制关系可用分支度(perplexity)来衡量,那些带有较低分支度系统通常比带有较高分支度的系统有更高的识别率。然而带有更高分支度的系统往往具有更大的灵活性,而且可以识别更丰富的语言内容。
>
>  
> 在设计一个实用的语音识别时,一定要对识别器的应用环境进行认真的考虑和研究。实用的语音识别系统应能较好的处理上面三个方面问题。语音识别的基础在于下面三个基本原理:(1)语音信号的信息能够分别用语音波形的短时幅度谱表示,这使我们能基于这些短时谱提取语言特征,并相信这些特征可以用为模式匹配的基础。(2)语音信号的内容可以用写的形式来表达,而且可以根据不同特征组成一串符号序列,这种原理使我们相信在转换声音的特征序列到符号序列时声音的信息能够保留下来。(3)语言识别过程实际上是一种认识过程。当人们听语音时,并不把语音和语言的语法结构、语义结构分开来,因为当语音发音模糊时,人们可以用这些知识来指导对语言的理解过程,但是对机器来说,识别系统也要利用这些方面的知识,只是如何有效描述这些的语法和语义方面知识还有困难。
>
>  
> (未完待续)
>  
> 本文章由《世界电子元器件》(GEC)提供


  » 合 作 伙 伴