比尔·盖茨曾经表示:“PC诞生30年来重要的行业创新是自然界面的进化,包括图形用户界面、语音识别、手势和触控界面。”在图形用户界面、手势和触控界面一一普及之后,语音识别作为可以预见的新型人机交互界面,正在迅速发展和成熟。对于一般用户来说,通过语言进行交流是直接、自然的一种方式。相比通过键鼠进行的传统人机交互方式,语音识别技术在效率和便捷性方面的优势,就像口语与手语之间的区别那样明显。那么,语音识别技术的原理是什么?从技术的角度来看,我们如何通过语言与PC进行交流呢?
苹果推出的Siri或许是目前常见的语音识别系统,用户可以问关于时间、天气甚至是各种五花八门的问题,并从Siri那里得到回馈。事实上,没事的时候“调戏”Siri已经成了很多苹果用户的一大乐事。
语音识别(Speech Recognition),也被称为自动语音识别(Automatic Speech Recognition,简称ASR),它以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程,把语音信号转变为相应的文本或命令的技术,是研究如何采用数字信号处理技术自动提取以及决定语音信号中基本、有意义的信息的一门新兴的边缘学科。语音识别所涉及的学科领域相当广泛,与声学、语音语言学、数理统计、数字信号处理理论、信息论、计算机科学等众多学科紧密相连,是一门涉及面很广的交叉学科。
微软的Kinect不但支持体感游戏操作,而且支持英语和日语两种语言输入,可以实现游戏的开启、退出、跳换以及游戏角色的控制。
语音识别的应用领域非常广泛,目前常见的应用方式主要包括:
语音输入系统:相对于键盘输入方法,它更符合人的日常习惯,也更自然、更高效;
语音控制系统:即用语音来控制设备的运行,相对于手动控制来说更加快捷、方便,可以用在诸如工业控制、语音拨号系统、智能家电、声控智能玩具等许多领域;
智能对话查询系统:根据客户的语音进行操作,为用户提供自然、友好的数据库检索服务,例如家庭服务、宾馆服务、旅行社服务系统、订票系统、医疗服务、银行服务、股票查询服务等等。
目前实现识别有意义、有内容的语音信息的基本方法是:
预先分析出语音特征,按照要求送给机器储存起来,这个语音参数库中的语音参数称为“ 模板(Template-based Approach)”,而这一过程称为“训练(Training)”。送来识别的未知语音(又称待识语音)变换成电信号后经过预处理、语音建模和特征提取,得到语音参数,将它与参数库中的参考模板一一比较,并采用判决的方法找出接近语音特征的模板,得出识别结果,这一过程就称为“识别(Recognition)”。当然,在进行比较时要有个标准,这就是计量语音参数矢量之间的“失真测度(Distortion Measures)”,失真小的那个模板所代表的内容就是识别的结果。
微软在Windows 7操作系统中内置了语音识别功能,用户可以语音实现各种常用的操作,包括选择、打开及关闭程序,浏览网页等,而还能实现文本的语音输入。
语音识别过程一般分为两个阶段:学习阶段和识别阶段。前者的任务是建立识别基本单元的声学模型以及语言模型,后者则是将目标语音的特征参数和模型进行比较,得到识别结果。因此从本质来说,语音识别就是一种模式识别系统,它包括特征提取、参考模式库、模式匹配三个基本单元。
声学模型是识别系统的底层模型,是语音识别系统中为关键的一部分。声学模型的目标是提供一种有效的方法,计算语音的特征矢量序列和每个发音模板之间的距离。声学模型的设计和语言发音特点密切相关。模型识别单元大小(词发音模型、字发音模型、半音节模型或音素模型)对语音训练数据量大小、语音识别率以及灵活性有较大的影响。对中等词汇量以上的语音识别系统来说,识别单元小,则计算量也小,所需的模型存储量和训练数据量也小,但带来的问题是对应语音段的定位和分割困难,以及更复杂的识别模型规则。通常大的识别单元容易包含协同发音在模型中,这有利于提高系统的识别率,但要求的训练数据相对增加。