语音识别技术,也被称为自动语音识别(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
语音识别技术,也被称为自动语音识别 Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
2019 年 8 月 17 日,北京互联网法院发布《互联网技术司法应用白皮书》,该《白皮书》阐述了十大典型技术应用,其中包括语音识别技术。
随着数据处理技术的进步以及移动互联网的快速普及,计算机技术被广泛地运用到了社会的各个领域,随之而来的则是海量数据的产生。其中,语音数据受到了人们越来越多的重视。语音识别是一门交叉学科。近二十年来。语音识别技术取得显著进步,开始从实验室走向市场。人们预计,未来 10 年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。语音识别听写机在一些领域的应用被美国新闻界评为 1997 年计算机发展十件大事之一。很多专家都认为语音识别技术是 2000 年至 2010 年间信息技术领域十大重要的科拄发展技术之一。语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。
语音识别较语音合成而言,技术上要复杂,但应用却更加广泛。语音识别 ASR(Automatic Speech Recognition)的最大优势在于使得人机用户界面更加自然和容易使用。
从开始研究语音识别技术至今,语音识别技术的发展已经有半个多世纪的历史。语音识别技术研究的开端,是 Davis 等人研究的 Audry 系统,它是当时第一个可以获取几个英文字母的系统。到了 20 世纪 60 年代,伴随计算机技术的发展,语音识别技术也得以进步,动态规划和线性预测分析技术解决了语音识别中最为重要的问题——语音信号产生的模型问题;70 年代,语音识别技术有了重大突破,动态时间规整技术(DTW)基本成熟,使语音变得可以等长,另外,矢量量化(VQ)和隐马尔科夫模型理论(HMM)也不断完善,为之后语音识别的发展做了铺垫;80 年代对语音识别的研究更为彻底,各种语音识别算法被提出,其中的突出成就包括 HMM 模型人工神经网络(ANN);进入 90 年代后,语音识别技术开始应用于全球市场,许多著名科技互联网公司, 如 IBM,Apple 等,都为语音识别技术的开发和研究投入巨资;到了 21 世纪,语音识别技术研究重点转变为即兴口语和自然对话以及多种语种的同声翻译。
国内关于语音识别技术的研究与探索从 20 世纪 80 年代开始,取得了许多成果并且发展飞速。例如:清华大学研发的语音识别技术以 1183 个单音节作为识别基元,并对其音节进行分解,最后进行识别,使三字词和四字词的准确率高达 98%;中科院采用连续密度的 HMM,整个系统的识别率达到 89.5%,声调和词语的识别率分别是 99.5%和 95%。目 前,我国的语音识别技术已经和国际上的超级大国实力相当, 其综合错误率可控制在 10%以内。
清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到 94.8%(不定长数字串)和 96.8%(定长数字串)。在有 5%的拒识率情况下,系统识别率可以达到 96.9%(不定长数字串)和 98.7%(定长数字串),这是目前国际最好的识别结果之一,其性能已经接近实用水平。研发的 5000 词邮包校核非特定人连续语音识别系统的识别率达到 98.73%,前三选识别率达 99.96%;并且可以识别普通话与四川话两种语言,达到实用要求。
中科院自动化所及其所属模式科技(Pattek)公司 2002 年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品——PattekASR,结束了中文语音识别产品自 1998 年以来一直由国外公司垄断的历史。
语音识别是涉及心理学、生理学、声学、语言学、信息理论、信号处理、计算机科学、模式识别等多个学科的交叉学科,具有广阔的应用前景,如语音检索、命令控制、自动客户服务、机器自动翻译等。当今信息社会的高速发展迫切需要性能优越的,能满足各种不同需求的自动语音识别技术。但是,这样的目标面 I 临着诸的困难,如:①语音信号会受 到上下文的影响而发生变化;②发音人以及口音的不同会导致语音特征在参数空间分布的不同;③同一发音人心理和生理变化带来的语音变化;④不同的发音方式和习惯引起的省略、连读等多变的语音现象;⑤环境和信道等因素造成的语音信号失真问题。
对于自动语音识别的探索,实际是早于计算机的出现的,早期的声码器可以看作是语音合成和识别技术的雏形,20 世纪 20 年代出现的“Radio Rex”玩具狗也许是人类历史上最早的语音识别机。现代自动语音识别技术可以追溯到上世纪 50 年代贝尔实验室的 研究员使用模拟元器件,提取分析元音的共振峰信息,实现了十个英文孤立数字的识别功能。到了 50 年代末,统计语法的概念被伦敦大学学院的研究者首次加入到语音识别中(Fry,1959),具有识别辅音和元音音素功能的识别器问世。在同一时期,用于特定环境中面向非特定人 10 个元音的音紊识别器也在麻省理工大学的林肯实验室被研制出来。概率在不确定性数据管理中扮演重要角色,但多重概率的出现也极大地加大了数据处理的繁杂度。
模拟的语音信号进行采样得到波形数据之后,首先要输入到特征提取模块,提取出合适的声学特征参数供后续声学模型训练使用。好的声学特征应当考虑以下三个方面 的因素。第一,应当具有比较优秀的区分特性.以使声学模型不同的建模单元可以方便准确的建模。其次,特征提取也可以认为是语音信息的压缩编码过程,既需要将信道、说话人的因素消除保留与内容相关的信息,又需要在不损失过多有用信息的情况下使用尽量低的参数维度,便于高效准确的进行模型的训练。最后,需要考虑鲁棒性,即对环境噪声的抗干扰能力。
如今主流语音识别系统都采用隐马尔科夫模型(HMM)作为声学模型,这是因为 HMM 具有很多优良特性。HMM 模型的状态跳转模型很适合人类语音的短时平稳特性,可以对不断产生的观测值(语音信号)进行方便的统计建模;与 HNN 相伴生的动态规划算法可以有效地实现对可变长度的时间序列进行分段和分类的功能;HMM 的应用范围广泛。只要选择不同的生成概率密度,离散分布或者连续分布,都可以使用 HNM 进行建模。HMM 以及与之相关的技术在语音识别系统中处于最核心的地位。自从 HMM 的理论被提出以来(Baum and Easo,1967),它在语音信号处理及相关领域的应用范围变得越来越广泛,在语音识别领域起到核心角色的作用,它还广泛活跃精音的参数合成、语言理解、 机器翻译等其他领域。
以汉语为例:
汉语按音素的发音特征分类分为辅音、单元音、复元音、复鼻尾音四种,按音节结构分类为声母和韵母。并且由音素构成声母或韵母。有时,将含有声调的韵母称为调母。由单个调母或由声母与调母拼音成为音节。汉语的一个音节就是汉语一个字的音,即音节字。由音节字构成词,最后再由词构成句子。
汉语声母共有 22 个,其中包括零声母,韵母共有 38 个。按音素分类,汉语辅音共有 22 个,单元音 13 个,复元音 13 个,复鼻尾音 16 个。
目前常用的声学模型基元为声韵母、音节或词,根据实现目的不同来选取不同的基元。汉语加上语气词共有 412 个音节,包括轻音字,共有 1282 个有调音节字,所以当在小词汇表孤立词语音识别时常选用词作为基元,在大词汇表语音识别时常采用音节或声韵母建模,而在连续语音识别时,由于协同发音的影响,常采用声韵母建模。
基于统计的语音识别模型常用的就是 HMM 模型λ(N,M,π,A,B),涉及到 HMM 模型的相关理论包括模型的结构选取、模型的初始化、模型参数的重估以及相应的识别算法等。
语音识别技术常用的方法有如下四种:1. 基于语言学和 声学的方法,2. 随机模型法,3. 利用人工神经网络的方法,4. 概率语法分析。其中最主流的方法是随机模型法。
基于语言学和声学的方法是最早应用于语音识别的方法,但是这种方法涉及的知识太过于困难,导致现在并没有得到大规模普及。
随机模型法目前应用较为成熟,该方法主要采用提取特征、训练模板、对模板进行分类及对模板进行判断的步骤来对语音进行识别。该方法涉及到的技术一般有 3 种:动态时间规整(DTW),隐马尔科夫模型(HMM)理论和矢量量化(VQ )技术。其中,HMM 算法相较于其他两者的优点是简便优质, 在语音识别性能方面更为优异。也正因为如此,如今大部分语音识别系统都在使用 HMM 算法。
(ANN)神经网络方法是在语音识别发展的后期才有的一种新的识别方法。它其实是一种模拟人类神经活动的方法,同时具有人的一些特性,如自动适应和自主学习。其较强的归类能力和映射能力在语音识别技术中具有很高的利用价值。业界将 ANN 与传统的方法进行结合,各取所长,使得语音识别的效率得到了显著的提升。
概率语法分析法是一种能够识别大长度语段的技术,主要是为了完成“区别语言的特征”,对于不同层次的知识利用相应层次的知识来解决。这种方法最大的不足就是,建立一个有效、适宜的适用知识系统存在着一定的困难。
语音识别一般来说具有两种工作模式:识别模式和命令模式。语音识别程序的实现也会根据两种模式的不同而采用不同类型的程序。识别模式的工作原理是:引擎系统在后台直接给出一个词库和识别模板库,任何系统都不需要再进一 步对识别语法进行改动,只需要根据识别引擎提供的主程序源代码进行改写就可以了。命令模式相对来说实现起来比较困难,词典必须要由程序员自己编写,然后再进行编程,最后还要根据语音词典进行处理和更正。识别模式与命令模式最大的不同就是,程序员要根据词典内容进行代码的核对与修改。
一般语音识别程序的环境设置步骤包括 CTI 服务器硬件默认参数采集与设定,识别硬件采集卡初始化,引擎端口设置等几个部分。
1、CTI 服务器设置。
应用程序的所有工作都是根据 CTI 技术(Computer Telephone Integration)来工作的, 语音硬件平台默认设定 CTI 服务器。
2、语音采集系统的初始化。
语音识别的平台会通过判断是否已经输入语音来进行工作,那么获得语音就需要语音采集系统了。为了采集和输出,我们一般采用语音卡作为工具。工作时,打开语音卡内自带的板卡,然后在程序中加入参数就可以运行了。
3、引擎端口设置。语音开发平台已对硬件 API 接口函数进行提供, 因此只需对函数进行调用和赋值即可。 4.
语音识别系统可以根据对输入语音的限制加以分类。
从说话者与识别系统的相关性考虑
可以将识别系统分为 3 类:(1)特定人语音识别系统:仅考虑对于专人的话音进行识别;(2)非特定人语音系统:识别的语音与人无关,通常要用大量不同人的语音数据库对识别系统进行学习;(3)多人的识别系统:通常能识别一组人的语音,或者成为特定组语音识别系统,该系统仅要求对要识别的那组人的语音进行训练。
从说话的方式考虑
也可以将识别系统分为 3 类:(1)孤立词语音识别系统:孤立词识别系统要求输入每个词后要停顿;(2)连接词语音识别系统:连接词输入系统要求对每个词都清楚发音,一些连音现象开始出现;(3)连续语音识别系统:连续语音输入是自然流利的连续语音输入,大量连音和变音会出现。
从识别系统的词汇量大小考虑
也可以将识别系统分为 3 类:(1)小词汇量语音识别系统。通常包括几十个词的语音识别系统。(2)中等词汇量的语音识别系统。通常包括几百个词到上千个词的识别系统。(3)大词汇量语音识别系统。通常包括几千到几万个词的语音识别系统。随着计算机与数字信号处理器运算能力以及识别系统精度的提高,识别系统根据词汇量大小进行分类也不断进行变化。目前是中等词汇量的识别系统到将来可能就是小词汇量的语音识别系统。这些不同的限制也确定了语音识别系统的困难度。
需要有进一步的突破。目前能看出它的一些明显不足,尤其在中文语音识别方面,语言模型还有待完善,因为语言模型和声学模型正是听写识别的基础,这方面没有突破,语音识别的进展就只能是一句空话。目前使用的语言模型只是一种概率模型,还没有用到以语言学为基础的文法模型,而要使计算机确实理解人类的语言,就必须在这一点上取得进展,这是一个相当艰苦的工作。此外,随着硬件资源的不断发展,一些核心算法如特征提取、搜索算法或者自适应算法将有可能进一步改进。可以相信,半导体和软件技术的共同进步将为语音识别技术的基础性工作带来福音。
语音识别技术也有待进一步改进。目前,象 IBM 的 ViaVoice 和 Asiaworks 的 SPK 都需要用户在使用前进行几百句话的训练,以让计算机适应你的声音特征。这必然限制了语音识别技术的进一步应用,大量的训练不仅让用户感到厌烦,而且加大了系统的负担。并且,不能指望将来的消费电子应用产品也针对单个消费者进行训练。因此,必须在自适应方面有进一步的提高,做到不受特定人、口音或者方言的影响,这实际上也意味着对语言模型的进一步改进。现实世界的用户类型是多种多样的,就声音特征来讲有男音、女音和童音的区别,此外,许多人的发音离标准发音差距甚远,这就涉及到对口音或方言的处理。如果语音识别能做到自动适应大多数人的声线特征,那可能比提高一二个百分点识别率更重要。事实上,ViaVoice 的应用前景也因为这一点打了折扣,只有普通话说得很好的用户才可以在其中文版连续语音识别方面取得相对满意的成绩。
语音识别技术需要能排除各种环境因素的影响。目前,对语音识别效果影响最大的就是环境杂音或嗓音,在公共场合,你几乎不可能指望计算机能听懂你的话,来自四面八方的声音让它茫然而不知所措。很显然这极大地限制了语音技术的应用范围,目前,要在嘈杂环境中使用语音识别技术必须有特殊的抗嗓(NoiseCancellation)麦克风才能进行,这对多数用户来说是不现实的。在公共场合中,个人能有意识地摒弃环境嗓音并从中获取自己所需要的特定声音,如何让语音识别技术也能达成这一点呢?这的确是一个艰巨的任务。
此外,带宽问题也可能影响语音的有效传送,在速率低于 1000 比特/秒的极低比特率下,语音编码的研究将大大有别于正常情况,比如要在某些带宽特别窄的信道上传输语音,以及水声通信、地下通信、战略及保密话音通信等,要在这些情况下实现有效的语音识别,就必须处理声音信号的特殊特征,如因为带宽而延迟或减损等。语音识别技术要进一步应用,就必须在强健性方面有大的突破。
多语言混合识别以及无限词汇识别方面
简单地说,目前使用的声学模型和语音模型太过于局限,以至用户只能使用特定语音进行特定词汇的识别。如果突然从中文转为英文,或者法文、俄文,计算机就会不知如何反应,而给出一堆不知所云的句子;或者用户偶尔使用了某个专门领域的专业术语,如“信噪比”等,可能也会得到奇怪的反应。这一方面是由于模型的局限,另一方面也受限于硬件资源。随着两方面的技术的进步,将来的语音和声学模型可能会做到将多种语言混合纳入,用户因此就可以不必在语种之间来回切换。此外,对于声学模型的进一步改进,以及以语义学为基础的语言模型的改进,也能帮助用户尽可能少或不受词汇的影响,从而可实行无限词汇识别。