MCPLive > 杂志文章 > 电脑听懂你的话 语音识别技术解析(上)

电脑听懂你的话 语音识别技术解析(上)

2013-03-08王阔《微型计算机》2013年3月上

比尔·盖茨曾经表示:“PC诞生30年来重要的行业创新是自然界面的进化,包括图形用户界面、语音识别、手势和触控界面。”在图形用户界面、手势和触控界面一一普及之后,语音识别作为可以预见的新型人机交互界面,正在迅速发展和成熟。对于一般用户来说,通过语言进行交流是直接、自然的一种方式。相比通过键鼠进行的传统人机交互方式,语音识别技术在效率和便捷性方面的优势,就像口语与手语之间的区别那样明显。那么,语音识别技术的原理是什么?从技术的角度来看,我们如何通过语言与PC进行交流呢?

苹果推出的Siri或许是目前常见的语音识别系统,用户可以问关于时间、天气甚至是各种五花八门的问题,并从Siri那里得到回馈。事实上,没事的时候“调戏”Siri已经成了很多苹果用户的一大乐事。
苹果推出的Siri或许是目前常见的语音识别系统,用户可以问关于时间、天气甚至是各种五花八门的问题,并从Siri那里得到回馈。事实上,没事的时候“调戏”Siri已经成了很多苹果用户的一大乐事。

语音识别(Speech Recognition),也被称为自动语音识别(Automatic Speech Recognition,简称ASR),它以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程,把语音信号转变为相应的文本或命令的技术,是研究如何采用数字信号处理技术自动提取以及决定语音信号中基本、有意义的信息的一门新兴的边缘学科。语音识别所涉及的学科领域相当广泛,与声学、语音语言学、数理统计、数字信号处理理论、信息论、计算机科学等众多学科紧密相连,是一门涉及面很广的交叉学科。

微软的Kinect不但支持体感游戏操作,而且支持英语和日语两种语言输入,可以实现游戏的开启、退出、跳换以及游戏角色的控制。
微软的Kinect不但支持体感游戏操作,而且支持英语和日语两种语言输入,可以实现游戏的开启、退出、跳换以及游戏角色的控制。

语音识别的应用领域非常广泛,目前常见的应用方式主要包括:

语音输入系统:相对于键盘输入方法,它更符合人的日常习惯,也更自然、更高效;
语音控制系统:即用语音来控制设备的运行,相对于手动控制来说更加快捷、方便,可以用在诸如工业控制、语音拨号系统、智能家电、声控智能玩具等许多领域;
智能对话查询系统:根据客户的语音进行操作,为用户提供自然、友好的数据库检索服务,例如家庭服务、宾馆服务、旅行社服务系统、订票系统、医疗服务、银行服务、股票查询服务等等。

语音识别技术原理

目前实现识别有意义、有内容的语音信息的基本方法是:

预先分析出语音特征,按照要求送给机器储存起来,这个语音参数库中的语音参数称为“ 模板(Template-based Approach)”,而这一过程称为“训练(Training)”。送来识别的未知语音(又称待识语音)变换成电信号后经过预处理、语音建模和特征提取,得到语音参数,将它与参数库中的参考模板一一比较,并采用判决的方法找出接近语音特征的模板,得出识别结果,这一过程就称为“识别(Recognition)”。当然,在进行比较时要有个标准,这就是计量语音参数矢量之间的“失真测度(Distortion Measures)”,失真小的那个模板所代表的内容就是识别的结果。

微软在Windows 7操作系统中内置了语音识别功能,用户可以语音实现各种常用的操作,包括选择、打开及关闭程序,浏览网页等,而还能实现文本的语音输入。
微软在Windows 7操作系统中内置了语音识别功能,用户可以语音实现各种常用的操作,包括选择、打开及关闭程序,浏览网页等,而还能实现文本的语音输入。

语音识别过程一般分为两个阶段:学习阶段和识别阶段。前者的任务是建立识别基本单元的声学模型以及语言模型,后者则是将目标语音的特征参数和模型进行比较,得到识别结果。因此从本质来说,语音识别就是一种模式识别系统,它包括特征提取、参考模式库、模式匹配三个基本单元。

声学模型

声学模型是识别系统的底层模型,是语音识别系统中为关键的一部分。声学模型的目标是提供一种有效的方法,计算语音的特征矢量序列和每个发音模板之间的距离。声学模型的设计和语言发音特点密切相关。模型识别单元大小(词发音模型、字发音模型、半音节模型或音素模型)对语音训练数据量大小、语音识别率以及灵活性有较大的影响。对中等词汇量以上的语音识别系统来说,识别单元小,则计算量也小,所需的模型存储量和训练数据量也小,但带来的问题是对应语音段的定位和分割困难,以及更复杂的识别模型规则。通常大的识别单元容易包含协同发音在模型中,这有利于提高系统的识别率,但要求的训练数据相对增加。

语言模型

语言模型(Language Model,LM)一般指在匹配搜索时用于字词和路径约束的语言规则,是为了在语音识别的过程中有效地结合语法和语义的知识,提高识别率,减少搜索的范围。由于很难准确地确定词的边界,以及声学模型描述语音变异性的能力有限,识别时将产生很多概率得分相似的词的序列。因此,在实用的语音识别系统中通常使用语言模型从诸多候选结果中选择有可能的词序列来弥补声学模型的不足。

语音识别过程示例
语音识别过程示例

语言模型可以分为基于规则的语言模型和基于统计的语言模型。基于规则的语言模型是总结出语法规则乃至语义规则,然后用这些规则排除声学识别中不合语法规则或语义规则的结果。统计语言模型通过统计概率描述词与词之间的依赖关系,间接地对语法或语义规则进行编码。基于规则的语言模型在特定任务系统中获得很好的应用,可较大幅度提高系统的识别率。由于日常口语对话无法用严格的规则描述,在大词汇量语音识别系统中主要采用基于统计的语言模型。

特征提取

特征提取就是要从语音波形中提取出重要的反映语音特征的相关信息,去掉那些相对无关的信息。它既是一个信息大幅度压缩的过程,也是一个信号解卷过程。由于语音信号的时变特性,特征提取必须在一小段语音信号上进行,即进行短时分析。目前比较常用的特征提取方法是基于声道模型的线性预测倒谱技术(LPCC)和基于听觉机理的Mel频率倒谱技术(MFCC)。前者的基本思想在于:语音信号相邻的采样点之间有很强的相关性。因此每个语音信号的采样值,可以用它前面的若干个采样值的加权和线性组合来近似表示。后者则充分考虑了人耳的听觉特性,并用客观度量来表征人对声音高低的主观感受。相比之下,MFCC有一定的优势:1.语音的信息大多集中在低频部分,而高频部分易受环境噪声干扰,MFCC强调语音的低频信息,从而突出了有利于识别的信息,屏蔽了噪声干扰;2.MFCC没有任何前提假设,在各种情况下都可以使用,识别性能和噪声鲁棒性(即对噪声特性或者参数的不敏感性)优于LPCC。

语音识别原理
语音识别原理

通常来说,在进行特征提取之前要对待识语音进行预处理,部分消除噪声和不同说话人带来的影响,使处理后的信号更能反映语音的本质特征。常用的预处理有端点检测和语音增强。端点检测是指在语音信号中将语音和非语音信号时段区分开来,准确地确定出语音信号的起始点。经过端点检测后,后续处理就可以只对语音信号进行,这对提高模型的精确度和识别正确率有重要作用。语音增强的主要任务就是消除环境噪声对语音的影响。目前通用的方法是采用维纳滤波,该方法在噪声较大的情况下效果好于其它滤波器。

模式匹配

模式匹配又称为相似度度量,是指根据一定准则,使未知模式与模式库中的某一模版获得佳匹配。具体来说,模式匹配将待识语音的特征矢量参数和参考模式库中的模版进行相似度量比较,将相似度高的模版所属类别作为识别的中间候选结果输出。

语音识别常用算法

看上去语音识别的工作原理很简单,基本就是采集语音信息,将其与模式库中的模版进行对比,选取接近的结果进行输出。但要完成正确的识别,具体操作过程就必须要有合适的算法进行支持才行。目前,常用的语音识别算法有:基于模式匹配的动态时间规整(DTW,Dynamic Time Warping) 、基于统计模型的隐马尔柯夫模型(HMM,Hidden Markov Model)以及人工神经网络(ANN,Artificial Neural Net)等。

动态时间规整

动态时间规整(DTW)是一种柔性的模式匹配算法,可用于对两个动态样本进行非线性规整,对其相似之处进行匹配,以得到两个样本之间的小距离。为了达到这样的效果,DTW对两个样本中的一些向量进行移动、压缩或扩展,终使两个样本见的距离达到极小。目前来看,DTW可能是一个小巧的语音识别算法,它的系统开销小,识别速度快,能较好地解决小词汇量、孤独词识别时说话速度不均匀的问题,因此在对付小词汇量的语音控制系统中非常有效,但如果系统稍微复杂一些,这种算法就力不从心了。

隐马尔柯夫模型

语音识别的特点是具有随机性 , 但同时也有一个潜在的基本结构。例如,一个语音有基本结构,而发音时口型的大小,长短、强弱和在口腔中的位置等却因人而异。即使是同一个人,在不同时间发同一个音也是有随机差异的。由于隐马尔可夫模型的算法是将语音看成是一连串特定状态,这种状态是不能被直接观测到的(如这种状态可以是语音的某个音素),而是以某种隐含的关系与语音的观测量(或特征)相关联。这种隐含关系在 HMM 模型中通常以概率形式表现出来,模型的输出结果也以概率形式给出。所以,用隐马尔可夫模型(HMM)来描述这种具有结构的随机性相当有效,因此它是目前语音识别的主流技术,大多数大词汇量、连续语音的非特定人语音识别系统都基于隐马尔柯夫模型。

云计算的兴起让语音识别有了更有力的技术支持和更广阔的应用空间
云计算的兴起让语音识别有了更有力的技术支持和更广阔的应用空间

隐马尔可夫过程是一个双重随机过程:一重用于描述非平稳信号的短时平稳段的统计特征(信号的瞬态特征,可直接观测到);另一重随机过程描述了每个短时平稳段如何转变到下一个短时平稳段,即短时统计特征的动态特性(隐含在观察序列中)。基于这两重随机过程, HMM 即可有效解决怎样辨识具有不同参数的短时平稳信号段,怎样跟踪它们之间的转化等问题。人的言语过程也是这样一种双重随机过程。因为语音信号本身就是一个可观察的序列,而它又是由大脑里的(不可观察的)、根据言语需要和语法知识(状态选择)所发出的音素(词、句)的参数流。HMM非常好地描述了整体非平稳性和局部平稳性的特点,是一个比较理想的语音识别模型。不过它的统计模型的建立需要依赖较大的语音库,存储量和计算量都比较大。

人工神经网络

近语音识别的研究热点是将人工神经网络(ANN)方法应用到语音识别中的识别与训练环节。ANN由神经元、网络拓扑和学习方法构成,它的结构简单,易于编程实现,有很强的分类和模式识别能力,而且具有静态的非线性映射能力(只需要通过简单的非线性处理单元的符合映射,变可获得复杂的非线性处理能力),因此ANN识别方法可以对综合的输入模式进行训练和识别,能够更好地提高语音识别系统的性能。

语音识别技术前景广阔

语音识别技术一直都是计算机研究领域内的一个热门课题,也一向倍受IT巨头器重。现在,我们已经可以对苹果Siri提问并得到自动答复,而在将来,能监听四到五个人参加的小型会议,然后提供准确的书面记录;能为电视节目自动匹配字幕;能让学生们在课堂上打瞌睡,同时又不会漏掉老师讲的每个词……这样智能化的语音识别技术并不是幻想。随着语音识别技术在近几年逐渐向移动通讯、互联网等领域,再加上云计算等新兴领域的蓬勃发展,语音识别技术正在迎来自己的春天。在对语音识别的技术原理有所了解之后,我们将在下期为大家介绍语音识别技术在当前的发展和应用,敬请期待。

分享到:

用户评论

共有评论(1)

用户名:

密码: