目录

1.背景

2.孤立词识别

2.1 特征提取

2.2 动态弯算法

2.3 GMM(Gaussian mixture model)

2.4 HMM(Hidden markov model)

2.5 EM训练算法

2.6 语音识别基本方程

3.连续语音识别

3.1 语言模型

3.2 大词汇量

3.3 语音识别系统结构

3.4 评价指标:WER

4. 潘多拉魔盒

4.1 上下文有关模型

4.2 区分式训练

4.3 说话人适应

4.4 二次打分

5.结语

参考文献


1.背景

在讲解每一个知识或者技术之前,我们通常先说到它的概念,当然语音识别技术也不例外。那么什么是语音识别呢,语音识别就是把语音转换成文字。科大讯飞的输入法就是一个典型的语音识别的例子,我们可以在不方便打字又不想让别人听到自己声音的时候,就可以使用这种方法,它可以把语音信号转化成文字。全球有很多种语言,怎么让不同语言的信号转换成其对应的文字呢。这就衍生了语音识别的一些相关课题。

元数据识别:就是无论说话人说的是中文还是外语,我都可以将它转换成对应的汉子或者外国文字,而且更加神奇的是,它还知道在一句话的什么地方该加标点符号,这都属于元数据的识别范畴;语音增强与分离:在很多语音中挣钱并分离出自己需要的语音信号,最典型的的例子就是鸡尾酒宴会,意思就是在这个宴会上会有很多声音音乐声,不同的人的说话声,这时我想从这些混杂的语音中提取小明的声音以及他说话的内容,这时我们就可以用到语音增强与分离技术,这个可以用SVD实现;语音合成与转换:语音合成是语音识别的逆过程,也就是说语音合成是把文字转化成语音信号;自然语言处理的应用场景也非常多,像Siri或者win10上的小娜都是基于NLP的。说完概念,接下来说一说语音识别的应用。

语音识别技术在我们生活中见得非常多,比如语音助手、导航系统等等。这里就不多介绍。说完这些,我们就将进入语音识别技术的前世今生的前世部分。

这是两个带着红领巾的少先队员,为什么以这个图片为背景呢,我猜测可能和语音识别技术的历史有关。因为语音识别技术的前世是在20世纪80年代兴起的,而那时,也就是上世纪八九十年代,带着红领巾的少先队员正是风靡全国,曾经作为一名少先队员,我骄傲。既然说到这里,我就大致说下语音识别技术的发展史:1952年贝尔实验室的Davis等人研究成功了世界上第一个能识别10个英文数字发音的实验系统;20世纪70年代孤立词识别取得实质性的进展;1987年李开复开发世界上第一个‘非特定人连续语音识别系统’,(是的,就是那个创新工场的李开复,人家不仅能当总裁,还是一个科技大牛,不得不服呀,而且,王博士跟李开复是一个实验室的),用统计的方法提升了语音识别率;2011年微软的DNN深度神经网络模型在语音识别领域取得成功。具体的发展史可以看参考文献1中的小视频。

2.孤立词识别

每一个单词都有模板,用于待预测语音与它进行比较,如上图所示,右边蓝色的语音信号到底是说的Yes还是No。我们直观的看一下,可能感觉它是Yes的可能性更大,因为Yes的信号波形中有两个包,No只有一个包,而待预测的信号也是有两个包,从波形上我们可以大概判断出待预测信号是Yes的可能性更大一些,当然这种看波形的方法实不可取的,更是不科学的。那么我们应该怎么做呢,就是计算待预测信号与模板信号的距离,其实也就是相似程度,距离越短,相似程度越高。但是信号的距离该怎么比较呢,是通过把信号转换成特征向量,然后比较向量之间的欧式距离或者其他的距离,接下来,就来到了特征提取的部分。

2.1 特征提取

对于一段语音信号,我们通常是一段一段的分析,我们提取一帧信号,它的长度通常为20~50ms,一帧信号要至少包含2~3个周期,那你怎么知道20~50ms就能有至少2~3个周期呢,因为人说话的频率是在100Hz左右,所以语音信号的周期就是10ms,微观上我们感觉一帧信号特别长,竟然包含几个周期,但其实,50ms也就是0.05s,比一眨眼的的时间还短。

接下来我们就需要分析这一帧信号,对一帧信号做傅里叶变换,这样可以得到信号的频域的信息。有关傅里叶变换的知识可以看参考文献2,讲的非常通俗易懂。经过傅里叶变换之后,我们会得到这一帧信号的频谱,它由两部分组成,其中蓝色的线表示的是精细结构反应的是音高,在汉语中比较常用,用来识别汉字的声调,但是在外语中用处相对较小;红色的线表示的是包络,也就是频谱的大致幅度,它反映的是音色,包含主要的信息。可以看到,包络的峰要比精细结构少很多,只是在500Hz、1700Hz和2500Hz的地方有峰值。像精细结构这样的多峰的波形分析起来比较复杂,其实可以直接用包络表示这段语音信号,虽然不能丝毫不差的表示,但是它包含了这段信号的大部分信息。但是,我们通常不会直接用包络表示语音信息,那么我们应该怎么做呢,就是对精细结构进行滤波,继续往下看。

我们对一帧信号进行三角滤波,中间那副图片中的蓝线表示的就是精细结构,红线表示的就是三角滤波器。可以看到,左边的三角滤波器比较密,这是跟人耳的频率特性相关的,人耳对低频信号比较敏感,所在低频部分的分辨率较高,高频部分的分辨率就相对较低。经过三角滤波后,我们得到最下边的成为滤波器组输出的图像,可以看出,Filterbank output的峰的个数相对精细结构也变少了,我们再一看,它和频谱的包络在形状上很相似,实际上,他就是频谱包络的一种近似。最下边这幅图的横坐标表示三角滤波器的标号,此示例中用了40个三角滤波器,纵坐标表示信号的能量,可以看出频谱精细结构在500Hz处有个高峰,所以在500Hz处的三角滤波器中的能量比较大,500Hz大约对应第12个三角滤波器,在下图可以看到,横坐标在12处有个高峰。其实这个Filterbank output就基本可以作为这一帧语音的特征了,但是我们还通常会进一步做数学变换来达到数据压缩的目的,继续往下看。

通常情况下我们会对Filterbank output做一个对数变换或者离散余弦变换,这样就可以吧Filterbank output压缩为一个13维的特征向量,称为MFCC。经过一系列处理之后,我们得到了一帧语音信号的特征向量,那么怎么对整个一段语音信号进行处理呢,我们继续往下看。

对于一段语音信号,我们通常利用类似于滑动窗口的方法沿着时间的维度一帧帧的将信号堆叠起来,窗宽就是一帧信号的长度,两个窗口之间通常会有10ms的重叠以防信息的泄漏,这样把一帧帧信号按列堆叠起来,形成了中间的语谱图,横坐标为帧的序号,纵坐标为评率,右边的Colorbar表示信号的能量,自下向上能量越来越大,对语谱图进行数学变换之后,我们可以得到MFCC序列,它就表示语音信号中的有用特征。接下来看看特征提取的一些特点。

在语音识别领域中MFCC序列是最常用的特征,他主要描述的是频谱包络,也就是音色。它的优点就是排除基频也就是精细结构;一帧语音信号通常会有成百上千个采样点,而MFCC序列只需要一个13维的特征向量就可以表示这一帧信号的主要特征信息,所以有维度低的特点;符合听觉就是指在低频处三角滤波器密集而在高频处三角滤波器稀疏。万物都有两面性,MFCC序列有优点就会有缺点,它一次只能看一帧也就是20~50ms的信号,即视野小;还有就是受噪声、回声影响等。关于它的改进部分就不多说了。

2.2 动态弯算法

在文章的开头说过,需要计算待预测语音与模板语音之间的距离,从而判断它想要表达的内容。经过特征提取之后我们将语音信号编程了一个个13维的特征向量,那么我们该怎么计算两个特征序列之间的距离呢。这里用到了DWT算法,将待识别语音中的每一帧与模板中最相似的一帧匹配,同时要保证顺序不要改变。因为一个词或者一句话顺序改变,意思也会完全改变。在上图中我们用一个竖条表示一帧语音信号的特征向量,通过DTW算法将待识别语音的特征向量与模板特征向量对齐之后,计算待识别语音中的每一帧语音与模板中每一帧的欧式距离,然后总距离为所有帧的欧式距离之和。通过计算待识别语音与Yes模板和No模板的欧式距离,取两者中距离小的那个为最终识别结果即可。其实到此,孤立词识别问题就已经解决了,但是人总是不满足的, 总是想找到更好的方法,那么我们继续往下看。

2.3 GMM(Gaussian mixture model)

我们知道,同一个人或者不同的人说一个汉字或者单词的发音是存在区别的,那么我一个词比如Yes只录一个模板的话,那么最后的识别正确率会降低。这就要求我们需要多录几个模板,在上图中,中间的五个特征向量为待识别语音,上下分别为待识别语音的模板,那么经过DTW算法之后,我们把对齐的几个特征向量整合在一块,这样原来的模板就变成了右边的有五个状态的模型,然后我们就让待识别语音与模型中的每个状态进行对齐,这样的话,识别的准确率会大大提升。接下来我们需要使用GMM来拟合每个状态中特征向量的分布,顾名思义,GMM其实就是多个高斯分布叠加而成的一种模型,如右下角的图形就是在二维空间下的GMM,可以看到,它的形状有点像地理中的等高线,这其实是一个轮廓图,经过GMM后,可以得出特征向量的概率密度并以此代替欧式距离。训练好GMM后,我们怎么用模型识别未知语音呢,继续往下看。

我们首先用DTW算法把待识别语音与模型中的状态对齐,计算每一个特征向量在模型中的概率密度,并以此来代替向量间的欧式距离。然后把每一帧的概率密度(这里一帧和一个特征向量是一样的,都是用一个竖线表示)相乘得到了在模型下待识别语音的概率,这里假设各帧之间是独立的。最后取P(待识别语音|模型)最大的模型为识别结果。还是以文章开头的例子为说明,计算待识别语音中的每一帧分别在Yes模型和No模型中的每一状态中的概率密度,最后相乘得到P(待识别语音|Yes模型)和P(待识别语音|No模型),取两者中较大的值对应的模型就是待识别语音最后的结果。

2.4 HMM(Hidden markov model)

接下来就轮到了前世中的主角闪亮登场了,也就是隐马尔可夫模型(HMM),它将模型完全概率化,概率可以为我们提供更多的信息,比如我想知道明天是晴天还是阴天或者下雨,告诉你结果,不如告诉你这三者中每一个发生的概率,其实我们也经常在天气预报中听到,某某地区的降水概率是多少,这显然比直接告诉我们明天是下雨或者晴天包含的信息更多。HMM在GMM的基础上增加了转移概率。什么是转移概率呢,如上面的图中所示,初始状态为第一个状态,那么它的下一状态还为第一状态的概率为0.7,下一状态为第二状态的概率为0.3,这里的0.7和0.3就是从当前状态转移到下一状态的概率,也就是转移概率。我们可以看到,待识别语音的每一帧与模型中的状态对齐之间也有个概率,也就是0.016,0.028这些值,这些值可以由GMM计算得出,也就是观测概率。我们把GMM测得的观测概率和HMM的转移概率相乘,就得到了在某模型下,语音和对齐方式的联合概率。接下来看看,HMM的特点。

HMM主要有两个特点,第一个就是特征序列由隐状态产生,隐状态也就是上面说到的五个状态,为什么称之为隐状态呢,是因为每帧特征向量和状态之间的对齐方式是未知的;另一个特点就是马尔可夫性,这里就不多说了。有关GMM,HMM,包括下面将要说的EM的相关知识,我推荐大家可以看一下悉尼科技大学的徐亦达老师在优酷的一个自频道,里面详细的讲解了概率统计的一些知识,并且每一个概念都有详细的公式推导,值得一看,教学视频见参考文献3。说完模型的特点,接下来说一下模型的参数,实际上HMM是有三个参数的:转移概率,观测概率以及初始概率。但是上面示例中的HMM是单向的,所以初始状态默认为第一个状态,所以,模型的参数就变成了两个:转移概率和观测概率。

接下来就看看HMM在语音识别领域中是如何使用的。HMM的三大问题:第一个问题就是求值问题,也就是给定模型参数和待识别语音,求概率,因为对齐方式是事前不知道了,所以我们就需要枚举每种对齐方式,由前面讲到的公式P(语音,对齐方式|模型) = GMM观测概率*HMM转移概率可以算出联合概率P(语音,对齐方式|模型),然后对所有对齐方式求和,联合概率就变成了边缘概率P(语音|模型),但是对齐方式是多种多样的,对枚举每一种对齐方式是很困难的,所以这里就引入了动态规划算法中的前向算法,个人对动态规划的算法不了解,所以这里就不多进行说明;第二个问题就是解码问题,也就是给定模型参数和语音,求最佳对齐方式的问题,那么什么才是最佳的对齐方式呢,最佳对齐方式就是使联合概率P(语音,对齐方式|模型)最大的那种对齐方式,这里用到了动态规划的算法中的Viterbi,这个算法其实就是DTW算法的升级版本,最佳对齐方式的概率可以作为总概率的近似,这里说明一下它的意思,比如我有1000种对齐方式,那么最佳对齐方式只是其中的一种,如果假设对齐方式服从均匀分布的话,当然这时候也就没有了最佳而言,因为每一种对齐方式的概率都是一样的都是0.1%,这显然跟总概率相差甚远,实际上并不是这样了,通常情况下最佳对齐方式的概率跟非最佳对齐方式的概率不是一个数量级,也就是说我最佳概率可能为90%,而你其他999中非最佳的概率和才占10%,所以,这种情况下,可以把最佳概率作为总概率的近似;最后一个问题就是训练问题,训练问题就是给定语音和模型结构,求模型参数的问题。将在下面的内容中详细的讲解。

2.5 EM训练算法

最大期望算法(Expectation-maximization algorithm,EM)在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。我们事先是不知道对齐方式的,但是我们可以随机假设一种对齐方式,假设Yes这个词的发音一共有15帧信号,那么我们可以这样分割,前五帧代表Y的发音,中间五帧代表e的发音,最后五帧代表s的发音,然后以这种对齐方式求得模型的参数,然后再反过来更新对齐方式,这里没有再使用DTW,而是使用Viterbi或者Forward-backward算法,一直这样不断更新下去,直到收敛为止。

2.6 语音识别基本方程


最后讲一下语音识别的基本方程。这个方程其实就是语音识别技术要解决的问题,它是求得在已知X也就是待识别语音的条件下它被识别为任意一个单词W的概率,比如我们说段语音,它可以被识别为Yes也可以被识别为No或者其他,语音识别要做的就是找出被识别为某一个词最大的概率,也就是W*。P(W|X)是条件概率,我们把它经过贝叶斯公式变换一下得到P(X|W)P(W)/P(X),其中P(X|W)称为likelihood也就是似然函数,在这里它是指的声学模型,根据这个式子P(W|X)=P(X|W)P(W)/P(X)而言,要想使P(W|X)最大,我们要做的无非就是让分子尽量大,分母尽量小。因为给定了X以后P(X)就可以认为是固定了,那么最大化式子P(W|X)=P(X|W)P(W)/P(X),就变成了最大化式子P(W|X)=P(X|W)P(W),那么就需要让似然函数也就是声学模型P(W|X)和先验概率P(W)尽量大,声学模型我们可以用GMM和HMM训练得到,而且上一张PPT中,EM训练算法可以最大化似然函数也就是P(W|X)。那么什么是先验概率呢,先验概率就是一个人说某一个词或字的概率,比如我们一天中说“我吃米饭“”的次数比较多,那么它们的概率就比较大,而说“饭米吃我”的次数极少,那么它们的概率就小,那么这些概率就是所谓的先验概率,当似然函数也就是声学模型不能给我们提供足够的信息的时候,也就是P(W|X)很小的时候,我们就会通过先验概率P(W)来判断这个语音说的是什么,对于一段待识别语音,我们会更倾向与把它识别为“我吃米饭”而不是“饭米吃我”,当然这个我举的这个例子是一句话了,不是单个的孤立词,但是意思是一样的。那么,到目前为止,有关孤立词识别的内容就全部讲完了,接下来,将讲解连续语音识别的相关内容。

3.连续语音识别

什么是连续语音识别呢,我们把上面的孤立词都变成句子就是连续语音识别了。W和就不再表示一个词,而是表示一句话;同样的孤立词的似然也就是声学模型也变成了句子的声学模型,它可由一个个单词的声学模型串联起来,但是一定要保证顺序。最后的孤立词的先验概率P(W)也变成了句子的先验概率,也就是我们上面举的例子,“我吃米饭”与“饭米吃我”,哪一个更像我们正常人说的话,那么我们也称作句子的先验概率为语言模型。接下来,我们将详细介绍语言模型。

3.1 语言模型

在语言模型中,会经常用到链式法则,其实就是概率论中的乘法公式,即某一句话出现的概率等于第一个字出现概率乘以已知第一个字出现的条件下第二个字出现的概率乘以已知前两个字出现的概率下第三个字出现的概率依次类推。我们以“皮卡皮卡丘”这句话为例,链式法则用公式表示就是P(皮卡皮卡丘) = P(皮)*P(卡|皮)*P(皮|皮卡)*P(卡|皮卡皮)*P(丘|皮卡皮卡)。但是通常情况下,当我们说皮卡后,下一个字是皮的概率很小,也就是P(皮|皮卡)很小,而且不容易计算。为了解决问题,提出了n-gram模型,这是一种什么样的存在呢,也就是说每个词只与前n-1个词有关,当每个词只与前1个词有关时,我们称之为Bigram,这其实就跟Markov模型是一样的了,我们怎么计算这样的概率呢,这需要搜集大量的语料,以P(丘|卡)为例,我们需要搜集卡*出现的次数,然后搜集卡丘出现的次数,用卡丘出现的次数除以卡*的次数就是P(丘|卡);同样的,当每个词只与前两个词有关的时候,我们称之为Trigram。还有一些最大熵和神经网络的语言模型,它们比较复杂,我本人也不太懂,所以不多介绍。接下来,我们主要看下Bigram模型。

正如我上面所说的。Bigram实际上就是马尔可夫模型,下一个词只与当前词有关,可以可到,这里它不再像孤立词中的HMM一样,这里的模型它是双向,也称为是遍历的,它们之间的状态可以相互转移,上图为例,“皮”转移到“卡”的概率为0.5,转移到“丘”的概率为0.3,还是“皮”的概率为0.2。那么我们把语言模型看做一个马尔可夫模型有什么好处呢,其实这样的话,它就可以与单词的声学模型进行复合。什么意思呢,我们以上图中下边这个状态转移图为例进行简要的说明。如上图所示,把每个字都分成了3个状态,前两个状态只能在这个顺序字内转移,也就是说皮1不能直接到皮3或者到卡以及丘的内部状态中,但是第三个状态可以在字间或者字内转移。以皮3为例,假设皮3转移到自身的概率为0.6,那么它转移到其它转态的概率为0.4,这里的0.4包括字内转态转移和字间转态转移,因为字间转移只能由第三个状态完成,在这里也就是皮字转移到其它字只能由皮3完成,我们在上边那个三角形的转移图中可以看到,皮字转移到卡的概率为0.5,那么0.5*0.4 = 0.2就是皮3转移到卡1的概率;同样的0.3*0.4 = 0.12就是皮3转移到丘1的概率,0.4*0.2 = 0.08就是皮3转移到皮1的概率。因为语音信号的顺序问题,比如“卡”字的发音是按照卡1---卡2---卡3这样的顺序完成的,所以字间转移,也就是第三转态只能转移到本字或者其他字的第一状态。我们可以将待识别语音在复合模型中遍历,让待识别语音跟复合模型中的状态进行匹配,计算状态的观测概率,寻找最佳路径,然后将最佳路径上的单词按照顺序排列起来就得到了连续语音信号的识别。我们通常说的语音都是大词汇量的,那么我们该怎么去识别大词汇量的语音呢,继续往下看。

3.2 大词汇量

我们前边讲到的是为每一个单词训练单独的HMM,也就是每一个单词录不同的模板组成模型。但是语言库中的汉字或者单词都是上万级别的,如果为每个汉字或者单词都录入几个不同的模板的话,这样的工作量就太大了,所以这种方法是不可取的。我们知道汉语是按照拼音进行发音的,我们可以为字母表中的拼音训练HMM,同样的我们可以为英语中的音标训练HMM,这样我们就把每个单词训练的HMM变为了为每个因素训练HMM。这样之前原来的复合模型就变成了上图中更加庞大的一个复合模型,我我们得到了这个模型,那么我们应该怎么训练它呢,请继续往下看。

训练的过程和之前的训练是相同的,它在音素串内部的HMM仍然是单向的,我们还是采用EM算法。这里就不多说了,接下来就是解码的过程,当给定一门语言的解码器(这包括语言模型,词典(词典的作用就是把音素拼接为一个单词)和声学模型)和一条语音,我们就可以使用Viterbi算法求得最佳路径,最佳路径其实还是回归到概率问题,概率最大的路径就是最佳路径,路径上的单词就是识别的结果。那么我们就完成了大词汇量的连续语音信号的识别问题,接下来我们看看语音识别系统的一个整体结构框架。

3.3 语音识别系统结构

首先是将一段语音信号经过特征提取的操作后把信号变成了一个MFCC序列,特征提取也称为前端,那么后端主要是由解码器组成的,解码器又包括声学模型、词典和语言模型。声学模型也就是似然,它描述的是单词或者音素的发音情况,主要由GMM和HMM来完成,词典可以把音素拼接起来组成单词或者汉字,语言模型就是把单词整合成符合人类说话习惯的连续的语音,也就是把单词整合成一句话,最后将结果输出就是我们最终想要得到的识别结果。模型都有评价指标,这个模型到底好不好,我们该怎么去评价它呢,接下来我们就讲解语音识别系统的评价指标。

3.4 评价指标:WER

语音识别系统常用的额评价指标就是词错误率,英文是word error rate,简写为WER。那么怎么计算呢,PPT中写的很详细,我在这里就不多说了。例子也不说了。

我们可以看到,这张PPT中的对齐方式跟上一张不太一样,但是最终的词错误率是一样的,所以最优对齐方式不一定是唯一的。词错误率有一个缺陷就是它只能发现词是对是错,却不能说明词错误的程度,比如我说“小狗”,它识别成了“小巩”或者识别成“小猫”的词错误率都是50%,但是很明显,把“小狗”识别成“小猫”的错误程度更大,但是语音识别中还是通常使用词错误率作为评价指标而不会去在意那些细节性的东西。还有一点就是WER可能高于100%,这是因为你错的词的个数比正确的答案句子的长度还要多,这就会导致WER高于100%,如上边的例子所示。

这两幅PPT主要是讲解的WER的发展史,这里就不多做介绍。

4. 潘多拉魔盒

这么长时间内语音识别的框架没有发生改变,并不是说技术没有进步,只是人们把框图中的每个人部分更加优化了,解决的方法更好了。下面主要讲后端部分的优化。

4.1 上下文有关模型

上下文有关模型实际上就是在说同样的音素在前后音素发音不同时,中间的音素的发音也有微小的不同,上边的PPT以five和nine为例说明了这个问题,在英语中大约有50个音素,每个因素有3个状态的话,这样也就是有150个状态,但是有了上下文有关音素之后,这个音素受它的上一个音素、下一个音素以及它本身这三个音素的影响,每一个音素有50种情况,那么一种有50*50*50种情况,也就是125000种情况,这显然是非常多的。于是就有了上下文聚类的一种方法,这样最终的状态数会在几千的数量级,这对于我们来说还是可以接受的。

4.2 区分式训练

4.3 说话人适应

4.4 二次打分

5.结语

至此,语音识别技术前世今生之前世的内容就讲完了,下一篇文章将继续讲解语音识别技术前世今生之今生的内容。

语音识别技术的前世今生【今生篇】

参考文献

1、语音识别技术的前世今生:https://www.bilibili.com/video/av19158521/

2、傅里叶变换:https://zhuanlan.zhihu.com/p/19763358

3、徐亦达自频道:http://i.youku.com/i/UMzIzNDgxNTg5Ng==?spm=a2hzp.8253869.0.0

语音识别技术的前世今生【前世篇】相关推荐

  1. 语音识别技术的前世今生之前世

    最近在做脑磁图的信号处理方面的工作,在网上查阅信号处理相关工作的资料时,看到了CMU的王赟博士关于语音识别技术的介绍,个人感觉讲的很精彩,同时,语音识别技术已经渗入到我们生活的方方面面,抱着学习者的心 ...

  2. 语音识别技术的前世今生

    语音识别技术之前世: GMM + HMM 知识点1:孤立词识别 知识点2:连续语音识别 知识点3:潘多拉魔盒 语音识别技术之今生:神经网络 知识点1:前馈神经网络(Tandem 结构.Hybrid结构 ...

  3. 时势下的HMS和GMS前世今生——今生篇之三问突破口

      谢HMS Core总体组运营邀请,分享个人的一些观点.   关于HMS突破口的讨论已有多名技术.营销专家.同事在内部掀起热烈讨论,虽然HMS和GMS的前世今生-- 前世篇整合了一些思考,但构建移动 ...

  4. (深入篇)漫游语音识别技术—带你走进语音识别技术的世界

    前有古人,后有小王,大家好,我是你们爱思考的小王学长,今天咱们继续漫游语音识别技术哈,今天内容稍微专业一些,大家可以结合上一篇漫游语音识别技术一起学习. 上篇我们简单了解了语音识别技术的概念.前世今生 ...

  5. 郭健: Linux进程调度技术的前世今生之“前世”

    作者简介 郭健,一名普通的内核工程师,以钻研Linux内核代码为乐,热衷于技术分享,和朋友一起创建了蜗窝科技的网站,希望能汇集有同样想法的技术人,以蜗牛的心态探讨技术. (小编画外音:郭大侠是我最佩服 ...

  6. python多媒体应应用应用(人工智能篇):你想为自己的工作和生活减负吗?一文全程让你掌握语音识别技术核心

    这篇博文标题为:你想为自己的工作和生活减负吗?那么欢迎关注语音识别技术吧! 作为21世纪,很多生活和工作的模式都发生了变化,特别是多媒体技术的普遍应用,随着人工智能的兴起,给多媒体技术锦上添花.那么当 ...

  7. 语音识别技术准确率早已超过人类平均水平

    语音交互在某些方面是一个"升维"的操控方式,相比传统的操控方式来说,"语音"能让使用者无需直接接触被操控物就能实现某些功能.比如在实时互译.智能家居的操控以及面 ...

  8. 百度语音识别技术负责人李先刚:如何利用Deep CNN大幅提升识别准确率?

     百度语音识别技术负责人李先刚:如何利用Deep CNN大幅提升识别准确率? 机器之心mp 2016-11-04 14:24:34 技术 百度 阅读(440) 评论(0) 机器之心原创 作者:赵云 ...

  9. 带你认识传统语音识别技术

    摘要:隐马尔可夫链HMM模型自从1980年代被用于语音识别以来,一直都是实际语音识别系统的主流方法. 本文分享自华为云社区<新手语音入门(四): 传统语音识别技术简介 | 隐马尔可夫链 | 声学 ...

最新文章

  1. SAP Forecasting Replenishment (SAP FR)(中英双语)
  2. 大受褒扬,BCH中国开发者走向世界!
  3. MVC用非Entity Framework将数据显示于视图(二)
  4. API接口调用里的QPS指什么?百度语音API里的QPS实例说明
  5. UWP 剪贴板 Clipboard
  6. 使用Javascript递归遍历本地文件夹
  7. Oracle数据库adg数据没同步,Oracle 11g备库无法开启ADG的原因分析
  8. Qt文档阅读笔记-QIODevice解析及Audio Example实例解析
  9. Django环境搭建及学前准备
  10. 图解TCPIP-DNS
  11. 将DataRow转换为DataTable
  12. 2018年高教社杯全国大学生数学建模竞赛题目A题   高温作业专用服装设计
  13. 阿里云总监课第四期:阿里褚霸携专家团独家分享弹性计算最佳实践
  14. 怎么解决ZBrush保存历史记录太多问题
  15. 组态王通过Modbus TCP与ESP32通讯
  16. 国内手游渠道SDK快速接入之Unity篇
  17. Downward API,它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息。
  18. iOS 直播流程概述
  19. Vue创建app及App挂载和渲染
  20. 全套3D游戏建模自学资料

热门文章

  1. Mongo入门-2-基本操作
  2. Android计步器的实现(1)
  3. freertos和ucos的区别
  4. 取得当前日期相对应的月初,月末,季初,季末,年初,年末
  5. 聚焦:中国八大城市娶老婆的成本
  6. 阻抗匹配基础知识详解
  7. 手把手教你如何利用Meterpreter渗透Windows系统
  8. (正则)校验 8-16位,必须含有特殊字符、而大写字母、小写字母、数字至少包含其中两项
  9. Daily Scrum Meeting 11.13
  10. iOS项目集成unity(2020+ 版本)