1.本技术涉及信号处理技术领域,具体而言,本技术涉及一种语音识别方法、装置、电子设备及计算机可读存储介质。
背景技术:2.随着人工智能技术的迅速发展,人机交互模式也越来越多元化。语音交互,作为一种新兴的人机交互模式,在市场上受到广大用户的青睐。识别出用户的语音的中是否包含关键词可以应用在多种领域,例如,可以用于语音唤醒,每当用户向智能设备说出语音,智能设备对该语音进行识别,若识别到语音中包括预定义的唤醒词,就可以唤醒设备,以便用户进一步发出其他指令;还可以扩展到其他领域,如智能手机、智能手表、智能家居的语音指令控制,广播、电视节目中的敏感词汇检测。
3.现有的语音识别技术大多采用深度学习的方法,主要是采用深度残差神经网络确定语音中每一帧属于每一个分类的后验概率,以获取整段音频包含关键词的概率,有必要对现有的语音识别方法进行优化。
技术实现要素:4.本技术提供了一种语音识别方法、装置、电子设备及计算机可读存储介质,用于解决智能语音设备与用户进行交互时,如何更为精准地做出回应,该技术方案如下所示:
5.第一方面,提供了一种语音识别方法,该方法包括:
6.获取待处理的语音片段;
7.提取语音片段的特征图,并对所提取的特征图进行分类,得到语音片段包含关键词的概率。
8.第二方面,提供了一种语音识别装置,该装置包括:
9.获取模块,用于获取待处理的语音片段;
10.识别模块,用于提取语音片段的特征图,并对所提取的特征图进行分类,得到语音片段包含关键词的概率。
11.第三方面,提供了一种电子设备,该电子设备包括:
12.一个或多个处理器;
13.存储器;
14.一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面所示的语音识别方法所对应的操作。
15.第四方面,提供了一种计算机可读存储介质,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如第一方面所示的语音识别方法。
16.本技术提供的技术方案带来的有益效果是:
17.本技术提供了一种语音识别方法、装置、电子设备及计算机可读存储介质,与现有技术相比,本技术通过识别网络提取语音片段的特征图,并对所提取的特征图进行分类,可以有效减少识别过程中的运算量,提高识别效率。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
19.图1为一种语音唤醒场景示意图;
20.图2为现有技术中的深度残差神经网络结构示意图;
21.图3为现有技术中的残差单元的结构示意图;
22.图4为本技术实施例提供的一种语音识别方法流程示意图;
23.图5为本技术实施例提供的一种识别网络的结构示意图;
24.图6为本技术实施例提供的一种语音识别方法流程示意图;
25.图7为本技术一个示例中提供的一种特征图处理子网络的结构示意图;
26.图8为本技术实施例提供的depth
‑
wise卷积示意图;
27.图9a为本技术一个示例中提供的一种特征图处理子网络的结构示意图;
28.图9b为本技术另一个示例中提供的一种特征图处理子网络的结构示意图;
29.图10为本技术实施例提供的一种语音识别方法流程示意图;
30.图11为本技术实施例提供的对第二特征图进行分类的方案的示意图;
31.图12为本技术一个示例中提供的多尺度分类器的结构示意图;
32.图13为本技术一个示例中提供的多尺度分类器的结构示意图;
33.图14为本技术一个示例中提供的多尺度分类器的结构示意图;
34.图15为本技术一个示例中提供的语音识别的方案的示意图;
35.图16为本技术实施例提供的一种语音识别的方案的示意图;
36.图17为本技术一个示例中提供的多尺度分类器的结构示意图;
37.图18为本技术一个示例中的语音识别模型的结构示意图;
38.图19为本技术一个示例中的语音识别模型的结构示意图;
39.图20为本技术实施例提供的一种语音识别的方案的示意图;
40.图21为本技术实施例提供的一种语音识别的方案的示意图;
41.图22为本技术实施例提供的一种语音识别的方案的示意图;
42.图23为本技术实施例提供的一种语音识别的方案的示意图;
43.图24为本技术一个示例中确定包含关键词概率的方案的示意图;
44.图25为本技术实施例提供的语音滑动检测方案的示意图;
45.图26为本技术一个示例中语音滑动检测方案的示意图;
46.图27为本技术一个示例提供的语音识别方案的示意图;
47.图28为本技术一个示例提供的dru的结构示意图;
48.图29为本技术一个示例提供的不同说话风格和嘈杂环境下的多尺度分类器原理示意图;
49.图30为本技术实施例提供的一种语音识别装置结构示意图;
50.图31为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
51.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
52.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
53.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
54.以下将以语音唤醒的应用领域,对语音识别技术进行介绍。
55.随着人工智能技术的迅速发展,人机交互模式也越来越多元化。语音交互,作为一种新兴的人机交互模式,在市场上受到广大用户的青睐。语音唤醒是控制语音交互的开关,每当用户向智能设备说出预先定义好的唤醒词时,语音唤醒模块负责检测唤醒词的出现,并唤醒设备,以便用户进一步发出其他指令。由此可见,语音唤醒算法的目的,是为了检测出连续音频流中存在的关键词,这也使得这一算法不仅能应用于语音唤醒,还可以扩展到其他领域,如智能手机、智能手表、智能家居的语音指令控制,广播、电视节目中的敏感词汇检测。
56.现有的先进语音唤醒技术大多采用深度学习的方法。具体流程参见图1,主要分为三个主要步骤:
57.特征工程,基于深度神经网络的帧分类器,后处理。语音唤醒模块的输入是一段连续语音(可以为设定时长的音频段,如1秒的音频段),特征工程也可以称为特征提取(feature extraction),用于生成输入的连续语音的低级表示,特征工程将输入的连续语音提取成一帧一帧的定长向量,即语音特征向量,也可以称为特征矩阵(feature matrix),例如,将输入的1秒的音频段转换为梅尔频率倒谱系数(mel frequency cepstrum coefficient,mfcc)特征矩阵。
58.每一帧特征向量顺次输入到基于深度神经网络的帧分类器中,基于深度神经网络的帧分类器也可以称为声学模型(acoustic model),得到该帧属于每一个分类的后验概率,即包含每个关键词/子词的概率。例如,以得到的上述mfcc特征矩阵作为输入,计算输入的连续语音中包含每个关键词/子词的概率。
59.后处理模块,汇总所有帧在每一个分类上的后验概率,得到整段音频包含关键词的概率,并与预设的阈值进行比较,做出是否唤醒的决策。
60.由于语音唤醒模块需要常驻于设备后台,不断运行并实时检测,因此模型的大小不宜太大,计算复杂度不宜太高,需要不断在低功耗和高识别率之间进行权衡。语音唤醒模
块的主要复杂度和几乎全部参数都来自于基于深度神经网络的帧分类器,因此帧分类器的性能直接影响着整体性能。目前最为先进的帧分类器采用了深度残差神经网络(deep residual neural network,resnet)的结构,具体的网络结构参见图2。一个深度残差神经网络,由初始卷积层、残差单元、全连接分类器三部分组成。初始卷积层将输入的特征帧进行尺寸压缩和通道升维。初始卷积之后,多个残差单元堆叠在一起,由浅入深地提取特征帧的局部和全局特征。残差单元(residual unit,ru),由卷积层和激活+归一化层组成,并通过捷径(shortcut)和输入进行连接,参见图3,一个ru可以包含多个卷积层和多个激活+归一化层,每个卷积层后连接一个激活+归一化层,卷积层可以为3x3的卷积层,激活层可以为修正线性单元(rectified linear unit,relu)激活层,归一化层可以为批量归一化(batch normalization,bn)层。残差单元中的shortcut连接使得残差单元趋向于学习恒等映射,因此残差单元中的卷积层趋向于学习零映射,变得更容易训练。深度残差网络的最后,是一个全连接分类器,将残差单元提取出来的特征进行分类,得到特征帧属于每一个类别的后验概率。深度残差神经网络由于能够训得层数很深,模型的准确率得到了保障。通过控制卷积核的数量,也能够把网络大小和复杂度限制在规定的范围。
61.尽管基于深度残差神经网络的语音唤醒技术能够在一定程度上满足模型大小和识别率的需求,但是仍然存在一些缺陷:
62.(1)基于深度残差神经网络的语音唤醒方案抗噪性较差。基于深度残差神经网络的语音唤醒在安静环境下表现良好,但是现实中的场景往往要更为复杂,用户在嘈杂的噪声环境中如餐厅、办公室、大街上的时候,对语音唤醒功能也有很强的需求,而在这样的环境下,由于人的声音和环境噪声混杂在一起,会导致语音唤醒模型对唤醒词的鉴别能力下降,继而造成唤醒率下降。在噪声环境和不同的说话方式下,resnet的鲁棒性较差
63.(2)基于深度残差神经网络的语音唤醒方案说话人适应性较差。一千个人有一千种说话方式,每个说话人在发出包含唤醒词的语音时,语速、语调、强弱程度可能都不尽相同,而且同一个说话人在不同时间段,由于身体状态不同,发出的唤醒词语音也不尽相同。基于深度残差神经网络的语音唤醒方案只能处理大多数平均情况,却难以处理某些边界情况。例如当说话人发音过快时,输入的语音片段是定长的1秒,而唤醒词片段只占400毫秒,剩下的600毫秒都是静音或者噪声,那么模型在后处理时会更倾向于把这段语音判断为静音或噪声而非唤醒词。
64.(3)基于深度残差神经网络的语音唤醒方案只使用单一尺度的特征来进行识别(用整个音频段的所有特征进行识别),引入了很多非关键字信息,会导致语音唤醒模型对唤醒词的鉴别能力下降,继而造成唤醒率下降。例如,基于深度残差神经网络以1s的音频段作为输入,但是音频段中实际的关键字出现的时间可能非常短,出现在一个未知的时间段内,基于深度残差神经网络只使用单一尺度来识别关键字,用整个音频段的所有特征进行分类,在某些情况下会考虑很多非关键字信息,影响最终的结果,是的网络的鲁棒性较差。
65.(4)深度残差神经网络仍有进一步压缩的空间。深度残差神经网络的参数数量和复杂度主要来自于堆叠的残差单元,而残差单元中使用的是传统的卷积,需要多个不同的卷积核对输入的特征图进行滑动卷积操作,每次滑动卷积完成后要进行通道合并,无论是参数数量还是计算复杂度都存在大量冗余。尽管通过减少卷积核的数量可以在一定程度上限制模型大小,但是由于随之减少了通道数量,模型的表示能力也会有所下降。
66.本技术提出了一种基于多尺度卷积的低功耗语音唤醒方案。大大提升了模型的抗噪能力和说话人适应性,提高了网络的鲁棒性。使用了depth
‑
wise操作对深度残差神经网络中残差单元的卷积层进行参数压缩,使得模型大小和计算复杂度大大降低(例如可以降低7倍)。
67.本方案与现有技术相比,有以下优点:
68.(1)本方案的抗噪性更好。本方案在多个中间卷积层后加入了多尺度分类器,由于不同的中间层感受野不同,加入多尺度分类器能够对输入语音片段的多个不同起点、不同长度的子片段进行分类,从而能够精准找到唤醒词位置,排除背景噪声的干扰,达到更好的分类效果。例如输入一段长度1秒的带噪音频,200毫秒至800毫秒为唤醒词,如果用整段提取的特征进行分类,前后200毫秒的噪声就可能对分类结果造成干扰。而多尺度分类器能够尝试仅用200毫秒至800毫秒这一子片段分类,从而获得更高的分类精度。
69.(2)本方案的说话人适应性更好。本方案在多个中间卷积层后加入了多尺度分类器,能够从多个尺度检测关键词的存在,从而能适应说话人语速、语调的变化。例如输入一段长度1秒的音频,由于说话人发音过快,唤醒词只占了200毫秒至600毫秒的部分,多尺度分类器能够尝试使用200毫秒至600毫秒这一子片段进行分类,从而提高了分类精度。
70.(3)本方案的模型压缩程度效果更好。本方案使用了depth
‑
wise操作对深度残差网络中残差单元的卷积层进行参数压缩,将卷积核的数量由多个减至一个,模型的大小压缩了7倍。此外,取消了滑动卷积之后的通道合并,通道数量没有减少,维持了模型原有的表示能力。
71.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
72.本技术实施例中提供了一种可能的实现方式,如图4所示,提供了一种语音识别方法,可以包括以下步骤:
73.步骤s401,获取待处理的语音片段;本技术实施例中,语音片段也可以称为音频片段。
74.步骤s402,基于识别网络提取所述语音片段的特征图(feature map),并对所提取的特征图进行分类,得到所述语音片段包含关键词的概率。
75.具体的,获取待识别的语音,从语音中提取至少一个预设时长的语音片段,对于每一语音片段,均基于识别网络进行识别。
76.其中,识别网络可以包括特征提取子网络、至少一个特征图处理子网络和分类器。
77.其中,特征图处理子网络也可以称为depth
‑
wise残差单元(depth
‑
wise residual unit,dru),用于提取输入语音片段的丰富的特征,具体的dru的结构将在下文进行详细阐述。
78.如图5所示,在一个实施例中,识别网络可以包括特征提取子网络、特征图处理子网络(可以包括初始卷积和至少一个dru)和一个分类器;其中,特征提取子网络可以为mfcc(mel frequency cepstrum coefficient,梅尔频率倒谱系数)提取网络,也可以是plp(perceptual linear predict ive,感知线性预测)特征提取网络。
79.本技术中的识别网络中,可以将深度残差神经网络中的残差单元替换为dru,识别
网络也可称为depth
‑
wise残差神经网络(depth
‑
wise residual networks,drn)。
80.具体的,通过特征提取子网络提取语音片段中的特征图,然后通过至少一个dru对所提取的特征图进行通道压缩、depth
‑
wise操作,再进行通道恢复,将dru处理后的特征图进行分类,以对语音片段进行识别。
81.上述实施例中,通过包含有至少一个特征图处理子网络的识别网络对语音片段进行识别,可以有效减少识别过程中的运算量,提高识别效率。
82.本技术实施例的一种可能的实现方式,如图6所示,步骤s402中的基于识别网络提取所述语音片段的特征图,并对所提取的特征图进行分类,得到所述语音片段包含关键词的概率,可以包括:
83.步骤s410,基于识别网络中的特征提取子网络提取语音片段的第一特征图;
84.步骤s420,基于识别网络中的至少一个特征图处理子网络对第一特征图进行处理,得到至少一个第二特征图;
85.步骤s430,基于识别网络中的至少一个分类器对至少一个第二特征图进行分类,得到语音片段中包含关键词的概率。
86.具体的,结合图5所示,可以将语音片段输入到特征提取子网络,得到第一特征图,将第一特征图输入初始卷积从而把特征投射到多个通道中,再将初始卷积的输出特征输入至至少一个dru,针对至少一个dru中的每一dru,该dru对输入进行通道压缩,然后进行depth
‑
wise操作,最后进行通道恢复,然后将输入进行分类,得到语音片段中包含关键词的概率。
87.具体的,可以将至少一个dru中的每一dru的输出作为第二特征图,也可以将至少一个dru中最后一个dru的输出作为第二特征图,还可以将至少一个dru中每一组dru的输出作为第二特征图,一组dru可以包括至少一个dru,具体将在下文结合实施例进行进一步详细阐述。
88.具体的,可以将至少一个dru中最后一个dru的输出作为第二特征图,将第二特征图输入一个全连接分类器进行分类;也可以将多个特征图分别输入到对应的多尺度分类器进行分类。
89.以下将针对每一dru的结构进行详细说明。
90.本技术实施例的一种可能的实现方式,对于至少一个特征图处理子网络中的任一特征图处理子网络,该特征图处理子网络包括第一数量的通道压缩卷积、深度可分离卷积和第二数量的通道恢复卷积。
91.其中,深度可分离卷积也可以称为depth
‑
wise卷积或depth
‑
wise separable卷积。
92.本技术实施例的一种可能的实现方式,该特征图处理子网络的通道压缩卷积对应的通道数与该特征图处理子网络的输入的特征图对应的通道数相等;第一数量的数值小于该特征图处理子网络的输入的特征图对应的通道数的数值;
93.该特征图处理子网络的通道恢复卷积对应的通道数的数值与第一数量的数值相等;第二数量的数值与该特征图处理子网络的输入的特征图对应的通道数的数值相等。
94.本技术实施例的一种可能的实现方式,通道压缩卷积可以为1
×
1卷积;通道恢复卷积也可以为1
×
1卷积。
95.在其他实施方式中,通道压缩卷积和通道恢复卷积也可以为其他尺寸,例如,可以为2
×
2卷积,为1
×
1卷积时,对通道数的压缩效果更好,可以更加有效减少识别过程中的运算量,提高识别效率。
96.在一个示例中,如图7所示,输入到dru的第一特征图的尺寸可以是(w,h,c),通道压缩卷积的尺寸可以为(1,1,c),通道压缩卷积的数量为c
′
,其中,c
′
小于c,以实现对第一特征图进行通道压缩。
97.中间的depth
‑
wise卷积的通道数为c
′
,可以设置c个通道恢复卷积,每一通道恢复卷积的尺寸可以为(1,1,c
′
),以实现对通道压缩后的第一特征图进行通道恢复。
98.上述示例中,dru将原始残差单元中的卷积层替换为三次卷积,首尾各做1次1
×
1卷积,中间做1次depth
‑
wise卷积。卷积的作用是通道数的压缩与恢复:dru首部的卷积(即通道压缩卷积)将输入特征图的通道数进行压缩,为中间的depth
‑
wise卷积降低了参数数量和复杂度;尾部的卷积(即通道恢复卷积)将depth
‑
wise卷积的通道数恢复为输入特征图的通道数,保证了输入和输出通道数的一致性,中间的depth
‑
wise卷积,只需要1个卷积核,卷积核的每个通道在对应的特征图通道上滑动。
99.如图8所示,depth
‑
wise卷积的卷积核的每个通道在对应的特征图通道上滑动,各个通道的卷积结果不进行合并。每个内核在输入特征的一个特定通道上计算卷积,结果直接设置为一个输出特征通道,假设有用于特征输入和输出特征的通道,需要形状为k
h
×
k
w
×
1的n个卷积核,则参数总数为k
w
×
k
h
×
n。可以理解的是,图7中仅为一个示例,在其他实施例中,通道压缩卷积的尺寸也可以为(2,2,c)、(3,3,c)等等,尺寸越小,更有利于减小depth
‑
wise卷积的参数计算量。
100.在另一个示例中,如图9a所示,dru还可以是图9a中所示的三次卷积再进行堆叠,也就是先将原始残差单元中的卷积层替换为三次卷积,先做1次1
×
1卷积,中间做1次depth
‑
wise卷积,然后进行1次1
×
1卷积,进行三次卷积之后,再重复进行三次卷积,即继续进行1
×
1卷积、depth
‑
wise卷积和1
×
1卷积。
101.可以理解的是,如9a中仅堆叠图7中所示的三次卷积两次,在其他示例中,还可以将图7中所示的三次卷积重复堆叠多次。
102.图9a中的归一化层的位置还可以调节,可以是图9a中depth
‑
wise卷积和1
×
1卷积之间进行激活+归一化;如图9b所示,还可以是两个1
×
1卷积之间进行激活+归一化。
103.尽管在dru中使用的参数较少,但它比现有的resnet中的残差单元要深得多(2卷积
‑
>6卷积)。每个卷积层后都有relu激活,这是一种非线性变换,dru进行6次非线性变换,然后具有仅2倍relu激活的resnet中的残差单元的表示能力。一个内核的卷积结果在不同通道之间具有很强的相关性。音频没有图片那么复杂,每个频道的信息足以准确识别关键字。跨通道信息融合似乎不是必需的,会带来很多冗余参数。
104.以下将结合具体实施例和附图阐述,当第二特征图为最后一个dru的输出时,具体的基于第二特征图确定语音片段包含关键词的概率的过程。
105.本技术实施例的一种可能的实现方式,步骤s420的基于识别网络中的至少一个特征图处理子网络对第一特征图进行处理,得到至少一个第二特征图,可以包括:
106.(1)将第一特征图输入到依次堆叠的多个特征图处理子网络;
107.其中,第一个特征图处理子网络的输入为第一特征图;对于多个特征图处理子网
络中除第一个特征图处理子网络之外的任一特征图处理子网络,输入为上一个特征图处理子网络的输出。
108.(2)将最后一个特征图处理子网络的输出作为第二特征图。
109.具体的,本实施例中将最后一个特征图处理子网络的输出作为第二特征图,对第二特征图进行分类得到语音片段中包括关键词的概率。
110.具体的,在drn(即识别网络)中,第一层仍然是一个启动卷积(初始卷积),接下来是堆叠的dru。随着层数加深,dru的通道数量会越来越多,通道数相同的dru被称为一组dru。如图10所示,图10是drn的一个示例,由3组dru构成,通道数分别为16,32,48,每个组中有3个dru。由于该drn包含9个dru加上一个初始卷积,可以将其记作drn10。
111.图10仅示出drn的一个示例,drn中dru的组数不限于3,可以是任意自然数,每一组dru中dru的个数也不限于3,可以通过控制组内dru的数量和通道数来改变drn的大小和复杂度,以适应不同的应用场景。
112.本技术实施例的一种可能的实现方式,步骤s430对至少一个第二特征图进行分类,得到语音片段中包含关键词的概率,可以包括:
113.(1)将最后一个dru输出的第二特征图进行平均池化;
114.(2)将平均池化后的第二特征图输入到全连接分类器,得到每一个分类的后验概率,以确定语音片段中包含关键词的概率。
115.其中,每一个分类可以是第二特征图中包含不同的关键词,也可以是第二特征图中包含词的不同的发声子单元。
116.如图11所示,假设输入分类器的第二特征图的尺寸为(w,h,n),其中w为特征图的宽,h为特征图的高,n为特征图的通道数量。对第二特征图的每一个通道做大小为(w,h)的平均池化(average pooling),得到长度为n的向量,并输入到一个全连接分类器中,得到每个分类的后验概率。
117.以下将结合具体实施例和附图阐述,将每一组dru的输出作为对应的第二特征图时,具体的基于第二特征图确定语音片段包含关键词的概率的过程。
118.本技术实施例的一种可能的实现方式,步骤s420的基于识别网络中的至少一个特征图处理子网络对第一特征图进行处理,得到至少一个第二特征图,可以包括:
119.(1)将所述第一特征图输入到依次堆叠的多组特征图处理子网络;其中,任一组特征图处理子网络包括至少一个特征图处理子网络;
120.其中,第一组特征图处理子网络的输入为第一特征图;对于多组特征图处理子网络中除第一组特征图处理子网络之外的任一组特征图处理子网络,输入为上一组特征图处理子网络的输出;
121.(2)将每一组特征图处理子网络的输出作为与该特征图处理子网络对应的第二特征图。
122.本实施例中与上述实施例的区别在于第二特征图的设置不同,上述实施例中仅将最后一个dru的输出作为第二特征图,但在本实施例中,每一组dru的输出都作为对应的一个第二特征图,每一组dru都包括至少一个dru,对多个第二特征图进行分类,以获取语音片段中包含关键词的概率,可以利用到中间层的dru所输出的第二特征图,有效捕捉细节特征,并且还能全局把控,从而提高语音识别的准确度。
123.在一个示例中,如图12所示,可以将每一组dru的输出作为与该一组dru对应的第二特征图,在每一组dru后设置多尺度分类器,既能全局把控,也能捕捉细节。
124.在一个示例中,多尺度分类器的体系结构如图13所示。对于多尺度分类器,有两种含义:在不同的感受野进行分类,或者使用不同大小的子区域进行分类。在不同层的末尾添加多尺度分类器,以便对不同的感受野进行分类。在每个多尺度分类器中,使用vad结果选择多个尺寸的窗(多个子区域),不同尺寸的窗会在输入的特征图上移动,然后将对应的窗得到的特征图的子区域平均合并到每个通道中(对应图中的平均池化),并转移到具有相同的通道数的特征向量中。由于通道数相同,因此可以共享多尺度分类器中的权重,因此多尺度分类器几乎没有带来额外的参数和复杂性。
125.如果使用所有子区域的要素在每个多尺度分类器中进行分类,而不是使用vad结果选择多个子区域,少数重叠时间间隔的结果可能会干扰最终结果,从而导致较差的鲁棒性,对来自更多子区域的特征进行分类,导致处理过程更加复杂。
126.在一个示例中,如图14所示,相对于图12所示的多尺度分类器,在最后一层保留了一个softmax分类器,其中,softmax分类器为全连接分类器的一种,相对于图12中所示的多尺度分类器,使用更少的分类器导致更少的参数和乘法,但如果没有多尺度分类器,就无法获得不同尺度的特征,从而导致准确性和鲁棒性下降。
127.如图15所示,将语音输入到不同的dur组中,得到不同的噪声环境或语速对应不同深度的特征度1、特征图2和特征图3,一条快语速语音得到的不同深度的特征图,在浅层特征图上具有更局部和明确的特征,而在深层特征图上更分散和模糊。因此在浅层特征图上对此语音进行分类可以得到更好的结果,即设置多尺度分类器,得到的分类结果更加准确。
128.本技术实施例的一种可能的实现方式,步骤s430的对至少一个第二特征图进行分类,得到语音片段中包含关键词的概率,可以包括:
129.(1)针对至少一个第二特征图中的每一第二特征图,基于多个预设尺寸的窗,在该第二特征图中确定每一窗的滑动位置对应的子区域;
130.(2)对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率。
131.具体的,如图16所示,对于每一个第二特征图(对应图中所示的dru组输出的特征图),可以设置预设尺寸的窗,以预设的步长在各个通道上同步滑动,每种预设尺寸的窗在滑动到特定的滑动位置时,都能够映射到输入音频的某一特定子片段(即子段或子区域),根据得到的窗中的局部特征图,再对音频片段的多个子片段进行分类。
132.例如,对于大小为(w,h,c)的特征图,可以选用大小分别为例如,对于大小为(w,h,c)的特征图,可以选用大小分别为的窗以步长s在各个通道上同步滑动。尺寸为(w
′
,h)的窗,以步长s滑动t步后,可以映射到语音片段的子区域为步后,可以映射到语音片段的子区域为其中t为语音片段的时长。
133.上述实施方式中,多个窗的预设尺寸以及对应的滑动位置可以是用户预先设定的,在其他实施方式中,可以从窗的多个候选尺寸中确定出预设尺寸,并确定对应的滑动位
置。
134.在一个示例中,如图17所示,drn8表示此drn是基于resnet8构建的,它由8层组成(1个初始卷积+6个堆叠的3x3卷积+1softmax)。
135.输入大小:98
×
13(98帧);初始卷积将通道数增加到16,并将输入大小减小到30
×
15;3个堆叠的dru,其输入通道数分别为16、32、48,输出通道号分别为32、48、48;每个dru在1
×
1通道卷积之前和之后分别设置3x3深度可分离卷积,对于每个3
×
3深度可分离卷积,在1
×
1卷积之前将通道数减少到一半(16
‑
>8,32
‑
>16,48
‑
>24),1
×
1卷积将通道数恢复到初始通道数(在每个dru中最后的1
×
1卷积将通道数恢复到下一个dru的输入通道数);1
×
1卷积用于增加shortcut的通道数(16
‑
>32,32
‑
>48);在每个dru的末尾添加了一个多尺度分类器,其中如前所述设计了10种子区域:器,其中如前所述设计了10种子区域:以及[0,t]。
[0136]
如图18所示,图18为一个示例中本技术的语音识别模型的整体结构示意图。
[0137]
1)获取待处理的语音片段(如1秒的语音片段),对输入的语音片段进行语音端点检测(voice activity detection,vad),通过vad可有得到粗略的关键词段[s,e];
[0138]
2)若语音片段为有效语音,对语音片段进行特征提取得到第一特征图,如13维的mfcc特征矩阵;
[0139]
3)将第一特征图输入到drn中,drn中包含初始卷积和依次堆叠的多个特征图处理子网络,即dru;
[0140]
4)将每一组dru输出的第二特征图输入到相应的多尺度分类器,以确定语音片段中包含每个关键词(或关键字)的概率。drn和多尺度分类器组成的网络可以称为声学模型。
[0141]
5)后期处理模块根据多尺度分类器的输出做出最终决定,即是否检测到关键词。
[0142]
图中所示的特征提取与初始卷积结构为现有模型中具有的结构,其他的vad、dru以及多尺度分类器、后处理均为本技术改进的模型结构。
[0143]
如图19所示,图19中对图18中的特征图处理子网络进行进一步介绍。
[0144]
特征图处理子网络包括初始卷积以及堆叠的dru;dru将resnet的原始残差单元进行替换。详细来说,resnet残差单元中的每个3x3卷积层将替换为3层:1层1x1卷积、3x3深度可分离卷积以及1层1x1卷积,每层随后是relu激活。每个dru是一个特征提取器,在特定的接收场输出特征表示,即输出第二特征图(图中所示为特征图),更深的dru包含更多的通道,并提取更多的全局,更丰富和复杂的特征。
[0145]
本技术实施例的一种可能的实现方式,步骤s430的对至少一个第二特征图进行分类,得到语音片段中包含关键词的概率,可以包括:
[0146]
(1)对语音片段进行语音端点检测,确定第一特征图中的有效语音区域;
[0147]
(2)从多个候选尺寸的窗中,确定与所述有效语音区域相匹配的窗,并基于所述有效语音区域确定对应的滑动位置;
[0148]
(3)针对所述至少一个第二特征图中的每一第二特征图,根据所确定的窗和滑动位置,在该第二特征图中确定每一窗的滑动位置对应的子区域;
[0149]
(4)对每一第二特征图的每一子区域进行分类,以确定所述语音片段中包含关键词的概率。
[0150]
具体的,可以先对音频片段进行滤波器降噪处理和语音端点检测(voice activity detection,vad),如果语音片段为有效语音,则确定该语音片段中包括关键词的大致位置,即有效语音区域;然后从各种不同的候选尺寸的窗中,选出几个与有效语音区域重合度较高的窗,并确定每个选出的窗的最佳位置,即与有效语音区域重合度最高的位置,基于所确定的窗的尺寸和位置,确定预设尺寸和对应的滑动位置。
[0151]
如图20所示,可以采用关键词抓取器对语音频段进行滤波器降噪处理和语音端点检测,确定语音片段中的有效语音粗略片段,即有效语音区域,将多个候选窗与该有效语音区域进行匹配,确定最佳匹配窗和最佳滑动位置,即确定窗的预设尺寸和对应的滑动位置,得到对应的第二特征图中的局部特征图,即得到第二特征图中对应的子区域,再对所得到的局部特征图进行分类。
[0152]
以下将结合附图和实施例进一步阐述具体对第二特征图中对应的子区域进行分类的过程。
[0153]
本技术实施例的一种可能的实现方式,对每一第二特征图的每一子区域进行分类,可以包括:
[0154]
a、对于该第二特征图中每一子区域进行平均池化;
[0155]
b、将平均池化后的每一子区域分别输入对应的全连接分类器进行分类,得到每一子区域属于每一预设类别的后验概率。
[0156]
其中,对应的全连接分类器的参数可以不相同,也可以相同。若每一子区域对应的全连接分类器对应的参数均相同(即权值共享),可以减少分类器的参数数量。
[0157]
具体的,如图21所示,若直接设置窗的预设尺寸和预设滑动位置,每种预设尺寸的窗滑动到特定位置时,就对窗中的特征点在各个通道分别做平均池化,得到一个长度为c的向量,将向量输入到权值共享的全连接分类器中,得到音频片段的对应子片段属于每个分类的后验概率。这样,不同尺寸的窗滑过不同位置,就对音频片段不同起始位置不同长度的多个子片段进行了分类,达到了多尺度分类的目的。在不同感受野的特征图上使用多尺度分类器,就能够捕捉到各个子片段从局部到全局的特征,增加了分类的精度。
[0158]
如图22所示,在一个示例中,预设10个子区域作为多尺度窗(对应图中的候选区间),每个子区域代表在输入的特征图上的不同感受域,以上10个子区域[s
′
,e
′
]与vad检测出来的粗略的关键词区间[s,e]进行比对,选择其中重叠度大于预设阈值(如大于60%)的子区域,如下式:
[0159][0160]
式中,overlap([s,e],[s
′
,e
′
])表示子区域[s,e]与子区域[s
′
,e
′
]之间的重叠度。例如选择的子区域(也可以称为匹配的区间)为和根据以上选择的子区域截取特征图,然后分别送入对应尺度的softmax分类器中进行关键词的预测,得到不同尺度的关键词概率,其中不同分类器的权值参数是共享的,可以减少模型参数和计算量。
[0161]
如图23所示,也可以采用关键词抓取器对语音频段进行滤波器降噪处理和语音端点检测,确定语音片段中的有效语音粗略片段,即有效语音区域,将多个候选窗与该有效语音区域进行匹配,确定最佳匹配窗和最佳滑动位置,即确定窗的预设尺寸和对应的滑动位
置,得到对应的第二特征图中的局部特征图,即得到第二特征图中对应的子区域,将各个子区域做平均池化,得到池化后的向量,将向量输入到全连接分类器中,得到音频片段的对应子片段属于每个分类的后验概率。
[0162]
本技术实施例的一种可能的实现方式,与每一子区域对应的全连接分类器中,至少两个全连接分类器的参数相同。
[0163]
具体的,与每一子区域对应的全连接分类器中,可以是部分全连接分类器的参数相同,也可以是所有全连接分类器的参数均相同。
[0164]
图21和图23中,不同尺寸的窗在同一个特征图上滑动时,各个位置的全连接分类器参数共享,即多尺度分类器内部权值共享,可以减少分类器的参数数量。
[0165]
以下将结合实施例,进一步阐述关键词的数量不同时,确定语音片段中包含关键词的概率的具体过程。
[0166]
本技术实施例的一种可能的实现方式,关键词的数量小于预设分类数量;步骤s430对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率,可以包括:
[0167]
(1)针对每一第二特征图,确定该第二特征图中每一子区域包含一个关键词的每一发声子单元的后验概率;
[0168]
(2)基于每一子区域包含一个关键词的每一发声子单元的后验概率,确定每一子区域包含该一个关键词的置信度;
[0169]
(3)将每一第二特征图中每一子区域包含该一个关键词的置信度中的最高置信度,作为语音片段包含该关键词的概率。
[0170]
具体的,若关键词的数量小于预设分类数量,例如,预设分类数量为2,若关键词的数量为1,则对每一第二特征图的每一子区域进行分类时,将类别设置为包含该一个关键词中的不同发声子单元。
[0171]
例如,若关键词为“hi bixby”,对于一个第二特征图的一个子区域,可以确定该子区域中“hi”的后验概率为0.4,“bixby”的后验概率为0.8,则可以确定整个关键词的置信度,例如,可以根据确定整个关键词的置信度;可以将所有第二特征图的所有子区域中,包含关键词的最高置信度作为该语音片段包含关键词的置信度。
[0172]
以图24所示为例,若关键词为“hi bixby”,可以设置三个分类的类别,包含“hi”、包含“bixby”,以及“oov”,即两者都不包含,以两个子区域为例,分别确定这两个子区域中包含“hi”、包含“bixby”,以及“oov”的概率,然后分别确定每一个子区域对应的包含“bixby”的概率,最终确定该语音片段包含“bixby”的概率。
[0173]
本技术实施例的一种可能的实现方式,关键词的数量大于或等于预设分类数量;步骤s430对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率,可以包括:
[0174]
(1)确定每一第二特征图的每一子区域为正类的第一后验概率;
[0175]
其中,若任一子区域中包括多个关键词中的任一发声子单元,则该子区域为正类;
[0176]
(2)基于最大的第一后验概率确定语音片段中包含关键词的概率。
[0177]
具体的,若关键词的数量设置较多,则可以不用根据发声子单元的后验概率确定对应的一个关键词的置信度,而是直接计算每一特征图的每一子区域为正类的第一后验概
率,可以确定语音片段包含关键词的概率的同时,还可以有效减少计算量。
[0178]
具体的,可以将最大的第一后验概率作为语音片段中包含关键词的概率。
[0179]
本技术实施例的一种可能的实现方式,关键词的数量大于或等于预设分类数量;步骤s430对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率,可以包括:
[0180]
(1)确定每一第二特征图的每一子区域为正类的第一后验概率;
[0181]
(2)确定每一第二特征图的每一子区域为反类的第二后验概率;
[0182]
其中,若任一子区域中包括多个关键词中的任一发声子单元,则该子区域为正类;若任一子区域中不包括多个关键词中的任一发声子单元,则该子区域为反类;
[0183]
(3)基于最大的第一后验概率和最大的第二后验概率确定语音片段中包含关键词的概率。
[0184]
具体的,若关键词的数量设置较多,则可以不用根据发声子单元的后验概率确定对应的一个关键词的置信度,而是直接计算每一特征图的每一子区域为正类的第一后验概率,并同时确定每一特征图的每一子区域为反类的第二后验概率,若最大的第一后验概率大于最大的第二后验概率,则将最大的第一后验概率作为该语音片段包含关键词的概率。
[0185]
以下将阐述在语音唤醒的应用场景下,本技术的识别模型的具体搭建过程,即本技术的识别模型对语音片段进行识别后,可以基于包含关键词的概率对智能终端进行语音唤醒。
[0186]
识别模型(下文也可称为模型)搭建时可以参照图12来搭建,但是在不同应用场景之下,具体的模型存在差异性。主要考虑两点:
[0187]
(1)模型大小:包括drn的dru组数,每组dru的个数以及通道数;
[0188]
(2)输入输出:输入的时频矩阵的大小,输出节点的个数。
[0189]
(1)模型大小的设计
[0190]
模型大小的差异性主要来自于唤醒设备的不同,对于计算资源受限的设备如智能手机、手表等,模型应设计得尽量小,而对于计算资源较为充足的设备如音箱、车载系统等,模型可设计得相对大一些。
[0191]
案例1:智能手机、手表等低功耗设备上的模型搭建
[0192]
这类设备由于计算资源有限,而唤醒模型需要常驻后台,因此要尽量降低模型的内存消耗和计算复杂度,无论是dru组数还是通道数都要设计得尽量小。例如,可采取这样的设计:一共有3个dru组,通道数依次为16,32,48。每组包含3个dru,depth
‑
wise操作时通道压缩为输入的一半,卷积尺度为3
×
3,则dru部分的参数总量约为12k,在设备的承受范围之内。
[0193]
案例2:音箱、车载系统等计算资源充足设备上的模型搭建
[0194]
这类设备计算资源相对于手机、手表充足一些,因此可以适当增加模型大小,以提升识别精度。例如,可采取这样的设计:一共5个dru组,通道数依次为16,32,48,64,80,每组包含4个dru,depth
‑
wise操作时通道压缩为输入的一半,卷积尺度为3
×
3,此时dru部分的参数总量约为60.6k。
[0195]
(2)输入输出的设计
[0196]
模型的输入为语音片段,因此输入的大小往往取决于发音长度。模型的输出大小,
即多尺度分类器的分类数,则取决于唤醒词的个数,或者发声单元的个数。
[0197]
案例1:单一唤醒词的语音唤醒
[0198]
单一唤醒词的输入长度取决于最大可能的发音长度,为了便于处理通常取一个整数值。如唤醒词hi bixby,根据说话人的发音习惯,发音长度范围一般在500ms~800ms,为了能够囊括全部情况,输入长度应大于800ms,如1s。
[0199]
对于单一唤醒词,我们一般在分类时,把发声单元拆分为多个子单元。如hi bixby,可拆分成子单元hi和bixby,这两个子单元均为正类。除了正类,还要加一个或两个反类,表示除hi和bixby之外的其他情况。如果添加一个反类oov,则输出的大小为3,分别代表着输入片段属于hi,bixby,oov这三个类别的后验概率。还可以把oov这个反类进一步拆分为filler和silence,其中filler表示hi和bixby之外的其他词汇,silence表示背景噪声,在这种情况下,输出的大小为4。
[0200]
案例2:多唤醒词的语音唤醒、语音控制
[0201]
多唤醒词的语音唤醒以及语音控制,特点都是检测少数几个唤醒词的存在。例如,对于多唤醒词的语音唤醒,可支持hello bixby、hi bixby、ok bixby等多个唤醒词;对于语音控制,可支持播放音乐、打开相册、锁定屏幕等多种命令。
[0202]
在这样的场景之下,输入大小要大于最长的唤醒词或命令的发音长度,一般情况取整数。输出大小,为n+1或n+2,其中n为唤醒词或命令的个数,1或2为反类的个数。
[0203]
案例3:敏感词检测
[0204]
敏感词检测相较于语音唤醒和语音控制要复杂一些,因此敏感词往往是一个包含很多词汇的集合,如果按照具体的词汇数量来决定分类数,分类器的输出节点会过多,分类效果也会大打折扣。因此,可以用经典的聚类算法如k
‑
means,按照发音相似度对敏感词进行聚类,得到n个正类,则多尺度分类器的输出大小为n+1或n+2,其中1或2为反类的个数。
[0205]
以下将阐述在语音唤醒的应用场景下,本技术的识别模型的训练过程,在语音唤醒的场景中,关键词也可称为唤醒词。
[0206]
模型训练包括训练数据的收集与标注,特征提取,训练等步骤。
[0207]
(1)训练数据的收集、处理与标注
[0208]
收集训练数据的目的在于充分采集关键词各种各样的发音特征,从而让模型能够更好地学到关键词的发音特征。为了增加训练数据的多样性,还需要对收集的数据进行规整和处理。最后,要对处理好的数据进行标注,让模型知道每段音频都包含着哪个关键词。
[0209]
案例1:单一唤醒词的语音唤醒
[0210]
收集数据时,可挑选200名说话人,男女各100人,每人在安静环境下重复唤醒词30次,每两次间隔2秒以上。之后,将每人的30句连续语音用切音工具切为30段,每段长1秒,前后静音长度相同,此步骤以后共得到6000条长度为1秒的音频。用5种不同噪声(咖啡厅、办公室、电视机、地铁、放音乐)和4种不同信噪比(5db,10db,15db,20db)对这6000条音频进行加噪,得到120000条音频,即为正样本集。用自动语音识别(automatic speech recognition,asr)模型对每条音频进行识别,得到每条音频唤醒词的起止位置。以hi bixby这个唤醒词为例,识别为hi的片段标注为1,识别为bixby的片段标注为2,其余片段标注为0。
[0211]
对于负样本集,可用录音设备采集分别5种不同噪声(同上)的音频各10小时,每种
噪声音频中随机不重复切出24000段长度为1秒的片段,共计120000条,作为负样本集。负样本集的全部片段标注为0。
[0212]
案例2:多唤醒词的语音唤醒、语音控制
[0213]
此场景下包含多个唤醒词或命令,每个唤醒词或命令的数据收集方式同案例1。由于唤醒词或命令过多,在加噪的时候不能把5种噪声和4种信噪比全部用上,否则数据集会增加20倍,造成训练过慢。可以调整策略为,对于每条音频随机选择一种噪声和一种信噪比进行加噪,这样数据集的大小保持不变。标注的时候,还是先用asr模型得到唤醒词的起始位置,然后对唤醒词从1到n进行编号,识别为唤醒词的片段标注为唤醒词的对应编号,其余片段标注为0。
[0214]
负样本集收集、处理、标注方案同案例1。
[0215]
案例3:敏感词检测
[0216]
敏感词由于数量众多,音频收集时无法采用案例1和2中的重复录制方法。一般的敏感词语料都是数百小时连续语音(如广播节目)中的特定片段。收集数据时,用固定的长度把敏感词存在的音频区段截取下来即可。得到的数据集不用加噪处理,因为广播节目本身带有一定背景噪声。按发音特征将敏感词数据集用k
‑
means算法聚成n个类,每条音频的标注就是所在类别的编号。
[0217]
(2)特征提取
[0218]
特征提取的方法是比较固定的,不同的方案之间不存在差异性。常见的语音信号特征有梅尔频率倒谱系数(mel frequency cepstrum coefficient,mfcc),f
‑
bank特征,感知线性预测系数(perceptual linear predictive,plp),线性预测倒谱系数(linear prediction cepstrum coefficient)等。
[0219]
特征提取的过程中,通常使用30ms的滑动窗以10ms的步长滑动,每滑动到一个位置,对窗内的采样点进行加窗、傅里叶变换等操作,得到一个定长向量,即为一个特征帧。以mfcc特征为例,静态mfcc特征只取13维,为了提升训练效果有时会加入一阶和二阶差分,mfcc就变为39维。如果再加入能量维,则是40维。一般来说,同一任务使用不同种类的特征进行训练,其效果差别不大。
[0220]
(3)训练方法与训练策略
[0221]
drn的训练为有监督训练,训练方式为误差反向传播。假设某段输入音频的标注记作gt,唤醒词的起止时刻分别为s和e。假设drn一共有n组,则多尺度分类器的个数也为n,每个多尺度分类器包含m个不同尺度的窗的滑动位置,其中第i个分类器的第j个窗的滑动位置可以映射到输入音频的[s
i
,e
i
]片段。设drn的分类数为c,则该片段的误差函数为:
[0222][0223]
式中,指的是第i个多尺度分类器的第j个滑动位置属于第c个分类的后验概率。i
c
(i,j)是一个指示器函数,
[0224][0225]
其中,overlap计算了两个区域的交叠程度。
[0226]
其中,区域[s,e]和区域[s
ij
,e
ij
]之间的交叠程度可以根据下式计算:
[0227][0228]
其中,iou([s,e],[s
ij
,e
ij
])表示区域[s,e]和区域[s
ij
,e
ij
]之间的交叠程度,即overlap([s,e],[s
ij
,e
ij
]);s,e分别表示输入音频的关键字片段的开始和结束时间;s
ij
,e
ij
表示在第i个分类器中第j个子区域的开始和结束时间。
[0229]
函数l为输入音频的误差函数,它是drn参数的复合函数。所谓误差反向传播,就是求误差函数关于每个参数的梯度,并用梯度对参数进行更新,使模型学习到训练数据的特征。如对于参数w,更新策略为:
[0230][0231]
其中lr为学习率,为误差函数在参数w方向的梯度。
[0232]
随着训练过程的进行,学习率会不断降低,开始几代用大学习率有助于跳过局部最优,后面几代用小学习率有助于找到全局最优。一般会设立一个初始学习率,多为0.001~0.1之间,然后将学习过程交给优化器(optimizer)去完成。常见的优化器有随机梯度下降优化器(stochastic gradient optimizer,sgd),adagrad优化器,adam优化器等,主要区别在于学习率下降过程。
[0233]
参数并不是每条语音输入后都会更新,而是在每次输入固定条数的一组语音后才会更新一次,这样的组称作batch,组的大小称作batch
‑
size。一般来说,batch
‑
size会取2的整数幂,如64、128、256等,目的是为了方便分布式训练,可以视输入语音的长短适当调整batch
‑
size的大小。
[0234]
一般来说,训练数据的90%会参与实际训练,按batch输入模型并依次进行参数更新,全部完成后即完成1代(epoch)训练。1代训练结束后,需要用另外10%的数据测试模型性能,称为验证。模型往往要训练多代才能达到预期效果,训练终止的条件有2种设置方式。一是设置训练代数,如只训练30代,结束后训练终止;二是当模型在验证数据集上的性能不再发生变化(或变化非常微小),就终止模型的训练。
[0235]
以下将阐述在语音唤醒的应用场景下,本技术的语音识别方法的具体过程。
[0236]
唤醒词识别包括唤醒音频获取与处理,特征提取,drn识别,唤醒决策等步骤。
[0237]
(1)唤醒音频的获取与处理
[0238]
唤醒词识别过程中,唤醒音频是一个流式音频,需要不断地进行获取与处理。可用大小为1秒的窗进行采样点收集,窗的滑动步长为100ms,即每经过100ms就从窗头中移出最早的100ms,并在窗尾处加入最新的100ms,如图25所示。获取到的语音片段可以进行语音端点检测(voice activity detection,vad),如果vad检测结果为无效语音,则不必进行特征提取、drn识别等后续操作,节约了计算资源。
[0239]
另一种方式中,如果vad检测结果为有效语音,则可以进一步粗略地抓取语音片段有效关键词存在的大致片段,再从各种不同尺度的候选窗中,选出几个与关键词粗略片段重合度较高的窗;找到每个选出的窗的最佳位置,即与关键词粗略片段重合度最高的位置,并取出窗内包含的局部特征图。
[0240]
(2)特征提取
[0241]
每采集到长度为1秒的音频,就要对该段音频提取特征,如mfcc特征或plp特征。需要注意的一点是,唤醒词识别过程中的语音特征种类应与模型训练时的特征保持一致。
[0242]
(3)drn识别
[0243]
每段音频提取的特征,需要输入到训练好的drn模型中,drn模型前向传播,最终所有的多尺度分类器都会得到不同尺度的窗在每个滑动位置上的各个分类的后验概率。
[0244]
另一种方式中,如果第(1)个步骤中已经从各种不同尺度的候选窗中,选出几个与关键词粗略片段重合度较高的窗,这里也可以只确定所选出的尺寸的窗的预设滑动位置的各个分类的后验概率。
[0245]
(4)唤醒决策
[0246]
唤醒决策的方法在单一唤醒词和多个唤醒词的场景下有所不同。
[0247]
案例1:单一唤醒词的语音唤醒
[0248]
对于每一个多尺度分类器,在所有窗的所有滑动位置中,计算出现唤醒词的置信度。唤醒词的置信度由每个发声子单元的概率融合而成。例如唤醒词hi bixby,若hi的后验概率为0.4,bixby的后验概率为0.8,则整个唤醒词的后验概率为每个分类器中所有窗的所有位置中,唤醒词置信度最高的一个,即为该分类器在当前感受野下将输入语音识别为关键词的置信度。所有分类器置信度中的最高值,即为整个模型的置信度。当该置信度高于预设阈值时,即可做出唤醒决策。
[0249]
案例2:多个唤醒词的语音唤醒
[0250]
有两种基于关键词的概率进行唤醒的方式:
[0251]
方式一:
[0252]
对于每一个多尺度分类器,在所有窗的所有滑动位置中,分别各个子区间选取后验概率最高的正类和反类,映射得到的两个子段分别为当前尺度下多尺度分类器认为正类和反类最可能出现的区段。
[0253]
这里的所有窗的所有滑动位置,可以是直接预设的多个尺寸的窗的预设滑动位置,也可以是已经从各种不同尺度的候选窗中,选出几个与关键词粗略片段重合度较高的窗,所选出的尺寸的窗的预设滑动位置。
[0254]
设第i个多尺度分类器识别的正类为c
i
,对应的区段为[s
pi
,e
pi
],识别为反类对应的区段为[s
ni
,e
ni
],则最终的决策为:
[0255]
decision=argmax(p
i
(c
i
),p
i
(neg)),i=1,2,
…
,n
ꢀꢀꢀ
(5)
[0256]
即为所有多尺度分类器的识别正类和识别反类中概率最大的分类。其中,p
i
(c
i
)为第i个多尺度分类器识别结果为正类c
i
的概率,p
i
(neg)为第i个多尺度分类器识别结果为反类的概率。
[0257]
也就是说,多个窗的多个滑动位置分别对应的子区间中,确定正类的最大第一后验概率,并确定反类的最大第二后验概率,如果最大第一后验概率大于最大第二后验概率,则进行语音唤醒。
[0258]
方式二:
[0259]
还可以不考虑反类的分类概率,只考虑所有正类的分类概率,并用阈值加以限制来进行唤醒决策:
[0260][0261]
式中,thresh表示预设的阈值;neg表示不进行唤醒。
[0262]
也就是说,多个窗的多个滑动位置分别对应的子区间中,确定正类的最大第一后验概率,如果该正类的最大第一后验概率大于预设的阈值,则进行唤醒。
[0263]
语音唤醒过程可以包括如下步骤:
[0264]
1)特定dru的输出特征图被输入到多尺度分类器中作为输入;
[0265]
2)vad结果被输入到每个多尺度分类器中以选择分类尺度;
[0266]
3)获取每个多尺度分类器中每个尺度的分类结果,即对于每个尺度,获取包含每个关键词的概率;
[0267]
4)基于不同多尺度分类器的分类结果,确定关键词是否存在,并作出是否唤醒决定。
[0268]
在一个示例中,如图26所示,每一分类器多个窗的多个滑动位置分别对应的子区间中,确定正类的最大第一后验概率,每个多尺度分类器均提供top1关键词估计,即所有尺度中概率最大的关键词,图26中多尺度分类器1所确定的最大概率关键词为关键词2,不同层次的多尺度分类器共同投票以得到最终的识别结果;不同层的多尺度分类器分配了不同的权重,更深的层捕获更多的全局和复杂特征,因此分配了更高的权重,将top1概率乘以每个分类器内分配的权重,得到加权分数。加权得分最高的关键字将被选为最终识别结果,尽管为浅层分配了较低的权重,但较高的关键字仍然可能是最终的决定性关键词。将最大加权分数与阈值进行比较,如果更大,则检测到相应的单词,否则失败(非关键字)。
[0269]
如图26所示,针对关键词2的后验概率为0.9,将0.9乘以一个权重0.7得到针对关键词2的第一后验概率为0.63;同理,基于多尺度分类器2得到针对关键词2的第一后验概率为0.56,基于多尺度分类器3得到针对关键词1的第一后验概率为0.54;针对不同尺度分类器得到的第一后验概率进行投票,得到针对关键词2的最大第一后验概率0.63;若0.63大于阈值,则关键词2被检测到,进行唤醒;若0.63小于或等于阈值,则未检测到关键词。
[0270]
上述的语音识别方法,通过识别网络提取语音片段的特征图,并对所提取的特征图进行分类,提高识别效率。
[0271]
进一步的,识别网络中包括至少一个特征图处理子网络,通过至少一个特征图处理子网络对所提取的特征图进行通道压缩、depth
‑
wise操作,再进行通道恢复,将特征图处理子网络处理后的特征图进行分类,以对语音片段进行识别,可以有效减少识别过程中的运算量。
[0272]
进一步的,每一组dru的输出都作为对应的一个第二特征图,每一组dru都包括至少一个dru,对多个第二特征图进行分类,以获取语音片段中包含关键词的概率,可以利用到中间层的dru所输出的第二特征图,有效捕捉细节特征,并且还能全局把控,从而提高语音识别的准确度。
[0273]
为了更清楚的阐述本技术的语音识别方法,以下将结合示例,对本技术的识别网络进行阐述。
[0274]
在一个示例中,从连续语音中以1s的窗和0.5s的步长对语音片段进行采样。对于
每个语音片段,首先应用20hz/4khz的带通滤波器以减少噪声,然后是语音端点检测模块来检测人类语音的存在。此后,以30ms的窗和10ms的步长构造40维的特征图(13维的mfcc+13维的一阶差分+13维的二阶差分+1维的能量),得到的特征图作为2d图片堆叠在一起并输入drn。
[0275]
整个语音识别的过程如图27所示,通过预处理模块将特征图拼接成二维时频矩阵,并将其作为输入送入drn。drn实际上是一个词分类器,用于计算输入特征矩阵的所有关键字/词的后验。后期处理模块将这些后代集成在一起并做出最终决定。
[0276]
drn是在残差神经网络(resnet)的基础上设计的,它的快捷连接有助于训练更深的模型。但是,最新的resnet解决方案[5]仍需要较大的模型尺寸(约250k参数)。因此,本示例中应用1x1卷积和depth
‑
wise卷积来优化残差单元。
[0277]
为了更清楚的阐述本技术的语音识别方法,以下将结合示例,对本技术的特征图处理子网络(drn)进行阐述。
[0278]
在一个示例中,如图28所示,可以在每个现有的残差单元的头部和尾部添加1x1卷积,并用3x3的depth
‑
wise卷积替换现有的3x3卷积,得到优化的深度残差单元(dru)。头部1x1卷积(可以称为1x1交叉通道卷积,1x1 cross
‑
channel convolution)有助于减少通道数,为了减少中间深度层的参数数量和计算量,如果dru的输入特征图的通道数为n,那么经过头部1x1卷积得到的特征图的通道数为n/2。尾部1x1卷积(可以称为1x1交叉通道卷积,1x1 cross
‑
channel convolution)有助于恢复通道号,以保持输出(output)形状与输入(input)形状相同。中间的3x3的depth
‑
wise卷积层执行通道式卷积,即在不同通道上分别进行卷积操作而不合并在一起。因此,中间的3x3的depth
‑
wise卷积仅需要1个内核。
[0279]
以drn10中的第一个dru为例,输入特征图包含16个通道,depth
‑
wise层的内核大小为3
×
3。因此该dru的参数数量为1
×1×
16
×8×
2+3
×3×
8=328。对于具有相同输入通道数的原始残差单元,参数量为3
×3×
16
×
16=2304。我们的方法减少了7倍以上的参数数量。
[0280]
为了更清楚的阐述本技术的语音识别方法,以下将结合示例,对本技术的多尺度分类器进行阐述。
[0281]
在一个示例中,如图29所示,图29为不同说话风格和嘈杂环境下的多尺度分类器原理示意图,在不同的感受野进行分类可以同时考虑本地和全局特征,并且对不同规模的子区域进行分类可以从不同的角度识别输入音频,这就是为什么多尺度分类器可以帮助提高鲁棒性的原因,通常,在所有具有不同尺度的窗中,都有一个最佳尺寸的窗。不同比例的窗会在特征图上移动以找到最佳滑动位置。为了应对不同的说话风格,多尺度分类器可以找到覆盖关键词片段的最佳滑动位置、最佳尺寸的窗,过滤白噪声并提高识别精度。对于嘈杂的环境,最佳滑动位置、最佳尺寸的窗可避免额外噪声片段带来的干扰,从而使结果更合理。
[0282]
为了更清楚的阐述本技术的语音识别方法,以下将结合示例和语音唤醒的场景,对本技术的语音识别方法进行阐述。
[0283]
在一个示例中,本技术的语音识别方法用于进行语音唤醒时,可以包括如下步骤:
[0284]
1)获取待处理的语音片段,对音频片段进行滤波器降噪处理和语音端点检测;
[0285]
2)若语音片段为有效语音,提取语音片段的第一特征图;
[0286]
3)将第一特征图输入到依次堆叠的多个特征图处理子网络,即dru,将最后一个特征图处理子网络的输出作为第二特征图;
[0287]
4)将第二特征图进行平均池化;
[0288]
5)将平均池化后的第二特征图输入到全连接分类器,得到每一个分类的后验概率,以确定语音片段中包含关键词的概率;
[0289]
6)若包含关键词的概率大于预设概率,则进行语音唤醒。
[0290]
在另一个示例中,唤醒词的数量为1个,本技术的语音识别方法用于进行语音唤醒时,可以包括如下步骤:
[0291]
1)获取待处理的语音片段,对音频片段进行滤波器降噪处理和语音端点检测;
[0292]
2)若语音片段为有效语音,提取语音片段的第一特征图;
[0293]
3)将第一特征图输入到依次堆叠的多组dru,每一组dru中包括至少一个dru;
[0294]
4)将每一组dru的输出作为与该组dru对应的第二特征图;
[0295]
5)针对与每一组特征图处理子网络对应的第二特征图,基于多个预设尺寸的窗,在该第二特征图中确定每一窗的预设滑动位置对应的子区域;
[0296]
6)针对每一第二特征图,确定该第二特征图中每一子区域包含一个关键词的每一发声子单元的后验概率;
[0297]
7)基于每一子区域包含一个关键词的每一发声子单元的后验概率,确定每一子区域包含该一个关键词的置信度;
[0298]
8)将每一第二特征图中每一子区域包含该一个关键词的置信度中的最高置信度,作为语音片段包含该关键词的概率;
[0299]
9)若包含该关键词的概率大于预设阈值,则进行语音唤醒。
[0300]
在另一个示例中,唤醒词的数量为多个,本技术的语音识别方法用于进行语音唤醒时,可以包括如下步骤:
[0301]
1)获取待处理的语音片段,对音频片段进行滤波器降噪处理和语音端点检测;
[0302]
2)若语音片段为有效语音,确定该语音片段中包括关键词大致位置,即有效语音区域;
[0303]
3)从各种不同的候选尺寸的窗中,选出几个与有效语音区域重合度较高的窗,确定窗的预设尺寸和预设滑动位置;
[0304]
4)提取该语音片段的第一特征图;
[0305]
5)将第一特征图输入到依次堆叠的多组dru,每一组dru中包括至少一个dru;
[0306]
6)将每一组dru的输出作为与该组dru对应的第二特征图;
[0307]
7)针对与每一组dru对应的第二特征图,基于所确定的预设尺寸的窗,在该第二特征图中确定每一窗的预设滑动位置对应的子区域;
[0308]
8)确定每一第二特征图的每一子区域为正类的第一后验概率;
[0309]
9)基于最大的第一后验概率确定语音片段中包含关键词的概率;
[0310]
10)若最大的第一后验概率大于预设阈值,则进行语音唤醒。
[0311]
本技术的语音识别方法,具有如下技术效果:
[0312]
a)可以大大降低模型的大小和复杂度。如drn10,可以将现有的深度残差神经网络的大小和乘法操作数量压缩7倍左右。
[0313]
b)提升了语音唤醒模型的鲁棒性;采用多尺度分类器,语音唤醒模型的抗噪性和说话人适应性得以提升。
[0314]
以下将根据实验数据阐述本技术的语音识别方法的效果。
[0315]
假设本技术中的dru的输入输出尺寸与原始残差单元一致,首部的1
×
1卷积将特征图的通道数由c降至c
′
,则首部1
×
1卷积的尺寸为(1,1,c),数量为c
′
,中间depth
‑
wise卷积的尺寸为(k
w
,k
h
,c
′
),数量为1,尾部1
×
1卷积的尺寸为(1,1,c
′
),数量为c。将dru的参数数量记作#para
dru
,乘法运算次数记作#multi
dru
,则有:
[0316]
#para
dru
=1
×1×
c
×
c
′
+k
w
×
k
h
×
c
′
+1
×1×
c
′×
c
ꢀꢀꢀ
(7)
[0317]
#multi
dru
=w
×
h
×
c
′×1×1×
c+w
×
h
×
c
×
k
w
×
k
h
+w
×
h
×
c
×1×1×
c
′ꢀꢀ
(8)
[0318]
若设w=100,h=40,c=16,c
′
=8,k
w
=3,k
h
=3,则有#para
org
=2304,#para
dru
=328,#multi
org
=9216k,#multi
dru
=1312k。可见本技术将参数数量和乘法运算次数压缩了7倍。
[0319]
每一子区域对应的全连接分类器对应的参数均相同,可以减少分类器的参数数量。
[0320]
假设drn中一共包含k组dru,每组的通道数分别为c1,c2,
…
,c
k
,则多尺度分类器带来的参数增量为:
[0321][0322]
其中c为分类器的分类数。
[0323]
设k=3,c1=16,c2=32,c3=48,c=12,则有=48,c=12,则有可见多尺度分类器只造成了很少的参数增加,却大大提升了分类的精度。
[0324]
使用3个指标(错误拒绝率frr、参数量param以及乘法数mul)从2个维度(精度和占用空间)评估本技术和现有技术的模型:
[0325]
其中,frr代表应被识别为关键字,但却失败的比率,数值越小越好;param代表模型的大小,越小越好;mul代表算法的计算复杂度和延迟,越小越好。
[0326]
对比结果表明,drn8的性能可与现有的res8
‑
narrow媲美,但使用的参数减少了1.6倍,乘法减少了3.4倍;drn15的性能优于res15,参数减少了7倍,乘法减少了194倍;这些表明本技术的drn在不使用多尺度分类器的情况下以较少的参数保持了良好的性能。
[0327]
通过制作人工噪声数据集和快速说话的数据集以进行进一步测试。
[0328]
通过将3种类型的噪声(汽笛声、汽车声和办公室声)添加到原始的干净测试设备中来构建嘈杂的设备;快速讲说的场景是通过1.2倍的时间拉伸构建的,可以得到如下对比结果:
[0329]
对于drn8,多尺度分类器在干净、嘈杂和快速说话的数据集上将frr分别提高了1.5%,2.3%和2.7%,具有0.8k的附加param和0.01m的mul;
[0330]
对于drn15,多尺度分类器在干净、嘈杂和快速说话的数据集上将frr分别提高了0.4%,0.9%和2.6%,具有1.4k附加param,几乎没有附加mul。
[0331]
上述实施例通过方法流程的角度介绍语音识别方法,下述通过虚拟模块的角度进行介绍,具体如下所示:
[0332]
本技术实施例提供了一种语音识别装置3000,如图30所示,该装置3000可以包括
获取模块3001和识别模块3002,其中:
[0333]
获取模块3001,用于获取待处理的语音片段;
[0334]
识别模块3002,用于基于识别网络提取所述语音片段的特征图,并对所提取的特征图进行分类,得到所述语音片段包含关键词的概率。。
[0335]
本技术实施例的一种可能的实现方式,识别模块3002在基于识别网络提取所述语音片段的特征图,并对所提取的特征图进行分类,得到所述语音片段包含关键词的概率时,具体用于:
[0336]
基于所述识别网络中的特征提取子网络提取所述语音片段的第一特征图;
[0337]
基于所述识别网络中的至少一个特征图处理子网络对所述第一特征图进行处理,得到至少一个第二特征图;
[0338]
基于所述识别网络中的至少一个分类器对所述至少一个第二特征图进行分类,得到所述语音片段中包含关键词的概率。
[0339]
本技术实施例的一种可能的实现方式,对于至少一个特征图处理子网络中的任一特征图处理子网络,该特征图处理子网络包括第一数量的通道压缩卷积、深度可分离卷积和第二数量的通道恢复卷积;
[0340]
本技术实施例的一种可能的实现方式,对于所述至少一个特征图处理子网络中的任一特征图处理子网络,该特征图处理子网络的通道压缩卷积对应的通道数与该特征图处理子网络的输入的特征图对应的通道数相等;第一数量的数值小于该特征图处理子网络的输入的特征图对应的通道数的数值;
[0341]
该特征图处理子网络的通道恢复卷积对应的通道数的数值与第一数量的数值相等;第二数量的数值与该特征图处理子网络的输入的特征图对应的通道数的数值相等。
[0342]
本技术实施例的一种可能的实现方式,所述通道压缩卷积为1
×
1卷积;所述通道恢复卷积为1
×
1卷积。
[0343]
本技术实施例的一种可能的实现方式,识别模块3002在基于所述识别网络中的至少一个特征图处理子网络对所述第一特征图进行处理,得到至少一个第二特征图时,具体用于:
[0344]
将第一特征图输入到依次堆叠的多个特征图处理子网络;
[0345]
其中,第一个特征图处理子网络的输入为第一特征图;对于多个特征图处理子网络中除第一个特征图处理子网络之外的任一特征图处理子网络,输入为上一个特征图处理子网络的输出;
[0346]
将最后一个特征图处理子网络的输出作为第二特征图。
[0347]
本技术实施例的一种可能的实现方式,识别模块3002在基于所述识别网络中的至少一个特征图处理子网络对所述第一特征图进行处理,得到至少一个第二特征图,具体用于:
[0348]
将所述第一特征图输入到依次堆叠的多组特征图处理子网络;其中,任一组特征图处理子网络包括至少一个特征图处理子网络;
[0349]
将每一组特征图处理子网络的输出作为与该组特征图处理子网络对应的第二特征图。
[0350]
本技术实施例的一种可能的实现方式,识别模块3002在对至少一个第二特征图进
行分类,得到语音片段中包含关键词的概率时,具体用于:
[0351]
针对至少一个第二特征图中的每一第二特征图,基于多个预设尺寸的窗,在该第二特征图中确定每一窗的预设滑动位置对应的子区域;
[0352]
对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率。
[0353]
本技术实施例的一种可能的实现方式,识别模块3002在对至少一个第二特征图进行分类,得到语音片段中包含关键词的概率时,具体用于:
[0354]
对语音片段进行语音端点检测,确定第一特征图中的有效语音区域;
[0355]
从多个候选尺寸中,确定与有效语音区域相匹配的窗的预设尺寸,并确定对应的预设滑动位置。
[0356]
本技术实施例的一种可能的实现方式,识别模块3002在对每一第二特征图的每一子区域进行分类时,具体用于:
[0357]
对于该第二特征图中每一子区域进行平均池化;
[0358]
将平均池化后的每一子区域分别输入对应的全连接分类器进行分类,得到每一子区域属于每一预设类别的后验概率。
[0359]
本技术实施例的一种可能的实现方式,与每一子区域对应的全连接分类器中,至少两个全连接分类器的参数相同。
[0360]
本技术实施例的一种可能的实现方式,关键词的数量小于预设分类数量;识别模块3002在对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率时,具体用于:
[0361]
针对每一第二特征图,确定该第二特征图中每一子区域包含一个关键词的每一发声子单元的后验概率;
[0362]
基于每一子区域包含一个关键词的每一发声子单元的后验概率,确定每一子区域包含该一个关键词的置信度;
[0363]
将每一第二特征图中每一子区域包含该一个关键词的置信度中的最高置信度,作为语音片段包含该关键词的概率。
[0364]
本技术实施例的一种可能的实现方式,关键词的数量大于或等于预设分类数量;识别模块3002在对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率时,具体用于:
[0365]
确定每一第二特征图的每一子区域为正类的第一后验概率;
[0366]
其中,若任一子区域中包括多个关键词中的任一发声子单元,则该子区域为正类;
[0367]
基于最大的第一后验概率确定语音片段中包含关键词的概率。
[0368]
本技术实施例的一种可能的实现方式,关键词的数量大于或等于预设分类数量;识别模块3002在对每一第二特征图的每一子区域进行分类,以确定语音片段中包含关键词的概率时,具体用于:
[0369]
确定每一第二特征图的每一子区域为正类的第一后验概率;
[0370]
确定每一第二特征图的每一子区域为反类的第二后验概率;
[0371]
其中,若任一子区域中包括多个关键词中的任一发声子单元,则该子区域为正类;若任一子区域中不包括多个关键词中的任一发声子单元,则该子区域为反类;
[0372]
基于最大的第一后验概率和最大的第二后验概率确定语音片段中包含关键词的概率。
[0373]
上述的语音识别装置,通过识别网络提取语音片段的特征图,并对所提取的特征图进行分类,提高识别效率。
[0374]
进一步的,识别网络中包括至少一个特征图处理子网络,通过至少一个特征图处理子网络对所提取的特征图进行通道压缩、depth
‑
wise操作,再进行通道恢复,将特征图处理子网络处理后的特征图进行分类,以对语音片段进行识别,可以有效减少识别过程中的运算量。
[0375]
进一步的,每一组dru的输出都作为对应的一个第二特征图,每一组dru都包括至少一个dru,对多个第二特征图进行分类,以获取语音片段中包含关键词的概率,可以利用到中间层的dru所输出的第二特征图,有效捕捉细节特征,并且还能全局把控,从而提高语音识别的准确度。
[0376]
本公开实施例的图片的语音识别装置可执行本公开的实施例所提供的一种图片的语音识别方法,其实现原理相类似,本公开各实施例中的图片的语音识别装置中的各模块所执行的动作是与本公开各实施例中的图片的语音识别方法中的步骤相对应的,对于图片的语音识别装置的各模块的详细功能描述具体可以参见前文中所示的对应的图片的语音识别方法中的描述,此处不再赘述。
[0377]
上面从功能模块化的角度对本技术实施例提供的语音识别装置进行介绍,接下来,将从硬件实体化的角度对本技术实施例提供的电子设备进行介绍,并同时对电子设备的计算系统进行介绍。
[0378]
基于与本公开的实施例中所示的方法相同的原理,本公开的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的语音识别方法。与现有技术相比,本技术中的语音识别方法更容易从多个尺度捕捉语音特征,避免了非关键词片段对识别结果的干扰,使得识别结果更加精准。
[0379]
在一个可选实施例中提供了一种电子设备,如图31所示,图31所示的电子设备3100包括:处理器3101和存储器3103。其中,处理器3101和存储器3103相连,如通过总线3102相连。可选地,电子设备3100还可以包括收发器3104。需要说明的是,实际应用中收发器3104不限于一个,该电子设备3100的结构并不构成对本技术实施例的限定。
[0380]
处理器3101可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器3101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0381]
总线3102可包括一通路,在上述组件之间传送信息。总线3102可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线3102可以分为地址总
线、数据总线、控制总线等。为便于表示,图31中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0382]
存储器3103可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd
‑
rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0383]
存储器3103用于存储执行本技术方案的应用程序代码,并由处理器3101来控制执行。处理器3101用于执行存储器3103中存储的应用程序代码,以实现前述方法实施例所示的内容。
[0384]
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图31示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0385]
本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本技术中的语音识别方法更容易从多个尺度捕捉语音特征,避免了非关键词片段对识别结果的干扰,使得识别结果更加精准。
[0386]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0387]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd
‑
rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于
由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0388]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0389]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
[0390]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0391]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0392]
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“获取待处理的语音片段的模块”。
[0393]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。