什么是语音识别
语音识别是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。
语音识别技术历史发展进程
语音识别的研究可以追溯到20世纪50年代AT&T贝尔实验室的Audry系统,它是第一个可以识别十个英文数字的语音识别系统。
但真正取得实质性进展,并将它作为一个重要的课题开展研究则是在60年代末70年代初。计算机技术的发展为语音识别的实现提供了硬件和软件的可能,语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术的提出,有效解决了语音信号的特征提取和不等长匹配问题。这一时期语音识别主要基于模板匹配原理,研究的领域局限在特定人,小词汇表的孤立词识别,实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统;同时提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。
80年代HMM和ANN在语音识别中成功应用。李开复实现了第一个基于HMM的大词汇量语音识别系统Sphinx。90年代随着多媒体时代的来临,大量企业开始投入巨资语音识别系统逐渐从实验室走向实用。00年代以来大数据、涟漪效应和深度神经网络带来了语音识别爆发。
语音识别的过程
首先是声音的输入,输入的音频可以是实时的来自于麦克风,也可以来自于现成的音频文件。然后是音频信号的预处理,包括降噪、回声消除、端点检查和模数转换等等。特征提取,就是从音频信号中提取出对识别有用的信息,将这些信息拿到声学模型中去匹配,会得到这些音频信号的发音信息,比如这里例子中的“科大讯飞”四个字的发音信息。然后把这些发音信息拿到语言模型中匹配,找出最大概率的发这四个音的汉字。这样一个识别的过程就完成了。
这过程中比较核心的部分就是声学模型和语言模型的匹配和处理,HMM(隐马尔科夫模型)和深度神经网络就是在这里发挥作用的。
由于HMM只需要少量的数据就能训练出一个可用的模型,所以在上世界80、90年代,HMM技术在语音识别领域几乎是处于统治地位的,直到移动互联网还有大数据技术的爆发,数据的来源已经完全不是问题的情况下,深度神经网络才逐渐让HMM退居二线。下面我们以HMM为例,讲解一下它在语音识别中是如何发挥作用的。
HMM浅析
首先和大家分享一个我在网上看到的关于异地恋的故事:小明有个女朋友在北京上学。
我们来给出一些假设条件,比如女朋友只有购物散步和宅家里这三种活动(这些叫可观察到的状态),天气也只有多云晴天和下雨三种(这些叫隐藏的状态,就是小明无法直接观察到的状态),如果第一天是多云的情况下,第二天还是多云的概率是0.5、晴天的概率0.3、下雨的概率0.2;再比如今天是晴天的情况下,女朋友去购物的概率是0.5,去散步的概率0.3,宅家里的概率0.2。那么所有上述的假设条件合在一起其实就形成了一个模型,这个模型就叫做HMM模型。
这三个问题在很早以前就有很多算法大师给出了解法,也就是说这些看起来很难解的问题对计算机来说都很快解出来。
那么这些和语音识别到底有什么关系?我将第二个问题和第三个问题抽象一下。
大家看这张PPT,左边这个部分就对应刚刚的第二个问题:已知模型参数和女朋友的活动序列(就是可观察状态链),来求最大概率的隐藏状态链(也就是这三天天气的变化序列)。
而语音识别也是已知一个HMM和一段我们可观察到的波形,来求这段音频包含的最大概率的隐藏状态,这里隐藏状态链指的就是识别结果中的文字。
对于第三个问题,由于缺少了一个已知的HMM模型,所以我们需要先利用已知的历史数据来训练一个可用的模型,然后再来求识别结果。
同样一个模型,同样一套模型参数,各个状态转化和映射概率都没有变,我们把可观察状态换成语音识别的输入波形(或者说是波形特征),把隐藏状态换成语音识别的输出(也就是文字结果),就会发现这个HMM用来做语音识别简直太合适啦。
比如这里的例子,这样三个连续的波形隐含的文字到底是“是十四”还是“四十四”,我们只需要分别把它们的概率算出来,哪个概率大我们就认为是哪个结果。对于HMM模型未知的情况下,我们可以利用带标注的数据按照鲍姆-韦尔奇算法训练一个就可以了,足够的数据就能训练出趋于完美的模型。
注意,这个例子中我们并没有区分声学模型和语言模型,而是将两者放在一起抽象出来一个大的模型,将波形直接映射成文字,而省去类似拼音发音的中间结果。事实上HMM也的确是既可以做声学模型,也可以做语言模型。
讯飞开放平台语音识别
本节公开课说的我们平台的语音识别是专指语音听写的功能,就是将语音转化成文字的功能,而和识别相关的命令词识别和语义理解,会在后面的课程中为大家讲解。
个性化识别指的是语音识别系统具备自动学习并适应用户使用习惯的能力,你用的越多,它越懂你。
例如语言模型的个性化,我们可以将一些不容易识别的生僻的词,比如人名地名等上传到给我们云端,我们根据你上传的信息有针对性的优化你的语言模型,提高这些词的识别率。后面会有视频给大家演示这样的效果。
目前我们讯飞的识别支持中文和英文,还支持中文的21种方言,其中粤语和四川话是免费开放就可以使用的,其他的方言需要通过商务合作后才能使用。
离线听写也是有的,在讯飞输入法和讯飞语记app中都已经使用了。大家要开发Android平台的应用可以借助语记APP提供离线听写能力,来让你自己的应用也具有离线听写的功能。
-
语音识别
+关注
关注
38文章
1739浏览量
112632
发布评论请先 登录
相关推荐
评论