语音识别技术分析:语音变成文字其实没有那么神秘

描述

  简要给大家介绍一下语音怎么变文字的吧。希望这个介绍能让所有同学看懂。

  首先,我们知道声音实际上是一种波。常见的 mp3、wmv 等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如 Windows PCM 文件,也就是俗称的 wav 文件。wav 文件里存储的除了一个文件头以外,就是声音波形的一个个点了。下图是一个波形的示例。

  

  在开始语音识别之前,有时需要把首尾端的静音切除,降低对后续步骤造成的干扰。这个静音切除的操作一般称为 VAD,需要用到信号处理的一些技术。

  要对声音进行分析,需要对声音分帧,也就是把声音切开成一小段一小段,每小段称为一帧。分帧操作一般不是简单的切开,而是使用移动窗函数来实现,这里不详述。帧与帧之间一般是有交叠的,就像下图这样:

  

  图中,每帧的长度为 25 毫秒,每两帧之间有 25-10=15 毫秒的交叠。我们称为以帧长 25 ms、帧移 10 ms 分帧。图中,每帧的长度为 25 毫秒,每两帧之间有 25-10=15 毫秒的交叠。我们称为以帧长 25 ms、帧移 10 ms 分帧。

  分帧后,语音就变成了很多小段。但波形在时域上几乎没有描述能力,因此必须将波形作变换。常见的一种变换方法是提取 MFCC 特征,根据人耳的生理特性,把每一帧波形变成一个多维向量,可以简单地理解为这个向量包含了这帧语音的内容信息。这个过程叫做声学特征提取。实际应用中,这一步有很多细节,声学特征也不止有 MFCC 这一种,具体这里不讲。

  至此,声音就成了一个 12 行(假设声学特征是 12 维)、N 列的一个矩阵,称之为观察序列,这里 N 为总帧数。观察序列如下图所示,图中,每一帧都用一个 12 维的向量表示,色块的颜色深浅表示向量值的大小。

  

  接下来就要介绍怎样把这个矩阵变成文本了。首先要介绍两个概念:

  1.音素:单词的发音由音素构成。对英语,一种常用的音素集是卡内基梅隆大学的一套由 39 个音素构成的音素集,参见 The CMU Pronouncing Dictionary。汉语一般直接用全部声母和韵母作为音素集,另外汉语识别还分有调无调,不详述。

  2.状态:这里理解成比音素更细致的语音单位就行啦。通常把一个音素划分成 3 个状态。

  语音识别是怎么工作的呢?实际上一点都不神秘,无非是:

  第一步,把帧识别成状态(难点);

  第二步,把状态组合成音素;

  第三步,把音素组合成单词。

  如下图所示:

  

  图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。

  那每帧音素对应哪个状态呢?有个容易想到的办法,看某帧对应哪个状态的概率最大,那这帧就属于哪个状态。比如下面的示意图,这帧对应 S3 状态的概率最大,因此就让这帧属于 S3 状态。

  

  那这些用到的概率从哪里读取呢?有个叫「声学模型」的东西,里面存了一大堆参数,通过这些参数,就可以知道帧和状态对应的概率。获取这一大堆参数的方法叫做「训练」,需要使用巨大数量的语音数据,训练的方法比较繁琐,这里不讲。

  但这样做有一个问题:每一帧都会得到一个状态号,最后整个语音就会得到一堆乱七八糟的状态号,相邻两帧间的状态号基本都不相同。假设语音有 1000 帧,每帧对应 1 个状态,每 3 个状态组合成一个音素,那么大概会组合成300个音素,但这段语音其实根本没有这么多音素。如果真这么做,得到的状态号可能根本无法组合成音素。实际上,相邻帧的状态应该大多数都是相同的才合理,因为每帧很短。

  解决这个问题的常用方法就是使用隐马尔可夫模型(Hidden Markov Model,HMM)。这东西听起来好像很高深的样子,实际上用起来很简单:

  第一步,构建一个状态网络。

  第二步,从状态网络中寻找与声音最匹配的路径。

  这样就把结果限制在预先设定的网络中,避免了刚才说到的问题,当然也带来一个局限,比如你设定的网络里只包含了「今天晴天」和「今天下雨」两个句子的状态路径,那么不管说些什么,识别出的结果必然是这两个句子中的一句。

  那如果想识别任意文本呢?把这个网络搭得足够大,包含任意文本的路径就可以了。但这个网络越大,想要达到比较好的识别准确率就越难。所以要根据实际任务的需求,合理选择网络大小和结构。

  搭建状态网络,是由单词级网络展开成音素网络,再展开成状态网络。语音识别过程其实就是在状态网络中搜索一条最佳路径,语音对应这条路径的概率最大,这称之为「解码」。路径搜索的算法是一种动态规划剪枝的算法,称之为 Viterbi 算法,用于寻找全局最优路径。

  

  这里所说的累积概率,由三部分构成,分别是:

  观察概率:每帧和每个状态对应的概率

  转移概率:每个状态转移到自身或转移到下个状态的概率

  语言概率:根据语言统计规律得到的概率

  其中,前两种概率从声学模型中获取,最后一种概率从语言模型中获取。语言模型是使用大量的文本训练出来的,可以利用某门语言本身的统计规律来帮助提升识别正确率。语言模型很重要,如果不使用语言模型,当状态网络较大时,识别出的结果基本是一团乱麻。

  这样基本上语音识别过程就完成了。

  以上介绍的是传统的基于 HMM 的语音识别。事实上,HMM 的内涵绝不是上面所说的「无非是个状态网络」那么简单。以上的文字只是想让大家容易理解,并不追求严谨。

打开APP阅读更多精彩内容

(0)

相关推荐

  • 车载智能语音:语音识别的核心技术

    什么叫自然语音交互,为什么唤醒词都需要四个字以上,为什么方言也能识别,唤醒词和后面的语音识别有什么区别,这期的内容给你精彩答案. 什么是自然交互 这样说吧,你和朋友在一起聊天,吃饭是不是很自然,这样的 ...

  • 语音识别中Chain Model的原理和实践

    导读 本文将介绍语音识别框架kaldi中提出的chain model语音识别系统,文章会先介绍HMM-DNN语音识别系统以及语音识别中的区分性训练作为铺垫知识,最后再重点介绍chain model的内 ...

  • 浅谈MFCC/HMM/GMM/EM/LM

    说起语音识别,大家的第一反应就是那些看起来眼熟却总也搞不清楚的概念和公式,比如MFCC.HMM.GMM.Viterbi图.解码对齐等等,再往下深入,哪个是哪个,具体用途是什么,就都说不清楚了,总觉得那 ...

  • 语音识别中的WFST和语言模型

    导读 在语音识别系统中,有限加权状态转换机(Weighted Finite State Transducers, WFST)扮演着重要角色.本文主要介绍发音词典.语言模型和WFST的原理,以及在实践过 ...

  • 为什么用不好技术分析?原来根源在于思维模式

    做交易的,尤其是做外汇期货交易的,几乎每个人都会了解一些技术分析.趋势线.支撑压力.各种价格形态.超买超卖.背离.百分比回撤,等等,这些技术手段几乎每个人都了解它的主要内容和使用方法.可是,为什么很多 ...

  • 导弹防御系统中红外光电识别技术分析

    目标识别问题是弹道导弹防御系统中的核心难题之一,针对弹道导弹突防中威胁目标群飞行各阶段呈现出的不同红外特性,介绍了天基红外系统和拦截弹的最新研究进展及其红外目标识别技术手段.在温度测量.测辐射强度.红 ...

  • 图解说明股票趋势技术分析方法

        无论是大盘还是个股,对于股票的分析从来都不是明天的涨跌,而是未来的趋势方向.目前,大多数投资者对于大盘及个股的后市走势分析都感觉非常无助,股价的未来走势非常迷茫.而且经常会犯追涨杀跌的错误,在 ...

  • 利用技术分析判断股票趋势的方法

        在股市中有一句话叫做顺势而为,相信无论新老股民都听说过,但是势在何方就不太好说了,判断股票趋势是首要条件,不能判断股票趋势,也就谈不上什么顺势而为了.那么,判断股票趋势的方法有哪些呢?     ...

  • 技术分析四要以

    技术分析,笔者研究过更重理论指标,最后就形象的简化为一句话:均线是水,K线是舟,量能是马达,题材是推进器.水能载舟亦能覆舟,多空趋势尽在其中,这应该就是A股技术分析四要以. 其实,有机会可以去游船上亲 ...

  • 技术分析的基本功!今天分享期货股票交易中常见的八大画线方法

    导读: 想要练好交易技能的基本功,技术分析是迈不过的一道门槛. "画线"是交易中最常用的工具之一,今天与大家分享常用的画线技巧,赶紧来收藏学习一下吧! 节选自<期货市场技术分 ...

  • 国外顶尖交易员所著《专业投机原理》,带你重新认识技术分析奥义

    编辑搜图 01 华尔街中充满了技术分析者.场内交易员(floor trader).楼上交易员(upstairs trader).投机者甚至某些长期交易者,都试图运用可能重复出现的模式,预测未来的市场走 ...

  • 【期权时代】买入期权不需要风险管理?依靠技术分析制定策略?请别再被这些观点蒙蔽了!

    赢乐期权时代 4篇原创内容 公众号 点击上方公众号关注后, 回复[新人礼包]送你88节期权图文学习资料 期权小师妹@期权时代 全文共 4878 字  阅读需要 13 分钟 作为新型的风险管理工具,期权 ...

  • 详解技术分析动静态阻力的强度等级(刘林荣)

    我是如此相信 周杰伦 - 我是如此相信 从古老的支撑阻力技术分析当中,有各种图形,现在至今为止,有古老的点数图,折线图,柱状图,K线图,空心K线图,平均K线图,面积图,基准线,新价线,卡吉图,Rang ...