智能语音处理方法和装置

文档序号:1674032 发布日期:2019-12-31 浏览:33次 >En<

阅读说明:本技术 智能语音处理方法和装置 (Intelligent voice processing method and device ) 是由 李鑫 孟通 韩冬 于 2018-06-06 设计创作,主要内容包括:本发明公开了一种智能语音处理方法和装置。所述方法包括:对输入的语音进行分帧处理以获取多个帧的断句参数;将所述多个帧的断句参数作为特征值输入经训练的人工神经网络(ANN),所述ANN包括循环神经网络(RNN);以及将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为断句点。优选地,所述RNN可以是长短时记忆(LSTM)神经网络或门控循环单元(GRU)神经网络,并且所述ANN还可以是CNN后接RNN的结构。该方案能够利用后续语音识别处理中所需的神经网络或神经网络计算平台,对输入的长句语音进行智能断句,由此实现与智能语音识别相配合的精准断句方案。(The invention discloses an intelligent voice processing method and device. The method comprises the following steps: performing framing processing on input voice to obtain sentence break parameters of a plurality of frames; inputting sentence break parameters of the plurality of frames as feature values into a trained Artificial Neural Network (ANN), the ANN comprising a Recurrent Neural Network (RNN); and sending the output characteristics of the RNN into a full-connection layer to judge whether each input frame is a sentence break point. Preferably, the RNN may be a long term memory (LSTM) neural network or a gated cyclic unit (GRU) neural network, and the ANN may also be a CNN followed by RNN architecture. The scheme can utilize a neural network or a neural network computing platform required in subsequent voice recognition processing to intelligently break sentences of input long sentence voice, thereby realizing an accurate sentence breaking scheme matched with intelligent voice recognition.)

智能语音处理方法和装置

技术领域

本发明涉及语音处理,尤其涉及基于神经网络对语音进行的智能处理。

背景技术

语音识别(Speech Recognition)是将语言的模拟信号顺序映射到一个具体的单词集合上的技术。近年来,人工神经网络(ANN)方法在语音识别领域取得的效果已远远超出了所有传统方法,成为了全行业的主流。其中,深度神经网络有着极为广泛的应用。

然而,通过近几年的迅速发展,神经网络的规模不断增长,已公开的先进的神经网络可达数百层、数亿个连接,属于计算和访存密集型应用。现有的基于GPU、FPGA或ASIC的异构神经网络处理器虽然能够大幅降低神经网络的算力和功耗需求,但由于硬件资源的限制,基于GPU或是基于FPGA或ASIC的专用神经网络推理加速器对单次输入数据的长度有所限制,即,对每一次所能处理的语句的最大长度有所限制。因此需要合适的断句方法,对于较长的输入语句进行处理,分段进行识别。

传统的语音分割,或者端点检测方法,多数是基于语音的短时能量、短时过零率,结合门限值和判断逻辑进行判断。但是上述语音分割方案不涉及时间的相关性,通常无法对断句点做出判断。

因此,需要一种适于神经网络语音识别系统使用的、更为准确的断句方案。

发明内容

本发明提出了一种智能语音处理方案,其能够利用后续语音识别处理中所需的神经网络或神经网络计算平台,对输入的长句语音进行智能断句,由此实现与智能语音识别相配合的断句方案。

根据本发明的一个方面,提出了一种智能语音处理方法,包括:对输入的语音进行分帧处理以获取多个帧的断句参数;将所述多个帧的断句参数作为特征值输入经训练的人工神经网络(ANN),所述ANN包括循环神经网络(RNN);以及将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为断句点。优选地,所述RNN可以是长短时记忆(LSTM)神经网络或门控循环单元(GRU)神经网络。ANN和全连接层的参数是基于包括接在所述全连接层之后的Softmax层的网络模型训练得到的。

由此,能够利用循环神经网络的全局性时序特征的提取能力,实现更为准确的断句点判断。

优选地,将所述多个帧的断句参数输入经训练的ANN包括:将所述多个帧的断句参数输入经训练的卷积神经网络(CNN);以及将所述CNN的输出特征送入经训练的所述RNN。通过引入CNN,能够利用CNN的局部特征提取能力,上述能力与RNN的全局性时序特征的提取能力相结合,能够实现更为精准的断句点判断。

获取的所述多个帧的断句参数可以包括如下至少一项:所述多个帧中每一帧的归一化短时能量;所述多个帧中每一帧的短时过零率;所述多个帧中每一帧的归一化短时傅里叶变换结果;以及上述三项中任意两项或三项的组合或加权组合。由此实现基于应用的灵活参数选取。

将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为断句点可以包括:将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为初选断句点;以及基于预定规则对所述初选断句点进行筛选以选出终选断句点。由此进一步优化断句点的选择。

基于预定规则对所述初选断句点进行筛选以选出终选断句点可以包括:对初选断句点进行聚类,以选取每个无声段的聚类中心作为筛选出的终选断句点。基于预定规则对所述初选断句点进行筛选以选出终选断句点可以包括:基于如下至少一项预定限制选择终选断句点:相邻断句点之间的距离小于最大能处理语句长度;以及终选断句点的个数最小。

根据本发明的另一个方面,提出了一种智能语音处理装置,包括:参数提取装置,用于对输入的语音进行分帧处理以获取多个帧的断句参数;神经网络计算装置,用于将所述多个帧的断句参数作为特征值输入经训练的人工神经网络(ANN),所述ANN包括循环神经网络(RNN);断句点判断装置,用于将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为断句点。

优选地,RNN可以是长短时记忆(LSTM)神经网络或门控循环单元(GRU)神经网络。ANN和全连接层的参数可以是基于包括接在所述全连接层之后的Softmax层的网络模型训练得到的。

优选地,神经网络计算装置可以将所述多个帧的断句参数输入经训练的卷积神经网络(CNN)和经训练的所述RNN,以获取用于输入所述全连接层的输出特征。

优选地,参数提取装置获取的所述多个帧的断句参数可以包括如下至少一项:所述多个帧中每一帧的归一化短时能量;所述多个帧中每一帧的短时过零率;所述多个帧中每一帧的归一化短时傅里叶变换结果;以及上述三项中任意两项或三项的组合或加权组合。

优选地,断句点判断装置可以包括:初选断句点判断装置,用于将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为初选断句点;以及终选断句点筛选装置,用于基于预定规则对所述初选断句点进行筛选以选出终选断句点。

终选断句点筛选装置还可以用于:对初选断句点进行聚类,以选取每个无声段的聚类中心作为筛选出的终选断句点。终选断句点筛选装置还可以用于:基于如下至少一项预定限制选择终选断句点:相邻断句点之间的距离小于最大能处理语句长度;以及终选断句点的个数最小。

根据本发明的又一个方面,提出了一种计算平台,包括用于神经网络计算推理的高并行度计算模块,其中,所述计算平台用于实现包括如上所述方法的任一项的语音处理方法。优选地,该计算平台由ASIC、FPGA或GPU实现。

根据本发明的再一个方面,提出了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的智能语音处理方法。

根据本发明的一个方面,提出了.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的智能语音处理方法。

本发明的智能语音处理方案能够利用后续语音识别处理中所需的神经网络或神经网络计算平台,对输入的长句语音进行智能断句,由此实现与智能语音识别相配合的断句方案。在这其中,通过引入RNN,能够利用循环神经网络的全局性时序特征的提取能力,实现更为准确的断句点判断。进一步地,通过引入CNN,能够利用CNN的局部特征提取能力,上述能力与RNN的全局性时序特征的提取能力相结合,能够实现更为精准的断句点判断。由此,能够解决智能语音识别中的断句问题同时兼顾句子长度受限对识别精度的影响。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了DNN的典型结构图。

图2示出了LSTM神经网络模型的示意图。

图3示出了加窗操作的示意图。

图4示出了原始波形、短时能量和短时过零率之间关系的一个例子。

图5示出了对语音做短时傅里叶变换后的时频分布图的一个例子。

图6A和6B分别示出了现有的单门限和双门限法的示意图。

图7示出了根据本发明一个实施例的智能语音处理方法。

图8示出了对语音信号分帧加窗的一个例子。

图9示出了示出了用于确定断点的神经网络处理的示意图。

图10示出了根据本发明一个实施例的智能语音处理装置的示意图。

图11示出了根据本发明一个实施例可用于实现上述智能语音处理方法的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本申请提出了一种用于神经网络语音识别的智能断句方案。为了更好地理解本发明的原理,首先对人工神经网络,尤其是循环神经网络以及传统语音分割方案进行说明。

人工神经网络的基本概念

人工神经网络(ANN)是一种模仿动物神经网络的行为特征,进行分布式并行信息处理的数学计算模型。在神经网络中存在有大量彼此连接的节点,也称“神经元”。每个神经元通过某种特定的输出函数(也称为“激活函数”)来处理来自其它相邻神经元的加权输入值。而各神经元之间的信息传递强度则用所谓“权值”来定义。算法会不断自我学习,调整这些权值。

早期的神经网络只有输入和输出层两层。由于无法处理复杂的逻辑,其实用性受到很大限制。深度神经网络(DNN)通过在输入和输出层之间添加隐藏的中间层,大大提升了神经网络处理复杂逻辑的能力。图1示出了DNN模型示意图。应该理解的是,在实际应用中的DNN可以有比图1所示复杂得多的大型结构,但其基本结构仍然如图1所示。

语音识别是将语言的模拟信号顺序映射到一个具体的单词集合上。近年来,人工神经网络的方法在语音识别领域取得的效果已经远远超出了所有传统方法,正在成为全行业的主流。其中,深度神经网络有着极为广泛的应用。

循环神经网络(RNN)是一种常用的深度神经网络模型,不同于传统的前向神经网络,循环神经网络引入了定向循环,能够处理那些输入之间前后关联的问题。在语音识别中,信号的前后关联很强,例如识别句子中的单词,和该单词前面的单词序列关系十分紧密。因此,循环神经网络在语音识别领域有着非常广泛的应用。

为了解决对长期信息的记忆问题,Hochreiter&Schmidhuber于1997年提出了长短时记忆(LSTM)模型。LSTM神经网络是RNN的一种,将普通RNN当中简单的重复神经网络模块改变为复杂的连接交互关系。图2示出了LSTM神经网络模型的示意图。LSTM神经网络在语音识别中同样取得了非常好的应用效果,但相比于普通RNN的计算复杂度也更高。

LSTM通过门控机制使循环神经网络不仅能记忆过去的信息,同时还能选择性地忘记一些不重要的信息而对长期语境等关系进行建模,LSTM还有一种变体,称为门控循环单元(GRU,Gated Recurrent Unit),GRU能够在保留长期序列信息的前提下解决标准RNN中出现的梯度消失问题。相比于LSTM,GRU的结构更简单(由三个门减少为两个门),计算复杂度也较低。

RNN、LSTM和GRU常用于处理时序相关的问题。除了如上讨论的单向结构之外,上述网络相应的还有双向结构,例如双向LSTM,是将序列正向通过LSTM层,与序列反向通过LSTM层的结果相连接或者相加,作为序列通过双向LSTM层的结果。双向RNN和GRU也基于类似的原理。

通过近几年的迅速发展,神经网络的规模不断增长,已公开的先进的神经网络可达数百层、数亿个连接,属于计算和访存密集型应用。传统的CPU在执行神经网络推理时,受限于并行粒度,计算效率较低;而GPU在高并发语音识别场景中,往往需等待多路数据进行整批计算,从而导致处理延时较高。基于现场可编程门阵列(FPGA)或专用集成电路(ASIC)这类高性能硬件载体实现的专用神经网络推理加速器,相比于主流的CPU和GPU,具有高并行度、高能效比、低延时、可编程等优势,拥有良好的市场前景。

但是由于硬件资源的限制,基于FPGA或ASIC的专用神经网络推理加速器对输入数据的长度可能有限制,相应的,对每一次所能处理的语句的最大长度也有限制。因此需要合适的断句方法,对于较长的输入语句进行处理,分段进行识别。

传统语音信号处理与分割方法

通常从时域和频域两个方面去分析语音信号。人类语音的频率大部分集中分布在300~3400Hz的频率范围内,人们通常对选定频谱范围内的连续语音信号进行采样,使其变成计算机能够处理的离散的时域语音信号。由于人体的发声特性,语音信号是一个非稳态的、时变的信号,在信号处理中,通常假设语音信号是短时平稳的。所谓短时特性就是指人的口腔在发出各种声音时需要进行缓慢的肌肉运动,和肌肉运动的时间相比几十毫秒就相当于是一个短时间,在这个短时间内我们可以认为语音信号是稳定的、时不变的,根据这种短时特性相应产生了一系列语音信号处理的参数,如短时能量、短时过零率等。为了短时处理,需要对语音信号进行“分帧”,帧长一般取20~50ms。语音信号频域分析一般采用傅里叶变换,在一帧信号取出来做傅里叶变换之前,要先进行“加窗”的操作,即与一个窗函数相乘,使得一帧信号的幅度在两端渐变到0,(渐变对傅里叶变换有好处,可以提高频谱的分辨率)。图3示出了加窗操作的示意图。如图3所示,原始信号在叠加汉明窗之后变为右侧的加窗信号。

加窗的代价是一帧信号两端的部分被削弱了,没有像中央的部分那样得到重视。作为弥补,并非是背靠背进行帧截取,而是让相邻帧之间有相互重叠。相邻两帧的起始位置的时间差叫做帧移,通常帧移取为帧长的一半,或者固定取为例如10ms。

此外,无论语音的发声者使用何种语言、带有何种音调,从声学角度上看都可以按照清音和浊音来进行分类。清音、浊音相对于无声而言,在短时能量、短时过零率方面都有显著的特点。对于时域信号s(t)而言,其短时能量E(t),短时过零率Z(t)定义如下:

Figure BDA0001687330570000071

Figure BDA0001687330570000072

其中

Figure BDA0001687330570000073

清音段,能量较低,过零率较高,波形特点类似随机噪声;浊音段,能量较高,过零率较低,波形具有周期性特点;无声段,能量和过零率都很低。图4示出了原始波形、短时能量和短时过零率之间关系的一个例子。图中示出了英文单词“direction”的原始语音波形(黑色)、短时能量(灰线)和短时过零率(点划线)的归一化值,可以看到短时能量曲线与原始波形的走势基本一致,短时过零率(zcr)在清音阶段有明显峰值,而无声段的短时能量和短时过零率都比较小,这就为寻找无声段提供了判断依据。

此外,常见的语音信号的短时分析还包括短时傅里叶变换(stft)等,用以分析信号在每一帧的短时频谱信息。图5示出了对语音(例如,单词direction)做短时傅里叶变换后的时频分布图的一个例子。

传统的语音分割,或者端点检测方法,多数是基于语音的短时能量、短时过零率,结合门限值和判断逻辑进行的。图6A和6B分别示出了现有的单门限和双门限法的示意图。

所谓单门限法,就是对断句参数(包括但不限于归一化短时能量、短时过零率等)结合指定的门限值进行筛选,选出参数值低于门限值对应的点作为断点(分割点)。如图6A所示,曲线代表根据原始波形求得的断句参数,虚线代表门限值,可以看到A点穿越了门限值(数学上表示为A点左右两侧相邻点的参数值分别与门限值做差,其符号不同),由此可以获得一个断点。统计所有断句参数与门限值的关系,就可以获取所有的断点。

单门限法有其局限性,尤其是如图6B所示的情形(以断句参数向上越过门限为例),所以就衍生出双门限法。

如图6B所示,A点是期望选择的点,B点虽然也越过了门限,但并不是期望选择的点,其可能是由于噪声引起的。此时,通过采用双门限法,设置第二道门限,只有断句参数超过第二道门限值的情况下,对应的点才会被选择,如A点。

图6A和6B中的A点是为语音开始对应的断点。类似地,可以利用上述单门限/双门限法可以选择出语音结束对应的断点(即断句参数向下越过对应的门限值,如图6B中的C点)。

由上可知,用于断句的传统端点检测法通常基于语音参数的波形邻域进行断句。上述方法虽然能够较为准确的检测出语音的无声段,但无法通过充分考虑语音信息的时间相关性而准确地寻找出语义相对独立的语音段,例如独立短句。

本发明的智能断句方案

如上所述,深度神经网络,尤其是诸如LSTM的循环神经网络(RNN)已经因其优越的性能被广泛应用于语音识别领域。但由于硬件资源的限制,使得部署在小型系统内的神经网络处理器单次可处理的语句最大长度有限,因此需要合适的断句方法对较长的输入语句进行处理,获取合理的断句点以进行分段识别。

由于现有的单纯基于语音参数的传统语音分割法无法在较大时间跨度(例如,两个波形峰之间)上考虑相关性,因此无法实现准确的短句分割。有鉴于此,本发明提出了一种基于人工神经网络的智能语音处理方案,该方案能够智能地将长句划分为多个独立的短句,从而为后续的智能语音处理提供前提。

图7示出了根据本发明一个实施例的智能语音处理方法。

在步骤S710,对输入的语音进行分帧处理以获取多个帧的断句参数。在此,对输入的原始长句语音进行常规的分帧和加窗处理。图8示出了对语音信号分帧加窗的一个例子。如图8所示,可以以帧长25毫秒、帧移10毫秒的汉明窗对语音信号进行处理。

对于分帧得到的每一帧数据,可以求取其断句参数。断句参数可以是现有技术中已知的用于描述语音帧特征的任意参数。在一个实施例中,获取的所述多个帧的断句参数可以包括如下至少一项:所述多个帧中每一帧的归一化短时能量;所述多个帧中每一帧的短时过零率;所述多个帧中每一帧的归一化短时傅里叶变换结果;以及上述三项中任意两项或三项的组合或加权组合。

随后,在步骤S720,将获取的多个帧的断句参数作为特征值输入经训练的人工神经网络(ANN),所述ANN包括循环神经网络(RNN)。

在此,可以将前一步骤获取的多个帧的断句参数进行相应处理后,按照一定的排列(例如,ANN可读的形式)送入经训练的ANN。例如,可以将多个帧的归一化短时能量、短时过零率以及短时傅里叶变换的结果或其任意组合按照帧序作为一维或多维向量送入ANN。ANN随后可以对上述特征向量进行处理,以提取所需的特征。

由于语音信号的前后关联性很强,因此可以利用RNN的时序相关属性,寻找相邻有声段之间的相关性特征,以便更为准确地找出用于分割相对独立短句的断句点。在此利用的RNN可以是常规RNN,也可以是长短时记忆(LSTM)神经网络或门控循环单元(GRU)神经网络。由于LSTM通过门控机制使得循环神经网络不仅能记忆过去的信息,还能够选择性地忘记不重要的信息而对较长的语境信息进行建模,因此能够确定更为准确地断点判断,但相应地计算复杂度也更高。

在一个实施例中,该人工神经网络还可以包括卷积神经网络(CNN)。因此,步骤S720可以包括将所述多个帧的断句参数输入经训练的卷积神经网络(CNN);以及将所述CNN的输出特征送入经训练的所述RNN。由此,可以利用CNN的局部信息提取能力还获取更为精准的提取特征,再将上述特征送入全局时序相关性提取能力较强的RNN网络,能够实现更为准确的断点选取。

随后,在步骤S730,将RNN的输出特征送入全连接层,以判定输入的每个帧是否为断句点。上述全连接层可以看作是上述人工神经网络的一部分,例如,输出层。

图9示出了示出了用于确定断点的神经网络处理的示意图。如图9所示,经由常规处理得到的多个帧的断句参数在经过合理重排之后,作为特征值送入人工神经网络模型。上述特征首先经由包括多个隐藏层的CNN进行局部特征提取,再经由包括多个隐藏层的RNN(例如,优选地LSTM或GRU)提取时序相关性,最后送入全连接层以获取送入的每一帧是否是断句点所在帧的判断。如图所示,上述LSTM或GRU可以是单向网络,也可以是结构更为复杂的双向网络,以实现更高精度的断句点判定。

图9还进一步示出了在网络训练时需要使用的Softmax层。换句话说,在本发明的智能语音处理方案中使用的经训练的ANN和全连接层的参数是基于包括接在所述全连接层之后的Softmax层的网络模型训练得到的。Softmax层会为网络内的每个类别分配小数表示的概率,这些小数表示的概率相加之和必须是1.0。由此使得输出结果精确化,以便于根据输出结果进行反向梯度训练和微调。但上述Softmax层在进行神经网络推理计算时不是必须的,因此为此仅需对各帧是否是断句点所在帧进行定性判断,而不涉及定量调整。

如下,将结合图9对一个特征值生成、提取和断句点判定的例子进行说明。如上所述,断句时可依据多种参数,可以使用诸如归一化短时能量、归一化短时过零率、归一化短时傅里叶变换结果的拼接,也可以将其综合考虑,设定不同的权重进行组合。例如对于时长为1s的语音,假设帧长为20ms,帧移为10ms,可获得100帧分帧结果,对100帧原始数据,计算可获得维度为(100,1)的归一化短时能量,维度为(100,1)的归一化短时过零率,维度为(100,n)的归一化短时傅里叶变换结果(n取决于做短时傅里叶变换的参数设置)。

断句参数可以选择将归一化短时能量、归一化短时过零率和归一化短时傅里叶变换结果依次拼接,得到维度为(100,n+2)的矩阵;也可以对归一化短时能量、归一化短时过零率按不同加权系数组合,再与归一化短时傅里叶变换结果拼接,得到维度为(100,n+1)的矩阵。

在针对输入语音提取断句参数后,输入神经网络时维度为(100,i),这里100是输入语音的帧数,即输入数据的时间维度,i是特征维度,CNN层在设计时应保证其输出结果的时间维度仍为100。假设经过CNN层后特征维度变为j(取决于卷积核的设计,若有多个卷积核,应展开并拼接),再经过RNN层后,输出结果的时间维度仍会保持100,特征维度假设变为k(取决于RNN层的设计尺寸),全连接层的设计维度为(k,2),使得全连接层的输出结果为(100,2),经过softmax层后,其结果可认为是100帧数据的二分类结果概率,对应的标注数据,结果为1则代表分割点(断点),结果为0则代表非分割点。如此,可以训练出所需的深度神经网络,用于求取输入语音的断点。在进行神经网络推理计算时,同样可以输入例如上述(100,i)形式的断句参数,并且经过不包括softmax层的网络直接得到上述100个帧中每一个帧是否是断句点所在帧的判定。

在实际应用中,可以根据输出的概率值进行筛选,判断原始语音每一帧对应点是否为断点,这一步输出的断点数量可能会比较多,以保证相邻断点之间的距离小于语音识别所能处理的最大长度(即所谓的有限长度语音识别),因此称之为初选断点。由此,步骤S730可以包括将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为初选断句点;以及基于预定规则对所述初选断句点进行筛选以选出终选断句点。

在一个实施例中,基于预定规则对所述初选断句点进行筛选以选出终选断句点可以包括:对初选断句点进行聚类,以选取每个无声段的聚类中心作为筛选出的终选断句点。在另一个实施例中,基于预定规则对所述初选断句点进行筛选以选出终选断句点包括:基于如下至少一项预定限制选择终选断句点:相邻断句点之间的距离小于最大能处理语句长度;以及终选断句点的个数最小。

由于初选断点的物理意义为无声段对应的点,而无声段所持续的时间通常要长于一个帧的持续时间。因此可以对初选断点进行聚类,例如采用k-means法,取每一个无声段的聚类中心作为筛选出的断点。

由于存在最长所能处理的语句长度的限制,可以进一步对筛选断点进行判断,如果相邻筛选断点之间的距离超过了最长所能处理语句的长度,返回3),修改聚类中心的个数,重新聚类并筛选,确保每个片段小于最大所能处理的句子长度。如果相邻筛选断点之间的距离都满足小于最长所能处理语句的长度,从筛选断点中选择终选断点,使得a)终选断点之间的距离也小于最长所能处理语句的长度;b)终选断点的个数尽可能的小,由此使得断句后每个子句片段会尽可能的长,从而减小分段语音识别对精度的影响。

图10示出了根据本发明一个实施例的智能语音处理装置的示意图。如图所示,智能语音处理装置1000包括参数提取装置1010、神经网络计算装置1020和断句点判断装置1030。参数提取装置1010可以用于对输入的语音进行分帧处理以获取多个帧的断句参数。神经网络计算装置1020可以用于将所述多个帧的断句参数作为特征值输入经训练的人工神经网络(ANN),所述ANN包括循环神经网络(RNN)。断句点判断装置1030则可用于将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为断句点。

在一个实施例中,所述参数提取装置1010获取的所述多个帧的断句参数可以包括如下至少一项:所述多个帧中每一帧的归一化短时能量;所述多个帧中每一帧的短时过零率;所述多个帧中每一帧的归一化短时傅里叶变换结果;以及上述三项中任意两项或三项的组合或加权组合。

在一个实施例中,神经网络计算装置1020可以将所述多个帧的断句参数输入经训练的卷积神经网络(CNN)和经训练的所述RNN,以获取用于输入所述全连接层的输出特征。所述RNN优选可以是长短时记忆(LSTM)神经网络或门控循环单元(GRU)神经网络。

在一个实施例中,断句点判断装置1030可以包括初选断句点判断装置,用于将所述RNN的输出特征送入全连接层,以判定输入的每个帧是否为初选断句点;以及终选断句点筛选装置,用于基于预定规则对所述初选断句点进行筛选以选出终选断句点。终选断句点筛选装置还可用于对初选断句点进行聚类,以选取每个无声段的聚类中心作为筛选出的终选断句点。优选地,终选断句点筛选装置还可以用于:基于如下至少一项预定限制选择终选断句点:相邻断句点之间的距离小于最大能处理语句长度;以及终选断句点的个数最小。

同样地ANN和全连接层的参数是基于包括接在所述全连接层之后的Softmax层的网络模型训练得到的。

应该注意的时,本发明的智能语音处理方案可以并入使用人工神经网络,尤其是RNN对语音进行智能识别的语音处理方案。由此,可以复用后续将用于语音识别的RNN(例如,使用不同的训练参数)或是共用用于实现神经网络高并行度计算的计算模型,由此在不大幅增加额外开销的情况下实现实现对语音识别的智能断句,同时兼顾句子长度受限的问题和对精度的影响。

由此,本发明还涉及一种计算平台,包括用于神经网络计算推理的高并行度计算模块,其中,所述计算平台用于实现并入了上述语音断点方案的语音识别方法。优选地,该计算平台由ASIC、FPGA或GPU实现。例如,所述计算平台可以是包括专用神经网络处理器的SoC,或是由ASIC或FPGA实现的芯片。

图11示出了根据本发明一个实施例可用于实现上述智能语音处理方法的计算设备的结构示意图。

参见图11,计算设备1100包括存储器1110和处理器1120。

处理器1120可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1120可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器1120可以使用定制的电路实现,例如特定用途集成电路(ASIC)或者现场可编程逻辑门阵列(FPGA)。

存储器1110可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器1120或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1110可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1110可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器1110上存储有可处理代码,当可处理代码被处理器1120处理时,可以使处理器1120执行上文述及的智能语音处理方法。

在实际使用中,上述计算设备1100可以是包括大容量存储装置1110和CPU 1120的通用计算设备。该通用计算设备可以与专用于执行神经网络计算且至少部分由数字电路实现的定点计算平台相结合,以实现高效的神经网络计算。在一个实施例中,本发明的神经网络计算系统可以在包括通用处理器、存储器和数字电路的片上系统(SoC)实现。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可由执行规定的功能或操作的专用的基于硬件的系统实现,或者可由专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种语音质检方法、装置、电子设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!