欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

[转载]语音识别技术原理简介

程序员文章站 2022-11-06 16:54:27
原文地址:语音识别技术原理简介作者:朱门悟道语音识别技术原理简介   语音识别技术已经发展成为涉及声学、语言学、数字信号处理、统计模式、概率论和信息论、发声机理和听觉机理、...

原文地址:语音识别技术原理简介作者:朱门悟道

语音识别技术原理简介

 

语音识别技术已经发展成为涉及声学、语言学、数字信号处理、统计模式、概率论和信息论、发声机理和听觉机理、人工智能等等识别等多学科技术的一项综合性技术。基于语音识别技术研发的现代语音识别系统在很多场景下获得了成功的应用,不同任务条件下所采用的技术又会有所不同。语音识别系统构建过程整体上包括两大部分:训练和识别。训练通常是离线完成的,对预先收集好的海量语音、语言数据库进行信号处理和知识挖掘,获取语音识别系统所需要的“声学模型”和“语言模型”;而识别过程通常是在线完成的,对用户实时的语音进行自动识别。识别过程通常又可以分为“前端”和“后端”两大模块:“前端”模块主要的作用是进行端点检测(去除多余的静音和非说话声)、降噪、特征提取等;“后端”模块的作用是利用训练好的“声学模型”和“语言模型”对用户说话的特征向量进行统计模式识别(又称“解码”),得到其包含的文字信息,此外,后端模块还存在一个“自适应”的反馈模块,可以对用户的语音进行自学习,从而对“声学模型”和“语音模型”进行必要的“校正”,进一步提高识别的准确率。

 

语音识别是模式识别的一个分支,又从属于信号处理科学领域,同时与语音学、语言学、数理统计及神经生物学等学科有非常密切的关系。语音识别的目的就是让机器“听懂”人类口述的语言,包括了两方面的含义:其一是逐字逐句听懂非转化成书面语言文字;其二是对口述语言中所包含的要求或询问加以理解,做出正确响应,而不拘泥于所有词的正确转换。

 

  自动语音识别技术有三个基本原理:首先语音信号中的语言信息是按照短时幅度谱的时间变化模式来编码;其次语音是可以阅读的,即它的声学信号可以在不考虑说话人试图传达的信息内容的情况下用数十个具有区别性的、离散的符号来表示;第三语音交互是一个认知过程,因而不能与语言的语法、语义和语用结构割裂开来。

 

声学模型

语音识别系统的模型通常由声学模型和语言模型两部分组成,分别对应于语音到音节概率的计算和音节到字概率的计算。声学建模;语言模型

 

 

搜索

连续语音识别中的搜索,就是寻找一个词模型序列以描述输入语音信号,从而得到词解码序列。搜索所依据的是对公式中的声学模型打分和语言模型打分。在实际使用中,往往要依据经验给语言模型加上一个高权重,并设置一个长词惩罚分数。

 

系统实现

语音识别系统选择识别基元的要求是,有准确的定义,能得到足够数据进行训练,具有一般性。英语通常采用上下文相关的音素建模,汉语的协同发音不如英语严重,可以采用音节建模。系统所需的训练数据大小与模型复杂度有关。模型设计得过于复杂以至于超出了所提供的训练数据的能力,会使得性能急剧下降。

听写机:大词汇量、非特定人、连续语音识别系统通常称为听写机。其架构就是建立在前述声学模型和语言模型基础上的HMM拓扑结构。训练时对每个基元用前向后向算法获得模型参数,识别时,将基元串接成词,词间加上静音模型并引入语言模型作为词间转移概率,形成循环结构,用Viterbi算法进行解码。针对汉语易于分割的特点,先进行分割再对每一段进行解码,是用以提高效率的一个简化方法。

对话系统:用于实现人机口语对话的系统称为对话系统。受目前技术所限,对话系统往往是面向一个狭窄领域、词汇量有限的系统,其题材有旅游查询、订票、数据库检索等等。其前端是一个语音识别器,识别产生的N-best候选或词候选网格,由语法分析器进行分析获取语义信息,再由对话管理器确定应答信息,由语音合成器输出。由于目前的系统往往词汇量有限,也可以用提取关键词的方法来获取语义信息。

 

自适应与鲁棒性

语音识别系统的性能受许多因素的影响,包括不同的说话人、说话方式、环境噪音、传输信道等等。提高系统鲁棒性,是要提高系统克服这些因素影响的能力,使系统在不同的应用环境、条件下性能稳定;自适应的目的,是根据不同的影响来源,自动地、有针对性地对系统进行调整,在使用中逐步提高性能。以下对影响系统性能的不同因素分别介绍解决办法。

解决办法按针对语音特征的方法(以下称特征方法)和模型调整的方法(以下称模型方法)分为两类。前者需要寻找更好的、高鲁棒性的特征参数,或是在现有的特征参数基础上,加入一些特定的处理方法。后者是利用少量的自适应语料来修正或变换原有的说话人无关(SI)模型,从而使其成为说话人自适应(SA)模型。

说话人自适应的特征方法有说话人规一化和说话人子空间法,模型方法有贝叶斯方法、变换法和模型合并法。

语音系统中的噪声,包括环境噪声和录音过程加入的电子噪声。提高系统鲁棒性的特征方法包括语音增强和寻找对噪声干扰不敏感的特征,模型方法有并行模型组合PMC方法和在训练中人为加入噪声。信道畸变包括录音时话筒的距离、使用不同灵敏度的话筒、不同增益的前置放大和不同的滤波器设计等等。特征方法有从倒谱矢量中减去其长时平均值和RASTA滤波,模型方法有倒谱平移。

 

声音识别装置

申请号/专利号: 200780045904

一种声音识别装置,包括将作为检索对象的词汇按照类别进行存储的类别数据库(DB),用于车载设备用,包括:将发出的声音作为发声数据输出的麦克(1);用于识别在类别(DB)中作为检索对象的类别的词汇的第一声音识别词典(2a);用于识别作为检索对象以外的类别的词汇的第二声音识别词典(2b);通过将从麦克传送来的发声数据与第一及第二声音识别词典所包含的词汇对照,识别发出的声音的声音识别部(3);在从声音识别部传送来的作为识别结果的词语是通过使用第二声音识别词典而得到的词语时,将表示该事实的消息作为呈现信息输出的对话控制部(4);以及将该呈现信息向外部呈现的呈现部(5)。

申请日: 2007年10月04日

 

语音识别的基本过程 根据实际中的应用不同,语音识别系统可以分为:特定人与非特定人的识别、独立词与连续词的识别、小词汇量与大词汇量以及无限词汇量的识别。但无论那种语音识别系统,其基本原理和处理方法都大体类似。

 

语音识别过程主要包括语音信号的预处理、特征提取、模式匹配几个部分。预处理包括预滤波、采样和量化、加窗、端点检测、预加重等过程。语音信号识别最重要的一环就是特征参数提取。提取的特征参数必须满足以下的要求:

 

(1)提取的特征参数能有效地代表语音特征,具有很好的区分性;

(2)各阶参数之间有良好的独立性;

(3)特征参数要计算方便,最好有高效的算法,以保证语音识别的实时实现。

 

在训练阶段,将特征参数进行一定的处理后,为每个词条建立一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音特征参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。同时,还可以在很多先验知识的帮助下,提高识别的准确率。

 

  预处理,包括语音信号采样、反混叠带通滤波、去除个体发音差异和设备、环境引起的噪声影响等,并涉及到语音识别基元的选取和端点检测问题。特征提取,用于提取语音中反映本质特征的声学参数,如平均能量、平均跨零率、共振峰等。训练,是在识别之前通过让讲话者多次重复语音,从原始语音样本中去除冗余信息,保留关键数据,再按照一定规则对数据加以聚类,形成模式库。最后模式匹配,是整个语音识别系统的核心,它是根据一定规则(如某种距离测度)以及专家知识(如构词规则、语法规则、语义规则等),计算输入特征与库存模式之间的相似度(如匹配距离、似然概率),判断出输入语音的语意信息。

 [编辑本段]概述

  语音识别技术,也被称为自动语音识别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。[1]。此后严格来说语音识别技术并没有脱离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。

 

[编辑本段]二、语音识别系统的分类

  语音识别系统可以根据对输入语音的限制加以分类。如果从说话者与识别系统的相关性考虑,可以将识别系统分为3类:(1)特定人语音识别系统:仅考虑对于专人的话音进行识别;(2)非特定人语音系统:识别的语音与人无关,通常要用大量不同人的语音数据库对识别系统进行学习;(3)多人的识别系统:通常能识别一组人的语音,或者成为特定组语音识别系统,该系统仅要求对要识别的那组人的语音进行训练。

  如果从说话的方式考虑,也可以将识别系统分为3类:(1)孤立词语音识别系统:孤立词识别系统要求输入每个词后要停顿;(2)连接词语音识别系统:连接词输入系统要求对每个词都清楚发音,一些连音现象开始出现;(3)连续语音识别系统:连续语音输入是自然流利的连续语音输入,大量连音和变音会出现。

  如果从识别系统的词汇量大小考虑,也可以将识别系统分为3类:(1)小词汇量语音识别系统。通常包括几十个词的语音识别系统。(2)中等词汇量的语音识别系统。通常包括几百个词到上千个词的识别系统。(3)大词汇量语音识别系统。通常包括几千到几万个词的语音识别系统。随着计算机与数字信号处理器运算能力以及识别系统精度的提高,识别系统根据词汇量大小进行分类也不断进行变化。目前是中等词汇量的识别系统到将来可能就是小词汇量的语音识别系统。这些不同的限制也确定了语音识别系统的困难度。

[编辑本段]三、语音识别的几种基本方法

  一般来说,语音识别的方法有三种:基于声道模型和语音知识的方法、模板匹配的方法以及利用人工神经网络的方法。

(1)基于语音学和声学的方法

  

  语音识别技术的应用可以分为两个发展方向:一个方向是大词汇量连续语音识别系统,主要应用于计算机的听写机,以及与电话网或者互联网相结合的语音信息查询服务系统,这些系统都是在计算机平台上实现的;另外一个重要的发展方向是小型化、便携式语音产品的应用,如无线手机上的拨号、汽车设备的语音控制、智能玩具、家电遥控等方面的应用,这些应用系统大都使用专门的硬件系统实现,特别是近几年来迅速发展的语音信号处理专用芯片(Application Specific Integrated Circuit,ASIC)和语音识别片上系统(System on Chip,SOC)的出现,为其广泛应用创造了极为有利的条件。本文将主要介绍关于语音识别专用芯片的基本情况。

  应用领域

  语音识别专用芯片的应用领域,主要包括以下几个方面:

  1、电话通信的语音拨号。特别是在中、高档移动电话上,现已普遍的具有语音拨号的功能。随着语音识别芯片的价格降低,普通电话上也将具备语音拨号的功能。

  2、汽车的语音控制。由于在汽车的行驶过程中,驾驶员的手必须放在方向盘上,因此在汽车上拨打电话,需要使用具有语音拨号功能的免提电话通信方式。此外,对汽车的卫星导航定位系统(GPS)的操作,汽车空调、照明以及音响等设备的操作,同样也可以由语音来方便的控制。

  3、工业控制及医疗领域。当操作人员的眼或手已经被占用的情况下,在增加控制操作时,最好的办法就是增加人与机器的语音交互界面。由语音对机器发出命令,机器用语音做出应答。

  4、个人数字助理(Personal Digital Assistant,PDA)的语音交互界面。PDA的体积很小,人机界面一直是其应用和技术的瓶颈之一。由于在PDA上使用键盘非常不便,因此,现多采用手写体识别的方法输入和查询信息。但是,这种方法仍然让用户感到很不方便。现在业界一致认为,PDA的最佳人机交互界面是以语音作为传输介质的交互方法,并且已有少量应用。随着语音识别技术的提高,可以预见,在不久的将来,语音将成为PDA主要的人机交互界面。

  5、智能玩具。通过语音识别技术,我们可以与智能娃娃对话,可以用语音对玩具发出命令,让其完成一些简单的任务,甚至可以制造具有语音锁功能的电子看门狗。智能玩具有很大的市场潜力,而其关键在于降低语音芯片的价格。

  6、家电遥控。用语音可以控制电视机、VCD、空调、电扇、窗帘的操作,而且一个遥控器就可以把家中的电器皆用语音控起来,这样,可以让令人头疼的各种电器的操作变得简单易行。

  除了上文中所提到的应用以外,语音识别专用芯片在其他方面的应用可以说是不胜枚举。随着语音识别专用芯片的技术不断提高,将给人们带来极大的方便。

  功能特点

  对比语音识别技术的两个发展方向,由于基于不同的运算平台,因此具有不同的特点。大词汇量连续语音识别系统一般都是基于PC机平台,而语音识别专用芯片的中心运算处理器则只是一片低功耗、低价位的智能芯片,与一台甚至多台PC机相比起来,其运算速度,存储容量都非常有限,因而这些由专用芯片实现的语音识别系统有如下几个特点:

  1、多为中、小词汇量的语音识别系统,即只能够识别10~100词条。只有近一两年来,才有连续数码或连续字母语音识别专用芯片实现。

  2、一般仅限于特定人语音识别的实现,即需要让使用者对所识别的词条先进行学习或训练这一类识别功能对语种、方言和词条没有限制。有的芯片也能够实现非特定人语音识别,即预先将所要识别的语句码本训练好而装入芯片,用户使用时不需要再进行学习而直接应用。但这一类识别功能只适用于规定的语种和方言,而且所识别的语句只限于预先已训练好的语句。

  3、由此芯片组成一个完整的语音识别系统。因此,除了语音识别功能以外,为了有一个好的人机界面和识别正确与否的验证,该系统还必须具备语音提示(语音合成)及语音回放(语音编解码记录)功能。

  4、多为实时系统,即当用户说完待识别的词条后,系统立即完成识别功能并有所回应,这就对电路的运算速度有较高的要求。

  5、除了要求有尽可能好的识别性能外,还要求体积尽可能小、可靠性高、耗电省、价钱低等特点。

 

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

[编辑本段]前端处理